Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.4 KiB

  1. //
  2. // Copyright (c) 1998-1999, Microsoft Corporation, all rights reserved
  3. //
  4. // md5.h
  5. //
  6. // IEEE1394 mini-port/call-manager driver
  7. //
  8. // Mini-port routines
  9. //
  10. // 08/08/2000 ADube created.
  11. //
  12. // Purpose: Create a unique MAC address from 1394 EUID
  13. //
  14. // Derived from derived from the RSA Data Security,
  15. // Inc. MD5 Message-Digest Algorithm
  16. //
  17. /*
  18. been defined with C compiler flags.
  19. */
  20. #ifndef PROTOTYPES
  21. #define PROTOTYPES 1
  22. #endif
  23. /* POINTER defines a generic pointer type */
  24. typedef unsigned char *POINTER;
  25. /* UINT2 defines a two byte word */
  26. typedef unsigned short int UINT2;
  27. /* UINT4 defines a four byte word */
  28. typedef unsigned long int UINT4;
  29. /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
  30. If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
  31. returns an empty list.
  32. */
  33. #if PROTOTYPES
  34. #define PROTO_LIST(list) list
  35. #else
  36. #define PROTO_LIST(list) ()
  37. #endif
  38. /* MD5 context. */
  39. typedef struct _MD5_CTX{
  40. UINT4 state[4]; /* state (ABCD) */
  41. UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
  42. unsigned char buffer[64]; /* input buffer */
  43. } MD5_CTX, MD_CTX;
  44. void MD5Init PROTO_LIST ((MD5_CTX *));
  45. void MD5Update PROTO_LIST
  46. ((MD5_CTX *, unsigned char *, unsigned int));
  47. void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *));