xref: /netbsd-src/include/md2.h (revision e4473f945c5b0bdb38c856d1866b6e7131d69c74)
1*e4473f94Schristos /*	$NetBSD: md2.h,v 1.9 2024/01/19 18:40:35 christos Exp $	*/
2c5325e7eSatatat 
3c5325e7eSatatat #ifndef _MD2_H_
4c5325e7eSatatat #define _MD2_H_
5c5325e7eSatatat 
6c5325e7eSatatat #include <sys/cdefs.h>
7c5325e7eSatatat #include <sys/types.h>
8c5325e7eSatatat 
98b546d68Selad #define	MD2_DIGEST_LENGTH		16
108b546d68Selad #define	MD2_DIGEST_STRING_LENGTH	33
114fda2f64Schristos #define	MD2_BLOCK_LENGTH		16
128b546d68Selad 
13c5325e7eSatatat /* MD2 context. */
14c5325e7eSatatat typedef struct MD2Context {
155f65228bSperry 	uint32_t i;
16c5325e7eSatatat 	unsigned char C[16];		/* checksum */
17c5325e7eSatatat 	unsigned char X[48];		/* input buffer */
18c5325e7eSatatat } MD2_CTX;
19c5325e7eSatatat 
20c5325e7eSatatat __BEGIN_DECLS
2119b7469aSperry void	MD2Init(MD2_CTX *);
2219b7469aSperry void	MD2Update(MD2_CTX *, const unsigned char *, unsigned int);
2319b7469aSperry void	MD2Final(unsigned char[16], MD2_CTX *);
24f8570f8aSmrg char	*MD2End(MD2_CTX *, char[MD2_DIGEST_STRING_LENGTH]);
2519b7469aSperry char	*MD2File(const char *, char *);
26af4a812aSxtraeme char	*MD2FileChunk(const char *, char *, off_t, off_t);
27f8570f8aSmrg char	*MD2Data(const unsigned char *, size_t, char[MD2_DIGEST_STRING_LENGTH]);
28*e4473f94Schristos #ifdef _LIBC_INTERNAL
29*e4473f94Schristos void	MD2Transform(MD2_CTX *);
30*e4473f94Schristos #endif
31c5325e7eSatatat __END_DECLS
32c5325e7eSatatat 
33c5325e7eSatatat #endif /* _MD2_H_ */
34