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