xref: /PHP-5.3/main/php_globals.h (revision a2045ff3)
1 /*
2    +----------------------------------------------------------------------+
3    | PHP Version 5                                                        |
4    +----------------------------------------------------------------------+
5    | Copyright (c) 1997-2013 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_GLOBALS_H
22 #define PHP_GLOBALS_H
23 
24 #include "zend_globals.h"
25 
26 typedef struct _php_core_globals php_core_globals;
27 
28 #ifdef ZTS
29 # define PG(v) TSRMG(core_globals_id, php_core_globals *, v)
30 extern PHPAPI int core_globals_id;
31 #else
32 # define PG(v) (core_globals.v)
33 extern ZEND_API struct _php_core_globals core_globals;
34 #endif
35 
36 /* Error display modes */
37 #define PHP_DISPLAY_ERRORS_STDOUT	1
38 #define PHP_DISPLAY_ERRORS_STDERR	2
39 
40 /* Track vars */
41 #define TRACK_VARS_POST		0
42 #define TRACK_VARS_GET		1
43 #define TRACK_VARS_COOKIE	2
44 #define TRACK_VARS_SERVER	3
45 #define TRACK_VARS_ENV		4
46 #define TRACK_VARS_FILES	5
47 #define TRACK_VARS_REQUEST	6
48 
49 struct _php_tick_function_entry;
50 
51 typedef struct _arg_separators {
52 	char *output;
53 	char *input;
54 } arg_separators;
55 
56 struct _php_core_globals {
57 	zend_bool magic_quotes_gpc;
58 	zend_bool magic_quotes_runtime;
59 	zend_bool magic_quotes_sybase;
60 
61 	zend_bool safe_mode;
62 
63 	zend_bool allow_call_time_pass_reference;
64 	zend_bool implicit_flush;
65 
66 	long output_buffering;
67 
68 	char *safe_mode_include_dir;
69 	zend_bool safe_mode_gid;
70 	zend_bool sql_safe_mode;
71 	zend_bool enable_dl;
72 
73 	char *output_handler;
74 
75 	char *unserialize_callback_func;
76 	long serialize_precision;
77 
78 	char *safe_mode_exec_dir;
79 
80 	long memory_limit;
81 	long max_input_time;
82 
83 	zend_bool track_errors;
84 	zend_bool display_errors;
85 	zend_bool display_startup_errors;
86 	zend_bool log_errors;
87 	long      log_errors_max_len;
88 	zend_bool ignore_repeated_errors;
89 	zend_bool ignore_repeated_source;
90 	zend_bool report_memleaks;
91 	char *error_log;
92 
93 	char *doc_root;
94 	char *user_dir;
95 	char *include_path;
96 	char *open_basedir;
97 	char *extension_dir;
98 
99 	char *upload_tmp_dir;
100 	long upload_max_filesize;
101 
102 	char *error_append_string;
103 	char *error_prepend_string;
104 
105 	char *auto_prepend_file;
106 	char *auto_append_file;
107 
108 	arg_separators arg_separator;
109 
110 	char *variables_order;
111 
112 	HashTable rfc1867_protected_variables;
113 
114 	short connection_status;
115 	short ignore_user_abort;
116 
117 	unsigned char header_is_being_sent;
118 
119 	zend_llist tick_functions;
120 
121 	zval *http_globals[6];
122 
123 	zend_bool expose_php;
124 
125 	zend_bool register_globals;
126 	zend_bool register_long_arrays;
127 	zend_bool register_argc_argv;
128 	zend_bool auto_globals_jit;
129 
130 	zend_bool y2k_compliance;
131 
132 	char *docref_root;
133 	char *docref_ext;
134 
135 	zend_bool html_errors;
136 	zend_bool xmlrpc_errors;
137 
138 	long xmlrpc_error_number;
139 
140 	zend_bool activated_auto_globals[8];
141 
142 	zend_bool modules_activated;
143 	zend_bool file_uploads;
144 	zend_bool during_request_startup;
145 	zend_bool allow_url_fopen;
146 	zend_bool always_populate_raw_post_data;
147 	zend_bool report_zend_debug;
148 
149 	int last_error_type;
150 	char *last_error_message;
151 	char *last_error_file;
152 	int  last_error_lineno;
153 
154 	char *disable_functions;
155 	char *disable_classes;
156 	zend_bool allow_url_include;
157 	zend_bool exit_on_timeout;
158 #ifdef PHP_WIN32
159 	zend_bool com_initialized;
160 #endif
161 	long max_input_nesting_level;
162 	zend_bool in_user_include;
163 
164 	char *user_ini_filename;
165 	long user_ini_cache_ttl;
166 
167 	char *request_order;
168 
169 	zend_bool mail_x_header;
170 	char *mail_log;
171 
172 	zend_bool in_error_log;
173 
174 #ifdef PHP_WIN32
175 	zend_bool windows_show_crt_warning;
176 #endif
177 
178 	long max_input_vars;
179 };
180 
181 
182 #endif /* PHP_GLOBALS_H */
183 
184 /*
185  * Local variables:
186  * tab-width: 4
187  * c-basic-offset: 4
188  * End:
189  */
190