xref: /PHP-5.5/ext/standard/crypt_freesec.h (revision d161d4b3)
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