fix a dst bug, we had a sign wrong in the calculation :-(
[bbaumbach/samba-autobuild/.git] / source3 / md4.h
1 /*
2    This code is from rfc1186. 
3 */
4
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  ** ********************************************************************
12  */
13
14  /* MDstruct is the data structure for a message digest computation.
15  */
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;
21
22  /* MDbegin(MD)
23
24
25
26  ** Input: MD -- an MDptr
27  ** Initialize the MDstruct prepatory to doing a message digest
28  ** computation.
29  */
30  extern void MDbegin();
31
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.
44  */
45  extern void MDupdate();
46
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.
53  */
54  extern void MDprint();
55
56  /*
57  ** End of md4.h
58  */