b3a4605028fc149b9973a351e1208f5dd77a908a
[dragonfly.git] / lib / libmd / md2.h
1 /* MD2.H - header file for MD2C.C
2  * $FreeBSD: src/lib/libmd/md2.h,v 1.10 2006/01/17 15:35:56 phk Exp $
3  * $DragonFly: src/lib/libmd/md2.h,v 1.3 2008/09/11 20:25:34 swildner Exp $
4  */
5
6 /* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
7    rights reserved.
8
9    License to copy and use this software is granted for
10    non-commercial Internet Privacy-Enhanced Mail provided that it is
11    identified as the "RSA Data Security, Inc. MD2 Message Digest
12    Algorithm" in all material mentioning or referencing this software
13    or this function.
14
15    RSA Data Security, Inc. makes no representations concerning either
16    the merchantability of this software or the suitability of this
17    software for any particular purpose. It is provided "as is"
18    without express or implied warranty of any kind.
19
20    These notices must be retained in any copies of any part of this
21    documentation and/or software.
22  */
23
24 #ifndef _MD2_H_
25 #define _MD2_H_
26
27 typedef struct MD2Context {
28   unsigned char state[16];      /* state */
29   unsigned char checksum[16];   /* checksum */
30   unsigned int count;           /* number of bytes, modulo 16 */
31   unsigned char buffer[16];     /* input buffer */
32 } MD2_CTX;
33
34 #include <sys/cdefs.h>
35
36 __BEGIN_DECLS
37 int   MD2Init(MD2_CTX *);
38 void   MD2Update(MD2_CTX *, const void *, unsigned int);
39 void   MD2Pad(MD2_CTX *);
40 void   MD2Final(unsigned char [16], MD2_CTX *);
41 char * MD2End(MD2_CTX *, char *);
42 char * MD2File(const char *, char *);
43 char * MD2FileChunk(const char *, char *, off_t, off_t);
44 char * MD2Data(const void *, unsigned int, char *);
45 __END_DECLS
46
47 #endif /* _MD2_H_ */