Eneboo - Documentación para desarrolladores
|
00001 /* Copyright (C) 2000 MySQL AB 00002 00003 This program is free software; you can redistribute it and/or modify 00004 it under the terms of the GNU General Public License as published by 00005 the Free Software Foundation; either version 2 of the License, or 00006 (at your option) any later version. 00007 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 GNU General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License 00014 along with this program; if not, write to the Free Software 00015 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 00016 00017 00018 /* MD5.H - header file for MD5C.C 00019 */ 00020 00021 /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All 00022 rights reserved. 00023 00024 License to copy and use this software is granted provided that it 00025 is identified as the "RSA Data Security, Inc. MD5 Message-Digest 00026 Algorithm" in all material mentioning or referencing this software 00027 or this function. 00028 00029 License is also granted to make and use derivative works provided 00030 that such works are identified as "derived from the RSA Data 00031 Security, Inc. MD5 Message-Digest Algorithm" in all material 00032 mentioning or referencing the derived work. 00033 00034 RSA Data Security, Inc. makes no representations concerning either 00035 the merchantability of this software or the suitability of this 00036 software for any particular purpose. It is provided "as is" 00037 without express or implied warranty of any kind. 00038 00039 These notices must be retained in any copies of any part of this 00040 documentation and/or software. 00041 */ 00042 00043 /* GLOBAL.H - RSAREF types and constants 00044 */ 00045 00046 /* PROTOTYPES should be set to one if and only if the compiler supports 00047 function argument prototyping. 00048 The following makes PROTOTYPES default to 0 if it has not already 00049 been defined with C compiler flags. 00050 */ 00051 00052 /* egcs 1.1.2 under linux didn't defined it.... :( */ 00053 00054 #ifndef PROTOTYPES 00055 #define PROTOTYPES 1 /* Assume prototypes */ 00056 #endif 00057 00058 /* POINTER defines a generic pointer type */ 00059 typedef unsigned char *POINTER; 00060 00061 /* UINT2 defines a two byte word */ 00062 typedef uint16 UINT2; /* Fix for MySQL / Alpha */ 00063 00064 /* UINT4 defines a four byte word */ 00065 typedef uint32 UINT4; /* Fix for MySQL / Alpha */ 00066 00067 /* PROTO_LIST is defined depending on how PROTOTYPES is defined above. 00068 If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it 00069 returns an empty list. 00070 */ 00071 #if PROTOTYPES 00072 #define PROTO_LIST(list) list 00073 #else 00074 #define PROTO_LIST(list) () 00075 #endif 00076 /* MD5 context. */ 00077 typedef struct { 00078 UINT4 state[4]; /* state (ABCD) */ 00079 UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ 00080 unsigned char buffer[64]; /* input buffer */ 00081 } my_MD5_CTX; 00082 00083 #ifdef __cplusplus 00084 extern "C" { 00085 #endif 00086 void my_MD5Init PROTO_LIST ((my_MD5_CTX *)); 00087 void my_MD5Update PROTO_LIST 00088 ((my_MD5_CTX *, unsigned char *, unsigned int)); 00089 void my_MD5Final PROTO_LIST ((unsigned char [16], my_MD5_CTX *)); 00090 00091 #ifdef __cplusplus 00092 } 00093 #endif