(root)/
Linux-PAM-1.5.3/
modules/
pam_unix/
md5.h
       1  
       2  #ifndef MD5_H
       3  #define MD5_H
       4  
       5  #include "pam_cc_compat.h"
       6  
       7  typedef unsigned int uint32;
       8  
       9  struct MD5Context {
      10  	union {
      11  		uint32 i[4];
      12  		unsigned char c[16] PAM_ATTRIBUTE_ALIGNED(4);
      13  	} buf;
      14  	uint32 bits[2];
      15  	union {
      16  		uint32 i[16];
      17  		unsigned char c[64] PAM_ATTRIBUTE_ALIGNED(4);
      18  	} in;
      19  };
      20  
      21  void GoodMD5Init(struct MD5Context *);
      22  void GoodMD5Update(struct MD5Context *, unsigned const char *, unsigned);
      23  void GoodMD5Final(unsigned char digest[16], struct MD5Context *);
      24  void GoodMD5Transform(uint32 buf[4], uint32 const in[16]);
      25  void BrokenMD5Init(struct MD5Context *);
      26  void BrokenMD5Update(struct MD5Context *, unsigned const char *, unsigned);
      27  void BrokenMD5Final(unsigned char digest[16], struct MD5Context *);
      28  void BrokenMD5Transform(uint32 buf[4], uint32 const in[16]);
      29  
      30  char *Goodcrypt_md5(const char *pw, const char *salt);
      31  char *Brokencrypt_md5(const char *pw, const char *salt);
      32  
      33  /*
      34   * This is needed to make RSAREF happy on some MS-DOS compilers.
      35   */
      36  
      37  typedef struct MD5Context MD5_CTX;
      38  
      39  #endif				/* MD5_H */