1 /* 2 +----------------------------------------------------------------------+ 3 | Copyright (c) The PHP Group | 4 +----------------------------------------------------------------------+ 5 | This source file is subject to version 3.01 of the PHP license, | 6 | that is bundled with this package in the file LICENSE, and is | 7 | available through the world-wide-web at the following url: | 8 | https://www.php.net/license/3_01.txt | 9 | If you did not receive a copy of the PHP license and are unable to | 10 | obtain it through the world-wide-web, please send a note to | 11 | license@php.net so we can mail you a copy immediately. | 12 +----------------------------------------------------------------------+ 13 | Author: Zeev Suraski <zeev@php.net> | 14 +----------------------------------------------------------------------+ 15 */ 16 17 #ifndef PHP_INI_H 18 #define PHP_INI_H 19 20 #include "zend_ini.h" 21 22 BEGIN_EXTERN_C() 23 PHPAPI void config_zval_dtor(zval *zvalue); 24 int php_init_config(void); 25 int php_shutdown_config(void); 26 void php_ini_register_extensions(void); 27 PHPAPI zval *cfg_get_entry_ex(zend_string *name); 28 PHPAPI zval *cfg_get_entry(const char *name, size_t name_length); 29 PHPAPI int cfg_get_long(const char *varname, zend_long *result); 30 PHPAPI int cfg_get_double(const char *varname, double *result); 31 PHPAPI int cfg_get_string(const char *varname, char **result); 32 PHPAPI int php_parse_user_ini_file(const char *dirname, const char *ini_filename, HashTable *target_hash); 33 PHPAPI void php_ini_activate_config(HashTable *source_hash, int modify_type, int stage); 34 PHPAPI int php_ini_has_per_dir_config(void); 35 PHPAPI int php_ini_has_per_host_config(void); 36 PHPAPI void php_ini_activate_per_dir_config(char *path, size_t path_len); 37 PHPAPI void php_ini_activate_per_host_config(const char *host, size_t host_len); 38 PHPAPI HashTable* php_ini_get_configuration_hash(void); 39 END_EXTERN_C() 40 41 #define PHP_INI_USER ZEND_INI_USER 42 #define PHP_INI_PERDIR ZEND_INI_PERDIR 43 #define PHP_INI_SYSTEM ZEND_INI_SYSTEM 44 45 #define PHP_INI_ALL ZEND_INI_ALL 46 47 #define php_ini_entry zend_ini_entry 48 49 #define PHP_INI_MH ZEND_INI_MH 50 #define PHP_INI_DISP ZEND_INI_DISP 51 52 #define PHP_INI_BEGIN ZEND_INI_BEGIN 53 #define PHP_INI_END ZEND_INI_END 54 55 #define PHP_INI_ENTRY3_EX ZEND_INI_ENTRY3_EX 56 #define PHP_INI_ENTRY3 ZEND_INI_ENTRY3 57 #define PHP_INI_ENTRY2_EX ZEND_INI_ENTRY2_EX 58 #define PHP_INI_ENTRY2 ZEND_INI_ENTRY2 59 #define PHP_INI_ENTRY1_EX ZEND_INI_ENTRY1_EX 60 #define PHP_INI_ENTRY1 ZEND_INI_ENTRY1 61 #define PHP_INI_ENTRY_EX ZEND_INI_ENTRY_EX 62 #define PHP_INI_ENTRY ZEND_INI_ENTRY 63 64 #define STD_PHP_INI_ENTRY STD_ZEND_INI_ENTRY 65 #define STD_PHP_INI_ENTRY_EX STD_ZEND_INI_ENTRY_EX 66 #define STD_PHP_INI_BOOLEAN STD_ZEND_INI_BOOLEAN 67 68 #define PHP_INI_DISPLAY_ORIG ZEND_INI_DISPLAY_ORIG 69 #define PHP_INI_DISPLAY_ACTIVE ZEND_INI_DISPLAY_ACTIVE 70 71 #define PHP_INI_STAGE_STARTUP ZEND_INI_STAGE_STARTUP 72 #define PHP_INI_STAGE_SHUTDOWN ZEND_INI_STAGE_SHUTDOWN 73 #define PHP_INI_STAGE_ACTIVATE ZEND_INI_STAGE_ACTIVATE 74 #define PHP_INI_STAGE_DEACTIVATE ZEND_INI_STAGE_DEACTIVATE 75 #define PHP_INI_STAGE_RUNTIME ZEND_INI_STAGE_RUNTIME 76 #define PHP_INI_STAGE_HTACCESS ZEND_INI_STAGE_HTACCESS 77 78 #define php_ini_boolean_displayer_cb zend_ini_boolean_displayer_cb 79 #define php_ini_color_displayer_cb zend_ini_color_displayer_cb 80 81 #define php_alter_ini_entry zend_alter_ini_entry 82 83 #define php_ini_long zend_ini_long 84 #define php_ini_double zend_ini_double 85 #define php_ini_string zend_ini_string 86 87 #endif /* PHP_INI_H */ 88