1/* lib/md/md2.h */
2/* Copyright (C) 1995-1997 Eric Young (eay@mincom.oz.au)
3 * All rights reserved.
4 *
5 * This file is part of an SSL implementation written
6 * by Eric Young (eay@mincom.oz.au).
7 * The implementation was written so as to conform with Netscapes SSL
8 * specification.  This library and applications are
9 * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE
10 * as long as the following conditions are aheared to.
11 *
12 * Copyright remains Eric Young's, and as such any Copyright notices in
13 * the code are not to be removed.  If this code is used in a product,
14 * Eric Young should be given attribution as the author of the parts used.
15 * This can be in the form of a textual message at program startup or
16 * in documentation (online or textual) provided with the package.
17 *
18 * Redistribution and use in source and binary forms, with or without
19 * modification, are permitted provided that the following conditions
20 * are met:
21 * 1. Redistributions of source code must retain the copyright
22 *    notice, this list of conditions and the following disclaimer.
23 * 2. Redistributions in binary form must reproduce the above copyright
24 *    notice, this list of conditions and the following disclaimer in the
25 *    documentation and/or other materials provided with the distribution.
26 * 3. All advertising materials mentioning features or use of this software
27 *    must display the following acknowledgement:
28 *    This product includes software developed by Eric Young (eay@mincom.oz.au)
29 *
30 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
31 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
33 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
34 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
35 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
36 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
37 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
38 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
39 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
40 * SUCH DAMAGE.
41 *
42 * The licence and distribution terms for any publically available version or
43 * derivative of this code cannot be changed.  i.e. this code cannot simply be
44 * copied and put under another distribution licence
45 * [including the GNU Public Licence.]
46 */
47
48/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
49 *
50 * Always modify md2.org since md2.h is automatically generated from
51 * it during SSLeay configuration.
52 *
53 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
54 */
55
56
57#ifndef HEADER_MD2_H
58#define HEADER_MD2_H
59
60#ifdef  __cplusplus
61extern "C" {
62#endif
63
64#define MD2_DIGEST_LENGTH	16
65#define MD2_BLOCK       	16
66
67#define MD2_INT unsigned int
68
69typedef struct MD2state_st
70	{
71	int num;
72	unsigned char data[MD2_BLOCK];
73	MD2_INT cksm[MD2_BLOCK];
74	MD2_INT state[MD2_BLOCK];
75	} MD2_CTX;
76
77#ifndef NOPROTO
78char *MD2_options(void);
79void MD2_Init(MD2_CTX *c);
80void MD2_Update(MD2_CTX *c, register unsigned char *data, unsigned long len);
81void MD2_Final(unsigned char *md, MD2_CTX *c);
82unsigned char *MD2(unsigned char *d, unsigned long n,unsigned char *md);
83#else
84char *MD2_options();
85void MD2_Init();
86void MD2_Update();
87void MD2_Final();
88unsigned char *MD2();
89#endif
90
91#ifdef  __cplusplus
92}
93#endif
94
95#endif
96