xref: /php-src/main/php_ini.h (revision 01b3fc03)
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