1/* See md5.c for explanation and copyright information. */ 2 3/* 4 * $FreeBSD$ 5 */ 6 7#ifndef MD5_H 8#define MD5_H 9 10#ifdef __FreeBSD__ 11#define cvs_MD5Context MD5Context 12#define cvs_MD5Init MD5Init 13#define cvs_MD5Update MD5Update 14#define cvs_MD5Final MD5Final 15#define cvs_MD5Transform MD5Transform 16#include <sys/md5.h> 17#else 18 19/* Unlike previous versions of this code, uint32 need not be exactly 20 32 bits, merely 32 bits or more. Choosing a data type which is 32 21 bits instead of 64 is not important; speed is considerably more 22 important. ANSI guarantees that "unsigned long" will be big enough, 23 and always using it seems to have few disadvantages. */ 24typedef unsigned long cvs_uint32; 25 26struct cvs_MD5Context { 27 cvs_uint32 buf[4]; 28 cvs_uint32 bits[2]; 29 unsigned char in[64]; 30}; 31 32void cvs_MD5Init PROTO ((struct cvs_MD5Context *context)); 33void cvs_MD5Update PROTO ((struct cvs_MD5Context *context, 34 unsigned char const *buf, unsigned len)); 35void cvs_MD5Final PROTO ((unsigned char digest[16], 36 struct cvs_MD5Context *context)); 37void cvs_MD5Transform PROTO ((cvs_uint32 buf[4], const unsigned char in[64])); 38 39#endif 40 41#endif /* !MD5_H */ 42