1/* $NetBSD: md2.h,v 1.9 2024/01/19 18:40:35 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. */ 14typedef 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 21void MD2Init(MD2_CTX *); 22void MD2Update(MD2_CTX *, const unsigned char *, unsigned int); 23void MD2Final(unsigned char[16], MD2_CTX *); 24char *MD2End(MD2_CTX *, char[MD2_DIGEST_STRING_LENGTH]); 25char *MD2File(const char *, char *); 26char *MD2FileChunk(const char *, char *, off_t, off_t); 27char *MD2Data(const unsigned char *, size_t, char[MD2_DIGEST_STRING_LENGTH]); 28#ifdef _LIBC_INTERNAL 29void MD2Transform(MD2_CTX *); 30#endif 31__END_DECLS 32 33#endif /* _MD2_H_ */ 34