1 /* $Id$ */ 2 3 #ifndef _CRYPT_FREESEC_H 4 #define _CRYPT_FREESEC_H 5 6 #if PHP_WIN32 7 # include "win32/php_stdint.h" 8 # ifndef inline 9 # define inline __inline 10 # endif 11 #else 12 # include "php_config.h" 13 # if HAVE_INTTYPES_H 14 # include <inttypes.h> 15 # elif HAVE_STDINT_H 16 # include <stdint.h> 17 # endif 18 # ifndef HAVE_UINT32_T 19 # if SIZEOF_INT == 4 20 typedef unsigned int uint32_t; 21 # elif SIZEOF_LONG == 4 22 typedef unsigned long int uint32_t; 23 # endif 24 # endif 25 #endif 26 27 #define MD5_HASH_MAX_LEN 120 28 29 struct php_crypt_extended_data { 30 int initialized; 31 uint32_t saltbits; 32 uint32_t old_salt; 33 uint32_t en_keysl[16], en_keysr[16]; 34 uint32_t de_keysl[16], de_keysr[16]; 35 uint32_t old_rawkey0, old_rawkey1; 36 char output[21]; 37 }; 38 39 /* 40 * _crypt_extended_init() must be called explicitly before first use of 41 * _crypt_extended_r(). 42 */ 43 44 void _crypt_extended_init(void); 45 46 char *_crypt_extended_r(const char *key, const char *setting, 47 struct php_crypt_extended_data *data); 48 49 #endif 50