Eneboo - Documentación para desarrolladores
src/libmysql_std/include/md5.h
Ir a la documentación de este archivo.
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
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'