osip_md5.h

00001 /* MD5.H - header file for MD5C.C
00002  */
00003 
00004 /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
00005 rights reserved.
00006 
00007 License to copy and use this software is granted provided that it
00008 is identified as the "RSA Data Security, Inc. MD5 Message-Digest
00009 Algorithm" in all material mentioning or referencing this software
00010 or this function.
00011 
00012 License is also granted to make and use derivative works provided
00013 that such works are identified as "derived from the RSA Data
00014 Security, Inc. MD5 Message-Digest Algorithm" in all material
00015 mentioning or referencing the derived work.
00016 
00017 RSA Data Security, Inc. makes no representations concerning either
00018 the merchantability of this software or the suitability of this
00019 software for any particular purpose. It is provided "as is"
00020 without express or implied warranty of any kind.
00021 
00022 These notices must be retained in any copies of any part of this
00023 documentation and/or software.
00024  */
00025 
00026 #ifndef _MD5_H_
00027 #define _MD5_H_
00028 
00029 #ifndef DOXYGEN
00030 
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037 /* modified for oSIP: GCC supports this feature */
00038 #define PROTOTYPES 1
00039 
00040 #ifndef PROTOTYPES
00041 #define PROTOTYPES 0
00042 #endif
00043 
00044 /* POINTER defines a generic pointer type */
00045   typedef unsigned char *POINTER;
00046 
00047 /* UINT2 defines a two byte word */
00048   typedef unsigned short int UINT2;
00049 
00050 /* UINT4 defines a four byte word */
00051   typedef unsigned int UINT4;
00052 
00053 /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
00054 If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
00055   returns an empty list.
00056  */
00057 #if PROTOTYPES
00058 #define PROTO_LIST(list) list
00059 #else
00060 #define PROTO_LIST(list) ()
00061 #endif
00062 
00063 
00068   typedef struct
00069   {
00070     UINT4 state[4];             /* state (ABCD) */
00071     UINT4 count[2];             /* number of bits, modulo 2^64 (lsb first) */
00072     unsigned char buffer[64];   /* input buffer */
00073   }
00074   osip_MD5_CTX;
00075 
00076   void osip_MD5Init PROTO_LIST ((osip_MD5_CTX *));
00077   void osip_MD5Update PROTO_LIST ((osip_MD5_CTX *, unsigned char *, unsigned int));
00078   void osip_MD5Final PROTO_LIST ((unsigned char[16], osip_MD5_CTX *));
00079 
00080 
00081 #ifdef __cplusplus
00082 }
00083 #endif
00084 
00085 #endif
00086 
00087 #endif

Generated on Wed Feb 13 01:03:29 2008 for libosip by  doxygen 1.5.4