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