12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /* MD5.H - header file for MD5C.C
- */
- /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- rights reserved.
- License to copy and use this software is granted provided that it
- is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- Algorithm" in all material mentioning or referencing this software
- or this function.
- License is also granted to make and use derivative works provided
- that such works are identified as "derived from the RSA Data
- Security, Inc. MD5 Message-Digest Algorithm" in all material
- mentioning or referencing the derived work.
- RSA Data Security, Inc. makes no representations concerning either
- the merchantability of this software or the suitability of this
- software for any particular purpose. It is provided "as is"
- without express or implied warranty of any kind.
- These notices must be retained in any copies of any part of this
- documentation and/or software.
- */
- #ifndef _MD5_H_
- #define _MD5_H_
- #ifndef DOXYGEN
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* modified for oSIP: GCC supports this feature */
- #define PROTOTYPES 1
- #ifndef PROTOTYPES
- #define PROTOTYPES 0
- #endif
- /* POINTER defines a generic pointer type */
- typedef unsigned char *POINTER;
- /* UINT2 defines a two byte word */
- typedef unsigned short int UINT2;
- /* UINT4 defines a four byte word */
- typedef unsigned int UINT4;
- /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
- If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
- returns an empty list.
- */
- #if PROTOTYPES
- #define PROTO_LIST(list) list
- #else
- #define PROTO_LIST(list) ()
- #endif
- /**
- * Structure for holding MD5 context.
- * @var MD5_CTX
- */
- typedef struct {
- UINT4 state[4]; /* state (ABCD) */
- UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
- unsigned char buffer[64]; /* input buffer */
- } osip_MD5_CTX;
- void osip_MD5Init PROTO_LIST((osip_MD5_CTX *) );
- void osip_MD5Update PROTO_LIST((osip_MD5_CTX *, unsigned char *, unsigned int) );
- void osip_MD5Final PROTO_LIST((unsigned char[16], osip_MD5_CTX *) );
- #ifdef __cplusplus
- }
- #endif
- #endif
- #endif
|