125839Speter/* See md5.c for explanation and copyright information. */ 225839Speter 354441Speter/* 454441Speter * $FreeBSD$ 554441Speter */ 654441Speter 717721Speter#ifndef MD5_H 817721Speter#define MD5_H 917721Speter 1054441Speter#ifdef __FreeBSD__ 1154441Speter#define cvs_MD5Context MD5Context 1254441Speter#define cvs_MD5Init MD5Init 1354441Speter#define cvs_MD5Update MD5Update 1454441Speter#define cvs_MD5Final MD5Final 1554441Speter#define cvs_MD5Transform MD5Transform 1654441Speter#include <sys/md5.h> 1754441Speter#else 1854441Speter 1925839Speter/* Unlike previous versions of this code, uint32 need not be exactly 2025839Speter 32 bits, merely 32 bits or more. Choosing a data type which is 32 2125839Speter bits instead of 64 is not important; speed is considerably more 2225839Speter important. ANSI guarantees that "unsigned long" will be big enough, 2325839Speter and always using it seems to have few disadvantages. */ 2454427Spetertypedef unsigned long cvs_uint32; 2517721Speter 2654427Speterstruct cvs_MD5Context { 2754427Speter cvs_uint32 buf[4]; 2854427Speter cvs_uint32 bits[2]; 2917721Speter unsigned char in[64]; 3017721Speter}; 3117721Speter 3254427Spetervoid cvs_MD5Init PROTO ((struct cvs_MD5Context *context)); 3354427Spetervoid cvs_MD5Update PROTO ((struct cvs_MD5Context *context, 3454427Speter unsigned char const *buf, unsigned len)); 3554427Spetervoid cvs_MD5Final PROTO ((unsigned char digest[16], 3654427Speter struct cvs_MD5Context *context)); 3754427Spetervoid cvs_MD5Transform PROTO ((cvs_uint32 buf[4], const unsigned char in[64])); 3817721Speter 3954441Speter#endif 4054441Speter 4117721Speter#endif /* !MD5_H */ 42