made "hide files" and "veto files" into per-service parameter sections,
[Samba.git] / source / md4.h
blob3f60d75fe3cd52961e0625d6cc3ed259de2ae8d2
1 /*
2 This code is from rfc1186.
3 */
5 /*
6 ** ********************************************************************
7 ** md4.h -- Header file for implementation of **
8 ** MD4 Message Digest Algorithm **
9 ** Updated: 2/13/90 by Ronald L. Rivest **
10 ** (C) 1990 RSA Data Security, Inc. **
11 ** ********************************************************************
14 /* MDstruct is the data structure for a message digest computation.
16 typedef struct {
17 unsigned int buffer[4]; /* Holds 4-word result of MD computation */
18 unsigned char count[8]; /* Number of bits processed so far */
19 unsigned int done; /* Nonzero means MD computation finished */
20 } MDstruct, *MDptr;
22 /* MDbegin(MD)
26 ** Input: MD -- an MDptr
27 ** Initialize the MDstruct prepatory to doing a message digest
28 ** computation.
30 extern void MDbegin();
32 /* MDupdate(MD,X,count)
33 ** Input: MD -- an MDptr
34 ** X -- a pointer to an array of unsigned characters.
35 ** count -- the number of bits of X to use (an unsigned int).
36 ** Updates MD using the first "count" bits of X.
37 ** The array pointed to by X is not modified.
38 ** If count is not a multiple of 8, MDupdate uses high bits of
39 ** last byte.
40 ** This is the basic input routine for a user.
41 ** The routine terminates the MD computation when count < 512, so
42 ** every MD computation should end with one call to MDupdate with a
43 ** count less than 512. Zero is OK for a count.
45 extern void MDupdate();
47 /* MDprint(MD)
48 ** Input: MD -- an MDptr
49 ** Prints message digest buffer MD as 32 hexadecimal digits.
50 ** Order is from low-order byte of buffer[0] to high-order byte
51 ** of buffer[3].
52 ** Each byte is printed with high-order hexadecimal digit first.
54 extern void MDprint();
57 ** End of md4.h