1/*
2 +----------------------------------------------------------------------+
3 | PHP Version 5 |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2015 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@zend.com> |
16 +----------------------------------------------------------------------+
17*/
18
19/* $Id$ */
20
21#ifndef PHP_INI_H
22#define PHP_INI_H
23
24#include "zend_ini.h"
25
26BEGIN_EXTERN_C()
27PHPAPI void config_zval_dtor(zval *zvalue);
28int php_init_config(TSRMLS_D);
29int php_shutdown_config(void);
30void php_ini_register_extensions(TSRMLS_D);
31PHPAPI zval *cfg_get_entry(const char *name, uint name_length);
32PHPAPI int cfg_get_long(const char *varname, long *result);
33PHPAPI int cfg_get_double(const char *varname, double *result);
34PHPAPI int cfg_get_string(const char *varname, char **result);
35PHPAPI int php_parse_user_ini_file(const char *dirname, char *ini_filename, HashTable *target_hash TSRMLS_DC);
36PHPAPI void php_ini_activate_config(HashTable *source_hash, int modify_type, int stage TSRMLS_DC);
37PHPAPI int php_ini_has_per_dir_config(void);
38PHPAPI int php_ini_has_per_host_config(void);
39PHPAPI void php_ini_activate_per_dir_config(char *path, uint path_len TSRMLS_DC);
40PHPAPI void php_ini_activate_per_host_config(const char *host, uint host_len TSRMLS_DC);
41PHPAPI HashTable* php_ini_get_configuration_hash(void);
42END_EXTERN_C()
43
44#define PHP_INI_USER ZEND_INI_USER
45#define PHP_INI_PERDIR ZEND_INI_PERDIR
46#define PHP_INI_SYSTEM ZEND_INI_SYSTEM
47
48#define PHP_INI_ALL ZEND_INI_ALL
49
50#define php_ini_entry zend_ini_entry
51
52#define PHP_INI_MH ZEND_INI_MH
53#define PHP_INI_DISP ZEND_INI_DISP
54
55#define PHP_INI_BEGIN ZEND_INI_BEGIN
56#define PHP_INI_END ZEND_INI_END
57
58#define PHP_INI_ENTRY3_EX ZEND_INI_ENTRY3_EX
59#define PHP_INI_ENTRY3 ZEND_INI_ENTRY3
60#define PHP_INI_ENTRY2_EX ZEND_INI_ENTRY2_EX
61#define PHP_INI_ENTRY2 ZEND_INI_ENTRY2
62#define PHP_INI_ENTRY1_EX ZEND_INI_ENTRY1_EX
63#define PHP_INI_ENTRY1 ZEND_INI_ENTRY1
64#define PHP_INI_ENTRY_EX ZEND_INI_ENTRY_EX
65#define PHP_INI_ENTRY ZEND_INI_ENTRY
66
67#define STD_PHP_INI_ENTRY STD_ZEND_INI_ENTRY
68#define STD_PHP_INI_ENTRY_EX STD_ZEND_INI_ENTRY_EX
69#define STD_PHP_INI_BOOLEAN STD_ZEND_INI_BOOLEAN
70
71#define PHP_INI_DISPLAY_ORIG ZEND_INI_DISPLAY_ORIG
72#define PHP_INI_DISPLAY_ACTIVE ZEND_INI_DISPLAY_ACTIVE
73
74#define PHP_INI_STAGE_STARTUP ZEND_INI_STAGE_STARTUP
75#define PHP_INI_STAGE_SHUTDOWN ZEND_INI_STAGE_SHUTDOWN
76#define PHP_INI_STAGE_ACTIVATE ZEND_INI_STAGE_ACTIVATE
77#define PHP_INI_STAGE_DEACTIVATE ZEND_INI_STAGE_DEACTIVATE
78#define PHP_INI_STAGE_RUNTIME ZEND_INI_STAGE_RUNTIME
79#define PHP_INI_STAGE_HTACCESS ZEND_INI_STAGE_HTACCESS
80
81#define php_ini_boolean_displayer_cb zend_ini_boolean_displayer_cb
82#define php_ini_color_displayer_cb zend_ini_color_displayer_cb
83
84#define php_alter_ini_entry zend_alter_ini_entry
85
86#define php_ini_long zend_ini_long
87#define php_ini_double zend_ini_double
88#define php_ini_string zend_ini_string
89
90#endif /* PHP_INI_H */
91