1 /*	$NetBSD: md2.h,v 1.7 2016/07/01 16:42:46 christos Exp $	*/
2 
3 #ifndef _MD2_H_
4 #define _MD2_H_
5 
6 #include <sys/cdefs.h>
7 #include <sys/types.h>
8 
9 #define	MD2_DIGEST_LENGTH		16
10 #define	MD2_DIGEST_STRING_LENGTH	33
11 #define	MD2_BLOCK_LENGTH		16
12 
13 /* MD2 context. */
14 typedef struct MD2Context {
15 	uint32_t i;
16 	unsigned char C[16];		/* checksum */
17 	unsigned char X[48];		/* input buffer */
18 } MD2_CTX;
19 
20 __BEGIN_DECLS
21 void	MD2Init(MD2_CTX *);
22 void	MD2Update(MD2_CTX *, const unsigned char *, unsigned int);
23 void	MD2Final(unsigned char[16], MD2_CTX *);
24 char	*MD2End(MD2_CTX *, char *);
25 char	*MD2File(const char *, char *);
26 char	*MD2FileChunk(const char *, char *, off_t, off_t);
27 char	*MD2Data(const unsigned char *, size_t, char *);
28 __END_DECLS
29 
30 #endif /* _MD2_H_ */
31