php_all_sys/generated/
php54.rs

1/* automatically generated by rust-bindgen 0.57.0 */
2
3#![allow(clippy::all)]
4#![allow(
5    non_upper_case_globals,
6    non_camel_case_types,
7    non_snake_case,
8    clashing_extern_declarations
9)]
10
11#[repr(C)]
12#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
13pub struct __BindgenBitfieldUnit<Storage> {
14    storage: Storage,
15}
16impl<Storage> __BindgenBitfieldUnit<Storage> {
17    #[inline]
18    pub const fn new(storage: Storage) -> Self {
19        Self { storage }
20    }
21}
22impl<Storage> __BindgenBitfieldUnit<Storage>
23where
24    Storage: AsRef<[u8]> + AsMut<[u8]>,
25{
26    #[inline]
27    pub fn get_bit(&self, index: usize) -> bool {
28        debug_assert!(index / 8 < self.storage.as_ref().len());
29        let byte_index = index / 8;
30        let byte = self.storage.as_ref()[byte_index];
31        let bit_index = if cfg!(target_endian = "big") {
32            7 - (index % 8)
33        } else {
34            index % 8
35        };
36        let mask = 1 << bit_index;
37        byte & mask == mask
38    }
39    #[inline]
40    pub fn set_bit(&mut self, index: usize, val: bool) {
41        debug_assert!(index / 8 < self.storage.as_ref().len());
42        let byte_index = index / 8;
43        let byte = &mut self.storage.as_mut()[byte_index];
44        let bit_index = if cfg!(target_endian = "big") {
45            7 - (index % 8)
46        } else {
47            index % 8
48        };
49        let mask = 1 << bit_index;
50        if val {
51            *byte |= mask;
52        } else {
53            *byte &= !mask;
54        }
55    }
56    #[inline]
57    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
58        debug_assert!(bit_width <= 64);
59        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
60        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
61        let mut val = 0;
62        for i in 0..(bit_width as usize) {
63            if self.get_bit(i + bit_offset) {
64                let index = if cfg!(target_endian = "big") {
65                    bit_width as usize - 1 - i
66                } else {
67                    i
68                };
69                val |= 1 << index;
70            }
71        }
72        val
73    }
74    #[inline]
75    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
76        debug_assert!(bit_width <= 64);
77        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
78        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
79        for i in 0..(bit_width as usize) {
80            let mask = 1 << i;
81            let val_bit_is_set = val & mask == mask;
82            let index = if cfg!(target_endian = "big") {
83                bit_width as usize - 1 - i
84            } else {
85                i
86            };
87            self.set_bit(index + bit_offset, val_bit_is_set);
88        }
89    }
90}
91pub const PHP_API_VERSION: u32 = 20100412;
92pub const PHP_BLOWFISH_CRYPT: u32 = 1;
93pub const PHP_BUILD_DATE: &'static [u8; 11usize] = b"2015-10-17\0";
94pub const PHP_CAN_SUPPORT_PROC_OPEN: u32 = 1;
95pub const PHP_EXT_DES_CRYPT: u32 = 1;
96pub const PHP_ICONV_IMPL: &'static [u8; 6usize] = b"glibc\0";
97pub const PHP_MD5_CRYPT: u32 = 1;
98pub const PHP_MHASH_BC: u32 = 1;
99pub const PHP_MYSQL_UNIX_SOCK_ADDR: &'static [u8; 28usize] = b"/var/run/mysqld/mysqld.sock\0";
100pub const PHP_ONIG_BAD_KOI8_ENTRY: u32 = 1;
101pub const PHP_OS: &'static [u8; 6usize] = b"Linux\0";
102pub const PHP_SHA256_CRYPT: u32 = 1;
103pub const PHP_SHA512_CRYPT: u32 = 1;
104pub const PHP_SIGCHILD: u32 = 0;
105pub const PHP_STD_DES_CRYPT: u32 = 1;
106pub const PHP_UNAME : & 'static [u8 ; 92usize] = b"Linux lettie 3.19.0-18-generic #18-Ubuntu SMP Tue May 19 18:31:35 UTC 2015 x86_64 GNU/Linux\0" ;
107pub const PHP_USE_PHP_CRYPT_R: u32 = 1;
108pub const PHP_WRITE_STDOUT: u32 = 1;
109pub const ZEND_BROKEN_SPRINTF: u32 = 0;
110pub const ZEND_DEBUG: u32 = 0;
111pub const ZEND_MM_ALIGNMENT: u32 = 8;
112pub const ZEND_MM_ALIGNMENT_LOG2: u32 = 3;
113pub const PHP_MAJOR_VERSION: u32 = 5;
114pub const PHP_MINOR_VERSION: u32 = 4;
115pub const PHP_RELEASE_VERSION: u32 = 45;
116pub const PHP_EXTRA_VERSION: &'static [u8; 10usize] = b"-0+deb7u2\0";
117pub const PHP_VERSION: &'static [u8; 16usize] = b"5.4.45-0+deb7u2\0";
118pub const PHP_VERSION_ID: u32 = 50445;
119pub const ZEND_VERSION: &'static [u8; 6usize] = b"2.4.0\0";
120pub const ZEND_PATHS_SEPARATOR: u8 = 58u8;
121pub const ZEND_EXTENSIONS_SUPPORT: u32 = 1;
122pub const ZEND_ALLOCA_MAX_SIZE: u32 = 32768;
123pub const ZEND_MM_ALIGNMENT_MASK: i32 = -8;
124pub const HASH_KEY_IS_STRING: u32 = 1;
125pub const HASH_KEY_IS_LONG: u32 = 2;
126pub const HASH_KEY_NON_EXISTANT: u32 = 3;
127pub const HASH_UPDATE: u32 = 1;
128pub const HASH_ADD: u32 = 2;
129pub const HASH_NEXT_INSERT: u32 = 4;
130pub const HASH_DEL_KEY: u32 = 0;
131pub const HASH_DEL_INDEX: u32 = 1;
132pub const HASH_DEL_KEY_QUICK: u32 = 2;
133pub const HASH_UPDATE_KEY_IF_NONE: u32 = 0;
134pub const HASH_UPDATE_KEY_IF_BEFORE: u32 = 1;
135pub const HASH_UPDATE_KEY_IF_AFTER: u32 = 2;
136pub const HASH_UPDATE_KEY_ANYWAY: u32 = 3;
137pub const ZEND_HASH_APPLY_KEEP: u32 = 0;
138pub const ZEND_HASH_APPLY_REMOVE: u32 = 1;
139pub const ZEND_HASH_APPLY_STOP: u32 = 2;
140pub const ZEND_MMAP_AHEAD: u32 = 32;
141pub const IS_NULL: u32 = 0;
142pub const IS_LONG: u32 = 1;
143pub const IS_DOUBLE: u32 = 2;
144pub const IS_BOOL: u32 = 3;
145pub const IS_ARRAY: u32 = 4;
146pub const IS_OBJECT: u32 = 5;
147pub const IS_STRING: u32 = 6;
148pub const IS_RESOURCE: u32 = 7;
149pub const IS_CONSTANT: u32 = 8;
150pub const IS_CONSTANT_ARRAY: u32 = 9;
151pub const IS_CALLABLE: u32 = 10;
152pub const IS_CONSTANT_TYPE_MASK: u32 = 15;
153pub const IS_CONSTANT_UNQUALIFIED: u32 = 16;
154pub const IS_CONSTANT_INDEX: u32 = 128;
155pub const IS_LEXICAL_VAR: u32 = 32;
156pub const IS_LEXICAL_REF: u32 = 64;
157pub const IS_CONSTANT_IN_NAMESPACE: u32 = 256;
158pub const ZEND_MAX_RESERVED_RESOURCES: u32 = 4;
159pub const GC_BENCH: u32 = 0;
160pub const GC_COLOR: u32 = 3;
161pub const GC_BLACK: u32 = 0;
162pub const GC_WHITE: u32 = 1;
163pub const GC_GREY: u32 = 2;
164pub const GC_PURPLE: u32 = 3;
165pub const DEBUG_BACKTRACE_PROVIDE_OBJECT: u32 = 1;
166pub const DEBUG_BACKTRACE_IGNORE_ARGS: u32 = 2;
167pub const DEBUG_ZEND: u32 = 0;
168pub const ZEND_ACC_STATIC: u32 = 1;
169pub const ZEND_ACC_ABSTRACT: u32 = 2;
170pub const ZEND_ACC_FINAL: u32 = 4;
171pub const ZEND_ACC_IMPLEMENTED_ABSTRACT: u32 = 8;
172pub const ZEND_ACC_IMPLICIT_ABSTRACT_CLASS: u32 = 16;
173pub const ZEND_ACC_EXPLICIT_ABSTRACT_CLASS: u32 = 32;
174pub const ZEND_ACC_FINAL_CLASS: u32 = 64;
175pub const ZEND_ACC_INTERFACE: u32 = 128;
176pub const ZEND_ACC_TRAIT: u32 = 288;
177pub const ZEND_ACC_INTERACTIVE: u32 = 16;
178pub const ZEND_ACC_PUBLIC: u32 = 256;
179pub const ZEND_ACC_PROTECTED: u32 = 512;
180pub const ZEND_ACC_PRIVATE: u32 = 1024;
181pub const ZEND_ACC_PPP_MASK: u32 = 1792;
182pub const ZEND_ACC_CHANGED: u32 = 2048;
183pub const ZEND_ACC_IMPLICIT_PUBLIC: u32 = 4096;
184pub const ZEND_ACC_CTOR: u32 = 8192;
185pub const ZEND_ACC_DTOR: u32 = 16384;
186pub const ZEND_ACC_CLONE: u32 = 32768;
187pub const ZEND_ACC_ALLOW_STATIC: u32 = 65536;
188pub const ZEND_ACC_SHADOW: u32 = 131072;
189pub const ZEND_ACC_DEPRECATED: u32 = 262144;
190pub const ZEND_ACC_IMPLEMENT_INTERFACES: u32 = 524288;
191pub const ZEND_ACC_IMPLEMENT_TRAITS: u32 = 4194304;
192pub const ZEND_ACC_CONSTANTS_UPDATED: u32 = 1048576;
193pub const ZEND_HAS_STATIC_IN_METHODS: u32 = 8388608;
194pub const ZEND_ACC_CLOSURE: u32 = 1048576;
195pub const ZEND_ACC_CALL_VIA_HANDLER: u32 = 2097152;
196pub const ZEND_ACC_NEVER_CACHE: u32 = 4194304;
197pub const ZEND_ACC_PASS_REST_BY_REFERENCE: u32 = 16777216;
198pub const ZEND_ACC_PASS_REST_PREFER_REF: u32 = 33554432;
199pub const ZEND_ACC_RETURN_REFERENCE: u32 = 67108864;
200pub const ZEND_ACC_DONE_PASS_TWO: u32 = 134217728;
201pub const ZEND_RETURN_VALUE: u32 = 0;
202pub const ZEND_RETURN_REFERENCE: u32 = 1;
203pub const IS_CONST: u32 = 1;
204pub const IS_TMP_VAR: u32 = 2;
205pub const IS_VAR: u32 = 4;
206pub const IS_UNUSED: u32 = 8;
207pub const IS_CV: u32 = 16;
208pub const ZEND_STACK_APPLY_TOPDOWN: u32 = 1;
209pub const ZEND_STACK_APPLY_BOTTOMUP: u32 = 2;
210pub const ZEND_PTR_STACK_NUM_ARGS: u32 = 3;
211pub const ZEND_EARLY_BINDING_COMPILE_TIME: u32 = 0;
212pub const ZEND_EARLY_BINDING_DELAYED: u32 = 1;
213pub const ZEND_EARLY_BINDING_DELAYED_ALL: u32 = 2;
214pub const ZEND_NOP: u32 = 0;
215pub const ZEND_ADD: u32 = 1;
216pub const ZEND_SUB: u32 = 2;
217pub const ZEND_MUL: u32 = 3;
218pub const ZEND_DIV: u32 = 4;
219pub const ZEND_MOD: u32 = 5;
220pub const ZEND_SL: u32 = 6;
221pub const ZEND_SR: u32 = 7;
222pub const ZEND_CONCAT: u32 = 8;
223pub const ZEND_BW_OR: u32 = 9;
224pub const ZEND_BW_AND: u32 = 10;
225pub const ZEND_BW_XOR: u32 = 11;
226pub const ZEND_BW_NOT: u32 = 12;
227pub const ZEND_BOOL_NOT: u32 = 13;
228pub const ZEND_BOOL_XOR: u32 = 14;
229pub const ZEND_IS_IDENTICAL: u32 = 15;
230pub const ZEND_IS_NOT_IDENTICAL: u32 = 16;
231pub const ZEND_IS_EQUAL: u32 = 17;
232pub const ZEND_IS_NOT_EQUAL: u32 = 18;
233pub const ZEND_IS_SMALLER: u32 = 19;
234pub const ZEND_IS_SMALLER_OR_EQUAL: u32 = 20;
235pub const ZEND_CAST: u32 = 21;
236pub const ZEND_QM_ASSIGN: u32 = 22;
237pub const ZEND_ASSIGN_ADD: u32 = 23;
238pub const ZEND_ASSIGN_SUB: u32 = 24;
239pub const ZEND_ASSIGN_MUL: u32 = 25;
240pub const ZEND_ASSIGN_DIV: u32 = 26;
241pub const ZEND_ASSIGN_MOD: u32 = 27;
242pub const ZEND_ASSIGN_SL: u32 = 28;
243pub const ZEND_ASSIGN_SR: u32 = 29;
244pub const ZEND_ASSIGN_CONCAT: u32 = 30;
245pub const ZEND_ASSIGN_BW_OR: u32 = 31;
246pub const ZEND_ASSIGN_BW_AND: u32 = 32;
247pub const ZEND_ASSIGN_BW_XOR: u32 = 33;
248pub const ZEND_PRE_INC: u32 = 34;
249pub const ZEND_PRE_DEC: u32 = 35;
250pub const ZEND_POST_INC: u32 = 36;
251pub const ZEND_POST_DEC: u32 = 37;
252pub const ZEND_ASSIGN: u32 = 38;
253pub const ZEND_ASSIGN_REF: u32 = 39;
254pub const ZEND_ECHO: u32 = 40;
255pub const ZEND_PRINT: u32 = 41;
256pub const ZEND_JMP: u32 = 42;
257pub const ZEND_JMPZ: u32 = 43;
258pub const ZEND_JMPNZ: u32 = 44;
259pub const ZEND_JMPZNZ: u32 = 45;
260pub const ZEND_JMPZ_EX: u32 = 46;
261pub const ZEND_JMPNZ_EX: u32 = 47;
262pub const ZEND_CASE: u32 = 48;
263pub const ZEND_SWITCH_FREE: u32 = 49;
264pub const ZEND_BRK: u32 = 50;
265pub const ZEND_CONT: u32 = 51;
266pub const ZEND_BOOL: u32 = 52;
267pub const ZEND_INIT_STRING: u32 = 53;
268pub const ZEND_ADD_CHAR: u32 = 54;
269pub const ZEND_ADD_STRING: u32 = 55;
270pub const ZEND_ADD_VAR: u32 = 56;
271pub const ZEND_BEGIN_SILENCE: u32 = 57;
272pub const ZEND_END_SILENCE: u32 = 58;
273pub const ZEND_INIT_FCALL_BY_NAME: u32 = 59;
274pub const ZEND_DO_FCALL: u32 = 60;
275pub const ZEND_DO_FCALL_BY_NAME: u32 = 61;
276pub const ZEND_RETURN: u32 = 62;
277pub const ZEND_RECV: u32 = 63;
278pub const ZEND_RECV_INIT: u32 = 64;
279pub const ZEND_SEND_VAL: u32 = 65;
280pub const ZEND_SEND_VAR: u32 = 66;
281pub const ZEND_SEND_REF: u32 = 67;
282pub const ZEND_NEW: u32 = 68;
283pub const ZEND_INIT_NS_FCALL_BY_NAME: u32 = 69;
284pub const ZEND_FREE: u32 = 70;
285pub const ZEND_INIT_ARRAY: u32 = 71;
286pub const ZEND_ADD_ARRAY_ELEMENT: u32 = 72;
287pub const ZEND_INCLUDE_OR_EVAL: u32 = 73;
288pub const ZEND_UNSET_VAR: u32 = 74;
289pub const ZEND_UNSET_DIM: u32 = 75;
290pub const ZEND_UNSET_OBJ: u32 = 76;
291pub const ZEND_FE_RESET: u32 = 77;
292pub const ZEND_FE_FETCH: u32 = 78;
293pub const ZEND_EXIT: u32 = 79;
294pub const ZEND_FETCH_R: u32 = 80;
295pub const ZEND_FETCH_DIM_R: u32 = 81;
296pub const ZEND_FETCH_OBJ_R: u32 = 82;
297pub const ZEND_FETCH_W: u32 = 83;
298pub const ZEND_FETCH_DIM_W: u32 = 84;
299pub const ZEND_FETCH_OBJ_W: u32 = 85;
300pub const ZEND_FETCH_RW: u32 = 86;
301pub const ZEND_FETCH_DIM_RW: u32 = 87;
302pub const ZEND_FETCH_OBJ_RW: u32 = 88;
303pub const ZEND_FETCH_IS: u32 = 89;
304pub const ZEND_FETCH_DIM_IS: u32 = 90;
305pub const ZEND_FETCH_OBJ_IS: u32 = 91;
306pub const ZEND_FETCH_FUNC_ARG: u32 = 92;
307pub const ZEND_FETCH_DIM_FUNC_ARG: u32 = 93;
308pub const ZEND_FETCH_OBJ_FUNC_ARG: u32 = 94;
309pub const ZEND_FETCH_UNSET: u32 = 95;
310pub const ZEND_FETCH_DIM_UNSET: u32 = 96;
311pub const ZEND_FETCH_OBJ_UNSET: u32 = 97;
312pub const ZEND_FETCH_DIM_TMP_VAR: u32 = 98;
313pub const ZEND_FETCH_CONSTANT: u32 = 99;
314pub const ZEND_GOTO: u32 = 100;
315pub const ZEND_EXT_STMT: u32 = 101;
316pub const ZEND_EXT_FCALL_BEGIN: u32 = 102;
317pub const ZEND_EXT_FCALL_END: u32 = 103;
318pub const ZEND_EXT_NOP: u32 = 104;
319pub const ZEND_TICKS: u32 = 105;
320pub const ZEND_SEND_VAR_NO_REF: u32 = 106;
321pub const ZEND_CATCH: u32 = 107;
322pub const ZEND_THROW: u32 = 108;
323pub const ZEND_FETCH_CLASS: u32 = 109;
324pub const ZEND_CLONE: u32 = 110;
325pub const ZEND_RETURN_BY_REF: u32 = 111;
326pub const ZEND_INIT_METHOD_CALL: u32 = 112;
327pub const ZEND_INIT_STATIC_METHOD_CALL: u32 = 113;
328pub const ZEND_ISSET_ISEMPTY_VAR: u32 = 114;
329pub const ZEND_ISSET_ISEMPTY_DIM_OBJ: u32 = 115;
330pub const ZEND_PRE_INC_OBJ: u32 = 132;
331pub const ZEND_PRE_DEC_OBJ: u32 = 133;
332pub const ZEND_POST_INC_OBJ: u32 = 134;
333pub const ZEND_POST_DEC_OBJ: u32 = 135;
334pub const ZEND_ASSIGN_OBJ: u32 = 136;
335pub const ZEND_INSTANCEOF: u32 = 138;
336pub const ZEND_DECLARE_CLASS: u32 = 139;
337pub const ZEND_DECLARE_INHERITED_CLASS: u32 = 140;
338pub const ZEND_DECLARE_FUNCTION: u32 = 141;
339pub const ZEND_RAISE_ABSTRACT_ERROR: u32 = 142;
340pub const ZEND_DECLARE_CONST: u32 = 143;
341pub const ZEND_ADD_INTERFACE: u32 = 144;
342pub const ZEND_DECLARE_INHERITED_CLASS_DELAYED: u32 = 145;
343pub const ZEND_VERIFY_ABSTRACT_CLASS: u32 = 146;
344pub const ZEND_ASSIGN_DIM: u32 = 147;
345pub const ZEND_ISSET_ISEMPTY_PROP_OBJ: u32 = 148;
346pub const ZEND_HANDLE_EXCEPTION: u32 = 149;
347pub const ZEND_USER_OPCODE: u32 = 150;
348pub const ZEND_JMP_SET: u32 = 152;
349pub const ZEND_DECLARE_LAMBDA_FUNCTION: u32 = 153;
350pub const ZEND_ADD_TRAIT: u32 = 154;
351pub const ZEND_BIND_TRAITS: u32 = 155;
352pub const ZEND_SEPARATE: u32 = 156;
353pub const ZEND_QM_ASSIGN_VAR: u32 = 157;
354pub const ZEND_JMP_SET_VAR: u32 = 158;
355pub const ZEND_OP_DATA: u32 = 137;
356pub const ZEND_FETCH_CLASS_DEFAULT: u32 = 0;
357pub const ZEND_FETCH_CLASS_SELF: u32 = 1;
358pub const ZEND_FETCH_CLASS_PARENT: u32 = 2;
359pub const ZEND_FETCH_CLASS_MAIN: u32 = 3;
360pub const ZEND_FETCH_CLASS_GLOBAL: u32 = 4;
361pub const ZEND_FETCH_CLASS_AUTO: u32 = 5;
362pub const ZEND_FETCH_CLASS_INTERFACE: u32 = 6;
363pub const ZEND_FETCH_CLASS_STATIC: u32 = 7;
364pub const ZEND_FETCH_CLASS_TRAIT: u32 = 14;
365pub const ZEND_FETCH_CLASS_MASK: u32 = 15;
366pub const ZEND_FETCH_CLASS_NO_AUTOLOAD: u32 = 128;
367pub const ZEND_FETCH_CLASS_SILENT: u32 = 256;
368pub const ZEND_PARSED_MEMBER: u32 = 1;
369pub const ZEND_PARSED_METHOD_CALL: u32 = 2;
370pub const ZEND_PARSED_STATIC_MEMBER: u32 = 4;
371pub const ZEND_PARSED_FUNCTION_CALL: u32 = 8;
372pub const ZEND_PARSED_VARIABLE: u32 = 16;
373pub const ZEND_PARSED_REFERENCE_VARIABLE: u32 = 32;
374pub const ZEND_PARSED_NEW: u32 = 64;
375pub const ZEND_UNSET_REG: u32 = 0;
376pub const ZEND_INTERNAL_FUNCTION: u32 = 1;
377pub const ZEND_USER_FUNCTION: u32 = 2;
378pub const ZEND_OVERLOADED_FUNCTION: u32 = 3;
379pub const ZEND_EVAL_CODE: u32 = 4;
380pub const ZEND_OVERLOADED_FUNCTION_TEMPORARY: u32 = 5;
381pub const ZEND_INTERNAL_CLASS: u32 = 1;
382pub const ZEND_USER_CLASS: u32 = 2;
383pub const ZEND_EVAL: u32 = 1;
384pub const ZEND_INCLUDE: u32 = 2;
385pub const ZEND_INCLUDE_ONCE: u32 = 4;
386pub const ZEND_REQUIRE: u32 = 8;
387pub const ZEND_REQUIRE_ONCE: u32 = 16;
388pub const ZEND_CT: u32 = 1;
389pub const ZEND_RT: u32 = 2;
390pub const ZEND_FETCH_GLOBAL: u32 = 0;
391pub const ZEND_FETCH_LOCAL: u32 = 268435456;
392pub const ZEND_FETCH_STATIC: u32 = 536870912;
393pub const ZEND_FETCH_STATIC_MEMBER: u32 = 805306368;
394pub const ZEND_FETCH_GLOBAL_LOCK: u32 = 1073741824;
395pub const ZEND_FETCH_LEXICAL: u32 = 1342177280;
396pub const ZEND_FETCH_TYPE_MASK: u32 = 1879048192;
397pub const ZEND_FETCH_STANDARD: u32 = 0;
398pub const ZEND_FETCH_ADD_LOCK: u32 = 134217728;
399pub const ZEND_FETCH_MAKE_REF: u32 = 67108864;
400pub const ZEND_ISSET: u32 = 33554432;
401pub const ZEND_ISEMPTY: u32 = 16777216;
402pub const ZEND_ISSET_ISEMPTY_MASK: u32 = 50331648;
403pub const ZEND_QUICK_SET: u32 = 8388608;
404pub const ZEND_FETCH_ARG_MASK: u32 = 1048575;
405pub const ZEND_FE_FETCH_BYREF: u32 = 1;
406pub const ZEND_FE_FETCH_WITH_KEY: u32 = 2;
407pub const ZEND_FE_RESET_VARIABLE: u32 = 1;
408pub const ZEND_FE_RESET_REFERENCE: u32 = 2;
409pub const ZEND_MEMBER_FUNC_CALL: u32 = 1;
410pub const ZEND_ARG_SEND_BY_REF: u32 = 1;
411pub const ZEND_ARG_COMPILE_TIME_BOUND: u32 = 2;
412pub const ZEND_ARG_SEND_FUNCTION: u32 = 4;
413pub const ZEND_ARG_SEND_SILENT: u32 = 8;
414pub const ZEND_SEND_BY_VAL: u32 = 0;
415pub const ZEND_SEND_BY_REF: u32 = 1;
416pub const ZEND_SEND_PREFER_REF: u32 = 2;
417pub const ZEND_RETURN_VAL: u32 = 0;
418pub const ZEND_RETURN_REF: u32 = 1;
419pub const ZEND_RETURNS_FUNCTION: u32 = 1;
420pub const ZEND_RETURNS_NEW: u32 = 2;
421pub const ZEND_CLONE_FUNC_NAME: &'static [u8; 8usize] = b"__clone\0";
422pub const ZEND_CONSTRUCTOR_FUNC_NAME: &'static [u8; 12usize] = b"__construct\0";
423pub const ZEND_DESTRUCTOR_FUNC_NAME: &'static [u8; 11usize] = b"__destruct\0";
424pub const ZEND_GET_FUNC_NAME: &'static [u8; 6usize] = b"__get\0";
425pub const ZEND_SET_FUNC_NAME: &'static [u8; 6usize] = b"__set\0";
426pub const ZEND_UNSET_FUNC_NAME: &'static [u8; 8usize] = b"__unset\0";
427pub const ZEND_ISSET_FUNC_NAME: &'static [u8; 8usize] = b"__isset\0";
428pub const ZEND_CALL_FUNC_NAME: &'static [u8; 7usize] = b"__call\0";
429pub const ZEND_CALLSTATIC_FUNC_NAME: &'static [u8; 13usize] = b"__callstatic\0";
430pub const ZEND_TOSTRING_FUNC_NAME: &'static [u8; 11usize] = b"__tostring\0";
431pub const ZEND_AUTOLOAD_FUNC_NAME: &'static [u8; 11usize] = b"__autoload\0";
432pub const ZEND_COMPILE_EXTENDED_INFO: u32 = 1;
433pub const ZEND_COMPILE_HANDLE_OP_ARRAY: u32 = 2;
434pub const ZEND_COMPILE_IGNORE_INTERNAL_FUNCTIONS: u32 = 4;
435pub const ZEND_COMPILE_IGNORE_INTERNAL_CLASSES: u32 = 8;
436pub const ZEND_COMPILE_DELAYED_BINDING: u32 = 16;
437pub const ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION: u32 = 32;
438pub const ZEND_COMPILE_DEFAULT: u32 = 2;
439pub const ZEND_COMPILE_DEFAULT_FOR_EVAL: u32 = 0;
440pub const ZEND_BUILD_TS: &'static [u8; 5usize] = b",NTS\0";
441pub const ZEND_MODULE_API_NO: u32 = 20100525;
442pub const USING_ZTS: u32 = 0;
443pub const MODULE_PERSISTENT: u32 = 1;
444pub const MODULE_TEMPORARY: u32 = 2;
445pub const MODULE_DEP_REQUIRED: u32 = 1;
446pub const MODULE_DEP_CONFLICTS: u32 = 2;
447pub const MODULE_DEP_OPTIONAL: u32 = 3;
448pub const ZEND_RESOURCE_LIST_TYPE_STD: u32 = 1;
449pub const ZEND_RESOURCE_LIST_TYPE_EX: u32 = 2;
450pub const ZEND_VM_STACK_PAGE_SIZE: u32 = 16368;
451pub const ZEND_USER_OPCODE_CONTINUE: u32 = 0;
452pub const ZEND_USER_OPCODE_RETURN: u32 = 1;
453pub const ZEND_USER_OPCODE_DISPATCH: u32 = 2;
454pub const ZEND_USER_OPCODE_ENTER: u32 = 3;
455pub const ZEND_USER_OPCODE_LEAVE: u32 = 4;
456pub const ZEND_USER_OPCODE_DISPATCH_TO: u32 = 256;
457pub const ZEND_PARSE_PARAMS_QUIET: u32 = 2;
458pub const IS_CALLABLE_CHECK_SYNTAX_ONLY: u32 = 1;
459pub const IS_CALLABLE_CHECK_NO_ACCESS: u32 = 2;
460pub const IS_CALLABLE_CHECK_IS_STATIC: u32 = 4;
461pub const IS_CALLABLE_CHECK_SILENT: u32 = 8;
462pub const IS_CALLABLE_STRICT: u32 = 4;
463pub const PHP_DEBUG: u32 = 0;
464pub const PHP_DIR_SEPARATOR: u8 = 47u8;
465pub const PHP_EOL: &'static [u8; 2usize] = b"\n\0";
466pub const CONFIGURE_COMMAND : & 'static [u8 ; 1777usize] = b" '../configure'  '--prefix=/usr' '--with-apxs2=/usr/bin/apxs2' '--with-config-file-path=/etc/php5/apache2' '--with-config-file-scan-dir=/etc/php5/apache2/conf.d' '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--sysconfdir=/etc' '--localstatedir=/var' '--mandir=/usr/share/man' '--disable-debug' '--with-regex=php' '--disable-rpath' '--disable-static' '--with-pic' '--with-layout=GNU' '--with-pear=/usr/share/php' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db4' '--with-qdbm=/usr' '--without-gdbm' '--with-iconv' '--enable-exif' '--enable-ftp' '--with-gettext' '--enable-mbstring' '--with-onig=/usr' '--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--with-libxml-dir=/usr' '--with-zlib' '--with-kerberos=/usr' '--with-openssl=/usr' '--enable-soap' '--enable-zip' '--with-mhash=yes' '--with-system-tzdata' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--without-mm' '--with-curl=shared,/usr' '--with-enchant=shared,/usr' '--with-zlib-dir=/usr' '--with-gd=shared,/usr' '--enable-gd-native-ttf' '--with-gmp=shared,/usr' '--with-jpeg-dir=shared,/usr' '--with-xpm-dir=shared,/usr/X11R6' '--with-png-dir=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-imap=shared,/usr' '--with-imap-ssl' '--enable-intl=shared' '--without-t1lib' '--with-ldap=shared,/usr' '--with-ldap-sasl=/usr' '--with-mcrypt=shared,/usr' '--with-mysql=shared,/usr' '--with-mysqli=shared,/usr/bin/mysql_config' '--with-pspell=shared,/usr' '--with-unixODBC=shared,/usr' '--with-recode=shared,/usr' '--with-xsl=shared,/usr' '--with-snmp=shared,/usr' '--with-sqlite3=shared,/usr' '--with-mssql=shared,/usr' '--with-tidy=shared,/usr' '--with-xmlrpc=shared' '--with-pgsql=shared,/usr'\0" ;
467pub const PHP_ADA_INCLUDE: &'static [u8; 1usize] = b"\0";
468pub const PHP_ADA_LFLAGS: &'static [u8; 1usize] = b"\0";
469pub const PHP_ADA_LIBS: &'static [u8; 1usize] = b"\0";
470pub const PHP_APACHE_INCLUDE: &'static [u8; 1usize] = b"\0";
471pub const PHP_APACHE_TARGET: &'static [u8; 1usize] = b"\0";
472pub const PHP_FHTTPD_INCLUDE: &'static [u8; 1usize] = b"\0";
473pub const PHP_FHTTPD_LIB: &'static [u8; 1usize] = b"\0";
474pub const PHP_FHTTPD_TARGET: &'static [u8; 1usize] = b"\0";
475pub const PHP_CFLAGS: &'static [u8; 28usize] = b"$(CFLAGS_CLEAN) -prefer-pic\0";
476pub const PHP_DBASE_LIB: &'static [u8; 1usize] = b"\0";
477pub const PHP_BUILD_DEBUG: &'static [u8; 1usize] = b"\0";
478pub const PHP_GDBM_INCLUDE: &'static [u8; 1usize] = b"\0";
479pub const PHP_IBASE_INCLUDE: &'static [u8; 1usize] = b"\0";
480pub const PHP_IBASE_LFLAGS: &'static [u8; 1usize] = b"\0";
481pub const PHP_IBASE_LIBS: &'static [u8; 1usize] = b"\0";
482pub const PHP_IFX_INCLUDE: &'static [u8; 1usize] = b"\0";
483pub const PHP_IFX_LFLAGS: &'static [u8; 1usize] = b"\0";
484pub const PHP_IFX_LIBS: &'static [u8; 1usize] = b"\0";
485pub const PHP_INSTALL_IT : & 'static [u8 ; 331usize] = b"$(mkinstalldirs) '$(INSTALL_ROOT)/usr/lib/apache2/modules' &&                 $(mkinstalldirs) '$(INSTALL_ROOT)/etc/apache2' &&                  /usr/bin/apxs2 -S LIBEXECDIR='$(INSTALL_ROOT)/usr/lib/apache2/modules'                        -S SYSCONFDIR='$(INSTALL_ROOT)/etc/apache2'                        -i -a -n php5 libphp5.la\0" ;
486pub const PHP_IODBC_INCLUDE: &'static [u8; 1usize] = b"\0";
487pub const PHP_IODBC_LFLAGS: &'static [u8; 1usize] = b"\0";
488pub const PHP_IODBC_LIBS: &'static [u8; 1usize] = b"\0";
489pub const PHP_MSQL_INCLUDE: &'static [u8; 1usize] = b"\0";
490pub const PHP_MSQL_LFLAGS: &'static [u8; 1usize] = b"\0";
491pub const PHP_MSQL_LIBS: &'static [u8; 1usize] = b"\0";
492pub const PHP_MYSQL_INCLUDE: &'static [u8; 21usize] = b"-I/usr/include/mysql\0";
493pub const PHP_MYSQL_LIBS: &'static [u8; 45usize] =
494    b"-L/usr/lib/x86_64-linux-gnu -lmysqlclient_r \0";
495pub const PHP_MYSQL_TYPE: &'static [u8; 9usize] = b"external\0";
496pub const PHP_ODBC_INCLUDE: &'static [u8; 15usize] = b"-I/usr/include\0";
497pub const PHP_ODBC_LFLAGS: &'static [u8; 11usize] = b"-L/usr/lib\0";
498pub const PHP_ODBC_LIBS: &'static [u8; 7usize] = b"-lodbc\0";
499pub const PHP_ODBC_TYPE: &'static [u8; 9usize] = b"unixODBC\0";
500pub const PHP_OCI8_SHARED_LIBADD: &'static [u8; 1usize] = b"\0";
501pub const PHP_OCI8_DIR: &'static [u8; 1usize] = b"\0";
502pub const PHP_OCI8_ORACLE_VERSION: &'static [u8; 1usize] = b"\0";
503pub const PHP_ORACLE_SHARED_LIBADD: &'static [u8; 23usize] = b"@ORACLE_SHARED_LIBADD@\0";
504pub const PHP_ORACLE_DIR: &'static [u8; 13usize] = b"@ORACLE_DIR@\0";
505pub const PHP_ORACLE_VERSION: &'static [u8; 17usize] = b"@ORACLE_VERSION@\0";
506pub const PHP_PGSQL_INCLUDE: &'static [u8; 1usize] = b"\0";
507pub const PHP_PGSQL_LFLAGS: &'static [u8; 1usize] = b"\0";
508pub const PHP_PGSQL_LIBS: &'static [u8; 1usize] = b"\0";
509pub const PHP_PROG_SENDMAIL: &'static [u8; 19usize] = b"/usr/sbin/sendmail\0";
510pub const PHP_SOLID_INCLUDE: &'static [u8; 1usize] = b"\0";
511pub const PHP_SOLID_LIBS: &'static [u8; 1usize] = b"\0";
512pub const PHP_EMPRESS_INCLUDE: &'static [u8; 1usize] = b"\0";
513pub const PHP_EMPRESS_LIBS: &'static [u8; 1usize] = b"\0";
514pub const PHP_SYBASE_INCLUDE: &'static [u8; 1usize] = b"\0";
515pub const PHP_SYBASE_LFLAGS: &'static [u8; 1usize] = b"\0";
516pub const PHP_SYBASE_LIBS: &'static [u8; 1usize] = b"\0";
517pub const PHP_DBM_TYPE: &'static [u8; 1usize] = b"\0";
518pub const PHP_DBM_LIB: &'static [u8; 1usize] = b"\0";
519pub const PHP_LDAP_LFLAGS: &'static [u8; 1usize] = b"\0";
520pub const PHP_LDAP_INCLUDE: &'static [u8; 1usize] = b"\0";
521pub const PHP_LDAP_LIBS: &'static [u8; 1usize] = b"\0";
522pub const PHP_BIRDSTEP_INCLUDE: &'static [u8; 1usize] = b"\0";
523pub const PHP_BIRDSTEP_LIBS: &'static [u8; 1usize] = b"\0";
524pub const PHP_INCLUDE_PATH: &'static [u8; 33usize] = b".:/usr/share/php:/usr/share/pear\0";
525pub const PHP_EXTENSION_DIR: &'static [u8; 23usize] = b"/usr/lib/php5/20100525\0";
526pub const PHP_PREFIX: &'static [u8; 5usize] = b"/usr\0";
527pub const PHP_BINDIR: &'static [u8; 9usize] = b"/usr/bin\0";
528pub const PHP_SBINDIR: &'static [u8; 10usize] = b"/usr/sbin\0";
529pub const PHP_MANDIR: &'static [u8; 15usize] = b"/usr/share/man\0";
530pub const PHP_LIBDIR: &'static [u8; 14usize] = b"/usr/lib/php5\0";
531pub const PHP_DATADIR: &'static [u8; 16usize] = b"${prefix}/share\0";
532pub const PHP_SYSCONFDIR: &'static [u8; 5usize] = b"/etc\0";
533pub const PHP_LOCALSTATEDIR: &'static [u8; 5usize] = b"/var\0";
534pub const PHP_CONFIG_FILE_PATH: &'static [u8; 18usize] = b"/etc/php5/apache2\0";
535pub const PHP_CONFIG_FILE_SCAN_DIR: &'static [u8; 25usize] = b"/etc/php5/apache2/conf.d\0";
536pub const PHP_SHLIB_SUFFIX: &'static [u8; 3usize] = b"so\0";
537pub const PHP_MIME_TYPE: &'static [u8; 24usize] = b"application/x-httpd-php\0";
538pub const PHP_ATTR_FMT_OFFSET: u32 = 0;
539pub const PHP_OUTPUT_NEWAPI: u32 = 1;
540pub const PHP_OUTPUT_HANDLER_WRITE: u32 = 0;
541pub const PHP_OUTPUT_HANDLER_START: u32 = 1;
542pub const PHP_OUTPUT_HANDLER_CLEAN: u32 = 2;
543pub const PHP_OUTPUT_HANDLER_FLUSH: u32 = 4;
544pub const PHP_OUTPUT_HANDLER_FINAL: u32 = 8;
545pub const PHP_OUTPUT_HANDLER_CONT: u32 = 0;
546pub const PHP_OUTPUT_HANDLER_END: u32 = 8;
547pub const PHP_OUTPUT_HANDLER_INTERNAL: u32 = 0;
548pub const PHP_OUTPUT_HANDLER_USER: u32 = 1;
549pub const PHP_OUTPUT_HANDLER_CLEANABLE: u32 = 16;
550pub const PHP_OUTPUT_HANDLER_FLUSHABLE: u32 = 32;
551pub const PHP_OUTPUT_HANDLER_REMOVABLE: u32 = 64;
552pub const PHP_OUTPUT_HANDLER_STDFLAGS: u32 = 112;
553pub const PHP_OUTPUT_HANDLER_STARTED: u32 = 4096;
554pub const PHP_OUTPUT_HANDLER_DISABLED: u32 = 8192;
555pub const PHP_OUTPUT_HANDLER_PROCESSED: u32 = 16384;
556pub const PHP_OUTPUT_POP_TRY: u32 = 0;
557pub const PHP_OUTPUT_POP_FORCE: u32 = 1;
558pub const PHP_OUTPUT_POP_DISCARD: u32 = 16;
559pub const PHP_OUTPUT_POP_SILENT: u32 = 256;
560pub const PHP_OUTPUT_IMPLICITFLUSH: u32 = 1;
561pub const PHP_OUTPUT_DISABLED: u32 = 2;
562pub const PHP_OUTPUT_WRITTEN: u32 = 4;
563pub const PHP_OUTPUT_SENT: u32 = 8;
564pub const PHP_OUTPUT_ACTIVE: u32 = 16;
565pub const PHP_OUTPUT_LOCKED: u32 = 32;
566pub const PHP_OUTPUT_ACTIVATED: u32 = 1048576;
567pub const PHP_OUTPUT_HANDLER_ALIGNTO_SIZE: u32 = 4096;
568pub const PHP_OUTPUT_HANDLER_DEFAULT_SIZE: u32 = 16384;
569pub const PHP_STREAM_NOTIFIER_PROGRESS: u32 = 1;
570pub const PHP_STREAM_NOTIFY_RESOLVE: u32 = 1;
571pub const PHP_STREAM_NOTIFY_CONNECT: u32 = 2;
572pub const PHP_STREAM_NOTIFY_AUTH_REQUIRED: u32 = 3;
573pub const PHP_STREAM_NOTIFY_MIME_TYPE_IS: u32 = 4;
574pub const PHP_STREAM_NOTIFY_FILE_SIZE_IS: u32 = 5;
575pub const PHP_STREAM_NOTIFY_REDIRECTED: u32 = 6;
576pub const PHP_STREAM_NOTIFY_PROGRESS: u32 = 7;
577pub const PHP_STREAM_NOTIFY_COMPLETED: u32 = 8;
578pub const PHP_STREAM_NOTIFY_FAILURE: u32 = 9;
579pub const PHP_STREAM_NOTIFY_AUTH_RESULT: u32 = 10;
580pub const PHP_STREAM_NOTIFY_SEVERITY_INFO: u32 = 0;
581pub const PHP_STREAM_NOTIFY_SEVERITY_WARN: u32 = 1;
582pub const PHP_STREAM_NOTIFY_SEVERITY_ERR: u32 = 2;
583pub const PHP_STREAM_FILTER_READ: u32 = 1;
584pub const PHP_STREAM_FILTER_WRITE: u32 = 2;
585pub const PHP_STREAM_FILTER_ALL: u32 = 3;
586pub const PHP_STREAM_FLAG_NO_SEEK: u32 = 1;
587pub const PHP_STREAM_FLAG_NO_BUFFER: u32 = 2;
588pub const PHP_STREAM_FLAG_EOL_UNIX: u32 = 0;
589pub const PHP_STREAM_FLAG_DETECT_EOL: u32 = 4;
590pub const PHP_STREAM_FLAG_EOL_MAC: u32 = 8;
591pub const PHP_STREAM_FLAG_AVOID_BLOCKING: u32 = 16;
592pub const PHP_STREAM_FLAG_NO_CLOSE: u32 = 32;
593pub const PHP_STREAM_FLAG_IS_DIR: u32 = 64;
594pub const PHP_STREAM_FLAG_NO_FCLOSE: u32 = 128;
595pub const PHP_STREAM_FCLOSE_NONE: u32 = 0;
596pub const PHP_STREAM_FCLOSE_FDOPEN: u32 = 1;
597pub const PHP_STREAM_FCLOSE_FOPENCOOKIE: u32 = 2;
598pub const PHP_STREAM_PERSISTENT_SUCCESS: u32 = 0;
599pub const PHP_STREAM_PERSISTENT_FAILURE: u32 = 1;
600pub const PHP_STREAM_PERSISTENT_NOT_EXIST: u32 = 2;
601pub const PHP_STREAM_FREE_CALL_DTOR: u32 = 1;
602pub const PHP_STREAM_FREE_RELEASE_STREAM: u32 = 2;
603pub const PHP_STREAM_FREE_PRESERVE_HANDLE: u32 = 4;
604pub const PHP_STREAM_FREE_RSRC_DTOR: u32 = 8;
605pub const PHP_STREAM_FREE_PERSISTENT: u32 = 16;
606pub const PHP_STREAM_FREE_IGNORE_ENCLOSING: u32 = 32;
607pub const PHP_STREAM_FREE_CLOSE: u32 = 3;
608pub const PHP_STREAM_FREE_CLOSE_CASTED: u32 = 7;
609pub const PHP_STREAM_FREE_CLOSE_PERSISTENT: u32 = 19;
610pub const PHP_STREAM_MKDIR_RECURSIVE: u32 = 1;
611pub const PHP_STREAM_URL_STAT_LINK: u32 = 1;
612pub const PHP_STREAM_URL_STAT_QUIET: u32 = 2;
613pub const PHP_STREAM_URL_STAT_NOCACHE: u32 = 4;
614pub const PHP_STREAM_OPTION_BLOCKING: u32 = 1;
615pub const PHP_STREAM_OPTION_READ_BUFFER: u32 = 2;
616pub const PHP_STREAM_OPTION_WRITE_BUFFER: u32 = 3;
617pub const PHP_STREAM_BUFFER_NONE: u32 = 0;
618pub const PHP_STREAM_BUFFER_LINE: u32 = 1;
619pub const PHP_STREAM_BUFFER_FULL: u32 = 2;
620pub const PHP_STREAM_OPTION_READ_TIMEOUT: u32 = 4;
621pub const PHP_STREAM_OPTION_SET_CHUNK_SIZE: u32 = 5;
622pub const PHP_STREAM_OPTION_LOCKING: u32 = 6;
623pub const PHP_STREAM_LOCK_SUPPORTED: u32 = 1;
624pub const PHP_STREAM_OPTION_XPORT_API: u32 = 7;
625pub const PHP_STREAM_OPTION_CRYPTO_API: u32 = 8;
626pub const PHP_STREAM_OPTION_MMAP_API: u32 = 9;
627pub const PHP_STREAM_OPTION_TRUNCATE_API: u32 = 10;
628pub const PHP_STREAM_TRUNCATE_SUPPORTED: u32 = 0;
629pub const PHP_STREAM_TRUNCATE_SET_SIZE: u32 = 1;
630pub const PHP_STREAM_OPTION_META_DATA_API: u32 = 11;
631pub const PHP_STREAM_OPTION_CHECK_LIVENESS: u32 = 12;
632pub const PHP_STREAM_OPTION_RETURN_OK: u32 = 0;
633pub const PHP_STREAM_OPTION_RETURN_ERR: i32 = -1;
634pub const PHP_STREAM_OPTION_RETURN_NOTIMPL: i32 = -2;
635pub const PHP_STREAM_MMAP_ALL: u32 = 0;
636pub const PHP_STREAM_AS_STDIO: u32 = 0;
637pub const PHP_STREAM_AS_FD: u32 = 1;
638pub const PHP_STREAM_AS_SOCKETD: u32 = 2;
639pub const PHP_STREAM_AS_FD_FOR_SELECT: u32 = 3;
640pub const PHP_STREAM_CAST_TRY_HARD: u32 = 2147483648;
641pub const PHP_STREAM_CAST_RELEASE: u32 = 1073741824;
642pub const PHP_STREAM_CAST_INTERNAL: u32 = 536870912;
643pub const PHP_STREAM_CAST_MASK: u32 = 3758096384;
644pub const PHP_STREAM_UNCHANGED: u32 = 0;
645pub const PHP_STREAM_RELEASED: u32 = 1;
646pub const PHP_STREAM_FAILED: u32 = 2;
647pub const PHP_STREAM_CRITICAL: u32 = 3;
648pub const PHP_STREAM_NO_PREFERENCE: u32 = 0;
649pub const PHP_STREAM_PREFER_STDIO: u32 = 1;
650pub const PHP_STREAM_FORCE_CONVERSION: u32 = 2;
651pub const PHP_STREAM_IS_URL: u32 = 1;
652pub const PHP_STREAM_META_TOUCH: u32 = 1;
653pub const PHP_STREAM_META_OWNER_NAME: u32 = 2;
654pub const PHP_STREAM_META_OWNER: u32 = 3;
655pub const PHP_STREAM_META_GROUP_NAME: u32 = 4;
656pub const PHP_STREAM_META_GROUP: u32 = 5;
657pub const PHP_STREAM_META_ACCESS: u32 = 6;
658pub const PHP_STREAM_MAX_MEM: u32 = 2097152;
659pub const PHP_DISPLAY_ERRORS_STDOUT: u32 = 1;
660pub const PHP_DISPLAY_ERRORS_STDERR: u32 = 2;
661pub const ZEND_INI_USER: u32 = 1;
662pub const ZEND_INI_PERDIR: u32 = 2;
663pub const ZEND_INI_SYSTEM: u32 = 4;
664pub const ZEND_INI_ALL: u32 = 7;
665pub const ZEND_INI_DISPLAY_ORIG: u32 = 1;
666pub const ZEND_INI_DISPLAY_ACTIVE: u32 = 2;
667pub const ZEND_INI_STAGE_STARTUP: u32 = 1;
668pub const ZEND_INI_STAGE_SHUTDOWN: u32 = 2;
669pub const ZEND_INI_STAGE_ACTIVATE: u32 = 4;
670pub const ZEND_INI_STAGE_DEACTIVATE: u32 = 8;
671pub const ZEND_INI_STAGE_RUNTIME: u32 = 16;
672pub const ZEND_INI_STAGE_HTACCESS: u32 = 32;
673pub const ZEND_INI_PARSER_ENTRY: u32 = 1;
674pub const ZEND_INI_PARSER_SECTION: u32 = 2;
675pub const ZEND_INI_PARSER_POP_ENTRY: u32 = 3;
676pub const PHP_INI_USER: u32 = 1;
677pub const PHP_INI_PERDIR: u32 = 2;
678pub const PHP_INI_SYSTEM: u32 = 4;
679pub const PHP_INI_ALL: u32 = 7;
680pub const PHP_INI_DISPLAY_ORIG: u32 = 1;
681pub const PHP_INI_DISPLAY_ACTIVE: u32 = 2;
682pub const PHP_INI_STAGE_STARTUP: u32 = 1;
683pub const PHP_INI_STAGE_SHUTDOWN: u32 = 2;
684pub const PHP_INI_STAGE_ACTIVATE: u32 = 4;
685pub const PHP_INI_STAGE_DEACTIVATE: u32 = 8;
686pub const PHP_INI_STAGE_RUNTIME: u32 = 16;
687pub const PHP_INI_STAGE_HTACCESS: u32 = 32;
688pub const PHP_CONNECTION_NORMAL: u32 = 0;
689pub const PHP_CONNECTION_ABORTED: u32 = 1;
690pub const PHP_CONNECTION_TIMEOUT: u32 = 2;
691pub const PHP_ENTRY_NAME_COLOR: &'static [u8; 8usize] = b"#ccccff\0";
692pub const PHP_CONTENTS_COLOR: &'static [u8; 8usize] = b"#cccccc\0";
693pub const PHP_HEADER_COLOR: &'static [u8; 8usize] = b"#9999cc\0";
694pub const PHP_INFO_GENERAL: u32 = 1;
695pub const PHP_INFO_CREDITS: u32 = 2;
696pub const PHP_INFO_CONFIGURATION: u32 = 4;
697pub const PHP_INFO_MODULES: u32 = 8;
698pub const PHP_INFO_ENVIRONMENT: u32 = 16;
699pub const PHP_INFO_VARIABLES: u32 = 32;
700pub const PHP_INFO_LICENSE: u32 = 64;
701pub const PHP_INFO_ALL: u32 = 4294967295;
702pub const PHP_CREDITS_GROUP: u32 = 1;
703pub const PHP_CREDITS_GENERAL: u32 = 2;
704pub const PHP_CREDITS_SAPI: u32 = 4;
705pub const PHP_CREDITS_MODULES: u32 = 8;
706pub const PHP_CREDITS_DOCS: u32 = 16;
707pub const PHP_CREDITS_FULLPAGE: u32 = 32;
708pub const PHP_CREDITS_QA: u32 = 64;
709pub const PHP_CREDITS_WEB: u32 = 128;
710pub const PHP_CREDITS_ALL: u32 = 4294967295;
711pub const PHP_LOGO_GUID: &'static [u8; 40usize] = b"PHPE9568F34-D428-11d2-A769-00AA001ACF42\0";
712pub const PHP_EGG_LOGO_GUID: &'static [u8; 40usize] = b"PHPE9568F36-D428-11d2-A769-00AA001ACF42\0";
713pub const ZEND_LOGO_GUID: &'static [u8; 40usize] = b"PHPE9568F35-D428-11d2-A769-00AA001ACF42\0";
714pub const PHP_CREDITS_GUID: &'static [u8; 40usize] = b"PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000\0";
715pub const ZEND_EXTENSION_API_NO: u32 = 220100525;
716pub const ZEND_EXTMSG_NEW_EXTENSION: u32 = 1;
717pub type size_t = ::std::os::raw::c_ulong;
718pub type __dev_t = ::std::os::raw::c_ulong;
719pub type __uid_t = ::std::os::raw::c_uint;
720pub type __gid_t = ::std::os::raw::c_uint;
721pub type __ino_t = ::std::os::raw::c_ulong;
722pub type __mode_t = ::std::os::raw::c_uint;
723pub type __nlink_t = ::std::os::raw::c_ulong;
724pub type __off_t = ::std::os::raw::c_long;
725pub type __off64_t = ::std::os::raw::c_long;
726pub type __time_t = ::std::os::raw::c_long;
727pub type __suseconds_t = ::std::os::raw::c_long;
728pub type __blksize_t = ::std::os::raw::c_long;
729pub type __blkcnt_t = ::std::os::raw::c_long;
730pub type __syscall_slong_t = ::std::os::raw::c_long;
731pub type __socklen_t = ::std::os::raw::c_uint;
732pub type off_t = __off_t;
733pub type time_t = __time_t;
734pub type ulong = ::std::os::raw::c_ulong;
735pub type uint = ::std::os::raw::c_uint;
736#[repr(C)]
737#[derive(Debug, Copy, Clone)]
738pub struct __sigset_t {
739    pub __val: [::std::os::raw::c_ulong; 16usize],
740}
741#[test]
742fn bindgen_test_layout___sigset_t() {
743    assert_eq!(
744        ::std::mem::size_of::<__sigset_t>(),
745        128usize,
746        concat!("Size of: ", stringify!(__sigset_t))
747    );
748    assert_eq!(
749        ::std::mem::align_of::<__sigset_t>(),
750        8usize,
751        concat!("Alignment of ", stringify!(__sigset_t))
752    );
753    assert_eq!(
754        unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
755        0usize,
756        concat!(
757            "Offset of field: ",
758            stringify!(__sigset_t),
759            "::",
760            stringify!(__val)
761        )
762    );
763}
764#[repr(C)]
765#[derive(Debug, Copy, Clone)]
766pub struct timeval {
767    pub tv_sec: __time_t,
768    pub tv_usec: __suseconds_t,
769}
770#[test]
771fn bindgen_test_layout_timeval() {
772    assert_eq!(
773        ::std::mem::size_of::<timeval>(),
774        16usize,
775        concat!("Size of: ", stringify!(timeval))
776    );
777    assert_eq!(
778        ::std::mem::align_of::<timeval>(),
779        8usize,
780        concat!("Alignment of ", stringify!(timeval))
781    );
782    assert_eq!(
783        unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
784        0usize,
785        concat!(
786            "Offset of field: ",
787            stringify!(timeval),
788            "::",
789            stringify!(tv_sec)
790        )
791    );
792    assert_eq!(
793        unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
794        8usize,
795        concat!(
796            "Offset of field: ",
797            stringify!(timeval),
798            "::",
799            stringify!(tv_usec)
800        )
801    );
802}
803#[repr(C)]
804#[derive(Debug, Copy, Clone)]
805pub struct timespec {
806    pub tv_sec: __time_t,
807    pub tv_nsec: __syscall_slong_t,
808}
809#[test]
810fn bindgen_test_layout_timespec() {
811    assert_eq!(
812        ::std::mem::size_of::<timespec>(),
813        16usize,
814        concat!("Size of: ", stringify!(timespec))
815    );
816    assert_eq!(
817        ::std::mem::align_of::<timespec>(),
818        8usize,
819        concat!("Alignment of ", stringify!(timespec))
820    );
821    assert_eq!(
822        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
823        0usize,
824        concat!(
825            "Offset of field: ",
826            stringify!(timespec),
827            "::",
828            stringify!(tv_sec)
829        )
830    );
831    assert_eq!(
832        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
833        8usize,
834        concat!(
835            "Offset of field: ",
836            stringify!(timespec),
837            "::",
838            stringify!(tv_nsec)
839        )
840    );
841}
842pub type va_list = __builtin_va_list;
843pub type FILE = _IO_FILE;
844#[repr(C)]
845#[derive(Debug, Copy, Clone)]
846pub struct _IO_marker {
847    _unused: [u8; 0],
848}
849#[repr(C)]
850#[derive(Debug, Copy, Clone)]
851pub struct _IO_codecvt {
852    _unused: [u8; 0],
853}
854#[repr(C)]
855#[derive(Debug, Copy, Clone)]
856pub struct _IO_wide_data {
857    _unused: [u8; 0],
858}
859pub type _IO_lock_t = ::std::os::raw::c_void;
860#[repr(C)]
861#[derive(Debug, Copy, Clone)]
862pub struct _IO_FILE {
863    pub _flags: ::std::os::raw::c_int,
864    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
865    pub _IO_read_end: *mut ::std::os::raw::c_char,
866    pub _IO_read_base: *mut ::std::os::raw::c_char,
867    pub _IO_write_base: *mut ::std::os::raw::c_char,
868    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
869    pub _IO_write_end: *mut ::std::os::raw::c_char,
870    pub _IO_buf_base: *mut ::std::os::raw::c_char,
871    pub _IO_buf_end: *mut ::std::os::raw::c_char,
872    pub _IO_save_base: *mut ::std::os::raw::c_char,
873    pub _IO_backup_base: *mut ::std::os::raw::c_char,
874    pub _IO_save_end: *mut ::std::os::raw::c_char,
875    pub _markers: *mut _IO_marker,
876    pub _chain: *mut _IO_FILE,
877    pub _fileno: ::std::os::raw::c_int,
878    pub _flags2: ::std::os::raw::c_int,
879    pub _old_offset: __off_t,
880    pub _cur_column: ::std::os::raw::c_ushort,
881    pub _vtable_offset: ::std::os::raw::c_schar,
882    pub _shortbuf: [::std::os::raw::c_char; 1usize],
883    pub _lock: *mut _IO_lock_t,
884    pub _offset: __off64_t,
885    pub _codecvt: *mut _IO_codecvt,
886    pub _wide_data: *mut _IO_wide_data,
887    pub _freeres_list: *mut _IO_FILE,
888    pub _freeres_buf: *mut ::std::os::raw::c_void,
889    pub __pad5: size_t,
890    pub _mode: ::std::os::raw::c_int,
891    pub _unused2: [::std::os::raw::c_char; 20usize],
892}
893#[test]
894fn bindgen_test_layout__IO_FILE() {
895    assert_eq!(
896        ::std::mem::size_of::<_IO_FILE>(),
897        216usize,
898        concat!("Size of: ", stringify!(_IO_FILE))
899    );
900    assert_eq!(
901        ::std::mem::align_of::<_IO_FILE>(),
902        8usize,
903        concat!("Alignment of ", stringify!(_IO_FILE))
904    );
905    assert_eq!(
906        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
907        0usize,
908        concat!(
909            "Offset of field: ",
910            stringify!(_IO_FILE),
911            "::",
912            stringify!(_flags)
913        )
914    );
915    assert_eq!(
916        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
917        8usize,
918        concat!(
919            "Offset of field: ",
920            stringify!(_IO_FILE),
921            "::",
922            stringify!(_IO_read_ptr)
923        )
924    );
925    assert_eq!(
926        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
927        16usize,
928        concat!(
929            "Offset of field: ",
930            stringify!(_IO_FILE),
931            "::",
932            stringify!(_IO_read_end)
933        )
934    );
935    assert_eq!(
936        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
937        24usize,
938        concat!(
939            "Offset of field: ",
940            stringify!(_IO_FILE),
941            "::",
942            stringify!(_IO_read_base)
943        )
944    );
945    assert_eq!(
946        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
947        32usize,
948        concat!(
949            "Offset of field: ",
950            stringify!(_IO_FILE),
951            "::",
952            stringify!(_IO_write_base)
953        )
954    );
955    assert_eq!(
956        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
957        40usize,
958        concat!(
959            "Offset of field: ",
960            stringify!(_IO_FILE),
961            "::",
962            stringify!(_IO_write_ptr)
963        )
964    );
965    assert_eq!(
966        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
967        48usize,
968        concat!(
969            "Offset of field: ",
970            stringify!(_IO_FILE),
971            "::",
972            stringify!(_IO_write_end)
973        )
974    );
975    assert_eq!(
976        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
977        56usize,
978        concat!(
979            "Offset of field: ",
980            stringify!(_IO_FILE),
981            "::",
982            stringify!(_IO_buf_base)
983        )
984    );
985    assert_eq!(
986        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
987        64usize,
988        concat!(
989            "Offset of field: ",
990            stringify!(_IO_FILE),
991            "::",
992            stringify!(_IO_buf_end)
993        )
994    );
995    assert_eq!(
996        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
997        72usize,
998        concat!(
999            "Offset of field: ",
1000            stringify!(_IO_FILE),
1001            "::",
1002            stringify!(_IO_save_base)
1003        )
1004    );
1005    assert_eq!(
1006        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
1007        80usize,
1008        concat!(
1009            "Offset of field: ",
1010            stringify!(_IO_FILE),
1011            "::",
1012            stringify!(_IO_backup_base)
1013        )
1014    );
1015    assert_eq!(
1016        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
1017        88usize,
1018        concat!(
1019            "Offset of field: ",
1020            stringify!(_IO_FILE),
1021            "::",
1022            stringify!(_IO_save_end)
1023        )
1024    );
1025    assert_eq!(
1026        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
1027        96usize,
1028        concat!(
1029            "Offset of field: ",
1030            stringify!(_IO_FILE),
1031            "::",
1032            stringify!(_markers)
1033        )
1034    );
1035    assert_eq!(
1036        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
1037        104usize,
1038        concat!(
1039            "Offset of field: ",
1040            stringify!(_IO_FILE),
1041            "::",
1042            stringify!(_chain)
1043        )
1044    );
1045    assert_eq!(
1046        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
1047        112usize,
1048        concat!(
1049            "Offset of field: ",
1050            stringify!(_IO_FILE),
1051            "::",
1052            stringify!(_fileno)
1053        )
1054    );
1055    assert_eq!(
1056        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
1057        116usize,
1058        concat!(
1059            "Offset of field: ",
1060            stringify!(_IO_FILE),
1061            "::",
1062            stringify!(_flags2)
1063        )
1064    );
1065    assert_eq!(
1066        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
1067        120usize,
1068        concat!(
1069            "Offset of field: ",
1070            stringify!(_IO_FILE),
1071            "::",
1072            stringify!(_old_offset)
1073        )
1074    );
1075    assert_eq!(
1076        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
1077        128usize,
1078        concat!(
1079            "Offset of field: ",
1080            stringify!(_IO_FILE),
1081            "::",
1082            stringify!(_cur_column)
1083        )
1084    );
1085    assert_eq!(
1086        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
1087        130usize,
1088        concat!(
1089            "Offset of field: ",
1090            stringify!(_IO_FILE),
1091            "::",
1092            stringify!(_vtable_offset)
1093        )
1094    );
1095    assert_eq!(
1096        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
1097        131usize,
1098        concat!(
1099            "Offset of field: ",
1100            stringify!(_IO_FILE),
1101            "::",
1102            stringify!(_shortbuf)
1103        )
1104    );
1105    assert_eq!(
1106        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
1107        136usize,
1108        concat!(
1109            "Offset of field: ",
1110            stringify!(_IO_FILE),
1111            "::",
1112            stringify!(_lock)
1113        )
1114    );
1115    assert_eq!(
1116        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
1117        144usize,
1118        concat!(
1119            "Offset of field: ",
1120            stringify!(_IO_FILE),
1121            "::",
1122            stringify!(_offset)
1123        )
1124    );
1125    assert_eq!(
1126        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
1127        152usize,
1128        concat!(
1129            "Offset of field: ",
1130            stringify!(_IO_FILE),
1131            "::",
1132            stringify!(_codecvt)
1133        )
1134    );
1135    assert_eq!(
1136        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
1137        160usize,
1138        concat!(
1139            "Offset of field: ",
1140            stringify!(_IO_FILE),
1141            "::",
1142            stringify!(_wide_data)
1143        )
1144    );
1145    assert_eq!(
1146        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
1147        168usize,
1148        concat!(
1149            "Offset of field: ",
1150            stringify!(_IO_FILE),
1151            "::",
1152            stringify!(_freeres_list)
1153        )
1154    );
1155    assert_eq!(
1156        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
1157        176usize,
1158        concat!(
1159            "Offset of field: ",
1160            stringify!(_IO_FILE),
1161            "::",
1162            stringify!(_freeres_buf)
1163        )
1164    );
1165    assert_eq!(
1166        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
1167        184usize,
1168        concat!(
1169            "Offset of field: ",
1170            stringify!(_IO_FILE),
1171            "::",
1172            stringify!(__pad5)
1173        )
1174    );
1175    assert_eq!(
1176        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
1177        192usize,
1178        concat!(
1179            "Offset of field: ",
1180            stringify!(_IO_FILE),
1181            "::",
1182            stringify!(_mode)
1183        )
1184    );
1185    assert_eq!(
1186        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
1187        196usize,
1188        concat!(
1189            "Offset of field: ",
1190            stringify!(_IO_FILE),
1191            "::",
1192            stringify!(_unused2)
1193        )
1194    );
1195}
1196#[repr(C)]
1197#[derive(Debug, Copy, Clone)]
1198pub struct _zend_leak_info {
1199    pub addr: *mut ::std::os::raw::c_void,
1200    pub size: size_t,
1201    pub filename: *const ::std::os::raw::c_char,
1202    pub lineno: uint,
1203    pub orig_filename: *const ::std::os::raw::c_char,
1204    pub orig_lineno: uint,
1205}
1206#[test]
1207fn bindgen_test_layout__zend_leak_info() {
1208    assert_eq!(
1209        ::std::mem::size_of::<_zend_leak_info>(),
1210        48usize,
1211        concat!("Size of: ", stringify!(_zend_leak_info))
1212    );
1213    assert_eq!(
1214        ::std::mem::align_of::<_zend_leak_info>(),
1215        8usize,
1216        concat!("Alignment of ", stringify!(_zend_leak_info))
1217    );
1218    assert_eq!(
1219        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).addr as *const _ as usize },
1220        0usize,
1221        concat!(
1222            "Offset of field: ",
1223            stringify!(_zend_leak_info),
1224            "::",
1225            stringify!(addr)
1226        )
1227    );
1228    assert_eq!(
1229        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).size as *const _ as usize },
1230        8usize,
1231        concat!(
1232            "Offset of field: ",
1233            stringify!(_zend_leak_info),
1234            "::",
1235            stringify!(size)
1236        )
1237    );
1238    assert_eq!(
1239        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).filename as *const _ as usize },
1240        16usize,
1241        concat!(
1242            "Offset of field: ",
1243            stringify!(_zend_leak_info),
1244            "::",
1245            stringify!(filename)
1246        )
1247    );
1248    assert_eq!(
1249        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).lineno as *const _ as usize },
1250        24usize,
1251        concat!(
1252            "Offset of field: ",
1253            stringify!(_zend_leak_info),
1254            "::",
1255            stringify!(lineno)
1256        )
1257    );
1258    assert_eq!(
1259        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).orig_filename as *const _ as usize },
1260        32usize,
1261        concat!(
1262            "Offset of field: ",
1263            stringify!(_zend_leak_info),
1264            "::",
1265            stringify!(orig_filename)
1266        )
1267    );
1268    assert_eq!(
1269        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).orig_lineno as *const _ as usize },
1270        40usize,
1271        concat!(
1272            "Offset of field: ",
1273            stringify!(_zend_leak_info),
1274            "::",
1275            stringify!(orig_lineno)
1276        )
1277    );
1278}
1279pub type zend_leak_info = _zend_leak_info;
1280extern "C" {
1281    pub fn zend_strndup(
1282        s: *const ::std::os::raw::c_char,
1283        length: ::std::os::raw::c_uint,
1284    ) -> *mut ::std::os::raw::c_char;
1285}
1286extern "C" {
1287    pub fn _zend_mem_block_size(ptr: *mut ::std::os::raw::c_void) -> size_t;
1288}
1289extern "C" {
1290    pub fn zend_set_memory_limit(memory_limit: size_t) -> ::std::os::raw::c_int;
1291}
1292extern "C" {
1293    pub fn zend_memory_usage(real_usage: ::std::os::raw::c_int) -> size_t;
1294}
1295extern "C" {
1296    pub fn zend_memory_peak_usage(real_usage: ::std::os::raw::c_int) -> size_t;
1297}
1298#[repr(C)]
1299#[derive(Debug, Copy, Clone)]
1300pub struct _zend_mm_heap {
1301    _unused: [u8; 0],
1302}
1303pub type zend_mm_heap = _zend_mm_heap;
1304extern "C" {
1305    pub fn zend_mm_startup() -> *mut zend_mm_heap;
1306}
1307extern "C" {
1308    pub fn zend_mm_shutdown(
1309        heap: *mut zend_mm_heap,
1310        full_shutdown: ::std::os::raw::c_int,
1311        silent: ::std::os::raw::c_int,
1312    );
1313}
1314extern "C" {
1315    pub fn _zend_mm_alloc(heap: *mut zend_mm_heap, size: size_t) -> *mut ::std::os::raw::c_void;
1316}
1317extern "C" {
1318    pub fn _zend_mm_free(heap: *mut zend_mm_heap, p: *mut ::std::os::raw::c_void);
1319}
1320extern "C" {
1321    pub fn _zend_mm_realloc(
1322        heap: *mut zend_mm_heap,
1323        p: *mut ::std::os::raw::c_void,
1324        size: size_t,
1325    ) -> *mut ::std::os::raw::c_void;
1326}
1327extern "C" {
1328    pub fn _zend_mm_block_size(heap: *mut zend_mm_heap, p: *mut ::std::os::raw::c_void) -> size_t;
1329}
1330pub type zend_mm_storage = _zend_mm_storage;
1331#[repr(C)]
1332#[derive(Debug, Copy, Clone)]
1333pub struct _zend_mm_segment {
1334    pub size: size_t,
1335    pub next_segment: *mut _zend_mm_segment,
1336}
1337#[test]
1338fn bindgen_test_layout__zend_mm_segment() {
1339    assert_eq!(
1340        ::std::mem::size_of::<_zend_mm_segment>(),
1341        16usize,
1342        concat!("Size of: ", stringify!(_zend_mm_segment))
1343    );
1344    assert_eq!(
1345        ::std::mem::align_of::<_zend_mm_segment>(),
1346        8usize,
1347        concat!("Alignment of ", stringify!(_zend_mm_segment))
1348    );
1349    assert_eq!(
1350        unsafe { &(*(::std::ptr::null::<_zend_mm_segment>())).size as *const _ as usize },
1351        0usize,
1352        concat!(
1353            "Offset of field: ",
1354            stringify!(_zend_mm_segment),
1355            "::",
1356            stringify!(size)
1357        )
1358    );
1359    assert_eq!(
1360        unsafe { &(*(::std::ptr::null::<_zend_mm_segment>())).next_segment as *const _ as usize },
1361        8usize,
1362        concat!(
1363            "Offset of field: ",
1364            stringify!(_zend_mm_segment),
1365            "::",
1366            stringify!(next_segment)
1367        )
1368    );
1369}
1370pub type zend_mm_segment = _zend_mm_segment;
1371#[repr(C)]
1372#[derive(Debug, Copy, Clone)]
1373pub struct _zend_mm_mem_handlers {
1374    pub name: *const ::std::os::raw::c_char,
1375    pub init: ::std::option::Option<
1376        unsafe extern "C" fn(params: *mut ::std::os::raw::c_void) -> *mut zend_mm_storage,
1377    >,
1378    pub dtor: ::std::option::Option<unsafe extern "C" fn(storage: *mut zend_mm_storage)>,
1379    pub compact: ::std::option::Option<unsafe extern "C" fn(storage: *mut zend_mm_storage)>,
1380    pub _alloc: ::std::option::Option<
1381        unsafe extern "C" fn(storage: *mut zend_mm_storage, size: size_t) -> *mut zend_mm_segment,
1382    >,
1383    pub _realloc: ::std::option::Option<
1384        unsafe extern "C" fn(
1385            storage: *mut zend_mm_storage,
1386            ptr: *mut zend_mm_segment,
1387            size: size_t,
1388        ) -> *mut zend_mm_segment,
1389    >,
1390    pub _free: ::std::option::Option<
1391        unsafe extern "C" fn(storage: *mut zend_mm_storage, ptr: *mut zend_mm_segment),
1392    >,
1393}
1394#[test]
1395fn bindgen_test_layout__zend_mm_mem_handlers() {
1396    assert_eq!(
1397        ::std::mem::size_of::<_zend_mm_mem_handlers>(),
1398        56usize,
1399        concat!("Size of: ", stringify!(_zend_mm_mem_handlers))
1400    );
1401    assert_eq!(
1402        ::std::mem::align_of::<_zend_mm_mem_handlers>(),
1403        8usize,
1404        concat!("Alignment of ", stringify!(_zend_mm_mem_handlers))
1405    );
1406    assert_eq!(
1407        unsafe { &(*(::std::ptr::null::<_zend_mm_mem_handlers>())).name as *const _ as usize },
1408        0usize,
1409        concat!(
1410            "Offset of field: ",
1411            stringify!(_zend_mm_mem_handlers),
1412            "::",
1413            stringify!(name)
1414        )
1415    );
1416    assert_eq!(
1417        unsafe { &(*(::std::ptr::null::<_zend_mm_mem_handlers>())).init as *const _ as usize },
1418        8usize,
1419        concat!(
1420            "Offset of field: ",
1421            stringify!(_zend_mm_mem_handlers),
1422            "::",
1423            stringify!(init)
1424        )
1425    );
1426    assert_eq!(
1427        unsafe { &(*(::std::ptr::null::<_zend_mm_mem_handlers>())).dtor as *const _ as usize },
1428        16usize,
1429        concat!(
1430            "Offset of field: ",
1431            stringify!(_zend_mm_mem_handlers),
1432            "::",
1433            stringify!(dtor)
1434        )
1435    );
1436    assert_eq!(
1437        unsafe { &(*(::std::ptr::null::<_zend_mm_mem_handlers>())).compact as *const _ as usize },
1438        24usize,
1439        concat!(
1440            "Offset of field: ",
1441            stringify!(_zend_mm_mem_handlers),
1442            "::",
1443            stringify!(compact)
1444        )
1445    );
1446    assert_eq!(
1447        unsafe { &(*(::std::ptr::null::<_zend_mm_mem_handlers>()))._alloc as *const _ as usize },
1448        32usize,
1449        concat!(
1450            "Offset of field: ",
1451            stringify!(_zend_mm_mem_handlers),
1452            "::",
1453            stringify!(_alloc)
1454        )
1455    );
1456    assert_eq!(
1457        unsafe { &(*(::std::ptr::null::<_zend_mm_mem_handlers>()))._realloc as *const _ as usize },
1458        40usize,
1459        concat!(
1460            "Offset of field: ",
1461            stringify!(_zend_mm_mem_handlers),
1462            "::",
1463            stringify!(_realloc)
1464        )
1465    );
1466    assert_eq!(
1467        unsafe { &(*(::std::ptr::null::<_zend_mm_mem_handlers>()))._free as *const _ as usize },
1468        48usize,
1469        concat!(
1470            "Offset of field: ",
1471            stringify!(_zend_mm_mem_handlers),
1472            "::",
1473            stringify!(_free)
1474        )
1475    );
1476}
1477pub type zend_mm_mem_handlers = _zend_mm_mem_handlers;
1478#[repr(C)]
1479#[derive(Debug, Copy, Clone)]
1480pub struct _zend_mm_storage {
1481    pub handlers: *const zend_mm_mem_handlers,
1482    pub data: *mut ::std::os::raw::c_void,
1483}
1484#[test]
1485fn bindgen_test_layout__zend_mm_storage() {
1486    assert_eq!(
1487        ::std::mem::size_of::<_zend_mm_storage>(),
1488        16usize,
1489        concat!("Size of: ", stringify!(_zend_mm_storage))
1490    );
1491    assert_eq!(
1492        ::std::mem::align_of::<_zend_mm_storage>(),
1493        8usize,
1494        concat!("Alignment of ", stringify!(_zend_mm_storage))
1495    );
1496    assert_eq!(
1497        unsafe { &(*(::std::ptr::null::<_zend_mm_storage>())).handlers as *const _ as usize },
1498        0usize,
1499        concat!(
1500            "Offset of field: ",
1501            stringify!(_zend_mm_storage),
1502            "::",
1503            stringify!(handlers)
1504        )
1505    );
1506    assert_eq!(
1507        unsafe { &(*(::std::ptr::null::<_zend_mm_storage>())).data as *const _ as usize },
1508        8usize,
1509        concat!(
1510            "Offset of field: ",
1511            stringify!(_zend_mm_storage),
1512            "::",
1513            stringify!(data)
1514        )
1515    );
1516}
1517extern "C" {
1518    pub fn zend_mm_startup_ex(
1519        handlers: *const zend_mm_mem_handlers,
1520        block_size: size_t,
1521        reserve_size: size_t,
1522        internal: ::std::os::raw::c_int,
1523        params: *mut ::std::os::raw::c_void,
1524    ) -> *mut zend_mm_heap;
1525}
1526extern "C" {
1527    pub fn zend_mm_set_heap(new_heap: *mut zend_mm_heap) -> *mut zend_mm_heap;
1528}
1529extern "C" {
1530    pub fn zend_mm_get_storage(heap: *mut zend_mm_heap) -> *mut zend_mm_storage;
1531}
1532extern "C" {
1533    pub fn zend_mm_set_custom_handlers(
1534        heap: *mut zend_mm_heap,
1535        _malloc: ::std::option::Option<
1536            unsafe extern "C" fn(arg1: size_t) -> *mut ::std::os::raw::c_void,
1537        >,
1538        _free: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
1539        _realloc: ::std::option::Option<
1540            unsafe extern "C" fn(
1541                arg1: *mut ::std::os::raw::c_void,
1542                arg2: size_t,
1543            ) -> *mut ::std::os::raw::c_void,
1544        >,
1545    );
1546}
1547pub type zend_bool = ::std::os::raw::c_uchar;
1548pub type zend_uchar = ::std::os::raw::c_uchar;
1549pub type zend_uint = ::std::os::raw::c_uint;
1550pub type zend_ulong = ::std::os::raw::c_ulong;
1551pub type zend_ushort = ::std::os::raw::c_ushort;
1552pub type zend_long64 = ::std::os::raw::c_longlong;
1553pub type zend_ulong64 = ::std::os::raw::c_ulonglong;
1554pub type zend_intptr_t = ::std::os::raw::c_long;
1555pub type zend_uintptr_t = ::std::os::raw::c_ulong;
1556pub type zend_object_handle = ::std::os::raw::c_uint;
1557pub type zend_object_handlers = _zend_object_handlers;
1558#[repr(C)]
1559#[derive(Debug, Copy, Clone)]
1560pub struct _zend_object_value {
1561    pub handle: zend_object_handle,
1562    pub handlers: *const zend_object_handlers,
1563}
1564#[test]
1565fn bindgen_test_layout__zend_object_value() {
1566    assert_eq!(
1567        ::std::mem::size_of::<_zend_object_value>(),
1568        16usize,
1569        concat!("Size of: ", stringify!(_zend_object_value))
1570    );
1571    assert_eq!(
1572        ::std::mem::align_of::<_zend_object_value>(),
1573        8usize,
1574        concat!("Alignment of ", stringify!(_zend_object_value))
1575    );
1576    assert_eq!(
1577        unsafe { &(*(::std::ptr::null::<_zend_object_value>())).handle as *const _ as usize },
1578        0usize,
1579        concat!(
1580            "Offset of field: ",
1581            stringify!(_zend_object_value),
1582            "::",
1583            stringify!(handle)
1584        )
1585    );
1586    assert_eq!(
1587        unsafe { &(*(::std::ptr::null::<_zend_object_value>())).handlers as *const _ as usize },
1588        8usize,
1589        concat!(
1590            "Offset of field: ",
1591            stringify!(_zend_object_value),
1592            "::",
1593            stringify!(handlers)
1594        )
1595    );
1596}
1597pub type zend_object_value = _zend_object_value;
1598extern "C" {
1599    pub static mut zend_new_interned_string: ::std::option::Option<
1600        unsafe extern "C" fn(
1601            str_: *const ::std::os::raw::c_char,
1602            len: ::std::os::raw::c_int,
1603            free_src: ::std::os::raw::c_int,
1604        ) -> *const ::std::os::raw::c_char,
1605    >;
1606}
1607extern "C" {
1608    pub static mut zend_interned_strings_snapshot: ::std::option::Option<unsafe extern "C" fn()>;
1609}
1610extern "C" {
1611    pub static mut zend_interned_strings_restore: ::std::option::Option<unsafe extern "C" fn()>;
1612}
1613extern "C" {
1614    pub fn zend_interned_strings_init();
1615}
1616extern "C" {
1617    pub fn zend_interned_strings_dtor();
1618}
1619pub type hash_func_t = ::std::option::Option<
1620    unsafe extern "C" fn(arKey: *const ::std::os::raw::c_char, nKeyLength: uint) -> ulong,
1621>;
1622pub type compare_func_t = ::std::option::Option<
1623    unsafe extern "C" fn(
1624        arg1: *const ::std::os::raw::c_void,
1625        arg2: *const ::std::os::raw::c_void,
1626    ) -> ::std::os::raw::c_int,
1627>;
1628pub type sort_func_t = ::std::option::Option<
1629    unsafe extern "C" fn(
1630        arg1: *mut ::std::os::raw::c_void,
1631        arg2: size_t,
1632        arg3: size_t,
1633        arg4: compare_func_t,
1634    ),
1635>;
1636pub type dtor_func_t =
1637    ::std::option::Option<unsafe extern "C" fn(pDest: *mut ::std::os::raw::c_void)>;
1638pub type copy_ctor_func_t =
1639    ::std::option::Option<unsafe extern "C" fn(pElement: *mut ::std::os::raw::c_void)>;
1640#[repr(C)]
1641#[derive(Debug, Copy, Clone)]
1642pub struct bucket {
1643    pub h: ulong,
1644    pub nKeyLength: uint,
1645    pub pData: *mut ::std::os::raw::c_void,
1646    pub pDataPtr: *mut ::std::os::raw::c_void,
1647    pub pListNext: *mut bucket,
1648    pub pListLast: *mut bucket,
1649    pub pNext: *mut bucket,
1650    pub pLast: *mut bucket,
1651    pub arKey: *const ::std::os::raw::c_char,
1652}
1653#[test]
1654fn bindgen_test_layout_bucket() {
1655    assert_eq!(
1656        ::std::mem::size_of::<bucket>(),
1657        72usize,
1658        concat!("Size of: ", stringify!(bucket))
1659    );
1660    assert_eq!(
1661        ::std::mem::align_of::<bucket>(),
1662        8usize,
1663        concat!("Alignment of ", stringify!(bucket))
1664    );
1665    assert_eq!(
1666        unsafe { &(*(::std::ptr::null::<bucket>())).h as *const _ as usize },
1667        0usize,
1668        concat!("Offset of field: ", stringify!(bucket), "::", stringify!(h))
1669    );
1670    assert_eq!(
1671        unsafe { &(*(::std::ptr::null::<bucket>())).nKeyLength as *const _ as usize },
1672        8usize,
1673        concat!(
1674            "Offset of field: ",
1675            stringify!(bucket),
1676            "::",
1677            stringify!(nKeyLength)
1678        )
1679    );
1680    assert_eq!(
1681        unsafe { &(*(::std::ptr::null::<bucket>())).pData as *const _ as usize },
1682        16usize,
1683        concat!(
1684            "Offset of field: ",
1685            stringify!(bucket),
1686            "::",
1687            stringify!(pData)
1688        )
1689    );
1690    assert_eq!(
1691        unsafe { &(*(::std::ptr::null::<bucket>())).pDataPtr as *const _ as usize },
1692        24usize,
1693        concat!(
1694            "Offset of field: ",
1695            stringify!(bucket),
1696            "::",
1697            stringify!(pDataPtr)
1698        )
1699    );
1700    assert_eq!(
1701        unsafe { &(*(::std::ptr::null::<bucket>())).pListNext as *const _ as usize },
1702        32usize,
1703        concat!(
1704            "Offset of field: ",
1705            stringify!(bucket),
1706            "::",
1707            stringify!(pListNext)
1708        )
1709    );
1710    assert_eq!(
1711        unsafe { &(*(::std::ptr::null::<bucket>())).pListLast as *const _ as usize },
1712        40usize,
1713        concat!(
1714            "Offset of field: ",
1715            stringify!(bucket),
1716            "::",
1717            stringify!(pListLast)
1718        )
1719    );
1720    assert_eq!(
1721        unsafe { &(*(::std::ptr::null::<bucket>())).pNext as *const _ as usize },
1722        48usize,
1723        concat!(
1724            "Offset of field: ",
1725            stringify!(bucket),
1726            "::",
1727            stringify!(pNext)
1728        )
1729    );
1730    assert_eq!(
1731        unsafe { &(*(::std::ptr::null::<bucket>())).pLast as *const _ as usize },
1732        56usize,
1733        concat!(
1734            "Offset of field: ",
1735            stringify!(bucket),
1736            "::",
1737            stringify!(pLast)
1738        )
1739    );
1740    assert_eq!(
1741        unsafe { &(*(::std::ptr::null::<bucket>())).arKey as *const _ as usize },
1742        64usize,
1743        concat!(
1744            "Offset of field: ",
1745            stringify!(bucket),
1746            "::",
1747            stringify!(arKey)
1748        )
1749    );
1750}
1751pub type Bucket = bucket;
1752#[repr(C)]
1753#[derive(Debug, Copy, Clone)]
1754pub struct _hashtable {
1755    pub nTableSize: uint,
1756    pub nTableMask: uint,
1757    pub nNumOfElements: uint,
1758    pub nNextFreeElement: ulong,
1759    pub pInternalPointer: *mut Bucket,
1760    pub pListHead: *mut Bucket,
1761    pub pListTail: *mut Bucket,
1762    pub arBuckets: *mut *mut Bucket,
1763    pub pDestructor: dtor_func_t,
1764    pub persistent: zend_bool,
1765    pub nApplyCount: ::std::os::raw::c_uchar,
1766    pub bApplyProtection: zend_bool,
1767}
1768#[test]
1769fn bindgen_test_layout__hashtable() {
1770    assert_eq!(
1771        ::std::mem::size_of::<_hashtable>(),
1772        72usize,
1773        concat!("Size of: ", stringify!(_hashtable))
1774    );
1775    assert_eq!(
1776        ::std::mem::align_of::<_hashtable>(),
1777        8usize,
1778        concat!("Alignment of ", stringify!(_hashtable))
1779    );
1780    assert_eq!(
1781        unsafe { &(*(::std::ptr::null::<_hashtable>())).nTableSize as *const _ as usize },
1782        0usize,
1783        concat!(
1784            "Offset of field: ",
1785            stringify!(_hashtable),
1786            "::",
1787            stringify!(nTableSize)
1788        )
1789    );
1790    assert_eq!(
1791        unsafe { &(*(::std::ptr::null::<_hashtable>())).nTableMask as *const _ as usize },
1792        4usize,
1793        concat!(
1794            "Offset of field: ",
1795            stringify!(_hashtable),
1796            "::",
1797            stringify!(nTableMask)
1798        )
1799    );
1800    assert_eq!(
1801        unsafe { &(*(::std::ptr::null::<_hashtable>())).nNumOfElements as *const _ as usize },
1802        8usize,
1803        concat!(
1804            "Offset of field: ",
1805            stringify!(_hashtable),
1806            "::",
1807            stringify!(nNumOfElements)
1808        )
1809    );
1810    assert_eq!(
1811        unsafe { &(*(::std::ptr::null::<_hashtable>())).nNextFreeElement as *const _ as usize },
1812        16usize,
1813        concat!(
1814            "Offset of field: ",
1815            stringify!(_hashtable),
1816            "::",
1817            stringify!(nNextFreeElement)
1818        )
1819    );
1820    assert_eq!(
1821        unsafe { &(*(::std::ptr::null::<_hashtable>())).pInternalPointer as *const _ as usize },
1822        24usize,
1823        concat!(
1824            "Offset of field: ",
1825            stringify!(_hashtable),
1826            "::",
1827            stringify!(pInternalPointer)
1828        )
1829    );
1830    assert_eq!(
1831        unsafe { &(*(::std::ptr::null::<_hashtable>())).pListHead as *const _ as usize },
1832        32usize,
1833        concat!(
1834            "Offset of field: ",
1835            stringify!(_hashtable),
1836            "::",
1837            stringify!(pListHead)
1838        )
1839    );
1840    assert_eq!(
1841        unsafe { &(*(::std::ptr::null::<_hashtable>())).pListTail as *const _ as usize },
1842        40usize,
1843        concat!(
1844            "Offset of field: ",
1845            stringify!(_hashtable),
1846            "::",
1847            stringify!(pListTail)
1848        )
1849    );
1850    assert_eq!(
1851        unsafe { &(*(::std::ptr::null::<_hashtable>())).arBuckets as *const _ as usize },
1852        48usize,
1853        concat!(
1854            "Offset of field: ",
1855            stringify!(_hashtable),
1856            "::",
1857            stringify!(arBuckets)
1858        )
1859    );
1860    assert_eq!(
1861        unsafe { &(*(::std::ptr::null::<_hashtable>())).pDestructor as *const _ as usize },
1862        56usize,
1863        concat!(
1864            "Offset of field: ",
1865            stringify!(_hashtable),
1866            "::",
1867            stringify!(pDestructor)
1868        )
1869    );
1870    assert_eq!(
1871        unsafe { &(*(::std::ptr::null::<_hashtable>())).persistent as *const _ as usize },
1872        64usize,
1873        concat!(
1874            "Offset of field: ",
1875            stringify!(_hashtable),
1876            "::",
1877            stringify!(persistent)
1878        )
1879    );
1880    assert_eq!(
1881        unsafe { &(*(::std::ptr::null::<_hashtable>())).nApplyCount as *const _ as usize },
1882        65usize,
1883        concat!(
1884            "Offset of field: ",
1885            stringify!(_hashtable),
1886            "::",
1887            stringify!(nApplyCount)
1888        )
1889    );
1890    assert_eq!(
1891        unsafe { &(*(::std::ptr::null::<_hashtable>())).bApplyProtection as *const _ as usize },
1892        66usize,
1893        concat!(
1894            "Offset of field: ",
1895            stringify!(_hashtable),
1896            "::",
1897            stringify!(bApplyProtection)
1898        )
1899    );
1900}
1901pub type HashTable = _hashtable;
1902#[repr(C)]
1903#[derive(Debug, Copy, Clone)]
1904pub struct _zend_hash_key {
1905    pub arKey: *const ::std::os::raw::c_char,
1906    pub nKeyLength: uint,
1907    pub h: ulong,
1908}
1909#[test]
1910fn bindgen_test_layout__zend_hash_key() {
1911    assert_eq!(
1912        ::std::mem::size_of::<_zend_hash_key>(),
1913        24usize,
1914        concat!("Size of: ", stringify!(_zend_hash_key))
1915    );
1916    assert_eq!(
1917        ::std::mem::align_of::<_zend_hash_key>(),
1918        8usize,
1919        concat!("Alignment of ", stringify!(_zend_hash_key))
1920    );
1921    assert_eq!(
1922        unsafe { &(*(::std::ptr::null::<_zend_hash_key>())).arKey as *const _ as usize },
1923        0usize,
1924        concat!(
1925            "Offset of field: ",
1926            stringify!(_zend_hash_key),
1927            "::",
1928            stringify!(arKey)
1929        )
1930    );
1931    assert_eq!(
1932        unsafe { &(*(::std::ptr::null::<_zend_hash_key>())).nKeyLength as *const _ as usize },
1933        8usize,
1934        concat!(
1935            "Offset of field: ",
1936            stringify!(_zend_hash_key),
1937            "::",
1938            stringify!(nKeyLength)
1939        )
1940    );
1941    assert_eq!(
1942        unsafe { &(*(::std::ptr::null::<_zend_hash_key>())).h as *const _ as usize },
1943        16usize,
1944        concat!(
1945            "Offset of field: ",
1946            stringify!(_zend_hash_key),
1947            "::",
1948            stringify!(h)
1949        )
1950    );
1951}
1952pub type zend_hash_key = _zend_hash_key;
1953pub type merge_checker_func_t = ::std::option::Option<
1954    unsafe extern "C" fn(
1955        target_ht: *mut HashTable,
1956        source_data: *mut ::std::os::raw::c_void,
1957        hash_key: *mut zend_hash_key,
1958        pParam: *mut ::std::os::raw::c_void,
1959    ) -> zend_bool,
1960>;
1961pub type HashPosition = *mut Bucket;
1962extern "C" {
1963    pub fn _zend_hash_init(
1964        ht: *mut HashTable,
1965        nSize: uint,
1966        pHashFunction: hash_func_t,
1967        pDestructor: dtor_func_t,
1968        persistent: zend_bool,
1969    ) -> ::std::os::raw::c_int;
1970}
1971extern "C" {
1972    pub fn _zend_hash_init_ex(
1973        ht: *mut HashTable,
1974        nSize: uint,
1975        pHashFunction: hash_func_t,
1976        pDestructor: dtor_func_t,
1977        persistent: zend_bool,
1978        bApplyProtection: zend_bool,
1979    ) -> ::std::os::raw::c_int;
1980}
1981extern "C" {
1982    pub fn zend_hash_destroy(ht: *mut HashTable);
1983}
1984extern "C" {
1985    pub fn zend_hash_clean(ht: *mut HashTable);
1986}
1987extern "C" {
1988    pub fn _zend_hash_add_or_update(
1989        ht: *mut HashTable,
1990        arKey: *const ::std::os::raw::c_char,
1991        nKeyLength: uint,
1992        pData: *mut ::std::os::raw::c_void,
1993        nDataSize: uint,
1994        pDest: *mut *mut ::std::os::raw::c_void,
1995        flag: ::std::os::raw::c_int,
1996    ) -> ::std::os::raw::c_int;
1997}
1998extern "C" {
1999    pub fn _zend_hash_quick_add_or_update(
2000        ht: *mut HashTable,
2001        arKey: *const ::std::os::raw::c_char,
2002        nKeyLength: uint,
2003        h: ulong,
2004        pData: *mut ::std::os::raw::c_void,
2005        nDataSize: uint,
2006        pDest: *mut *mut ::std::os::raw::c_void,
2007        flag: ::std::os::raw::c_int,
2008    ) -> ::std::os::raw::c_int;
2009}
2010extern "C" {
2011    pub fn _zend_hash_index_update_or_next_insert(
2012        ht: *mut HashTable,
2013        h: ulong,
2014        pData: *mut ::std::os::raw::c_void,
2015        nDataSize: uint,
2016        pDest: *mut *mut ::std::os::raw::c_void,
2017        flag: ::std::os::raw::c_int,
2018    ) -> ::std::os::raw::c_int;
2019}
2020extern "C" {
2021    pub fn zend_hash_add_empty_element(
2022        ht: *mut HashTable,
2023        arKey: *const ::std::os::raw::c_char,
2024        nKeyLength: uint,
2025    ) -> ::std::os::raw::c_int;
2026}
2027pub type apply_func_t = ::std::option::Option<
2028    unsafe extern "C" fn(pDest: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
2029>;
2030pub type apply_func_arg_t = ::std::option::Option<
2031    unsafe extern "C" fn(
2032        pDest: *mut ::std::os::raw::c_void,
2033        argument: *mut ::std::os::raw::c_void,
2034    ) -> ::std::os::raw::c_int,
2035>;
2036pub type apply_func_args_t = ::std::option::Option<
2037    unsafe extern "C" fn(
2038        pDest: *mut ::std::os::raw::c_void,
2039        num_args: ::std::os::raw::c_int,
2040        args: *mut __va_list_tag,
2041        hash_key: *mut zend_hash_key,
2042    ) -> ::std::os::raw::c_int,
2043>;
2044extern "C" {
2045    pub fn zend_hash_graceful_destroy(ht: *mut HashTable);
2046}
2047extern "C" {
2048    pub fn zend_hash_graceful_reverse_destroy(ht: *mut HashTable);
2049}
2050extern "C" {
2051    pub fn zend_hash_apply(ht: *mut HashTable, apply_func: apply_func_t);
2052}
2053extern "C" {
2054    pub fn zend_hash_apply_with_argument(
2055        ht: *mut HashTable,
2056        apply_func: apply_func_arg_t,
2057        arg1: *mut ::std::os::raw::c_void,
2058    );
2059}
2060extern "C" {
2061    pub fn zend_hash_apply_with_arguments(
2062        ht: *mut HashTable,
2063        apply_func: apply_func_args_t,
2064        arg1: ::std::os::raw::c_int,
2065        ...
2066    );
2067}
2068extern "C" {
2069    pub fn zend_hash_reverse_apply(ht: *mut HashTable, apply_func: apply_func_t);
2070}
2071extern "C" {
2072    pub fn zend_hash_del_key_or_index(
2073        ht: *mut HashTable,
2074        arKey: *const ::std::os::raw::c_char,
2075        nKeyLength: uint,
2076        h: ulong,
2077        flag: ::std::os::raw::c_int,
2078    ) -> ::std::os::raw::c_int;
2079}
2080extern "C" {
2081    pub fn zend_get_hash_value(arKey: *const ::std::os::raw::c_char, nKeyLength: uint) -> ulong;
2082}
2083extern "C" {
2084    pub fn zend_hash_find(
2085        ht: *const HashTable,
2086        arKey: *const ::std::os::raw::c_char,
2087        nKeyLength: uint,
2088        pData: *mut *mut ::std::os::raw::c_void,
2089    ) -> ::std::os::raw::c_int;
2090}
2091extern "C" {
2092    pub fn zend_hash_quick_find(
2093        ht: *const HashTable,
2094        arKey: *const ::std::os::raw::c_char,
2095        nKeyLength: uint,
2096        h: ulong,
2097        pData: *mut *mut ::std::os::raw::c_void,
2098    ) -> ::std::os::raw::c_int;
2099}
2100extern "C" {
2101    pub fn zend_hash_index_find(
2102        ht: *const HashTable,
2103        h: ulong,
2104        pData: *mut *mut ::std::os::raw::c_void,
2105    ) -> ::std::os::raw::c_int;
2106}
2107extern "C" {
2108    pub fn zend_hash_exists(
2109        ht: *const HashTable,
2110        arKey: *const ::std::os::raw::c_char,
2111        nKeyLength: uint,
2112    ) -> ::std::os::raw::c_int;
2113}
2114extern "C" {
2115    pub fn zend_hash_quick_exists(
2116        ht: *const HashTable,
2117        arKey: *const ::std::os::raw::c_char,
2118        nKeyLength: uint,
2119        h: ulong,
2120    ) -> ::std::os::raw::c_int;
2121}
2122extern "C" {
2123    pub fn zend_hash_index_exists(ht: *const HashTable, h: ulong) -> ::std::os::raw::c_int;
2124}
2125extern "C" {
2126    pub fn zend_hash_next_free_element(ht: *const HashTable) -> ulong;
2127}
2128extern "C" {
2129    pub fn zend_hash_move_forward_ex(
2130        ht: *mut HashTable,
2131        pos: *mut HashPosition,
2132    ) -> ::std::os::raw::c_int;
2133}
2134extern "C" {
2135    pub fn zend_hash_move_backwards_ex(
2136        ht: *mut HashTable,
2137        pos: *mut HashPosition,
2138    ) -> ::std::os::raw::c_int;
2139}
2140extern "C" {
2141    pub fn zend_hash_get_current_key_ex(
2142        ht: *const HashTable,
2143        str_index: *mut *mut ::std::os::raw::c_char,
2144        str_length: *mut uint,
2145        num_index: *mut ulong,
2146        duplicate: zend_bool,
2147        pos: *mut HashPosition,
2148    ) -> ::std::os::raw::c_int;
2149}
2150extern "C" {
2151    pub fn zend_hash_get_current_key_type_ex(
2152        ht: *mut HashTable,
2153        pos: *mut HashPosition,
2154    ) -> ::std::os::raw::c_int;
2155}
2156extern "C" {
2157    pub fn zend_hash_get_current_data_ex(
2158        ht: *mut HashTable,
2159        pData: *mut *mut ::std::os::raw::c_void,
2160        pos: *mut HashPosition,
2161    ) -> ::std::os::raw::c_int;
2162}
2163extern "C" {
2164    pub fn zend_hash_internal_pointer_reset_ex(ht: *mut HashTable, pos: *mut HashPosition);
2165}
2166extern "C" {
2167    pub fn zend_hash_internal_pointer_end_ex(ht: *mut HashTable, pos: *mut HashPosition);
2168}
2169extern "C" {
2170    pub fn zend_hash_update_current_key_ex(
2171        ht: *mut HashTable,
2172        key_type: ::std::os::raw::c_int,
2173        str_index: *const ::std::os::raw::c_char,
2174        str_length: uint,
2175        num_index: ulong,
2176        mode: ::std::os::raw::c_int,
2177        pos: *mut HashPosition,
2178    ) -> ::std::os::raw::c_int;
2179}
2180#[repr(C)]
2181#[derive(Debug, Copy, Clone)]
2182pub struct _HashPointer {
2183    pub pos: HashPosition,
2184    pub h: ulong,
2185}
2186#[test]
2187fn bindgen_test_layout__HashPointer() {
2188    assert_eq!(
2189        ::std::mem::size_of::<_HashPointer>(),
2190        16usize,
2191        concat!("Size of: ", stringify!(_HashPointer))
2192    );
2193    assert_eq!(
2194        ::std::mem::align_of::<_HashPointer>(),
2195        8usize,
2196        concat!("Alignment of ", stringify!(_HashPointer))
2197    );
2198    assert_eq!(
2199        unsafe { &(*(::std::ptr::null::<_HashPointer>())).pos as *const _ as usize },
2200        0usize,
2201        concat!(
2202            "Offset of field: ",
2203            stringify!(_HashPointer),
2204            "::",
2205            stringify!(pos)
2206        )
2207    );
2208    assert_eq!(
2209        unsafe { &(*(::std::ptr::null::<_HashPointer>())).h as *const _ as usize },
2210        8usize,
2211        concat!(
2212            "Offset of field: ",
2213            stringify!(_HashPointer),
2214            "::",
2215            stringify!(h)
2216        )
2217    );
2218}
2219pub type HashPointer = _HashPointer;
2220extern "C" {
2221    pub fn zend_hash_get_pointer(
2222        ht: *const HashTable,
2223        ptr: *mut HashPointer,
2224    ) -> ::std::os::raw::c_int;
2225}
2226extern "C" {
2227    pub fn zend_hash_set_pointer(
2228        ht: *mut HashTable,
2229        ptr: *const HashPointer,
2230    ) -> ::std::os::raw::c_int;
2231}
2232extern "C" {
2233    pub fn zend_hash_copy(
2234        target: *mut HashTable,
2235        source: *mut HashTable,
2236        pCopyConstructor: copy_ctor_func_t,
2237        tmp: *mut ::std::os::raw::c_void,
2238        size: uint,
2239    );
2240}
2241extern "C" {
2242    pub fn _zend_hash_merge(
2243        target: *mut HashTable,
2244        source: *mut HashTable,
2245        pCopyConstructor: copy_ctor_func_t,
2246        tmp: *mut ::std::os::raw::c_void,
2247        size: uint,
2248        overwrite: ::std::os::raw::c_int,
2249    );
2250}
2251extern "C" {
2252    pub fn zend_hash_merge_ex(
2253        target: *mut HashTable,
2254        source: *mut HashTable,
2255        pCopyConstructor: copy_ctor_func_t,
2256        size: uint,
2257        pMergeSource: merge_checker_func_t,
2258        pParam: *mut ::std::os::raw::c_void,
2259    );
2260}
2261extern "C" {
2262    pub fn zend_hash_sort(
2263        ht: *mut HashTable,
2264        sort_func: sort_func_t,
2265        compare_func: compare_func_t,
2266        renumber: ::std::os::raw::c_int,
2267    ) -> ::std::os::raw::c_int;
2268}
2269extern "C" {
2270    pub fn zend_hash_compare(
2271        ht1: *mut HashTable,
2272        ht2: *mut HashTable,
2273        compar: compare_func_t,
2274        ordered: zend_bool,
2275    ) -> ::std::os::raw::c_int;
2276}
2277extern "C" {
2278    pub fn zend_hash_minmax(
2279        ht: *const HashTable,
2280        compar: compare_func_t,
2281        flag: ::std::os::raw::c_int,
2282        pData: *mut *mut ::std::os::raw::c_void,
2283    ) -> ::std::os::raw::c_int;
2284}
2285extern "C" {
2286    pub fn zend_hash_num_elements(ht: *const HashTable) -> ::std::os::raw::c_int;
2287}
2288extern "C" {
2289    pub fn zend_hash_rehash(ht: *mut HashTable) -> ::std::os::raw::c_int;
2290}
2291extern "C" {
2292    pub fn zend_hash_func(arKey: *const ::std::os::raw::c_char, nKeyLength: uint) -> ulong;
2293}
2294#[repr(C)]
2295#[derive(Debug, Copy, Clone)]
2296pub struct _zend_ts_hashtable {
2297    pub hash: HashTable,
2298    pub reader: zend_uint,
2299}
2300#[test]
2301fn bindgen_test_layout__zend_ts_hashtable() {
2302    assert_eq!(
2303        ::std::mem::size_of::<_zend_ts_hashtable>(),
2304        80usize,
2305        concat!("Size of: ", stringify!(_zend_ts_hashtable))
2306    );
2307    assert_eq!(
2308        ::std::mem::align_of::<_zend_ts_hashtable>(),
2309        8usize,
2310        concat!("Alignment of ", stringify!(_zend_ts_hashtable))
2311    );
2312    assert_eq!(
2313        unsafe { &(*(::std::ptr::null::<_zend_ts_hashtable>())).hash as *const _ as usize },
2314        0usize,
2315        concat!(
2316            "Offset of field: ",
2317            stringify!(_zend_ts_hashtable),
2318            "::",
2319            stringify!(hash)
2320        )
2321    );
2322    assert_eq!(
2323        unsafe { &(*(::std::ptr::null::<_zend_ts_hashtable>())).reader as *const _ as usize },
2324        72usize,
2325        concat!(
2326            "Offset of field: ",
2327            stringify!(_zend_ts_hashtable),
2328            "::",
2329            stringify!(reader)
2330        )
2331    );
2332}
2333pub type TsHashTable = _zend_ts_hashtable;
2334extern "C" {
2335    pub fn _zend_ts_hash_init(
2336        ht: *mut TsHashTable,
2337        nSize: uint,
2338        pHashFunction: hash_func_t,
2339        pDestructor: dtor_func_t,
2340        persistent: zend_bool,
2341    ) -> ::std::os::raw::c_int;
2342}
2343extern "C" {
2344    pub fn _zend_ts_hash_init_ex(
2345        ht: *mut TsHashTable,
2346        nSize: uint,
2347        pHashFunction: hash_func_t,
2348        pDestructor: dtor_func_t,
2349        persistent: zend_bool,
2350        bApplyProtection: zend_bool,
2351    ) -> ::std::os::raw::c_int;
2352}
2353extern "C" {
2354    pub fn zend_ts_hash_destroy(ht: *mut TsHashTable);
2355}
2356extern "C" {
2357    pub fn zend_ts_hash_clean(ht: *mut TsHashTable);
2358}
2359extern "C" {
2360    pub fn _zend_ts_hash_add_or_update(
2361        ht: *mut TsHashTable,
2362        arKey: *mut ::std::os::raw::c_char,
2363        nKeyLength: uint,
2364        pData: *mut ::std::os::raw::c_void,
2365        nDataSize: uint,
2366        pDest: *mut *mut ::std::os::raw::c_void,
2367        flag: ::std::os::raw::c_int,
2368    ) -> ::std::os::raw::c_int;
2369}
2370extern "C" {
2371    pub fn _zend_ts_hash_quick_add_or_update(
2372        ht: *mut TsHashTable,
2373        arKey: *mut ::std::os::raw::c_char,
2374        nKeyLength: uint,
2375        h: ulong,
2376        pData: *mut ::std::os::raw::c_void,
2377        nDataSize: uint,
2378        pDest: *mut *mut ::std::os::raw::c_void,
2379        flag: ::std::os::raw::c_int,
2380    ) -> ::std::os::raw::c_int;
2381}
2382extern "C" {
2383    pub fn _zend_ts_hash_index_update_or_next_insert(
2384        ht: *mut TsHashTable,
2385        h: ulong,
2386        pData: *mut ::std::os::raw::c_void,
2387        nDataSize: uint,
2388        pDest: *mut *mut ::std::os::raw::c_void,
2389        flag: ::std::os::raw::c_int,
2390    ) -> ::std::os::raw::c_int;
2391}
2392extern "C" {
2393    pub fn zend_ts_hash_add_empty_element(
2394        ht: *mut TsHashTable,
2395        arKey: *mut ::std::os::raw::c_char,
2396        nKeyLength: uint,
2397    ) -> ::std::os::raw::c_int;
2398}
2399extern "C" {
2400    pub fn zend_ts_hash_graceful_destroy(ht: *mut TsHashTable);
2401}
2402extern "C" {
2403    pub fn zend_ts_hash_apply(ht: *mut TsHashTable, apply_func: apply_func_t);
2404}
2405extern "C" {
2406    pub fn zend_ts_hash_apply_with_argument(
2407        ht: *mut TsHashTable,
2408        apply_func: apply_func_arg_t,
2409        arg1: *mut ::std::os::raw::c_void,
2410    );
2411}
2412extern "C" {
2413    pub fn zend_ts_hash_apply_with_arguments(
2414        ht: *mut TsHashTable,
2415        apply_func: apply_func_args_t,
2416        arg1: ::std::os::raw::c_int,
2417        ...
2418    );
2419}
2420extern "C" {
2421    pub fn zend_ts_hash_reverse_apply(ht: *mut TsHashTable, apply_func: apply_func_t);
2422}
2423extern "C" {
2424    pub fn zend_ts_hash_del_key_or_index(
2425        ht: *mut TsHashTable,
2426        arKey: *mut ::std::os::raw::c_char,
2427        nKeyLength: uint,
2428        h: ulong,
2429        flag: ::std::os::raw::c_int,
2430    ) -> ::std::os::raw::c_int;
2431}
2432extern "C" {
2433    pub fn zend_ts_get_hash_value(
2434        ht: *mut TsHashTable,
2435        arKey: *mut ::std::os::raw::c_char,
2436        nKeyLength: uint,
2437    ) -> ulong;
2438}
2439extern "C" {
2440    pub fn zend_ts_hash_find(
2441        ht: *mut TsHashTable,
2442        arKey: *mut ::std::os::raw::c_char,
2443        nKeyLength: uint,
2444        pData: *mut *mut ::std::os::raw::c_void,
2445    ) -> ::std::os::raw::c_int;
2446}
2447extern "C" {
2448    pub fn zend_ts_hash_quick_find(
2449        ht: *mut TsHashTable,
2450        arKey: *mut ::std::os::raw::c_char,
2451        nKeyLength: uint,
2452        h: ulong,
2453        pData: *mut *mut ::std::os::raw::c_void,
2454    ) -> ::std::os::raw::c_int;
2455}
2456extern "C" {
2457    pub fn zend_ts_hash_index_find(
2458        ht: *mut TsHashTable,
2459        h: ulong,
2460        pData: *mut *mut ::std::os::raw::c_void,
2461    ) -> ::std::os::raw::c_int;
2462}
2463extern "C" {
2464    pub fn zend_ts_hash_exists(
2465        ht: *mut TsHashTable,
2466        arKey: *mut ::std::os::raw::c_char,
2467        nKeyLength: uint,
2468    ) -> ::std::os::raw::c_int;
2469}
2470extern "C" {
2471    pub fn zend_ts_hash_index_exists(ht: *mut TsHashTable, h: ulong) -> ::std::os::raw::c_int;
2472}
2473extern "C" {
2474    pub fn zend_ts_hash_copy(
2475        target: *mut TsHashTable,
2476        source: *mut TsHashTable,
2477        pCopyConstructor: copy_ctor_func_t,
2478        tmp: *mut ::std::os::raw::c_void,
2479        size: uint,
2480    );
2481}
2482extern "C" {
2483    pub fn zend_ts_hash_copy_to_hash(
2484        target: *mut HashTable,
2485        source: *mut TsHashTable,
2486        pCopyConstructor: copy_ctor_func_t,
2487        tmp: *mut ::std::os::raw::c_void,
2488        size: uint,
2489    );
2490}
2491extern "C" {
2492    pub fn zend_ts_hash_merge(
2493        target: *mut TsHashTable,
2494        source: *mut TsHashTable,
2495        pCopyConstructor: copy_ctor_func_t,
2496        tmp: *mut ::std::os::raw::c_void,
2497        size: uint,
2498        overwrite: ::std::os::raw::c_int,
2499    );
2500}
2501extern "C" {
2502    pub fn zend_ts_hash_merge_ex(
2503        target: *mut TsHashTable,
2504        source: *mut TsHashTable,
2505        pCopyConstructor: copy_ctor_func_t,
2506        size: uint,
2507        pMergeSource: merge_checker_func_t,
2508        pParam: *mut ::std::os::raw::c_void,
2509    );
2510}
2511extern "C" {
2512    pub fn zend_ts_hash_sort(
2513        ht: *mut TsHashTable,
2514        sort_func: sort_func_t,
2515        compare_func: compare_func_t,
2516        renumber: ::std::os::raw::c_int,
2517    ) -> ::std::os::raw::c_int;
2518}
2519extern "C" {
2520    pub fn zend_ts_hash_compare(
2521        ht1: *mut TsHashTable,
2522        ht2: *mut TsHashTable,
2523        compar: compare_func_t,
2524        ordered: zend_bool,
2525    ) -> ::std::os::raw::c_int;
2526}
2527extern "C" {
2528    pub fn zend_ts_hash_minmax(
2529        ht: *mut TsHashTable,
2530        compar: compare_func_t,
2531        flag: ::std::os::raw::c_int,
2532        pData: *mut *mut ::std::os::raw::c_void,
2533    ) -> ::std::os::raw::c_int;
2534}
2535extern "C" {
2536    pub fn zend_ts_hash_num_elements(ht: *mut TsHashTable) -> ::std::os::raw::c_int;
2537}
2538extern "C" {
2539    pub fn zend_ts_hash_rehash(ht: *mut TsHashTable) -> ::std::os::raw::c_int;
2540}
2541extern "C" {
2542    pub fn zend_ts_hash_func(arKey: *mut ::std::os::raw::c_char, nKeyLength: uint) -> ulong;
2543}
2544#[repr(C)]
2545#[derive(Debug, Copy, Clone)]
2546pub struct _zend_llist_element {
2547    pub next: *mut _zend_llist_element,
2548    pub prev: *mut _zend_llist_element,
2549    pub data: [::std::os::raw::c_char; 1usize],
2550}
2551#[test]
2552fn bindgen_test_layout__zend_llist_element() {
2553    assert_eq!(
2554        ::std::mem::size_of::<_zend_llist_element>(),
2555        24usize,
2556        concat!("Size of: ", stringify!(_zend_llist_element))
2557    );
2558    assert_eq!(
2559        ::std::mem::align_of::<_zend_llist_element>(),
2560        8usize,
2561        concat!("Alignment of ", stringify!(_zend_llist_element))
2562    );
2563    assert_eq!(
2564        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).next as *const _ as usize },
2565        0usize,
2566        concat!(
2567            "Offset of field: ",
2568            stringify!(_zend_llist_element),
2569            "::",
2570            stringify!(next)
2571        )
2572    );
2573    assert_eq!(
2574        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).prev as *const _ as usize },
2575        8usize,
2576        concat!(
2577            "Offset of field: ",
2578            stringify!(_zend_llist_element),
2579            "::",
2580            stringify!(prev)
2581        )
2582    );
2583    assert_eq!(
2584        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).data as *const _ as usize },
2585        16usize,
2586        concat!(
2587            "Offset of field: ",
2588            stringify!(_zend_llist_element),
2589            "::",
2590            stringify!(data)
2591        )
2592    );
2593}
2594pub type zend_llist_element = _zend_llist_element;
2595pub type llist_dtor_func_t =
2596    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
2597pub type llist_compare_func_t = ::std::option::Option<
2598    unsafe extern "C" fn(
2599        arg1: *mut *const zend_llist_element,
2600        arg2: *mut *const zend_llist_element,
2601    ) -> ::std::os::raw::c_int,
2602>;
2603pub type llist_apply_with_args_func_t = ::std::option::Option<
2604    unsafe extern "C" fn(
2605        data: *mut ::std::os::raw::c_void,
2606        num_args: ::std::os::raw::c_int,
2607        args: *mut __va_list_tag,
2608    ),
2609>;
2610pub type llist_apply_with_arg_func_t = ::std::option::Option<
2611    unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, arg: *mut ::std::os::raw::c_void),
2612>;
2613pub type llist_apply_func_t =
2614    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
2615#[repr(C)]
2616#[derive(Debug, Copy, Clone)]
2617pub struct _zend_llist {
2618    pub head: *mut zend_llist_element,
2619    pub tail: *mut zend_llist_element,
2620    pub count: size_t,
2621    pub size: size_t,
2622    pub dtor: llist_dtor_func_t,
2623    pub persistent: ::std::os::raw::c_uchar,
2624    pub traverse_ptr: *mut zend_llist_element,
2625}
2626#[test]
2627fn bindgen_test_layout__zend_llist() {
2628    assert_eq!(
2629        ::std::mem::size_of::<_zend_llist>(),
2630        56usize,
2631        concat!("Size of: ", stringify!(_zend_llist))
2632    );
2633    assert_eq!(
2634        ::std::mem::align_of::<_zend_llist>(),
2635        8usize,
2636        concat!("Alignment of ", stringify!(_zend_llist))
2637    );
2638    assert_eq!(
2639        unsafe { &(*(::std::ptr::null::<_zend_llist>())).head as *const _ as usize },
2640        0usize,
2641        concat!(
2642            "Offset of field: ",
2643            stringify!(_zend_llist),
2644            "::",
2645            stringify!(head)
2646        )
2647    );
2648    assert_eq!(
2649        unsafe { &(*(::std::ptr::null::<_zend_llist>())).tail as *const _ as usize },
2650        8usize,
2651        concat!(
2652            "Offset of field: ",
2653            stringify!(_zend_llist),
2654            "::",
2655            stringify!(tail)
2656        )
2657    );
2658    assert_eq!(
2659        unsafe { &(*(::std::ptr::null::<_zend_llist>())).count as *const _ as usize },
2660        16usize,
2661        concat!(
2662            "Offset of field: ",
2663            stringify!(_zend_llist),
2664            "::",
2665            stringify!(count)
2666        )
2667    );
2668    assert_eq!(
2669        unsafe { &(*(::std::ptr::null::<_zend_llist>())).size as *const _ as usize },
2670        24usize,
2671        concat!(
2672            "Offset of field: ",
2673            stringify!(_zend_llist),
2674            "::",
2675            stringify!(size)
2676        )
2677    );
2678    assert_eq!(
2679        unsafe { &(*(::std::ptr::null::<_zend_llist>())).dtor as *const _ as usize },
2680        32usize,
2681        concat!(
2682            "Offset of field: ",
2683            stringify!(_zend_llist),
2684            "::",
2685            stringify!(dtor)
2686        )
2687    );
2688    assert_eq!(
2689        unsafe { &(*(::std::ptr::null::<_zend_llist>())).persistent as *const _ as usize },
2690        40usize,
2691        concat!(
2692            "Offset of field: ",
2693            stringify!(_zend_llist),
2694            "::",
2695            stringify!(persistent)
2696        )
2697    );
2698    assert_eq!(
2699        unsafe { &(*(::std::ptr::null::<_zend_llist>())).traverse_ptr as *const _ as usize },
2700        48usize,
2701        concat!(
2702            "Offset of field: ",
2703            stringify!(_zend_llist),
2704            "::",
2705            stringify!(traverse_ptr)
2706        )
2707    );
2708}
2709pub type zend_llist = _zend_llist;
2710pub type zend_llist_position = *mut zend_llist_element;
2711extern "C" {
2712    pub fn zend_llist_init(
2713        l: *mut zend_llist,
2714        size: size_t,
2715        dtor: llist_dtor_func_t,
2716        persistent: ::std::os::raw::c_uchar,
2717    );
2718}
2719extern "C" {
2720    pub fn zend_llist_add_element(l: *mut zend_llist, element: *mut ::std::os::raw::c_void);
2721}
2722extern "C" {
2723    pub fn zend_llist_prepend_element(l: *mut zend_llist, element: *mut ::std::os::raw::c_void);
2724}
2725extern "C" {
2726    pub fn zend_llist_del_element(
2727        l: *mut zend_llist,
2728        element: *mut ::std::os::raw::c_void,
2729        compare: ::std::option::Option<
2730            unsafe extern "C" fn(
2731                element1: *mut ::std::os::raw::c_void,
2732                element2: *mut ::std::os::raw::c_void,
2733            ) -> ::std::os::raw::c_int,
2734        >,
2735    );
2736}
2737extern "C" {
2738    pub fn zend_llist_destroy(l: *mut zend_llist);
2739}
2740extern "C" {
2741    pub fn zend_llist_clean(l: *mut zend_llist);
2742}
2743extern "C" {
2744    pub fn zend_llist_remove_tail(l: *mut zend_llist) -> *mut ::std::os::raw::c_void;
2745}
2746extern "C" {
2747    pub fn zend_llist_copy(dst: *mut zend_llist, src: *mut zend_llist);
2748}
2749extern "C" {
2750    pub fn zend_llist_apply(l: *mut zend_llist, func: llist_apply_func_t);
2751}
2752extern "C" {
2753    pub fn zend_llist_apply_with_del(
2754        l: *mut zend_llist,
2755        func: ::std::option::Option<
2756            unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
2757        >,
2758    );
2759}
2760extern "C" {
2761    pub fn zend_llist_apply_with_argument(
2762        l: *mut zend_llist,
2763        func: llist_apply_with_arg_func_t,
2764        arg: *mut ::std::os::raw::c_void,
2765    );
2766}
2767extern "C" {
2768    pub fn zend_llist_apply_with_arguments(
2769        l: *mut zend_llist,
2770        func: llist_apply_with_args_func_t,
2771        num_args: ::std::os::raw::c_int,
2772        ...
2773    );
2774}
2775extern "C" {
2776    pub fn zend_llist_count(l: *mut zend_llist) -> ::std::os::raw::c_int;
2777}
2778extern "C" {
2779    pub fn zend_llist_sort(l: *mut zend_llist, comp_func: llist_compare_func_t);
2780}
2781extern "C" {
2782    pub fn zend_llist_get_first_ex(
2783        l: *mut zend_llist,
2784        pos: *mut zend_llist_position,
2785    ) -> *mut ::std::os::raw::c_void;
2786}
2787extern "C" {
2788    pub fn zend_llist_get_last_ex(
2789        l: *mut zend_llist,
2790        pos: *mut zend_llist_position,
2791    ) -> *mut ::std::os::raw::c_void;
2792}
2793extern "C" {
2794    pub fn zend_llist_get_next_ex(
2795        l: *mut zend_llist,
2796        pos: *mut zend_llist_position,
2797    ) -> *mut ::std::os::raw::c_void;
2798}
2799extern "C" {
2800    pub fn zend_llist_get_prev_ex(
2801        l: *mut zend_llist,
2802        pos: *mut zend_llist_position,
2803    ) -> *mut ::std::os::raw::c_void;
2804}
2805extern "C" {
2806    pub fn zend_error_noreturn(
2807        type_: ::std::os::raw::c_int,
2808        format: *const ::std::os::raw::c_char,
2809        ...
2810    );
2811}
2812pub type zval = _zval_struct;
2813pub type zend_class_entry = _zend_class_entry;
2814#[repr(C)]
2815#[derive(Debug, Copy, Clone)]
2816pub struct _zend_guard {
2817    pub in_get: zend_bool,
2818    pub in_set: zend_bool,
2819    pub in_unset: zend_bool,
2820    pub in_isset: zend_bool,
2821    pub dummy: zend_bool,
2822}
2823#[test]
2824fn bindgen_test_layout__zend_guard() {
2825    assert_eq!(
2826        ::std::mem::size_of::<_zend_guard>(),
2827        5usize,
2828        concat!("Size of: ", stringify!(_zend_guard))
2829    );
2830    assert_eq!(
2831        ::std::mem::align_of::<_zend_guard>(),
2832        1usize,
2833        concat!("Alignment of ", stringify!(_zend_guard))
2834    );
2835    assert_eq!(
2836        unsafe { &(*(::std::ptr::null::<_zend_guard>())).in_get as *const _ as usize },
2837        0usize,
2838        concat!(
2839            "Offset of field: ",
2840            stringify!(_zend_guard),
2841            "::",
2842            stringify!(in_get)
2843        )
2844    );
2845    assert_eq!(
2846        unsafe { &(*(::std::ptr::null::<_zend_guard>())).in_set as *const _ as usize },
2847        1usize,
2848        concat!(
2849            "Offset of field: ",
2850            stringify!(_zend_guard),
2851            "::",
2852            stringify!(in_set)
2853        )
2854    );
2855    assert_eq!(
2856        unsafe { &(*(::std::ptr::null::<_zend_guard>())).in_unset as *const _ as usize },
2857        2usize,
2858        concat!(
2859            "Offset of field: ",
2860            stringify!(_zend_guard),
2861            "::",
2862            stringify!(in_unset)
2863        )
2864    );
2865    assert_eq!(
2866        unsafe { &(*(::std::ptr::null::<_zend_guard>())).in_isset as *const _ as usize },
2867        3usize,
2868        concat!(
2869            "Offset of field: ",
2870            stringify!(_zend_guard),
2871            "::",
2872            stringify!(in_isset)
2873        )
2874    );
2875    assert_eq!(
2876        unsafe { &(*(::std::ptr::null::<_zend_guard>())).dummy as *const _ as usize },
2877        4usize,
2878        concat!(
2879            "Offset of field: ",
2880            stringify!(_zend_guard),
2881            "::",
2882            stringify!(dummy)
2883        )
2884    );
2885}
2886pub type zend_guard = _zend_guard;
2887#[repr(C)]
2888#[derive(Debug, Copy, Clone)]
2889pub struct _zend_object {
2890    pub ce: *mut zend_class_entry,
2891    pub properties: *mut HashTable,
2892    pub properties_table: *mut *mut zval,
2893    pub guards: *mut HashTable,
2894}
2895#[test]
2896fn bindgen_test_layout__zend_object() {
2897    assert_eq!(
2898        ::std::mem::size_of::<_zend_object>(),
2899        32usize,
2900        concat!("Size of: ", stringify!(_zend_object))
2901    );
2902    assert_eq!(
2903        ::std::mem::align_of::<_zend_object>(),
2904        8usize,
2905        concat!("Alignment of ", stringify!(_zend_object))
2906    );
2907    assert_eq!(
2908        unsafe { &(*(::std::ptr::null::<_zend_object>())).ce as *const _ as usize },
2909        0usize,
2910        concat!(
2911            "Offset of field: ",
2912            stringify!(_zend_object),
2913            "::",
2914            stringify!(ce)
2915        )
2916    );
2917    assert_eq!(
2918        unsafe { &(*(::std::ptr::null::<_zend_object>())).properties as *const _ as usize },
2919        8usize,
2920        concat!(
2921            "Offset of field: ",
2922            stringify!(_zend_object),
2923            "::",
2924            stringify!(properties)
2925        )
2926    );
2927    assert_eq!(
2928        unsafe { &(*(::std::ptr::null::<_zend_object>())).properties_table as *const _ as usize },
2929        16usize,
2930        concat!(
2931            "Offset of field: ",
2932            stringify!(_zend_object),
2933            "::",
2934            stringify!(properties_table)
2935        )
2936    );
2937    assert_eq!(
2938        unsafe { &(*(::std::ptr::null::<_zend_object>())).guards as *const _ as usize },
2939        24usize,
2940        concat!(
2941            "Offset of field: ",
2942            stringify!(_zend_object),
2943            "::",
2944            stringify!(guards)
2945        )
2946    );
2947}
2948pub type zend_object = _zend_object;
2949pub type zend_object_read_property_t = ::std::option::Option<
2950    unsafe extern "C" fn(
2951        object: *mut zval,
2952        member: *mut zval,
2953        type_: ::std::os::raw::c_int,
2954        key: *const _zend_literal,
2955    ) -> *mut zval,
2956>;
2957pub type zend_object_read_dimension_t = ::std::option::Option<
2958    unsafe extern "C" fn(
2959        object: *mut zval,
2960        offset: *mut zval,
2961        type_: ::std::os::raw::c_int,
2962    ) -> *mut zval,
2963>;
2964pub type zend_object_write_property_t = ::std::option::Option<
2965    unsafe extern "C" fn(
2966        object: *mut zval,
2967        member: *mut zval,
2968        value: *mut zval,
2969        key: *const _zend_literal,
2970    ),
2971>;
2972pub type zend_object_write_dimension_t = ::std::option::Option<
2973    unsafe extern "C" fn(object: *mut zval, offset: *mut zval, value: *mut zval),
2974>;
2975pub type zend_object_get_property_ptr_ptr_t = ::std::option::Option<
2976    unsafe extern "C" fn(
2977        object: *mut zval,
2978        member: *mut zval,
2979        key: *const _zend_literal,
2980    ) -> *mut *mut zval,
2981>;
2982pub type zend_object_set_t =
2983    ::std::option::Option<unsafe extern "C" fn(object: *mut *mut zval, value: *mut zval)>;
2984pub type zend_object_get_t =
2985    ::std::option::Option<unsafe extern "C" fn(object: *mut zval) -> *mut zval>;
2986pub type zend_object_has_property_t = ::std::option::Option<
2987    unsafe extern "C" fn(
2988        object: *mut zval,
2989        member: *mut zval,
2990        has_set_exists: ::std::os::raw::c_int,
2991        key: *const _zend_literal,
2992    ) -> ::std::os::raw::c_int,
2993>;
2994pub type zend_object_has_dimension_t = ::std::option::Option<
2995    unsafe extern "C" fn(
2996        object: *mut zval,
2997        member: *mut zval,
2998        check_empty: ::std::os::raw::c_int,
2999    ) -> ::std::os::raw::c_int,
3000>;
3001pub type zend_object_unset_property_t = ::std::option::Option<
3002    unsafe extern "C" fn(object: *mut zval, member: *mut zval, key: *const _zend_literal),
3003>;
3004pub type zend_object_unset_dimension_t =
3005    ::std::option::Option<unsafe extern "C" fn(object: *mut zval, offset: *mut zval)>;
3006pub type zend_object_get_properties_t =
3007    ::std::option::Option<unsafe extern "C" fn(object: *mut zval) -> *mut HashTable>;
3008pub type zend_object_get_debug_info_t = ::std::option::Option<
3009    unsafe extern "C" fn(object: *mut zval, is_temp: *mut ::std::os::raw::c_int) -> *mut HashTable,
3010>;
3011pub type zend_object_call_method_t = ::std::option::Option<
3012    unsafe extern "C" fn(
3013        method: *const ::std::os::raw::c_char,
3014        ht: ::std::os::raw::c_int,
3015        return_value: *mut zval,
3016        return_value_ptr: *mut *mut zval,
3017        this_ptr: *mut zval,
3018        return_value_used: ::std::os::raw::c_int,
3019    ) -> ::std::os::raw::c_int,
3020>;
3021pub type zend_object_get_method_t = ::std::option::Option<
3022    unsafe extern "C" fn(
3023        object_ptr: *mut *mut zval,
3024        method: *mut ::std::os::raw::c_char,
3025        method_len: ::std::os::raw::c_int,
3026        key: *const _zend_literal,
3027    ) -> *mut _zend_function,
3028>;
3029pub type zend_object_get_constructor_t =
3030    ::std::option::Option<unsafe extern "C" fn(object: *mut zval) -> *mut _zend_function>;
3031pub type zend_object_add_ref_t = ::std::option::Option<unsafe extern "C" fn(object: *mut zval)>;
3032pub type zend_object_del_ref_t = ::std::option::Option<unsafe extern "C" fn(object: *mut zval)>;
3033pub type zend_object_delete_obj_t = ::std::option::Option<unsafe extern "C" fn(object: *mut zval)>;
3034pub type zend_object_clone_obj_t =
3035    ::std::option::Option<unsafe extern "C" fn(object: *mut zval) -> zend_object_value>;
3036pub type zend_object_get_class_entry_t =
3037    ::std::option::Option<unsafe extern "C" fn(object: *const zval) -> *mut zend_class_entry>;
3038pub type zend_object_get_class_name_t = ::std::option::Option<
3039    unsafe extern "C" fn(
3040        object: *const zval,
3041        class_name: *mut *const ::std::os::raw::c_char,
3042        class_name_len: *mut zend_uint,
3043        parent: ::std::os::raw::c_int,
3044    ) -> ::std::os::raw::c_int,
3045>;
3046pub type zend_object_compare_t = ::std::option::Option<
3047    unsafe extern "C" fn(object1: *mut zval, object2: *mut zval) -> ::std::os::raw::c_int,
3048>;
3049pub type zend_object_cast_t = ::std::option::Option<
3050    unsafe extern "C" fn(
3051        readobj: *mut zval,
3052        retval: *mut zval,
3053        type_: ::std::os::raw::c_int,
3054    ) -> ::std::os::raw::c_int,
3055>;
3056pub type zend_object_count_elements_t = ::std::option::Option<
3057    unsafe extern "C" fn(
3058        object: *mut zval,
3059        count: *mut ::std::os::raw::c_long,
3060    ) -> ::std::os::raw::c_int,
3061>;
3062pub type zend_object_get_closure_t = ::std::option::Option<
3063    unsafe extern "C" fn(
3064        obj: *mut zval,
3065        ce_ptr: *mut *mut zend_class_entry,
3066        fptr_ptr: *mut *mut _zend_function,
3067        zobj_ptr: *mut *mut zval,
3068    ) -> ::std::os::raw::c_int,
3069>;
3070pub type zend_object_get_gc_t = ::std::option::Option<
3071    unsafe extern "C" fn(
3072        object: *mut zval,
3073        table: *mut *mut *mut zval,
3074        n: *mut ::std::os::raw::c_int,
3075    ) -> *mut HashTable,
3076>;
3077#[repr(C)]
3078#[derive(Debug, Copy, Clone)]
3079pub struct _zend_object_handlers {
3080    pub add_ref: zend_object_add_ref_t,
3081    pub del_ref: zend_object_del_ref_t,
3082    pub clone_obj: zend_object_clone_obj_t,
3083    pub read_property: zend_object_read_property_t,
3084    pub write_property: zend_object_write_property_t,
3085    pub read_dimension: zend_object_read_dimension_t,
3086    pub write_dimension: zend_object_write_dimension_t,
3087    pub get_property_ptr_ptr: zend_object_get_property_ptr_ptr_t,
3088    pub get: zend_object_get_t,
3089    pub set: zend_object_set_t,
3090    pub has_property: zend_object_has_property_t,
3091    pub unset_property: zend_object_unset_property_t,
3092    pub has_dimension: zend_object_has_dimension_t,
3093    pub unset_dimension: zend_object_unset_dimension_t,
3094    pub get_properties: zend_object_get_properties_t,
3095    pub get_method: zend_object_get_method_t,
3096    pub call_method: zend_object_call_method_t,
3097    pub get_constructor: zend_object_get_constructor_t,
3098    pub get_class_entry: zend_object_get_class_entry_t,
3099    pub get_class_name: zend_object_get_class_name_t,
3100    pub compare_objects: zend_object_compare_t,
3101    pub cast_object: zend_object_cast_t,
3102    pub count_elements: zend_object_count_elements_t,
3103    pub get_debug_info: zend_object_get_debug_info_t,
3104    pub get_closure: zend_object_get_closure_t,
3105    pub get_gc: zend_object_get_gc_t,
3106}
3107#[test]
3108fn bindgen_test_layout__zend_object_handlers() {
3109    assert_eq!(
3110        ::std::mem::size_of::<_zend_object_handlers>(),
3111        208usize,
3112        concat!("Size of: ", stringify!(_zend_object_handlers))
3113    );
3114    assert_eq!(
3115        ::std::mem::align_of::<_zend_object_handlers>(),
3116        8usize,
3117        concat!("Alignment of ", stringify!(_zend_object_handlers))
3118    );
3119    assert_eq!(
3120        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).add_ref as *const _ as usize },
3121        0usize,
3122        concat!(
3123            "Offset of field: ",
3124            stringify!(_zend_object_handlers),
3125            "::",
3126            stringify!(add_ref)
3127        )
3128    );
3129    assert_eq!(
3130        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).del_ref as *const _ as usize },
3131        8usize,
3132        concat!(
3133            "Offset of field: ",
3134            stringify!(_zend_object_handlers),
3135            "::",
3136            stringify!(del_ref)
3137        )
3138    );
3139    assert_eq!(
3140        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).clone_obj as *const _ as usize },
3141        16usize,
3142        concat!(
3143            "Offset of field: ",
3144            stringify!(_zend_object_handlers),
3145            "::",
3146            stringify!(clone_obj)
3147        )
3148    );
3149    assert_eq!(
3150        unsafe {
3151            &(*(::std::ptr::null::<_zend_object_handlers>())).read_property as *const _ as usize
3152        },
3153        24usize,
3154        concat!(
3155            "Offset of field: ",
3156            stringify!(_zend_object_handlers),
3157            "::",
3158            stringify!(read_property)
3159        )
3160    );
3161    assert_eq!(
3162        unsafe {
3163            &(*(::std::ptr::null::<_zend_object_handlers>())).write_property as *const _ as usize
3164        },
3165        32usize,
3166        concat!(
3167            "Offset of field: ",
3168            stringify!(_zend_object_handlers),
3169            "::",
3170            stringify!(write_property)
3171        )
3172    );
3173    assert_eq!(
3174        unsafe {
3175            &(*(::std::ptr::null::<_zend_object_handlers>())).read_dimension as *const _ as usize
3176        },
3177        40usize,
3178        concat!(
3179            "Offset of field: ",
3180            stringify!(_zend_object_handlers),
3181            "::",
3182            stringify!(read_dimension)
3183        )
3184    );
3185    assert_eq!(
3186        unsafe {
3187            &(*(::std::ptr::null::<_zend_object_handlers>())).write_dimension as *const _ as usize
3188        },
3189        48usize,
3190        concat!(
3191            "Offset of field: ",
3192            stringify!(_zend_object_handlers),
3193            "::",
3194            stringify!(write_dimension)
3195        )
3196    );
3197    assert_eq!(
3198        unsafe {
3199            &(*(::std::ptr::null::<_zend_object_handlers>())).get_property_ptr_ptr as *const _
3200                as usize
3201        },
3202        56usize,
3203        concat!(
3204            "Offset of field: ",
3205            stringify!(_zend_object_handlers),
3206            "::",
3207            stringify!(get_property_ptr_ptr)
3208        )
3209    );
3210    assert_eq!(
3211        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).get as *const _ as usize },
3212        64usize,
3213        concat!(
3214            "Offset of field: ",
3215            stringify!(_zend_object_handlers),
3216            "::",
3217            stringify!(get)
3218        )
3219    );
3220    assert_eq!(
3221        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).set as *const _ as usize },
3222        72usize,
3223        concat!(
3224            "Offset of field: ",
3225            stringify!(_zend_object_handlers),
3226            "::",
3227            stringify!(set)
3228        )
3229    );
3230    assert_eq!(
3231        unsafe {
3232            &(*(::std::ptr::null::<_zend_object_handlers>())).has_property as *const _ as usize
3233        },
3234        80usize,
3235        concat!(
3236            "Offset of field: ",
3237            stringify!(_zend_object_handlers),
3238            "::",
3239            stringify!(has_property)
3240        )
3241    );
3242    assert_eq!(
3243        unsafe {
3244            &(*(::std::ptr::null::<_zend_object_handlers>())).unset_property as *const _ as usize
3245        },
3246        88usize,
3247        concat!(
3248            "Offset of field: ",
3249            stringify!(_zend_object_handlers),
3250            "::",
3251            stringify!(unset_property)
3252        )
3253    );
3254    assert_eq!(
3255        unsafe {
3256            &(*(::std::ptr::null::<_zend_object_handlers>())).has_dimension as *const _ as usize
3257        },
3258        96usize,
3259        concat!(
3260            "Offset of field: ",
3261            stringify!(_zend_object_handlers),
3262            "::",
3263            stringify!(has_dimension)
3264        )
3265    );
3266    assert_eq!(
3267        unsafe {
3268            &(*(::std::ptr::null::<_zend_object_handlers>())).unset_dimension as *const _ as usize
3269        },
3270        104usize,
3271        concat!(
3272            "Offset of field: ",
3273            stringify!(_zend_object_handlers),
3274            "::",
3275            stringify!(unset_dimension)
3276        )
3277    );
3278    assert_eq!(
3279        unsafe {
3280            &(*(::std::ptr::null::<_zend_object_handlers>())).get_properties as *const _ as usize
3281        },
3282        112usize,
3283        concat!(
3284            "Offset of field: ",
3285            stringify!(_zend_object_handlers),
3286            "::",
3287            stringify!(get_properties)
3288        )
3289    );
3290    assert_eq!(
3291        unsafe {
3292            &(*(::std::ptr::null::<_zend_object_handlers>())).get_method as *const _ as usize
3293        },
3294        120usize,
3295        concat!(
3296            "Offset of field: ",
3297            stringify!(_zend_object_handlers),
3298            "::",
3299            stringify!(get_method)
3300        )
3301    );
3302    assert_eq!(
3303        unsafe {
3304            &(*(::std::ptr::null::<_zend_object_handlers>())).call_method as *const _ as usize
3305        },
3306        128usize,
3307        concat!(
3308            "Offset of field: ",
3309            stringify!(_zend_object_handlers),
3310            "::",
3311            stringify!(call_method)
3312        )
3313    );
3314    assert_eq!(
3315        unsafe {
3316            &(*(::std::ptr::null::<_zend_object_handlers>())).get_constructor as *const _ as usize
3317        },
3318        136usize,
3319        concat!(
3320            "Offset of field: ",
3321            stringify!(_zend_object_handlers),
3322            "::",
3323            stringify!(get_constructor)
3324        )
3325    );
3326    assert_eq!(
3327        unsafe {
3328            &(*(::std::ptr::null::<_zend_object_handlers>())).get_class_entry as *const _ as usize
3329        },
3330        144usize,
3331        concat!(
3332            "Offset of field: ",
3333            stringify!(_zend_object_handlers),
3334            "::",
3335            stringify!(get_class_entry)
3336        )
3337    );
3338    assert_eq!(
3339        unsafe {
3340            &(*(::std::ptr::null::<_zend_object_handlers>())).get_class_name as *const _ as usize
3341        },
3342        152usize,
3343        concat!(
3344            "Offset of field: ",
3345            stringify!(_zend_object_handlers),
3346            "::",
3347            stringify!(get_class_name)
3348        )
3349    );
3350    assert_eq!(
3351        unsafe {
3352            &(*(::std::ptr::null::<_zend_object_handlers>())).compare_objects as *const _ as usize
3353        },
3354        160usize,
3355        concat!(
3356            "Offset of field: ",
3357            stringify!(_zend_object_handlers),
3358            "::",
3359            stringify!(compare_objects)
3360        )
3361    );
3362    assert_eq!(
3363        unsafe {
3364            &(*(::std::ptr::null::<_zend_object_handlers>())).cast_object as *const _ as usize
3365        },
3366        168usize,
3367        concat!(
3368            "Offset of field: ",
3369            stringify!(_zend_object_handlers),
3370            "::",
3371            stringify!(cast_object)
3372        )
3373    );
3374    assert_eq!(
3375        unsafe {
3376            &(*(::std::ptr::null::<_zend_object_handlers>())).count_elements as *const _ as usize
3377        },
3378        176usize,
3379        concat!(
3380            "Offset of field: ",
3381            stringify!(_zend_object_handlers),
3382            "::",
3383            stringify!(count_elements)
3384        )
3385    );
3386    assert_eq!(
3387        unsafe {
3388            &(*(::std::ptr::null::<_zend_object_handlers>())).get_debug_info as *const _ as usize
3389        },
3390        184usize,
3391        concat!(
3392            "Offset of field: ",
3393            stringify!(_zend_object_handlers),
3394            "::",
3395            stringify!(get_debug_info)
3396        )
3397    );
3398    assert_eq!(
3399        unsafe {
3400            &(*(::std::ptr::null::<_zend_object_handlers>())).get_closure as *const _ as usize
3401        },
3402        192usize,
3403        concat!(
3404            "Offset of field: ",
3405            stringify!(_zend_object_handlers),
3406            "::",
3407            stringify!(get_closure)
3408        )
3409    );
3410    assert_eq!(
3411        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).get_gc as *const _ as usize },
3412        200usize,
3413        concat!(
3414            "Offset of field: ",
3415            stringify!(_zend_object_handlers),
3416            "::",
3417            stringify!(get_gc)
3418        )
3419    );
3420}
3421extern "C" {
3422    pub static mut std_object_handlers: zend_object_handlers;
3423}
3424extern "C" {
3425    pub fn zend_std_get_static_method(
3426        ce: *mut zend_class_entry,
3427        function_name_strval: *const ::std::os::raw::c_char,
3428        function_name_strlen: ::std::os::raw::c_int,
3429        key: *const _zend_literal,
3430    ) -> *mut _zend_function;
3431}
3432extern "C" {
3433    pub fn zend_std_get_static_property(
3434        ce: *mut zend_class_entry,
3435        property_name: *const ::std::os::raw::c_char,
3436        property_name_len: ::std::os::raw::c_int,
3437        silent: zend_bool,
3438        key: *const _zend_literal,
3439    ) -> *mut *mut zval;
3440}
3441extern "C" {
3442    pub fn zend_std_unset_static_property(
3443        ce: *mut zend_class_entry,
3444        property_name: *const ::std::os::raw::c_char,
3445        property_name_len: ::std::os::raw::c_int,
3446        key: *const _zend_literal,
3447    ) -> zend_bool;
3448}
3449extern "C" {
3450    pub fn zend_std_get_constructor(object: *mut zval) -> *mut _zend_function;
3451}
3452extern "C" {
3453    pub fn zend_get_property_info(
3454        ce: *mut zend_class_entry,
3455        member: *mut zval,
3456        silent: ::std::os::raw::c_int,
3457    ) -> *mut _zend_property_info;
3458}
3459extern "C" {
3460    pub fn zend_std_get_properties(object: *mut zval) -> *mut HashTable;
3461}
3462extern "C" {
3463    pub fn zend_std_get_debug_info(
3464        object: *mut zval,
3465        is_temp: *mut ::std::os::raw::c_int,
3466    ) -> *mut HashTable;
3467}
3468extern "C" {
3469    pub fn zend_std_cast_object_tostring(
3470        readobj: *mut zval,
3471        writeobj: *mut zval,
3472        type_: ::std::os::raw::c_int,
3473    ) -> ::std::os::raw::c_int;
3474}
3475extern "C" {
3476    pub fn zend_std_write_property(
3477        object: *mut zval,
3478        member: *mut zval,
3479        value: *mut zval,
3480        key: *const _zend_literal,
3481    );
3482}
3483extern "C" {
3484    pub fn zend_check_private(
3485        fbc: *mut _zend_function,
3486        ce: *mut zend_class_entry,
3487        function_name_strval: *mut ::std::os::raw::c_char,
3488        function_name_strlen: ::std::os::raw::c_int,
3489    ) -> ::std::os::raw::c_int;
3490}
3491extern "C" {
3492    pub fn zend_check_protected(
3493        ce: *mut zend_class_entry,
3494        scope: *mut zend_class_entry,
3495    ) -> ::std::os::raw::c_int;
3496}
3497extern "C" {
3498    pub fn zend_check_property_access(
3499        zobj: *mut zend_object,
3500        prop_info_name: *const ::std::os::raw::c_char,
3501        prop_info_name_len: ::std::os::raw::c_int,
3502    ) -> ::std::os::raw::c_int;
3503}
3504extern "C" {
3505    pub fn zend_std_call_user_call(
3506        ht: ::std::os::raw::c_int,
3507        return_value: *mut zval,
3508        return_value_ptr: *mut *mut zval,
3509        this_ptr: *mut zval,
3510        return_value_used: ::std::os::raw::c_int,
3511    );
3512}
3513#[repr(C)]
3514#[derive(Copy, Clone)]
3515pub union _zvalue_value {
3516    pub lval: ::std::os::raw::c_long,
3517    pub dval: f64,
3518    pub str_: _zvalue_value__bindgen_ty_1,
3519    pub ht: *mut HashTable,
3520    pub obj: zend_object_value,
3521    _bindgen_union_align: [u64; 2usize],
3522}
3523#[repr(C)]
3524#[derive(Debug, Copy, Clone)]
3525pub struct _zvalue_value__bindgen_ty_1 {
3526    pub val: *mut ::std::os::raw::c_char,
3527    pub len: ::std::os::raw::c_int,
3528}
3529#[test]
3530fn bindgen_test_layout__zvalue_value__bindgen_ty_1() {
3531    assert_eq!(
3532        ::std::mem::size_of::<_zvalue_value__bindgen_ty_1>(),
3533        16usize,
3534        concat!("Size of: ", stringify!(_zvalue_value__bindgen_ty_1))
3535    );
3536    assert_eq!(
3537        ::std::mem::align_of::<_zvalue_value__bindgen_ty_1>(),
3538        8usize,
3539        concat!("Alignment of ", stringify!(_zvalue_value__bindgen_ty_1))
3540    );
3541    assert_eq!(
3542        unsafe { &(*(::std::ptr::null::<_zvalue_value__bindgen_ty_1>())).val as *const _ as usize },
3543        0usize,
3544        concat!(
3545            "Offset of field: ",
3546            stringify!(_zvalue_value__bindgen_ty_1),
3547            "::",
3548            stringify!(val)
3549        )
3550    );
3551    assert_eq!(
3552        unsafe { &(*(::std::ptr::null::<_zvalue_value__bindgen_ty_1>())).len as *const _ as usize },
3553        8usize,
3554        concat!(
3555            "Offset of field: ",
3556            stringify!(_zvalue_value__bindgen_ty_1),
3557            "::",
3558            stringify!(len)
3559        )
3560    );
3561}
3562#[test]
3563fn bindgen_test_layout__zvalue_value() {
3564    assert_eq!(
3565        ::std::mem::size_of::<_zvalue_value>(),
3566        16usize,
3567        concat!("Size of: ", stringify!(_zvalue_value))
3568    );
3569    assert_eq!(
3570        ::std::mem::align_of::<_zvalue_value>(),
3571        8usize,
3572        concat!("Alignment of ", stringify!(_zvalue_value))
3573    );
3574    assert_eq!(
3575        unsafe { &(*(::std::ptr::null::<_zvalue_value>())).lval as *const _ as usize },
3576        0usize,
3577        concat!(
3578            "Offset of field: ",
3579            stringify!(_zvalue_value),
3580            "::",
3581            stringify!(lval)
3582        )
3583    );
3584    assert_eq!(
3585        unsafe { &(*(::std::ptr::null::<_zvalue_value>())).dval as *const _ as usize },
3586        0usize,
3587        concat!(
3588            "Offset of field: ",
3589            stringify!(_zvalue_value),
3590            "::",
3591            stringify!(dval)
3592        )
3593    );
3594    assert_eq!(
3595        unsafe { &(*(::std::ptr::null::<_zvalue_value>())).str_ as *const _ as usize },
3596        0usize,
3597        concat!(
3598            "Offset of field: ",
3599            stringify!(_zvalue_value),
3600            "::",
3601            stringify!(str_)
3602        )
3603    );
3604    assert_eq!(
3605        unsafe { &(*(::std::ptr::null::<_zvalue_value>())).ht as *const _ as usize },
3606        0usize,
3607        concat!(
3608            "Offset of field: ",
3609            stringify!(_zvalue_value),
3610            "::",
3611            stringify!(ht)
3612        )
3613    );
3614    assert_eq!(
3615        unsafe { &(*(::std::ptr::null::<_zvalue_value>())).obj as *const _ as usize },
3616        0usize,
3617        concat!(
3618            "Offset of field: ",
3619            stringify!(_zvalue_value),
3620            "::",
3621            stringify!(obj)
3622        )
3623    );
3624}
3625pub type zvalue_value = _zvalue_value;
3626#[repr(C)]
3627#[derive(Copy, Clone)]
3628pub struct _zval_struct {
3629    pub value: zvalue_value,
3630    pub refcount__gc: zend_uint,
3631    pub type_: zend_uchar,
3632    pub is_ref__gc: zend_uchar,
3633}
3634#[test]
3635fn bindgen_test_layout__zval_struct() {
3636    assert_eq!(
3637        ::std::mem::size_of::<_zval_struct>(),
3638        24usize,
3639        concat!("Size of: ", stringify!(_zval_struct))
3640    );
3641    assert_eq!(
3642        ::std::mem::align_of::<_zval_struct>(),
3643        8usize,
3644        concat!("Alignment of ", stringify!(_zval_struct))
3645    );
3646    assert_eq!(
3647        unsafe { &(*(::std::ptr::null::<_zval_struct>())).value as *const _ as usize },
3648        0usize,
3649        concat!(
3650            "Offset of field: ",
3651            stringify!(_zval_struct),
3652            "::",
3653            stringify!(value)
3654        )
3655    );
3656    assert_eq!(
3657        unsafe { &(*(::std::ptr::null::<_zval_struct>())).refcount__gc as *const _ as usize },
3658        16usize,
3659        concat!(
3660            "Offset of field: ",
3661            stringify!(_zval_struct),
3662            "::",
3663            stringify!(refcount__gc)
3664        )
3665    );
3666    assert_eq!(
3667        unsafe { &(*(::std::ptr::null::<_zval_struct>())).type_ as *const _ as usize },
3668        20usize,
3669        concat!(
3670            "Offset of field: ",
3671            stringify!(_zval_struct),
3672            "::",
3673            stringify!(type_)
3674        )
3675    );
3676    assert_eq!(
3677        unsafe { &(*(::std::ptr::null::<_zval_struct>())).is_ref__gc as *const _ as usize },
3678        21usize,
3679        concat!(
3680            "Offset of field: ",
3681            stringify!(_zval_struct),
3682            "::",
3683            stringify!(is_ref__gc)
3684        )
3685    );
3686}
3687pub type zend_object_iterator = _zend_object_iterator;
3688#[repr(C)]
3689#[derive(Debug, Copy, Clone)]
3690pub struct _zend_object_iterator_funcs {
3691    pub dtor: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
3692    pub valid: ::std::option::Option<
3693        unsafe extern "C" fn(iter: *mut zend_object_iterator) -> ::std::os::raw::c_int,
3694    >,
3695    pub get_current_data: ::std::option::Option<
3696        unsafe extern "C" fn(iter: *mut zend_object_iterator, data: *mut *mut *mut zval),
3697    >,
3698    pub get_current_key: ::std::option::Option<
3699        unsafe extern "C" fn(
3700            iter: *mut zend_object_iterator,
3701            str_key: *mut *mut ::std::os::raw::c_char,
3702            str_key_len: *mut uint,
3703            int_key: *mut ulong,
3704        ) -> ::std::os::raw::c_int,
3705    >,
3706    pub move_forward: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
3707    pub rewind: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
3708    pub invalidate_current:
3709        ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
3710}
3711#[test]
3712fn bindgen_test_layout__zend_object_iterator_funcs() {
3713    assert_eq!(
3714        ::std::mem::size_of::<_zend_object_iterator_funcs>(),
3715        56usize,
3716        concat!("Size of: ", stringify!(_zend_object_iterator_funcs))
3717    );
3718    assert_eq!(
3719        ::std::mem::align_of::<_zend_object_iterator_funcs>(),
3720        8usize,
3721        concat!("Alignment of ", stringify!(_zend_object_iterator_funcs))
3722    );
3723    assert_eq!(
3724        unsafe {
3725            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).dtor as *const _ as usize
3726        },
3727        0usize,
3728        concat!(
3729            "Offset of field: ",
3730            stringify!(_zend_object_iterator_funcs),
3731            "::",
3732            stringify!(dtor)
3733        )
3734    );
3735    assert_eq!(
3736        unsafe {
3737            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).valid as *const _ as usize
3738        },
3739        8usize,
3740        concat!(
3741            "Offset of field: ",
3742            stringify!(_zend_object_iterator_funcs),
3743            "::",
3744            stringify!(valid)
3745        )
3746    );
3747    assert_eq!(
3748        unsafe {
3749            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).get_current_data as *const _
3750                as usize
3751        },
3752        16usize,
3753        concat!(
3754            "Offset of field: ",
3755            stringify!(_zend_object_iterator_funcs),
3756            "::",
3757            stringify!(get_current_data)
3758        )
3759    );
3760    assert_eq!(
3761        unsafe {
3762            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).get_current_key as *const _
3763                as usize
3764        },
3765        24usize,
3766        concat!(
3767            "Offset of field: ",
3768            stringify!(_zend_object_iterator_funcs),
3769            "::",
3770            stringify!(get_current_key)
3771        )
3772    );
3773    assert_eq!(
3774        unsafe {
3775            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).move_forward as *const _
3776                as usize
3777        },
3778        32usize,
3779        concat!(
3780            "Offset of field: ",
3781            stringify!(_zend_object_iterator_funcs),
3782            "::",
3783            stringify!(move_forward)
3784        )
3785    );
3786    assert_eq!(
3787        unsafe {
3788            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).rewind as *const _ as usize
3789        },
3790        40usize,
3791        concat!(
3792            "Offset of field: ",
3793            stringify!(_zend_object_iterator_funcs),
3794            "::",
3795            stringify!(rewind)
3796        )
3797    );
3798    assert_eq!(
3799        unsafe {
3800            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).invalidate_current as *const _
3801                as usize
3802        },
3803        48usize,
3804        concat!(
3805            "Offset of field: ",
3806            stringify!(_zend_object_iterator_funcs),
3807            "::",
3808            stringify!(invalidate_current)
3809        )
3810    );
3811}
3812pub type zend_object_iterator_funcs = _zend_object_iterator_funcs;
3813#[repr(C)]
3814#[derive(Debug, Copy, Clone)]
3815pub struct _zend_object_iterator {
3816    pub data: *mut ::std::os::raw::c_void,
3817    pub funcs: *mut zend_object_iterator_funcs,
3818    pub index: ulong,
3819}
3820#[test]
3821fn bindgen_test_layout__zend_object_iterator() {
3822    assert_eq!(
3823        ::std::mem::size_of::<_zend_object_iterator>(),
3824        24usize,
3825        concat!("Size of: ", stringify!(_zend_object_iterator))
3826    );
3827    assert_eq!(
3828        ::std::mem::align_of::<_zend_object_iterator>(),
3829        8usize,
3830        concat!("Alignment of ", stringify!(_zend_object_iterator))
3831    );
3832    assert_eq!(
3833        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).data as *const _ as usize },
3834        0usize,
3835        concat!(
3836            "Offset of field: ",
3837            stringify!(_zend_object_iterator),
3838            "::",
3839            stringify!(data)
3840        )
3841    );
3842    assert_eq!(
3843        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).funcs as *const _ as usize },
3844        8usize,
3845        concat!(
3846            "Offset of field: ",
3847            stringify!(_zend_object_iterator),
3848            "::",
3849            stringify!(funcs)
3850        )
3851    );
3852    assert_eq!(
3853        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).index as *const _ as usize },
3854        16usize,
3855        concat!(
3856            "Offset of field: ",
3857            stringify!(_zend_object_iterator),
3858            "::",
3859            stringify!(index)
3860        )
3861    );
3862}
3863#[repr(C)]
3864#[derive(Debug, Copy, Clone)]
3865pub struct _zend_class_iterator_funcs {
3866    pub funcs: *mut zend_object_iterator_funcs,
3867    pub zf_new_iterator: *mut _zend_function,
3868    pub zf_valid: *mut _zend_function,
3869    pub zf_current: *mut _zend_function,
3870    pub zf_key: *mut _zend_function,
3871    pub zf_next: *mut _zend_function,
3872    pub zf_rewind: *mut _zend_function,
3873}
3874#[test]
3875fn bindgen_test_layout__zend_class_iterator_funcs() {
3876    assert_eq!(
3877        ::std::mem::size_of::<_zend_class_iterator_funcs>(),
3878        56usize,
3879        concat!("Size of: ", stringify!(_zend_class_iterator_funcs))
3880    );
3881    assert_eq!(
3882        ::std::mem::align_of::<_zend_class_iterator_funcs>(),
3883        8usize,
3884        concat!("Alignment of ", stringify!(_zend_class_iterator_funcs))
3885    );
3886    assert_eq!(
3887        unsafe {
3888            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).funcs as *const _ as usize
3889        },
3890        0usize,
3891        concat!(
3892            "Offset of field: ",
3893            stringify!(_zend_class_iterator_funcs),
3894            "::",
3895            stringify!(funcs)
3896        )
3897    );
3898    assert_eq!(
3899        unsafe {
3900            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_new_iterator as *const _
3901                as usize
3902        },
3903        8usize,
3904        concat!(
3905            "Offset of field: ",
3906            stringify!(_zend_class_iterator_funcs),
3907            "::",
3908            stringify!(zf_new_iterator)
3909        )
3910    );
3911    assert_eq!(
3912        unsafe {
3913            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_valid as *const _ as usize
3914        },
3915        16usize,
3916        concat!(
3917            "Offset of field: ",
3918            stringify!(_zend_class_iterator_funcs),
3919            "::",
3920            stringify!(zf_valid)
3921        )
3922    );
3923    assert_eq!(
3924        unsafe {
3925            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_current as *const _ as usize
3926        },
3927        24usize,
3928        concat!(
3929            "Offset of field: ",
3930            stringify!(_zend_class_iterator_funcs),
3931            "::",
3932            stringify!(zf_current)
3933        )
3934    );
3935    assert_eq!(
3936        unsafe {
3937            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_key as *const _ as usize
3938        },
3939        32usize,
3940        concat!(
3941            "Offset of field: ",
3942            stringify!(_zend_class_iterator_funcs),
3943            "::",
3944            stringify!(zf_key)
3945        )
3946    );
3947    assert_eq!(
3948        unsafe {
3949            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_next as *const _ as usize
3950        },
3951        40usize,
3952        concat!(
3953            "Offset of field: ",
3954            stringify!(_zend_class_iterator_funcs),
3955            "::",
3956            stringify!(zf_next)
3957        )
3958    );
3959    assert_eq!(
3960        unsafe {
3961            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_rewind as *const _ as usize
3962        },
3963        48usize,
3964        concat!(
3965            "Offset of field: ",
3966            stringify!(_zend_class_iterator_funcs),
3967            "::",
3968            stringify!(zf_rewind)
3969        )
3970    );
3971}
3972pub type zend_class_iterator_funcs = _zend_class_iterator_funcs;
3973pub const zend_object_iterator_kind_ZEND_ITER_INVALID: zend_object_iterator_kind = 0;
3974pub const zend_object_iterator_kind_ZEND_ITER_PLAIN_ARRAY: zend_object_iterator_kind = 1;
3975pub const zend_object_iterator_kind_ZEND_ITER_PLAIN_OBJECT: zend_object_iterator_kind = 2;
3976pub const zend_object_iterator_kind_ZEND_ITER_OBJECT: zend_object_iterator_kind = 3;
3977pub type zend_object_iterator_kind = ::std::os::raw::c_uint;
3978extern "C" {
3979    pub fn zend_iterator_unwrap(
3980        array_ptr: *mut zval,
3981        iter: *mut *mut zend_object_iterator,
3982    ) -> zend_object_iterator_kind;
3983}
3984extern "C" {
3985    pub fn zend_iterator_wrap(iter: *mut zend_object_iterator) -> *mut zval;
3986}
3987extern "C" {
3988    pub fn zend_register_iterator_wrapper();
3989}
3990#[repr(C)]
3991#[derive(Debug, Copy, Clone)]
3992pub struct _zend_serialize_data {
3993    _unused: [u8; 0],
3994}
3995#[repr(C)]
3996#[derive(Debug, Copy, Clone)]
3997pub struct _zend_unserialize_data {
3998    _unused: [u8; 0],
3999}
4000pub type zend_serialize_data = _zend_serialize_data;
4001pub type zend_unserialize_data = _zend_unserialize_data;
4002#[repr(C)]
4003#[derive(Debug, Copy, Clone)]
4004pub struct _zend_trait_method_reference {
4005    pub method_name: *const ::std::os::raw::c_char,
4006    pub mname_len: ::std::os::raw::c_uint,
4007    pub ce: *mut zend_class_entry,
4008    pub class_name: *const ::std::os::raw::c_char,
4009    pub cname_len: ::std::os::raw::c_uint,
4010}
4011#[test]
4012fn bindgen_test_layout__zend_trait_method_reference() {
4013    assert_eq!(
4014        ::std::mem::size_of::<_zend_trait_method_reference>(),
4015        40usize,
4016        concat!("Size of: ", stringify!(_zend_trait_method_reference))
4017    );
4018    assert_eq!(
4019        ::std::mem::align_of::<_zend_trait_method_reference>(),
4020        8usize,
4021        concat!("Alignment of ", stringify!(_zend_trait_method_reference))
4022    );
4023    assert_eq!(
4024        unsafe {
4025            &(*(::std::ptr::null::<_zend_trait_method_reference>())).method_name as *const _
4026                as usize
4027        },
4028        0usize,
4029        concat!(
4030            "Offset of field: ",
4031            stringify!(_zend_trait_method_reference),
4032            "::",
4033            stringify!(method_name)
4034        )
4035    );
4036    assert_eq!(
4037        unsafe {
4038            &(*(::std::ptr::null::<_zend_trait_method_reference>())).mname_len as *const _ as usize
4039        },
4040        8usize,
4041        concat!(
4042            "Offset of field: ",
4043            stringify!(_zend_trait_method_reference),
4044            "::",
4045            stringify!(mname_len)
4046        )
4047    );
4048    assert_eq!(
4049        unsafe { &(*(::std::ptr::null::<_zend_trait_method_reference>())).ce as *const _ as usize },
4050        16usize,
4051        concat!(
4052            "Offset of field: ",
4053            stringify!(_zend_trait_method_reference),
4054            "::",
4055            stringify!(ce)
4056        )
4057    );
4058    assert_eq!(
4059        unsafe {
4060            &(*(::std::ptr::null::<_zend_trait_method_reference>())).class_name as *const _ as usize
4061        },
4062        24usize,
4063        concat!(
4064            "Offset of field: ",
4065            stringify!(_zend_trait_method_reference),
4066            "::",
4067            stringify!(class_name)
4068        )
4069    );
4070    assert_eq!(
4071        unsafe {
4072            &(*(::std::ptr::null::<_zend_trait_method_reference>())).cname_len as *const _ as usize
4073        },
4074        32usize,
4075        concat!(
4076            "Offset of field: ",
4077            stringify!(_zend_trait_method_reference),
4078            "::",
4079            stringify!(cname_len)
4080        )
4081    );
4082}
4083pub type zend_trait_method_reference = _zend_trait_method_reference;
4084#[repr(C)]
4085#[derive(Debug, Copy, Clone)]
4086pub struct _zend_trait_precedence {
4087    pub trait_method: *mut zend_trait_method_reference,
4088    pub exclude_from_classes: *mut *mut zend_class_entry,
4089    pub function: *mut _zend_function,
4090}
4091#[test]
4092fn bindgen_test_layout__zend_trait_precedence() {
4093    assert_eq!(
4094        ::std::mem::size_of::<_zend_trait_precedence>(),
4095        24usize,
4096        concat!("Size of: ", stringify!(_zend_trait_precedence))
4097    );
4098    assert_eq!(
4099        ::std::mem::align_of::<_zend_trait_precedence>(),
4100        8usize,
4101        concat!("Alignment of ", stringify!(_zend_trait_precedence))
4102    );
4103    assert_eq!(
4104        unsafe {
4105            &(*(::std::ptr::null::<_zend_trait_precedence>())).trait_method as *const _ as usize
4106        },
4107        0usize,
4108        concat!(
4109            "Offset of field: ",
4110            stringify!(_zend_trait_precedence),
4111            "::",
4112            stringify!(trait_method)
4113        )
4114    );
4115    assert_eq!(
4116        unsafe {
4117            &(*(::std::ptr::null::<_zend_trait_precedence>())).exclude_from_classes as *const _
4118                as usize
4119        },
4120        8usize,
4121        concat!(
4122            "Offset of field: ",
4123            stringify!(_zend_trait_precedence),
4124            "::",
4125            stringify!(exclude_from_classes)
4126        )
4127    );
4128    assert_eq!(
4129        unsafe { &(*(::std::ptr::null::<_zend_trait_precedence>())).function as *const _ as usize },
4130        16usize,
4131        concat!(
4132            "Offset of field: ",
4133            stringify!(_zend_trait_precedence),
4134            "::",
4135            stringify!(function)
4136        )
4137    );
4138}
4139pub type zend_trait_precedence = _zend_trait_precedence;
4140#[repr(C)]
4141#[derive(Debug, Copy, Clone)]
4142pub struct _zend_trait_alias {
4143    pub trait_method: *mut zend_trait_method_reference,
4144    #[doc = " name for method to be added"]
4145    pub alias: *const ::std::os::raw::c_char,
4146    pub alias_len: ::std::os::raw::c_uint,
4147    #[doc = " modifiers to be set on trait method"]
4148    pub modifiers: zend_uint,
4149    pub function: *mut _zend_function,
4150}
4151#[test]
4152fn bindgen_test_layout__zend_trait_alias() {
4153    assert_eq!(
4154        ::std::mem::size_of::<_zend_trait_alias>(),
4155        32usize,
4156        concat!("Size of: ", stringify!(_zend_trait_alias))
4157    );
4158    assert_eq!(
4159        ::std::mem::align_of::<_zend_trait_alias>(),
4160        8usize,
4161        concat!("Alignment of ", stringify!(_zend_trait_alias))
4162    );
4163    assert_eq!(
4164        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).trait_method as *const _ as usize },
4165        0usize,
4166        concat!(
4167            "Offset of field: ",
4168            stringify!(_zend_trait_alias),
4169            "::",
4170            stringify!(trait_method)
4171        )
4172    );
4173    assert_eq!(
4174        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).alias as *const _ as usize },
4175        8usize,
4176        concat!(
4177            "Offset of field: ",
4178            stringify!(_zend_trait_alias),
4179            "::",
4180            stringify!(alias)
4181        )
4182    );
4183    assert_eq!(
4184        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).alias_len as *const _ as usize },
4185        16usize,
4186        concat!(
4187            "Offset of field: ",
4188            stringify!(_zend_trait_alias),
4189            "::",
4190            stringify!(alias_len)
4191        )
4192    );
4193    assert_eq!(
4194        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).modifiers as *const _ as usize },
4195        20usize,
4196        concat!(
4197            "Offset of field: ",
4198            stringify!(_zend_trait_alias),
4199            "::",
4200            stringify!(modifiers)
4201        )
4202    );
4203    assert_eq!(
4204        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).function as *const _ as usize },
4205        24usize,
4206        concat!(
4207            "Offset of field: ",
4208            stringify!(_zend_trait_alias),
4209            "::",
4210            stringify!(function)
4211        )
4212    );
4213}
4214pub type zend_trait_alias = _zend_trait_alias;
4215#[repr(C)]
4216#[derive(Copy, Clone)]
4217pub struct _zend_class_entry {
4218    pub type_: ::std::os::raw::c_char,
4219    pub name: *const ::std::os::raw::c_char,
4220    pub name_length: zend_uint,
4221    pub parent: *mut _zend_class_entry,
4222    pub refcount: ::std::os::raw::c_int,
4223    pub ce_flags: zend_uint,
4224    pub function_table: HashTable,
4225    pub properties_info: HashTable,
4226    pub default_properties_table: *mut *mut zval,
4227    pub default_static_members_table: *mut *mut zval,
4228    pub static_members_table: *mut *mut zval,
4229    pub constants_table: HashTable,
4230    pub default_properties_count: ::std::os::raw::c_int,
4231    pub default_static_members_count: ::std::os::raw::c_int,
4232    pub constructor: *mut _zend_function,
4233    pub destructor: *mut _zend_function,
4234    pub clone: *mut _zend_function,
4235    pub __get: *mut _zend_function,
4236    pub __set: *mut _zend_function,
4237    pub __unset: *mut _zend_function,
4238    pub __isset: *mut _zend_function,
4239    pub __call: *mut _zend_function,
4240    pub __callstatic: *mut _zend_function,
4241    pub __tostring: *mut _zend_function,
4242    pub serialize_func: *mut _zend_function,
4243    pub unserialize_func: *mut _zend_function,
4244    pub iterator_funcs: zend_class_iterator_funcs,
4245    pub create_object: ::std::option::Option<
4246        unsafe extern "C" fn(class_type: *mut zend_class_entry) -> zend_object_value,
4247    >,
4248    pub get_iterator: ::std::option::Option<
4249        unsafe extern "C" fn(
4250            ce: *mut zend_class_entry,
4251            object: *mut zval,
4252            by_ref: ::std::os::raw::c_int,
4253        ) -> *mut zend_object_iterator,
4254    >,
4255    pub interface_gets_implemented: ::std::option::Option<
4256        unsafe extern "C" fn(
4257            iface: *mut zend_class_entry,
4258            class_type: *mut zend_class_entry,
4259        ) -> ::std::os::raw::c_int,
4260    >,
4261    pub get_static_method: ::std::option::Option<
4262        unsafe extern "C" fn(
4263            ce: *mut zend_class_entry,
4264            method: *mut ::std::os::raw::c_char,
4265            method_len: ::std::os::raw::c_int,
4266        ) -> *mut _zend_function,
4267    >,
4268    pub serialize: ::std::option::Option<
4269        unsafe extern "C" fn(
4270            object: *mut zval,
4271            buffer: *mut *mut ::std::os::raw::c_uchar,
4272            buf_len: *mut zend_uint,
4273            data: *mut zend_serialize_data,
4274        ) -> ::std::os::raw::c_int,
4275    >,
4276    pub unserialize: ::std::option::Option<
4277        unsafe extern "C" fn(
4278            object: *mut *mut zval,
4279            ce: *mut zend_class_entry,
4280            buf: *const ::std::os::raw::c_uchar,
4281            buf_len: zend_uint,
4282            data: *mut zend_unserialize_data,
4283        ) -> ::std::os::raw::c_int,
4284    >,
4285    pub interfaces: *mut *mut zend_class_entry,
4286    pub num_interfaces: zend_uint,
4287    pub traits: *mut *mut zend_class_entry,
4288    pub num_traits: zend_uint,
4289    pub trait_aliases: *mut *mut zend_trait_alias,
4290    pub trait_precedences: *mut *mut zend_trait_precedence,
4291    pub info: _zend_class_entry__bindgen_ty_1,
4292}
4293#[repr(C)]
4294#[derive(Copy, Clone)]
4295pub union _zend_class_entry__bindgen_ty_1 {
4296    pub user: _zend_class_entry__bindgen_ty_1__bindgen_ty_1,
4297    pub internal: _zend_class_entry__bindgen_ty_1__bindgen_ty_2,
4298    _bindgen_union_align: [u64; 4usize],
4299}
4300#[repr(C)]
4301#[derive(Debug, Copy, Clone)]
4302pub struct _zend_class_entry__bindgen_ty_1__bindgen_ty_1 {
4303    pub filename: *const ::std::os::raw::c_char,
4304    pub line_start: zend_uint,
4305    pub line_end: zend_uint,
4306    pub doc_comment: *const ::std::os::raw::c_char,
4307    pub doc_comment_len: zend_uint,
4308}
4309#[test]
4310fn bindgen_test_layout__zend_class_entry__bindgen_ty_1__bindgen_ty_1() {
4311    assert_eq!(
4312        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_1__bindgen_ty_1>(),
4313        32usize,
4314        concat!(
4315            "Size of: ",
4316            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_1)
4317        )
4318    );
4319    assert_eq!(
4320        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_1__bindgen_ty_1>(),
4321        8usize,
4322        concat!(
4323            "Alignment of ",
4324            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_1)
4325        )
4326    );
4327    assert_eq!(
4328        unsafe {
4329            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1__bindgen_ty_1>())).filename
4330                as *const _ as usize
4331        },
4332        0usize,
4333        concat!(
4334            "Offset of field: ",
4335            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_1),
4336            "::",
4337            stringify!(filename)
4338        )
4339    );
4340    assert_eq!(
4341        unsafe {
4342            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1__bindgen_ty_1>())).line_start
4343                as *const _ as usize
4344        },
4345        8usize,
4346        concat!(
4347            "Offset of field: ",
4348            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_1),
4349            "::",
4350            stringify!(line_start)
4351        )
4352    );
4353    assert_eq!(
4354        unsafe {
4355            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1__bindgen_ty_1>())).line_end
4356                as *const _ as usize
4357        },
4358        12usize,
4359        concat!(
4360            "Offset of field: ",
4361            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_1),
4362            "::",
4363            stringify!(line_end)
4364        )
4365    );
4366    assert_eq!(
4367        unsafe {
4368            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1__bindgen_ty_1>())).doc_comment
4369                as *const _ as usize
4370        },
4371        16usize,
4372        concat!(
4373            "Offset of field: ",
4374            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_1),
4375            "::",
4376            stringify!(doc_comment)
4377        )
4378    );
4379    assert_eq!(
4380        unsafe {
4381            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1__bindgen_ty_1>()))
4382                .doc_comment_len as *const _ as usize
4383        },
4384        24usize,
4385        concat!(
4386            "Offset of field: ",
4387            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_1),
4388            "::",
4389            stringify!(doc_comment_len)
4390        )
4391    );
4392}
4393#[repr(C)]
4394#[derive(Debug, Copy, Clone)]
4395pub struct _zend_class_entry__bindgen_ty_1__bindgen_ty_2 {
4396    pub builtin_functions: *const _zend_function_entry,
4397    pub module: *mut _zend_module_entry,
4398}
4399#[test]
4400fn bindgen_test_layout__zend_class_entry__bindgen_ty_1__bindgen_ty_2() {
4401    assert_eq!(
4402        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_1__bindgen_ty_2>(),
4403        16usize,
4404        concat!(
4405            "Size of: ",
4406            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_2)
4407        )
4408    );
4409    assert_eq!(
4410        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_1__bindgen_ty_2>(),
4411        8usize,
4412        concat!(
4413            "Alignment of ",
4414            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_2)
4415        )
4416    );
4417    assert_eq!(
4418        unsafe {
4419            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1__bindgen_ty_2>()))
4420                .builtin_functions as *const _ as usize
4421        },
4422        0usize,
4423        concat!(
4424            "Offset of field: ",
4425            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_2),
4426            "::",
4427            stringify!(builtin_functions)
4428        )
4429    );
4430    assert_eq!(
4431        unsafe {
4432            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1__bindgen_ty_2>())).module
4433                as *const _ as usize
4434        },
4435        8usize,
4436        concat!(
4437            "Offset of field: ",
4438            stringify!(_zend_class_entry__bindgen_ty_1__bindgen_ty_2),
4439            "::",
4440            stringify!(module)
4441        )
4442    );
4443}
4444#[test]
4445fn bindgen_test_layout__zend_class_entry__bindgen_ty_1() {
4446    assert_eq!(
4447        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_1>(),
4448        32usize,
4449        concat!("Size of: ", stringify!(_zend_class_entry__bindgen_ty_1))
4450    );
4451    assert_eq!(
4452        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_1>(),
4453        8usize,
4454        concat!("Alignment of ", stringify!(_zend_class_entry__bindgen_ty_1))
4455    );
4456    assert_eq!(
4457        unsafe {
4458            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1>())).user as *const _ as usize
4459        },
4460        0usize,
4461        concat!(
4462            "Offset of field: ",
4463            stringify!(_zend_class_entry__bindgen_ty_1),
4464            "::",
4465            stringify!(user)
4466        )
4467    );
4468    assert_eq!(
4469        unsafe {
4470            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1>())).internal as *const _
4471                as usize
4472        },
4473        0usize,
4474        concat!(
4475            "Offset of field: ",
4476            stringify!(_zend_class_entry__bindgen_ty_1),
4477            "::",
4478            stringify!(internal)
4479        )
4480    );
4481}
4482#[test]
4483fn bindgen_test_layout__zend_class_entry() {
4484    assert_eq!(
4485        ::std::mem::size_of::<_zend_class_entry>(),
4486        568usize,
4487        concat!("Size of: ", stringify!(_zend_class_entry))
4488    );
4489    assert_eq!(
4490        ::std::mem::align_of::<_zend_class_entry>(),
4491        8usize,
4492        concat!("Alignment of ", stringify!(_zend_class_entry))
4493    );
4494    assert_eq!(
4495        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).type_ as *const _ as usize },
4496        0usize,
4497        concat!(
4498            "Offset of field: ",
4499            stringify!(_zend_class_entry),
4500            "::",
4501            stringify!(type_)
4502        )
4503    );
4504    assert_eq!(
4505        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).name as *const _ as usize },
4506        8usize,
4507        concat!(
4508            "Offset of field: ",
4509            stringify!(_zend_class_entry),
4510            "::",
4511            stringify!(name)
4512        )
4513    );
4514    assert_eq!(
4515        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).name_length as *const _ as usize },
4516        16usize,
4517        concat!(
4518            "Offset of field: ",
4519            stringify!(_zend_class_entry),
4520            "::",
4521            stringify!(name_length)
4522        )
4523    );
4524    assert_eq!(
4525        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).parent as *const _ as usize },
4526        24usize,
4527        concat!(
4528            "Offset of field: ",
4529            stringify!(_zend_class_entry),
4530            "::",
4531            stringify!(parent)
4532        )
4533    );
4534    assert_eq!(
4535        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).refcount as *const _ as usize },
4536        32usize,
4537        concat!(
4538            "Offset of field: ",
4539            stringify!(_zend_class_entry),
4540            "::",
4541            stringify!(refcount)
4542        )
4543    );
4544    assert_eq!(
4545        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).ce_flags as *const _ as usize },
4546        36usize,
4547        concat!(
4548            "Offset of field: ",
4549            stringify!(_zend_class_entry),
4550            "::",
4551            stringify!(ce_flags)
4552        )
4553    );
4554    assert_eq!(
4555        unsafe {
4556            &(*(::std::ptr::null::<_zend_class_entry>())).function_table as *const _ as usize
4557        },
4558        40usize,
4559        concat!(
4560            "Offset of field: ",
4561            stringify!(_zend_class_entry),
4562            "::",
4563            stringify!(function_table)
4564        )
4565    );
4566    assert_eq!(
4567        unsafe {
4568            &(*(::std::ptr::null::<_zend_class_entry>())).properties_info as *const _ as usize
4569        },
4570        112usize,
4571        concat!(
4572            "Offset of field: ",
4573            stringify!(_zend_class_entry),
4574            "::",
4575            stringify!(properties_info)
4576        )
4577    );
4578    assert_eq!(
4579        unsafe {
4580            &(*(::std::ptr::null::<_zend_class_entry>())).default_properties_table as *const _
4581                as usize
4582        },
4583        184usize,
4584        concat!(
4585            "Offset of field: ",
4586            stringify!(_zend_class_entry),
4587            "::",
4588            stringify!(default_properties_table)
4589        )
4590    );
4591    assert_eq!(
4592        unsafe {
4593            &(*(::std::ptr::null::<_zend_class_entry>())).default_static_members_table as *const _
4594                as usize
4595        },
4596        192usize,
4597        concat!(
4598            "Offset of field: ",
4599            stringify!(_zend_class_entry),
4600            "::",
4601            stringify!(default_static_members_table)
4602        )
4603    );
4604    assert_eq!(
4605        unsafe {
4606            &(*(::std::ptr::null::<_zend_class_entry>())).static_members_table as *const _ as usize
4607        },
4608        200usize,
4609        concat!(
4610            "Offset of field: ",
4611            stringify!(_zend_class_entry),
4612            "::",
4613            stringify!(static_members_table)
4614        )
4615    );
4616    assert_eq!(
4617        unsafe {
4618            &(*(::std::ptr::null::<_zend_class_entry>())).constants_table as *const _ as usize
4619        },
4620        208usize,
4621        concat!(
4622            "Offset of field: ",
4623            stringify!(_zend_class_entry),
4624            "::",
4625            stringify!(constants_table)
4626        )
4627    );
4628    assert_eq!(
4629        unsafe {
4630            &(*(::std::ptr::null::<_zend_class_entry>())).default_properties_count as *const _
4631                as usize
4632        },
4633        280usize,
4634        concat!(
4635            "Offset of field: ",
4636            stringify!(_zend_class_entry),
4637            "::",
4638            stringify!(default_properties_count)
4639        )
4640    );
4641    assert_eq!(
4642        unsafe {
4643            &(*(::std::ptr::null::<_zend_class_entry>())).default_static_members_count as *const _
4644                as usize
4645        },
4646        284usize,
4647        concat!(
4648            "Offset of field: ",
4649            stringify!(_zend_class_entry),
4650            "::",
4651            stringify!(default_static_members_count)
4652        )
4653    );
4654    assert_eq!(
4655        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).constructor as *const _ as usize },
4656        288usize,
4657        concat!(
4658            "Offset of field: ",
4659            stringify!(_zend_class_entry),
4660            "::",
4661            stringify!(constructor)
4662        )
4663    );
4664    assert_eq!(
4665        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).destructor as *const _ as usize },
4666        296usize,
4667        concat!(
4668            "Offset of field: ",
4669            stringify!(_zend_class_entry),
4670            "::",
4671            stringify!(destructor)
4672        )
4673    );
4674    assert_eq!(
4675        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).clone as *const _ as usize },
4676        304usize,
4677        concat!(
4678            "Offset of field: ",
4679            stringify!(_zend_class_entry),
4680            "::",
4681            stringify!(clone)
4682        )
4683    );
4684    assert_eq!(
4685        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__get as *const _ as usize },
4686        312usize,
4687        concat!(
4688            "Offset of field: ",
4689            stringify!(_zend_class_entry),
4690            "::",
4691            stringify!(__get)
4692        )
4693    );
4694    assert_eq!(
4695        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__set as *const _ as usize },
4696        320usize,
4697        concat!(
4698            "Offset of field: ",
4699            stringify!(_zend_class_entry),
4700            "::",
4701            stringify!(__set)
4702        )
4703    );
4704    assert_eq!(
4705        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__unset as *const _ as usize },
4706        328usize,
4707        concat!(
4708            "Offset of field: ",
4709            stringify!(_zend_class_entry),
4710            "::",
4711            stringify!(__unset)
4712        )
4713    );
4714    assert_eq!(
4715        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__isset as *const _ as usize },
4716        336usize,
4717        concat!(
4718            "Offset of field: ",
4719            stringify!(_zend_class_entry),
4720            "::",
4721            stringify!(__isset)
4722        )
4723    );
4724    assert_eq!(
4725        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__call as *const _ as usize },
4726        344usize,
4727        concat!(
4728            "Offset of field: ",
4729            stringify!(_zend_class_entry),
4730            "::",
4731            stringify!(__call)
4732        )
4733    );
4734    assert_eq!(
4735        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__callstatic as *const _ as usize },
4736        352usize,
4737        concat!(
4738            "Offset of field: ",
4739            stringify!(_zend_class_entry),
4740            "::",
4741            stringify!(__callstatic)
4742        )
4743    );
4744    assert_eq!(
4745        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__tostring as *const _ as usize },
4746        360usize,
4747        concat!(
4748            "Offset of field: ",
4749            stringify!(_zend_class_entry),
4750            "::",
4751            stringify!(__tostring)
4752        )
4753    );
4754    assert_eq!(
4755        unsafe {
4756            &(*(::std::ptr::null::<_zend_class_entry>())).serialize_func as *const _ as usize
4757        },
4758        368usize,
4759        concat!(
4760            "Offset of field: ",
4761            stringify!(_zend_class_entry),
4762            "::",
4763            stringify!(serialize_func)
4764        )
4765    );
4766    assert_eq!(
4767        unsafe {
4768            &(*(::std::ptr::null::<_zend_class_entry>())).unserialize_func as *const _ as usize
4769        },
4770        376usize,
4771        concat!(
4772            "Offset of field: ",
4773            stringify!(_zend_class_entry),
4774            "::",
4775            stringify!(unserialize_func)
4776        )
4777    );
4778    assert_eq!(
4779        unsafe {
4780            &(*(::std::ptr::null::<_zend_class_entry>())).iterator_funcs as *const _ as usize
4781        },
4782        384usize,
4783        concat!(
4784            "Offset of field: ",
4785            stringify!(_zend_class_entry),
4786            "::",
4787            stringify!(iterator_funcs)
4788        )
4789    );
4790    assert_eq!(
4791        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).create_object as *const _ as usize },
4792        440usize,
4793        concat!(
4794            "Offset of field: ",
4795            stringify!(_zend_class_entry),
4796            "::",
4797            stringify!(create_object)
4798        )
4799    );
4800    assert_eq!(
4801        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).get_iterator as *const _ as usize },
4802        448usize,
4803        concat!(
4804            "Offset of field: ",
4805            stringify!(_zend_class_entry),
4806            "::",
4807            stringify!(get_iterator)
4808        )
4809    );
4810    assert_eq!(
4811        unsafe {
4812            &(*(::std::ptr::null::<_zend_class_entry>())).interface_gets_implemented as *const _
4813                as usize
4814        },
4815        456usize,
4816        concat!(
4817            "Offset of field: ",
4818            stringify!(_zend_class_entry),
4819            "::",
4820            stringify!(interface_gets_implemented)
4821        )
4822    );
4823    assert_eq!(
4824        unsafe {
4825            &(*(::std::ptr::null::<_zend_class_entry>())).get_static_method as *const _ as usize
4826        },
4827        464usize,
4828        concat!(
4829            "Offset of field: ",
4830            stringify!(_zend_class_entry),
4831            "::",
4832            stringify!(get_static_method)
4833        )
4834    );
4835    assert_eq!(
4836        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).serialize as *const _ as usize },
4837        472usize,
4838        concat!(
4839            "Offset of field: ",
4840            stringify!(_zend_class_entry),
4841            "::",
4842            stringify!(serialize)
4843        )
4844    );
4845    assert_eq!(
4846        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).unserialize as *const _ as usize },
4847        480usize,
4848        concat!(
4849            "Offset of field: ",
4850            stringify!(_zend_class_entry),
4851            "::",
4852            stringify!(unserialize)
4853        )
4854    );
4855    assert_eq!(
4856        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).interfaces as *const _ as usize },
4857        488usize,
4858        concat!(
4859            "Offset of field: ",
4860            stringify!(_zend_class_entry),
4861            "::",
4862            stringify!(interfaces)
4863        )
4864    );
4865    assert_eq!(
4866        unsafe {
4867            &(*(::std::ptr::null::<_zend_class_entry>())).num_interfaces as *const _ as usize
4868        },
4869        496usize,
4870        concat!(
4871            "Offset of field: ",
4872            stringify!(_zend_class_entry),
4873            "::",
4874            stringify!(num_interfaces)
4875        )
4876    );
4877    assert_eq!(
4878        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).traits as *const _ as usize },
4879        504usize,
4880        concat!(
4881            "Offset of field: ",
4882            stringify!(_zend_class_entry),
4883            "::",
4884            stringify!(traits)
4885        )
4886    );
4887    assert_eq!(
4888        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).num_traits as *const _ as usize },
4889        512usize,
4890        concat!(
4891            "Offset of field: ",
4892            stringify!(_zend_class_entry),
4893            "::",
4894            stringify!(num_traits)
4895        )
4896    );
4897    assert_eq!(
4898        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).trait_aliases as *const _ as usize },
4899        520usize,
4900        concat!(
4901            "Offset of field: ",
4902            stringify!(_zend_class_entry),
4903            "::",
4904            stringify!(trait_aliases)
4905        )
4906    );
4907    assert_eq!(
4908        unsafe {
4909            &(*(::std::ptr::null::<_zend_class_entry>())).trait_precedences as *const _ as usize
4910        },
4911        528usize,
4912        concat!(
4913            "Offset of field: ",
4914            stringify!(_zend_class_entry),
4915            "::",
4916            stringify!(trait_precedences)
4917        )
4918    );
4919    assert_eq!(
4920        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).info as *const _ as usize },
4921        536usize,
4922        concat!(
4923            "Offset of field: ",
4924            stringify!(_zend_class_entry),
4925            "::",
4926            stringify!(info)
4927        )
4928    );
4929}
4930pub type zend_stream_fsizer_t =
4931    ::std::option::Option<unsafe extern "C" fn(handle: *mut ::std::os::raw::c_void) -> size_t>;
4932pub type zend_stream_reader_t = ::std::option::Option<
4933    unsafe extern "C" fn(
4934        handle: *mut ::std::os::raw::c_void,
4935        buf: *mut ::std::os::raw::c_char,
4936        len: size_t,
4937    ) -> size_t,
4938>;
4939pub type zend_stream_closer_t =
4940    ::std::option::Option<unsafe extern "C" fn(handle: *mut ::std::os::raw::c_void)>;
4941pub const zend_stream_type_ZEND_HANDLE_FILENAME: zend_stream_type = 0;
4942pub const zend_stream_type_ZEND_HANDLE_FD: zend_stream_type = 1;
4943pub const zend_stream_type_ZEND_HANDLE_FP: zend_stream_type = 2;
4944pub const zend_stream_type_ZEND_HANDLE_STREAM: zend_stream_type = 3;
4945pub const zend_stream_type_ZEND_HANDLE_MAPPED: zend_stream_type = 4;
4946pub type zend_stream_type = ::std::os::raw::c_uint;
4947#[repr(C)]
4948#[derive(Debug, Copy, Clone)]
4949pub struct _zend_mmap {
4950    pub len: size_t,
4951    pub pos: size_t,
4952    pub map: *mut ::std::os::raw::c_void,
4953    pub buf: *mut ::std::os::raw::c_char,
4954    pub old_handle: *mut ::std::os::raw::c_void,
4955    pub old_closer: zend_stream_closer_t,
4956}
4957#[test]
4958fn bindgen_test_layout__zend_mmap() {
4959    assert_eq!(
4960        ::std::mem::size_of::<_zend_mmap>(),
4961        48usize,
4962        concat!("Size of: ", stringify!(_zend_mmap))
4963    );
4964    assert_eq!(
4965        ::std::mem::align_of::<_zend_mmap>(),
4966        8usize,
4967        concat!("Alignment of ", stringify!(_zend_mmap))
4968    );
4969    assert_eq!(
4970        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).len as *const _ as usize },
4971        0usize,
4972        concat!(
4973            "Offset of field: ",
4974            stringify!(_zend_mmap),
4975            "::",
4976            stringify!(len)
4977        )
4978    );
4979    assert_eq!(
4980        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).pos as *const _ as usize },
4981        8usize,
4982        concat!(
4983            "Offset of field: ",
4984            stringify!(_zend_mmap),
4985            "::",
4986            stringify!(pos)
4987        )
4988    );
4989    assert_eq!(
4990        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).map as *const _ as usize },
4991        16usize,
4992        concat!(
4993            "Offset of field: ",
4994            stringify!(_zend_mmap),
4995            "::",
4996            stringify!(map)
4997        )
4998    );
4999    assert_eq!(
5000        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).buf as *const _ as usize },
5001        24usize,
5002        concat!(
5003            "Offset of field: ",
5004            stringify!(_zend_mmap),
5005            "::",
5006            stringify!(buf)
5007        )
5008    );
5009    assert_eq!(
5010        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).old_handle as *const _ as usize },
5011        32usize,
5012        concat!(
5013            "Offset of field: ",
5014            stringify!(_zend_mmap),
5015            "::",
5016            stringify!(old_handle)
5017        )
5018    );
5019    assert_eq!(
5020        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).old_closer as *const _ as usize },
5021        40usize,
5022        concat!(
5023            "Offset of field: ",
5024            stringify!(_zend_mmap),
5025            "::",
5026            stringify!(old_closer)
5027        )
5028    );
5029}
5030pub type zend_mmap = _zend_mmap;
5031#[repr(C)]
5032#[derive(Debug, Copy, Clone)]
5033pub struct _zend_stream {
5034    pub handle: *mut ::std::os::raw::c_void,
5035    pub isatty: ::std::os::raw::c_int,
5036    pub mmap: zend_mmap,
5037    pub reader: zend_stream_reader_t,
5038    pub fsizer: zend_stream_fsizer_t,
5039    pub closer: zend_stream_closer_t,
5040}
5041#[test]
5042fn bindgen_test_layout__zend_stream() {
5043    assert_eq!(
5044        ::std::mem::size_of::<_zend_stream>(),
5045        88usize,
5046        concat!("Size of: ", stringify!(_zend_stream))
5047    );
5048    assert_eq!(
5049        ::std::mem::align_of::<_zend_stream>(),
5050        8usize,
5051        concat!("Alignment of ", stringify!(_zend_stream))
5052    );
5053    assert_eq!(
5054        unsafe { &(*(::std::ptr::null::<_zend_stream>())).handle as *const _ as usize },
5055        0usize,
5056        concat!(
5057            "Offset of field: ",
5058            stringify!(_zend_stream),
5059            "::",
5060            stringify!(handle)
5061        )
5062    );
5063    assert_eq!(
5064        unsafe { &(*(::std::ptr::null::<_zend_stream>())).isatty as *const _ as usize },
5065        8usize,
5066        concat!(
5067            "Offset of field: ",
5068            stringify!(_zend_stream),
5069            "::",
5070            stringify!(isatty)
5071        )
5072    );
5073    assert_eq!(
5074        unsafe { &(*(::std::ptr::null::<_zend_stream>())).mmap as *const _ as usize },
5075        16usize,
5076        concat!(
5077            "Offset of field: ",
5078            stringify!(_zend_stream),
5079            "::",
5080            stringify!(mmap)
5081        )
5082    );
5083    assert_eq!(
5084        unsafe { &(*(::std::ptr::null::<_zend_stream>())).reader as *const _ as usize },
5085        64usize,
5086        concat!(
5087            "Offset of field: ",
5088            stringify!(_zend_stream),
5089            "::",
5090            stringify!(reader)
5091        )
5092    );
5093    assert_eq!(
5094        unsafe { &(*(::std::ptr::null::<_zend_stream>())).fsizer as *const _ as usize },
5095        72usize,
5096        concat!(
5097            "Offset of field: ",
5098            stringify!(_zend_stream),
5099            "::",
5100            stringify!(fsizer)
5101        )
5102    );
5103    assert_eq!(
5104        unsafe { &(*(::std::ptr::null::<_zend_stream>())).closer as *const _ as usize },
5105        80usize,
5106        concat!(
5107            "Offset of field: ",
5108            stringify!(_zend_stream),
5109            "::",
5110            stringify!(closer)
5111        )
5112    );
5113}
5114pub type zend_stream = _zend_stream;
5115#[repr(C)]
5116#[derive(Copy, Clone)]
5117pub struct _zend_file_handle {
5118    pub type_: zend_stream_type,
5119    pub filename: *const ::std::os::raw::c_char,
5120    pub opened_path: *mut ::std::os::raw::c_char,
5121    pub handle: _zend_file_handle__bindgen_ty_1,
5122    pub free_filename: zend_bool,
5123}
5124#[repr(C)]
5125#[derive(Copy, Clone)]
5126pub union _zend_file_handle__bindgen_ty_1 {
5127    pub fd: ::std::os::raw::c_int,
5128    pub fp: *mut FILE,
5129    pub stream: zend_stream,
5130    _bindgen_union_align: [u64; 11usize],
5131}
5132#[test]
5133fn bindgen_test_layout__zend_file_handle__bindgen_ty_1() {
5134    assert_eq!(
5135        ::std::mem::size_of::<_zend_file_handle__bindgen_ty_1>(),
5136        88usize,
5137        concat!("Size of: ", stringify!(_zend_file_handle__bindgen_ty_1))
5138    );
5139    assert_eq!(
5140        ::std::mem::align_of::<_zend_file_handle__bindgen_ty_1>(),
5141        8usize,
5142        concat!("Alignment of ", stringify!(_zend_file_handle__bindgen_ty_1))
5143    );
5144    assert_eq!(
5145        unsafe {
5146            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).fd as *const _ as usize
5147        },
5148        0usize,
5149        concat!(
5150            "Offset of field: ",
5151            stringify!(_zend_file_handle__bindgen_ty_1),
5152            "::",
5153            stringify!(fd)
5154        )
5155    );
5156    assert_eq!(
5157        unsafe {
5158            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).fp as *const _ as usize
5159        },
5160        0usize,
5161        concat!(
5162            "Offset of field: ",
5163            stringify!(_zend_file_handle__bindgen_ty_1),
5164            "::",
5165            stringify!(fp)
5166        )
5167    );
5168    assert_eq!(
5169        unsafe {
5170            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).stream as *const _ as usize
5171        },
5172        0usize,
5173        concat!(
5174            "Offset of field: ",
5175            stringify!(_zend_file_handle__bindgen_ty_1),
5176            "::",
5177            stringify!(stream)
5178        )
5179    );
5180}
5181#[test]
5182fn bindgen_test_layout__zend_file_handle() {
5183    assert_eq!(
5184        ::std::mem::size_of::<_zend_file_handle>(),
5185        120usize,
5186        concat!("Size of: ", stringify!(_zend_file_handle))
5187    );
5188    assert_eq!(
5189        ::std::mem::align_of::<_zend_file_handle>(),
5190        8usize,
5191        concat!("Alignment of ", stringify!(_zend_file_handle))
5192    );
5193    assert_eq!(
5194        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).type_ as *const _ as usize },
5195        0usize,
5196        concat!(
5197            "Offset of field: ",
5198            stringify!(_zend_file_handle),
5199            "::",
5200            stringify!(type_)
5201        )
5202    );
5203    assert_eq!(
5204        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).filename as *const _ as usize },
5205        8usize,
5206        concat!(
5207            "Offset of field: ",
5208            stringify!(_zend_file_handle),
5209            "::",
5210            stringify!(filename)
5211        )
5212    );
5213    assert_eq!(
5214        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).opened_path as *const _ as usize },
5215        16usize,
5216        concat!(
5217            "Offset of field: ",
5218            stringify!(_zend_file_handle),
5219            "::",
5220            stringify!(opened_path)
5221        )
5222    );
5223    assert_eq!(
5224        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).handle as *const _ as usize },
5225        24usize,
5226        concat!(
5227            "Offset of field: ",
5228            stringify!(_zend_file_handle),
5229            "::",
5230            stringify!(handle)
5231        )
5232    );
5233    assert_eq!(
5234        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).free_filename as *const _ as usize },
5235        112usize,
5236        concat!(
5237            "Offset of field: ",
5238            stringify!(_zend_file_handle),
5239            "::",
5240            stringify!(free_filename)
5241        )
5242    );
5243}
5244pub type zend_file_handle = _zend_file_handle;
5245extern "C" {
5246    pub fn zend_stream_open(
5247        filename: *const ::std::os::raw::c_char,
5248        handle: *mut zend_file_handle,
5249    ) -> ::std::os::raw::c_int;
5250}
5251extern "C" {
5252    pub fn zend_stream_fixup(
5253        file_handle: *mut zend_file_handle,
5254        buf: *mut *mut ::std::os::raw::c_char,
5255        len: *mut size_t,
5256    ) -> ::std::os::raw::c_int;
5257}
5258extern "C" {
5259    pub fn zend_file_handle_dtor(fh: *mut zend_file_handle);
5260}
5261extern "C" {
5262    pub fn zend_compare_file_handles(
5263        fh1: *mut zend_file_handle,
5264        fh2: *mut zend_file_handle,
5265    ) -> ::std::os::raw::c_int;
5266}
5267#[repr(C)]
5268#[derive(Debug, Copy, Clone)]
5269pub struct _zend_utility_functions {
5270    pub error_function: ::std::option::Option<
5271        unsafe extern "C" fn(
5272            type_: ::std::os::raw::c_int,
5273            error_filename: *const ::std::os::raw::c_char,
5274            error_lineno: uint,
5275            format: *const ::std::os::raw::c_char,
5276            args: *mut __va_list_tag,
5277        ),
5278    >,
5279    pub printf_function: ::std::option::Option<
5280        unsafe extern "C" fn(format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int,
5281    >,
5282    pub write_function: ::std::option::Option<
5283        unsafe extern "C" fn(
5284            str_: *const ::std::os::raw::c_char,
5285            str_length: uint,
5286        ) -> ::std::os::raw::c_int,
5287    >,
5288    pub fopen_function: ::std::option::Option<
5289        unsafe extern "C" fn(
5290            filename: *const ::std::os::raw::c_char,
5291            opened_path: *mut *mut ::std::os::raw::c_char,
5292        ) -> *mut FILE,
5293    >,
5294    pub message_handler: ::std::option::Option<
5295        unsafe extern "C" fn(message: ::std::os::raw::c_long, data: *const ::std::os::raw::c_void),
5296    >,
5297    pub block_interruptions: ::std::option::Option<unsafe extern "C" fn()>,
5298    pub unblock_interruptions: ::std::option::Option<unsafe extern "C" fn()>,
5299    pub get_configuration_directive: ::std::option::Option<
5300        unsafe extern "C" fn(
5301            name: *const ::std::os::raw::c_char,
5302            name_length: uint,
5303            contents: *mut zval,
5304        ) -> ::std::os::raw::c_int,
5305    >,
5306    pub ticks_function: ::std::option::Option<unsafe extern "C" fn(ticks: ::std::os::raw::c_int)>,
5307    pub on_timeout: ::std::option::Option<unsafe extern "C" fn(seconds: ::std::os::raw::c_int)>,
5308    pub stream_open_function: ::std::option::Option<
5309        unsafe extern "C" fn(
5310            filename: *const ::std::os::raw::c_char,
5311            handle: *mut zend_file_handle,
5312        ) -> ::std::os::raw::c_int,
5313    >,
5314    pub vspprintf_function: ::std::option::Option<
5315        unsafe extern "C" fn(
5316            pbuf: *mut *mut ::std::os::raw::c_char,
5317            max_len: size_t,
5318            format: *const ::std::os::raw::c_char,
5319            ap: *mut __va_list_tag,
5320        ) -> ::std::os::raw::c_int,
5321    >,
5322    pub getenv_function: ::std::option::Option<
5323        unsafe extern "C" fn(
5324            name: *mut ::std::os::raw::c_char,
5325            name_len: size_t,
5326        ) -> *mut ::std::os::raw::c_char,
5327    >,
5328    pub resolve_path_function: ::std::option::Option<
5329        unsafe extern "C" fn(
5330            filename: *const ::std::os::raw::c_char,
5331            filename_len: ::std::os::raw::c_int,
5332        ) -> *mut ::std::os::raw::c_char,
5333    >,
5334}
5335#[test]
5336fn bindgen_test_layout__zend_utility_functions() {
5337    assert_eq!(
5338        ::std::mem::size_of::<_zend_utility_functions>(),
5339        112usize,
5340        concat!("Size of: ", stringify!(_zend_utility_functions))
5341    );
5342    assert_eq!(
5343        ::std::mem::align_of::<_zend_utility_functions>(),
5344        8usize,
5345        concat!("Alignment of ", stringify!(_zend_utility_functions))
5346    );
5347    assert_eq!(
5348        unsafe {
5349            &(*(::std::ptr::null::<_zend_utility_functions>())).error_function as *const _ as usize
5350        },
5351        0usize,
5352        concat!(
5353            "Offset of field: ",
5354            stringify!(_zend_utility_functions),
5355            "::",
5356            stringify!(error_function)
5357        )
5358    );
5359    assert_eq!(
5360        unsafe {
5361            &(*(::std::ptr::null::<_zend_utility_functions>())).printf_function as *const _ as usize
5362        },
5363        8usize,
5364        concat!(
5365            "Offset of field: ",
5366            stringify!(_zend_utility_functions),
5367            "::",
5368            stringify!(printf_function)
5369        )
5370    );
5371    assert_eq!(
5372        unsafe {
5373            &(*(::std::ptr::null::<_zend_utility_functions>())).write_function as *const _ as usize
5374        },
5375        16usize,
5376        concat!(
5377            "Offset of field: ",
5378            stringify!(_zend_utility_functions),
5379            "::",
5380            stringify!(write_function)
5381        )
5382    );
5383    assert_eq!(
5384        unsafe {
5385            &(*(::std::ptr::null::<_zend_utility_functions>())).fopen_function as *const _ as usize
5386        },
5387        24usize,
5388        concat!(
5389            "Offset of field: ",
5390            stringify!(_zend_utility_functions),
5391            "::",
5392            stringify!(fopen_function)
5393        )
5394    );
5395    assert_eq!(
5396        unsafe {
5397            &(*(::std::ptr::null::<_zend_utility_functions>())).message_handler as *const _ as usize
5398        },
5399        32usize,
5400        concat!(
5401            "Offset of field: ",
5402            stringify!(_zend_utility_functions),
5403            "::",
5404            stringify!(message_handler)
5405        )
5406    );
5407    assert_eq!(
5408        unsafe {
5409            &(*(::std::ptr::null::<_zend_utility_functions>())).block_interruptions as *const _
5410                as usize
5411        },
5412        40usize,
5413        concat!(
5414            "Offset of field: ",
5415            stringify!(_zend_utility_functions),
5416            "::",
5417            stringify!(block_interruptions)
5418        )
5419    );
5420    assert_eq!(
5421        unsafe {
5422            &(*(::std::ptr::null::<_zend_utility_functions>())).unblock_interruptions as *const _
5423                as usize
5424        },
5425        48usize,
5426        concat!(
5427            "Offset of field: ",
5428            stringify!(_zend_utility_functions),
5429            "::",
5430            stringify!(unblock_interruptions)
5431        )
5432    );
5433    assert_eq!(
5434        unsafe {
5435            &(*(::std::ptr::null::<_zend_utility_functions>())).get_configuration_directive
5436                as *const _ as usize
5437        },
5438        56usize,
5439        concat!(
5440            "Offset of field: ",
5441            stringify!(_zend_utility_functions),
5442            "::",
5443            stringify!(get_configuration_directive)
5444        )
5445    );
5446    assert_eq!(
5447        unsafe {
5448            &(*(::std::ptr::null::<_zend_utility_functions>())).ticks_function as *const _ as usize
5449        },
5450        64usize,
5451        concat!(
5452            "Offset of field: ",
5453            stringify!(_zend_utility_functions),
5454            "::",
5455            stringify!(ticks_function)
5456        )
5457    );
5458    assert_eq!(
5459        unsafe {
5460            &(*(::std::ptr::null::<_zend_utility_functions>())).on_timeout as *const _ as usize
5461        },
5462        72usize,
5463        concat!(
5464            "Offset of field: ",
5465            stringify!(_zend_utility_functions),
5466            "::",
5467            stringify!(on_timeout)
5468        )
5469    );
5470    assert_eq!(
5471        unsafe {
5472            &(*(::std::ptr::null::<_zend_utility_functions>())).stream_open_function as *const _
5473                as usize
5474        },
5475        80usize,
5476        concat!(
5477            "Offset of field: ",
5478            stringify!(_zend_utility_functions),
5479            "::",
5480            stringify!(stream_open_function)
5481        )
5482    );
5483    assert_eq!(
5484        unsafe {
5485            &(*(::std::ptr::null::<_zend_utility_functions>())).vspprintf_function as *const _
5486                as usize
5487        },
5488        88usize,
5489        concat!(
5490            "Offset of field: ",
5491            stringify!(_zend_utility_functions),
5492            "::",
5493            stringify!(vspprintf_function)
5494        )
5495    );
5496    assert_eq!(
5497        unsafe {
5498            &(*(::std::ptr::null::<_zend_utility_functions>())).getenv_function as *const _ as usize
5499        },
5500        96usize,
5501        concat!(
5502            "Offset of field: ",
5503            stringify!(_zend_utility_functions),
5504            "::",
5505            stringify!(getenv_function)
5506        )
5507    );
5508    assert_eq!(
5509        unsafe {
5510            &(*(::std::ptr::null::<_zend_utility_functions>())).resolve_path_function as *const _
5511                as usize
5512        },
5513        104usize,
5514        concat!(
5515            "Offset of field: ",
5516            stringify!(_zend_utility_functions),
5517            "::",
5518            stringify!(resolve_path_function)
5519        )
5520    );
5521}
5522pub type zend_utility_functions = _zend_utility_functions;
5523#[repr(C)]
5524#[derive(Debug, Copy, Clone)]
5525pub struct _zend_utility_values {
5526    pub import_use_extension: *mut ::std::os::raw::c_char,
5527    pub import_use_extension_length: uint,
5528    pub html_errors: zend_bool,
5529}
5530#[test]
5531fn bindgen_test_layout__zend_utility_values() {
5532    assert_eq!(
5533        ::std::mem::size_of::<_zend_utility_values>(),
5534        16usize,
5535        concat!("Size of: ", stringify!(_zend_utility_values))
5536    );
5537    assert_eq!(
5538        ::std::mem::align_of::<_zend_utility_values>(),
5539        8usize,
5540        concat!("Alignment of ", stringify!(_zend_utility_values))
5541    );
5542    assert_eq!(
5543        unsafe {
5544            &(*(::std::ptr::null::<_zend_utility_values>())).import_use_extension as *const _
5545                as usize
5546        },
5547        0usize,
5548        concat!(
5549            "Offset of field: ",
5550            stringify!(_zend_utility_values),
5551            "::",
5552            stringify!(import_use_extension)
5553        )
5554    );
5555    assert_eq!(
5556        unsafe {
5557            &(*(::std::ptr::null::<_zend_utility_values>())).import_use_extension_length as *const _
5558                as usize
5559        },
5560        8usize,
5561        concat!(
5562            "Offset of field: ",
5563            stringify!(_zend_utility_values),
5564            "::",
5565            stringify!(import_use_extension_length)
5566        )
5567    );
5568    assert_eq!(
5569        unsafe {
5570            &(*(::std::ptr::null::<_zend_utility_values>())).html_errors as *const _ as usize
5571        },
5572        12usize,
5573        concat!(
5574            "Offset of field: ",
5575            stringify!(_zend_utility_values),
5576            "::",
5577            stringify!(html_errors)
5578        )
5579    );
5580}
5581pub type zend_utility_values = _zend_utility_values;
5582pub type zend_write_func_t = ::std::option::Option<
5583    unsafe extern "C" fn(
5584        str_: *const ::std::os::raw::c_char,
5585        str_length: uint,
5586    ) -> ::std::os::raw::c_int,
5587>;
5588extern "C" {
5589    pub fn zend_startup(
5590        utility_functions: *mut zend_utility_functions,
5591        extensions: *mut *mut ::std::os::raw::c_char,
5592    ) -> ::std::os::raw::c_int;
5593}
5594extern "C" {
5595    pub fn zend_shutdown();
5596}
5597extern "C" {
5598    pub fn zend_register_standard_ini_entries();
5599}
5600extern "C" {
5601    pub fn zend_post_startup();
5602}
5603extern "C" {
5604    pub fn zend_set_utility_values(utility_values: *mut zend_utility_values);
5605}
5606extern "C" {
5607    pub fn _zend_bailout(filename: *mut ::std::os::raw::c_char, lineno: uint);
5608}
5609extern "C" {
5610    pub fn zend_make_printable_zval(
5611        expr: *mut zval,
5612        expr_copy: *mut zval,
5613        use_copy: *mut ::std::os::raw::c_int,
5614    );
5615}
5616extern "C" {
5617    pub fn zend_print_zval(expr: *mut zval, indent: ::std::os::raw::c_int)
5618        -> ::std::os::raw::c_int;
5619}
5620extern "C" {
5621    pub fn zend_print_zval_ex(
5622        write_func: zend_write_func_t,
5623        expr: *mut zval,
5624        indent: ::std::os::raw::c_int,
5625    ) -> ::std::os::raw::c_int;
5626}
5627extern "C" {
5628    pub fn zend_print_zval_r(expr: *mut zval, indent: ::std::os::raw::c_int);
5629}
5630extern "C" {
5631    pub fn zend_print_flat_zval_r(expr: *mut zval);
5632}
5633extern "C" {
5634    pub fn zend_print_zval_r_ex(
5635        write_func: zend_write_func_t,
5636        expr: *mut zval,
5637        indent: ::std::os::raw::c_int,
5638    );
5639}
5640extern "C" {
5641    pub fn zend_output_debug_string(
5642        trigger_break: zend_bool,
5643        format: *const ::std::os::raw::c_char,
5644        ...
5645    );
5646}
5647extern "C" {
5648    pub fn zend_activate();
5649}
5650extern "C" {
5651    pub fn zend_deactivate();
5652}
5653extern "C" {
5654    pub fn zend_call_destructors();
5655}
5656extern "C" {
5657    pub fn zend_activate_modules();
5658}
5659extern "C" {
5660    pub fn zend_deactivate_modules();
5661}
5662extern "C" {
5663    pub fn zend_post_deactivate_modules();
5664}
5665extern "C" {
5666    pub static mut zend_printf: ::std::option::Option<
5667        unsafe extern "C" fn(format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int,
5668    >;
5669}
5670extern "C" {
5671    pub static mut zend_write: zend_write_func_t;
5672}
5673extern "C" {
5674    pub static mut zend_fopen: ::std::option::Option<
5675        unsafe extern "C" fn(
5676            filename: *const ::std::os::raw::c_char,
5677            opened_path: *mut *mut ::std::os::raw::c_char,
5678        ) -> *mut FILE,
5679    >;
5680}
5681extern "C" {
5682    pub static mut zend_block_interruptions: ::std::option::Option<unsafe extern "C" fn()>;
5683}
5684extern "C" {
5685    pub static mut zend_unblock_interruptions: ::std::option::Option<unsafe extern "C" fn()>;
5686}
5687extern "C" {
5688    pub static mut zend_ticks_function:
5689        ::std::option::Option<unsafe extern "C" fn(ticks: ::std::os::raw::c_int)>;
5690}
5691extern "C" {
5692    pub static mut zend_error_cb: ::std::option::Option<
5693        unsafe extern "C" fn(
5694            type_: ::std::os::raw::c_int,
5695            error_filename: *const ::std::os::raw::c_char,
5696            error_lineno: uint,
5697            format: *const ::std::os::raw::c_char,
5698            args: *mut __va_list_tag,
5699        ),
5700    >;
5701}
5702extern "C" {
5703    pub static mut zend_on_timeout:
5704        ::std::option::Option<unsafe extern "C" fn(seconds: ::std::os::raw::c_int)>;
5705}
5706extern "C" {
5707    pub static mut zend_stream_open_function: ::std::option::Option<
5708        unsafe extern "C" fn(
5709            filename: *const ::std::os::raw::c_char,
5710            handle: *mut zend_file_handle,
5711        ) -> ::std::os::raw::c_int,
5712    >;
5713}
5714extern "C" {
5715    pub static mut zend_vspprintf: ::std::option::Option<
5716        unsafe extern "C" fn(
5717            pbuf: *mut *mut ::std::os::raw::c_char,
5718            max_len: size_t,
5719            format: *const ::std::os::raw::c_char,
5720            ap: *mut __va_list_tag,
5721        ) -> ::std::os::raw::c_int,
5722    >;
5723}
5724extern "C" {
5725    pub static mut zend_getenv: ::std::option::Option<
5726        unsafe extern "C" fn(
5727            name: *mut ::std::os::raw::c_char,
5728            name_len: size_t,
5729        ) -> *mut ::std::os::raw::c_char,
5730    >;
5731}
5732extern "C" {
5733    pub static mut zend_resolve_path: ::std::option::Option<
5734        unsafe extern "C" fn(
5735            filename: *const ::std::os::raw::c_char,
5736            filename_len: ::std::os::raw::c_int,
5737        ) -> *mut ::std::os::raw::c_char,
5738    >;
5739}
5740extern "C" {
5741    pub fn zend_error(type_: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
5742}
5743extern "C" {
5744    pub fn zenderror(error: *const ::std::os::raw::c_char);
5745}
5746extern "C" {
5747    pub static mut zend_standard_class_def: *mut zend_class_entry;
5748}
5749extern "C" {
5750    pub static mut zend_uv: zend_utility_values;
5751}
5752extern "C" {
5753    pub static mut zval_used_for_init: zval;
5754}
5755extern "C" {
5756    pub fn zend_message_dispatcher(
5757        message: ::std::os::raw::c_long,
5758        data: *const ::std::os::raw::c_void,
5759    );
5760}
5761extern "C" {
5762    pub fn zend_get_configuration_directive(
5763        name: *const ::std::os::raw::c_char,
5764        name_length: uint,
5765        contents: *mut zval,
5766    ) -> ::std::os::raw::c_int;
5767}
5768#[repr(C)]
5769#[derive(Copy, Clone)]
5770pub struct _gc_root_buffer {
5771    pub prev: *mut _gc_root_buffer,
5772    pub next: *mut _gc_root_buffer,
5773    pub handle: zend_object_handle,
5774    pub u: _gc_root_buffer__bindgen_ty_1,
5775}
5776#[repr(C)]
5777#[derive(Copy, Clone)]
5778pub union _gc_root_buffer__bindgen_ty_1 {
5779    pub pz: *mut zval,
5780    pub handlers: *const zend_object_handlers,
5781    _bindgen_union_align: u64,
5782}
5783#[test]
5784fn bindgen_test_layout__gc_root_buffer__bindgen_ty_1() {
5785    assert_eq!(
5786        ::std::mem::size_of::<_gc_root_buffer__bindgen_ty_1>(),
5787        8usize,
5788        concat!("Size of: ", stringify!(_gc_root_buffer__bindgen_ty_1))
5789    );
5790    assert_eq!(
5791        ::std::mem::align_of::<_gc_root_buffer__bindgen_ty_1>(),
5792        8usize,
5793        concat!("Alignment of ", stringify!(_gc_root_buffer__bindgen_ty_1))
5794    );
5795    assert_eq!(
5796        unsafe {
5797            &(*(::std::ptr::null::<_gc_root_buffer__bindgen_ty_1>())).pz as *const _ as usize
5798        },
5799        0usize,
5800        concat!(
5801            "Offset of field: ",
5802            stringify!(_gc_root_buffer__bindgen_ty_1),
5803            "::",
5804            stringify!(pz)
5805        )
5806    );
5807    assert_eq!(
5808        unsafe {
5809            &(*(::std::ptr::null::<_gc_root_buffer__bindgen_ty_1>())).handlers as *const _ as usize
5810        },
5811        0usize,
5812        concat!(
5813            "Offset of field: ",
5814            stringify!(_gc_root_buffer__bindgen_ty_1),
5815            "::",
5816            stringify!(handlers)
5817        )
5818    );
5819}
5820#[test]
5821fn bindgen_test_layout__gc_root_buffer() {
5822    assert_eq!(
5823        ::std::mem::size_of::<_gc_root_buffer>(),
5824        32usize,
5825        concat!("Size of: ", stringify!(_gc_root_buffer))
5826    );
5827    assert_eq!(
5828        ::std::mem::align_of::<_gc_root_buffer>(),
5829        8usize,
5830        concat!("Alignment of ", stringify!(_gc_root_buffer))
5831    );
5832    assert_eq!(
5833        unsafe { &(*(::std::ptr::null::<_gc_root_buffer>())).prev as *const _ as usize },
5834        0usize,
5835        concat!(
5836            "Offset of field: ",
5837            stringify!(_gc_root_buffer),
5838            "::",
5839            stringify!(prev)
5840        )
5841    );
5842    assert_eq!(
5843        unsafe { &(*(::std::ptr::null::<_gc_root_buffer>())).next as *const _ as usize },
5844        8usize,
5845        concat!(
5846            "Offset of field: ",
5847            stringify!(_gc_root_buffer),
5848            "::",
5849            stringify!(next)
5850        )
5851    );
5852    assert_eq!(
5853        unsafe { &(*(::std::ptr::null::<_gc_root_buffer>())).handle as *const _ as usize },
5854        16usize,
5855        concat!(
5856            "Offset of field: ",
5857            stringify!(_gc_root_buffer),
5858            "::",
5859            stringify!(handle)
5860        )
5861    );
5862    assert_eq!(
5863        unsafe { &(*(::std::ptr::null::<_gc_root_buffer>())).u as *const _ as usize },
5864        24usize,
5865        concat!(
5866            "Offset of field: ",
5867            stringify!(_gc_root_buffer),
5868            "::",
5869            stringify!(u)
5870        )
5871    );
5872}
5873pub type gc_root_buffer = _gc_root_buffer;
5874#[repr(C)]
5875#[derive(Copy, Clone)]
5876pub struct _zval_gc_info {
5877    pub z: zval,
5878    pub u: _zval_gc_info__bindgen_ty_1,
5879}
5880#[repr(C)]
5881#[derive(Copy, Clone)]
5882pub union _zval_gc_info__bindgen_ty_1 {
5883    pub buffered: *mut gc_root_buffer,
5884    pub next: *mut _zval_gc_info,
5885    _bindgen_union_align: u64,
5886}
5887#[test]
5888fn bindgen_test_layout__zval_gc_info__bindgen_ty_1() {
5889    assert_eq!(
5890        ::std::mem::size_of::<_zval_gc_info__bindgen_ty_1>(),
5891        8usize,
5892        concat!("Size of: ", stringify!(_zval_gc_info__bindgen_ty_1))
5893    );
5894    assert_eq!(
5895        ::std::mem::align_of::<_zval_gc_info__bindgen_ty_1>(),
5896        8usize,
5897        concat!("Alignment of ", stringify!(_zval_gc_info__bindgen_ty_1))
5898    );
5899    assert_eq!(
5900        unsafe {
5901            &(*(::std::ptr::null::<_zval_gc_info__bindgen_ty_1>())).buffered as *const _ as usize
5902        },
5903        0usize,
5904        concat!(
5905            "Offset of field: ",
5906            stringify!(_zval_gc_info__bindgen_ty_1),
5907            "::",
5908            stringify!(buffered)
5909        )
5910    );
5911    assert_eq!(
5912        unsafe {
5913            &(*(::std::ptr::null::<_zval_gc_info__bindgen_ty_1>())).next as *const _ as usize
5914        },
5915        0usize,
5916        concat!(
5917            "Offset of field: ",
5918            stringify!(_zval_gc_info__bindgen_ty_1),
5919            "::",
5920            stringify!(next)
5921        )
5922    );
5923}
5924#[test]
5925fn bindgen_test_layout__zval_gc_info() {
5926    assert_eq!(
5927        ::std::mem::size_of::<_zval_gc_info>(),
5928        32usize,
5929        concat!("Size of: ", stringify!(_zval_gc_info))
5930    );
5931    assert_eq!(
5932        ::std::mem::align_of::<_zval_gc_info>(),
5933        8usize,
5934        concat!("Alignment of ", stringify!(_zval_gc_info))
5935    );
5936    assert_eq!(
5937        unsafe { &(*(::std::ptr::null::<_zval_gc_info>())).z as *const _ as usize },
5938        0usize,
5939        concat!(
5940            "Offset of field: ",
5941            stringify!(_zval_gc_info),
5942            "::",
5943            stringify!(z)
5944        )
5945    );
5946    assert_eq!(
5947        unsafe { &(*(::std::ptr::null::<_zval_gc_info>())).u as *const _ as usize },
5948        24usize,
5949        concat!(
5950            "Offset of field: ",
5951            stringify!(_zval_gc_info),
5952            "::",
5953            stringify!(u)
5954        )
5955    );
5956}
5957pub type zval_gc_info = _zval_gc_info;
5958#[repr(C)]
5959#[derive(Copy, Clone)]
5960pub struct _zend_gc_globals {
5961    pub gc_enabled: zend_bool,
5962    pub gc_active: zend_bool,
5963    pub buf: *mut gc_root_buffer,
5964    pub roots: gc_root_buffer,
5965    pub unused: *mut gc_root_buffer,
5966    pub first_unused: *mut gc_root_buffer,
5967    pub last_unused: *mut gc_root_buffer,
5968    pub zval_to_free: *mut zval_gc_info,
5969    pub free_list: *mut zval_gc_info,
5970    pub next_to_free: *mut zval_gc_info,
5971    pub gc_runs: zend_uint,
5972    pub collected: zend_uint,
5973}
5974#[test]
5975fn bindgen_test_layout__zend_gc_globals() {
5976    assert_eq!(
5977        ::std::mem::size_of::<_zend_gc_globals>(),
5978        104usize,
5979        concat!("Size of: ", stringify!(_zend_gc_globals))
5980    );
5981    assert_eq!(
5982        ::std::mem::align_of::<_zend_gc_globals>(),
5983        8usize,
5984        concat!("Alignment of ", stringify!(_zend_gc_globals))
5985    );
5986    assert_eq!(
5987        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).gc_enabled as *const _ as usize },
5988        0usize,
5989        concat!(
5990            "Offset of field: ",
5991            stringify!(_zend_gc_globals),
5992            "::",
5993            stringify!(gc_enabled)
5994        )
5995    );
5996    assert_eq!(
5997        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).gc_active as *const _ as usize },
5998        1usize,
5999        concat!(
6000            "Offset of field: ",
6001            stringify!(_zend_gc_globals),
6002            "::",
6003            stringify!(gc_active)
6004        )
6005    );
6006    assert_eq!(
6007        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).buf as *const _ as usize },
6008        8usize,
6009        concat!(
6010            "Offset of field: ",
6011            stringify!(_zend_gc_globals),
6012            "::",
6013            stringify!(buf)
6014        )
6015    );
6016    assert_eq!(
6017        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).roots as *const _ as usize },
6018        16usize,
6019        concat!(
6020            "Offset of field: ",
6021            stringify!(_zend_gc_globals),
6022            "::",
6023            stringify!(roots)
6024        )
6025    );
6026    assert_eq!(
6027        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).unused as *const _ as usize },
6028        48usize,
6029        concat!(
6030            "Offset of field: ",
6031            stringify!(_zend_gc_globals),
6032            "::",
6033            stringify!(unused)
6034        )
6035    );
6036    assert_eq!(
6037        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).first_unused as *const _ as usize },
6038        56usize,
6039        concat!(
6040            "Offset of field: ",
6041            stringify!(_zend_gc_globals),
6042            "::",
6043            stringify!(first_unused)
6044        )
6045    );
6046    assert_eq!(
6047        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).last_unused as *const _ as usize },
6048        64usize,
6049        concat!(
6050            "Offset of field: ",
6051            stringify!(_zend_gc_globals),
6052            "::",
6053            stringify!(last_unused)
6054        )
6055    );
6056    assert_eq!(
6057        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).zval_to_free as *const _ as usize },
6058        72usize,
6059        concat!(
6060            "Offset of field: ",
6061            stringify!(_zend_gc_globals),
6062            "::",
6063            stringify!(zval_to_free)
6064        )
6065    );
6066    assert_eq!(
6067        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).free_list as *const _ as usize },
6068        80usize,
6069        concat!(
6070            "Offset of field: ",
6071            stringify!(_zend_gc_globals),
6072            "::",
6073            stringify!(free_list)
6074        )
6075    );
6076    assert_eq!(
6077        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).next_to_free as *const _ as usize },
6078        88usize,
6079        concat!(
6080            "Offset of field: ",
6081            stringify!(_zend_gc_globals),
6082            "::",
6083            stringify!(next_to_free)
6084        )
6085    );
6086    assert_eq!(
6087        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).gc_runs as *const _ as usize },
6088        96usize,
6089        concat!(
6090            "Offset of field: ",
6091            stringify!(_zend_gc_globals),
6092            "::",
6093            stringify!(gc_runs)
6094        )
6095    );
6096    assert_eq!(
6097        unsafe { &(*(::std::ptr::null::<_zend_gc_globals>())).collected as *const _ as usize },
6098        100usize,
6099        concat!(
6100            "Offset of field: ",
6101            stringify!(_zend_gc_globals),
6102            "::",
6103            stringify!(collected)
6104        )
6105    );
6106}
6107pub type zend_gc_globals = _zend_gc_globals;
6108extern "C" {
6109    pub static mut gc_globals: zend_gc_globals;
6110}
6111extern "C" {
6112    pub fn zend_freedtoa(s: *mut ::std::os::raw::c_char);
6113}
6114extern "C" {
6115    pub fn zend_dtoa(
6116        _d: f64,
6117        mode: ::std::os::raw::c_int,
6118        ndigits: ::std::os::raw::c_int,
6119        decpt: *mut ::std::os::raw::c_int,
6120        sign: *mut ::std::os::raw::c_int,
6121        rve: *mut *mut ::std::os::raw::c_char,
6122    ) -> *mut ::std::os::raw::c_char;
6123}
6124extern "C" {
6125    pub fn zend_strtod(
6126        s00: *const ::std::os::raw::c_char,
6127        se: *mut *const ::std::os::raw::c_char,
6128    ) -> f64;
6129}
6130extern "C" {
6131    pub fn zend_hex_strtod(
6132        str_: *const ::std::os::raw::c_char,
6133        endptr: *mut *const ::std::os::raw::c_char,
6134    ) -> f64;
6135}
6136extern "C" {
6137    pub fn zend_oct_strtod(
6138        str_: *const ::std::os::raw::c_char,
6139        endptr: *mut *const ::std::os::raw::c_char,
6140    ) -> f64;
6141}
6142extern "C" {
6143    pub fn zend_bin_strtod(
6144        str_: *const ::std::os::raw::c_char,
6145        endptr: *mut *const ::std::os::raw::c_char,
6146    ) -> f64;
6147}
6148extern "C" {
6149    pub fn zend_startup_strtod() -> ::std::os::raw::c_int;
6150}
6151extern "C" {
6152    pub fn zend_shutdown_strtod() -> ::std::os::raw::c_int;
6153}
6154extern "C" {
6155    pub fn zend_string_to_double(number: *const ::std::os::raw::c_char, length: zend_uint) -> f64;
6156}
6157extern "C" {
6158    pub fn zend_str_tolower(str_: *mut ::std::os::raw::c_char, length: ::std::os::raw::c_uint);
6159}
6160extern "C" {
6161    pub fn zend_str_tolower_copy(
6162        dest: *mut ::std::os::raw::c_char,
6163        source: *const ::std::os::raw::c_char,
6164        length: ::std::os::raw::c_uint,
6165    ) -> *mut ::std::os::raw::c_char;
6166}
6167extern "C" {
6168    pub fn zend_str_tolower_dup(
6169        source: *const ::std::os::raw::c_char,
6170        length: ::std::os::raw::c_uint,
6171    ) -> *mut ::std::os::raw::c_char;
6172}
6173extern "C" {
6174    pub fn zend_binary_zval_strcmp(s1: *mut zval, s2: *mut zval) -> ::std::os::raw::c_int;
6175}
6176extern "C" {
6177    pub fn zend_binary_zval_strncmp(
6178        s1: *mut zval,
6179        s2: *mut zval,
6180        s3: *mut zval,
6181    ) -> ::std::os::raw::c_int;
6182}
6183extern "C" {
6184    pub fn zend_binary_zval_strcasecmp(s1: *mut zval, s2: *mut zval) -> ::std::os::raw::c_int;
6185}
6186extern "C" {
6187    pub fn zend_binary_zval_strncasecmp(
6188        s1: *mut zval,
6189        s2: *mut zval,
6190        s3: *mut zval,
6191    ) -> ::std::os::raw::c_int;
6192}
6193extern "C" {
6194    pub fn zend_binary_strcmp(
6195        s1: *const ::std::os::raw::c_char,
6196        len1: uint,
6197        s2: *const ::std::os::raw::c_char,
6198        len2: uint,
6199    ) -> ::std::os::raw::c_int;
6200}
6201extern "C" {
6202    pub fn zend_binary_strncmp(
6203        s1: *const ::std::os::raw::c_char,
6204        len1: uint,
6205        s2: *const ::std::os::raw::c_char,
6206        len2: uint,
6207        length: uint,
6208    ) -> ::std::os::raw::c_int;
6209}
6210extern "C" {
6211    pub fn zend_binary_strcasecmp(
6212        s1: *const ::std::os::raw::c_char,
6213        len1: uint,
6214        s2: *const ::std::os::raw::c_char,
6215        len2: uint,
6216    ) -> ::std::os::raw::c_int;
6217}
6218extern "C" {
6219    pub fn zend_binary_strncasecmp(
6220        s1: *const ::std::os::raw::c_char,
6221        len1: uint,
6222        s2: *const ::std::os::raw::c_char,
6223        len2: uint,
6224        length: uint,
6225    ) -> ::std::os::raw::c_int;
6226}
6227extern "C" {
6228    pub fn zendi_smart_strcmp(result: *mut zval, s1: *mut zval, s2: *mut zval);
6229}
6230extern "C" {
6231    pub fn zend_compare_symbol_tables(result: *mut zval, ht1: *mut HashTable, ht2: *mut HashTable);
6232}
6233extern "C" {
6234    pub fn zend_compare_arrays(result: *mut zval, a1: *mut zval, a2: *mut zval);
6235}
6236extern "C" {
6237    pub fn zend_compare_objects(result: *mut zval, o1: *mut zval, o2: *mut zval);
6238}
6239extern "C" {
6240    pub fn zend_atoi(
6241        str_: *const ::std::os::raw::c_char,
6242        str_len: ::std::os::raw::c_int,
6243    ) -> ::std::os::raw::c_int;
6244}
6245extern "C" {
6246    pub fn zend_atol(
6247        str_: *const ::std::os::raw::c_char,
6248        str_len: ::std::os::raw::c_int,
6249    ) -> ::std::os::raw::c_long;
6250}
6251extern "C" {
6252    pub fn zend_locale_sprintf_double(op: *mut zval);
6253}
6254extern "C" {
6255    pub fn zend_print_variable(var: *mut zval) -> ::std::os::raw::c_int;
6256}
6257pub const zend_error_handling_t_EH_NORMAL: zend_error_handling_t = 0;
6258pub const zend_error_handling_t_EH_SUPPRESS: zend_error_handling_t = 1;
6259pub const zend_error_handling_t_EH_THROW: zend_error_handling_t = 2;
6260pub type zend_error_handling_t = ::std::os::raw::c_uint;
6261#[repr(C)]
6262#[derive(Debug, Copy, Clone)]
6263pub struct zend_error_handling {
6264    pub handling: zend_error_handling_t,
6265    pub exception: *mut zend_class_entry,
6266    pub user_handler: *mut zval,
6267}
6268#[test]
6269fn bindgen_test_layout_zend_error_handling() {
6270    assert_eq!(
6271        ::std::mem::size_of::<zend_error_handling>(),
6272        24usize,
6273        concat!("Size of: ", stringify!(zend_error_handling))
6274    );
6275    assert_eq!(
6276        ::std::mem::align_of::<zend_error_handling>(),
6277        8usize,
6278        concat!("Alignment of ", stringify!(zend_error_handling))
6279    );
6280    assert_eq!(
6281        unsafe { &(*(::std::ptr::null::<zend_error_handling>())).handling as *const _ as usize },
6282        0usize,
6283        concat!(
6284            "Offset of field: ",
6285            stringify!(zend_error_handling),
6286            "::",
6287            stringify!(handling)
6288        )
6289    );
6290    assert_eq!(
6291        unsafe { &(*(::std::ptr::null::<zend_error_handling>())).exception as *const _ as usize },
6292        8usize,
6293        concat!(
6294            "Offset of field: ",
6295            stringify!(zend_error_handling),
6296            "::",
6297            stringify!(exception)
6298        )
6299    );
6300    assert_eq!(
6301        unsafe {
6302            &(*(::std::ptr::null::<zend_error_handling>())).user_handler as *const _ as usize
6303        },
6304        16usize,
6305        concat!(
6306            "Offset of field: ",
6307            stringify!(zend_error_handling),
6308            "::",
6309            stringify!(user_handler)
6310        )
6311    );
6312}
6313extern "C" {
6314    pub fn zend_save_error_handling(current: *mut zend_error_handling);
6315}
6316extern "C" {
6317    pub fn zend_replace_error_handling(
6318        error_handling: zend_error_handling_t,
6319        exception_class: *mut zend_class_entry,
6320        current: *mut zend_error_handling,
6321    );
6322}
6323extern "C" {
6324    pub fn zend_restore_error_handling(saved: *mut zend_error_handling);
6325}
6326extern "C" {
6327    pub fn zend_qsort(
6328        base: *mut ::std::os::raw::c_void,
6329        nmemb: size_t,
6330        siz: size_t,
6331        compare: compare_func_t,
6332    );
6333}
6334pub type zend_op_array = _zend_op_array;
6335pub type zend_op = _zend_op;
6336#[repr(C)]
6337#[derive(Debug, Copy, Clone)]
6338pub struct _zend_compiler_context {
6339    pub opcodes_size: zend_uint,
6340    pub vars_size: ::std::os::raw::c_int,
6341    pub literals_size: ::std::os::raw::c_int,
6342    pub current_brk_cont: ::std::os::raw::c_int,
6343    pub backpatch_count: ::std::os::raw::c_int,
6344    pub labels: *mut HashTable,
6345}
6346#[test]
6347fn bindgen_test_layout__zend_compiler_context() {
6348    assert_eq!(
6349        ::std::mem::size_of::<_zend_compiler_context>(),
6350        32usize,
6351        concat!("Size of: ", stringify!(_zend_compiler_context))
6352    );
6353    assert_eq!(
6354        ::std::mem::align_of::<_zend_compiler_context>(),
6355        8usize,
6356        concat!("Alignment of ", stringify!(_zend_compiler_context))
6357    );
6358    assert_eq!(
6359        unsafe {
6360            &(*(::std::ptr::null::<_zend_compiler_context>())).opcodes_size as *const _ as usize
6361        },
6362        0usize,
6363        concat!(
6364            "Offset of field: ",
6365            stringify!(_zend_compiler_context),
6366            "::",
6367            stringify!(opcodes_size)
6368        )
6369    );
6370    assert_eq!(
6371        unsafe {
6372            &(*(::std::ptr::null::<_zend_compiler_context>())).vars_size as *const _ as usize
6373        },
6374        4usize,
6375        concat!(
6376            "Offset of field: ",
6377            stringify!(_zend_compiler_context),
6378            "::",
6379            stringify!(vars_size)
6380        )
6381    );
6382    assert_eq!(
6383        unsafe {
6384            &(*(::std::ptr::null::<_zend_compiler_context>())).literals_size as *const _ as usize
6385        },
6386        8usize,
6387        concat!(
6388            "Offset of field: ",
6389            stringify!(_zend_compiler_context),
6390            "::",
6391            stringify!(literals_size)
6392        )
6393    );
6394    assert_eq!(
6395        unsafe {
6396            &(*(::std::ptr::null::<_zend_compiler_context>())).current_brk_cont as *const _ as usize
6397        },
6398        12usize,
6399        concat!(
6400            "Offset of field: ",
6401            stringify!(_zend_compiler_context),
6402            "::",
6403            stringify!(current_brk_cont)
6404        )
6405    );
6406    assert_eq!(
6407        unsafe {
6408            &(*(::std::ptr::null::<_zend_compiler_context>())).backpatch_count as *const _ as usize
6409        },
6410        16usize,
6411        concat!(
6412            "Offset of field: ",
6413            stringify!(_zend_compiler_context),
6414            "::",
6415            stringify!(backpatch_count)
6416        )
6417    );
6418    assert_eq!(
6419        unsafe { &(*(::std::ptr::null::<_zend_compiler_context>())).labels as *const _ as usize },
6420        24usize,
6421        concat!(
6422            "Offset of field: ",
6423            stringify!(_zend_compiler_context),
6424            "::",
6425            stringify!(labels)
6426        )
6427    );
6428}
6429pub type zend_compiler_context = _zend_compiler_context;
6430#[repr(C)]
6431#[derive(Copy, Clone)]
6432pub struct _zend_literal {
6433    pub constant: zval,
6434    pub hash_value: zend_ulong,
6435    pub cache_slot: zend_uint,
6436}
6437#[test]
6438fn bindgen_test_layout__zend_literal() {
6439    assert_eq!(
6440        ::std::mem::size_of::<_zend_literal>(),
6441        40usize,
6442        concat!("Size of: ", stringify!(_zend_literal))
6443    );
6444    assert_eq!(
6445        ::std::mem::align_of::<_zend_literal>(),
6446        8usize,
6447        concat!("Alignment of ", stringify!(_zend_literal))
6448    );
6449    assert_eq!(
6450        unsafe { &(*(::std::ptr::null::<_zend_literal>())).constant as *const _ as usize },
6451        0usize,
6452        concat!(
6453            "Offset of field: ",
6454            stringify!(_zend_literal),
6455            "::",
6456            stringify!(constant)
6457        )
6458    );
6459    assert_eq!(
6460        unsafe { &(*(::std::ptr::null::<_zend_literal>())).hash_value as *const _ as usize },
6461        24usize,
6462        concat!(
6463            "Offset of field: ",
6464            stringify!(_zend_literal),
6465            "::",
6466            stringify!(hash_value)
6467        )
6468    );
6469    assert_eq!(
6470        unsafe { &(*(::std::ptr::null::<_zend_literal>())).cache_slot as *const _ as usize },
6471        32usize,
6472        concat!(
6473            "Offset of field: ",
6474            stringify!(_zend_literal),
6475            "::",
6476            stringify!(cache_slot)
6477        )
6478    );
6479}
6480pub type zend_literal = _zend_literal;
6481#[repr(C)]
6482#[derive(Copy, Clone)]
6483pub union _znode_op {
6484    pub constant: zend_uint,
6485    pub var: zend_uint,
6486    pub num: zend_uint,
6487    pub hash: zend_ulong,
6488    pub opline_num: zend_uint,
6489    pub jmp_addr: *mut zend_op,
6490    pub zv: *mut zval,
6491    pub literal: *mut zend_literal,
6492    pub ptr: *mut ::std::os::raw::c_void,
6493    _bindgen_union_align: u64,
6494}
6495#[test]
6496fn bindgen_test_layout__znode_op() {
6497    assert_eq!(
6498        ::std::mem::size_of::<_znode_op>(),
6499        8usize,
6500        concat!("Size of: ", stringify!(_znode_op))
6501    );
6502    assert_eq!(
6503        ::std::mem::align_of::<_znode_op>(),
6504        8usize,
6505        concat!("Alignment of ", stringify!(_znode_op))
6506    );
6507    assert_eq!(
6508        unsafe { &(*(::std::ptr::null::<_znode_op>())).constant as *const _ as usize },
6509        0usize,
6510        concat!(
6511            "Offset of field: ",
6512            stringify!(_znode_op),
6513            "::",
6514            stringify!(constant)
6515        )
6516    );
6517    assert_eq!(
6518        unsafe { &(*(::std::ptr::null::<_znode_op>())).var as *const _ as usize },
6519        0usize,
6520        concat!(
6521            "Offset of field: ",
6522            stringify!(_znode_op),
6523            "::",
6524            stringify!(var)
6525        )
6526    );
6527    assert_eq!(
6528        unsafe { &(*(::std::ptr::null::<_znode_op>())).num as *const _ as usize },
6529        0usize,
6530        concat!(
6531            "Offset of field: ",
6532            stringify!(_znode_op),
6533            "::",
6534            stringify!(num)
6535        )
6536    );
6537    assert_eq!(
6538        unsafe { &(*(::std::ptr::null::<_znode_op>())).hash as *const _ as usize },
6539        0usize,
6540        concat!(
6541            "Offset of field: ",
6542            stringify!(_znode_op),
6543            "::",
6544            stringify!(hash)
6545        )
6546    );
6547    assert_eq!(
6548        unsafe { &(*(::std::ptr::null::<_znode_op>())).opline_num as *const _ as usize },
6549        0usize,
6550        concat!(
6551            "Offset of field: ",
6552            stringify!(_znode_op),
6553            "::",
6554            stringify!(opline_num)
6555        )
6556    );
6557    assert_eq!(
6558        unsafe { &(*(::std::ptr::null::<_znode_op>())).jmp_addr as *const _ as usize },
6559        0usize,
6560        concat!(
6561            "Offset of field: ",
6562            stringify!(_znode_op),
6563            "::",
6564            stringify!(jmp_addr)
6565        )
6566    );
6567    assert_eq!(
6568        unsafe { &(*(::std::ptr::null::<_znode_op>())).zv as *const _ as usize },
6569        0usize,
6570        concat!(
6571            "Offset of field: ",
6572            stringify!(_znode_op),
6573            "::",
6574            stringify!(zv)
6575        )
6576    );
6577    assert_eq!(
6578        unsafe { &(*(::std::ptr::null::<_znode_op>())).literal as *const _ as usize },
6579        0usize,
6580        concat!(
6581            "Offset of field: ",
6582            stringify!(_znode_op),
6583            "::",
6584            stringify!(literal)
6585        )
6586    );
6587    assert_eq!(
6588        unsafe { &(*(::std::ptr::null::<_znode_op>())).ptr as *const _ as usize },
6589        0usize,
6590        concat!(
6591            "Offset of field: ",
6592            stringify!(_znode_op),
6593            "::",
6594            stringify!(ptr)
6595        )
6596    );
6597}
6598pub type znode_op = _znode_op;
6599#[repr(C)]
6600#[derive(Copy, Clone)]
6601pub struct _znode {
6602    pub op_type: ::std::os::raw::c_int,
6603    pub u: _znode__bindgen_ty_1,
6604    pub EA: zend_uint,
6605}
6606#[repr(C)]
6607#[derive(Copy, Clone)]
6608pub union _znode__bindgen_ty_1 {
6609    pub op: znode_op,
6610    pub constant: zval,
6611    pub op_array: *mut zend_op_array,
6612    _bindgen_union_align: [u64; 3usize],
6613}
6614#[test]
6615fn bindgen_test_layout__znode__bindgen_ty_1() {
6616    assert_eq!(
6617        ::std::mem::size_of::<_znode__bindgen_ty_1>(),
6618        24usize,
6619        concat!("Size of: ", stringify!(_znode__bindgen_ty_1))
6620    );
6621    assert_eq!(
6622        ::std::mem::align_of::<_znode__bindgen_ty_1>(),
6623        8usize,
6624        concat!("Alignment of ", stringify!(_znode__bindgen_ty_1))
6625    );
6626    assert_eq!(
6627        unsafe { &(*(::std::ptr::null::<_znode__bindgen_ty_1>())).op as *const _ as usize },
6628        0usize,
6629        concat!(
6630            "Offset of field: ",
6631            stringify!(_znode__bindgen_ty_1),
6632            "::",
6633            stringify!(op)
6634        )
6635    );
6636    assert_eq!(
6637        unsafe { &(*(::std::ptr::null::<_znode__bindgen_ty_1>())).constant as *const _ as usize },
6638        0usize,
6639        concat!(
6640            "Offset of field: ",
6641            stringify!(_znode__bindgen_ty_1),
6642            "::",
6643            stringify!(constant)
6644        )
6645    );
6646    assert_eq!(
6647        unsafe { &(*(::std::ptr::null::<_znode__bindgen_ty_1>())).op_array as *const _ as usize },
6648        0usize,
6649        concat!(
6650            "Offset of field: ",
6651            stringify!(_znode__bindgen_ty_1),
6652            "::",
6653            stringify!(op_array)
6654        )
6655    );
6656}
6657#[test]
6658fn bindgen_test_layout__znode() {
6659    assert_eq!(
6660        ::std::mem::size_of::<_znode>(),
6661        40usize,
6662        concat!("Size of: ", stringify!(_znode))
6663    );
6664    assert_eq!(
6665        ::std::mem::align_of::<_znode>(),
6666        8usize,
6667        concat!("Alignment of ", stringify!(_znode))
6668    );
6669    assert_eq!(
6670        unsafe { &(*(::std::ptr::null::<_znode>())).op_type as *const _ as usize },
6671        0usize,
6672        concat!(
6673            "Offset of field: ",
6674            stringify!(_znode),
6675            "::",
6676            stringify!(op_type)
6677        )
6678    );
6679    assert_eq!(
6680        unsafe { &(*(::std::ptr::null::<_znode>())).u as *const _ as usize },
6681        8usize,
6682        concat!("Offset of field: ", stringify!(_znode), "::", stringify!(u))
6683    );
6684    assert_eq!(
6685        unsafe { &(*(::std::ptr::null::<_znode>())).EA as *const _ as usize },
6686        32usize,
6687        concat!(
6688            "Offset of field: ",
6689            stringify!(_znode),
6690            "::",
6691            stringify!(EA)
6692        )
6693    );
6694}
6695pub type znode = _znode;
6696pub type zend_execute_data = _zend_execute_data;
6697pub type user_opcode_handler_t = ::std::option::Option<
6698    unsafe extern "C" fn(execute_data: *mut zend_execute_data) -> ::std::os::raw::c_int,
6699>;
6700pub type opcode_handler_t = ::std::option::Option<
6701    unsafe extern "C" fn(execute_data: *mut zend_execute_data) -> ::std::os::raw::c_int,
6702>;
6703extern "C" {
6704    pub static mut zend_opcode_handlers: *mut opcode_handler_t;
6705}
6706#[repr(C)]
6707#[derive(Copy, Clone)]
6708pub struct _zend_op {
6709    pub handler: opcode_handler_t,
6710    pub op1: znode_op,
6711    pub op2: znode_op,
6712    pub result: znode_op,
6713    pub extended_value: ulong,
6714    pub lineno: uint,
6715    pub opcode: zend_uchar,
6716    pub op1_type: zend_uchar,
6717    pub op2_type: zend_uchar,
6718    pub result_type: zend_uchar,
6719}
6720#[test]
6721fn bindgen_test_layout__zend_op() {
6722    assert_eq!(
6723        ::std::mem::size_of::<_zend_op>(),
6724        48usize,
6725        concat!("Size of: ", stringify!(_zend_op))
6726    );
6727    assert_eq!(
6728        ::std::mem::align_of::<_zend_op>(),
6729        8usize,
6730        concat!("Alignment of ", stringify!(_zend_op))
6731    );
6732    assert_eq!(
6733        unsafe { &(*(::std::ptr::null::<_zend_op>())).handler as *const _ as usize },
6734        0usize,
6735        concat!(
6736            "Offset of field: ",
6737            stringify!(_zend_op),
6738            "::",
6739            stringify!(handler)
6740        )
6741    );
6742    assert_eq!(
6743        unsafe { &(*(::std::ptr::null::<_zend_op>())).op1 as *const _ as usize },
6744        8usize,
6745        concat!(
6746            "Offset of field: ",
6747            stringify!(_zend_op),
6748            "::",
6749            stringify!(op1)
6750        )
6751    );
6752    assert_eq!(
6753        unsafe { &(*(::std::ptr::null::<_zend_op>())).op2 as *const _ as usize },
6754        16usize,
6755        concat!(
6756            "Offset of field: ",
6757            stringify!(_zend_op),
6758            "::",
6759            stringify!(op2)
6760        )
6761    );
6762    assert_eq!(
6763        unsafe { &(*(::std::ptr::null::<_zend_op>())).result as *const _ as usize },
6764        24usize,
6765        concat!(
6766            "Offset of field: ",
6767            stringify!(_zend_op),
6768            "::",
6769            stringify!(result)
6770        )
6771    );
6772    assert_eq!(
6773        unsafe { &(*(::std::ptr::null::<_zend_op>())).extended_value as *const _ as usize },
6774        32usize,
6775        concat!(
6776            "Offset of field: ",
6777            stringify!(_zend_op),
6778            "::",
6779            stringify!(extended_value)
6780        )
6781    );
6782    assert_eq!(
6783        unsafe { &(*(::std::ptr::null::<_zend_op>())).lineno as *const _ as usize },
6784        40usize,
6785        concat!(
6786            "Offset of field: ",
6787            stringify!(_zend_op),
6788            "::",
6789            stringify!(lineno)
6790        )
6791    );
6792    assert_eq!(
6793        unsafe { &(*(::std::ptr::null::<_zend_op>())).opcode as *const _ as usize },
6794        44usize,
6795        concat!(
6796            "Offset of field: ",
6797            stringify!(_zend_op),
6798            "::",
6799            stringify!(opcode)
6800        )
6801    );
6802    assert_eq!(
6803        unsafe { &(*(::std::ptr::null::<_zend_op>())).op1_type as *const _ as usize },
6804        45usize,
6805        concat!(
6806            "Offset of field: ",
6807            stringify!(_zend_op),
6808            "::",
6809            stringify!(op1_type)
6810        )
6811    );
6812    assert_eq!(
6813        unsafe { &(*(::std::ptr::null::<_zend_op>())).op2_type as *const _ as usize },
6814        46usize,
6815        concat!(
6816            "Offset of field: ",
6817            stringify!(_zend_op),
6818            "::",
6819            stringify!(op2_type)
6820        )
6821    );
6822    assert_eq!(
6823        unsafe { &(*(::std::ptr::null::<_zend_op>())).result_type as *const _ as usize },
6824        47usize,
6825        concat!(
6826            "Offset of field: ",
6827            stringify!(_zend_op),
6828            "::",
6829            stringify!(result_type)
6830        )
6831    );
6832}
6833#[repr(C)]
6834#[derive(Debug, Copy, Clone)]
6835pub struct _zend_brk_cont_element {
6836    pub start: ::std::os::raw::c_int,
6837    pub cont: ::std::os::raw::c_int,
6838    pub brk: ::std::os::raw::c_int,
6839    pub parent: ::std::os::raw::c_int,
6840}
6841#[test]
6842fn bindgen_test_layout__zend_brk_cont_element() {
6843    assert_eq!(
6844        ::std::mem::size_of::<_zend_brk_cont_element>(),
6845        16usize,
6846        concat!("Size of: ", stringify!(_zend_brk_cont_element))
6847    );
6848    assert_eq!(
6849        ::std::mem::align_of::<_zend_brk_cont_element>(),
6850        4usize,
6851        concat!("Alignment of ", stringify!(_zend_brk_cont_element))
6852    );
6853    assert_eq!(
6854        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).start as *const _ as usize },
6855        0usize,
6856        concat!(
6857            "Offset of field: ",
6858            stringify!(_zend_brk_cont_element),
6859            "::",
6860            stringify!(start)
6861        )
6862    );
6863    assert_eq!(
6864        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).cont as *const _ as usize },
6865        4usize,
6866        concat!(
6867            "Offset of field: ",
6868            stringify!(_zend_brk_cont_element),
6869            "::",
6870            stringify!(cont)
6871        )
6872    );
6873    assert_eq!(
6874        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).brk as *const _ as usize },
6875        8usize,
6876        concat!(
6877            "Offset of field: ",
6878            stringify!(_zend_brk_cont_element),
6879            "::",
6880            stringify!(brk)
6881        )
6882    );
6883    assert_eq!(
6884        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).parent as *const _ as usize },
6885        12usize,
6886        concat!(
6887            "Offset of field: ",
6888            stringify!(_zend_brk_cont_element),
6889            "::",
6890            stringify!(parent)
6891        )
6892    );
6893}
6894pub type zend_brk_cont_element = _zend_brk_cont_element;
6895#[repr(C)]
6896#[derive(Debug, Copy, Clone)]
6897pub struct _zend_label {
6898    pub brk_cont: ::std::os::raw::c_int,
6899    pub opline_num: zend_uint,
6900}
6901#[test]
6902fn bindgen_test_layout__zend_label() {
6903    assert_eq!(
6904        ::std::mem::size_of::<_zend_label>(),
6905        8usize,
6906        concat!("Size of: ", stringify!(_zend_label))
6907    );
6908    assert_eq!(
6909        ::std::mem::align_of::<_zend_label>(),
6910        4usize,
6911        concat!("Alignment of ", stringify!(_zend_label))
6912    );
6913    assert_eq!(
6914        unsafe { &(*(::std::ptr::null::<_zend_label>())).brk_cont as *const _ as usize },
6915        0usize,
6916        concat!(
6917            "Offset of field: ",
6918            stringify!(_zend_label),
6919            "::",
6920            stringify!(brk_cont)
6921        )
6922    );
6923    assert_eq!(
6924        unsafe { &(*(::std::ptr::null::<_zend_label>())).opline_num as *const _ as usize },
6925        4usize,
6926        concat!(
6927            "Offset of field: ",
6928            stringify!(_zend_label),
6929            "::",
6930            stringify!(opline_num)
6931        )
6932    );
6933}
6934pub type zend_label = _zend_label;
6935#[repr(C)]
6936#[derive(Debug, Copy, Clone)]
6937pub struct _zend_try_catch_element {
6938    pub try_op: zend_uint,
6939    pub catch_op: zend_uint,
6940}
6941#[test]
6942fn bindgen_test_layout__zend_try_catch_element() {
6943    assert_eq!(
6944        ::std::mem::size_of::<_zend_try_catch_element>(),
6945        8usize,
6946        concat!("Size of: ", stringify!(_zend_try_catch_element))
6947    );
6948    assert_eq!(
6949        ::std::mem::align_of::<_zend_try_catch_element>(),
6950        4usize,
6951        concat!("Alignment of ", stringify!(_zend_try_catch_element))
6952    );
6953    assert_eq!(
6954        unsafe { &(*(::std::ptr::null::<_zend_try_catch_element>())).try_op as *const _ as usize },
6955        0usize,
6956        concat!(
6957            "Offset of field: ",
6958            stringify!(_zend_try_catch_element),
6959            "::",
6960            stringify!(try_op)
6961        )
6962    );
6963    assert_eq!(
6964        unsafe {
6965            &(*(::std::ptr::null::<_zend_try_catch_element>())).catch_op as *const _ as usize
6966        },
6967        4usize,
6968        concat!(
6969            "Offset of field: ",
6970            stringify!(_zend_try_catch_element),
6971            "::",
6972            stringify!(catch_op)
6973        )
6974    );
6975}
6976pub type zend_try_catch_element = _zend_try_catch_element;
6977extern "C" {
6978    pub fn zend_visibility_string(fn_flags: zend_uint) -> *mut ::std::os::raw::c_char;
6979}
6980#[repr(C)]
6981#[derive(Debug, Copy, Clone)]
6982pub struct _zend_property_info {
6983    pub flags: zend_uint,
6984    pub name: *const ::std::os::raw::c_char,
6985    pub name_length: ::std::os::raw::c_int,
6986    pub h: ulong,
6987    pub offset: ::std::os::raw::c_int,
6988    pub doc_comment: *const ::std::os::raw::c_char,
6989    pub doc_comment_len: ::std::os::raw::c_int,
6990    pub ce: *mut zend_class_entry,
6991}
6992#[test]
6993fn bindgen_test_layout__zend_property_info() {
6994    assert_eq!(
6995        ::std::mem::size_of::<_zend_property_info>(),
6996        64usize,
6997        concat!("Size of: ", stringify!(_zend_property_info))
6998    );
6999    assert_eq!(
7000        ::std::mem::align_of::<_zend_property_info>(),
7001        8usize,
7002        concat!("Alignment of ", stringify!(_zend_property_info))
7003    );
7004    assert_eq!(
7005        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).flags as *const _ as usize },
7006        0usize,
7007        concat!(
7008            "Offset of field: ",
7009            stringify!(_zend_property_info),
7010            "::",
7011            stringify!(flags)
7012        )
7013    );
7014    assert_eq!(
7015        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).name as *const _ as usize },
7016        8usize,
7017        concat!(
7018            "Offset of field: ",
7019            stringify!(_zend_property_info),
7020            "::",
7021            stringify!(name)
7022        )
7023    );
7024    assert_eq!(
7025        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).name_length as *const _ as usize },
7026        16usize,
7027        concat!(
7028            "Offset of field: ",
7029            stringify!(_zend_property_info),
7030            "::",
7031            stringify!(name_length)
7032        )
7033    );
7034    assert_eq!(
7035        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).h as *const _ as usize },
7036        24usize,
7037        concat!(
7038            "Offset of field: ",
7039            stringify!(_zend_property_info),
7040            "::",
7041            stringify!(h)
7042        )
7043    );
7044    assert_eq!(
7045        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).offset as *const _ as usize },
7046        32usize,
7047        concat!(
7048            "Offset of field: ",
7049            stringify!(_zend_property_info),
7050            "::",
7051            stringify!(offset)
7052        )
7053    );
7054    assert_eq!(
7055        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).doc_comment as *const _ as usize },
7056        40usize,
7057        concat!(
7058            "Offset of field: ",
7059            stringify!(_zend_property_info),
7060            "::",
7061            stringify!(doc_comment)
7062        )
7063    );
7064    assert_eq!(
7065        unsafe {
7066            &(*(::std::ptr::null::<_zend_property_info>())).doc_comment_len as *const _ as usize
7067        },
7068        48usize,
7069        concat!(
7070            "Offset of field: ",
7071            stringify!(_zend_property_info),
7072            "::",
7073            stringify!(doc_comment_len)
7074        )
7075    );
7076    assert_eq!(
7077        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).ce as *const _ as usize },
7078        56usize,
7079        concat!(
7080            "Offset of field: ",
7081            stringify!(_zend_property_info),
7082            "::",
7083            stringify!(ce)
7084        )
7085    );
7086}
7087pub type zend_property_info = _zend_property_info;
7088#[repr(C)]
7089#[derive(Debug, Copy, Clone)]
7090pub struct _zend_arg_info {
7091    pub name: *const ::std::os::raw::c_char,
7092    pub name_len: zend_uint,
7093    pub class_name: *const ::std::os::raw::c_char,
7094    pub class_name_len: zend_uint,
7095    pub type_hint: zend_uchar,
7096    pub allow_null: zend_bool,
7097    pub pass_by_reference: zend_bool,
7098}
7099#[test]
7100fn bindgen_test_layout__zend_arg_info() {
7101    assert_eq!(
7102        ::std::mem::size_of::<_zend_arg_info>(),
7103        32usize,
7104        concat!("Size of: ", stringify!(_zend_arg_info))
7105    );
7106    assert_eq!(
7107        ::std::mem::align_of::<_zend_arg_info>(),
7108        8usize,
7109        concat!("Alignment of ", stringify!(_zend_arg_info))
7110    );
7111    assert_eq!(
7112        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).name as *const _ as usize },
7113        0usize,
7114        concat!(
7115            "Offset of field: ",
7116            stringify!(_zend_arg_info),
7117            "::",
7118            stringify!(name)
7119        )
7120    );
7121    assert_eq!(
7122        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).name_len as *const _ as usize },
7123        8usize,
7124        concat!(
7125            "Offset of field: ",
7126            stringify!(_zend_arg_info),
7127            "::",
7128            stringify!(name_len)
7129        )
7130    );
7131    assert_eq!(
7132        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).class_name as *const _ as usize },
7133        16usize,
7134        concat!(
7135            "Offset of field: ",
7136            stringify!(_zend_arg_info),
7137            "::",
7138            stringify!(class_name)
7139        )
7140    );
7141    assert_eq!(
7142        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).class_name_len as *const _ as usize },
7143        24usize,
7144        concat!(
7145            "Offset of field: ",
7146            stringify!(_zend_arg_info),
7147            "::",
7148            stringify!(class_name_len)
7149        )
7150    );
7151    assert_eq!(
7152        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).type_hint as *const _ as usize },
7153        28usize,
7154        concat!(
7155            "Offset of field: ",
7156            stringify!(_zend_arg_info),
7157            "::",
7158            stringify!(type_hint)
7159        )
7160    );
7161    assert_eq!(
7162        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).allow_null as *const _ as usize },
7163        29usize,
7164        concat!(
7165            "Offset of field: ",
7166            stringify!(_zend_arg_info),
7167            "::",
7168            stringify!(allow_null)
7169        )
7170    );
7171    assert_eq!(
7172        unsafe {
7173            &(*(::std::ptr::null::<_zend_arg_info>())).pass_by_reference as *const _ as usize
7174        },
7175        30usize,
7176        concat!(
7177            "Offset of field: ",
7178            stringify!(_zend_arg_info),
7179            "::",
7180            stringify!(pass_by_reference)
7181        )
7182    );
7183}
7184pub type zend_arg_info = _zend_arg_info;
7185#[repr(C)]
7186#[derive(Debug, Copy, Clone)]
7187pub struct _zend_internal_function_info {
7188    pub _name: *const ::std::os::raw::c_char,
7189    pub _name_len: zend_uint,
7190    pub _class_name: *const ::std::os::raw::c_char,
7191    pub required_num_args: zend_uint,
7192    pub _type_hint: zend_uchar,
7193    pub return_reference: zend_bool,
7194    pub pass_rest_by_reference: zend_bool,
7195}
7196#[test]
7197fn bindgen_test_layout__zend_internal_function_info() {
7198    assert_eq!(
7199        ::std::mem::size_of::<_zend_internal_function_info>(),
7200        32usize,
7201        concat!("Size of: ", stringify!(_zend_internal_function_info))
7202    );
7203    assert_eq!(
7204        ::std::mem::align_of::<_zend_internal_function_info>(),
7205        8usize,
7206        concat!("Alignment of ", stringify!(_zend_internal_function_info))
7207    );
7208    assert_eq!(
7209        unsafe {
7210            &(*(::std::ptr::null::<_zend_internal_function_info>()))._name as *const _ as usize
7211        },
7212        0usize,
7213        concat!(
7214            "Offset of field: ",
7215            stringify!(_zend_internal_function_info),
7216            "::",
7217            stringify!(_name)
7218        )
7219    );
7220    assert_eq!(
7221        unsafe {
7222            &(*(::std::ptr::null::<_zend_internal_function_info>()))._name_len as *const _ as usize
7223        },
7224        8usize,
7225        concat!(
7226            "Offset of field: ",
7227            stringify!(_zend_internal_function_info),
7228            "::",
7229            stringify!(_name_len)
7230        )
7231    );
7232    assert_eq!(
7233        unsafe {
7234            &(*(::std::ptr::null::<_zend_internal_function_info>()))._class_name as *const _
7235                as usize
7236        },
7237        16usize,
7238        concat!(
7239            "Offset of field: ",
7240            stringify!(_zend_internal_function_info),
7241            "::",
7242            stringify!(_class_name)
7243        )
7244    );
7245    assert_eq!(
7246        unsafe {
7247            &(*(::std::ptr::null::<_zend_internal_function_info>())).required_num_args as *const _
7248                as usize
7249        },
7250        24usize,
7251        concat!(
7252            "Offset of field: ",
7253            stringify!(_zend_internal_function_info),
7254            "::",
7255            stringify!(required_num_args)
7256        )
7257    );
7258    assert_eq!(
7259        unsafe {
7260            &(*(::std::ptr::null::<_zend_internal_function_info>()))._type_hint as *const _ as usize
7261        },
7262        28usize,
7263        concat!(
7264            "Offset of field: ",
7265            stringify!(_zend_internal_function_info),
7266            "::",
7267            stringify!(_type_hint)
7268        )
7269    );
7270    assert_eq!(
7271        unsafe {
7272            &(*(::std::ptr::null::<_zend_internal_function_info>())).return_reference as *const _
7273                as usize
7274        },
7275        29usize,
7276        concat!(
7277            "Offset of field: ",
7278            stringify!(_zend_internal_function_info),
7279            "::",
7280            stringify!(return_reference)
7281        )
7282    );
7283    assert_eq!(
7284        unsafe {
7285            &(*(::std::ptr::null::<_zend_internal_function_info>())).pass_rest_by_reference
7286                as *const _ as usize
7287        },
7288        30usize,
7289        concat!(
7290            "Offset of field: ",
7291            stringify!(_zend_internal_function_info),
7292            "::",
7293            stringify!(pass_rest_by_reference)
7294        )
7295    );
7296}
7297pub type zend_internal_function_info = _zend_internal_function_info;
7298#[repr(C)]
7299#[derive(Debug, Copy, Clone)]
7300pub struct _zend_compiled_variable {
7301    pub name: *const ::std::os::raw::c_char,
7302    pub name_len: ::std::os::raw::c_int,
7303    pub hash_value: ulong,
7304}
7305#[test]
7306fn bindgen_test_layout__zend_compiled_variable() {
7307    assert_eq!(
7308        ::std::mem::size_of::<_zend_compiled_variable>(),
7309        24usize,
7310        concat!("Size of: ", stringify!(_zend_compiled_variable))
7311    );
7312    assert_eq!(
7313        ::std::mem::align_of::<_zend_compiled_variable>(),
7314        8usize,
7315        concat!("Alignment of ", stringify!(_zend_compiled_variable))
7316    );
7317    assert_eq!(
7318        unsafe { &(*(::std::ptr::null::<_zend_compiled_variable>())).name as *const _ as usize },
7319        0usize,
7320        concat!(
7321            "Offset of field: ",
7322            stringify!(_zend_compiled_variable),
7323            "::",
7324            stringify!(name)
7325        )
7326    );
7327    assert_eq!(
7328        unsafe {
7329            &(*(::std::ptr::null::<_zend_compiled_variable>())).name_len as *const _ as usize
7330        },
7331        8usize,
7332        concat!(
7333            "Offset of field: ",
7334            stringify!(_zend_compiled_variable),
7335            "::",
7336            stringify!(name_len)
7337        )
7338    );
7339    assert_eq!(
7340        unsafe {
7341            &(*(::std::ptr::null::<_zend_compiled_variable>())).hash_value as *const _ as usize
7342        },
7343        16usize,
7344        concat!(
7345            "Offset of field: ",
7346            stringify!(_zend_compiled_variable),
7347            "::",
7348            stringify!(hash_value)
7349        )
7350    );
7351}
7352pub type zend_compiled_variable = _zend_compiled_variable;
7353#[repr(C)]
7354#[derive(Debug, Copy, Clone)]
7355pub struct _zend_op_array {
7356    pub type_: zend_uchar,
7357    pub function_name: *const ::std::os::raw::c_char,
7358    pub scope: *mut zend_class_entry,
7359    pub fn_flags: zend_uint,
7360    pub prototype: *mut _zend_function,
7361    pub num_args: zend_uint,
7362    pub required_num_args: zend_uint,
7363    pub arg_info: *mut zend_arg_info,
7364    pub refcount: *mut zend_uint,
7365    pub opcodes: *mut zend_op,
7366    pub last: zend_uint,
7367    pub vars: *mut zend_compiled_variable,
7368    pub last_var: ::std::os::raw::c_int,
7369    pub T: zend_uint,
7370    pub brk_cont_array: *mut zend_brk_cont_element,
7371    pub last_brk_cont: ::std::os::raw::c_int,
7372    pub try_catch_array: *mut zend_try_catch_element,
7373    pub last_try_catch: ::std::os::raw::c_int,
7374    pub static_variables: *mut HashTable,
7375    pub this_var: zend_uint,
7376    pub filename: *const ::std::os::raw::c_char,
7377    pub line_start: zend_uint,
7378    pub line_end: zend_uint,
7379    pub doc_comment: *const ::std::os::raw::c_char,
7380    pub doc_comment_len: zend_uint,
7381    pub early_binding: zend_uint,
7382    pub literals: *mut zend_literal,
7383    pub last_literal: ::std::os::raw::c_int,
7384    pub run_time_cache: *mut *mut ::std::os::raw::c_void,
7385    pub last_cache_slot: ::std::os::raw::c_int,
7386    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
7387}
7388#[test]
7389fn bindgen_test_layout__zend_op_array() {
7390    assert_eq!(
7391        ::std::mem::size_of::<_zend_op_array>(),
7392        240usize,
7393        concat!("Size of: ", stringify!(_zend_op_array))
7394    );
7395    assert_eq!(
7396        ::std::mem::align_of::<_zend_op_array>(),
7397        8usize,
7398        concat!("Alignment of ", stringify!(_zend_op_array))
7399    );
7400    assert_eq!(
7401        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).type_ as *const _ as usize },
7402        0usize,
7403        concat!(
7404            "Offset of field: ",
7405            stringify!(_zend_op_array),
7406            "::",
7407            stringify!(type_)
7408        )
7409    );
7410    assert_eq!(
7411        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).function_name as *const _ as usize },
7412        8usize,
7413        concat!(
7414            "Offset of field: ",
7415            stringify!(_zend_op_array),
7416            "::",
7417            stringify!(function_name)
7418        )
7419    );
7420    assert_eq!(
7421        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).scope as *const _ as usize },
7422        16usize,
7423        concat!(
7424            "Offset of field: ",
7425            stringify!(_zend_op_array),
7426            "::",
7427            stringify!(scope)
7428        )
7429    );
7430    assert_eq!(
7431        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).fn_flags as *const _ as usize },
7432        24usize,
7433        concat!(
7434            "Offset of field: ",
7435            stringify!(_zend_op_array),
7436            "::",
7437            stringify!(fn_flags)
7438        )
7439    );
7440    assert_eq!(
7441        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).prototype as *const _ as usize },
7442        32usize,
7443        concat!(
7444            "Offset of field: ",
7445            stringify!(_zend_op_array),
7446            "::",
7447            stringify!(prototype)
7448        )
7449    );
7450    assert_eq!(
7451        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).num_args as *const _ as usize },
7452        40usize,
7453        concat!(
7454            "Offset of field: ",
7455            stringify!(_zend_op_array),
7456            "::",
7457            stringify!(num_args)
7458        )
7459    );
7460    assert_eq!(
7461        unsafe {
7462            &(*(::std::ptr::null::<_zend_op_array>())).required_num_args as *const _ as usize
7463        },
7464        44usize,
7465        concat!(
7466            "Offset of field: ",
7467            stringify!(_zend_op_array),
7468            "::",
7469            stringify!(required_num_args)
7470        )
7471    );
7472    assert_eq!(
7473        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).arg_info as *const _ as usize },
7474        48usize,
7475        concat!(
7476            "Offset of field: ",
7477            stringify!(_zend_op_array),
7478            "::",
7479            stringify!(arg_info)
7480        )
7481    );
7482    assert_eq!(
7483        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).refcount as *const _ as usize },
7484        56usize,
7485        concat!(
7486            "Offset of field: ",
7487            stringify!(_zend_op_array),
7488            "::",
7489            stringify!(refcount)
7490        )
7491    );
7492    assert_eq!(
7493        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).opcodes as *const _ as usize },
7494        64usize,
7495        concat!(
7496            "Offset of field: ",
7497            stringify!(_zend_op_array),
7498            "::",
7499            stringify!(opcodes)
7500        )
7501    );
7502    assert_eq!(
7503        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last as *const _ as usize },
7504        72usize,
7505        concat!(
7506            "Offset of field: ",
7507            stringify!(_zend_op_array),
7508            "::",
7509            stringify!(last)
7510        )
7511    );
7512    assert_eq!(
7513        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).vars as *const _ as usize },
7514        80usize,
7515        concat!(
7516            "Offset of field: ",
7517            stringify!(_zend_op_array),
7518            "::",
7519            stringify!(vars)
7520        )
7521    );
7522    assert_eq!(
7523        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_var as *const _ as usize },
7524        88usize,
7525        concat!(
7526            "Offset of field: ",
7527            stringify!(_zend_op_array),
7528            "::",
7529            stringify!(last_var)
7530        )
7531    );
7532    assert_eq!(
7533        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).T as *const _ as usize },
7534        92usize,
7535        concat!(
7536            "Offset of field: ",
7537            stringify!(_zend_op_array),
7538            "::",
7539            stringify!(T)
7540        )
7541    );
7542    assert_eq!(
7543        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).brk_cont_array as *const _ as usize },
7544        96usize,
7545        concat!(
7546            "Offset of field: ",
7547            stringify!(_zend_op_array),
7548            "::",
7549            stringify!(brk_cont_array)
7550        )
7551    );
7552    assert_eq!(
7553        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_brk_cont as *const _ as usize },
7554        104usize,
7555        concat!(
7556            "Offset of field: ",
7557            stringify!(_zend_op_array),
7558            "::",
7559            stringify!(last_brk_cont)
7560        )
7561    );
7562    assert_eq!(
7563        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).try_catch_array as *const _ as usize },
7564        112usize,
7565        concat!(
7566            "Offset of field: ",
7567            stringify!(_zend_op_array),
7568            "::",
7569            stringify!(try_catch_array)
7570        )
7571    );
7572    assert_eq!(
7573        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_try_catch as *const _ as usize },
7574        120usize,
7575        concat!(
7576            "Offset of field: ",
7577            stringify!(_zend_op_array),
7578            "::",
7579            stringify!(last_try_catch)
7580        )
7581    );
7582    assert_eq!(
7583        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).static_variables as *const _ as usize },
7584        128usize,
7585        concat!(
7586            "Offset of field: ",
7587            stringify!(_zend_op_array),
7588            "::",
7589            stringify!(static_variables)
7590        )
7591    );
7592    assert_eq!(
7593        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).this_var as *const _ as usize },
7594        136usize,
7595        concat!(
7596            "Offset of field: ",
7597            stringify!(_zend_op_array),
7598            "::",
7599            stringify!(this_var)
7600        )
7601    );
7602    assert_eq!(
7603        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).filename as *const _ as usize },
7604        144usize,
7605        concat!(
7606            "Offset of field: ",
7607            stringify!(_zend_op_array),
7608            "::",
7609            stringify!(filename)
7610        )
7611    );
7612    assert_eq!(
7613        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).line_start as *const _ as usize },
7614        152usize,
7615        concat!(
7616            "Offset of field: ",
7617            stringify!(_zend_op_array),
7618            "::",
7619            stringify!(line_start)
7620        )
7621    );
7622    assert_eq!(
7623        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).line_end as *const _ as usize },
7624        156usize,
7625        concat!(
7626            "Offset of field: ",
7627            stringify!(_zend_op_array),
7628            "::",
7629            stringify!(line_end)
7630        )
7631    );
7632    assert_eq!(
7633        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).doc_comment as *const _ as usize },
7634        160usize,
7635        concat!(
7636            "Offset of field: ",
7637            stringify!(_zend_op_array),
7638            "::",
7639            stringify!(doc_comment)
7640        )
7641    );
7642    assert_eq!(
7643        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).doc_comment_len as *const _ as usize },
7644        168usize,
7645        concat!(
7646            "Offset of field: ",
7647            stringify!(_zend_op_array),
7648            "::",
7649            stringify!(doc_comment_len)
7650        )
7651    );
7652    assert_eq!(
7653        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).early_binding as *const _ as usize },
7654        172usize,
7655        concat!(
7656            "Offset of field: ",
7657            stringify!(_zend_op_array),
7658            "::",
7659            stringify!(early_binding)
7660        )
7661    );
7662    assert_eq!(
7663        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).literals as *const _ as usize },
7664        176usize,
7665        concat!(
7666            "Offset of field: ",
7667            stringify!(_zend_op_array),
7668            "::",
7669            stringify!(literals)
7670        )
7671    );
7672    assert_eq!(
7673        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_literal as *const _ as usize },
7674        184usize,
7675        concat!(
7676            "Offset of field: ",
7677            stringify!(_zend_op_array),
7678            "::",
7679            stringify!(last_literal)
7680        )
7681    );
7682    assert_eq!(
7683        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).run_time_cache as *const _ as usize },
7684        192usize,
7685        concat!(
7686            "Offset of field: ",
7687            stringify!(_zend_op_array),
7688            "::",
7689            stringify!(run_time_cache)
7690        )
7691    );
7692    assert_eq!(
7693        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_cache_slot as *const _ as usize },
7694        200usize,
7695        concat!(
7696            "Offset of field: ",
7697            stringify!(_zend_op_array),
7698            "::",
7699            stringify!(last_cache_slot)
7700        )
7701    );
7702    assert_eq!(
7703        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).reserved as *const _ as usize },
7704        208usize,
7705        concat!(
7706            "Offset of field: ",
7707            stringify!(_zend_op_array),
7708            "::",
7709            stringify!(reserved)
7710        )
7711    );
7712}
7713#[repr(C)]
7714#[derive(Debug, Copy, Clone)]
7715pub struct _zend_internal_function {
7716    pub type_: zend_uchar,
7717    pub function_name: *const ::std::os::raw::c_char,
7718    pub scope: *mut zend_class_entry,
7719    pub fn_flags: zend_uint,
7720    pub prototype: *mut _zend_function,
7721    pub num_args: zend_uint,
7722    pub required_num_args: zend_uint,
7723    pub arg_info: *mut zend_arg_info,
7724    pub handler: ::std::option::Option<
7725        unsafe extern "C" fn(
7726            ht: ::std::os::raw::c_int,
7727            return_value: *mut zval,
7728            return_value_ptr: *mut *mut zval,
7729            this_ptr: *mut zval,
7730            return_value_used: ::std::os::raw::c_int,
7731        ),
7732    >,
7733    pub module: *mut _zend_module_entry,
7734}
7735#[test]
7736fn bindgen_test_layout__zend_internal_function() {
7737    assert_eq!(
7738        ::std::mem::size_of::<_zend_internal_function>(),
7739        72usize,
7740        concat!("Size of: ", stringify!(_zend_internal_function))
7741    );
7742    assert_eq!(
7743        ::std::mem::align_of::<_zend_internal_function>(),
7744        8usize,
7745        concat!("Alignment of ", stringify!(_zend_internal_function))
7746    );
7747    assert_eq!(
7748        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).type_ as *const _ as usize },
7749        0usize,
7750        concat!(
7751            "Offset of field: ",
7752            stringify!(_zend_internal_function),
7753            "::",
7754            stringify!(type_)
7755        )
7756    );
7757    assert_eq!(
7758        unsafe {
7759            &(*(::std::ptr::null::<_zend_internal_function>())).function_name as *const _ as usize
7760        },
7761        8usize,
7762        concat!(
7763            "Offset of field: ",
7764            stringify!(_zend_internal_function),
7765            "::",
7766            stringify!(function_name)
7767        )
7768    );
7769    assert_eq!(
7770        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).scope as *const _ as usize },
7771        16usize,
7772        concat!(
7773            "Offset of field: ",
7774            stringify!(_zend_internal_function),
7775            "::",
7776            stringify!(scope)
7777        )
7778    );
7779    assert_eq!(
7780        unsafe {
7781            &(*(::std::ptr::null::<_zend_internal_function>())).fn_flags as *const _ as usize
7782        },
7783        24usize,
7784        concat!(
7785            "Offset of field: ",
7786            stringify!(_zend_internal_function),
7787            "::",
7788            stringify!(fn_flags)
7789        )
7790    );
7791    assert_eq!(
7792        unsafe {
7793            &(*(::std::ptr::null::<_zend_internal_function>())).prototype as *const _ as usize
7794        },
7795        32usize,
7796        concat!(
7797            "Offset of field: ",
7798            stringify!(_zend_internal_function),
7799            "::",
7800            stringify!(prototype)
7801        )
7802    );
7803    assert_eq!(
7804        unsafe {
7805            &(*(::std::ptr::null::<_zend_internal_function>())).num_args as *const _ as usize
7806        },
7807        40usize,
7808        concat!(
7809            "Offset of field: ",
7810            stringify!(_zend_internal_function),
7811            "::",
7812            stringify!(num_args)
7813        )
7814    );
7815    assert_eq!(
7816        unsafe {
7817            &(*(::std::ptr::null::<_zend_internal_function>())).required_num_args as *const _
7818                as usize
7819        },
7820        44usize,
7821        concat!(
7822            "Offset of field: ",
7823            stringify!(_zend_internal_function),
7824            "::",
7825            stringify!(required_num_args)
7826        )
7827    );
7828    assert_eq!(
7829        unsafe {
7830            &(*(::std::ptr::null::<_zend_internal_function>())).arg_info as *const _ as usize
7831        },
7832        48usize,
7833        concat!(
7834            "Offset of field: ",
7835            stringify!(_zend_internal_function),
7836            "::",
7837            stringify!(arg_info)
7838        )
7839    );
7840    assert_eq!(
7841        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).handler as *const _ as usize },
7842        56usize,
7843        concat!(
7844            "Offset of field: ",
7845            stringify!(_zend_internal_function),
7846            "::",
7847            stringify!(handler)
7848        )
7849    );
7850    assert_eq!(
7851        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).module as *const _ as usize },
7852        64usize,
7853        concat!(
7854            "Offset of field: ",
7855            stringify!(_zend_internal_function),
7856            "::",
7857            stringify!(module)
7858        )
7859    );
7860}
7861pub type zend_internal_function = _zend_internal_function;
7862#[repr(C)]
7863#[derive(Copy, Clone)]
7864pub union _zend_function {
7865    pub type_: zend_uchar,
7866    pub common: _zend_function__bindgen_ty_1,
7867    pub op_array: zend_op_array,
7868    pub internal_function: zend_internal_function,
7869    _bindgen_union_align: [u64; 30usize],
7870}
7871#[repr(C)]
7872#[derive(Debug, Copy, Clone)]
7873pub struct _zend_function__bindgen_ty_1 {
7874    pub type_: zend_uchar,
7875    pub function_name: *const ::std::os::raw::c_char,
7876    pub scope: *mut zend_class_entry,
7877    pub fn_flags: zend_uint,
7878    pub prototype: *mut _zend_function,
7879    pub num_args: zend_uint,
7880    pub required_num_args: zend_uint,
7881    pub arg_info: *mut zend_arg_info,
7882}
7883#[test]
7884fn bindgen_test_layout__zend_function__bindgen_ty_1() {
7885    assert_eq!(
7886        ::std::mem::size_of::<_zend_function__bindgen_ty_1>(),
7887        56usize,
7888        concat!("Size of: ", stringify!(_zend_function__bindgen_ty_1))
7889    );
7890    assert_eq!(
7891        ::std::mem::align_of::<_zend_function__bindgen_ty_1>(),
7892        8usize,
7893        concat!("Alignment of ", stringify!(_zend_function__bindgen_ty_1))
7894    );
7895    assert_eq!(
7896        unsafe {
7897            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).type_ as *const _ as usize
7898        },
7899        0usize,
7900        concat!(
7901            "Offset of field: ",
7902            stringify!(_zend_function__bindgen_ty_1),
7903            "::",
7904            stringify!(type_)
7905        )
7906    );
7907    assert_eq!(
7908        unsafe {
7909            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).function_name as *const _
7910                as usize
7911        },
7912        8usize,
7913        concat!(
7914            "Offset of field: ",
7915            stringify!(_zend_function__bindgen_ty_1),
7916            "::",
7917            stringify!(function_name)
7918        )
7919    );
7920    assert_eq!(
7921        unsafe {
7922            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).scope as *const _ as usize
7923        },
7924        16usize,
7925        concat!(
7926            "Offset of field: ",
7927            stringify!(_zend_function__bindgen_ty_1),
7928            "::",
7929            stringify!(scope)
7930        )
7931    );
7932    assert_eq!(
7933        unsafe {
7934            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).fn_flags as *const _ as usize
7935        },
7936        24usize,
7937        concat!(
7938            "Offset of field: ",
7939            stringify!(_zend_function__bindgen_ty_1),
7940            "::",
7941            stringify!(fn_flags)
7942        )
7943    );
7944    assert_eq!(
7945        unsafe {
7946            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).prototype as *const _ as usize
7947        },
7948        32usize,
7949        concat!(
7950            "Offset of field: ",
7951            stringify!(_zend_function__bindgen_ty_1),
7952            "::",
7953            stringify!(prototype)
7954        )
7955    );
7956    assert_eq!(
7957        unsafe {
7958            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).num_args as *const _ as usize
7959        },
7960        40usize,
7961        concat!(
7962            "Offset of field: ",
7963            stringify!(_zend_function__bindgen_ty_1),
7964            "::",
7965            stringify!(num_args)
7966        )
7967    );
7968    assert_eq!(
7969        unsafe {
7970            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).required_num_args as *const _
7971                as usize
7972        },
7973        44usize,
7974        concat!(
7975            "Offset of field: ",
7976            stringify!(_zend_function__bindgen_ty_1),
7977            "::",
7978            stringify!(required_num_args)
7979        )
7980    );
7981    assert_eq!(
7982        unsafe {
7983            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).arg_info as *const _ as usize
7984        },
7985        48usize,
7986        concat!(
7987            "Offset of field: ",
7988            stringify!(_zend_function__bindgen_ty_1),
7989            "::",
7990            stringify!(arg_info)
7991        )
7992    );
7993}
7994#[test]
7995fn bindgen_test_layout__zend_function() {
7996    assert_eq!(
7997        ::std::mem::size_of::<_zend_function>(),
7998        240usize,
7999        concat!("Size of: ", stringify!(_zend_function))
8000    );
8001    assert_eq!(
8002        ::std::mem::align_of::<_zend_function>(),
8003        8usize,
8004        concat!("Alignment of ", stringify!(_zend_function))
8005    );
8006    assert_eq!(
8007        unsafe { &(*(::std::ptr::null::<_zend_function>())).type_ as *const _ as usize },
8008        0usize,
8009        concat!(
8010            "Offset of field: ",
8011            stringify!(_zend_function),
8012            "::",
8013            stringify!(type_)
8014        )
8015    );
8016    assert_eq!(
8017        unsafe { &(*(::std::ptr::null::<_zend_function>())).common as *const _ as usize },
8018        0usize,
8019        concat!(
8020            "Offset of field: ",
8021            stringify!(_zend_function),
8022            "::",
8023            stringify!(common)
8024        )
8025    );
8026    assert_eq!(
8027        unsafe { &(*(::std::ptr::null::<_zend_function>())).op_array as *const _ as usize },
8028        0usize,
8029        concat!(
8030            "Offset of field: ",
8031            stringify!(_zend_function),
8032            "::",
8033            stringify!(op_array)
8034        )
8035    );
8036    assert_eq!(
8037        unsafe {
8038            &(*(::std::ptr::null::<_zend_function>())).internal_function as *const _ as usize
8039        },
8040        0usize,
8041        concat!(
8042            "Offset of field: ",
8043            stringify!(_zend_function),
8044            "::",
8045            stringify!(internal_function)
8046        )
8047    );
8048}
8049pub type zend_function = _zend_function;
8050#[repr(C)]
8051#[derive(Debug, Copy, Clone)]
8052pub struct _zend_function_state {
8053    pub function: *mut zend_function,
8054    pub arguments: *mut *mut ::std::os::raw::c_void,
8055}
8056#[test]
8057fn bindgen_test_layout__zend_function_state() {
8058    assert_eq!(
8059        ::std::mem::size_of::<_zend_function_state>(),
8060        16usize,
8061        concat!("Size of: ", stringify!(_zend_function_state))
8062    );
8063    assert_eq!(
8064        ::std::mem::align_of::<_zend_function_state>(),
8065        8usize,
8066        concat!("Alignment of ", stringify!(_zend_function_state))
8067    );
8068    assert_eq!(
8069        unsafe { &(*(::std::ptr::null::<_zend_function_state>())).function as *const _ as usize },
8070        0usize,
8071        concat!(
8072            "Offset of field: ",
8073            stringify!(_zend_function_state),
8074            "::",
8075            stringify!(function)
8076        )
8077    );
8078    assert_eq!(
8079        unsafe { &(*(::std::ptr::null::<_zend_function_state>())).arguments as *const _ as usize },
8080        8usize,
8081        concat!(
8082            "Offset of field: ",
8083            stringify!(_zend_function_state),
8084            "::",
8085            stringify!(arguments)
8086        )
8087    );
8088}
8089pub type zend_function_state = _zend_function_state;
8090#[repr(C)]
8091#[derive(Copy, Clone)]
8092pub struct _zend_switch_entry {
8093    pub cond: znode,
8094    pub default_case: ::std::os::raw::c_int,
8095    pub control_var: ::std::os::raw::c_int,
8096}
8097#[test]
8098fn bindgen_test_layout__zend_switch_entry() {
8099    assert_eq!(
8100        ::std::mem::size_of::<_zend_switch_entry>(),
8101        48usize,
8102        concat!("Size of: ", stringify!(_zend_switch_entry))
8103    );
8104    assert_eq!(
8105        ::std::mem::align_of::<_zend_switch_entry>(),
8106        8usize,
8107        concat!("Alignment of ", stringify!(_zend_switch_entry))
8108    );
8109    assert_eq!(
8110        unsafe { &(*(::std::ptr::null::<_zend_switch_entry>())).cond as *const _ as usize },
8111        0usize,
8112        concat!(
8113            "Offset of field: ",
8114            stringify!(_zend_switch_entry),
8115            "::",
8116            stringify!(cond)
8117        )
8118    );
8119    assert_eq!(
8120        unsafe { &(*(::std::ptr::null::<_zend_switch_entry>())).default_case as *const _ as usize },
8121        40usize,
8122        concat!(
8123            "Offset of field: ",
8124            stringify!(_zend_switch_entry),
8125            "::",
8126            stringify!(default_case)
8127        )
8128    );
8129    assert_eq!(
8130        unsafe { &(*(::std::ptr::null::<_zend_switch_entry>())).control_var as *const _ as usize },
8131        44usize,
8132        concat!(
8133            "Offset of field: ",
8134            stringify!(_zend_switch_entry),
8135            "::",
8136            stringify!(control_var)
8137        )
8138    );
8139}
8140pub type zend_switch_entry = _zend_switch_entry;
8141#[repr(C)]
8142#[derive(Debug, Copy, Clone)]
8143pub struct _zend_execute_data {
8144    pub opline: *mut _zend_op,
8145    pub function_state: zend_function_state,
8146    pub fbc: *mut zend_function,
8147    pub called_scope: *mut zend_class_entry,
8148    pub op_array: *mut zend_op_array,
8149    pub object: *mut zval,
8150    pub Ts: *mut _temp_variable,
8151    pub CVs: *mut *mut *mut zval,
8152    pub symbol_table: *mut HashTable,
8153    pub prev_execute_data: *mut _zend_execute_data,
8154    pub old_error_reporting: *mut zval,
8155    pub nested: zend_bool,
8156    pub original_return_value: *mut *mut zval,
8157    pub current_scope: *mut zend_class_entry,
8158    pub current_called_scope: *mut zend_class_entry,
8159    pub current_this: *mut zval,
8160    pub current_object: *mut zval,
8161}
8162#[test]
8163fn bindgen_test_layout__zend_execute_data() {
8164    assert_eq!(
8165        ::std::mem::size_of::<_zend_execute_data>(),
8166        144usize,
8167        concat!("Size of: ", stringify!(_zend_execute_data))
8168    );
8169    assert_eq!(
8170        ::std::mem::align_of::<_zend_execute_data>(),
8171        8usize,
8172        concat!("Alignment of ", stringify!(_zend_execute_data))
8173    );
8174    assert_eq!(
8175        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).opline as *const _ as usize },
8176        0usize,
8177        concat!(
8178            "Offset of field: ",
8179            stringify!(_zend_execute_data),
8180            "::",
8181            stringify!(opline)
8182        )
8183    );
8184    assert_eq!(
8185        unsafe {
8186            &(*(::std::ptr::null::<_zend_execute_data>())).function_state as *const _ as usize
8187        },
8188        8usize,
8189        concat!(
8190            "Offset of field: ",
8191            stringify!(_zend_execute_data),
8192            "::",
8193            stringify!(function_state)
8194        )
8195    );
8196    assert_eq!(
8197        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).fbc as *const _ as usize },
8198        24usize,
8199        concat!(
8200            "Offset of field: ",
8201            stringify!(_zend_execute_data),
8202            "::",
8203            stringify!(fbc)
8204        )
8205    );
8206    assert_eq!(
8207        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).called_scope as *const _ as usize },
8208        32usize,
8209        concat!(
8210            "Offset of field: ",
8211            stringify!(_zend_execute_data),
8212            "::",
8213            stringify!(called_scope)
8214        )
8215    );
8216    assert_eq!(
8217        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).op_array as *const _ as usize },
8218        40usize,
8219        concat!(
8220            "Offset of field: ",
8221            stringify!(_zend_execute_data),
8222            "::",
8223            stringify!(op_array)
8224        )
8225    );
8226    assert_eq!(
8227        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).object as *const _ as usize },
8228        48usize,
8229        concat!(
8230            "Offset of field: ",
8231            stringify!(_zend_execute_data),
8232            "::",
8233            stringify!(object)
8234        )
8235    );
8236    assert_eq!(
8237        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).Ts as *const _ as usize },
8238        56usize,
8239        concat!(
8240            "Offset of field: ",
8241            stringify!(_zend_execute_data),
8242            "::",
8243            stringify!(Ts)
8244        )
8245    );
8246    assert_eq!(
8247        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).CVs as *const _ as usize },
8248        64usize,
8249        concat!(
8250            "Offset of field: ",
8251            stringify!(_zend_execute_data),
8252            "::",
8253            stringify!(CVs)
8254        )
8255    );
8256    assert_eq!(
8257        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).symbol_table as *const _ as usize },
8258        72usize,
8259        concat!(
8260            "Offset of field: ",
8261            stringify!(_zend_execute_data),
8262            "::",
8263            stringify!(symbol_table)
8264        )
8265    );
8266    assert_eq!(
8267        unsafe {
8268            &(*(::std::ptr::null::<_zend_execute_data>())).prev_execute_data as *const _ as usize
8269        },
8270        80usize,
8271        concat!(
8272            "Offset of field: ",
8273            stringify!(_zend_execute_data),
8274            "::",
8275            stringify!(prev_execute_data)
8276        )
8277    );
8278    assert_eq!(
8279        unsafe {
8280            &(*(::std::ptr::null::<_zend_execute_data>())).old_error_reporting as *const _ as usize
8281        },
8282        88usize,
8283        concat!(
8284            "Offset of field: ",
8285            stringify!(_zend_execute_data),
8286            "::",
8287            stringify!(old_error_reporting)
8288        )
8289    );
8290    assert_eq!(
8291        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).nested as *const _ as usize },
8292        96usize,
8293        concat!(
8294            "Offset of field: ",
8295            stringify!(_zend_execute_data),
8296            "::",
8297            stringify!(nested)
8298        )
8299    );
8300    assert_eq!(
8301        unsafe {
8302            &(*(::std::ptr::null::<_zend_execute_data>())).original_return_value as *const _
8303                as usize
8304        },
8305        104usize,
8306        concat!(
8307            "Offset of field: ",
8308            stringify!(_zend_execute_data),
8309            "::",
8310            stringify!(original_return_value)
8311        )
8312    );
8313    assert_eq!(
8314        unsafe {
8315            &(*(::std::ptr::null::<_zend_execute_data>())).current_scope as *const _ as usize
8316        },
8317        112usize,
8318        concat!(
8319            "Offset of field: ",
8320            stringify!(_zend_execute_data),
8321            "::",
8322            stringify!(current_scope)
8323        )
8324    );
8325    assert_eq!(
8326        unsafe {
8327            &(*(::std::ptr::null::<_zend_execute_data>())).current_called_scope as *const _ as usize
8328        },
8329        120usize,
8330        concat!(
8331            "Offset of field: ",
8332            stringify!(_zend_execute_data),
8333            "::",
8334            stringify!(current_called_scope)
8335        )
8336    );
8337    assert_eq!(
8338        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).current_this as *const _ as usize },
8339        128usize,
8340        concat!(
8341            "Offset of field: ",
8342            stringify!(_zend_execute_data),
8343            "::",
8344            stringify!(current_this)
8345        )
8346    );
8347    assert_eq!(
8348        unsafe {
8349            &(*(::std::ptr::null::<_zend_execute_data>())).current_object as *const _ as usize
8350        },
8351        136usize,
8352        concat!(
8353            "Offset of field: ",
8354            stringify!(_zend_execute_data),
8355            "::",
8356            stringify!(current_object)
8357        )
8358    );
8359}
8360pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
8361#[repr(C)]
8362#[derive(Debug, Copy, Clone)]
8363pub struct __jmp_buf_tag {
8364    pub __jmpbuf: __jmp_buf,
8365    pub __mask_was_saved: ::std::os::raw::c_int,
8366    pub __saved_mask: __sigset_t,
8367}
8368#[test]
8369fn bindgen_test_layout___jmp_buf_tag() {
8370    assert_eq!(
8371        ::std::mem::size_of::<__jmp_buf_tag>(),
8372        200usize,
8373        concat!("Size of: ", stringify!(__jmp_buf_tag))
8374    );
8375    assert_eq!(
8376        ::std::mem::align_of::<__jmp_buf_tag>(),
8377        8usize,
8378        concat!("Alignment of ", stringify!(__jmp_buf_tag))
8379    );
8380    assert_eq!(
8381        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__jmpbuf as *const _ as usize },
8382        0usize,
8383        concat!(
8384            "Offset of field: ",
8385            stringify!(__jmp_buf_tag),
8386            "::",
8387            stringify!(__jmpbuf)
8388        )
8389    );
8390    assert_eq!(
8391        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__mask_was_saved as *const _ as usize },
8392        64usize,
8393        concat!(
8394            "Offset of field: ",
8395            stringify!(__jmp_buf_tag),
8396            "::",
8397            stringify!(__mask_was_saved)
8398        )
8399    );
8400    assert_eq!(
8401        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__saved_mask as *const _ as usize },
8402        72usize,
8403        concat!(
8404            "Offset of field: ",
8405            stringify!(__jmp_buf_tag),
8406            "::",
8407            stringify!(__saved_mask)
8408        )
8409    );
8410}
8411pub type jmp_buf = [__jmp_buf_tag; 1usize];
8412pub type zend_compiler_globals = _zend_compiler_globals;
8413pub type zend_executor_globals = _zend_executor_globals;
8414pub type zend_php_scanner_globals = _zend_php_scanner_globals;
8415pub type zend_ini_scanner_globals = _zend_ini_scanner_globals;
8416#[repr(C)]
8417#[derive(Copy, Clone)]
8418pub struct _zend_compiler_globals {
8419    pub bp_stack: zend_stack,
8420    pub switch_cond_stack: zend_stack,
8421    pub foreach_copy_stack: zend_stack,
8422    pub object_stack: zend_stack,
8423    pub declare_stack: zend_stack,
8424    pub active_class_entry: *mut zend_class_entry,
8425    pub list_llist: zend_llist,
8426    pub dimension_llist: zend_llist,
8427    pub list_stack: zend_stack,
8428    pub function_call_stack: zend_stack,
8429    pub compiled_filename: *mut ::std::os::raw::c_char,
8430    pub zend_lineno: ::std::os::raw::c_int,
8431    pub heredoc: *mut ::std::os::raw::c_char,
8432    pub heredoc_len: ::std::os::raw::c_int,
8433    pub active_op_array: *mut zend_op_array,
8434    pub function_table: *mut HashTable,
8435    pub class_table: *mut HashTable,
8436    pub filenames_table: HashTable,
8437    pub auto_globals: *mut HashTable,
8438    pub parse_error: zend_bool,
8439    pub in_compilation: zend_bool,
8440    pub short_tags: zend_bool,
8441    pub asp_tags: zend_bool,
8442    pub declarables: zend_declarables,
8443    pub unclean_shutdown: zend_bool,
8444    pub ini_parser_unbuffered_errors: zend_bool,
8445    pub open_files: zend_llist,
8446    pub catch_begin: ::std::os::raw::c_long,
8447    pub ini_parser_param: *mut _zend_ini_parser_param,
8448    pub interactive: ::std::os::raw::c_int,
8449    pub start_lineno: zend_uint,
8450    pub increment_lineno: zend_bool,
8451    pub implementing_class: znode,
8452    pub access_type: zend_uint,
8453    pub doc_comment: *mut ::std::os::raw::c_char,
8454    pub doc_comment_len: zend_uint,
8455    pub compiler_options: zend_uint,
8456    pub current_namespace: *mut zval,
8457    pub current_import: *mut HashTable,
8458    pub in_namespace: zend_bool,
8459    pub has_bracketed_namespaces: zend_bool,
8460    pub context: zend_compiler_context,
8461    pub context_stack: zend_stack,
8462    pub interned_strings_start: *mut ::std::os::raw::c_char,
8463    pub interned_strings_end: *mut ::std::os::raw::c_char,
8464    pub interned_strings_top: *mut ::std::os::raw::c_char,
8465    pub interned_strings_snapshot_top: *mut ::std::os::raw::c_char,
8466    pub interned_strings: HashTable,
8467    pub script_encoding_list: *mut *const zend_encoding,
8468    pub script_encoding_list_size: size_t,
8469    pub multibyte: zend_bool,
8470    pub detect_unicode: zend_bool,
8471    pub encoding_declared: zend_bool,
8472}
8473#[test]
8474fn bindgen_test_layout__zend_compiler_globals() {
8475    assert_eq!(
8476        ::std::mem::size_of::<_zend_compiler_globals>(),
8477        760usize,
8478        concat!("Size of: ", stringify!(_zend_compiler_globals))
8479    );
8480    assert_eq!(
8481        ::std::mem::align_of::<_zend_compiler_globals>(),
8482        8usize,
8483        concat!("Alignment of ", stringify!(_zend_compiler_globals))
8484    );
8485    assert_eq!(
8486        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).bp_stack as *const _ as usize },
8487        0usize,
8488        concat!(
8489            "Offset of field: ",
8490            stringify!(_zend_compiler_globals),
8491            "::",
8492            stringify!(bp_stack)
8493        )
8494    );
8495    assert_eq!(
8496        unsafe {
8497            &(*(::std::ptr::null::<_zend_compiler_globals>())).switch_cond_stack as *const _
8498                as usize
8499        },
8500        16usize,
8501        concat!(
8502            "Offset of field: ",
8503            stringify!(_zend_compiler_globals),
8504            "::",
8505            stringify!(switch_cond_stack)
8506        )
8507    );
8508    assert_eq!(
8509        unsafe {
8510            &(*(::std::ptr::null::<_zend_compiler_globals>())).foreach_copy_stack as *const _
8511                as usize
8512        },
8513        32usize,
8514        concat!(
8515            "Offset of field: ",
8516            stringify!(_zend_compiler_globals),
8517            "::",
8518            stringify!(foreach_copy_stack)
8519        )
8520    );
8521    assert_eq!(
8522        unsafe {
8523            &(*(::std::ptr::null::<_zend_compiler_globals>())).object_stack as *const _ as usize
8524        },
8525        48usize,
8526        concat!(
8527            "Offset of field: ",
8528            stringify!(_zend_compiler_globals),
8529            "::",
8530            stringify!(object_stack)
8531        )
8532    );
8533    assert_eq!(
8534        unsafe {
8535            &(*(::std::ptr::null::<_zend_compiler_globals>())).declare_stack as *const _ as usize
8536        },
8537        64usize,
8538        concat!(
8539            "Offset of field: ",
8540            stringify!(_zend_compiler_globals),
8541            "::",
8542            stringify!(declare_stack)
8543        )
8544    );
8545    assert_eq!(
8546        unsafe {
8547            &(*(::std::ptr::null::<_zend_compiler_globals>())).active_class_entry as *const _
8548                as usize
8549        },
8550        80usize,
8551        concat!(
8552            "Offset of field: ",
8553            stringify!(_zend_compiler_globals),
8554            "::",
8555            stringify!(active_class_entry)
8556        )
8557    );
8558    assert_eq!(
8559        unsafe {
8560            &(*(::std::ptr::null::<_zend_compiler_globals>())).list_llist as *const _ as usize
8561        },
8562        88usize,
8563        concat!(
8564            "Offset of field: ",
8565            stringify!(_zend_compiler_globals),
8566            "::",
8567            stringify!(list_llist)
8568        )
8569    );
8570    assert_eq!(
8571        unsafe {
8572            &(*(::std::ptr::null::<_zend_compiler_globals>())).dimension_llist as *const _ as usize
8573        },
8574        144usize,
8575        concat!(
8576            "Offset of field: ",
8577            stringify!(_zend_compiler_globals),
8578            "::",
8579            stringify!(dimension_llist)
8580        )
8581    );
8582    assert_eq!(
8583        unsafe {
8584            &(*(::std::ptr::null::<_zend_compiler_globals>())).list_stack as *const _ as usize
8585        },
8586        200usize,
8587        concat!(
8588            "Offset of field: ",
8589            stringify!(_zend_compiler_globals),
8590            "::",
8591            stringify!(list_stack)
8592        )
8593    );
8594    assert_eq!(
8595        unsafe {
8596            &(*(::std::ptr::null::<_zend_compiler_globals>())).function_call_stack as *const _
8597                as usize
8598        },
8599        216usize,
8600        concat!(
8601            "Offset of field: ",
8602            stringify!(_zend_compiler_globals),
8603            "::",
8604            stringify!(function_call_stack)
8605        )
8606    );
8607    assert_eq!(
8608        unsafe {
8609            &(*(::std::ptr::null::<_zend_compiler_globals>())).compiled_filename as *const _
8610                as usize
8611        },
8612        232usize,
8613        concat!(
8614            "Offset of field: ",
8615            stringify!(_zend_compiler_globals),
8616            "::",
8617            stringify!(compiled_filename)
8618        )
8619    );
8620    assert_eq!(
8621        unsafe {
8622            &(*(::std::ptr::null::<_zend_compiler_globals>())).zend_lineno as *const _ as usize
8623        },
8624        240usize,
8625        concat!(
8626            "Offset of field: ",
8627            stringify!(_zend_compiler_globals),
8628            "::",
8629            stringify!(zend_lineno)
8630        )
8631    );
8632    assert_eq!(
8633        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).heredoc as *const _ as usize },
8634        248usize,
8635        concat!(
8636            "Offset of field: ",
8637            stringify!(_zend_compiler_globals),
8638            "::",
8639            stringify!(heredoc)
8640        )
8641    );
8642    assert_eq!(
8643        unsafe {
8644            &(*(::std::ptr::null::<_zend_compiler_globals>())).heredoc_len as *const _ as usize
8645        },
8646        256usize,
8647        concat!(
8648            "Offset of field: ",
8649            stringify!(_zend_compiler_globals),
8650            "::",
8651            stringify!(heredoc_len)
8652        )
8653    );
8654    assert_eq!(
8655        unsafe {
8656            &(*(::std::ptr::null::<_zend_compiler_globals>())).active_op_array as *const _ as usize
8657        },
8658        264usize,
8659        concat!(
8660            "Offset of field: ",
8661            stringify!(_zend_compiler_globals),
8662            "::",
8663            stringify!(active_op_array)
8664        )
8665    );
8666    assert_eq!(
8667        unsafe {
8668            &(*(::std::ptr::null::<_zend_compiler_globals>())).function_table as *const _ as usize
8669        },
8670        272usize,
8671        concat!(
8672            "Offset of field: ",
8673            stringify!(_zend_compiler_globals),
8674            "::",
8675            stringify!(function_table)
8676        )
8677    );
8678    assert_eq!(
8679        unsafe {
8680            &(*(::std::ptr::null::<_zend_compiler_globals>())).class_table as *const _ as usize
8681        },
8682        280usize,
8683        concat!(
8684            "Offset of field: ",
8685            stringify!(_zend_compiler_globals),
8686            "::",
8687            stringify!(class_table)
8688        )
8689    );
8690    assert_eq!(
8691        unsafe {
8692            &(*(::std::ptr::null::<_zend_compiler_globals>())).filenames_table as *const _ as usize
8693        },
8694        288usize,
8695        concat!(
8696            "Offset of field: ",
8697            stringify!(_zend_compiler_globals),
8698            "::",
8699            stringify!(filenames_table)
8700        )
8701    );
8702    assert_eq!(
8703        unsafe {
8704            &(*(::std::ptr::null::<_zend_compiler_globals>())).auto_globals as *const _ as usize
8705        },
8706        360usize,
8707        concat!(
8708            "Offset of field: ",
8709            stringify!(_zend_compiler_globals),
8710            "::",
8711            stringify!(auto_globals)
8712        )
8713    );
8714    assert_eq!(
8715        unsafe {
8716            &(*(::std::ptr::null::<_zend_compiler_globals>())).parse_error as *const _ as usize
8717        },
8718        368usize,
8719        concat!(
8720            "Offset of field: ",
8721            stringify!(_zend_compiler_globals),
8722            "::",
8723            stringify!(parse_error)
8724        )
8725    );
8726    assert_eq!(
8727        unsafe {
8728            &(*(::std::ptr::null::<_zend_compiler_globals>())).in_compilation as *const _ as usize
8729        },
8730        369usize,
8731        concat!(
8732            "Offset of field: ",
8733            stringify!(_zend_compiler_globals),
8734            "::",
8735            stringify!(in_compilation)
8736        )
8737    );
8738    assert_eq!(
8739        unsafe {
8740            &(*(::std::ptr::null::<_zend_compiler_globals>())).short_tags as *const _ as usize
8741        },
8742        370usize,
8743        concat!(
8744            "Offset of field: ",
8745            stringify!(_zend_compiler_globals),
8746            "::",
8747            stringify!(short_tags)
8748        )
8749    );
8750    assert_eq!(
8751        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).asp_tags as *const _ as usize },
8752        371usize,
8753        concat!(
8754            "Offset of field: ",
8755            stringify!(_zend_compiler_globals),
8756            "::",
8757            stringify!(asp_tags)
8758        )
8759    );
8760    assert_eq!(
8761        unsafe {
8762            &(*(::std::ptr::null::<_zend_compiler_globals>())).declarables as *const _ as usize
8763        },
8764        376usize,
8765        concat!(
8766            "Offset of field: ",
8767            stringify!(_zend_compiler_globals),
8768            "::",
8769            stringify!(declarables)
8770        )
8771    );
8772    assert_eq!(
8773        unsafe {
8774            &(*(::std::ptr::null::<_zend_compiler_globals>())).unclean_shutdown as *const _ as usize
8775        },
8776        400usize,
8777        concat!(
8778            "Offset of field: ",
8779            stringify!(_zend_compiler_globals),
8780            "::",
8781            stringify!(unclean_shutdown)
8782        )
8783    );
8784    assert_eq!(
8785        unsafe {
8786            &(*(::std::ptr::null::<_zend_compiler_globals>())).ini_parser_unbuffered_errors
8787                as *const _ as usize
8788        },
8789        401usize,
8790        concat!(
8791            "Offset of field: ",
8792            stringify!(_zend_compiler_globals),
8793            "::",
8794            stringify!(ini_parser_unbuffered_errors)
8795        )
8796    );
8797    assert_eq!(
8798        unsafe {
8799            &(*(::std::ptr::null::<_zend_compiler_globals>())).open_files as *const _ as usize
8800        },
8801        408usize,
8802        concat!(
8803            "Offset of field: ",
8804            stringify!(_zend_compiler_globals),
8805            "::",
8806            stringify!(open_files)
8807        )
8808    );
8809    assert_eq!(
8810        unsafe {
8811            &(*(::std::ptr::null::<_zend_compiler_globals>())).catch_begin as *const _ as usize
8812        },
8813        464usize,
8814        concat!(
8815            "Offset of field: ",
8816            stringify!(_zend_compiler_globals),
8817            "::",
8818            stringify!(catch_begin)
8819        )
8820    );
8821    assert_eq!(
8822        unsafe {
8823            &(*(::std::ptr::null::<_zend_compiler_globals>())).ini_parser_param as *const _ as usize
8824        },
8825        472usize,
8826        concat!(
8827            "Offset of field: ",
8828            stringify!(_zend_compiler_globals),
8829            "::",
8830            stringify!(ini_parser_param)
8831        )
8832    );
8833    assert_eq!(
8834        unsafe {
8835            &(*(::std::ptr::null::<_zend_compiler_globals>())).interactive as *const _ as usize
8836        },
8837        480usize,
8838        concat!(
8839            "Offset of field: ",
8840            stringify!(_zend_compiler_globals),
8841            "::",
8842            stringify!(interactive)
8843        )
8844    );
8845    assert_eq!(
8846        unsafe {
8847            &(*(::std::ptr::null::<_zend_compiler_globals>())).start_lineno as *const _ as usize
8848        },
8849        484usize,
8850        concat!(
8851            "Offset of field: ",
8852            stringify!(_zend_compiler_globals),
8853            "::",
8854            stringify!(start_lineno)
8855        )
8856    );
8857    assert_eq!(
8858        unsafe {
8859            &(*(::std::ptr::null::<_zend_compiler_globals>())).increment_lineno as *const _ as usize
8860        },
8861        488usize,
8862        concat!(
8863            "Offset of field: ",
8864            stringify!(_zend_compiler_globals),
8865            "::",
8866            stringify!(increment_lineno)
8867        )
8868    );
8869    assert_eq!(
8870        unsafe {
8871            &(*(::std::ptr::null::<_zend_compiler_globals>())).implementing_class as *const _
8872                as usize
8873        },
8874        496usize,
8875        concat!(
8876            "Offset of field: ",
8877            stringify!(_zend_compiler_globals),
8878            "::",
8879            stringify!(implementing_class)
8880        )
8881    );
8882    assert_eq!(
8883        unsafe {
8884            &(*(::std::ptr::null::<_zend_compiler_globals>())).access_type as *const _ as usize
8885        },
8886        536usize,
8887        concat!(
8888            "Offset of field: ",
8889            stringify!(_zend_compiler_globals),
8890            "::",
8891            stringify!(access_type)
8892        )
8893    );
8894    assert_eq!(
8895        unsafe {
8896            &(*(::std::ptr::null::<_zend_compiler_globals>())).doc_comment as *const _ as usize
8897        },
8898        544usize,
8899        concat!(
8900            "Offset of field: ",
8901            stringify!(_zend_compiler_globals),
8902            "::",
8903            stringify!(doc_comment)
8904        )
8905    );
8906    assert_eq!(
8907        unsafe {
8908            &(*(::std::ptr::null::<_zend_compiler_globals>())).doc_comment_len as *const _ as usize
8909        },
8910        552usize,
8911        concat!(
8912            "Offset of field: ",
8913            stringify!(_zend_compiler_globals),
8914            "::",
8915            stringify!(doc_comment_len)
8916        )
8917    );
8918    assert_eq!(
8919        unsafe {
8920            &(*(::std::ptr::null::<_zend_compiler_globals>())).compiler_options as *const _ as usize
8921        },
8922        556usize,
8923        concat!(
8924            "Offset of field: ",
8925            stringify!(_zend_compiler_globals),
8926            "::",
8927            stringify!(compiler_options)
8928        )
8929    );
8930    assert_eq!(
8931        unsafe {
8932            &(*(::std::ptr::null::<_zend_compiler_globals>())).current_namespace as *const _
8933                as usize
8934        },
8935        560usize,
8936        concat!(
8937            "Offset of field: ",
8938            stringify!(_zend_compiler_globals),
8939            "::",
8940            stringify!(current_namespace)
8941        )
8942    );
8943    assert_eq!(
8944        unsafe {
8945            &(*(::std::ptr::null::<_zend_compiler_globals>())).current_import as *const _ as usize
8946        },
8947        568usize,
8948        concat!(
8949            "Offset of field: ",
8950            stringify!(_zend_compiler_globals),
8951            "::",
8952            stringify!(current_import)
8953        )
8954    );
8955    assert_eq!(
8956        unsafe {
8957            &(*(::std::ptr::null::<_zend_compiler_globals>())).in_namespace as *const _ as usize
8958        },
8959        576usize,
8960        concat!(
8961            "Offset of field: ",
8962            stringify!(_zend_compiler_globals),
8963            "::",
8964            stringify!(in_namespace)
8965        )
8966    );
8967    assert_eq!(
8968        unsafe {
8969            &(*(::std::ptr::null::<_zend_compiler_globals>())).has_bracketed_namespaces as *const _
8970                as usize
8971        },
8972        577usize,
8973        concat!(
8974            "Offset of field: ",
8975            stringify!(_zend_compiler_globals),
8976            "::",
8977            stringify!(has_bracketed_namespaces)
8978        )
8979    );
8980    assert_eq!(
8981        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).context as *const _ as usize },
8982        584usize,
8983        concat!(
8984            "Offset of field: ",
8985            stringify!(_zend_compiler_globals),
8986            "::",
8987            stringify!(context)
8988        )
8989    );
8990    assert_eq!(
8991        unsafe {
8992            &(*(::std::ptr::null::<_zend_compiler_globals>())).context_stack as *const _ as usize
8993        },
8994        616usize,
8995        concat!(
8996            "Offset of field: ",
8997            stringify!(_zend_compiler_globals),
8998            "::",
8999            stringify!(context_stack)
9000        )
9001    );
9002    assert_eq!(
9003        unsafe {
9004            &(*(::std::ptr::null::<_zend_compiler_globals>())).interned_strings_start as *const _
9005                as usize
9006        },
9007        632usize,
9008        concat!(
9009            "Offset of field: ",
9010            stringify!(_zend_compiler_globals),
9011            "::",
9012            stringify!(interned_strings_start)
9013        )
9014    );
9015    assert_eq!(
9016        unsafe {
9017            &(*(::std::ptr::null::<_zend_compiler_globals>())).interned_strings_end as *const _
9018                as usize
9019        },
9020        640usize,
9021        concat!(
9022            "Offset of field: ",
9023            stringify!(_zend_compiler_globals),
9024            "::",
9025            stringify!(interned_strings_end)
9026        )
9027    );
9028    assert_eq!(
9029        unsafe {
9030            &(*(::std::ptr::null::<_zend_compiler_globals>())).interned_strings_top as *const _
9031                as usize
9032        },
9033        648usize,
9034        concat!(
9035            "Offset of field: ",
9036            stringify!(_zend_compiler_globals),
9037            "::",
9038            stringify!(interned_strings_top)
9039        )
9040    );
9041    assert_eq!(
9042        unsafe {
9043            &(*(::std::ptr::null::<_zend_compiler_globals>())).interned_strings_snapshot_top
9044                as *const _ as usize
9045        },
9046        656usize,
9047        concat!(
9048            "Offset of field: ",
9049            stringify!(_zend_compiler_globals),
9050            "::",
9051            stringify!(interned_strings_snapshot_top)
9052        )
9053    );
9054    assert_eq!(
9055        unsafe {
9056            &(*(::std::ptr::null::<_zend_compiler_globals>())).interned_strings as *const _ as usize
9057        },
9058        664usize,
9059        concat!(
9060            "Offset of field: ",
9061            stringify!(_zend_compiler_globals),
9062            "::",
9063            stringify!(interned_strings)
9064        )
9065    );
9066    assert_eq!(
9067        unsafe {
9068            &(*(::std::ptr::null::<_zend_compiler_globals>())).script_encoding_list as *const _
9069                as usize
9070        },
9071        736usize,
9072        concat!(
9073            "Offset of field: ",
9074            stringify!(_zend_compiler_globals),
9075            "::",
9076            stringify!(script_encoding_list)
9077        )
9078    );
9079    assert_eq!(
9080        unsafe {
9081            &(*(::std::ptr::null::<_zend_compiler_globals>())).script_encoding_list_size as *const _
9082                as usize
9083        },
9084        744usize,
9085        concat!(
9086            "Offset of field: ",
9087            stringify!(_zend_compiler_globals),
9088            "::",
9089            stringify!(script_encoding_list_size)
9090        )
9091    );
9092    assert_eq!(
9093        unsafe {
9094            &(*(::std::ptr::null::<_zend_compiler_globals>())).multibyte as *const _ as usize
9095        },
9096        752usize,
9097        concat!(
9098            "Offset of field: ",
9099            stringify!(_zend_compiler_globals),
9100            "::",
9101            stringify!(multibyte)
9102        )
9103    );
9104    assert_eq!(
9105        unsafe {
9106            &(*(::std::ptr::null::<_zend_compiler_globals>())).detect_unicode as *const _ as usize
9107        },
9108        753usize,
9109        concat!(
9110            "Offset of field: ",
9111            stringify!(_zend_compiler_globals),
9112            "::",
9113            stringify!(detect_unicode)
9114        )
9115    );
9116    assert_eq!(
9117        unsafe {
9118            &(*(::std::ptr::null::<_zend_compiler_globals>())).encoding_declared as *const _
9119                as usize
9120        },
9121        754usize,
9122        concat!(
9123            "Offset of field: ",
9124            stringify!(_zend_compiler_globals),
9125            "::",
9126            stringify!(encoding_declared)
9127        )
9128    );
9129}
9130extern "C" {
9131    pub static mut compiler_globals: _zend_compiler_globals;
9132}
9133extern "C" {
9134    pub fn zendparse() -> ::std::os::raw::c_int;
9135}
9136extern "C" {
9137    pub static mut executor_globals: zend_executor_globals;
9138}
9139extern "C" {
9140    pub static mut language_scanner_globals: zend_php_scanner_globals;
9141}
9142extern "C" {
9143    pub static mut ini_scanner_globals: zend_ini_scanner_globals;
9144}
9145#[repr(C)]
9146#[derive(Debug, Copy, Clone)]
9147pub struct _zend_stack {
9148    pub top: ::std::os::raw::c_int,
9149    pub max: ::std::os::raw::c_int,
9150    pub elements: *mut *mut ::std::os::raw::c_void,
9151}
9152#[test]
9153fn bindgen_test_layout__zend_stack() {
9154    assert_eq!(
9155        ::std::mem::size_of::<_zend_stack>(),
9156        16usize,
9157        concat!("Size of: ", stringify!(_zend_stack))
9158    );
9159    assert_eq!(
9160        ::std::mem::align_of::<_zend_stack>(),
9161        8usize,
9162        concat!("Alignment of ", stringify!(_zend_stack))
9163    );
9164    assert_eq!(
9165        unsafe { &(*(::std::ptr::null::<_zend_stack>())).top as *const _ as usize },
9166        0usize,
9167        concat!(
9168            "Offset of field: ",
9169            stringify!(_zend_stack),
9170            "::",
9171            stringify!(top)
9172        )
9173    );
9174    assert_eq!(
9175        unsafe { &(*(::std::ptr::null::<_zend_stack>())).max as *const _ as usize },
9176        4usize,
9177        concat!(
9178            "Offset of field: ",
9179            stringify!(_zend_stack),
9180            "::",
9181            stringify!(max)
9182        )
9183    );
9184    assert_eq!(
9185        unsafe { &(*(::std::ptr::null::<_zend_stack>())).elements as *const _ as usize },
9186        8usize,
9187        concat!(
9188            "Offset of field: ",
9189            stringify!(_zend_stack),
9190            "::",
9191            stringify!(elements)
9192        )
9193    );
9194}
9195pub type zend_stack = _zend_stack;
9196extern "C" {
9197    pub fn zend_stack_init(stack: *mut zend_stack) -> ::std::os::raw::c_int;
9198}
9199extern "C" {
9200    pub fn zend_stack_push(
9201        stack: *mut zend_stack,
9202        element: *const ::std::os::raw::c_void,
9203        size: ::std::os::raw::c_int,
9204    ) -> ::std::os::raw::c_int;
9205}
9206extern "C" {
9207    pub fn zend_stack_top(
9208        stack: *const zend_stack,
9209        element: *mut *mut ::std::os::raw::c_void,
9210    ) -> ::std::os::raw::c_int;
9211}
9212extern "C" {
9213    pub fn zend_stack_del_top(stack: *mut zend_stack) -> ::std::os::raw::c_int;
9214}
9215extern "C" {
9216    pub fn zend_stack_int_top(stack: *const zend_stack) -> ::std::os::raw::c_int;
9217}
9218extern "C" {
9219    pub fn zend_stack_is_empty(stack: *const zend_stack) -> ::std::os::raw::c_int;
9220}
9221extern "C" {
9222    pub fn zend_stack_destroy(stack: *mut zend_stack) -> ::std::os::raw::c_int;
9223}
9224extern "C" {
9225    pub fn zend_stack_base(stack: *const zend_stack) -> *mut *mut ::std::os::raw::c_void;
9226}
9227extern "C" {
9228    pub fn zend_stack_count(stack: *const zend_stack) -> ::std::os::raw::c_int;
9229}
9230extern "C" {
9231    pub fn zend_stack_apply(
9232        stack: *mut zend_stack,
9233        type_: ::std::os::raw::c_int,
9234        apply_function: ::std::option::Option<
9235            unsafe extern "C" fn(element: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
9236        >,
9237    );
9238}
9239extern "C" {
9240    pub fn zend_stack_apply_with_argument(
9241        stack: *mut zend_stack,
9242        type_: ::std::os::raw::c_int,
9243        apply_function: ::std::option::Option<
9244            unsafe extern "C" fn(
9245                element: *mut ::std::os::raw::c_void,
9246                arg: *mut ::std::os::raw::c_void,
9247            ) -> ::std::os::raw::c_int,
9248        >,
9249        arg: *mut ::std::os::raw::c_void,
9250    );
9251}
9252#[repr(C)]
9253#[derive(Debug, Copy, Clone)]
9254pub struct _zend_ptr_stack {
9255    pub top: ::std::os::raw::c_int,
9256    pub max: ::std::os::raw::c_int,
9257    pub elements: *mut *mut ::std::os::raw::c_void,
9258    pub top_element: *mut *mut ::std::os::raw::c_void,
9259    pub persistent: zend_bool,
9260}
9261#[test]
9262fn bindgen_test_layout__zend_ptr_stack() {
9263    assert_eq!(
9264        ::std::mem::size_of::<_zend_ptr_stack>(),
9265        32usize,
9266        concat!("Size of: ", stringify!(_zend_ptr_stack))
9267    );
9268    assert_eq!(
9269        ::std::mem::align_of::<_zend_ptr_stack>(),
9270        8usize,
9271        concat!("Alignment of ", stringify!(_zend_ptr_stack))
9272    );
9273    assert_eq!(
9274        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).top as *const _ as usize },
9275        0usize,
9276        concat!(
9277            "Offset of field: ",
9278            stringify!(_zend_ptr_stack),
9279            "::",
9280            stringify!(top)
9281        )
9282    );
9283    assert_eq!(
9284        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).max as *const _ as usize },
9285        4usize,
9286        concat!(
9287            "Offset of field: ",
9288            stringify!(_zend_ptr_stack),
9289            "::",
9290            stringify!(max)
9291        )
9292    );
9293    assert_eq!(
9294        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).elements as *const _ as usize },
9295        8usize,
9296        concat!(
9297            "Offset of field: ",
9298            stringify!(_zend_ptr_stack),
9299            "::",
9300            stringify!(elements)
9301        )
9302    );
9303    assert_eq!(
9304        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).top_element as *const _ as usize },
9305        16usize,
9306        concat!(
9307            "Offset of field: ",
9308            stringify!(_zend_ptr_stack),
9309            "::",
9310            stringify!(top_element)
9311        )
9312    );
9313    assert_eq!(
9314        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).persistent as *const _ as usize },
9315        24usize,
9316        concat!(
9317            "Offset of field: ",
9318            stringify!(_zend_ptr_stack),
9319            "::",
9320            stringify!(persistent)
9321        )
9322    );
9323}
9324pub type zend_ptr_stack = _zend_ptr_stack;
9325extern "C" {
9326    pub fn zend_ptr_stack_init(stack: *mut zend_ptr_stack);
9327}
9328extern "C" {
9329    pub fn zend_ptr_stack_init_ex(stack: *mut zend_ptr_stack, persistent: zend_bool);
9330}
9331extern "C" {
9332    pub fn zend_ptr_stack_n_push(stack: *mut zend_ptr_stack, count: ::std::os::raw::c_int, ...);
9333}
9334extern "C" {
9335    pub fn zend_ptr_stack_n_pop(stack: *mut zend_ptr_stack, count: ::std::os::raw::c_int, ...);
9336}
9337extern "C" {
9338    pub fn zend_ptr_stack_destroy(stack: *mut zend_ptr_stack);
9339}
9340extern "C" {
9341    pub fn zend_ptr_stack_apply(
9342        stack: *mut zend_ptr_stack,
9343        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
9344    );
9345}
9346extern "C" {
9347    pub fn zend_ptr_stack_clean(
9348        stack: *mut zend_ptr_stack,
9349        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
9350        free_elements: zend_bool,
9351    );
9352}
9353extern "C" {
9354    pub fn zend_ptr_stack_num_elements(stack: *mut zend_ptr_stack) -> ::std::os::raw::c_int;
9355}
9356extern "C" {
9357    pub fn zend_object_std_init(object: *mut zend_object, ce: *mut zend_class_entry);
9358}
9359extern "C" {
9360    pub fn zend_object_std_dtor(object: *mut zend_object);
9361}
9362extern "C" {
9363    pub fn zend_objects_new(
9364        object: *mut *mut zend_object,
9365        class_type: *mut zend_class_entry,
9366    ) -> zend_object_value;
9367}
9368extern "C" {
9369    pub fn zend_objects_destroy_object(object: *mut zend_object, handle: zend_object_handle);
9370}
9371extern "C" {
9372    pub fn zend_objects_get_address(object: *const zval) -> *mut zend_object;
9373}
9374extern "C" {
9375    pub fn zend_objects_clone_members(
9376        new_object: *mut zend_object,
9377        new_obj_val: zend_object_value,
9378        old_object: *mut zend_object,
9379        handle: zend_object_handle,
9380    );
9381}
9382extern "C" {
9383    pub fn zend_objects_clone_obj(object: *mut zval) -> zend_object_value;
9384}
9385extern "C" {
9386    pub fn zend_objects_free_object_storage(object: *mut zend_object);
9387}
9388pub type zend_objects_store_dtor_t = ::std::option::Option<
9389    unsafe extern "C" fn(object: *mut ::std::os::raw::c_void, handle: zend_object_handle),
9390>;
9391pub type zend_objects_free_object_storage_t =
9392    ::std::option::Option<unsafe extern "C" fn(object: *mut ::std::os::raw::c_void)>;
9393pub type zend_objects_store_clone_t = ::std::option::Option<
9394    unsafe extern "C" fn(
9395        object: *mut ::std::os::raw::c_void,
9396        object_clone: *mut *mut ::std::os::raw::c_void,
9397    ),
9398>;
9399#[repr(C)]
9400#[derive(Copy, Clone)]
9401pub struct _zend_object_store_bucket {
9402    pub destructor_called: zend_bool,
9403    pub valid: zend_bool,
9404    pub apply_count: zend_uchar,
9405    pub bucket: _zend_object_store_bucket__store_bucket,
9406}
9407#[repr(C)]
9408#[derive(Copy, Clone)]
9409pub union _zend_object_store_bucket__store_bucket {
9410    pub obj: _zend_object_store_bucket__store_bucket__store_object,
9411    pub free_list: _zend_object_store_bucket__store_bucket__bindgen_ty_1,
9412    _bindgen_union_align: [u64; 7usize],
9413}
9414#[repr(C)]
9415#[derive(Debug, Copy, Clone)]
9416pub struct _zend_object_store_bucket__store_bucket__store_object {
9417    pub object: *mut ::std::os::raw::c_void,
9418    pub dtor: zend_objects_store_dtor_t,
9419    pub free_storage: zend_objects_free_object_storage_t,
9420    pub clone: zend_objects_store_clone_t,
9421    pub handlers: *const zend_object_handlers,
9422    pub refcount: zend_uint,
9423    pub buffered: *mut gc_root_buffer,
9424}
9425#[test]
9426fn bindgen_test_layout__zend_object_store_bucket__store_bucket__store_object() {
9427    assert_eq!(
9428        ::std::mem::size_of::<_zend_object_store_bucket__store_bucket__store_object>(),
9429        56usize,
9430        concat!(
9431            "Size of: ",
9432            stringify!(_zend_object_store_bucket__store_bucket__store_object)
9433        )
9434    );
9435    assert_eq!(
9436        ::std::mem::align_of::<_zend_object_store_bucket__store_bucket__store_object>(),
9437        8usize,
9438        concat!(
9439            "Alignment of ",
9440            stringify!(_zend_object_store_bucket__store_bucket__store_object)
9441        )
9442    );
9443    assert_eq!(
9444        unsafe {
9445            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__store_object>())).object
9446                as *const _ as usize
9447        },
9448        0usize,
9449        concat!(
9450            "Offset of field: ",
9451            stringify!(_zend_object_store_bucket__store_bucket__store_object),
9452            "::",
9453            stringify!(object)
9454        )
9455    );
9456    assert_eq!(
9457        unsafe {
9458            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__store_object>())).dtor
9459                as *const _ as usize
9460        },
9461        8usize,
9462        concat!(
9463            "Offset of field: ",
9464            stringify!(_zend_object_store_bucket__store_bucket__store_object),
9465            "::",
9466            stringify!(dtor)
9467        )
9468    );
9469    assert_eq!(
9470        unsafe {
9471            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__store_object>()))
9472                .free_storage as *const _ as usize
9473        },
9474        16usize,
9475        concat!(
9476            "Offset of field: ",
9477            stringify!(_zend_object_store_bucket__store_bucket__store_object),
9478            "::",
9479            stringify!(free_storage)
9480        )
9481    );
9482    assert_eq!(
9483        unsafe {
9484            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__store_object>())).clone
9485                as *const _ as usize
9486        },
9487        24usize,
9488        concat!(
9489            "Offset of field: ",
9490            stringify!(_zend_object_store_bucket__store_bucket__store_object),
9491            "::",
9492            stringify!(clone)
9493        )
9494    );
9495    assert_eq!(
9496        unsafe {
9497            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__store_object>()))
9498                .handlers as *const _ as usize
9499        },
9500        32usize,
9501        concat!(
9502            "Offset of field: ",
9503            stringify!(_zend_object_store_bucket__store_bucket__store_object),
9504            "::",
9505            stringify!(handlers)
9506        )
9507    );
9508    assert_eq!(
9509        unsafe {
9510            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__store_object>()))
9511                .refcount as *const _ as usize
9512        },
9513        40usize,
9514        concat!(
9515            "Offset of field: ",
9516            stringify!(_zend_object_store_bucket__store_bucket__store_object),
9517            "::",
9518            stringify!(refcount)
9519        )
9520    );
9521    assert_eq!(
9522        unsafe {
9523            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__store_object>()))
9524                .buffered as *const _ as usize
9525        },
9526        48usize,
9527        concat!(
9528            "Offset of field: ",
9529            stringify!(_zend_object_store_bucket__store_bucket__store_object),
9530            "::",
9531            stringify!(buffered)
9532        )
9533    );
9534}
9535#[repr(C)]
9536#[derive(Debug, Copy, Clone)]
9537pub struct _zend_object_store_bucket__store_bucket__bindgen_ty_1 {
9538    pub next: ::std::os::raw::c_int,
9539}
9540#[test]
9541fn bindgen_test_layout__zend_object_store_bucket__store_bucket__bindgen_ty_1() {
9542    assert_eq!(
9543        ::std::mem::size_of::<_zend_object_store_bucket__store_bucket__bindgen_ty_1>(),
9544        4usize,
9545        concat!(
9546            "Size of: ",
9547            stringify!(_zend_object_store_bucket__store_bucket__bindgen_ty_1)
9548        )
9549    );
9550    assert_eq!(
9551        ::std::mem::align_of::<_zend_object_store_bucket__store_bucket__bindgen_ty_1>(),
9552        4usize,
9553        concat!(
9554            "Alignment of ",
9555            stringify!(_zend_object_store_bucket__store_bucket__bindgen_ty_1)
9556        )
9557    );
9558    assert_eq!(
9559        unsafe {
9560            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket__bindgen_ty_1>())).next
9561                as *const _ as usize
9562        },
9563        0usize,
9564        concat!(
9565            "Offset of field: ",
9566            stringify!(_zend_object_store_bucket__store_bucket__bindgen_ty_1),
9567            "::",
9568            stringify!(next)
9569        )
9570    );
9571}
9572#[test]
9573fn bindgen_test_layout__zend_object_store_bucket__store_bucket() {
9574    assert_eq!(
9575        ::std::mem::size_of::<_zend_object_store_bucket__store_bucket>(),
9576        56usize,
9577        concat!(
9578            "Size of: ",
9579            stringify!(_zend_object_store_bucket__store_bucket)
9580        )
9581    );
9582    assert_eq!(
9583        ::std::mem::align_of::<_zend_object_store_bucket__store_bucket>(),
9584        8usize,
9585        concat!(
9586            "Alignment of ",
9587            stringify!(_zend_object_store_bucket__store_bucket)
9588        )
9589    );
9590    assert_eq!(
9591        unsafe {
9592            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket>())).obj as *const _
9593                as usize
9594        },
9595        0usize,
9596        concat!(
9597            "Offset of field: ",
9598            stringify!(_zend_object_store_bucket__store_bucket),
9599            "::",
9600            stringify!(obj)
9601        )
9602    );
9603    assert_eq!(
9604        unsafe {
9605            &(*(::std::ptr::null::<_zend_object_store_bucket__store_bucket>())).free_list
9606                as *const _ as usize
9607        },
9608        0usize,
9609        concat!(
9610            "Offset of field: ",
9611            stringify!(_zend_object_store_bucket__store_bucket),
9612            "::",
9613            stringify!(free_list)
9614        )
9615    );
9616}
9617#[test]
9618fn bindgen_test_layout__zend_object_store_bucket() {
9619    assert_eq!(
9620        ::std::mem::size_of::<_zend_object_store_bucket>(),
9621        64usize,
9622        concat!("Size of: ", stringify!(_zend_object_store_bucket))
9623    );
9624    assert_eq!(
9625        ::std::mem::align_of::<_zend_object_store_bucket>(),
9626        8usize,
9627        concat!("Alignment of ", stringify!(_zend_object_store_bucket))
9628    );
9629    assert_eq!(
9630        unsafe {
9631            &(*(::std::ptr::null::<_zend_object_store_bucket>())).destructor_called as *const _
9632                as usize
9633        },
9634        0usize,
9635        concat!(
9636            "Offset of field: ",
9637            stringify!(_zend_object_store_bucket),
9638            "::",
9639            stringify!(destructor_called)
9640        )
9641    );
9642    assert_eq!(
9643        unsafe { &(*(::std::ptr::null::<_zend_object_store_bucket>())).valid as *const _ as usize },
9644        1usize,
9645        concat!(
9646            "Offset of field: ",
9647            stringify!(_zend_object_store_bucket),
9648            "::",
9649            stringify!(valid)
9650        )
9651    );
9652    assert_eq!(
9653        unsafe {
9654            &(*(::std::ptr::null::<_zend_object_store_bucket>())).apply_count as *const _ as usize
9655        },
9656        2usize,
9657        concat!(
9658            "Offset of field: ",
9659            stringify!(_zend_object_store_bucket),
9660            "::",
9661            stringify!(apply_count)
9662        )
9663    );
9664    assert_eq!(
9665        unsafe {
9666            &(*(::std::ptr::null::<_zend_object_store_bucket>())).bucket as *const _ as usize
9667        },
9668        8usize,
9669        concat!(
9670            "Offset of field: ",
9671            stringify!(_zend_object_store_bucket),
9672            "::",
9673            stringify!(bucket)
9674        )
9675    );
9676}
9677pub type zend_object_store_bucket = _zend_object_store_bucket;
9678#[repr(C)]
9679#[derive(Debug, Copy, Clone)]
9680pub struct _zend_objects_store {
9681    pub object_buckets: *mut zend_object_store_bucket,
9682    pub top: zend_uint,
9683    pub size: zend_uint,
9684    pub free_list_head: ::std::os::raw::c_int,
9685}
9686#[test]
9687fn bindgen_test_layout__zend_objects_store() {
9688    assert_eq!(
9689        ::std::mem::size_of::<_zend_objects_store>(),
9690        24usize,
9691        concat!("Size of: ", stringify!(_zend_objects_store))
9692    );
9693    assert_eq!(
9694        ::std::mem::align_of::<_zend_objects_store>(),
9695        8usize,
9696        concat!("Alignment of ", stringify!(_zend_objects_store))
9697    );
9698    assert_eq!(
9699        unsafe {
9700            &(*(::std::ptr::null::<_zend_objects_store>())).object_buckets as *const _ as usize
9701        },
9702        0usize,
9703        concat!(
9704            "Offset of field: ",
9705            stringify!(_zend_objects_store),
9706            "::",
9707            stringify!(object_buckets)
9708        )
9709    );
9710    assert_eq!(
9711        unsafe { &(*(::std::ptr::null::<_zend_objects_store>())).top as *const _ as usize },
9712        8usize,
9713        concat!(
9714            "Offset of field: ",
9715            stringify!(_zend_objects_store),
9716            "::",
9717            stringify!(top)
9718        )
9719    );
9720    assert_eq!(
9721        unsafe { &(*(::std::ptr::null::<_zend_objects_store>())).size as *const _ as usize },
9722        12usize,
9723        concat!(
9724            "Offset of field: ",
9725            stringify!(_zend_objects_store),
9726            "::",
9727            stringify!(size)
9728        )
9729    );
9730    assert_eq!(
9731        unsafe {
9732            &(*(::std::ptr::null::<_zend_objects_store>())).free_list_head as *const _ as usize
9733        },
9734        16usize,
9735        concat!(
9736            "Offset of field: ",
9737            stringify!(_zend_objects_store),
9738            "::",
9739            stringify!(free_list_head)
9740        )
9741    );
9742}
9743pub type zend_objects_store = _zend_objects_store;
9744extern "C" {
9745    pub fn zend_objects_store_init(objects: *mut zend_objects_store, init_size: zend_uint);
9746}
9747extern "C" {
9748    pub fn zend_objects_store_call_destructors(objects: *mut zend_objects_store);
9749}
9750extern "C" {
9751    pub fn zend_objects_store_mark_destructed(objects: *mut zend_objects_store);
9752}
9753extern "C" {
9754    pub fn zend_objects_store_destroy(objects: *mut zend_objects_store);
9755}
9756extern "C" {
9757    pub fn zend_objects_store_put(
9758        object: *mut ::std::os::raw::c_void,
9759        dtor: zend_objects_store_dtor_t,
9760        storage: zend_objects_free_object_storage_t,
9761        clone: zend_objects_store_clone_t,
9762    ) -> zend_object_handle;
9763}
9764extern "C" {
9765    pub fn zend_objects_store_add_ref(object: *mut zval);
9766}
9767extern "C" {
9768    pub fn zend_objects_store_del_ref(object: *mut zval);
9769}
9770extern "C" {
9771    pub fn zend_objects_store_add_ref_by_handle(handle: zend_object_handle);
9772}
9773extern "C" {
9774    pub fn zend_objects_store_del_ref_by_handle_ex(
9775        handle: zend_object_handle,
9776        handlers: *const zend_object_handlers,
9777    );
9778}
9779extern "C" {
9780    pub fn zend_objects_store_get_refcount(object: *mut zval) -> zend_uint;
9781}
9782extern "C" {
9783    pub fn zend_objects_store_clone_obj(object: *mut zval) -> zend_object_value;
9784}
9785extern "C" {
9786    pub fn zend_object_store_get_object(object: *const zval) -> *mut ::std::os::raw::c_void;
9787}
9788extern "C" {
9789    pub fn zend_object_store_get_object_by_handle(
9790        handle: zend_object_handle,
9791    ) -> *mut ::std::os::raw::c_void;
9792}
9793extern "C" {
9794    pub fn zend_object_store_set_object(zobject: *mut zval, object: *mut ::std::os::raw::c_void);
9795}
9796extern "C" {
9797    pub fn zend_object_store_ctor_failed(zobject: *mut zval);
9798}
9799extern "C" {
9800    pub fn zend_objects_store_free_object_storage(objects: *mut zend_objects_store);
9801}
9802extern "C" {
9803    pub fn zend_object_create_proxy(object: *mut zval, member: *mut zval) -> *mut zval;
9804}
9805extern "C" {
9806    pub fn zend_get_std_object_handlers() -> *mut zend_object_handlers;
9807}
9808extern "C" {
9809    pub fn zend_init_fpu();
9810}
9811extern "C" {
9812    pub fn zend_shutdown_fpu();
9813}
9814extern "C" {
9815    pub fn zend_ensure_fpu_mode();
9816}
9817pub type fpu_control_t = ::std::os::raw::c_ushort;
9818#[repr(C)]
9819#[derive(Debug, Copy, Clone)]
9820pub struct _zend_encoding {
9821    _unused: [u8; 0],
9822}
9823pub type zend_encoding = _zend_encoding;
9824pub type zend_encoding_filter = ::std::option::Option<
9825    unsafe extern "C" fn(
9826        str_: *mut *mut ::std::os::raw::c_uchar,
9827        str_length: *mut size_t,
9828        buf: *const ::std::os::raw::c_uchar,
9829        length: size_t,
9830    ) -> size_t,
9831>;
9832pub type zend_encoding_fetcher = ::std::option::Option<
9833    unsafe extern "C" fn(encoding_name: *const ::std::os::raw::c_char) -> *const zend_encoding,
9834>;
9835pub type zend_encoding_name_getter = ::std::option::Option<
9836    unsafe extern "C" fn(encoding: *const zend_encoding) -> *const ::std::os::raw::c_char,
9837>;
9838pub type zend_encoding_lexer_compatibility_checker = ::std::option::Option<
9839    unsafe extern "C" fn(encoding: *const zend_encoding) -> ::std::os::raw::c_int,
9840>;
9841pub type zend_encoding_detector = ::std::option::Option<
9842    unsafe extern "C" fn(
9843        string: *const ::std::os::raw::c_uchar,
9844        length: size_t,
9845        list: *mut *const zend_encoding,
9846        list_size: size_t,
9847    ) -> *const zend_encoding,
9848>;
9849pub type zend_encoding_converter = ::std::option::Option<
9850    unsafe extern "C" fn(
9851        to: *mut *mut ::std::os::raw::c_uchar,
9852        to_length: *mut size_t,
9853        from: *const ::std::os::raw::c_uchar,
9854        from_length: size_t,
9855        encoding_to: *const zend_encoding,
9856        encoding_from: *const zend_encoding,
9857    ) -> size_t,
9858>;
9859pub type zend_encoding_list_parser = ::std::option::Option<
9860    unsafe extern "C" fn(
9861        encoding_list: *const ::std::os::raw::c_char,
9862        encoding_list_len: size_t,
9863        return_list: *mut *mut *const zend_encoding,
9864        return_size: *mut size_t,
9865        persistent: ::std::os::raw::c_int,
9866    ) -> ::std::os::raw::c_int,
9867>;
9868pub type zend_encoding_internal_encoding_getter =
9869    ::std::option::Option<unsafe extern "C" fn() -> *const zend_encoding>;
9870pub type zend_encoding_internal_encoding_setter = ::std::option::Option<
9871    unsafe extern "C" fn(encoding: *const zend_encoding) -> ::std::os::raw::c_int,
9872>;
9873#[repr(C)]
9874#[derive(Debug, Copy, Clone)]
9875pub struct _zend_multibyte_functions {
9876    pub provider_name: *const ::std::os::raw::c_char,
9877    pub encoding_fetcher: zend_encoding_fetcher,
9878    pub encoding_name_getter: zend_encoding_name_getter,
9879    pub lexer_compatibility_checker: zend_encoding_lexer_compatibility_checker,
9880    pub encoding_detector: zend_encoding_detector,
9881    pub encoding_converter: zend_encoding_converter,
9882    pub encoding_list_parser: zend_encoding_list_parser,
9883    pub internal_encoding_getter: zend_encoding_internal_encoding_getter,
9884    pub internal_encoding_setter: zend_encoding_internal_encoding_setter,
9885}
9886#[test]
9887fn bindgen_test_layout__zend_multibyte_functions() {
9888    assert_eq!(
9889        ::std::mem::size_of::<_zend_multibyte_functions>(),
9890        72usize,
9891        concat!("Size of: ", stringify!(_zend_multibyte_functions))
9892    );
9893    assert_eq!(
9894        ::std::mem::align_of::<_zend_multibyte_functions>(),
9895        8usize,
9896        concat!("Alignment of ", stringify!(_zend_multibyte_functions))
9897    );
9898    assert_eq!(
9899        unsafe {
9900            &(*(::std::ptr::null::<_zend_multibyte_functions>())).provider_name as *const _ as usize
9901        },
9902        0usize,
9903        concat!(
9904            "Offset of field: ",
9905            stringify!(_zend_multibyte_functions),
9906            "::",
9907            stringify!(provider_name)
9908        )
9909    );
9910    assert_eq!(
9911        unsafe {
9912            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_fetcher as *const _
9913                as usize
9914        },
9915        8usize,
9916        concat!(
9917            "Offset of field: ",
9918            stringify!(_zend_multibyte_functions),
9919            "::",
9920            stringify!(encoding_fetcher)
9921        )
9922    );
9923    assert_eq!(
9924        unsafe {
9925            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_name_getter as *const _
9926                as usize
9927        },
9928        16usize,
9929        concat!(
9930            "Offset of field: ",
9931            stringify!(_zend_multibyte_functions),
9932            "::",
9933            stringify!(encoding_name_getter)
9934        )
9935    );
9936    assert_eq!(
9937        unsafe {
9938            &(*(::std::ptr::null::<_zend_multibyte_functions>())).lexer_compatibility_checker
9939                as *const _ as usize
9940        },
9941        24usize,
9942        concat!(
9943            "Offset of field: ",
9944            stringify!(_zend_multibyte_functions),
9945            "::",
9946            stringify!(lexer_compatibility_checker)
9947        )
9948    );
9949    assert_eq!(
9950        unsafe {
9951            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_detector as *const _
9952                as usize
9953        },
9954        32usize,
9955        concat!(
9956            "Offset of field: ",
9957            stringify!(_zend_multibyte_functions),
9958            "::",
9959            stringify!(encoding_detector)
9960        )
9961    );
9962    assert_eq!(
9963        unsafe {
9964            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_converter as *const _
9965                as usize
9966        },
9967        40usize,
9968        concat!(
9969            "Offset of field: ",
9970            stringify!(_zend_multibyte_functions),
9971            "::",
9972            stringify!(encoding_converter)
9973        )
9974    );
9975    assert_eq!(
9976        unsafe {
9977            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_list_parser as *const _
9978                as usize
9979        },
9980        48usize,
9981        concat!(
9982            "Offset of field: ",
9983            stringify!(_zend_multibyte_functions),
9984            "::",
9985            stringify!(encoding_list_parser)
9986        )
9987    );
9988    assert_eq!(
9989        unsafe {
9990            &(*(::std::ptr::null::<_zend_multibyte_functions>())).internal_encoding_getter
9991                as *const _ as usize
9992        },
9993        56usize,
9994        concat!(
9995            "Offset of field: ",
9996            stringify!(_zend_multibyte_functions),
9997            "::",
9998            stringify!(internal_encoding_getter)
9999        )
10000    );
10001    assert_eq!(
10002        unsafe {
10003            &(*(::std::ptr::null::<_zend_multibyte_functions>())).internal_encoding_setter
10004                as *const _ as usize
10005        },
10006        64usize,
10007        concat!(
10008            "Offset of field: ",
10009            stringify!(_zend_multibyte_functions),
10010            "::",
10011            stringify!(internal_encoding_setter)
10012        )
10013    );
10014}
10015pub type zend_multibyte_functions = _zend_multibyte_functions;
10016extern "C" {
10017    pub static mut zend_multibyte_encoding_utf32be: *const zend_encoding;
10018}
10019extern "C" {
10020    pub static mut zend_multibyte_encoding_utf32le: *const zend_encoding;
10021}
10022extern "C" {
10023    pub static mut zend_multibyte_encoding_utf16be: *const zend_encoding;
10024}
10025extern "C" {
10026    pub static mut zend_multibyte_encoding_utf16le: *const zend_encoding;
10027}
10028extern "C" {
10029    pub static mut zend_multibyte_encoding_utf8: *const zend_encoding;
10030}
10031extern "C" {
10032    pub fn zend_multibyte_set_functions(
10033        functions: *const zend_multibyte_functions,
10034    ) -> ::std::os::raw::c_int;
10035}
10036extern "C" {
10037    pub fn zend_multibyte_get_functions() -> *const zend_multibyte_functions;
10038}
10039extern "C" {
10040    pub fn zend_multibyte_fetch_encoding(
10041        name: *const ::std::os::raw::c_char,
10042    ) -> *const zend_encoding;
10043}
10044extern "C" {
10045    pub fn zend_multibyte_get_encoding_name(
10046        encoding: *const zend_encoding,
10047    ) -> *const ::std::os::raw::c_char;
10048}
10049extern "C" {
10050    pub fn zend_multibyte_check_lexer_compatibility(
10051        encoding: *const zend_encoding,
10052    ) -> ::std::os::raw::c_int;
10053}
10054extern "C" {
10055    pub fn zend_multibyte_encoding_detector(
10056        string: *const ::std::os::raw::c_uchar,
10057        length: size_t,
10058        list: *mut *const zend_encoding,
10059        list_size: size_t,
10060    ) -> *const zend_encoding;
10061}
10062extern "C" {
10063    pub fn zend_multibyte_encoding_converter(
10064        to: *mut *mut ::std::os::raw::c_uchar,
10065        to_length: *mut size_t,
10066        from: *const ::std::os::raw::c_uchar,
10067        from_length: size_t,
10068        encoding_to: *const zend_encoding,
10069        encoding_from: *const zend_encoding,
10070    ) -> size_t;
10071}
10072extern "C" {
10073    pub fn zend_multibyte_parse_encoding_list(
10074        encoding_list: *const ::std::os::raw::c_char,
10075        encoding_list_len: size_t,
10076        return_list: *mut *mut *const zend_encoding,
10077        return_size: *mut size_t,
10078        persistent: ::std::os::raw::c_int,
10079    ) -> ::std::os::raw::c_int;
10080}
10081extern "C" {
10082    pub fn zend_multibyte_get_internal_encoding() -> *const zend_encoding;
10083}
10084extern "C" {
10085    pub fn zend_multibyte_get_script_encoding() -> *const zend_encoding;
10086}
10087extern "C" {
10088    pub fn zend_multibyte_set_script_encoding(
10089        encoding_list: *mut *const zend_encoding,
10090        encoding_list_size: size_t,
10091    ) -> ::std::os::raw::c_int;
10092}
10093extern "C" {
10094    pub fn zend_multibyte_set_internal_encoding(
10095        encoding: *const zend_encoding,
10096    ) -> ::std::os::raw::c_int;
10097}
10098extern "C" {
10099    pub fn zend_multibyte_set_script_encoding_by_string(
10100        new_value: *const ::std::os::raw::c_char,
10101        new_value_length: size_t,
10102    ) -> ::std::os::raw::c_int;
10103}
10104#[repr(C)]
10105#[derive(Copy, Clone)]
10106pub struct _zend_declarables {
10107    pub ticks: zval,
10108}
10109#[test]
10110fn bindgen_test_layout__zend_declarables() {
10111    assert_eq!(
10112        ::std::mem::size_of::<_zend_declarables>(),
10113        24usize,
10114        concat!("Size of: ", stringify!(_zend_declarables))
10115    );
10116    assert_eq!(
10117        ::std::mem::align_of::<_zend_declarables>(),
10118        8usize,
10119        concat!("Alignment of ", stringify!(_zend_declarables))
10120    );
10121    assert_eq!(
10122        unsafe { &(*(::std::ptr::null::<_zend_declarables>())).ticks as *const _ as usize },
10123        0usize,
10124        concat!(
10125            "Offset of field: ",
10126            stringify!(_zend_declarables),
10127            "::",
10128            stringify!(ticks)
10129        )
10130    );
10131}
10132pub type zend_declarables = _zend_declarables;
10133pub type zend_vm_stack = *mut _zend_vm_stack;
10134pub type zend_ini_entry = _zend_ini_entry;
10135#[repr(C)]
10136#[derive(Copy, Clone)]
10137pub struct _zend_executor_globals {
10138    pub return_value_ptr_ptr: *mut *mut zval,
10139    pub uninitialized_zval: zval,
10140    pub uninitialized_zval_ptr: *mut zval,
10141    pub error_zval: zval,
10142    pub error_zval_ptr: *mut zval,
10143    pub arg_types_stack: zend_ptr_stack,
10144    pub symtable_cache: [*mut HashTable; 32usize],
10145    pub symtable_cache_limit: *mut *mut HashTable,
10146    pub symtable_cache_ptr: *mut *mut HashTable,
10147    pub opline_ptr: *mut *mut zend_op,
10148    pub active_symbol_table: *mut HashTable,
10149    pub symbol_table: HashTable,
10150    pub included_files: HashTable,
10151    pub bailout: *mut jmp_buf,
10152    pub error_reporting: ::std::os::raw::c_int,
10153    pub orig_error_reporting: ::std::os::raw::c_int,
10154    pub exit_status: ::std::os::raw::c_int,
10155    pub active_op_array: *mut zend_op_array,
10156    pub function_table: *mut HashTable,
10157    pub class_table: *mut HashTable,
10158    pub zend_constants: *mut HashTable,
10159    pub scope: *mut zend_class_entry,
10160    pub called_scope: *mut zend_class_entry,
10161    pub This: *mut zval,
10162    pub precision: ::std::os::raw::c_long,
10163    pub ticks_count: ::std::os::raw::c_int,
10164    pub in_execution: zend_bool,
10165    pub in_autoload: *mut HashTable,
10166    pub autoload_func: *mut zend_function,
10167    pub full_tables_cleanup: zend_bool,
10168    pub no_extensions: zend_bool,
10169    pub regular_list: HashTable,
10170    pub persistent_list: HashTable,
10171    pub argument_stack: zend_vm_stack,
10172    pub user_error_handler_error_reporting: ::std::os::raw::c_int,
10173    pub user_error_handler: *mut zval,
10174    pub user_exception_handler: *mut zval,
10175    pub user_error_handlers_error_reporting: zend_stack,
10176    pub user_error_handlers: zend_ptr_stack,
10177    pub user_exception_handlers: zend_ptr_stack,
10178    pub error_handling: zend_error_handling_t,
10179    pub exception_class: *mut zend_class_entry,
10180    pub timeout_seconds: ::std::os::raw::c_int,
10181    pub lambda_count: ::std::os::raw::c_int,
10182    pub ini_directives: *mut HashTable,
10183    pub modified_ini_directives: *mut HashTable,
10184    pub error_reporting_ini_entry: *mut zend_ini_entry,
10185    pub objects_store: zend_objects_store,
10186    pub exception: *mut zval,
10187    pub prev_exception: *mut zval,
10188    pub opline_before_exception: *mut zend_op,
10189    pub exception_op: [zend_op; 3usize],
10190    pub current_execute_data: *mut _zend_execute_data,
10191    pub current_module: *mut _zend_module_entry,
10192    pub std_property_info: zend_property_info,
10193    pub active: zend_bool,
10194    pub start_op: *mut zend_op,
10195    pub saved_fpu_cw_ptr: *mut ::std::os::raw::c_void,
10196    pub saved_fpu_cw: fpu_control_t,
10197    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
10198}
10199#[test]
10200fn bindgen_test_layout__zend_executor_globals() {
10201    assert_eq!(
10202        ::std::mem::size_of::<_zend_executor_globals>(),
10203        1296usize,
10204        concat!("Size of: ", stringify!(_zend_executor_globals))
10205    );
10206    assert_eq!(
10207        ::std::mem::align_of::<_zend_executor_globals>(),
10208        8usize,
10209        concat!("Alignment of ", stringify!(_zend_executor_globals))
10210    );
10211    assert_eq!(
10212        unsafe {
10213            &(*(::std::ptr::null::<_zend_executor_globals>())).return_value_ptr_ptr as *const _
10214                as usize
10215        },
10216        0usize,
10217        concat!(
10218            "Offset of field: ",
10219            stringify!(_zend_executor_globals),
10220            "::",
10221            stringify!(return_value_ptr_ptr)
10222        )
10223    );
10224    assert_eq!(
10225        unsafe {
10226            &(*(::std::ptr::null::<_zend_executor_globals>())).uninitialized_zval as *const _
10227                as usize
10228        },
10229        8usize,
10230        concat!(
10231            "Offset of field: ",
10232            stringify!(_zend_executor_globals),
10233            "::",
10234            stringify!(uninitialized_zval)
10235        )
10236    );
10237    assert_eq!(
10238        unsafe {
10239            &(*(::std::ptr::null::<_zend_executor_globals>())).uninitialized_zval_ptr as *const _
10240                as usize
10241        },
10242        32usize,
10243        concat!(
10244            "Offset of field: ",
10245            stringify!(_zend_executor_globals),
10246            "::",
10247            stringify!(uninitialized_zval_ptr)
10248        )
10249    );
10250    assert_eq!(
10251        unsafe {
10252            &(*(::std::ptr::null::<_zend_executor_globals>())).error_zval as *const _ as usize
10253        },
10254        40usize,
10255        concat!(
10256            "Offset of field: ",
10257            stringify!(_zend_executor_globals),
10258            "::",
10259            stringify!(error_zval)
10260        )
10261    );
10262    assert_eq!(
10263        unsafe {
10264            &(*(::std::ptr::null::<_zend_executor_globals>())).error_zval_ptr as *const _ as usize
10265        },
10266        64usize,
10267        concat!(
10268            "Offset of field: ",
10269            stringify!(_zend_executor_globals),
10270            "::",
10271            stringify!(error_zval_ptr)
10272        )
10273    );
10274    assert_eq!(
10275        unsafe {
10276            &(*(::std::ptr::null::<_zend_executor_globals>())).arg_types_stack as *const _ as usize
10277        },
10278        72usize,
10279        concat!(
10280            "Offset of field: ",
10281            stringify!(_zend_executor_globals),
10282            "::",
10283            stringify!(arg_types_stack)
10284        )
10285    );
10286    assert_eq!(
10287        unsafe {
10288            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache as *const _ as usize
10289        },
10290        104usize,
10291        concat!(
10292            "Offset of field: ",
10293            stringify!(_zend_executor_globals),
10294            "::",
10295            stringify!(symtable_cache)
10296        )
10297    );
10298    assert_eq!(
10299        unsafe {
10300            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache_limit as *const _
10301                as usize
10302        },
10303        360usize,
10304        concat!(
10305            "Offset of field: ",
10306            stringify!(_zend_executor_globals),
10307            "::",
10308            stringify!(symtable_cache_limit)
10309        )
10310    );
10311    assert_eq!(
10312        unsafe {
10313            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache_ptr as *const _
10314                as usize
10315        },
10316        368usize,
10317        concat!(
10318            "Offset of field: ",
10319            stringify!(_zend_executor_globals),
10320            "::",
10321            stringify!(symtable_cache_ptr)
10322        )
10323    );
10324    assert_eq!(
10325        unsafe {
10326            &(*(::std::ptr::null::<_zend_executor_globals>())).opline_ptr as *const _ as usize
10327        },
10328        376usize,
10329        concat!(
10330            "Offset of field: ",
10331            stringify!(_zend_executor_globals),
10332            "::",
10333            stringify!(opline_ptr)
10334        )
10335    );
10336    assert_eq!(
10337        unsafe {
10338            &(*(::std::ptr::null::<_zend_executor_globals>())).active_symbol_table as *const _
10339                as usize
10340        },
10341        384usize,
10342        concat!(
10343            "Offset of field: ",
10344            stringify!(_zend_executor_globals),
10345            "::",
10346            stringify!(active_symbol_table)
10347        )
10348    );
10349    assert_eq!(
10350        unsafe {
10351            &(*(::std::ptr::null::<_zend_executor_globals>())).symbol_table as *const _ as usize
10352        },
10353        392usize,
10354        concat!(
10355            "Offset of field: ",
10356            stringify!(_zend_executor_globals),
10357            "::",
10358            stringify!(symbol_table)
10359        )
10360    );
10361    assert_eq!(
10362        unsafe {
10363            &(*(::std::ptr::null::<_zend_executor_globals>())).included_files as *const _ as usize
10364        },
10365        464usize,
10366        concat!(
10367            "Offset of field: ",
10368            stringify!(_zend_executor_globals),
10369            "::",
10370            stringify!(included_files)
10371        )
10372    );
10373    assert_eq!(
10374        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).bailout as *const _ as usize },
10375        536usize,
10376        concat!(
10377            "Offset of field: ",
10378            stringify!(_zend_executor_globals),
10379            "::",
10380            stringify!(bailout)
10381        )
10382    );
10383    assert_eq!(
10384        unsafe {
10385            &(*(::std::ptr::null::<_zend_executor_globals>())).error_reporting as *const _ as usize
10386        },
10387        544usize,
10388        concat!(
10389            "Offset of field: ",
10390            stringify!(_zend_executor_globals),
10391            "::",
10392            stringify!(error_reporting)
10393        )
10394    );
10395    assert_eq!(
10396        unsafe {
10397            &(*(::std::ptr::null::<_zend_executor_globals>())).orig_error_reporting as *const _
10398                as usize
10399        },
10400        548usize,
10401        concat!(
10402            "Offset of field: ",
10403            stringify!(_zend_executor_globals),
10404            "::",
10405            stringify!(orig_error_reporting)
10406        )
10407    );
10408    assert_eq!(
10409        unsafe {
10410            &(*(::std::ptr::null::<_zend_executor_globals>())).exit_status as *const _ as usize
10411        },
10412        552usize,
10413        concat!(
10414            "Offset of field: ",
10415            stringify!(_zend_executor_globals),
10416            "::",
10417            stringify!(exit_status)
10418        )
10419    );
10420    assert_eq!(
10421        unsafe {
10422            &(*(::std::ptr::null::<_zend_executor_globals>())).active_op_array as *const _ as usize
10423        },
10424        560usize,
10425        concat!(
10426            "Offset of field: ",
10427            stringify!(_zend_executor_globals),
10428            "::",
10429            stringify!(active_op_array)
10430        )
10431    );
10432    assert_eq!(
10433        unsafe {
10434            &(*(::std::ptr::null::<_zend_executor_globals>())).function_table as *const _ as usize
10435        },
10436        568usize,
10437        concat!(
10438            "Offset of field: ",
10439            stringify!(_zend_executor_globals),
10440            "::",
10441            stringify!(function_table)
10442        )
10443    );
10444    assert_eq!(
10445        unsafe {
10446            &(*(::std::ptr::null::<_zend_executor_globals>())).class_table as *const _ as usize
10447        },
10448        576usize,
10449        concat!(
10450            "Offset of field: ",
10451            stringify!(_zend_executor_globals),
10452            "::",
10453            stringify!(class_table)
10454        )
10455    );
10456    assert_eq!(
10457        unsafe {
10458            &(*(::std::ptr::null::<_zend_executor_globals>())).zend_constants as *const _ as usize
10459        },
10460        584usize,
10461        concat!(
10462            "Offset of field: ",
10463            stringify!(_zend_executor_globals),
10464            "::",
10465            stringify!(zend_constants)
10466        )
10467    );
10468    assert_eq!(
10469        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).scope as *const _ as usize },
10470        592usize,
10471        concat!(
10472            "Offset of field: ",
10473            stringify!(_zend_executor_globals),
10474            "::",
10475            stringify!(scope)
10476        )
10477    );
10478    assert_eq!(
10479        unsafe {
10480            &(*(::std::ptr::null::<_zend_executor_globals>())).called_scope as *const _ as usize
10481        },
10482        600usize,
10483        concat!(
10484            "Offset of field: ",
10485            stringify!(_zend_executor_globals),
10486            "::",
10487            stringify!(called_scope)
10488        )
10489    );
10490    assert_eq!(
10491        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).This as *const _ as usize },
10492        608usize,
10493        concat!(
10494            "Offset of field: ",
10495            stringify!(_zend_executor_globals),
10496            "::",
10497            stringify!(This)
10498        )
10499    );
10500    assert_eq!(
10501        unsafe {
10502            &(*(::std::ptr::null::<_zend_executor_globals>())).precision as *const _ as usize
10503        },
10504        616usize,
10505        concat!(
10506            "Offset of field: ",
10507            stringify!(_zend_executor_globals),
10508            "::",
10509            stringify!(precision)
10510        )
10511    );
10512    assert_eq!(
10513        unsafe {
10514            &(*(::std::ptr::null::<_zend_executor_globals>())).ticks_count as *const _ as usize
10515        },
10516        624usize,
10517        concat!(
10518            "Offset of field: ",
10519            stringify!(_zend_executor_globals),
10520            "::",
10521            stringify!(ticks_count)
10522        )
10523    );
10524    assert_eq!(
10525        unsafe {
10526            &(*(::std::ptr::null::<_zend_executor_globals>())).in_execution as *const _ as usize
10527        },
10528        628usize,
10529        concat!(
10530            "Offset of field: ",
10531            stringify!(_zend_executor_globals),
10532            "::",
10533            stringify!(in_execution)
10534        )
10535    );
10536    assert_eq!(
10537        unsafe {
10538            &(*(::std::ptr::null::<_zend_executor_globals>())).in_autoload as *const _ as usize
10539        },
10540        632usize,
10541        concat!(
10542            "Offset of field: ",
10543            stringify!(_zend_executor_globals),
10544            "::",
10545            stringify!(in_autoload)
10546        )
10547    );
10548    assert_eq!(
10549        unsafe {
10550            &(*(::std::ptr::null::<_zend_executor_globals>())).autoload_func as *const _ as usize
10551        },
10552        640usize,
10553        concat!(
10554            "Offset of field: ",
10555            stringify!(_zend_executor_globals),
10556            "::",
10557            stringify!(autoload_func)
10558        )
10559    );
10560    assert_eq!(
10561        unsafe {
10562            &(*(::std::ptr::null::<_zend_executor_globals>())).full_tables_cleanup as *const _
10563                as usize
10564        },
10565        648usize,
10566        concat!(
10567            "Offset of field: ",
10568            stringify!(_zend_executor_globals),
10569            "::",
10570            stringify!(full_tables_cleanup)
10571        )
10572    );
10573    assert_eq!(
10574        unsafe {
10575            &(*(::std::ptr::null::<_zend_executor_globals>())).no_extensions as *const _ as usize
10576        },
10577        649usize,
10578        concat!(
10579            "Offset of field: ",
10580            stringify!(_zend_executor_globals),
10581            "::",
10582            stringify!(no_extensions)
10583        )
10584    );
10585    assert_eq!(
10586        unsafe {
10587            &(*(::std::ptr::null::<_zend_executor_globals>())).regular_list as *const _ as usize
10588        },
10589        656usize,
10590        concat!(
10591            "Offset of field: ",
10592            stringify!(_zend_executor_globals),
10593            "::",
10594            stringify!(regular_list)
10595        )
10596    );
10597    assert_eq!(
10598        unsafe {
10599            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_list as *const _ as usize
10600        },
10601        728usize,
10602        concat!(
10603            "Offset of field: ",
10604            stringify!(_zend_executor_globals),
10605            "::",
10606            stringify!(persistent_list)
10607        )
10608    );
10609    assert_eq!(
10610        unsafe {
10611            &(*(::std::ptr::null::<_zend_executor_globals>())).argument_stack as *const _ as usize
10612        },
10613        800usize,
10614        concat!(
10615            "Offset of field: ",
10616            stringify!(_zend_executor_globals),
10617            "::",
10618            stringify!(argument_stack)
10619        )
10620    );
10621    assert_eq!(
10622        unsafe {
10623            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handler_error_reporting
10624                as *const _ as usize
10625        },
10626        808usize,
10627        concat!(
10628            "Offset of field: ",
10629            stringify!(_zend_executor_globals),
10630            "::",
10631            stringify!(user_error_handler_error_reporting)
10632        )
10633    );
10634    assert_eq!(
10635        unsafe {
10636            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handler as *const _
10637                as usize
10638        },
10639        816usize,
10640        concat!(
10641            "Offset of field: ",
10642            stringify!(_zend_executor_globals),
10643            "::",
10644            stringify!(user_error_handler)
10645        )
10646    );
10647    assert_eq!(
10648        unsafe {
10649            &(*(::std::ptr::null::<_zend_executor_globals>())).user_exception_handler as *const _
10650                as usize
10651        },
10652        824usize,
10653        concat!(
10654            "Offset of field: ",
10655            stringify!(_zend_executor_globals),
10656            "::",
10657            stringify!(user_exception_handler)
10658        )
10659    );
10660    assert_eq!(
10661        unsafe {
10662            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handlers_error_reporting
10663                as *const _ as usize
10664        },
10665        832usize,
10666        concat!(
10667            "Offset of field: ",
10668            stringify!(_zend_executor_globals),
10669            "::",
10670            stringify!(user_error_handlers_error_reporting)
10671        )
10672    );
10673    assert_eq!(
10674        unsafe {
10675            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handlers as *const _
10676                as usize
10677        },
10678        848usize,
10679        concat!(
10680            "Offset of field: ",
10681            stringify!(_zend_executor_globals),
10682            "::",
10683            stringify!(user_error_handlers)
10684        )
10685    );
10686    assert_eq!(
10687        unsafe {
10688            &(*(::std::ptr::null::<_zend_executor_globals>())).user_exception_handlers as *const _
10689                as usize
10690        },
10691        880usize,
10692        concat!(
10693            "Offset of field: ",
10694            stringify!(_zend_executor_globals),
10695            "::",
10696            stringify!(user_exception_handlers)
10697        )
10698    );
10699    assert_eq!(
10700        unsafe {
10701            &(*(::std::ptr::null::<_zend_executor_globals>())).error_handling as *const _ as usize
10702        },
10703        912usize,
10704        concat!(
10705            "Offset of field: ",
10706            stringify!(_zend_executor_globals),
10707            "::",
10708            stringify!(error_handling)
10709        )
10710    );
10711    assert_eq!(
10712        unsafe {
10713            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_class as *const _ as usize
10714        },
10715        920usize,
10716        concat!(
10717            "Offset of field: ",
10718            stringify!(_zend_executor_globals),
10719            "::",
10720            stringify!(exception_class)
10721        )
10722    );
10723    assert_eq!(
10724        unsafe {
10725            &(*(::std::ptr::null::<_zend_executor_globals>())).timeout_seconds as *const _ as usize
10726        },
10727        928usize,
10728        concat!(
10729            "Offset of field: ",
10730            stringify!(_zend_executor_globals),
10731            "::",
10732            stringify!(timeout_seconds)
10733        )
10734    );
10735    assert_eq!(
10736        unsafe {
10737            &(*(::std::ptr::null::<_zend_executor_globals>())).lambda_count as *const _ as usize
10738        },
10739        932usize,
10740        concat!(
10741            "Offset of field: ",
10742            stringify!(_zend_executor_globals),
10743            "::",
10744            stringify!(lambda_count)
10745        )
10746    );
10747    assert_eq!(
10748        unsafe {
10749            &(*(::std::ptr::null::<_zend_executor_globals>())).ini_directives as *const _ as usize
10750        },
10751        936usize,
10752        concat!(
10753            "Offset of field: ",
10754            stringify!(_zend_executor_globals),
10755            "::",
10756            stringify!(ini_directives)
10757        )
10758    );
10759    assert_eq!(
10760        unsafe {
10761            &(*(::std::ptr::null::<_zend_executor_globals>())).modified_ini_directives as *const _
10762                as usize
10763        },
10764        944usize,
10765        concat!(
10766            "Offset of field: ",
10767            stringify!(_zend_executor_globals),
10768            "::",
10769            stringify!(modified_ini_directives)
10770        )
10771    );
10772    assert_eq!(
10773        unsafe {
10774            &(*(::std::ptr::null::<_zend_executor_globals>())).error_reporting_ini_entry as *const _
10775                as usize
10776        },
10777        952usize,
10778        concat!(
10779            "Offset of field: ",
10780            stringify!(_zend_executor_globals),
10781            "::",
10782            stringify!(error_reporting_ini_entry)
10783        )
10784    );
10785    assert_eq!(
10786        unsafe {
10787            &(*(::std::ptr::null::<_zend_executor_globals>())).objects_store as *const _ as usize
10788        },
10789        960usize,
10790        concat!(
10791            "Offset of field: ",
10792            stringify!(_zend_executor_globals),
10793            "::",
10794            stringify!(objects_store)
10795        )
10796    );
10797    assert_eq!(
10798        unsafe {
10799            &(*(::std::ptr::null::<_zend_executor_globals>())).exception as *const _ as usize
10800        },
10801        984usize,
10802        concat!(
10803            "Offset of field: ",
10804            stringify!(_zend_executor_globals),
10805            "::",
10806            stringify!(exception)
10807        )
10808    );
10809    assert_eq!(
10810        unsafe {
10811            &(*(::std::ptr::null::<_zend_executor_globals>())).prev_exception as *const _ as usize
10812        },
10813        992usize,
10814        concat!(
10815            "Offset of field: ",
10816            stringify!(_zend_executor_globals),
10817            "::",
10818            stringify!(prev_exception)
10819        )
10820    );
10821    assert_eq!(
10822        unsafe {
10823            &(*(::std::ptr::null::<_zend_executor_globals>())).opline_before_exception as *const _
10824                as usize
10825        },
10826        1000usize,
10827        concat!(
10828            "Offset of field: ",
10829            stringify!(_zend_executor_globals),
10830            "::",
10831            stringify!(opline_before_exception)
10832        )
10833    );
10834    assert_eq!(
10835        unsafe {
10836            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_op as *const _ as usize
10837        },
10838        1008usize,
10839        concat!(
10840            "Offset of field: ",
10841            stringify!(_zend_executor_globals),
10842            "::",
10843            stringify!(exception_op)
10844        )
10845    );
10846    assert_eq!(
10847        unsafe {
10848            &(*(::std::ptr::null::<_zend_executor_globals>())).current_execute_data as *const _
10849                as usize
10850        },
10851        1152usize,
10852        concat!(
10853            "Offset of field: ",
10854            stringify!(_zend_executor_globals),
10855            "::",
10856            stringify!(current_execute_data)
10857        )
10858    );
10859    assert_eq!(
10860        unsafe {
10861            &(*(::std::ptr::null::<_zend_executor_globals>())).current_module as *const _ as usize
10862        },
10863        1160usize,
10864        concat!(
10865            "Offset of field: ",
10866            stringify!(_zend_executor_globals),
10867            "::",
10868            stringify!(current_module)
10869        )
10870    );
10871    assert_eq!(
10872        unsafe {
10873            &(*(::std::ptr::null::<_zend_executor_globals>())).std_property_info as *const _
10874                as usize
10875        },
10876        1168usize,
10877        concat!(
10878            "Offset of field: ",
10879            stringify!(_zend_executor_globals),
10880            "::",
10881            stringify!(std_property_info)
10882        )
10883    );
10884    assert_eq!(
10885        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).active as *const _ as usize },
10886        1232usize,
10887        concat!(
10888            "Offset of field: ",
10889            stringify!(_zend_executor_globals),
10890            "::",
10891            stringify!(active)
10892        )
10893    );
10894    assert_eq!(
10895        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).start_op as *const _ as usize },
10896        1240usize,
10897        concat!(
10898            "Offset of field: ",
10899            stringify!(_zend_executor_globals),
10900            "::",
10901            stringify!(start_op)
10902        )
10903    );
10904    assert_eq!(
10905        unsafe {
10906            &(*(::std::ptr::null::<_zend_executor_globals>())).saved_fpu_cw_ptr as *const _ as usize
10907        },
10908        1248usize,
10909        concat!(
10910            "Offset of field: ",
10911            stringify!(_zend_executor_globals),
10912            "::",
10913            stringify!(saved_fpu_cw_ptr)
10914        )
10915    );
10916    assert_eq!(
10917        unsafe {
10918            &(*(::std::ptr::null::<_zend_executor_globals>())).saved_fpu_cw as *const _ as usize
10919        },
10920        1256usize,
10921        concat!(
10922            "Offset of field: ",
10923            stringify!(_zend_executor_globals),
10924            "::",
10925            stringify!(saved_fpu_cw)
10926        )
10927    );
10928    assert_eq!(
10929        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).reserved as *const _ as usize },
10930        1264usize,
10931        concat!(
10932            "Offset of field: ",
10933            stringify!(_zend_executor_globals),
10934            "::",
10935            stringify!(reserved)
10936        )
10937    );
10938}
10939#[repr(C)]
10940#[derive(Debug, Copy, Clone)]
10941pub struct _zend_ini_scanner_globals {
10942    pub yy_in: *mut zend_file_handle,
10943    pub yy_out: *mut zend_file_handle,
10944    pub yy_leng: ::std::os::raw::c_uint,
10945    pub yy_start: *mut ::std::os::raw::c_uchar,
10946    pub yy_text: *mut ::std::os::raw::c_uchar,
10947    pub yy_cursor: *mut ::std::os::raw::c_uchar,
10948    pub yy_marker: *mut ::std::os::raw::c_uchar,
10949    pub yy_limit: *mut ::std::os::raw::c_uchar,
10950    pub yy_state: ::std::os::raw::c_int,
10951    pub state_stack: zend_stack,
10952    pub filename: *mut ::std::os::raw::c_char,
10953    pub lineno: ::std::os::raw::c_int,
10954    pub scanner_mode: ::std::os::raw::c_int,
10955}
10956#[test]
10957fn bindgen_test_layout__zend_ini_scanner_globals() {
10958    assert_eq!(
10959        ::std::mem::size_of::<_zend_ini_scanner_globals>(),
10960        104usize,
10961        concat!("Size of: ", stringify!(_zend_ini_scanner_globals))
10962    );
10963    assert_eq!(
10964        ::std::mem::align_of::<_zend_ini_scanner_globals>(),
10965        8usize,
10966        concat!("Alignment of ", stringify!(_zend_ini_scanner_globals))
10967    );
10968    assert_eq!(
10969        unsafe { &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_in as *const _ as usize },
10970        0usize,
10971        concat!(
10972            "Offset of field: ",
10973            stringify!(_zend_ini_scanner_globals),
10974            "::",
10975            stringify!(yy_in)
10976        )
10977    );
10978    assert_eq!(
10979        unsafe {
10980            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_out as *const _ as usize
10981        },
10982        8usize,
10983        concat!(
10984            "Offset of field: ",
10985            stringify!(_zend_ini_scanner_globals),
10986            "::",
10987            stringify!(yy_out)
10988        )
10989    );
10990    assert_eq!(
10991        unsafe {
10992            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_leng as *const _ as usize
10993        },
10994        16usize,
10995        concat!(
10996            "Offset of field: ",
10997            stringify!(_zend_ini_scanner_globals),
10998            "::",
10999            stringify!(yy_leng)
11000        )
11001    );
11002    assert_eq!(
11003        unsafe {
11004            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_start as *const _ as usize
11005        },
11006        24usize,
11007        concat!(
11008            "Offset of field: ",
11009            stringify!(_zend_ini_scanner_globals),
11010            "::",
11011            stringify!(yy_start)
11012        )
11013    );
11014    assert_eq!(
11015        unsafe {
11016            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_text as *const _ as usize
11017        },
11018        32usize,
11019        concat!(
11020            "Offset of field: ",
11021            stringify!(_zend_ini_scanner_globals),
11022            "::",
11023            stringify!(yy_text)
11024        )
11025    );
11026    assert_eq!(
11027        unsafe {
11028            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_cursor as *const _ as usize
11029        },
11030        40usize,
11031        concat!(
11032            "Offset of field: ",
11033            stringify!(_zend_ini_scanner_globals),
11034            "::",
11035            stringify!(yy_cursor)
11036        )
11037    );
11038    assert_eq!(
11039        unsafe {
11040            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_marker as *const _ as usize
11041        },
11042        48usize,
11043        concat!(
11044            "Offset of field: ",
11045            stringify!(_zend_ini_scanner_globals),
11046            "::",
11047            stringify!(yy_marker)
11048        )
11049    );
11050    assert_eq!(
11051        unsafe {
11052            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_limit as *const _ as usize
11053        },
11054        56usize,
11055        concat!(
11056            "Offset of field: ",
11057            stringify!(_zend_ini_scanner_globals),
11058            "::",
11059            stringify!(yy_limit)
11060        )
11061    );
11062    assert_eq!(
11063        unsafe {
11064            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_state as *const _ as usize
11065        },
11066        64usize,
11067        concat!(
11068            "Offset of field: ",
11069            stringify!(_zend_ini_scanner_globals),
11070            "::",
11071            stringify!(yy_state)
11072        )
11073    );
11074    assert_eq!(
11075        unsafe {
11076            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).state_stack as *const _ as usize
11077        },
11078        72usize,
11079        concat!(
11080            "Offset of field: ",
11081            stringify!(_zend_ini_scanner_globals),
11082            "::",
11083            stringify!(state_stack)
11084        )
11085    );
11086    assert_eq!(
11087        unsafe {
11088            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).filename as *const _ as usize
11089        },
11090        88usize,
11091        concat!(
11092            "Offset of field: ",
11093            stringify!(_zend_ini_scanner_globals),
11094            "::",
11095            stringify!(filename)
11096        )
11097    );
11098    assert_eq!(
11099        unsafe {
11100            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).lineno as *const _ as usize
11101        },
11102        96usize,
11103        concat!(
11104            "Offset of field: ",
11105            stringify!(_zend_ini_scanner_globals),
11106            "::",
11107            stringify!(lineno)
11108        )
11109    );
11110    assert_eq!(
11111        unsafe {
11112            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).scanner_mode as *const _ as usize
11113        },
11114        100usize,
11115        concat!(
11116            "Offset of field: ",
11117            stringify!(_zend_ini_scanner_globals),
11118            "::",
11119            stringify!(scanner_mode)
11120        )
11121    );
11122}
11123#[repr(C)]
11124#[derive(Debug, Copy, Clone)]
11125pub struct _zend_php_scanner_globals {
11126    pub yy_in: *mut zend_file_handle,
11127    pub yy_out: *mut zend_file_handle,
11128    pub yy_leng: ::std::os::raw::c_uint,
11129    pub yy_start: *mut ::std::os::raw::c_uchar,
11130    pub yy_text: *mut ::std::os::raw::c_uchar,
11131    pub yy_cursor: *mut ::std::os::raw::c_uchar,
11132    pub yy_marker: *mut ::std::os::raw::c_uchar,
11133    pub yy_limit: *mut ::std::os::raw::c_uchar,
11134    pub yy_state: ::std::os::raw::c_int,
11135    pub state_stack: zend_stack,
11136    pub script_org: *mut ::std::os::raw::c_uchar,
11137    pub script_org_size: size_t,
11138    pub script_filtered: *mut ::std::os::raw::c_uchar,
11139    pub script_filtered_size: size_t,
11140    pub input_filter: zend_encoding_filter,
11141    pub output_filter: zend_encoding_filter,
11142    pub script_encoding: *const zend_encoding,
11143}
11144#[test]
11145fn bindgen_test_layout__zend_php_scanner_globals() {
11146    assert_eq!(
11147        ::std::mem::size_of::<_zend_php_scanner_globals>(),
11148        144usize,
11149        concat!("Size of: ", stringify!(_zend_php_scanner_globals))
11150    );
11151    assert_eq!(
11152        ::std::mem::align_of::<_zend_php_scanner_globals>(),
11153        8usize,
11154        concat!("Alignment of ", stringify!(_zend_php_scanner_globals))
11155    );
11156    assert_eq!(
11157        unsafe { &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_in as *const _ as usize },
11158        0usize,
11159        concat!(
11160            "Offset of field: ",
11161            stringify!(_zend_php_scanner_globals),
11162            "::",
11163            stringify!(yy_in)
11164        )
11165    );
11166    assert_eq!(
11167        unsafe {
11168            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_out as *const _ as usize
11169        },
11170        8usize,
11171        concat!(
11172            "Offset of field: ",
11173            stringify!(_zend_php_scanner_globals),
11174            "::",
11175            stringify!(yy_out)
11176        )
11177    );
11178    assert_eq!(
11179        unsafe {
11180            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_leng as *const _ as usize
11181        },
11182        16usize,
11183        concat!(
11184            "Offset of field: ",
11185            stringify!(_zend_php_scanner_globals),
11186            "::",
11187            stringify!(yy_leng)
11188        )
11189    );
11190    assert_eq!(
11191        unsafe {
11192            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_start as *const _ as usize
11193        },
11194        24usize,
11195        concat!(
11196            "Offset of field: ",
11197            stringify!(_zend_php_scanner_globals),
11198            "::",
11199            stringify!(yy_start)
11200        )
11201    );
11202    assert_eq!(
11203        unsafe {
11204            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_text as *const _ as usize
11205        },
11206        32usize,
11207        concat!(
11208            "Offset of field: ",
11209            stringify!(_zend_php_scanner_globals),
11210            "::",
11211            stringify!(yy_text)
11212        )
11213    );
11214    assert_eq!(
11215        unsafe {
11216            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_cursor as *const _ as usize
11217        },
11218        40usize,
11219        concat!(
11220            "Offset of field: ",
11221            stringify!(_zend_php_scanner_globals),
11222            "::",
11223            stringify!(yy_cursor)
11224        )
11225    );
11226    assert_eq!(
11227        unsafe {
11228            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_marker as *const _ as usize
11229        },
11230        48usize,
11231        concat!(
11232            "Offset of field: ",
11233            stringify!(_zend_php_scanner_globals),
11234            "::",
11235            stringify!(yy_marker)
11236        )
11237    );
11238    assert_eq!(
11239        unsafe {
11240            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_limit as *const _ as usize
11241        },
11242        56usize,
11243        concat!(
11244            "Offset of field: ",
11245            stringify!(_zend_php_scanner_globals),
11246            "::",
11247            stringify!(yy_limit)
11248        )
11249    );
11250    assert_eq!(
11251        unsafe {
11252            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_state as *const _ as usize
11253        },
11254        64usize,
11255        concat!(
11256            "Offset of field: ",
11257            stringify!(_zend_php_scanner_globals),
11258            "::",
11259            stringify!(yy_state)
11260        )
11261    );
11262    assert_eq!(
11263        unsafe {
11264            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).state_stack as *const _ as usize
11265        },
11266        72usize,
11267        concat!(
11268            "Offset of field: ",
11269            stringify!(_zend_php_scanner_globals),
11270            "::",
11271            stringify!(state_stack)
11272        )
11273    );
11274    assert_eq!(
11275        unsafe {
11276            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_org as *const _ as usize
11277        },
11278        88usize,
11279        concat!(
11280            "Offset of field: ",
11281            stringify!(_zend_php_scanner_globals),
11282            "::",
11283            stringify!(script_org)
11284        )
11285    );
11286    assert_eq!(
11287        unsafe {
11288            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_org_size as *const _
11289                as usize
11290        },
11291        96usize,
11292        concat!(
11293            "Offset of field: ",
11294            stringify!(_zend_php_scanner_globals),
11295            "::",
11296            stringify!(script_org_size)
11297        )
11298    );
11299    assert_eq!(
11300        unsafe {
11301            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_filtered as *const _
11302                as usize
11303        },
11304        104usize,
11305        concat!(
11306            "Offset of field: ",
11307            stringify!(_zend_php_scanner_globals),
11308            "::",
11309            stringify!(script_filtered)
11310        )
11311    );
11312    assert_eq!(
11313        unsafe {
11314            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_filtered_size as *const _
11315                as usize
11316        },
11317        112usize,
11318        concat!(
11319            "Offset of field: ",
11320            stringify!(_zend_php_scanner_globals),
11321            "::",
11322            stringify!(script_filtered_size)
11323        )
11324    );
11325    assert_eq!(
11326        unsafe {
11327            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).input_filter as *const _ as usize
11328        },
11329        120usize,
11330        concat!(
11331            "Offset of field: ",
11332            stringify!(_zend_php_scanner_globals),
11333            "::",
11334            stringify!(input_filter)
11335        )
11336    );
11337    assert_eq!(
11338        unsafe {
11339            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).output_filter as *const _ as usize
11340        },
11341        128usize,
11342        concat!(
11343            "Offset of field: ",
11344            stringify!(_zend_php_scanner_globals),
11345            "::",
11346            stringify!(output_filter)
11347        )
11348    );
11349    assert_eq!(
11350        unsafe {
11351            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_encoding as *const _
11352                as usize
11353        },
11354        136usize,
11355        concat!(
11356            "Offset of field: ",
11357            stringify!(_zend_php_scanner_globals),
11358            "::",
11359            stringify!(script_encoding)
11360        )
11361    );
11362}
11363extern "C" {
11364    pub fn zend_init_compiler_data_structures();
11365}
11366extern "C" {
11367    pub fn zend_init_compiler_context();
11368}
11369extern "C" {
11370    pub static mut zend_compile_file: ::std::option::Option<
11371        unsafe extern "C" fn(
11372            file_handle: *mut zend_file_handle,
11373            type_: ::std::os::raw::c_int,
11374        ) -> *mut zend_op_array,
11375    >;
11376}
11377extern "C" {
11378    pub static mut zend_compile_string: ::std::option::Option<
11379        unsafe extern "C" fn(
11380            source_string: *mut zval,
11381            filename: *mut ::std::os::raw::c_char,
11382        ) -> *mut zend_op_array,
11383    >;
11384}
11385extern "C" {
11386    pub fn zend_set_compiled_filename(
11387        new_compiled_filename: *const ::std::os::raw::c_char,
11388    ) -> *mut ::std::os::raw::c_char;
11389}
11390extern "C" {
11391    pub fn zend_restore_compiled_filename(original_compiled_filename: *mut ::std::os::raw::c_char);
11392}
11393extern "C" {
11394    pub fn zend_get_compiled_filename() -> *mut ::std::os::raw::c_char;
11395}
11396extern "C" {
11397    pub fn zend_get_compiled_lineno() -> ::std::os::raw::c_int;
11398}
11399extern "C" {
11400    pub fn zend_get_scanned_file_offset() -> size_t;
11401}
11402extern "C" {
11403    pub fn zend_resolve_non_class_name(element_name: *mut znode, check_namespace: zend_bool);
11404}
11405extern "C" {
11406    pub fn zend_resolve_class_name(
11407        class_name: *mut znode,
11408        fetch_type: ulong,
11409        check_ns_name: ::std::os::raw::c_int,
11410    );
11411}
11412extern "C" {
11413    pub fn zend_get_compiled_variable_name(
11414        op_array: *const zend_op_array,
11415        var: zend_uint,
11416        name_len: *mut ::std::os::raw::c_int,
11417    ) -> *const ::std::os::raw::c_char;
11418}
11419extern "C" {
11420    pub fn zend_do_binary_op(
11421        op: zend_uchar,
11422        result: *mut znode,
11423        op1: *const znode,
11424        op2: *const znode,
11425    );
11426}
11427extern "C" {
11428    pub fn zend_do_unary_op(op: zend_uchar, result: *mut znode, op1: *const znode);
11429}
11430extern "C" {
11431    pub fn zend_do_binary_assign_op(
11432        op: zend_uchar,
11433        result: *mut znode,
11434        op1: *const znode,
11435        op2: *const znode,
11436    );
11437}
11438extern "C" {
11439    pub fn zend_do_assign(result: *mut znode, variable: *mut znode, value: *mut znode);
11440}
11441extern "C" {
11442    pub fn zend_do_assign_ref(result: *mut znode, lvar: *const znode, rvar: *const znode);
11443}
11444extern "C" {
11445    pub fn zend_do_indirect_references(
11446        result: *mut znode,
11447        num_references: *const znode,
11448        variable: *mut znode,
11449    );
11450}
11451extern "C" {
11452    pub fn zend_do_fetch_static_variable(
11453        varname: *mut znode,
11454        static_assignment: *const znode,
11455        fetch_type: ::std::os::raw::c_int,
11456    );
11457}
11458extern "C" {
11459    pub fn zend_do_fetch_global_variable(
11460        varname: *mut znode,
11461        static_assignment: *const znode,
11462        fetch_type: ::std::os::raw::c_int,
11463    );
11464}
11465extern "C" {
11466    pub fn zend_do_fetch_static_member(result: *mut znode, class_znode: *mut znode);
11467}
11468extern "C" {
11469    pub fn zend_do_print(result: *mut znode, arg: *const znode);
11470}
11471extern "C" {
11472    pub fn zend_do_echo(arg: *const znode);
11473}
11474extern "C" {
11475    pub fn zend_do_while_cond(expr: *const znode, close_bracket_token: *mut znode);
11476}
11477extern "C" {
11478    pub fn zend_do_while_end(while_token: *const znode, close_bracket_token: *const znode);
11479}
11480extern "C" {
11481    pub fn zend_do_do_while_begin();
11482}
11483extern "C" {
11484    pub fn zend_do_do_while_end(
11485        do_token: *const znode,
11486        expr_open_bracket: *const znode,
11487        expr: *const znode,
11488    );
11489}
11490extern "C" {
11491    pub fn zend_do_if_cond(cond: *const znode, closing_bracket_token: *mut znode);
11492}
11493extern "C" {
11494    pub fn zend_do_if_after_statement(
11495        closing_bracket_token: *const znode,
11496        initialize: ::std::os::raw::c_uchar,
11497    );
11498}
11499extern "C" {
11500    pub fn zend_do_if_end();
11501}
11502extern "C" {
11503    pub fn zend_do_for_cond(expr: *const znode, second_semicolon_token: *mut znode);
11504}
11505extern "C" {
11506    pub fn zend_do_for_before_statement(
11507        cond_start: *const znode,
11508        second_semicolon_token: *const znode,
11509    );
11510}
11511extern "C" {
11512    pub fn zend_do_for_end(second_semicolon_token: *const znode);
11513}
11514extern "C" {
11515    pub fn zend_do_pre_incdec(result: *mut znode, op1: *const znode, op: zend_uchar);
11516}
11517extern "C" {
11518    pub fn zend_do_post_incdec(result: *mut znode, op1: *const znode, op: zend_uchar);
11519}
11520extern "C" {
11521    pub fn zend_do_begin_variable_parse();
11522}
11523extern "C" {
11524    pub fn zend_do_end_variable_parse(
11525        variable: *mut znode,
11526        type_: ::std::os::raw::c_int,
11527        arg_offset: ::std::os::raw::c_int,
11528    );
11529}
11530extern "C" {
11531    pub fn zend_check_writable_variable(variable: *const znode);
11532}
11533extern "C" {
11534    pub fn zend_do_free(op1: *mut znode);
11535}
11536extern "C" {
11537    pub fn zend_do_add_string(result: *mut znode, op1: *const znode, op2: *mut znode);
11538}
11539extern "C" {
11540    pub fn zend_do_add_variable(result: *mut znode, op1: *const znode, op2: *const znode);
11541}
11542extern "C" {
11543    pub fn zend_do_verify_access_types(
11544        current_access_type: *const znode,
11545        new_modifier: *const znode,
11546    ) -> ::std::os::raw::c_int;
11547}
11548extern "C" {
11549    pub fn zend_do_begin_function_declaration(
11550        function_token: *mut znode,
11551        function_name: *mut znode,
11552        is_method: ::std::os::raw::c_int,
11553        return_reference: ::std::os::raw::c_int,
11554        fn_flags_znode: *mut znode,
11555    );
11556}
11557extern "C" {
11558    pub fn zend_do_end_function_declaration(function_token: *const znode);
11559}
11560extern "C" {
11561    pub fn zend_do_receive_arg(
11562        op: zend_uchar,
11563        varname: *mut znode,
11564        offset: *const znode,
11565        initialization: *const znode,
11566        class_type: *mut znode,
11567        pass_by_reference: zend_bool,
11568    );
11569}
11570extern "C" {
11571    pub fn zend_do_begin_function_call(
11572        function_name: *mut znode,
11573        check_namespace: zend_bool,
11574    ) -> ::std::os::raw::c_int;
11575}
11576extern "C" {
11577    pub fn zend_do_begin_method_call(left_bracket: *mut znode);
11578}
11579extern "C" {
11580    pub fn zend_do_clone(result: *mut znode, expr: *const znode);
11581}
11582extern "C" {
11583    pub fn zend_do_begin_dynamic_function_call(
11584        function_name: *mut znode,
11585        prefix_len: ::std::os::raw::c_int,
11586    );
11587}
11588extern "C" {
11589    pub fn zend_do_fetch_class(result: *mut znode, class_name: *mut znode);
11590}
11591extern "C" {
11592    pub fn zend_do_build_full_name(
11593        result: *mut znode,
11594        prefix: *mut znode,
11595        name: *mut znode,
11596        is_class_member: ::std::os::raw::c_int,
11597    );
11598}
11599extern "C" {
11600    pub fn zend_do_begin_class_member_function_call(
11601        class_name: *mut znode,
11602        method_name: *mut znode,
11603    ) -> ::std::os::raw::c_int;
11604}
11605extern "C" {
11606    pub fn zend_do_end_function_call(
11607        function_name: *mut znode,
11608        result: *mut znode,
11609        argument_list: *const znode,
11610        is_method: ::std::os::raw::c_int,
11611        is_dynamic_fcall: ::std::os::raw::c_int,
11612    );
11613}
11614extern "C" {
11615    pub fn zend_do_return(expr: *mut znode, do_end_vparse: ::std::os::raw::c_int);
11616}
11617extern "C" {
11618    pub fn zend_do_handle_exception();
11619}
11620extern "C" {
11621    pub fn zend_do_begin_lambda_function_declaration(
11622        result: *mut znode,
11623        function_token: *mut znode,
11624        return_reference: ::std::os::raw::c_int,
11625        is_static: ::std::os::raw::c_int,
11626    );
11627}
11628extern "C" {
11629    pub fn zend_do_fetch_lexical_variable(varname: *mut znode, is_ref: zend_bool);
11630}
11631extern "C" {
11632    pub fn zend_do_try(try_token: *mut znode);
11633}
11634extern "C" {
11635    pub fn zend_do_begin_catch(
11636        try_token: *mut znode,
11637        catch_class: *mut znode,
11638        catch_var: *mut znode,
11639        first_catch: *mut znode,
11640    );
11641}
11642extern "C" {
11643    pub fn zend_do_end_catch(try_token: *const znode);
11644}
11645extern "C" {
11646    pub fn zend_do_throw(expr: *const znode);
11647}
11648extern "C" {
11649    pub fn zend_do_inherit_interfaces(ce: *mut zend_class_entry, iface: *const zend_class_entry);
11650}
11651extern "C" {
11652    pub fn zend_do_implement_interface(ce: *mut zend_class_entry, iface: *mut zend_class_entry);
11653}
11654extern "C" {
11655    pub fn zend_do_implements_interface(interface_znode: *mut znode);
11656}
11657extern "C" {
11658    pub fn zend_do_use_trait(trait_znode: *mut znode);
11659}
11660extern "C" {
11661    pub fn zend_prepare_reference(
11662        result: *mut znode,
11663        class_name: *mut znode,
11664        method_name: *mut znode,
11665    );
11666}
11667extern "C" {
11668    pub fn zend_add_trait_precedence(method_reference: *mut znode, trait_list: *mut znode);
11669}
11670extern "C" {
11671    pub fn zend_add_trait_alias(
11672        method_reference: *mut znode,
11673        modifiers: *mut znode,
11674        alias: *mut znode,
11675    );
11676}
11677extern "C" {
11678    pub fn zend_do_implement_trait(ce: *mut zend_class_entry, trait_: *mut zend_class_entry);
11679}
11680extern "C" {
11681    pub fn zend_do_bind_traits(ce: *mut zend_class_entry);
11682}
11683extern "C" {
11684    pub fn zend_do_inheritance(ce: *mut zend_class_entry, parent_ce: *mut zend_class_entry);
11685}
11686extern "C" {
11687    pub fn zend_do_early_binding();
11688}
11689extern "C" {
11690    pub fn zend_do_delayed_early_binding(op_array: *const zend_op_array);
11691}
11692extern "C" {
11693    pub fn zend_do_pass_param(param: *mut znode, op: zend_uchar, offset: ::std::os::raw::c_int);
11694}
11695extern "C" {
11696    pub fn zend_do_boolean_or_begin(expr1: *mut znode, op_token: *mut znode);
11697}
11698extern "C" {
11699    pub fn zend_do_boolean_or_end(
11700        result: *mut znode,
11701        expr1: *const znode,
11702        expr2: *const znode,
11703        op_token: *mut znode,
11704    );
11705}
11706extern "C" {
11707    pub fn zend_do_boolean_and_begin(expr1: *mut znode, op_token: *mut znode);
11708}
11709extern "C" {
11710    pub fn zend_do_boolean_and_end(
11711        result: *mut znode,
11712        expr1: *const znode,
11713        expr2: *const znode,
11714        op_token: *const znode,
11715    );
11716}
11717extern "C" {
11718    pub fn zend_do_brk_cont(op: zend_uchar, expr: *const znode);
11719}
11720extern "C" {
11721    pub fn zend_do_switch_cond(cond: *const znode);
11722}
11723extern "C" {
11724    pub fn zend_do_switch_end(case_list: *const znode);
11725}
11726extern "C" {
11727    pub fn zend_do_case_before_statement(
11728        case_list: *const znode,
11729        case_token: *mut znode,
11730        case_expr: *const znode,
11731    );
11732}
11733extern "C" {
11734    pub fn zend_do_case_after_statement(result: *mut znode, case_token: *const znode);
11735}
11736extern "C" {
11737    pub fn zend_do_default_before_statement(case_list: *const znode, default_token: *mut znode);
11738}
11739extern "C" {
11740    pub fn zend_do_begin_class_declaration(
11741        class_token: *const znode,
11742        class_name: *mut znode,
11743        parent_class_name: *const znode,
11744    );
11745}
11746extern "C" {
11747    pub fn zend_do_end_class_declaration(class_token: *const znode, parent_token: *const znode);
11748}
11749extern "C" {
11750    pub fn zend_do_declare_property(
11751        var_name: *const znode,
11752        value: *const znode,
11753        access_type: zend_uint,
11754    );
11755}
11756extern "C" {
11757    pub fn zend_do_declare_class_constant(var_name: *mut znode, value: *const znode);
11758}
11759extern "C" {
11760    pub fn zend_do_fetch_property(result: *mut znode, object: *mut znode, property: *const znode);
11761}
11762extern "C" {
11763    pub fn zend_do_halt_compiler_register();
11764}
11765extern "C" {
11766    pub fn zend_do_push_object(object: *const znode);
11767}
11768extern "C" {
11769    pub fn zend_do_pop_object(object: *mut znode);
11770}
11771extern "C" {
11772    pub fn zend_do_begin_new_object(new_token: *mut znode, class_type: *mut znode);
11773}
11774extern "C" {
11775    pub fn zend_do_end_new_object(
11776        result: *mut znode,
11777        new_token: *const znode,
11778        argument_list: *const znode,
11779    );
11780}
11781extern "C" {
11782    pub fn zend_do_fetch_constant(
11783        result: *mut znode,
11784        constant_container: *mut znode,
11785        constant_name: *mut znode,
11786        mode: ::std::os::raw::c_int,
11787        check_namespace: zend_bool,
11788    );
11789}
11790extern "C" {
11791    pub fn zend_do_shell_exec(result: *mut znode, cmd: *const znode);
11792}
11793extern "C" {
11794    pub fn zend_do_init_array(
11795        result: *mut znode,
11796        expr: *const znode,
11797        offset: *const znode,
11798        is_ref: zend_bool,
11799    );
11800}
11801extern "C" {
11802    pub fn zend_do_add_array_element(
11803        result: *mut znode,
11804        expr: *const znode,
11805        offset: *const znode,
11806        is_ref: zend_bool,
11807    );
11808}
11809extern "C" {
11810    pub fn zend_do_add_static_array_element(
11811        result: *mut znode,
11812        offset: *mut znode,
11813        expr: *const znode,
11814    );
11815}
11816extern "C" {
11817    pub fn zend_do_list_init();
11818}
11819extern "C" {
11820    pub fn zend_do_list_end(result: *mut znode, expr: *mut znode);
11821}
11822extern "C" {
11823    pub fn zend_do_add_list_element(element: *const znode);
11824}
11825extern "C" {
11826    pub fn zend_do_new_list_begin();
11827}
11828extern "C" {
11829    pub fn zend_do_new_list_end();
11830}
11831extern "C" {
11832    pub fn zend_init_list(result: *mut ::std::os::raw::c_void, item: *mut ::std::os::raw::c_void);
11833}
11834extern "C" {
11835    pub fn zend_add_to_list(result: *mut ::std::os::raw::c_void, item: *mut ::std::os::raw::c_void);
11836}
11837extern "C" {
11838    pub fn zend_do_cast(result: *mut znode, expr: *const znode, type_: ::std::os::raw::c_int);
11839}
11840extern "C" {
11841    pub fn zend_do_include_or_eval(
11842        type_: ::std::os::raw::c_int,
11843        result: *mut znode,
11844        op1: *const znode,
11845    );
11846}
11847extern "C" {
11848    pub fn zend_do_unset(variable: *const znode);
11849}
11850extern "C" {
11851    pub fn zend_do_isset_or_isempty(
11852        type_: ::std::os::raw::c_int,
11853        result: *mut znode,
11854        variable: *mut znode,
11855    );
11856}
11857extern "C" {
11858    pub fn zend_do_instanceof(
11859        result: *mut znode,
11860        expr: *const znode,
11861        class_znode: *const znode,
11862        type_: ::std::os::raw::c_int,
11863    );
11864}
11865extern "C" {
11866    pub fn zend_do_foreach_begin(
11867        foreach_token: *mut znode,
11868        open_brackets_token: *mut znode,
11869        array: *mut znode,
11870        as_token: *mut znode,
11871        variable: ::std::os::raw::c_int,
11872    );
11873}
11874extern "C" {
11875    pub fn zend_do_foreach_cont(
11876        foreach_token: *mut znode,
11877        open_brackets_token: *const znode,
11878        as_token: *const znode,
11879        value: *mut znode,
11880        key: *mut znode,
11881    );
11882}
11883extern "C" {
11884    pub fn zend_do_foreach_end(foreach_token: *const znode, as_token: *const znode);
11885}
11886extern "C" {
11887    pub fn zend_do_declare_begin();
11888}
11889extern "C" {
11890    pub fn zend_do_declare_stmt(var: *mut znode, val: *mut znode);
11891}
11892extern "C" {
11893    pub fn zend_do_declare_end(declare_token: *const znode);
11894}
11895extern "C" {
11896    pub fn zend_do_exit(result: *mut znode, message: *const znode);
11897}
11898extern "C" {
11899    pub fn zend_do_begin_silence(strudel_token: *mut znode);
11900}
11901extern "C" {
11902    pub fn zend_do_end_silence(strudel_token: *const znode);
11903}
11904extern "C" {
11905    pub fn zend_do_jmp_set(value: *const znode, jmp_token: *mut znode, colon_token: *mut znode);
11906}
11907extern "C" {
11908    pub fn zend_do_jmp_set_else(
11909        result: *mut znode,
11910        false_value: *const znode,
11911        jmp_token: *const znode,
11912        colon_token: *const znode,
11913    );
11914}
11915extern "C" {
11916    pub fn zend_do_begin_qm_op(cond: *const znode, qm_token: *mut znode);
11917}
11918extern "C" {
11919    pub fn zend_do_qm_true(true_value: *const znode, qm_token: *mut znode, colon_token: *mut znode);
11920}
11921extern "C" {
11922    pub fn zend_do_qm_false(
11923        result: *mut znode,
11924        false_value: *const znode,
11925        qm_token: *const znode,
11926        colon_token: *const znode,
11927    );
11928}
11929extern "C" {
11930    pub fn zend_do_extended_info();
11931}
11932extern "C" {
11933    pub fn zend_do_extended_fcall_begin();
11934}
11935extern "C" {
11936    pub fn zend_do_extended_fcall_end();
11937}
11938extern "C" {
11939    pub fn zend_do_ticks();
11940}
11941extern "C" {
11942    pub fn zend_do_abstract_method(
11943        function_name: *const znode,
11944        modifiers: *mut znode,
11945        body: *const znode,
11946    );
11947}
11948extern "C" {
11949    pub fn zend_do_declare_constant(name: *mut znode, value: *mut znode);
11950}
11951extern "C" {
11952    pub fn zend_do_build_namespace_name(result: *mut znode, prefix: *mut znode, name: *mut znode);
11953}
11954extern "C" {
11955    pub fn zend_do_begin_namespace(name: *const znode, with_brackets: zend_bool);
11956}
11957extern "C" {
11958    pub fn zend_do_end_namespace();
11959}
11960extern "C" {
11961    pub fn zend_verify_namespace();
11962}
11963extern "C" {
11964    pub fn zend_do_use(name: *mut znode, new_name: *mut znode, is_global: ::std::os::raw::c_int);
11965}
11966extern "C" {
11967    pub fn zend_do_end_compilation();
11968}
11969extern "C" {
11970    pub fn zend_do_label(label: *mut znode);
11971}
11972extern "C" {
11973    pub fn zend_do_goto(label: *const znode);
11974}
11975extern "C" {
11976    pub fn zend_resolve_goto_label(
11977        op_array: *mut zend_op_array,
11978        opline: *mut zend_op,
11979        pass2: ::std::os::raw::c_int,
11980    );
11981}
11982extern "C" {
11983    pub fn zend_release_labels(temporary: ::std::os::raw::c_int);
11984}
11985extern "C" {
11986    pub fn zend_execute_scripts(
11987        type_: ::std::os::raw::c_int,
11988        retval: *mut *mut zval,
11989        file_count: ::std::os::raw::c_int,
11990        ...
11991    ) -> ::std::os::raw::c_int;
11992}
11993extern "C" {
11994    pub fn zend_destroy_file_handle(file_handle: *mut zend_file_handle);
11995}
11996extern "C" {
11997    pub fn zend_cleanup_class_data(pce: *mut *mut zend_class_entry) -> ::std::os::raw::c_int;
11998}
11999extern "C" {
12000    pub fn zend_cleanup_user_class_data(pce: *mut *mut zend_class_entry) -> ::std::os::raw::c_int;
12001}
12002extern "C" {
12003    pub fn zend_cleanup_internal_class_data(ce: *mut zend_class_entry);
12004}
12005extern "C" {
12006    pub fn zend_cleanup_internal_classes();
12007}
12008extern "C" {
12009    pub fn zend_cleanup_function_data(function: *mut zend_function) -> ::std::os::raw::c_int;
12010}
12011extern "C" {
12012    pub fn zend_cleanup_function_data_full(function: *mut zend_function) -> ::std::os::raw::c_int;
12013}
12014extern "C" {
12015    pub fn zend_function_dtor(function: *mut zend_function);
12016}
12017extern "C" {
12018    pub fn zend_class_add_ref(ce: *mut *mut zend_class_entry);
12019}
12020extern "C" {
12021    pub fn zend_mangle_property_name(
12022        dest: *mut *mut ::std::os::raw::c_char,
12023        dest_length: *mut ::std::os::raw::c_int,
12024        src1: *const ::std::os::raw::c_char,
12025        src1_length: ::std::os::raw::c_int,
12026        src2: *const ::std::os::raw::c_char,
12027        src2_length: ::std::os::raw::c_int,
12028        internal: ::std::os::raw::c_int,
12029    );
12030}
12031extern "C" {
12032    pub fn zend_unmangle_property_name(
12033        mangled_property: *const ::std::os::raw::c_char,
12034        mangled_property_len: ::std::os::raw::c_int,
12035        class_name: *mut *const ::std::os::raw::c_char,
12036        prop_name: *mut *const ::std::os::raw::c_char,
12037    ) -> ::std::os::raw::c_int;
12038}
12039extern "C" {
12040    pub fn zend_do_first_catch(open_parentheses: *mut znode);
12041}
12042extern "C" {
12043    pub fn zend_initialize_try_catch_element(try_token: *const znode);
12044}
12045extern "C" {
12046    pub fn zend_do_mark_last_catch(first_catch: *const znode, last_additional_catch: *const znode);
12047}
12048extern "C" {
12049    pub fn zend_is_compiling() -> zend_bool;
12050}
12051extern "C" {
12052    pub fn zend_make_compiled_string_description(
12053        name: *const ::std::os::raw::c_char,
12054    ) -> *mut ::std::os::raw::c_char;
12055}
12056extern "C" {
12057    pub fn zend_initialize_class_data(ce: *mut zend_class_entry, nullify_handlers: zend_bool);
12058}
12059extern "C" {
12060    pub fn zend_get_class_fetch_type(
12061        class_name: *const ::std::os::raw::c_char,
12062        class_name_len: uint,
12063    ) -> ::std::os::raw::c_int;
12064}
12065pub type zend_auto_global_callback = ::std::option::Option<
12066    unsafe extern "C" fn(name: *const ::std::os::raw::c_char, name_len: uint) -> zend_bool,
12067>;
12068#[repr(C)]
12069#[derive(Debug, Copy, Clone)]
12070pub struct _zend_auto_global {
12071    pub name: *const ::std::os::raw::c_char,
12072    pub name_len: uint,
12073    pub auto_global_callback: zend_auto_global_callback,
12074    pub jit: zend_bool,
12075    pub armed: zend_bool,
12076}
12077#[test]
12078fn bindgen_test_layout__zend_auto_global() {
12079    assert_eq!(
12080        ::std::mem::size_of::<_zend_auto_global>(),
12081        32usize,
12082        concat!("Size of: ", stringify!(_zend_auto_global))
12083    );
12084    assert_eq!(
12085        ::std::mem::align_of::<_zend_auto_global>(),
12086        8usize,
12087        concat!("Alignment of ", stringify!(_zend_auto_global))
12088    );
12089    assert_eq!(
12090        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).name as *const _ as usize },
12091        0usize,
12092        concat!(
12093            "Offset of field: ",
12094            stringify!(_zend_auto_global),
12095            "::",
12096            stringify!(name)
12097        )
12098    );
12099    assert_eq!(
12100        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).name_len as *const _ as usize },
12101        8usize,
12102        concat!(
12103            "Offset of field: ",
12104            stringify!(_zend_auto_global),
12105            "::",
12106            stringify!(name_len)
12107        )
12108    );
12109    assert_eq!(
12110        unsafe {
12111            &(*(::std::ptr::null::<_zend_auto_global>())).auto_global_callback as *const _ as usize
12112        },
12113        16usize,
12114        concat!(
12115            "Offset of field: ",
12116            stringify!(_zend_auto_global),
12117            "::",
12118            stringify!(auto_global_callback)
12119        )
12120    );
12121    assert_eq!(
12122        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).jit as *const _ as usize },
12123        24usize,
12124        concat!(
12125            "Offset of field: ",
12126            stringify!(_zend_auto_global),
12127            "::",
12128            stringify!(jit)
12129        )
12130    );
12131    assert_eq!(
12132        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).armed as *const _ as usize },
12133        25usize,
12134        concat!(
12135            "Offset of field: ",
12136            stringify!(_zend_auto_global),
12137            "::",
12138            stringify!(armed)
12139        )
12140    );
12141}
12142pub type zend_auto_global = _zend_auto_global;
12143extern "C" {
12144    pub fn zend_register_auto_global(
12145        name: *const ::std::os::raw::c_char,
12146        name_len: uint,
12147        jit: zend_bool,
12148        auto_global_callback: zend_auto_global_callback,
12149    ) -> ::std::os::raw::c_int;
12150}
12151extern "C" {
12152    pub fn zend_activate_auto_globals();
12153}
12154extern "C" {
12155    pub fn zend_is_auto_global(name: *const ::std::os::raw::c_char, name_len: uint) -> zend_bool;
12156}
12157extern "C" {
12158    pub fn zend_is_auto_global_quick(
12159        name: *const ::std::os::raw::c_char,
12160        name_len: uint,
12161        hashval: ulong,
12162    ) -> zend_bool;
12163}
12164extern "C" {
12165    pub fn zend_dirname(path: *mut ::std::os::raw::c_char, len: size_t) -> size_t;
12166}
12167extern "C" {
12168    pub fn zendlex(zendlval: *mut znode) -> ::std::os::raw::c_int;
12169}
12170extern "C" {
12171    pub fn zend_add_literal(op_array: *mut zend_op_array, zv: *const zval)
12172        -> ::std::os::raw::c_int;
12173}
12174extern "C" {
12175    pub fn zend_get_opcode_name(opcode: zend_uchar) -> *const ::std::os::raw::c_char;
12176}
12177pub type zend_module_entry = _zend_module_entry;
12178pub type zend_module_dep = _zend_module_dep;
12179#[repr(C)]
12180#[derive(Debug, Copy, Clone)]
12181pub struct _zend_module_entry {
12182    pub size: ::std::os::raw::c_ushort,
12183    pub zend_api: ::std::os::raw::c_uint,
12184    pub zend_debug: ::std::os::raw::c_uchar,
12185    pub zts: ::std::os::raw::c_uchar,
12186    pub ini_entry: *const _zend_ini_entry,
12187    pub deps: *const _zend_module_dep,
12188    pub name: *const ::std::os::raw::c_char,
12189    pub functions: *const _zend_function_entry,
12190    pub module_startup_func: ::std::option::Option<
12191        unsafe extern "C" fn(
12192            type_: ::std::os::raw::c_int,
12193            module_number: ::std::os::raw::c_int,
12194        ) -> ::std::os::raw::c_int,
12195    >,
12196    pub module_shutdown_func: ::std::option::Option<
12197        unsafe extern "C" fn(
12198            type_: ::std::os::raw::c_int,
12199            module_number: ::std::os::raw::c_int,
12200        ) -> ::std::os::raw::c_int,
12201    >,
12202    pub request_startup_func: ::std::option::Option<
12203        unsafe extern "C" fn(
12204            type_: ::std::os::raw::c_int,
12205            module_number: ::std::os::raw::c_int,
12206        ) -> ::std::os::raw::c_int,
12207    >,
12208    pub request_shutdown_func: ::std::option::Option<
12209        unsafe extern "C" fn(
12210            type_: ::std::os::raw::c_int,
12211            module_number: ::std::os::raw::c_int,
12212        ) -> ::std::os::raw::c_int,
12213    >,
12214    pub info_func: ::std::option::Option<unsafe extern "C" fn(zend_module: *mut zend_module_entry)>,
12215    pub version: *const ::std::os::raw::c_char,
12216    pub globals_size: size_t,
12217    pub globals_ptr: *mut ::std::os::raw::c_void,
12218    pub globals_ctor:
12219        ::std::option::Option<unsafe extern "C" fn(global: *mut ::std::os::raw::c_void)>,
12220    pub globals_dtor:
12221        ::std::option::Option<unsafe extern "C" fn(global: *mut ::std::os::raw::c_void)>,
12222    pub post_deactivate_func:
12223        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
12224    pub module_started: ::std::os::raw::c_int,
12225    pub type_: ::std::os::raw::c_uchar,
12226    pub handle: *mut ::std::os::raw::c_void,
12227    pub module_number: ::std::os::raw::c_int,
12228    pub build_id: *const ::std::os::raw::c_char,
12229}
12230#[test]
12231fn bindgen_test_layout__zend_module_entry() {
12232    assert_eq!(
12233        ::std::mem::size_of::<_zend_module_entry>(),
12234        168usize,
12235        concat!("Size of: ", stringify!(_zend_module_entry))
12236    );
12237    assert_eq!(
12238        ::std::mem::align_of::<_zend_module_entry>(),
12239        8usize,
12240        concat!("Alignment of ", stringify!(_zend_module_entry))
12241    );
12242    assert_eq!(
12243        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).size as *const _ as usize },
12244        0usize,
12245        concat!(
12246            "Offset of field: ",
12247            stringify!(_zend_module_entry),
12248            "::",
12249            stringify!(size)
12250        )
12251    );
12252    assert_eq!(
12253        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zend_api as *const _ as usize },
12254        4usize,
12255        concat!(
12256            "Offset of field: ",
12257            stringify!(_zend_module_entry),
12258            "::",
12259            stringify!(zend_api)
12260        )
12261    );
12262    assert_eq!(
12263        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zend_debug as *const _ as usize },
12264        8usize,
12265        concat!(
12266            "Offset of field: ",
12267            stringify!(_zend_module_entry),
12268            "::",
12269            stringify!(zend_debug)
12270        )
12271    );
12272    assert_eq!(
12273        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zts as *const _ as usize },
12274        9usize,
12275        concat!(
12276            "Offset of field: ",
12277            stringify!(_zend_module_entry),
12278            "::",
12279            stringify!(zts)
12280        )
12281    );
12282    assert_eq!(
12283        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).ini_entry as *const _ as usize },
12284        16usize,
12285        concat!(
12286            "Offset of field: ",
12287            stringify!(_zend_module_entry),
12288            "::",
12289            stringify!(ini_entry)
12290        )
12291    );
12292    assert_eq!(
12293        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).deps as *const _ as usize },
12294        24usize,
12295        concat!(
12296            "Offset of field: ",
12297            stringify!(_zend_module_entry),
12298            "::",
12299            stringify!(deps)
12300        )
12301    );
12302    assert_eq!(
12303        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).name as *const _ as usize },
12304        32usize,
12305        concat!(
12306            "Offset of field: ",
12307            stringify!(_zend_module_entry),
12308            "::",
12309            stringify!(name)
12310        )
12311    );
12312    assert_eq!(
12313        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).functions as *const _ as usize },
12314        40usize,
12315        concat!(
12316            "Offset of field: ",
12317            stringify!(_zend_module_entry),
12318            "::",
12319            stringify!(functions)
12320        )
12321    );
12322    assert_eq!(
12323        unsafe {
12324            &(*(::std::ptr::null::<_zend_module_entry>())).module_startup_func as *const _ as usize
12325        },
12326        48usize,
12327        concat!(
12328            "Offset of field: ",
12329            stringify!(_zend_module_entry),
12330            "::",
12331            stringify!(module_startup_func)
12332        )
12333    );
12334    assert_eq!(
12335        unsafe {
12336            &(*(::std::ptr::null::<_zend_module_entry>())).module_shutdown_func as *const _ as usize
12337        },
12338        56usize,
12339        concat!(
12340            "Offset of field: ",
12341            stringify!(_zend_module_entry),
12342            "::",
12343            stringify!(module_shutdown_func)
12344        )
12345    );
12346    assert_eq!(
12347        unsafe {
12348            &(*(::std::ptr::null::<_zend_module_entry>())).request_startup_func as *const _ as usize
12349        },
12350        64usize,
12351        concat!(
12352            "Offset of field: ",
12353            stringify!(_zend_module_entry),
12354            "::",
12355            stringify!(request_startup_func)
12356        )
12357    );
12358    assert_eq!(
12359        unsafe {
12360            &(*(::std::ptr::null::<_zend_module_entry>())).request_shutdown_func as *const _
12361                as usize
12362        },
12363        72usize,
12364        concat!(
12365            "Offset of field: ",
12366            stringify!(_zend_module_entry),
12367            "::",
12368            stringify!(request_shutdown_func)
12369        )
12370    );
12371    assert_eq!(
12372        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).info_func as *const _ as usize },
12373        80usize,
12374        concat!(
12375            "Offset of field: ",
12376            stringify!(_zend_module_entry),
12377            "::",
12378            stringify!(info_func)
12379        )
12380    );
12381    assert_eq!(
12382        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).version as *const _ as usize },
12383        88usize,
12384        concat!(
12385            "Offset of field: ",
12386            stringify!(_zend_module_entry),
12387            "::",
12388            stringify!(version)
12389        )
12390    );
12391    assert_eq!(
12392        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_size as *const _ as usize },
12393        96usize,
12394        concat!(
12395            "Offset of field: ",
12396            stringify!(_zend_module_entry),
12397            "::",
12398            stringify!(globals_size)
12399        )
12400    );
12401    assert_eq!(
12402        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_ptr as *const _ as usize },
12403        104usize,
12404        concat!(
12405            "Offset of field: ",
12406            stringify!(_zend_module_entry),
12407            "::",
12408            stringify!(globals_ptr)
12409        )
12410    );
12411    assert_eq!(
12412        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_ctor as *const _ as usize },
12413        112usize,
12414        concat!(
12415            "Offset of field: ",
12416            stringify!(_zend_module_entry),
12417            "::",
12418            stringify!(globals_ctor)
12419        )
12420    );
12421    assert_eq!(
12422        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_dtor as *const _ as usize },
12423        120usize,
12424        concat!(
12425            "Offset of field: ",
12426            stringify!(_zend_module_entry),
12427            "::",
12428            stringify!(globals_dtor)
12429        )
12430    );
12431    assert_eq!(
12432        unsafe {
12433            &(*(::std::ptr::null::<_zend_module_entry>())).post_deactivate_func as *const _ as usize
12434        },
12435        128usize,
12436        concat!(
12437            "Offset of field: ",
12438            stringify!(_zend_module_entry),
12439            "::",
12440            stringify!(post_deactivate_func)
12441        )
12442    );
12443    assert_eq!(
12444        unsafe {
12445            &(*(::std::ptr::null::<_zend_module_entry>())).module_started as *const _ as usize
12446        },
12447        136usize,
12448        concat!(
12449            "Offset of field: ",
12450            stringify!(_zend_module_entry),
12451            "::",
12452            stringify!(module_started)
12453        )
12454    );
12455    assert_eq!(
12456        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).type_ as *const _ as usize },
12457        140usize,
12458        concat!(
12459            "Offset of field: ",
12460            stringify!(_zend_module_entry),
12461            "::",
12462            stringify!(type_)
12463        )
12464    );
12465    assert_eq!(
12466        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).handle as *const _ as usize },
12467        144usize,
12468        concat!(
12469            "Offset of field: ",
12470            stringify!(_zend_module_entry),
12471            "::",
12472            stringify!(handle)
12473        )
12474    );
12475    assert_eq!(
12476        unsafe {
12477            &(*(::std::ptr::null::<_zend_module_entry>())).module_number as *const _ as usize
12478        },
12479        152usize,
12480        concat!(
12481            "Offset of field: ",
12482            stringify!(_zend_module_entry),
12483            "::",
12484            stringify!(module_number)
12485        )
12486    );
12487    assert_eq!(
12488        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).build_id as *const _ as usize },
12489        160usize,
12490        concat!(
12491            "Offset of field: ",
12492            stringify!(_zend_module_entry),
12493            "::",
12494            stringify!(build_id)
12495        )
12496    );
12497}
12498#[repr(C)]
12499#[derive(Debug, Copy, Clone)]
12500pub struct _zend_module_dep {
12501    pub name: *const ::std::os::raw::c_char,
12502    pub rel: *const ::std::os::raw::c_char,
12503    pub version: *const ::std::os::raw::c_char,
12504    pub type_: ::std::os::raw::c_uchar,
12505}
12506#[test]
12507fn bindgen_test_layout__zend_module_dep() {
12508    assert_eq!(
12509        ::std::mem::size_of::<_zend_module_dep>(),
12510        32usize,
12511        concat!("Size of: ", stringify!(_zend_module_dep))
12512    );
12513    assert_eq!(
12514        ::std::mem::align_of::<_zend_module_dep>(),
12515        8usize,
12516        concat!("Alignment of ", stringify!(_zend_module_dep))
12517    );
12518    assert_eq!(
12519        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).name as *const _ as usize },
12520        0usize,
12521        concat!(
12522            "Offset of field: ",
12523            stringify!(_zend_module_dep),
12524            "::",
12525            stringify!(name)
12526        )
12527    );
12528    assert_eq!(
12529        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).rel as *const _ as usize },
12530        8usize,
12531        concat!(
12532            "Offset of field: ",
12533            stringify!(_zend_module_dep),
12534            "::",
12535            stringify!(rel)
12536        )
12537    );
12538    assert_eq!(
12539        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).version as *const _ as usize },
12540        16usize,
12541        concat!(
12542            "Offset of field: ",
12543            stringify!(_zend_module_dep),
12544            "::",
12545            stringify!(version)
12546        )
12547    );
12548    assert_eq!(
12549        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).type_ as *const _ as usize },
12550        24usize,
12551        concat!(
12552            "Offset of field: ",
12553            stringify!(_zend_module_dep),
12554            "::",
12555            stringify!(type_)
12556        )
12557    );
12558}
12559extern "C" {
12560    pub static mut module_registry: HashTable;
12561}
12562#[repr(C)]
12563#[derive(Debug, Copy, Clone)]
12564pub struct _zend_rsrc_list_entry {
12565    pub ptr: *mut ::std::os::raw::c_void,
12566    pub type_: ::std::os::raw::c_int,
12567    pub refcount: ::std::os::raw::c_int,
12568}
12569#[test]
12570fn bindgen_test_layout__zend_rsrc_list_entry() {
12571    assert_eq!(
12572        ::std::mem::size_of::<_zend_rsrc_list_entry>(),
12573        16usize,
12574        concat!("Size of: ", stringify!(_zend_rsrc_list_entry))
12575    );
12576    assert_eq!(
12577        ::std::mem::align_of::<_zend_rsrc_list_entry>(),
12578        8usize,
12579        concat!("Alignment of ", stringify!(_zend_rsrc_list_entry))
12580    );
12581    assert_eq!(
12582        unsafe { &(*(::std::ptr::null::<_zend_rsrc_list_entry>())).ptr as *const _ as usize },
12583        0usize,
12584        concat!(
12585            "Offset of field: ",
12586            stringify!(_zend_rsrc_list_entry),
12587            "::",
12588            stringify!(ptr)
12589        )
12590    );
12591    assert_eq!(
12592        unsafe { &(*(::std::ptr::null::<_zend_rsrc_list_entry>())).type_ as *const _ as usize },
12593        8usize,
12594        concat!(
12595            "Offset of field: ",
12596            stringify!(_zend_rsrc_list_entry),
12597            "::",
12598            stringify!(type_)
12599        )
12600    );
12601    assert_eq!(
12602        unsafe { &(*(::std::ptr::null::<_zend_rsrc_list_entry>())).refcount as *const _ as usize },
12603        12usize,
12604        concat!(
12605            "Offset of field: ",
12606            stringify!(_zend_rsrc_list_entry),
12607            "::",
12608            stringify!(refcount)
12609        )
12610    );
12611}
12612pub type zend_rsrc_list_entry = _zend_rsrc_list_entry;
12613pub type rsrc_dtor_func_t =
12614    ::std::option::Option<unsafe extern "C" fn(rsrc: *mut zend_rsrc_list_entry)>;
12615#[repr(C)]
12616#[derive(Debug, Copy, Clone)]
12617pub struct _zend_rsrc_list_dtors_entry {
12618    pub list_dtor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12619    pub plist_dtor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12620    pub list_dtor_ex: rsrc_dtor_func_t,
12621    pub plist_dtor_ex: rsrc_dtor_func_t,
12622    pub type_name: *const ::std::os::raw::c_char,
12623    pub module_number: ::std::os::raw::c_int,
12624    pub resource_id: ::std::os::raw::c_int,
12625    pub type_: ::std::os::raw::c_uchar,
12626}
12627#[test]
12628fn bindgen_test_layout__zend_rsrc_list_dtors_entry() {
12629    assert_eq!(
12630        ::std::mem::size_of::<_zend_rsrc_list_dtors_entry>(),
12631        56usize,
12632        concat!("Size of: ", stringify!(_zend_rsrc_list_dtors_entry))
12633    );
12634    assert_eq!(
12635        ::std::mem::align_of::<_zend_rsrc_list_dtors_entry>(),
12636        8usize,
12637        concat!("Alignment of ", stringify!(_zend_rsrc_list_dtors_entry))
12638    );
12639    assert_eq!(
12640        unsafe {
12641            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).list_dtor as *const _ as usize
12642        },
12643        0usize,
12644        concat!(
12645            "Offset of field: ",
12646            stringify!(_zend_rsrc_list_dtors_entry),
12647            "::",
12648            stringify!(list_dtor)
12649        )
12650    );
12651    assert_eq!(
12652        unsafe {
12653            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).plist_dtor as *const _ as usize
12654        },
12655        8usize,
12656        concat!(
12657            "Offset of field: ",
12658            stringify!(_zend_rsrc_list_dtors_entry),
12659            "::",
12660            stringify!(plist_dtor)
12661        )
12662    );
12663    assert_eq!(
12664        unsafe {
12665            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).list_dtor_ex as *const _
12666                as usize
12667        },
12668        16usize,
12669        concat!(
12670            "Offset of field: ",
12671            stringify!(_zend_rsrc_list_dtors_entry),
12672            "::",
12673            stringify!(list_dtor_ex)
12674        )
12675    );
12676    assert_eq!(
12677        unsafe {
12678            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).plist_dtor_ex as *const _
12679                as usize
12680        },
12681        24usize,
12682        concat!(
12683            "Offset of field: ",
12684            stringify!(_zend_rsrc_list_dtors_entry),
12685            "::",
12686            stringify!(plist_dtor_ex)
12687        )
12688    );
12689    assert_eq!(
12690        unsafe {
12691            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).type_name as *const _ as usize
12692        },
12693        32usize,
12694        concat!(
12695            "Offset of field: ",
12696            stringify!(_zend_rsrc_list_dtors_entry),
12697            "::",
12698            stringify!(type_name)
12699        )
12700    );
12701    assert_eq!(
12702        unsafe {
12703            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).module_number as *const _
12704                as usize
12705        },
12706        40usize,
12707        concat!(
12708            "Offset of field: ",
12709            stringify!(_zend_rsrc_list_dtors_entry),
12710            "::",
12711            stringify!(module_number)
12712        )
12713    );
12714    assert_eq!(
12715        unsafe {
12716            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).resource_id as *const _ as usize
12717        },
12718        44usize,
12719        concat!(
12720            "Offset of field: ",
12721            stringify!(_zend_rsrc_list_dtors_entry),
12722            "::",
12723            stringify!(resource_id)
12724        )
12725    );
12726    assert_eq!(
12727        unsafe {
12728            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).type_ as *const _ as usize
12729        },
12730        48usize,
12731        concat!(
12732            "Offset of field: ",
12733            stringify!(_zend_rsrc_list_dtors_entry),
12734            "::",
12735            stringify!(type_)
12736        )
12737    );
12738}
12739pub type zend_rsrc_list_dtors_entry = _zend_rsrc_list_dtors_entry;
12740extern "C" {
12741    pub fn zend_register_list_destructors(
12742        ld: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12743        pld: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12744        module_number: ::std::os::raw::c_int,
12745    ) -> ::std::os::raw::c_int;
12746}
12747extern "C" {
12748    pub fn zend_register_list_destructors_ex(
12749        ld: rsrc_dtor_func_t,
12750        pld: rsrc_dtor_func_t,
12751        type_name: *const ::std::os::raw::c_char,
12752        module_number: ::std::os::raw::c_int,
12753    ) -> ::std::os::raw::c_int;
12754}
12755extern "C" {
12756    pub fn zend_clean_module_rsrc_dtors(module_number: ::std::os::raw::c_int);
12757}
12758extern "C" {
12759    pub fn zend_init_rsrc_list() -> ::std::os::raw::c_int;
12760}
12761extern "C" {
12762    pub fn zend_init_rsrc_plist() -> ::std::os::raw::c_int;
12763}
12764extern "C" {
12765    pub fn zend_destroy_rsrc_list(ht: *mut HashTable);
12766}
12767extern "C" {
12768    pub fn zend_init_rsrc_list_dtors() -> ::std::os::raw::c_int;
12769}
12770extern "C" {
12771    pub fn zend_destroy_rsrc_list_dtors();
12772}
12773extern "C" {
12774    pub fn zend_list_insert(
12775        ptr: *mut ::std::os::raw::c_void,
12776        type_: ::std::os::raw::c_int,
12777    ) -> ::std::os::raw::c_int;
12778}
12779extern "C" {
12780    pub fn _zend_list_addref(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12781}
12782extern "C" {
12783    pub fn _zend_list_delete(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12784}
12785extern "C" {
12786    pub fn _zend_list_find(
12787        id: ::std::os::raw::c_int,
12788        type_: *mut ::std::os::raw::c_int,
12789    ) -> *mut ::std::os::raw::c_void;
12790}
12791extern "C" {
12792    pub fn zend_register_resource(
12793        rsrc_result: *mut zval,
12794        rsrc_pointer: *mut ::std::os::raw::c_void,
12795        rsrc_type: ::std::os::raw::c_int,
12796    ) -> ::std::os::raw::c_int;
12797}
12798extern "C" {
12799    pub fn zend_fetch_resource(
12800        passed_id: *mut *mut zval,
12801        default_id: ::std::os::raw::c_int,
12802        resource_type_name: *const ::std::os::raw::c_char,
12803        found_resource_type: *mut ::std::os::raw::c_int,
12804        num_resource_types: ::std::os::raw::c_int,
12805        ...
12806    ) -> *mut ::std::os::raw::c_void;
12807}
12808extern "C" {
12809    pub fn zend_rsrc_list_get_rsrc_type(
12810        resource: ::std::os::raw::c_int,
12811    ) -> *const ::std::os::raw::c_char;
12812}
12813extern "C" {
12814    pub fn zend_fetch_list_dtor_id(type_name: *mut ::std::os::raw::c_char)
12815        -> ::std::os::raw::c_int;
12816}
12817#[repr(C)]
12818#[derive(Copy, Clone)]
12819pub union _temp_variable {
12820    pub tmp_var: zval,
12821    pub var: _temp_variable__bindgen_ty_1,
12822    pub str_offset: _temp_variable__bindgen_ty_2,
12823    pub fe: _temp_variable__bindgen_ty_3,
12824    pub class_entry: *mut zend_class_entry,
12825    _bindgen_union_align: [u64; 4usize],
12826}
12827#[repr(C)]
12828#[derive(Debug, Copy, Clone)]
12829pub struct _temp_variable__bindgen_ty_1 {
12830    pub ptr_ptr: *mut *mut zval,
12831    pub ptr: *mut zval,
12832    pub fcall_returned_reference: zend_bool,
12833}
12834#[test]
12835fn bindgen_test_layout__temp_variable__bindgen_ty_1() {
12836    assert_eq!(
12837        ::std::mem::size_of::<_temp_variable__bindgen_ty_1>(),
12838        24usize,
12839        concat!("Size of: ", stringify!(_temp_variable__bindgen_ty_1))
12840    );
12841    assert_eq!(
12842        ::std::mem::align_of::<_temp_variable__bindgen_ty_1>(),
12843        8usize,
12844        concat!("Alignment of ", stringify!(_temp_variable__bindgen_ty_1))
12845    );
12846    assert_eq!(
12847        unsafe {
12848            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_1>())).ptr_ptr as *const _ as usize
12849        },
12850        0usize,
12851        concat!(
12852            "Offset of field: ",
12853            stringify!(_temp_variable__bindgen_ty_1),
12854            "::",
12855            stringify!(ptr_ptr)
12856        )
12857    );
12858    assert_eq!(
12859        unsafe {
12860            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_1>())).ptr as *const _ as usize
12861        },
12862        8usize,
12863        concat!(
12864            "Offset of field: ",
12865            stringify!(_temp_variable__bindgen_ty_1),
12866            "::",
12867            stringify!(ptr)
12868        )
12869    );
12870    assert_eq!(
12871        unsafe {
12872            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_1>())).fcall_returned_reference
12873                as *const _ as usize
12874        },
12875        16usize,
12876        concat!(
12877            "Offset of field: ",
12878            stringify!(_temp_variable__bindgen_ty_1),
12879            "::",
12880            stringify!(fcall_returned_reference)
12881        )
12882    );
12883}
12884#[repr(C)]
12885#[derive(Debug, Copy, Clone)]
12886pub struct _temp_variable__bindgen_ty_2 {
12887    pub ptr_ptr: *mut *mut zval,
12888    pub str_: *mut zval,
12889    pub offset: zend_uint,
12890}
12891#[test]
12892fn bindgen_test_layout__temp_variable__bindgen_ty_2() {
12893    assert_eq!(
12894        ::std::mem::size_of::<_temp_variable__bindgen_ty_2>(),
12895        24usize,
12896        concat!("Size of: ", stringify!(_temp_variable__bindgen_ty_2))
12897    );
12898    assert_eq!(
12899        ::std::mem::align_of::<_temp_variable__bindgen_ty_2>(),
12900        8usize,
12901        concat!("Alignment of ", stringify!(_temp_variable__bindgen_ty_2))
12902    );
12903    assert_eq!(
12904        unsafe {
12905            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_2>())).ptr_ptr as *const _ as usize
12906        },
12907        0usize,
12908        concat!(
12909            "Offset of field: ",
12910            stringify!(_temp_variable__bindgen_ty_2),
12911            "::",
12912            stringify!(ptr_ptr)
12913        )
12914    );
12915    assert_eq!(
12916        unsafe {
12917            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_2>())).str_ as *const _ as usize
12918        },
12919        8usize,
12920        concat!(
12921            "Offset of field: ",
12922            stringify!(_temp_variable__bindgen_ty_2),
12923            "::",
12924            stringify!(str_)
12925        )
12926    );
12927    assert_eq!(
12928        unsafe {
12929            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_2>())).offset as *const _ as usize
12930        },
12931        16usize,
12932        concat!(
12933            "Offset of field: ",
12934            stringify!(_temp_variable__bindgen_ty_2),
12935            "::",
12936            stringify!(offset)
12937        )
12938    );
12939}
12940#[repr(C)]
12941#[derive(Debug, Copy, Clone)]
12942pub struct _temp_variable__bindgen_ty_3 {
12943    pub ptr_ptr: *mut *mut zval,
12944    pub ptr: *mut zval,
12945    pub fe_pos: HashPointer,
12946}
12947#[test]
12948fn bindgen_test_layout__temp_variable__bindgen_ty_3() {
12949    assert_eq!(
12950        ::std::mem::size_of::<_temp_variable__bindgen_ty_3>(),
12951        32usize,
12952        concat!("Size of: ", stringify!(_temp_variable__bindgen_ty_3))
12953    );
12954    assert_eq!(
12955        ::std::mem::align_of::<_temp_variable__bindgen_ty_3>(),
12956        8usize,
12957        concat!("Alignment of ", stringify!(_temp_variable__bindgen_ty_3))
12958    );
12959    assert_eq!(
12960        unsafe {
12961            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_3>())).ptr_ptr as *const _ as usize
12962        },
12963        0usize,
12964        concat!(
12965            "Offset of field: ",
12966            stringify!(_temp_variable__bindgen_ty_3),
12967            "::",
12968            stringify!(ptr_ptr)
12969        )
12970    );
12971    assert_eq!(
12972        unsafe {
12973            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_3>())).ptr as *const _ as usize
12974        },
12975        8usize,
12976        concat!(
12977            "Offset of field: ",
12978            stringify!(_temp_variable__bindgen_ty_3),
12979            "::",
12980            stringify!(ptr)
12981        )
12982    );
12983    assert_eq!(
12984        unsafe {
12985            &(*(::std::ptr::null::<_temp_variable__bindgen_ty_3>())).fe_pos as *const _ as usize
12986        },
12987        16usize,
12988        concat!(
12989            "Offset of field: ",
12990            stringify!(_temp_variable__bindgen_ty_3),
12991            "::",
12992            stringify!(fe_pos)
12993        )
12994    );
12995}
12996#[test]
12997fn bindgen_test_layout__temp_variable() {
12998    assert_eq!(
12999        ::std::mem::size_of::<_temp_variable>(),
13000        32usize,
13001        concat!("Size of: ", stringify!(_temp_variable))
13002    );
13003    assert_eq!(
13004        ::std::mem::align_of::<_temp_variable>(),
13005        8usize,
13006        concat!("Alignment of ", stringify!(_temp_variable))
13007    );
13008    assert_eq!(
13009        unsafe { &(*(::std::ptr::null::<_temp_variable>())).tmp_var as *const _ as usize },
13010        0usize,
13011        concat!(
13012            "Offset of field: ",
13013            stringify!(_temp_variable),
13014            "::",
13015            stringify!(tmp_var)
13016        )
13017    );
13018    assert_eq!(
13019        unsafe { &(*(::std::ptr::null::<_temp_variable>())).var as *const _ as usize },
13020        0usize,
13021        concat!(
13022            "Offset of field: ",
13023            stringify!(_temp_variable),
13024            "::",
13025            stringify!(var)
13026        )
13027    );
13028    assert_eq!(
13029        unsafe { &(*(::std::ptr::null::<_temp_variable>())).str_offset as *const _ as usize },
13030        0usize,
13031        concat!(
13032            "Offset of field: ",
13033            stringify!(_temp_variable),
13034            "::",
13035            stringify!(str_offset)
13036        )
13037    );
13038    assert_eq!(
13039        unsafe { &(*(::std::ptr::null::<_temp_variable>())).fe as *const _ as usize },
13040        0usize,
13041        concat!(
13042            "Offset of field: ",
13043            stringify!(_temp_variable),
13044            "::",
13045            stringify!(fe)
13046        )
13047    );
13048    assert_eq!(
13049        unsafe { &(*(::std::ptr::null::<_temp_variable>())).class_entry as *const _ as usize },
13050        0usize,
13051        concat!(
13052            "Offset of field: ",
13053            stringify!(_temp_variable),
13054            "::",
13055            stringify!(class_entry)
13056        )
13057    );
13058}
13059pub type temp_variable = _temp_variable;
13060extern "C" {
13061    pub static mut zend_execute:
13062        ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
13063}
13064extern "C" {
13065    pub static mut zend_execute_internal: ::std::option::Option<
13066        unsafe extern "C" fn(
13067            execute_data_ptr: *mut zend_execute_data,
13068            return_value_used: ::std::os::raw::c_int,
13069        ),
13070    >;
13071}
13072extern "C" {
13073    pub fn zend_is_true(op: *mut zval) -> ::std::os::raw::c_int;
13074}
13075extern "C" {
13076    pub fn zend_lookup_class(
13077        name: *const ::std::os::raw::c_char,
13078        name_length: ::std::os::raw::c_int,
13079        ce: *mut *mut *mut zend_class_entry,
13080    ) -> ::std::os::raw::c_int;
13081}
13082extern "C" {
13083    pub fn zend_lookup_class_ex(
13084        name: *const ::std::os::raw::c_char,
13085        name_length: ::std::os::raw::c_int,
13086        key: *const zend_literal,
13087        use_autoload: ::std::os::raw::c_int,
13088        ce: *mut *mut *mut zend_class_entry,
13089    ) -> ::std::os::raw::c_int;
13090}
13091extern "C" {
13092    pub fn zend_eval_string(
13093        str_: *mut ::std::os::raw::c_char,
13094        retval_ptr: *mut zval,
13095        string_name: *mut ::std::os::raw::c_char,
13096    ) -> ::std::os::raw::c_int;
13097}
13098extern "C" {
13099    pub fn zend_eval_stringl(
13100        str_: *mut ::std::os::raw::c_char,
13101        str_len: ::std::os::raw::c_int,
13102        retval_ptr: *mut zval,
13103        string_name: *mut ::std::os::raw::c_char,
13104    ) -> ::std::os::raw::c_int;
13105}
13106extern "C" {
13107    pub fn zend_eval_string_ex(
13108        str_: *mut ::std::os::raw::c_char,
13109        retval_ptr: *mut zval,
13110        string_name: *mut ::std::os::raw::c_char,
13111        handle_exceptions: ::std::os::raw::c_int,
13112    ) -> ::std::os::raw::c_int;
13113}
13114extern "C" {
13115    pub fn zend_eval_stringl_ex(
13116        str_: *mut ::std::os::raw::c_char,
13117        str_len: ::std::os::raw::c_int,
13118        retval_ptr: *mut zval,
13119        string_name: *mut ::std::os::raw::c_char,
13120        handle_exceptions: ::std::os::raw::c_int,
13121    ) -> ::std::os::raw::c_int;
13122}
13123extern "C" {
13124    pub fn zend_verify_arg_class_kind(
13125        cur_arg_info: *const zend_arg_info,
13126        fetch_type: ulong,
13127        class_name: *mut *const ::std::os::raw::c_char,
13128        pce: *mut *mut zend_class_entry,
13129    ) -> *mut ::std::os::raw::c_char;
13130}
13131extern "C" {
13132    pub fn zend_verify_arg_error(
13133        error_type: ::std::os::raw::c_int,
13134        zf: *const zend_function,
13135        arg_num: zend_uint,
13136        need_msg: *const ::std::os::raw::c_char,
13137        need_kind: *const ::std::os::raw::c_char,
13138        given_msg: *const ::std::os::raw::c_char,
13139        given_kind: *const ::std::os::raw::c_char,
13140    ) -> ::std::os::raw::c_int;
13141}
13142#[repr(C)]
13143#[derive(Debug, Copy, Clone)]
13144pub struct _zend_vm_stack {
13145    pub top: *mut *mut ::std::os::raw::c_void,
13146    pub end: *mut *mut ::std::os::raw::c_void,
13147    pub prev: zend_vm_stack,
13148}
13149#[test]
13150fn bindgen_test_layout__zend_vm_stack() {
13151    assert_eq!(
13152        ::std::mem::size_of::<_zend_vm_stack>(),
13153        24usize,
13154        concat!("Size of: ", stringify!(_zend_vm_stack))
13155    );
13156    assert_eq!(
13157        ::std::mem::align_of::<_zend_vm_stack>(),
13158        8usize,
13159        concat!("Alignment of ", stringify!(_zend_vm_stack))
13160    );
13161    assert_eq!(
13162        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).top as *const _ as usize },
13163        0usize,
13164        concat!(
13165            "Offset of field: ",
13166            stringify!(_zend_vm_stack),
13167            "::",
13168            stringify!(top)
13169        )
13170    );
13171    assert_eq!(
13172        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).end as *const _ as usize },
13173        8usize,
13174        concat!(
13175            "Offset of field: ",
13176            stringify!(_zend_vm_stack),
13177            "::",
13178            stringify!(end)
13179        )
13180    );
13181    assert_eq!(
13182        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).prev as *const _ as usize },
13183        16usize,
13184        concat!(
13185            "Offset of field: ",
13186            stringify!(_zend_vm_stack),
13187            "::",
13188            stringify!(prev)
13189        )
13190    );
13191}
13192extern "C" {
13193    pub fn zend_get_executed_filename() -> *const ::std::os::raw::c_char;
13194}
13195extern "C" {
13196    pub fn zend_get_executed_lineno() -> uint;
13197}
13198extern "C" {
13199    pub fn zend_is_executing() -> zend_bool;
13200}
13201extern "C" {
13202    pub fn zend_set_timeout(seconds: ::std::os::raw::c_long, reset_signals: ::std::os::raw::c_int);
13203}
13204extern "C" {
13205    pub fn zend_unset_timeout();
13206}
13207extern "C" {
13208    pub fn zend_timeout(dummy: ::std::os::raw::c_int);
13209}
13210extern "C" {
13211    pub fn zend_fetch_class(
13212        class_name: *const ::std::os::raw::c_char,
13213        class_name_len: uint,
13214        fetch_type: ::std::os::raw::c_int,
13215    ) -> *mut zend_class_entry;
13216}
13217extern "C" {
13218    pub fn zend_fetch_class_by_name(
13219        class_name: *const ::std::os::raw::c_char,
13220        class_name_len: uint,
13221        key: *const zend_literal,
13222        fetch_type: ::std::os::raw::c_int,
13223    ) -> *mut zend_class_entry;
13224}
13225extern "C" {
13226    pub fn zend_verify_abstract_class(ce: *mut zend_class_entry);
13227}
13228extern "C" {
13229    pub fn zend_get_compiled_variable_value(
13230        execute_data_ptr: *const zend_execute_data,
13231        var: zend_uint,
13232    ) -> *mut *mut zval;
13233}
13234extern "C" {
13235    pub fn zend_set_user_opcode_handler(
13236        opcode: zend_uchar,
13237        handler: user_opcode_handler_t,
13238    ) -> ::std::os::raw::c_int;
13239}
13240extern "C" {
13241    pub fn zend_get_user_opcode_handler(opcode: zend_uchar) -> user_opcode_handler_t;
13242}
13243#[repr(C)]
13244#[derive(Debug, Copy, Clone)]
13245pub struct _zend_free_op {
13246    pub var: *mut zval,
13247}
13248#[test]
13249fn bindgen_test_layout__zend_free_op() {
13250    assert_eq!(
13251        ::std::mem::size_of::<_zend_free_op>(),
13252        8usize,
13253        concat!("Size of: ", stringify!(_zend_free_op))
13254    );
13255    assert_eq!(
13256        ::std::mem::align_of::<_zend_free_op>(),
13257        8usize,
13258        concat!("Alignment of ", stringify!(_zend_free_op))
13259    );
13260    assert_eq!(
13261        unsafe { &(*(::std::ptr::null::<_zend_free_op>())).var as *const _ as usize },
13262        0usize,
13263        concat!(
13264            "Offset of field: ",
13265            stringify!(_zend_free_op),
13266            "::",
13267            stringify!(var)
13268        )
13269    );
13270}
13271pub type zend_free_op = _zend_free_op;
13272extern "C" {
13273    pub fn zend_get_zval_ptr(
13274        op_type: ::std::os::raw::c_int,
13275        node: *const znode_op,
13276        Ts: *const temp_variable,
13277        should_free: *mut zend_free_op,
13278        type_: ::std::os::raw::c_int,
13279    ) -> *mut zval;
13280}
13281extern "C" {
13282    pub fn zend_get_zval_ptr_ptr(
13283        op_type: ::std::os::raw::c_int,
13284        node: *const znode_op,
13285        Ts: *const temp_variable,
13286        should_free: *mut zend_free_op,
13287        type_: ::std::os::raw::c_int,
13288    ) -> *mut *mut zval;
13289}
13290extern "C" {
13291    pub fn zend_do_fcall(execute_data: *mut zend_execute_data) -> ::std::os::raw::c_int;
13292}
13293#[repr(C)]
13294#[derive(Debug, Copy, Clone)]
13295pub struct _zend_function_entry {
13296    pub fname: *const ::std::os::raw::c_char,
13297    pub handler: ::std::option::Option<
13298        unsafe extern "C" fn(
13299            ht: ::std::os::raw::c_int,
13300            return_value: *mut zval,
13301            return_value_ptr: *mut *mut zval,
13302            this_ptr: *mut zval,
13303            return_value_used: ::std::os::raw::c_int,
13304        ),
13305    >,
13306    pub arg_info: *const _zend_arg_info,
13307    pub num_args: zend_uint,
13308    pub flags: zend_uint,
13309}
13310#[test]
13311fn bindgen_test_layout__zend_function_entry() {
13312    assert_eq!(
13313        ::std::mem::size_of::<_zend_function_entry>(),
13314        32usize,
13315        concat!("Size of: ", stringify!(_zend_function_entry))
13316    );
13317    assert_eq!(
13318        ::std::mem::align_of::<_zend_function_entry>(),
13319        8usize,
13320        concat!("Alignment of ", stringify!(_zend_function_entry))
13321    );
13322    assert_eq!(
13323        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).fname as *const _ as usize },
13324        0usize,
13325        concat!(
13326            "Offset of field: ",
13327            stringify!(_zend_function_entry),
13328            "::",
13329            stringify!(fname)
13330        )
13331    );
13332    assert_eq!(
13333        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).handler as *const _ as usize },
13334        8usize,
13335        concat!(
13336            "Offset of field: ",
13337            stringify!(_zend_function_entry),
13338            "::",
13339            stringify!(handler)
13340        )
13341    );
13342    assert_eq!(
13343        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).arg_info as *const _ as usize },
13344        16usize,
13345        concat!(
13346            "Offset of field: ",
13347            stringify!(_zend_function_entry),
13348            "::",
13349            stringify!(arg_info)
13350        )
13351    );
13352    assert_eq!(
13353        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).num_args as *const _ as usize },
13354        24usize,
13355        concat!(
13356            "Offset of field: ",
13357            stringify!(_zend_function_entry),
13358            "::",
13359            stringify!(num_args)
13360        )
13361    );
13362    assert_eq!(
13363        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).flags as *const _ as usize },
13364        28usize,
13365        concat!(
13366            "Offset of field: ",
13367            stringify!(_zend_function_entry),
13368            "::",
13369            stringify!(flags)
13370        )
13371    );
13372}
13373pub type zend_function_entry = _zend_function_entry;
13374#[repr(C)]
13375#[derive(Debug, Copy, Clone)]
13376pub struct _zend_fcall_info {
13377    pub size: size_t,
13378    pub function_table: *mut HashTable,
13379    pub function_name: *mut zval,
13380    pub symbol_table: *mut HashTable,
13381    pub retval_ptr_ptr: *mut *mut zval,
13382    pub param_count: zend_uint,
13383    pub params: *mut *mut *mut zval,
13384    pub object_ptr: *mut zval,
13385    pub no_separation: zend_bool,
13386}
13387#[test]
13388fn bindgen_test_layout__zend_fcall_info() {
13389    assert_eq!(
13390        ::std::mem::size_of::<_zend_fcall_info>(),
13391        72usize,
13392        concat!("Size of: ", stringify!(_zend_fcall_info))
13393    );
13394    assert_eq!(
13395        ::std::mem::align_of::<_zend_fcall_info>(),
13396        8usize,
13397        concat!("Alignment of ", stringify!(_zend_fcall_info))
13398    );
13399    assert_eq!(
13400        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).size as *const _ as usize },
13401        0usize,
13402        concat!(
13403            "Offset of field: ",
13404            stringify!(_zend_fcall_info),
13405            "::",
13406            stringify!(size)
13407        )
13408    );
13409    assert_eq!(
13410        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).function_table as *const _ as usize },
13411        8usize,
13412        concat!(
13413            "Offset of field: ",
13414            stringify!(_zend_fcall_info),
13415            "::",
13416            stringify!(function_table)
13417        )
13418    );
13419    assert_eq!(
13420        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).function_name as *const _ as usize },
13421        16usize,
13422        concat!(
13423            "Offset of field: ",
13424            stringify!(_zend_fcall_info),
13425            "::",
13426            stringify!(function_name)
13427        )
13428    );
13429    assert_eq!(
13430        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).symbol_table as *const _ as usize },
13431        24usize,
13432        concat!(
13433            "Offset of field: ",
13434            stringify!(_zend_fcall_info),
13435            "::",
13436            stringify!(symbol_table)
13437        )
13438    );
13439    assert_eq!(
13440        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).retval_ptr_ptr as *const _ as usize },
13441        32usize,
13442        concat!(
13443            "Offset of field: ",
13444            stringify!(_zend_fcall_info),
13445            "::",
13446            stringify!(retval_ptr_ptr)
13447        )
13448    );
13449    assert_eq!(
13450        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).param_count as *const _ as usize },
13451        40usize,
13452        concat!(
13453            "Offset of field: ",
13454            stringify!(_zend_fcall_info),
13455            "::",
13456            stringify!(param_count)
13457        )
13458    );
13459    assert_eq!(
13460        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).params as *const _ as usize },
13461        48usize,
13462        concat!(
13463            "Offset of field: ",
13464            stringify!(_zend_fcall_info),
13465            "::",
13466            stringify!(params)
13467        )
13468    );
13469    assert_eq!(
13470        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).object_ptr as *const _ as usize },
13471        56usize,
13472        concat!(
13473            "Offset of field: ",
13474            stringify!(_zend_fcall_info),
13475            "::",
13476            stringify!(object_ptr)
13477        )
13478    );
13479    assert_eq!(
13480        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).no_separation as *const _ as usize },
13481        64usize,
13482        concat!(
13483            "Offset of field: ",
13484            stringify!(_zend_fcall_info),
13485            "::",
13486            stringify!(no_separation)
13487        )
13488    );
13489}
13490pub type zend_fcall_info = _zend_fcall_info;
13491#[repr(C)]
13492#[derive(Debug, Copy, Clone)]
13493pub struct _zend_fcall_info_cache {
13494    pub initialized: zend_bool,
13495    pub function_handler: *mut zend_function,
13496    pub calling_scope: *mut zend_class_entry,
13497    pub called_scope: *mut zend_class_entry,
13498    pub object_ptr: *mut zval,
13499}
13500#[test]
13501fn bindgen_test_layout__zend_fcall_info_cache() {
13502    assert_eq!(
13503        ::std::mem::size_of::<_zend_fcall_info_cache>(),
13504        40usize,
13505        concat!("Size of: ", stringify!(_zend_fcall_info_cache))
13506    );
13507    assert_eq!(
13508        ::std::mem::align_of::<_zend_fcall_info_cache>(),
13509        8usize,
13510        concat!("Alignment of ", stringify!(_zend_fcall_info_cache))
13511    );
13512    assert_eq!(
13513        unsafe {
13514            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).initialized as *const _ as usize
13515        },
13516        0usize,
13517        concat!(
13518            "Offset of field: ",
13519            stringify!(_zend_fcall_info_cache),
13520            "::",
13521            stringify!(initialized)
13522        )
13523    );
13524    assert_eq!(
13525        unsafe {
13526            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).function_handler as *const _ as usize
13527        },
13528        8usize,
13529        concat!(
13530            "Offset of field: ",
13531            stringify!(_zend_fcall_info_cache),
13532            "::",
13533            stringify!(function_handler)
13534        )
13535    );
13536    assert_eq!(
13537        unsafe {
13538            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).calling_scope as *const _ as usize
13539        },
13540        16usize,
13541        concat!(
13542            "Offset of field: ",
13543            stringify!(_zend_fcall_info_cache),
13544            "::",
13545            stringify!(calling_scope)
13546        )
13547    );
13548    assert_eq!(
13549        unsafe {
13550            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).called_scope as *const _ as usize
13551        },
13552        24usize,
13553        concat!(
13554            "Offset of field: ",
13555            stringify!(_zend_fcall_info_cache),
13556            "::",
13557            stringify!(called_scope)
13558        )
13559    );
13560    assert_eq!(
13561        unsafe {
13562            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).object_ptr as *const _ as usize
13563        },
13564        32usize,
13565        concat!(
13566            "Offset of field: ",
13567            stringify!(_zend_fcall_info_cache),
13568            "::",
13569            stringify!(object_ptr)
13570        )
13571    );
13572}
13573pub type zend_fcall_info_cache = _zend_fcall_info_cache;
13574extern "C" {
13575    pub fn zend_next_free_module() -> ::std::os::raw::c_int;
13576}
13577extern "C" {
13578    pub fn zend_get_parameters(
13579        ht: ::std::os::raw::c_int,
13580        param_count: ::std::os::raw::c_int,
13581        ...
13582    ) -> ::std::os::raw::c_int;
13583}
13584extern "C" {
13585    pub fn _zend_get_parameters_array(
13586        ht: ::std::os::raw::c_int,
13587        param_count: ::std::os::raw::c_int,
13588        argument_array: *mut *mut zval,
13589    ) -> ::std::os::raw::c_int;
13590}
13591extern "C" {
13592    pub fn zend_get_parameters_ex(param_count: ::std::os::raw::c_int, ...)
13593        -> ::std::os::raw::c_int;
13594}
13595extern "C" {
13596    pub fn _zend_get_parameters_array_ex(
13597        param_count: ::std::os::raw::c_int,
13598        argument_array: *mut *mut *mut zval,
13599    ) -> ::std::os::raw::c_int;
13600}
13601extern "C" {
13602    pub fn zend_copy_parameters_array(
13603        param_count: ::std::os::raw::c_int,
13604        argument_array: *mut zval,
13605    ) -> ::std::os::raw::c_int;
13606}
13607extern "C" {
13608    pub fn zend_parse_parameters(
13609        num_args: ::std::os::raw::c_int,
13610        type_spec: *const ::std::os::raw::c_char,
13611        ...
13612    ) -> ::std::os::raw::c_int;
13613}
13614extern "C" {
13615    pub fn zend_parse_parameters_ex(
13616        flags: ::std::os::raw::c_int,
13617        num_args: ::std::os::raw::c_int,
13618        type_spec: *const ::std::os::raw::c_char,
13619        ...
13620    ) -> ::std::os::raw::c_int;
13621}
13622extern "C" {
13623    pub fn zend_zval_type_name(arg: *const zval) -> *mut ::std::os::raw::c_char;
13624}
13625extern "C" {
13626    pub fn zend_parse_method_parameters(
13627        num_args: ::std::os::raw::c_int,
13628        this_ptr: *mut zval,
13629        type_spec: *const ::std::os::raw::c_char,
13630        ...
13631    ) -> ::std::os::raw::c_int;
13632}
13633extern "C" {
13634    pub fn zend_parse_method_parameters_ex(
13635        flags: ::std::os::raw::c_int,
13636        num_args: ::std::os::raw::c_int,
13637        this_ptr: *mut zval,
13638        type_spec: *const ::std::os::raw::c_char,
13639        ...
13640    ) -> ::std::os::raw::c_int;
13641}
13642extern "C" {
13643    pub fn zend_register_functions(
13644        scope: *mut zend_class_entry,
13645        functions: *const zend_function_entry,
13646        function_table: *mut HashTable,
13647        type_: ::std::os::raw::c_int,
13648    ) -> ::std::os::raw::c_int;
13649}
13650extern "C" {
13651    pub fn zend_unregister_functions(
13652        functions: *const zend_function_entry,
13653        count: ::std::os::raw::c_int,
13654        function_table: *mut HashTable,
13655    );
13656}
13657extern "C" {
13658    pub fn zend_startup_module(module_entry: *mut zend_module_entry) -> ::std::os::raw::c_int;
13659}
13660extern "C" {
13661    pub fn zend_register_internal_module(
13662        module_entry: *mut zend_module_entry,
13663    ) -> *mut zend_module_entry;
13664}
13665extern "C" {
13666    pub fn zend_register_module_ex(module: *mut zend_module_entry) -> *mut zend_module_entry;
13667}
13668extern "C" {
13669    pub fn zend_startup_module_ex(module: *mut zend_module_entry) -> ::std::os::raw::c_int;
13670}
13671extern "C" {
13672    pub fn zend_startup_modules() -> ::std::os::raw::c_int;
13673}
13674extern "C" {
13675    pub fn zend_collect_module_handlers();
13676}
13677extern "C" {
13678    pub fn zend_destroy_modules();
13679}
13680extern "C" {
13681    pub fn zend_check_magic_method_implementation(
13682        ce: *const zend_class_entry,
13683        fptr: *const zend_function,
13684        error_type: ::std::os::raw::c_int,
13685    );
13686}
13687extern "C" {
13688    pub fn zend_register_internal_class(
13689        class_entry: *mut zend_class_entry,
13690    ) -> *mut zend_class_entry;
13691}
13692extern "C" {
13693    pub fn zend_register_internal_class_ex(
13694        class_entry: *mut zend_class_entry,
13695        parent_ce: *mut zend_class_entry,
13696        parent_name: *mut ::std::os::raw::c_char,
13697    ) -> *mut zend_class_entry;
13698}
13699extern "C" {
13700    pub fn zend_register_internal_interface(
13701        orig_class_entry: *mut zend_class_entry,
13702    ) -> *mut zend_class_entry;
13703}
13704extern "C" {
13705    pub fn zend_class_implements(
13706        class_entry: *mut zend_class_entry,
13707        num_interfaces: ::std::os::raw::c_int,
13708        ...
13709    );
13710}
13711extern "C" {
13712    pub fn zend_register_class_alias_ex(
13713        name: *const ::std::os::raw::c_char,
13714        name_len: ::std::os::raw::c_int,
13715        ce: *mut zend_class_entry,
13716    ) -> ::std::os::raw::c_int;
13717}
13718extern "C" {
13719    pub fn zend_disable_function(
13720        function_name: *mut ::std::os::raw::c_char,
13721        function_name_length: uint,
13722    ) -> ::std::os::raw::c_int;
13723}
13724extern "C" {
13725    pub fn zend_disable_class(
13726        class_name: *mut ::std::os::raw::c_char,
13727        class_name_length: uint,
13728    ) -> ::std::os::raw::c_int;
13729}
13730extern "C" {
13731    pub fn zend_wrong_param_count();
13732}
13733extern "C" {
13734    pub fn zend_is_callable_ex(
13735        callable: *mut zval,
13736        object_ptr: *mut zval,
13737        check_flags: uint,
13738        callable_name: *mut *mut ::std::os::raw::c_char,
13739        callable_name_len: *mut ::std::os::raw::c_int,
13740        fcc: *mut zend_fcall_info_cache,
13741        error: *mut *mut ::std::os::raw::c_char,
13742    ) -> zend_bool;
13743}
13744extern "C" {
13745    pub fn zend_is_callable(
13746        callable: *mut zval,
13747        check_flags: uint,
13748        callable_name: *mut *mut ::std::os::raw::c_char,
13749    ) -> zend_bool;
13750}
13751extern "C" {
13752    pub fn zend_make_callable(
13753        callable: *mut zval,
13754        callable_name: *mut *mut ::std::os::raw::c_char,
13755    ) -> zend_bool;
13756}
13757extern "C" {
13758    pub fn zend_get_module_version(
13759        module_name: *const ::std::os::raw::c_char,
13760    ) -> *const ::std::os::raw::c_char;
13761}
13762extern "C" {
13763    pub fn zend_get_module_started(
13764        module_name: *const ::std::os::raw::c_char,
13765    ) -> ::std::os::raw::c_int;
13766}
13767extern "C" {
13768    pub fn zend_declare_property(
13769        ce: *mut zend_class_entry,
13770        name: *const ::std::os::raw::c_char,
13771        name_length: ::std::os::raw::c_int,
13772        property: *mut zval,
13773        access_type: ::std::os::raw::c_int,
13774    ) -> ::std::os::raw::c_int;
13775}
13776extern "C" {
13777    pub fn zend_declare_property_ex(
13778        ce: *mut zend_class_entry,
13779        name: *const ::std::os::raw::c_char,
13780        name_length: ::std::os::raw::c_int,
13781        property: *mut zval,
13782        access_type: ::std::os::raw::c_int,
13783        doc_comment: *const ::std::os::raw::c_char,
13784        doc_comment_len: ::std::os::raw::c_int,
13785    ) -> ::std::os::raw::c_int;
13786}
13787extern "C" {
13788    pub fn zend_declare_property_null(
13789        ce: *mut zend_class_entry,
13790        name: *const ::std::os::raw::c_char,
13791        name_length: ::std::os::raw::c_int,
13792        access_type: ::std::os::raw::c_int,
13793    ) -> ::std::os::raw::c_int;
13794}
13795extern "C" {
13796    pub fn zend_declare_property_bool(
13797        ce: *mut zend_class_entry,
13798        name: *const ::std::os::raw::c_char,
13799        name_length: ::std::os::raw::c_int,
13800        value: ::std::os::raw::c_long,
13801        access_type: ::std::os::raw::c_int,
13802    ) -> ::std::os::raw::c_int;
13803}
13804extern "C" {
13805    pub fn zend_declare_property_long(
13806        ce: *mut zend_class_entry,
13807        name: *const ::std::os::raw::c_char,
13808        name_length: ::std::os::raw::c_int,
13809        value: ::std::os::raw::c_long,
13810        access_type: ::std::os::raw::c_int,
13811    ) -> ::std::os::raw::c_int;
13812}
13813extern "C" {
13814    pub fn zend_declare_property_double(
13815        ce: *mut zend_class_entry,
13816        name: *const ::std::os::raw::c_char,
13817        name_length: ::std::os::raw::c_int,
13818        value: f64,
13819        access_type: ::std::os::raw::c_int,
13820    ) -> ::std::os::raw::c_int;
13821}
13822extern "C" {
13823    pub fn zend_declare_property_string(
13824        ce: *mut zend_class_entry,
13825        name: *const ::std::os::raw::c_char,
13826        name_length: ::std::os::raw::c_int,
13827        value: *const ::std::os::raw::c_char,
13828        access_type: ::std::os::raw::c_int,
13829    ) -> ::std::os::raw::c_int;
13830}
13831extern "C" {
13832    pub fn zend_declare_property_stringl(
13833        ce: *mut zend_class_entry,
13834        name: *const ::std::os::raw::c_char,
13835        name_length: ::std::os::raw::c_int,
13836        value: *const ::std::os::raw::c_char,
13837        value_len: ::std::os::raw::c_int,
13838        access_type: ::std::os::raw::c_int,
13839    ) -> ::std::os::raw::c_int;
13840}
13841extern "C" {
13842    pub fn zend_declare_class_constant(
13843        ce: *mut zend_class_entry,
13844        name: *const ::std::os::raw::c_char,
13845        name_length: size_t,
13846        value: *mut zval,
13847    ) -> ::std::os::raw::c_int;
13848}
13849extern "C" {
13850    pub fn zend_declare_class_constant_null(
13851        ce: *mut zend_class_entry,
13852        name: *const ::std::os::raw::c_char,
13853        name_length: size_t,
13854    ) -> ::std::os::raw::c_int;
13855}
13856extern "C" {
13857    pub fn zend_declare_class_constant_long(
13858        ce: *mut zend_class_entry,
13859        name: *const ::std::os::raw::c_char,
13860        name_length: size_t,
13861        value: ::std::os::raw::c_long,
13862    ) -> ::std::os::raw::c_int;
13863}
13864extern "C" {
13865    pub fn zend_declare_class_constant_bool(
13866        ce: *mut zend_class_entry,
13867        name: *const ::std::os::raw::c_char,
13868        name_length: size_t,
13869        value: zend_bool,
13870    ) -> ::std::os::raw::c_int;
13871}
13872extern "C" {
13873    pub fn zend_declare_class_constant_double(
13874        ce: *mut zend_class_entry,
13875        name: *const ::std::os::raw::c_char,
13876        name_length: size_t,
13877        value: f64,
13878    ) -> ::std::os::raw::c_int;
13879}
13880extern "C" {
13881    pub fn zend_declare_class_constant_stringl(
13882        ce: *mut zend_class_entry,
13883        name: *const ::std::os::raw::c_char,
13884        name_length: size_t,
13885        value: *const ::std::os::raw::c_char,
13886        value_length: size_t,
13887    ) -> ::std::os::raw::c_int;
13888}
13889extern "C" {
13890    pub fn zend_declare_class_constant_string(
13891        ce: *mut zend_class_entry,
13892        name: *const ::std::os::raw::c_char,
13893        name_length: size_t,
13894        value: *const ::std::os::raw::c_char,
13895    ) -> ::std::os::raw::c_int;
13896}
13897extern "C" {
13898    pub fn zend_update_class_constants(class_type: *mut zend_class_entry);
13899}
13900extern "C" {
13901    pub fn zend_update_property(
13902        scope: *mut zend_class_entry,
13903        object: *mut zval,
13904        name: *const ::std::os::raw::c_char,
13905        name_length: ::std::os::raw::c_int,
13906        value: *mut zval,
13907    );
13908}
13909extern "C" {
13910    pub fn zend_update_property_null(
13911        scope: *mut zend_class_entry,
13912        object: *mut zval,
13913        name: *const ::std::os::raw::c_char,
13914        name_length: ::std::os::raw::c_int,
13915    );
13916}
13917extern "C" {
13918    pub fn zend_update_property_bool(
13919        scope: *mut zend_class_entry,
13920        object: *mut zval,
13921        name: *const ::std::os::raw::c_char,
13922        name_length: ::std::os::raw::c_int,
13923        value: ::std::os::raw::c_long,
13924    );
13925}
13926extern "C" {
13927    pub fn zend_update_property_long(
13928        scope: *mut zend_class_entry,
13929        object: *mut zval,
13930        name: *const ::std::os::raw::c_char,
13931        name_length: ::std::os::raw::c_int,
13932        value: ::std::os::raw::c_long,
13933    );
13934}
13935extern "C" {
13936    pub fn zend_update_property_double(
13937        scope: *mut zend_class_entry,
13938        object: *mut zval,
13939        name: *const ::std::os::raw::c_char,
13940        name_length: ::std::os::raw::c_int,
13941        value: f64,
13942    );
13943}
13944extern "C" {
13945    pub fn zend_update_property_string(
13946        scope: *mut zend_class_entry,
13947        object: *mut zval,
13948        name: *const ::std::os::raw::c_char,
13949        name_length: ::std::os::raw::c_int,
13950        value: *const ::std::os::raw::c_char,
13951    );
13952}
13953extern "C" {
13954    pub fn zend_update_property_stringl(
13955        scope: *mut zend_class_entry,
13956        object: *mut zval,
13957        name: *const ::std::os::raw::c_char,
13958        name_length: ::std::os::raw::c_int,
13959        value: *const ::std::os::raw::c_char,
13960        value_length: ::std::os::raw::c_int,
13961    );
13962}
13963extern "C" {
13964    pub fn zend_update_static_property(
13965        scope: *mut zend_class_entry,
13966        name: *const ::std::os::raw::c_char,
13967        name_length: ::std::os::raw::c_int,
13968        value: *mut zval,
13969    ) -> ::std::os::raw::c_int;
13970}
13971extern "C" {
13972    pub fn zend_update_static_property_null(
13973        scope: *mut zend_class_entry,
13974        name: *const ::std::os::raw::c_char,
13975        name_length: ::std::os::raw::c_int,
13976    ) -> ::std::os::raw::c_int;
13977}
13978extern "C" {
13979    pub fn zend_update_static_property_bool(
13980        scope: *mut zend_class_entry,
13981        name: *const ::std::os::raw::c_char,
13982        name_length: ::std::os::raw::c_int,
13983        value: ::std::os::raw::c_long,
13984    ) -> ::std::os::raw::c_int;
13985}
13986extern "C" {
13987    pub fn zend_update_static_property_long(
13988        scope: *mut zend_class_entry,
13989        name: *const ::std::os::raw::c_char,
13990        name_length: ::std::os::raw::c_int,
13991        value: ::std::os::raw::c_long,
13992    ) -> ::std::os::raw::c_int;
13993}
13994extern "C" {
13995    pub fn zend_update_static_property_double(
13996        scope: *mut zend_class_entry,
13997        name: *const ::std::os::raw::c_char,
13998        name_length: ::std::os::raw::c_int,
13999        value: f64,
14000    ) -> ::std::os::raw::c_int;
14001}
14002extern "C" {
14003    pub fn zend_update_static_property_string(
14004        scope: *mut zend_class_entry,
14005        name: *const ::std::os::raw::c_char,
14006        name_length: ::std::os::raw::c_int,
14007        value: *const ::std::os::raw::c_char,
14008    ) -> ::std::os::raw::c_int;
14009}
14010extern "C" {
14011    pub fn zend_update_static_property_stringl(
14012        scope: *mut zend_class_entry,
14013        name: *const ::std::os::raw::c_char,
14014        name_length: ::std::os::raw::c_int,
14015        value: *const ::std::os::raw::c_char,
14016        value_length: ::std::os::raw::c_int,
14017    ) -> ::std::os::raw::c_int;
14018}
14019extern "C" {
14020    pub fn zend_read_property(
14021        scope: *mut zend_class_entry,
14022        object: *mut zval,
14023        name: *const ::std::os::raw::c_char,
14024        name_length: ::std::os::raw::c_int,
14025        silent: zend_bool,
14026    ) -> *mut zval;
14027}
14028extern "C" {
14029    pub fn zend_read_static_property(
14030        scope: *mut zend_class_entry,
14031        name: *const ::std::os::raw::c_char,
14032        name_length: ::std::os::raw::c_int,
14033        silent: zend_bool,
14034    ) -> *mut zval;
14035}
14036extern "C" {
14037    pub fn zend_get_class_entry(zobject: *const zval) -> *mut zend_class_entry;
14038}
14039extern "C" {
14040    pub fn zend_get_object_classname(
14041        object: *const zval,
14042        class_name: *mut *const ::std::os::raw::c_char,
14043        class_name_len: *mut zend_uint,
14044    ) -> ::std::os::raw::c_int;
14045}
14046extern "C" {
14047    pub fn zend_get_type_by_const(type_: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
14048}
14049extern "C" {
14050    pub fn zend_merge_properties(
14051        obj: *mut zval,
14052        properties: *mut HashTable,
14053        destroy_ht: ::std::os::raw::c_int,
14054    );
14055}
14056extern "C" {
14057    pub static empty_fcall_info: zend_fcall_info;
14058}
14059extern "C" {
14060    pub static empty_fcall_info_cache: zend_fcall_info_cache;
14061}
14062extern "C" {
14063    #[doc = " Build zend_call_info/cache from a zval*"]
14064    #[doc = ""]
14065    #[doc = " Caller is responsible to provide a return value, otherwise the we will crash."]
14066    #[doc = " fci->retval_ptr_ptr = NULL;"]
14067    #[doc = " In order to pass parameters the following members need to be set:"]
14068    #[doc = " fci->param_count = 0;"]
14069    #[doc = " fci->params = NULL;"]
14070    #[doc = " The callable_name argument may be NULL."]
14071    #[doc = " Set check_flags to IS_CALLABLE_STRICT for every new usage!"]
14072    pub fn zend_fcall_info_init(
14073        callable: *mut zval,
14074        check_flags: uint,
14075        fci: *mut zend_fcall_info,
14076        fcc: *mut zend_fcall_info_cache,
14077        callable_name: *mut *mut ::std::os::raw::c_char,
14078        error: *mut *mut ::std::os::raw::c_char,
14079    ) -> ::std::os::raw::c_int;
14080}
14081extern "C" {
14082    #[doc = " Clear arguments connected with zend_fcall_info *fci"]
14083    #[doc = " If free_mem is not zero then the params array gets free'd as well"]
14084    pub fn zend_fcall_info_args_clear(fci: *mut zend_fcall_info, free_mem: ::std::os::raw::c_int);
14085}
14086extern "C" {
14087    #[doc = " Save current arguments from zend_fcall_info *fci"]
14088    #[doc = " params array will be set to NULL"]
14089    pub fn zend_fcall_info_args_save(
14090        fci: *mut zend_fcall_info,
14091        param_count: *mut ::std::os::raw::c_int,
14092        params: *mut *mut *mut *mut zval,
14093    );
14094}
14095extern "C" {
14096    #[doc = " Free arguments connected with zend_fcall_info *fci andset back saved ones."]
14097    pub fn zend_fcall_info_args_restore(
14098        fci: *mut zend_fcall_info,
14099        param_count: ::std::os::raw::c_int,
14100        params: *mut *mut *mut zval,
14101    );
14102}
14103extern "C" {
14104    #[doc = " Set or clear the arguments in the zend_call_info struct taking care of"]
14105    #[doc = " refcount. If args is NULL and arguments are set then those are cleared."]
14106    pub fn zend_fcall_info_args(
14107        fci: *mut zend_fcall_info,
14108        args: *mut zval,
14109    ) -> ::std::os::raw::c_int;
14110}
14111extern "C" {
14112    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
14113    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
14114    #[doc = " a variable amount of zval** arguments."]
14115    pub fn zend_fcall_info_argp(
14116        fci: *mut zend_fcall_info,
14117        argc: ::std::os::raw::c_int,
14118        argv: *mut *mut *mut zval,
14119    ) -> ::std::os::raw::c_int;
14120}
14121extern "C" {
14122    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
14123    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
14124    #[doc = " a variable amount of zval** arguments."]
14125    pub fn zend_fcall_info_argv(
14126        fci: *mut zend_fcall_info,
14127        argc: ::std::os::raw::c_int,
14128        argv: *mut va_list,
14129    ) -> ::std::os::raw::c_int;
14130}
14131extern "C" {
14132    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
14133    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
14134    #[doc = " a variable amount of zval** arguments."]
14135    pub fn zend_fcall_info_argn(
14136        fci: *mut zend_fcall_info,
14137        argc: ::std::os::raw::c_int,
14138        ...
14139    ) -> ::std::os::raw::c_int;
14140}
14141extern "C" {
14142    #[doc = " Call a function using information created by zend_fcall_info_init()/args()."]
14143    #[doc = " If args is given then those replace the argument info in fci is temporarily."]
14144    pub fn zend_fcall_info_call(
14145        fci: *mut zend_fcall_info,
14146        fcc: *mut zend_fcall_info_cache,
14147        retval: *mut *mut zval,
14148        args: *mut zval,
14149    ) -> ::std::os::raw::c_int;
14150}
14151extern "C" {
14152    pub fn zend_call_function(
14153        fci: *mut zend_fcall_info,
14154        fci_cache: *mut zend_fcall_info_cache,
14155    ) -> ::std::os::raw::c_int;
14156}
14157extern "C" {
14158    pub fn zend_set_hash_symbol(
14159        symbol: *mut zval,
14160        name: *const ::std::os::raw::c_char,
14161        name_length: ::std::os::raw::c_int,
14162        is_ref: zend_bool,
14163        num_symbol_tables: ::std::os::raw::c_int,
14164        ...
14165    ) -> ::std::os::raw::c_int;
14166}
14167extern "C" {
14168    pub fn zend_delete_variable(
14169        ex: *mut zend_execute_data,
14170        ht: *mut HashTable,
14171        name: *const ::std::os::raw::c_char,
14172        name_len: ::std::os::raw::c_int,
14173        hash_value: ulong,
14174    );
14175}
14176extern "C" {
14177    pub fn zend_delete_global_variable(
14178        name: *const ::std::os::raw::c_char,
14179        name_len: ::std::os::raw::c_int,
14180    ) -> ::std::os::raw::c_int;
14181}
14182extern "C" {
14183    pub fn zend_delete_global_variable_ex(
14184        name: *const ::std::os::raw::c_char,
14185        name_len: ::std::os::raw::c_int,
14186        hash_value: ulong,
14187    ) -> ::std::os::raw::c_int;
14188}
14189extern "C" {
14190    pub fn zend_reset_all_cv(symbol_table: *mut HashTable);
14191}
14192extern "C" {
14193    pub fn zend_rebuild_symbol_table();
14194}
14195extern "C" {
14196    pub fn zend_find_alias_name(
14197        ce: *mut zend_class_entry,
14198        name: *const ::std::os::raw::c_char,
14199        len: zend_uint,
14200    ) -> *const ::std::os::raw::c_char;
14201}
14202extern "C" {
14203    pub fn zend_resolve_method_name(
14204        ce: *mut zend_class_entry,
14205        f: *mut zend_function,
14206    ) -> *const ::std::os::raw::c_char;
14207}
14208extern "C" {
14209    pub fn php_strlcpy(
14210        dst: *mut ::std::os::raw::c_char,
14211        src: *const ::std::os::raw::c_char,
14212        siz: size_t,
14213    ) -> size_t;
14214}
14215extern "C" {
14216    pub fn php_strlcat(
14217        dst: *mut ::std::os::raw::c_char,
14218        src: *const ::std::os::raw::c_char,
14219        siz: size_t,
14220    ) -> size_t;
14221}
14222pub type socklen_t = __socklen_t;
14223pub type bool_int = ::std::os::raw::c_int;
14224pub const boolean_e_NO: boolean_e = 0;
14225pub const boolean_e_YES: boolean_e = 1;
14226pub type boolean_e = ::std::os::raw::c_uint;
14227extern "C" {
14228    pub fn php_sprintf(
14229        s: *mut ::std::os::raw::c_char,
14230        format: *const ::std::os::raw::c_char,
14231        ...
14232    ) -> ::std::os::raw::c_int;
14233}
14234extern "C" {
14235    pub fn php_gcvt(
14236        value: f64,
14237        ndigit: ::std::os::raw::c_int,
14238        dec_point: ::std::os::raw::c_char,
14239        exponent: ::std::os::raw::c_char,
14240        buf: *mut ::std::os::raw::c_char,
14241    ) -> *mut ::std::os::raw::c_char;
14242}
14243extern "C" {
14244    pub fn php_conv_fp(
14245        format: ::std::os::raw::c_char,
14246        num: f64,
14247        add_dp: boolean_e,
14248        precision: ::std::os::raw::c_int,
14249        dec_point: ::std::os::raw::c_char,
14250        is_negative: *mut bool_int,
14251        buf: *mut ::std::os::raw::c_char,
14252        len: *mut ::std::os::raw::c_int,
14253    ) -> *mut ::std::os::raw::c_char;
14254}
14255extern "C" {
14256    pub fn php_write(buf: *mut ::std::os::raw::c_void, size: uint) -> ::std::os::raw::c_int;
14257}
14258extern "C" {
14259    pub fn php_printf(format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
14260}
14261extern "C" {
14262    pub fn php_get_module_initialized() -> ::std::os::raw::c_int;
14263}
14264extern "C" {
14265    pub fn php_log_err(log_message: *mut ::std::os::raw::c_char);
14266}
14267extern "C" {
14268    pub fn php_verror(
14269        docref: *const ::std::os::raw::c_char,
14270        params: *const ::std::os::raw::c_char,
14271        type_: ::std::os::raw::c_int,
14272        format: *const ::std::os::raw::c_char,
14273        args: *mut __va_list_tag,
14274    );
14275}
14276extern "C" {
14277    pub fn php_error_docref0(
14278        docref: *const ::std::os::raw::c_char,
14279        type_: ::std::os::raw::c_int,
14280        format: *const ::std::os::raw::c_char,
14281        ...
14282    );
14283}
14284extern "C" {
14285    pub fn php_error_docref1(
14286        docref: *const ::std::os::raw::c_char,
14287        param1: *const ::std::os::raw::c_char,
14288        type_: ::std::os::raw::c_int,
14289        format: *const ::std::os::raw::c_char,
14290        ...
14291    );
14292}
14293extern "C" {
14294    pub fn php_error_docref2(
14295        docref: *const ::std::os::raw::c_char,
14296        param1: *const ::std::os::raw::c_char,
14297        param2: *const ::std::os::raw::c_char,
14298        type_: ::std::os::raw::c_int,
14299        format: *const ::std::os::raw::c_char,
14300        ...
14301    );
14302}
14303extern "C" {
14304    pub static mut php_register_internal_extensions_func:
14305        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
14306}
14307extern "C" {
14308    pub fn php_register_internal_extensions() -> ::std::os::raw::c_int;
14309}
14310extern "C" {
14311    pub fn php_mergesort(
14312        base: *mut ::std::os::raw::c_void,
14313        nmemb: size_t,
14314        size: size_t,
14315        cmp: ::std::option::Option<
14316            unsafe extern "C" fn(
14317                arg1: *const ::std::os::raw::c_void,
14318                arg2: *const ::std::os::raw::c_void,
14319            ) -> ::std::os::raw::c_int,
14320        >,
14321    ) -> ::std::os::raw::c_int;
14322}
14323extern "C" {
14324    pub fn php_register_pre_request_shutdown(
14325        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
14326        userdata: *mut ::std::os::raw::c_void,
14327    );
14328}
14329extern "C" {
14330    pub fn php_com_initialize();
14331}
14332extern "C" {
14333    pub fn php_get_current_user() -> *mut ::std::os::raw::c_char;
14334}
14335pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ: _php_output_handler_hook_t =
14336    0;
14337pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_FLAGS: _php_output_handler_hook_t =
14338    1;
14339pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_LEVEL: _php_output_handler_hook_t =
14340    2;
14341pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE: _php_output_handler_hook_t =
14342    3;
14343pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_DISABLE: _php_output_handler_hook_t =
14344    4;
14345pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_LAST: _php_output_handler_hook_t = 5;
14346pub type _php_output_handler_hook_t = ::std::os::raw::c_uint;
14347pub use self::_php_output_handler_hook_t as php_output_handler_hook_t;
14348#[repr(C)]
14349#[derive(Debug, Copy, Clone)]
14350pub struct _php_output_buffer {
14351    pub data: *mut ::std::os::raw::c_char,
14352    pub size: size_t,
14353    pub used: size_t,
14354    pub _bitfield_align_1: [u32; 0],
14355    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14356    pub __bindgen_padding_0: u32,
14357}
14358#[test]
14359fn bindgen_test_layout__php_output_buffer() {
14360    assert_eq!(
14361        ::std::mem::size_of::<_php_output_buffer>(),
14362        32usize,
14363        concat!("Size of: ", stringify!(_php_output_buffer))
14364    );
14365    assert_eq!(
14366        ::std::mem::align_of::<_php_output_buffer>(),
14367        8usize,
14368        concat!("Alignment of ", stringify!(_php_output_buffer))
14369    );
14370    assert_eq!(
14371        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).data as *const _ as usize },
14372        0usize,
14373        concat!(
14374            "Offset of field: ",
14375            stringify!(_php_output_buffer),
14376            "::",
14377            stringify!(data)
14378        )
14379    );
14380    assert_eq!(
14381        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).size as *const _ as usize },
14382        8usize,
14383        concat!(
14384            "Offset of field: ",
14385            stringify!(_php_output_buffer),
14386            "::",
14387            stringify!(size)
14388        )
14389    );
14390    assert_eq!(
14391        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).used as *const _ as usize },
14392        16usize,
14393        concat!(
14394            "Offset of field: ",
14395            stringify!(_php_output_buffer),
14396            "::",
14397            stringify!(used)
14398        )
14399    );
14400}
14401impl _php_output_buffer {
14402    #[inline]
14403    pub fn free(&self) -> uint {
14404        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14405    }
14406    #[inline]
14407    pub fn set_free(&mut self, val: uint) {
14408        unsafe {
14409            let val: u32 = ::std::mem::transmute(val);
14410            self._bitfield_1.set(0usize, 1u8, val as u64)
14411        }
14412    }
14413    #[inline]
14414    pub fn _res(&self) -> uint {
14415        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
14416    }
14417    #[inline]
14418    pub fn set__res(&mut self, val: uint) {
14419        unsafe {
14420            let val: u32 = ::std::mem::transmute(val);
14421            self._bitfield_1.set(1usize, 31u8, val as u64)
14422        }
14423    }
14424    #[inline]
14425    pub fn new_bitfield_1(free: uint, _res: uint) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14426        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14427        __bindgen_bitfield_unit.set(0usize, 1u8, {
14428            let free: u32 = unsafe { ::std::mem::transmute(free) };
14429            free as u64
14430        });
14431        __bindgen_bitfield_unit.set(1usize, 31u8, {
14432            let _res: u32 = unsafe { ::std::mem::transmute(_res) };
14433            _res as u64
14434        });
14435        __bindgen_bitfield_unit
14436    }
14437}
14438pub type php_output_buffer = _php_output_buffer;
14439#[repr(C)]
14440#[derive(Debug, Copy, Clone)]
14441pub struct _php_output_context {
14442    pub op: ::std::os::raw::c_int,
14443    pub in_: php_output_buffer,
14444    pub out: php_output_buffer,
14445}
14446#[test]
14447fn bindgen_test_layout__php_output_context() {
14448    assert_eq!(
14449        ::std::mem::size_of::<_php_output_context>(),
14450        72usize,
14451        concat!("Size of: ", stringify!(_php_output_context))
14452    );
14453    assert_eq!(
14454        ::std::mem::align_of::<_php_output_context>(),
14455        8usize,
14456        concat!("Alignment of ", stringify!(_php_output_context))
14457    );
14458    assert_eq!(
14459        unsafe { &(*(::std::ptr::null::<_php_output_context>())).op as *const _ as usize },
14460        0usize,
14461        concat!(
14462            "Offset of field: ",
14463            stringify!(_php_output_context),
14464            "::",
14465            stringify!(op)
14466        )
14467    );
14468    assert_eq!(
14469        unsafe { &(*(::std::ptr::null::<_php_output_context>())).in_ as *const _ as usize },
14470        8usize,
14471        concat!(
14472            "Offset of field: ",
14473            stringify!(_php_output_context),
14474            "::",
14475            stringify!(in_)
14476        )
14477    );
14478    assert_eq!(
14479        unsafe { &(*(::std::ptr::null::<_php_output_context>())).out as *const _ as usize },
14480        40usize,
14481        concat!(
14482            "Offset of field: ",
14483            stringify!(_php_output_context),
14484            "::",
14485            stringify!(out)
14486        )
14487    );
14488}
14489pub type php_output_context = _php_output_context;
14490pub type php_output_handler_func_t = ::std::option::Option<
14491    unsafe extern "C" fn(
14492        output: *mut ::std::os::raw::c_char,
14493        output_len: uint,
14494        handled_output: *mut *mut ::std::os::raw::c_char,
14495        handled_output_len: *mut uint,
14496        mode: ::std::os::raw::c_int,
14497    ),
14498>;
14499pub type php_output_handler_context_func_t = ::std::option::Option<
14500    unsafe extern "C" fn(
14501        handler_context: *mut *mut ::std::os::raw::c_void,
14502        output_context: *mut php_output_context,
14503    ) -> ::std::os::raw::c_int,
14504>;
14505pub type php_output_handler_conflict_check_t = ::std::option::Option<
14506    unsafe extern "C" fn(
14507        handler_name: *const ::std::os::raw::c_char,
14508        handler_name_len: size_t,
14509    ) -> ::std::os::raw::c_int,
14510>;
14511pub type php_output_handler_alias_ctor_t = ::std::option::Option<
14512    unsafe extern "C" fn(
14513        handler_name: *const ::std::os::raw::c_char,
14514        handler_name_len: size_t,
14515        chunk_size: size_t,
14516        flags: ::std::os::raw::c_int,
14517    ) -> *mut _php_output_handler,
14518>;
14519#[repr(C)]
14520#[derive(Debug, Copy, Clone)]
14521pub struct _php_output_handler_user_func_t {
14522    pub fci: zend_fcall_info,
14523    pub fcc: zend_fcall_info_cache,
14524    pub zoh: *mut zval,
14525}
14526#[test]
14527fn bindgen_test_layout__php_output_handler_user_func_t() {
14528    assert_eq!(
14529        ::std::mem::size_of::<_php_output_handler_user_func_t>(),
14530        120usize,
14531        concat!("Size of: ", stringify!(_php_output_handler_user_func_t))
14532    );
14533    assert_eq!(
14534        ::std::mem::align_of::<_php_output_handler_user_func_t>(),
14535        8usize,
14536        concat!("Alignment of ", stringify!(_php_output_handler_user_func_t))
14537    );
14538    assert_eq!(
14539        unsafe {
14540            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).fci as *const _ as usize
14541        },
14542        0usize,
14543        concat!(
14544            "Offset of field: ",
14545            stringify!(_php_output_handler_user_func_t),
14546            "::",
14547            stringify!(fci)
14548        )
14549    );
14550    assert_eq!(
14551        unsafe {
14552            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).fcc as *const _ as usize
14553        },
14554        72usize,
14555        concat!(
14556            "Offset of field: ",
14557            stringify!(_php_output_handler_user_func_t),
14558            "::",
14559            stringify!(fcc)
14560        )
14561    );
14562    assert_eq!(
14563        unsafe {
14564            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).zoh as *const _ as usize
14565        },
14566        112usize,
14567        concat!(
14568            "Offset of field: ",
14569            stringify!(_php_output_handler_user_func_t),
14570            "::",
14571            stringify!(zoh)
14572        )
14573    );
14574}
14575pub type php_output_handler_user_func_t = _php_output_handler_user_func_t;
14576#[repr(C)]
14577#[derive(Copy, Clone)]
14578pub struct _php_output_handler {
14579    pub name: *mut ::std::os::raw::c_char,
14580    pub name_len: size_t,
14581    pub flags: ::std::os::raw::c_int,
14582    pub level: ::std::os::raw::c_int,
14583    pub size: size_t,
14584    pub buffer: php_output_buffer,
14585    pub opaq: *mut ::std::os::raw::c_void,
14586    pub dtor: ::std::option::Option<unsafe extern "C" fn(opaq: *mut ::std::os::raw::c_void)>,
14587    pub func: _php_output_handler__bindgen_ty_1,
14588}
14589#[repr(C)]
14590#[derive(Copy, Clone)]
14591pub union _php_output_handler__bindgen_ty_1 {
14592    pub user: *mut php_output_handler_user_func_t,
14593    pub internal: php_output_handler_context_func_t,
14594    _bindgen_union_align: u64,
14595}
14596#[test]
14597fn bindgen_test_layout__php_output_handler__bindgen_ty_1() {
14598    assert_eq!(
14599        ::std::mem::size_of::<_php_output_handler__bindgen_ty_1>(),
14600        8usize,
14601        concat!("Size of: ", stringify!(_php_output_handler__bindgen_ty_1))
14602    );
14603    assert_eq!(
14604        ::std::mem::align_of::<_php_output_handler__bindgen_ty_1>(),
14605        8usize,
14606        concat!(
14607            "Alignment of ",
14608            stringify!(_php_output_handler__bindgen_ty_1)
14609        )
14610    );
14611    assert_eq!(
14612        unsafe {
14613            &(*(::std::ptr::null::<_php_output_handler__bindgen_ty_1>())).user as *const _ as usize
14614        },
14615        0usize,
14616        concat!(
14617            "Offset of field: ",
14618            stringify!(_php_output_handler__bindgen_ty_1),
14619            "::",
14620            stringify!(user)
14621        )
14622    );
14623    assert_eq!(
14624        unsafe {
14625            &(*(::std::ptr::null::<_php_output_handler__bindgen_ty_1>())).internal as *const _
14626                as usize
14627        },
14628        0usize,
14629        concat!(
14630            "Offset of field: ",
14631            stringify!(_php_output_handler__bindgen_ty_1),
14632            "::",
14633            stringify!(internal)
14634        )
14635    );
14636}
14637#[test]
14638fn bindgen_test_layout__php_output_handler() {
14639    assert_eq!(
14640        ::std::mem::size_of::<_php_output_handler>(),
14641        88usize,
14642        concat!("Size of: ", stringify!(_php_output_handler))
14643    );
14644    assert_eq!(
14645        ::std::mem::align_of::<_php_output_handler>(),
14646        8usize,
14647        concat!("Alignment of ", stringify!(_php_output_handler))
14648    );
14649    assert_eq!(
14650        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).name as *const _ as usize },
14651        0usize,
14652        concat!(
14653            "Offset of field: ",
14654            stringify!(_php_output_handler),
14655            "::",
14656            stringify!(name)
14657        )
14658    );
14659    assert_eq!(
14660        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).name_len as *const _ as usize },
14661        8usize,
14662        concat!(
14663            "Offset of field: ",
14664            stringify!(_php_output_handler),
14665            "::",
14666            stringify!(name_len)
14667        )
14668    );
14669    assert_eq!(
14670        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).flags as *const _ as usize },
14671        16usize,
14672        concat!(
14673            "Offset of field: ",
14674            stringify!(_php_output_handler),
14675            "::",
14676            stringify!(flags)
14677        )
14678    );
14679    assert_eq!(
14680        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).level as *const _ as usize },
14681        20usize,
14682        concat!(
14683            "Offset of field: ",
14684            stringify!(_php_output_handler),
14685            "::",
14686            stringify!(level)
14687        )
14688    );
14689    assert_eq!(
14690        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).size as *const _ as usize },
14691        24usize,
14692        concat!(
14693            "Offset of field: ",
14694            stringify!(_php_output_handler),
14695            "::",
14696            stringify!(size)
14697        )
14698    );
14699    assert_eq!(
14700        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).buffer as *const _ as usize },
14701        32usize,
14702        concat!(
14703            "Offset of field: ",
14704            stringify!(_php_output_handler),
14705            "::",
14706            stringify!(buffer)
14707        )
14708    );
14709    assert_eq!(
14710        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).opaq as *const _ as usize },
14711        64usize,
14712        concat!(
14713            "Offset of field: ",
14714            stringify!(_php_output_handler),
14715            "::",
14716            stringify!(opaq)
14717        )
14718    );
14719    assert_eq!(
14720        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).dtor as *const _ as usize },
14721        72usize,
14722        concat!(
14723            "Offset of field: ",
14724            stringify!(_php_output_handler),
14725            "::",
14726            stringify!(dtor)
14727        )
14728    );
14729    assert_eq!(
14730        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).func as *const _ as usize },
14731        80usize,
14732        concat!(
14733            "Offset of field: ",
14734            stringify!(_php_output_handler),
14735            "::",
14736            stringify!(func)
14737        )
14738    );
14739}
14740pub type php_output_handler = _php_output_handler;
14741#[repr(C)]
14742#[derive(Debug, Copy, Clone)]
14743pub struct _zend_output_globals {
14744    pub flags: ::std::os::raw::c_int,
14745    pub handlers: zend_stack,
14746    pub active: *mut php_output_handler,
14747    pub running: *mut php_output_handler,
14748    pub output_start_filename: *const ::std::os::raw::c_char,
14749    pub output_start_lineno: ::std::os::raw::c_int,
14750}
14751#[test]
14752fn bindgen_test_layout__zend_output_globals() {
14753    assert_eq!(
14754        ::std::mem::size_of::<_zend_output_globals>(),
14755        56usize,
14756        concat!("Size of: ", stringify!(_zend_output_globals))
14757    );
14758    assert_eq!(
14759        ::std::mem::align_of::<_zend_output_globals>(),
14760        8usize,
14761        concat!("Alignment of ", stringify!(_zend_output_globals))
14762    );
14763    assert_eq!(
14764        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).flags as *const _ as usize },
14765        0usize,
14766        concat!(
14767            "Offset of field: ",
14768            stringify!(_zend_output_globals),
14769            "::",
14770            stringify!(flags)
14771        )
14772    );
14773    assert_eq!(
14774        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).handlers as *const _ as usize },
14775        8usize,
14776        concat!(
14777            "Offset of field: ",
14778            stringify!(_zend_output_globals),
14779            "::",
14780            stringify!(handlers)
14781        )
14782    );
14783    assert_eq!(
14784        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).active as *const _ as usize },
14785        24usize,
14786        concat!(
14787            "Offset of field: ",
14788            stringify!(_zend_output_globals),
14789            "::",
14790            stringify!(active)
14791        )
14792    );
14793    assert_eq!(
14794        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).running as *const _ as usize },
14795        32usize,
14796        concat!(
14797            "Offset of field: ",
14798            stringify!(_zend_output_globals),
14799            "::",
14800            stringify!(running)
14801        )
14802    );
14803    assert_eq!(
14804        unsafe {
14805            &(*(::std::ptr::null::<_zend_output_globals>())).output_start_filename as *const _
14806                as usize
14807        },
14808        40usize,
14809        concat!(
14810            "Offset of field: ",
14811            stringify!(_zend_output_globals),
14812            "::",
14813            stringify!(output_start_filename)
14814        )
14815    );
14816    assert_eq!(
14817        unsafe {
14818            &(*(::std::ptr::null::<_zend_output_globals>())).output_start_lineno as *const _
14819                as usize
14820        },
14821        48usize,
14822        concat!(
14823            "Offset of field: ",
14824            stringify!(_zend_output_globals),
14825            "::",
14826            stringify!(output_start_lineno)
14827        )
14828    );
14829}
14830pub type zend_output_globals = _zend_output_globals;
14831extern "C" {
14832    pub static php_output_default_handler_name: [::std::os::raw::c_char; 23usize];
14833}
14834extern "C" {
14835    pub static php_output_devnull_handler_name: [::std::os::raw::c_char; 20usize];
14836}
14837extern "C" {
14838    pub fn php_output_startup();
14839}
14840extern "C" {
14841    pub fn php_output_shutdown();
14842}
14843extern "C" {
14844    pub fn php_output_register_constants();
14845}
14846extern "C" {
14847    pub fn php_output_activate() -> ::std::os::raw::c_int;
14848}
14849extern "C" {
14850    pub fn php_output_deactivate();
14851}
14852extern "C" {
14853    pub fn php_output_set_status(status: ::std::os::raw::c_int);
14854}
14855extern "C" {
14856    pub fn php_output_get_status() -> ::std::os::raw::c_int;
14857}
14858extern "C" {
14859    pub fn php_output_set_implicit_flush(flush: ::std::os::raw::c_int);
14860}
14861extern "C" {
14862    pub fn php_output_get_start_filename() -> *const ::std::os::raw::c_char;
14863}
14864extern "C" {
14865    pub fn php_output_get_start_lineno() -> ::std::os::raw::c_int;
14866}
14867extern "C" {
14868    pub fn php_output_write_unbuffered(
14869        str_: *const ::std::os::raw::c_char,
14870        len: size_t,
14871    ) -> ::std::os::raw::c_int;
14872}
14873extern "C" {
14874    pub fn php_output_write(
14875        str_: *const ::std::os::raw::c_char,
14876        len: size_t,
14877    ) -> ::std::os::raw::c_int;
14878}
14879extern "C" {
14880    pub fn php_output_flush() -> ::std::os::raw::c_int;
14881}
14882extern "C" {
14883    pub fn php_output_flush_all();
14884}
14885extern "C" {
14886    pub fn php_output_clean() -> ::std::os::raw::c_int;
14887}
14888extern "C" {
14889    pub fn php_output_clean_all();
14890}
14891extern "C" {
14892    pub fn php_output_end() -> ::std::os::raw::c_int;
14893}
14894extern "C" {
14895    pub fn php_output_end_all();
14896}
14897extern "C" {
14898    pub fn php_output_discard() -> ::std::os::raw::c_int;
14899}
14900extern "C" {
14901    pub fn php_output_discard_all();
14902}
14903extern "C" {
14904    pub fn php_output_get_contents(p: *mut zval) -> ::std::os::raw::c_int;
14905}
14906extern "C" {
14907    pub fn php_output_get_length(p: *mut zval) -> ::std::os::raw::c_int;
14908}
14909extern "C" {
14910    pub fn php_output_get_level() -> ::std::os::raw::c_int;
14911}
14912extern "C" {
14913    pub fn php_output_get_active_handler() -> *mut php_output_handler;
14914}
14915extern "C" {
14916    pub fn php_output_start_default() -> ::std::os::raw::c_int;
14917}
14918extern "C" {
14919    pub fn php_output_start_devnull() -> ::std::os::raw::c_int;
14920}
14921extern "C" {
14922    pub fn php_output_start_user(
14923        output_handler: *mut zval,
14924        chunk_size: size_t,
14925        flags: ::std::os::raw::c_int,
14926    ) -> ::std::os::raw::c_int;
14927}
14928extern "C" {
14929    pub fn php_output_start_internal(
14930        name: *const ::std::os::raw::c_char,
14931        name_len: size_t,
14932        output_handler: php_output_handler_func_t,
14933        chunk_size: size_t,
14934        flags: ::std::os::raw::c_int,
14935    ) -> ::std::os::raw::c_int;
14936}
14937extern "C" {
14938    pub fn php_output_handler_create_user(
14939        handler: *mut zval,
14940        chunk_size: size_t,
14941        flags: ::std::os::raw::c_int,
14942    ) -> *mut php_output_handler;
14943}
14944extern "C" {
14945    pub fn php_output_handler_create_internal(
14946        name: *const ::std::os::raw::c_char,
14947        name_len: size_t,
14948        handler: php_output_handler_context_func_t,
14949        chunk_size: size_t,
14950        flags: ::std::os::raw::c_int,
14951    ) -> *mut php_output_handler;
14952}
14953extern "C" {
14954    pub fn php_output_handler_set_context(
14955        handler: *mut php_output_handler,
14956        opaq: *mut ::std::os::raw::c_void,
14957        dtor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
14958    );
14959}
14960extern "C" {
14961    pub fn php_output_handler_start(handler: *mut php_output_handler) -> ::std::os::raw::c_int;
14962}
14963extern "C" {
14964    pub fn php_output_handler_started(
14965        name: *const ::std::os::raw::c_char,
14966        name_len: size_t,
14967    ) -> ::std::os::raw::c_int;
14968}
14969extern "C" {
14970    pub fn php_output_handler_hook(
14971        type_: php_output_handler_hook_t,
14972        arg: *mut ::std::os::raw::c_void,
14973    ) -> ::std::os::raw::c_int;
14974}
14975extern "C" {
14976    pub fn php_output_handler_dtor(handler: *mut php_output_handler);
14977}
14978extern "C" {
14979    pub fn php_output_handler_free(handler: *mut *mut php_output_handler);
14980}
14981extern "C" {
14982    pub fn php_output_handler_conflict(
14983        handler_new: *const ::std::os::raw::c_char,
14984        handler_new_len: size_t,
14985        handler_set: *const ::std::os::raw::c_char,
14986        handler_set_len: size_t,
14987    ) -> ::std::os::raw::c_int;
14988}
14989extern "C" {
14990    pub fn php_output_handler_conflict_register(
14991        handler_name: *const ::std::os::raw::c_char,
14992        handler_name_len: size_t,
14993        check_func: php_output_handler_conflict_check_t,
14994    ) -> ::std::os::raw::c_int;
14995}
14996extern "C" {
14997    pub fn php_output_handler_reverse_conflict_register(
14998        handler_name: *const ::std::os::raw::c_char,
14999        handler_name_len: size_t,
15000        check_func: php_output_handler_conflict_check_t,
15001    ) -> ::std::os::raw::c_int;
15002}
15003extern "C" {
15004    pub fn php_output_handler_alias(
15005        handler_name: *const ::std::os::raw::c_char,
15006        handler_name_len: size_t,
15007    ) -> *mut php_output_handler_alias_ctor_t;
15008}
15009extern "C" {
15010    pub fn php_output_handler_alias_register(
15011        handler_name: *const ::std::os::raw::c_char,
15012        handler_name_len: size_t,
15013        func: php_output_handler_alias_ctor_t,
15014    ) -> ::std::os::raw::c_int;
15015}
15016#[repr(C)]
15017#[derive(Debug, Copy, Clone)]
15018pub struct stat {
15019    pub st_dev: __dev_t,
15020    pub st_ino: __ino_t,
15021    pub st_nlink: __nlink_t,
15022    pub st_mode: __mode_t,
15023    pub st_uid: __uid_t,
15024    pub st_gid: __gid_t,
15025    pub __pad0: ::std::os::raw::c_int,
15026    pub st_rdev: __dev_t,
15027    pub st_size: __off_t,
15028    pub st_blksize: __blksize_t,
15029    pub st_blocks: __blkcnt_t,
15030    pub st_atim: timespec,
15031    pub st_mtim: timespec,
15032    pub st_ctim: timespec,
15033    pub __glibc_reserved: [__syscall_slong_t; 3usize],
15034}
15035#[test]
15036fn bindgen_test_layout_stat() {
15037    assert_eq!(
15038        ::std::mem::size_of::<stat>(),
15039        144usize,
15040        concat!("Size of: ", stringify!(stat))
15041    );
15042    assert_eq!(
15043        ::std::mem::align_of::<stat>(),
15044        8usize,
15045        concat!("Alignment of ", stringify!(stat))
15046    );
15047    assert_eq!(
15048        unsafe { &(*(::std::ptr::null::<stat>())).st_dev as *const _ as usize },
15049        0usize,
15050        concat!(
15051            "Offset of field: ",
15052            stringify!(stat),
15053            "::",
15054            stringify!(st_dev)
15055        )
15056    );
15057    assert_eq!(
15058        unsafe { &(*(::std::ptr::null::<stat>())).st_ino as *const _ as usize },
15059        8usize,
15060        concat!(
15061            "Offset of field: ",
15062            stringify!(stat),
15063            "::",
15064            stringify!(st_ino)
15065        )
15066    );
15067    assert_eq!(
15068        unsafe { &(*(::std::ptr::null::<stat>())).st_nlink as *const _ as usize },
15069        16usize,
15070        concat!(
15071            "Offset of field: ",
15072            stringify!(stat),
15073            "::",
15074            stringify!(st_nlink)
15075        )
15076    );
15077    assert_eq!(
15078        unsafe { &(*(::std::ptr::null::<stat>())).st_mode as *const _ as usize },
15079        24usize,
15080        concat!(
15081            "Offset of field: ",
15082            stringify!(stat),
15083            "::",
15084            stringify!(st_mode)
15085        )
15086    );
15087    assert_eq!(
15088        unsafe { &(*(::std::ptr::null::<stat>())).st_uid as *const _ as usize },
15089        28usize,
15090        concat!(
15091            "Offset of field: ",
15092            stringify!(stat),
15093            "::",
15094            stringify!(st_uid)
15095        )
15096    );
15097    assert_eq!(
15098        unsafe { &(*(::std::ptr::null::<stat>())).st_gid as *const _ as usize },
15099        32usize,
15100        concat!(
15101            "Offset of field: ",
15102            stringify!(stat),
15103            "::",
15104            stringify!(st_gid)
15105        )
15106    );
15107    assert_eq!(
15108        unsafe { &(*(::std::ptr::null::<stat>())).__pad0 as *const _ as usize },
15109        36usize,
15110        concat!(
15111            "Offset of field: ",
15112            stringify!(stat),
15113            "::",
15114            stringify!(__pad0)
15115        )
15116    );
15117    assert_eq!(
15118        unsafe { &(*(::std::ptr::null::<stat>())).st_rdev as *const _ as usize },
15119        40usize,
15120        concat!(
15121            "Offset of field: ",
15122            stringify!(stat),
15123            "::",
15124            stringify!(st_rdev)
15125        )
15126    );
15127    assert_eq!(
15128        unsafe { &(*(::std::ptr::null::<stat>())).st_size as *const _ as usize },
15129        48usize,
15130        concat!(
15131            "Offset of field: ",
15132            stringify!(stat),
15133            "::",
15134            stringify!(st_size)
15135        )
15136    );
15137    assert_eq!(
15138        unsafe { &(*(::std::ptr::null::<stat>())).st_blksize as *const _ as usize },
15139        56usize,
15140        concat!(
15141            "Offset of field: ",
15142            stringify!(stat),
15143            "::",
15144            stringify!(st_blksize)
15145        )
15146    );
15147    assert_eq!(
15148        unsafe { &(*(::std::ptr::null::<stat>())).st_blocks as *const _ as usize },
15149        64usize,
15150        concat!(
15151            "Offset of field: ",
15152            stringify!(stat),
15153            "::",
15154            stringify!(st_blocks)
15155        )
15156    );
15157    assert_eq!(
15158        unsafe { &(*(::std::ptr::null::<stat>())).st_atim as *const _ as usize },
15159        72usize,
15160        concat!(
15161            "Offset of field: ",
15162            stringify!(stat),
15163            "::",
15164            stringify!(st_atim)
15165        )
15166    );
15167    assert_eq!(
15168        unsafe { &(*(::std::ptr::null::<stat>())).st_mtim as *const _ as usize },
15169        88usize,
15170        concat!(
15171            "Offset of field: ",
15172            stringify!(stat),
15173            "::",
15174            stringify!(st_mtim)
15175        )
15176    );
15177    assert_eq!(
15178        unsafe { &(*(::std::ptr::null::<stat>())).st_ctim as *const _ as usize },
15179        104usize,
15180        concat!(
15181            "Offset of field: ",
15182            stringify!(stat),
15183            "::",
15184            stringify!(st_ctim)
15185        )
15186    );
15187    assert_eq!(
15188        unsafe { &(*(::std::ptr::null::<stat>())).__glibc_reserved as *const _ as usize },
15189        120usize,
15190        concat!(
15191            "Offset of field: ",
15192            stringify!(stat),
15193            "::",
15194            stringify!(__glibc_reserved)
15195        )
15196    );
15197}
15198extern "C" {
15199    pub fn php_file_le_stream() -> ::std::os::raw::c_int;
15200}
15201extern "C" {
15202    pub fn php_file_le_pstream() -> ::std::os::raw::c_int;
15203}
15204extern "C" {
15205    pub fn php_file_le_stream_filter() -> ::std::os::raw::c_int;
15206}
15207pub type php_stream = _php_stream;
15208pub type php_stream_wrapper = _php_stream_wrapper;
15209pub type php_stream_context = _php_stream_context;
15210pub type php_stream_filter = _php_stream_filter;
15211pub type php_stream_notification_func = ::std::option::Option<
15212    unsafe extern "C" fn(
15213        context: *mut php_stream_context,
15214        notifycode: ::std::os::raw::c_int,
15215        severity: ::std::os::raw::c_int,
15216        xmsg: *mut ::std::os::raw::c_char,
15217        xcode: ::std::os::raw::c_int,
15218        bytes_sofar: size_t,
15219        bytes_max: size_t,
15220        ptr: *mut ::std::os::raw::c_void,
15221    ),
15222>;
15223pub type php_stream_notifier = _php_stream_notifier;
15224#[repr(C)]
15225#[derive(Debug, Copy, Clone)]
15226pub struct _php_stream_notifier {
15227    pub func: php_stream_notification_func,
15228    pub dtor: ::std::option::Option<unsafe extern "C" fn(notifier: *mut php_stream_notifier)>,
15229    pub ptr: *mut ::std::os::raw::c_void,
15230    pub mask: ::std::os::raw::c_int,
15231    pub progress: size_t,
15232    pub progress_max: size_t,
15233}
15234#[test]
15235fn bindgen_test_layout__php_stream_notifier() {
15236    assert_eq!(
15237        ::std::mem::size_of::<_php_stream_notifier>(),
15238        48usize,
15239        concat!("Size of: ", stringify!(_php_stream_notifier))
15240    );
15241    assert_eq!(
15242        ::std::mem::align_of::<_php_stream_notifier>(),
15243        8usize,
15244        concat!("Alignment of ", stringify!(_php_stream_notifier))
15245    );
15246    assert_eq!(
15247        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).func as *const _ as usize },
15248        0usize,
15249        concat!(
15250            "Offset of field: ",
15251            stringify!(_php_stream_notifier),
15252            "::",
15253            stringify!(func)
15254        )
15255    );
15256    assert_eq!(
15257        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).dtor as *const _ as usize },
15258        8usize,
15259        concat!(
15260            "Offset of field: ",
15261            stringify!(_php_stream_notifier),
15262            "::",
15263            stringify!(dtor)
15264        )
15265    );
15266    assert_eq!(
15267        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).ptr as *const _ as usize },
15268        16usize,
15269        concat!(
15270            "Offset of field: ",
15271            stringify!(_php_stream_notifier),
15272            "::",
15273            stringify!(ptr)
15274        )
15275    );
15276    assert_eq!(
15277        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).mask as *const _ as usize },
15278        24usize,
15279        concat!(
15280            "Offset of field: ",
15281            stringify!(_php_stream_notifier),
15282            "::",
15283            stringify!(mask)
15284        )
15285    );
15286    assert_eq!(
15287        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).progress as *const _ as usize },
15288        32usize,
15289        concat!(
15290            "Offset of field: ",
15291            stringify!(_php_stream_notifier),
15292            "::",
15293            stringify!(progress)
15294        )
15295    );
15296    assert_eq!(
15297        unsafe {
15298            &(*(::std::ptr::null::<_php_stream_notifier>())).progress_max as *const _ as usize
15299        },
15300        40usize,
15301        concat!(
15302            "Offset of field: ",
15303            stringify!(_php_stream_notifier),
15304            "::",
15305            stringify!(progress_max)
15306        )
15307    );
15308}
15309#[repr(C)]
15310#[derive(Debug, Copy, Clone)]
15311pub struct _php_stream_context {
15312    pub notifier: *mut php_stream_notifier,
15313    pub options: *mut zval,
15314    pub links: *mut zval,
15315    pub rsrc_id: ::std::os::raw::c_int,
15316}
15317#[test]
15318fn bindgen_test_layout__php_stream_context() {
15319    assert_eq!(
15320        ::std::mem::size_of::<_php_stream_context>(),
15321        32usize,
15322        concat!("Size of: ", stringify!(_php_stream_context))
15323    );
15324    assert_eq!(
15325        ::std::mem::align_of::<_php_stream_context>(),
15326        8usize,
15327        concat!("Alignment of ", stringify!(_php_stream_context))
15328    );
15329    assert_eq!(
15330        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).notifier as *const _ as usize },
15331        0usize,
15332        concat!(
15333            "Offset of field: ",
15334            stringify!(_php_stream_context),
15335            "::",
15336            stringify!(notifier)
15337        )
15338    );
15339    assert_eq!(
15340        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).options as *const _ as usize },
15341        8usize,
15342        concat!(
15343            "Offset of field: ",
15344            stringify!(_php_stream_context),
15345            "::",
15346            stringify!(options)
15347        )
15348    );
15349    assert_eq!(
15350        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).links as *const _ as usize },
15351        16usize,
15352        concat!(
15353            "Offset of field: ",
15354            stringify!(_php_stream_context),
15355            "::",
15356            stringify!(links)
15357        )
15358    );
15359    assert_eq!(
15360        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).rsrc_id as *const _ as usize },
15361        24usize,
15362        concat!(
15363            "Offset of field: ",
15364            stringify!(_php_stream_context),
15365            "::",
15366            stringify!(rsrc_id)
15367        )
15368    );
15369}
15370extern "C" {
15371    pub fn php_stream_context_free(context: *mut php_stream_context);
15372}
15373extern "C" {
15374    pub fn php_stream_context_alloc() -> *mut php_stream_context;
15375}
15376extern "C" {
15377    pub fn php_stream_context_get_option(
15378        context: *mut php_stream_context,
15379        wrappername: *const ::std::os::raw::c_char,
15380        optionname: *const ::std::os::raw::c_char,
15381        optionvalue: *mut *mut *mut zval,
15382    ) -> ::std::os::raw::c_int;
15383}
15384extern "C" {
15385    pub fn php_stream_context_set_option(
15386        context: *mut php_stream_context,
15387        wrappername: *const ::std::os::raw::c_char,
15388        optionname: *const ::std::os::raw::c_char,
15389        optionvalue: *mut zval,
15390    ) -> ::std::os::raw::c_int;
15391}
15392extern "C" {
15393    pub fn php_stream_context_get_link(
15394        context: *mut php_stream_context,
15395        hostent: *const ::std::os::raw::c_char,
15396        stream: *mut *mut php_stream,
15397    ) -> ::std::os::raw::c_int;
15398}
15399extern "C" {
15400    pub fn php_stream_context_set_link(
15401        context: *mut php_stream_context,
15402        hostent: *const ::std::os::raw::c_char,
15403        stream: *mut php_stream,
15404    ) -> ::std::os::raw::c_int;
15405}
15406extern "C" {
15407    pub fn php_stream_context_del_link(
15408        context: *mut php_stream_context,
15409        stream: *mut php_stream,
15410    ) -> ::std::os::raw::c_int;
15411}
15412extern "C" {
15413    pub fn php_stream_notification_alloc() -> *mut php_stream_notifier;
15414}
15415extern "C" {
15416    pub fn php_stream_notification_free(notifier: *mut php_stream_notifier);
15417}
15418extern "C" {
15419    pub fn php_stream_notification_notify(
15420        context: *mut php_stream_context,
15421        notifycode: ::std::os::raw::c_int,
15422        severity: ::std::os::raw::c_int,
15423        xmsg: *mut ::std::os::raw::c_char,
15424        xcode: ::std::os::raw::c_int,
15425        bytes_sofar: size_t,
15426        bytes_max: size_t,
15427        ptr: *mut ::std::os::raw::c_void,
15428    );
15429}
15430extern "C" {
15431    pub fn php_stream_context_set(
15432        stream: *mut php_stream,
15433        context: *mut php_stream_context,
15434    ) -> *mut php_stream_context;
15435}
15436pub type php_stream_bucket = _php_stream_bucket;
15437pub type php_stream_bucket_brigade = _php_stream_bucket_brigade;
15438#[repr(C)]
15439#[derive(Debug, Copy, Clone)]
15440pub struct _php_stream_bucket {
15441    pub next: *mut php_stream_bucket,
15442    pub prev: *mut php_stream_bucket,
15443    pub brigade: *mut php_stream_bucket_brigade,
15444    pub buf: *mut ::std::os::raw::c_char,
15445    pub buflen: size_t,
15446    pub own_buf: ::std::os::raw::c_int,
15447    pub is_persistent: ::std::os::raw::c_int,
15448    pub refcount: ::std::os::raw::c_int,
15449}
15450#[test]
15451fn bindgen_test_layout__php_stream_bucket() {
15452    assert_eq!(
15453        ::std::mem::size_of::<_php_stream_bucket>(),
15454        56usize,
15455        concat!("Size of: ", stringify!(_php_stream_bucket))
15456    );
15457    assert_eq!(
15458        ::std::mem::align_of::<_php_stream_bucket>(),
15459        8usize,
15460        concat!("Alignment of ", stringify!(_php_stream_bucket))
15461    );
15462    assert_eq!(
15463        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).next as *const _ as usize },
15464        0usize,
15465        concat!(
15466            "Offset of field: ",
15467            stringify!(_php_stream_bucket),
15468            "::",
15469            stringify!(next)
15470        )
15471    );
15472    assert_eq!(
15473        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).prev as *const _ as usize },
15474        8usize,
15475        concat!(
15476            "Offset of field: ",
15477            stringify!(_php_stream_bucket),
15478            "::",
15479            stringify!(prev)
15480        )
15481    );
15482    assert_eq!(
15483        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).brigade as *const _ as usize },
15484        16usize,
15485        concat!(
15486            "Offset of field: ",
15487            stringify!(_php_stream_bucket),
15488            "::",
15489            stringify!(brigade)
15490        )
15491    );
15492    assert_eq!(
15493        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).buf as *const _ as usize },
15494        24usize,
15495        concat!(
15496            "Offset of field: ",
15497            stringify!(_php_stream_bucket),
15498            "::",
15499            stringify!(buf)
15500        )
15501    );
15502    assert_eq!(
15503        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).buflen as *const _ as usize },
15504        32usize,
15505        concat!(
15506            "Offset of field: ",
15507            stringify!(_php_stream_bucket),
15508            "::",
15509            stringify!(buflen)
15510        )
15511    );
15512    assert_eq!(
15513        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).own_buf as *const _ as usize },
15514        40usize,
15515        concat!(
15516            "Offset of field: ",
15517            stringify!(_php_stream_bucket),
15518            "::",
15519            stringify!(own_buf)
15520        )
15521    );
15522    assert_eq!(
15523        unsafe {
15524            &(*(::std::ptr::null::<_php_stream_bucket>())).is_persistent as *const _ as usize
15525        },
15526        44usize,
15527        concat!(
15528            "Offset of field: ",
15529            stringify!(_php_stream_bucket),
15530            "::",
15531            stringify!(is_persistent)
15532        )
15533    );
15534    assert_eq!(
15535        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).refcount as *const _ as usize },
15536        48usize,
15537        concat!(
15538            "Offset of field: ",
15539            stringify!(_php_stream_bucket),
15540            "::",
15541            stringify!(refcount)
15542        )
15543    );
15544}
15545#[repr(C)]
15546#[derive(Debug, Copy, Clone)]
15547pub struct _php_stream_bucket_brigade {
15548    pub head: *mut php_stream_bucket,
15549    pub tail: *mut php_stream_bucket,
15550}
15551#[test]
15552fn bindgen_test_layout__php_stream_bucket_brigade() {
15553    assert_eq!(
15554        ::std::mem::size_of::<_php_stream_bucket_brigade>(),
15555        16usize,
15556        concat!("Size of: ", stringify!(_php_stream_bucket_brigade))
15557    );
15558    assert_eq!(
15559        ::std::mem::align_of::<_php_stream_bucket_brigade>(),
15560        8usize,
15561        concat!("Alignment of ", stringify!(_php_stream_bucket_brigade))
15562    );
15563    assert_eq!(
15564        unsafe { &(*(::std::ptr::null::<_php_stream_bucket_brigade>())).head as *const _ as usize },
15565        0usize,
15566        concat!(
15567            "Offset of field: ",
15568            stringify!(_php_stream_bucket_brigade),
15569            "::",
15570            stringify!(head)
15571        )
15572    );
15573    assert_eq!(
15574        unsafe { &(*(::std::ptr::null::<_php_stream_bucket_brigade>())).tail as *const _ as usize },
15575        8usize,
15576        concat!(
15577            "Offset of field: ",
15578            stringify!(_php_stream_bucket_brigade),
15579            "::",
15580            stringify!(tail)
15581        )
15582    );
15583}
15584pub const php_stream_filter_status_t_PSFS_ERR_FATAL: php_stream_filter_status_t = 0;
15585pub const php_stream_filter_status_t_PSFS_FEED_ME: php_stream_filter_status_t = 1;
15586pub const php_stream_filter_status_t_PSFS_PASS_ON: php_stream_filter_status_t = 2;
15587pub type php_stream_filter_status_t = ::std::os::raw::c_uint;
15588extern "C" {
15589    pub fn php_stream_bucket_new(
15590        stream: *mut php_stream,
15591        buf: *mut ::std::os::raw::c_char,
15592        buflen: size_t,
15593        own_buf: ::std::os::raw::c_int,
15594        buf_persistent: ::std::os::raw::c_int,
15595    ) -> *mut php_stream_bucket;
15596}
15597extern "C" {
15598    pub fn php_stream_bucket_split(
15599        in_: *mut php_stream_bucket,
15600        left: *mut *mut php_stream_bucket,
15601        right: *mut *mut php_stream_bucket,
15602        length: size_t,
15603    ) -> ::std::os::raw::c_int;
15604}
15605extern "C" {
15606    pub fn php_stream_bucket_delref(bucket: *mut php_stream_bucket);
15607}
15608extern "C" {
15609    pub fn php_stream_bucket_prepend(
15610        brigade: *mut php_stream_bucket_brigade,
15611        bucket: *mut php_stream_bucket,
15612    );
15613}
15614extern "C" {
15615    pub fn php_stream_bucket_append(
15616        brigade: *mut php_stream_bucket_brigade,
15617        bucket: *mut php_stream_bucket,
15618    );
15619}
15620extern "C" {
15621    pub fn php_stream_bucket_unlink(bucket: *mut php_stream_bucket);
15622}
15623extern "C" {
15624    pub fn php_stream_bucket_make_writeable(
15625        bucket: *mut php_stream_bucket,
15626    ) -> *mut php_stream_bucket;
15627}
15628#[repr(C)]
15629#[derive(Debug, Copy, Clone)]
15630pub struct _php_stream_filter_ops {
15631    pub filter: ::std::option::Option<
15632        unsafe extern "C" fn(
15633            stream: *mut php_stream,
15634            thisfilter: *mut php_stream_filter,
15635            buckets_in: *mut php_stream_bucket_brigade,
15636            buckets_out: *mut php_stream_bucket_brigade,
15637            bytes_consumed: *mut size_t,
15638            flags: ::std::os::raw::c_int,
15639        ) -> php_stream_filter_status_t,
15640    >,
15641    pub dtor: ::std::option::Option<unsafe extern "C" fn(thisfilter: *mut php_stream_filter)>,
15642    pub label: *const ::std::os::raw::c_char,
15643}
15644#[test]
15645fn bindgen_test_layout__php_stream_filter_ops() {
15646    assert_eq!(
15647        ::std::mem::size_of::<_php_stream_filter_ops>(),
15648        24usize,
15649        concat!("Size of: ", stringify!(_php_stream_filter_ops))
15650    );
15651    assert_eq!(
15652        ::std::mem::align_of::<_php_stream_filter_ops>(),
15653        8usize,
15654        concat!("Alignment of ", stringify!(_php_stream_filter_ops))
15655    );
15656    assert_eq!(
15657        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).filter as *const _ as usize },
15658        0usize,
15659        concat!(
15660            "Offset of field: ",
15661            stringify!(_php_stream_filter_ops),
15662            "::",
15663            stringify!(filter)
15664        )
15665    );
15666    assert_eq!(
15667        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).dtor as *const _ as usize },
15668        8usize,
15669        concat!(
15670            "Offset of field: ",
15671            stringify!(_php_stream_filter_ops),
15672            "::",
15673            stringify!(dtor)
15674        )
15675    );
15676    assert_eq!(
15677        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).label as *const _ as usize },
15678        16usize,
15679        concat!(
15680            "Offset of field: ",
15681            stringify!(_php_stream_filter_ops),
15682            "::",
15683            stringify!(label)
15684        )
15685    );
15686}
15687pub type php_stream_filter_ops = _php_stream_filter_ops;
15688#[repr(C)]
15689#[derive(Debug, Copy, Clone)]
15690pub struct _php_stream_filter_chain {
15691    pub head: *mut php_stream_filter,
15692    pub tail: *mut php_stream_filter,
15693    pub stream: *mut php_stream,
15694}
15695#[test]
15696fn bindgen_test_layout__php_stream_filter_chain() {
15697    assert_eq!(
15698        ::std::mem::size_of::<_php_stream_filter_chain>(),
15699        24usize,
15700        concat!("Size of: ", stringify!(_php_stream_filter_chain))
15701    );
15702    assert_eq!(
15703        ::std::mem::align_of::<_php_stream_filter_chain>(),
15704        8usize,
15705        concat!("Alignment of ", stringify!(_php_stream_filter_chain))
15706    );
15707    assert_eq!(
15708        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).head as *const _ as usize },
15709        0usize,
15710        concat!(
15711            "Offset of field: ",
15712            stringify!(_php_stream_filter_chain),
15713            "::",
15714            stringify!(head)
15715        )
15716    );
15717    assert_eq!(
15718        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).tail as *const _ as usize },
15719        8usize,
15720        concat!(
15721            "Offset of field: ",
15722            stringify!(_php_stream_filter_chain),
15723            "::",
15724            stringify!(tail)
15725        )
15726    );
15727    assert_eq!(
15728        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).stream as *const _ as usize },
15729        16usize,
15730        concat!(
15731            "Offset of field: ",
15732            stringify!(_php_stream_filter_chain),
15733            "::",
15734            stringify!(stream)
15735        )
15736    );
15737}
15738pub type php_stream_filter_chain = _php_stream_filter_chain;
15739#[repr(C)]
15740#[derive(Debug, Copy, Clone)]
15741pub struct _php_stream_filter {
15742    pub fops: *mut php_stream_filter_ops,
15743    pub abstract_: *mut ::std::os::raw::c_void,
15744    pub next: *mut php_stream_filter,
15745    pub prev: *mut php_stream_filter,
15746    pub is_persistent: ::std::os::raw::c_int,
15747    pub chain: *mut php_stream_filter_chain,
15748    pub buffer: php_stream_bucket_brigade,
15749    pub rsrc_id: ::std::os::raw::c_int,
15750}
15751#[test]
15752fn bindgen_test_layout__php_stream_filter() {
15753    assert_eq!(
15754        ::std::mem::size_of::<_php_stream_filter>(),
15755        72usize,
15756        concat!("Size of: ", stringify!(_php_stream_filter))
15757    );
15758    assert_eq!(
15759        ::std::mem::align_of::<_php_stream_filter>(),
15760        8usize,
15761        concat!("Alignment of ", stringify!(_php_stream_filter))
15762    );
15763    assert_eq!(
15764        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).fops as *const _ as usize },
15765        0usize,
15766        concat!(
15767            "Offset of field: ",
15768            stringify!(_php_stream_filter),
15769            "::",
15770            stringify!(fops)
15771        )
15772    );
15773    assert_eq!(
15774        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).abstract_ as *const _ as usize },
15775        8usize,
15776        concat!(
15777            "Offset of field: ",
15778            stringify!(_php_stream_filter),
15779            "::",
15780            stringify!(abstract_)
15781        )
15782    );
15783    assert_eq!(
15784        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).next as *const _ as usize },
15785        16usize,
15786        concat!(
15787            "Offset of field: ",
15788            stringify!(_php_stream_filter),
15789            "::",
15790            stringify!(next)
15791        )
15792    );
15793    assert_eq!(
15794        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).prev as *const _ as usize },
15795        24usize,
15796        concat!(
15797            "Offset of field: ",
15798            stringify!(_php_stream_filter),
15799            "::",
15800            stringify!(prev)
15801        )
15802    );
15803    assert_eq!(
15804        unsafe {
15805            &(*(::std::ptr::null::<_php_stream_filter>())).is_persistent as *const _ as usize
15806        },
15807        32usize,
15808        concat!(
15809            "Offset of field: ",
15810            stringify!(_php_stream_filter),
15811            "::",
15812            stringify!(is_persistent)
15813        )
15814    );
15815    assert_eq!(
15816        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).chain as *const _ as usize },
15817        40usize,
15818        concat!(
15819            "Offset of field: ",
15820            stringify!(_php_stream_filter),
15821            "::",
15822            stringify!(chain)
15823        )
15824    );
15825    assert_eq!(
15826        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).buffer as *const _ as usize },
15827        48usize,
15828        concat!(
15829            "Offset of field: ",
15830            stringify!(_php_stream_filter),
15831            "::",
15832            stringify!(buffer)
15833        )
15834    );
15835    assert_eq!(
15836        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).rsrc_id as *const _ as usize },
15837        64usize,
15838        concat!(
15839            "Offset of field: ",
15840            stringify!(_php_stream_filter),
15841            "::",
15842            stringify!(rsrc_id)
15843        )
15844    );
15845}
15846extern "C" {
15847    pub fn php_stream_filter_prepend_ex(
15848        chain: *mut php_stream_filter_chain,
15849        filter: *mut php_stream_filter,
15850    ) -> ::std::os::raw::c_int;
15851}
15852extern "C" {
15853    pub fn php_stream_filter_append_ex(
15854        chain: *mut php_stream_filter_chain,
15855        filter: *mut php_stream_filter,
15856    ) -> ::std::os::raw::c_int;
15857}
15858extern "C" {
15859    pub fn php_stream_filter_remove(
15860        filter: *mut php_stream_filter,
15861        call_dtor: ::std::os::raw::c_int,
15862    ) -> *mut php_stream_filter;
15863}
15864extern "C" {
15865    pub fn php_stream_filter_free(filter: *mut php_stream_filter);
15866}
15867#[repr(C)]
15868#[derive(Debug, Copy, Clone)]
15869pub struct _php_stream_filter_factory {
15870    pub create_filter: ::std::option::Option<
15871        unsafe extern "C" fn(
15872            filtername: *const ::std::os::raw::c_char,
15873            filterparams: *mut zval,
15874            persistent: ::std::os::raw::c_int,
15875        ) -> *mut php_stream_filter,
15876    >,
15877}
15878#[test]
15879fn bindgen_test_layout__php_stream_filter_factory() {
15880    assert_eq!(
15881        ::std::mem::size_of::<_php_stream_filter_factory>(),
15882        8usize,
15883        concat!("Size of: ", stringify!(_php_stream_filter_factory))
15884    );
15885    assert_eq!(
15886        ::std::mem::align_of::<_php_stream_filter_factory>(),
15887        8usize,
15888        concat!("Alignment of ", stringify!(_php_stream_filter_factory))
15889    );
15890    assert_eq!(
15891        unsafe {
15892            &(*(::std::ptr::null::<_php_stream_filter_factory>())).create_filter as *const _
15893                as usize
15894        },
15895        0usize,
15896        concat!(
15897            "Offset of field: ",
15898            stringify!(_php_stream_filter_factory),
15899            "::",
15900            stringify!(create_filter)
15901        )
15902    );
15903}
15904pub type php_stream_filter_factory = _php_stream_filter_factory;
15905extern "C" {
15906    pub fn php_stream_filter_register_factory(
15907        filterpattern: *const ::std::os::raw::c_char,
15908        factory: *mut php_stream_filter_factory,
15909    ) -> ::std::os::raw::c_int;
15910}
15911extern "C" {
15912    pub fn php_stream_filter_unregister_factory(
15913        filterpattern: *const ::std::os::raw::c_char,
15914    ) -> ::std::os::raw::c_int;
15915}
15916extern "C" {
15917    pub fn php_stream_filter_register_factory_volatile(
15918        filterpattern: *const ::std::os::raw::c_char,
15919        factory: *mut php_stream_filter_factory,
15920    ) -> ::std::os::raw::c_int;
15921}
15922extern "C" {
15923    pub fn php_stream_filter_create(
15924        filtername: *const ::std::os::raw::c_char,
15925        filterparams: *mut zval,
15926        persistent: ::std::os::raw::c_int,
15927    ) -> *mut php_stream_filter;
15928}
15929#[repr(C)]
15930#[derive(Debug, Copy, Clone)]
15931pub struct _php_stream_statbuf {
15932    pub sb: stat,
15933}
15934#[test]
15935fn bindgen_test_layout__php_stream_statbuf() {
15936    assert_eq!(
15937        ::std::mem::size_of::<_php_stream_statbuf>(),
15938        144usize,
15939        concat!("Size of: ", stringify!(_php_stream_statbuf))
15940    );
15941    assert_eq!(
15942        ::std::mem::align_of::<_php_stream_statbuf>(),
15943        8usize,
15944        concat!("Alignment of ", stringify!(_php_stream_statbuf))
15945    );
15946    assert_eq!(
15947        unsafe { &(*(::std::ptr::null::<_php_stream_statbuf>())).sb as *const _ as usize },
15948        0usize,
15949        concat!(
15950            "Offset of field: ",
15951            stringify!(_php_stream_statbuf),
15952            "::",
15953            stringify!(sb)
15954        )
15955    );
15956}
15957pub type php_stream_statbuf = _php_stream_statbuf;
15958#[repr(C)]
15959#[derive(Debug, Copy, Clone)]
15960pub struct _php_stream_ops {
15961    pub write: ::std::option::Option<
15962        unsafe extern "C" fn(
15963            stream: *mut php_stream,
15964            buf: *const ::std::os::raw::c_char,
15965            count: size_t,
15966        ) -> size_t,
15967    >,
15968    pub read: ::std::option::Option<
15969        unsafe extern "C" fn(
15970            stream: *mut php_stream,
15971            buf: *mut ::std::os::raw::c_char,
15972            count: size_t,
15973        ) -> size_t,
15974    >,
15975    pub close: ::std::option::Option<
15976        unsafe extern "C" fn(
15977            stream: *mut php_stream,
15978            close_handle: ::std::os::raw::c_int,
15979        ) -> ::std::os::raw::c_int,
15980    >,
15981    pub flush: ::std::option::Option<
15982        unsafe extern "C" fn(stream: *mut php_stream) -> ::std::os::raw::c_int,
15983    >,
15984    pub label: *const ::std::os::raw::c_char,
15985    pub seek: ::std::option::Option<
15986        unsafe extern "C" fn(
15987            stream: *mut php_stream,
15988            offset: off_t,
15989            whence: ::std::os::raw::c_int,
15990            newoffset: *mut off_t,
15991        ) -> ::std::os::raw::c_int,
15992    >,
15993    pub cast: ::std::option::Option<
15994        unsafe extern "C" fn(
15995            stream: *mut php_stream,
15996            castas: ::std::os::raw::c_int,
15997            ret: *mut *mut ::std::os::raw::c_void,
15998        ) -> ::std::os::raw::c_int,
15999    >,
16000    pub stat: ::std::option::Option<
16001        unsafe extern "C" fn(
16002            stream: *mut php_stream,
16003            ssb: *mut php_stream_statbuf,
16004        ) -> ::std::os::raw::c_int,
16005    >,
16006    pub set_option: ::std::option::Option<
16007        unsafe extern "C" fn(
16008            stream: *mut php_stream,
16009            option: ::std::os::raw::c_int,
16010            value: ::std::os::raw::c_int,
16011            ptrparam: *mut ::std::os::raw::c_void,
16012        ) -> ::std::os::raw::c_int,
16013    >,
16014}
16015#[test]
16016fn bindgen_test_layout__php_stream_ops() {
16017    assert_eq!(
16018        ::std::mem::size_of::<_php_stream_ops>(),
16019        72usize,
16020        concat!("Size of: ", stringify!(_php_stream_ops))
16021    );
16022    assert_eq!(
16023        ::std::mem::align_of::<_php_stream_ops>(),
16024        8usize,
16025        concat!("Alignment of ", stringify!(_php_stream_ops))
16026    );
16027    assert_eq!(
16028        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).write as *const _ as usize },
16029        0usize,
16030        concat!(
16031            "Offset of field: ",
16032            stringify!(_php_stream_ops),
16033            "::",
16034            stringify!(write)
16035        )
16036    );
16037    assert_eq!(
16038        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).read as *const _ as usize },
16039        8usize,
16040        concat!(
16041            "Offset of field: ",
16042            stringify!(_php_stream_ops),
16043            "::",
16044            stringify!(read)
16045        )
16046    );
16047    assert_eq!(
16048        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).close as *const _ as usize },
16049        16usize,
16050        concat!(
16051            "Offset of field: ",
16052            stringify!(_php_stream_ops),
16053            "::",
16054            stringify!(close)
16055        )
16056    );
16057    assert_eq!(
16058        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).flush as *const _ as usize },
16059        24usize,
16060        concat!(
16061            "Offset of field: ",
16062            stringify!(_php_stream_ops),
16063            "::",
16064            stringify!(flush)
16065        )
16066    );
16067    assert_eq!(
16068        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).label as *const _ as usize },
16069        32usize,
16070        concat!(
16071            "Offset of field: ",
16072            stringify!(_php_stream_ops),
16073            "::",
16074            stringify!(label)
16075        )
16076    );
16077    assert_eq!(
16078        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).seek as *const _ as usize },
16079        40usize,
16080        concat!(
16081            "Offset of field: ",
16082            stringify!(_php_stream_ops),
16083            "::",
16084            stringify!(seek)
16085        )
16086    );
16087    assert_eq!(
16088        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).cast as *const _ as usize },
16089        48usize,
16090        concat!(
16091            "Offset of field: ",
16092            stringify!(_php_stream_ops),
16093            "::",
16094            stringify!(cast)
16095        )
16096    );
16097    assert_eq!(
16098        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).stat as *const _ as usize },
16099        56usize,
16100        concat!(
16101            "Offset of field: ",
16102            stringify!(_php_stream_ops),
16103            "::",
16104            stringify!(stat)
16105        )
16106    );
16107    assert_eq!(
16108        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).set_option as *const _ as usize },
16109        64usize,
16110        concat!(
16111            "Offset of field: ",
16112            stringify!(_php_stream_ops),
16113            "::",
16114            stringify!(set_option)
16115        )
16116    );
16117}
16118pub type php_stream_ops = _php_stream_ops;
16119#[repr(C)]
16120#[derive(Debug, Copy, Clone)]
16121pub struct _php_stream_wrapper_ops {
16122    pub stream_opener: ::std::option::Option<
16123        unsafe extern "C" fn(
16124            wrapper: *mut php_stream_wrapper,
16125            filename: *mut ::std::os::raw::c_char,
16126            mode: *mut ::std::os::raw::c_char,
16127            options: ::std::os::raw::c_int,
16128            opened_path: *mut *mut ::std::os::raw::c_char,
16129            context: *mut php_stream_context,
16130        ) -> *mut php_stream,
16131    >,
16132    pub stream_closer: ::std::option::Option<
16133        unsafe extern "C" fn(
16134            wrapper: *mut php_stream_wrapper,
16135            stream: *mut php_stream,
16136        ) -> ::std::os::raw::c_int,
16137    >,
16138    pub stream_stat: ::std::option::Option<
16139        unsafe extern "C" fn(
16140            wrapper: *mut php_stream_wrapper,
16141            stream: *mut php_stream,
16142            ssb: *mut php_stream_statbuf,
16143        ) -> ::std::os::raw::c_int,
16144    >,
16145    pub url_stat: ::std::option::Option<
16146        unsafe extern "C" fn(
16147            wrapper: *mut php_stream_wrapper,
16148            url: *mut ::std::os::raw::c_char,
16149            flags: ::std::os::raw::c_int,
16150            ssb: *mut php_stream_statbuf,
16151            context: *mut php_stream_context,
16152        ) -> ::std::os::raw::c_int,
16153    >,
16154    pub dir_opener: ::std::option::Option<
16155        unsafe extern "C" fn(
16156            wrapper: *mut php_stream_wrapper,
16157            filename: *mut ::std::os::raw::c_char,
16158            mode: *mut ::std::os::raw::c_char,
16159            options: ::std::os::raw::c_int,
16160            opened_path: *mut *mut ::std::os::raw::c_char,
16161            context: *mut php_stream_context,
16162        ) -> *mut php_stream,
16163    >,
16164    pub label: *const ::std::os::raw::c_char,
16165    pub unlink: ::std::option::Option<
16166        unsafe extern "C" fn(
16167            wrapper: *mut php_stream_wrapper,
16168            url: *mut ::std::os::raw::c_char,
16169            options: ::std::os::raw::c_int,
16170            context: *mut php_stream_context,
16171        ) -> ::std::os::raw::c_int,
16172    >,
16173    pub rename: ::std::option::Option<
16174        unsafe extern "C" fn(
16175            wrapper: *mut php_stream_wrapper,
16176            url_from: *mut ::std::os::raw::c_char,
16177            url_to: *mut ::std::os::raw::c_char,
16178            options: ::std::os::raw::c_int,
16179            context: *mut php_stream_context,
16180        ) -> ::std::os::raw::c_int,
16181    >,
16182    pub stream_mkdir: ::std::option::Option<
16183        unsafe extern "C" fn(
16184            wrapper: *mut php_stream_wrapper,
16185            url: *mut ::std::os::raw::c_char,
16186            mode: ::std::os::raw::c_int,
16187            options: ::std::os::raw::c_int,
16188            context: *mut php_stream_context,
16189        ) -> ::std::os::raw::c_int,
16190    >,
16191    pub stream_rmdir: ::std::option::Option<
16192        unsafe extern "C" fn(
16193            wrapper: *mut php_stream_wrapper,
16194            url: *mut ::std::os::raw::c_char,
16195            options: ::std::os::raw::c_int,
16196            context: *mut php_stream_context,
16197        ) -> ::std::os::raw::c_int,
16198    >,
16199    pub stream_metadata: ::std::option::Option<
16200        unsafe extern "C" fn(
16201            wrapper: *mut php_stream_wrapper,
16202            url: *mut ::std::os::raw::c_char,
16203            options: ::std::os::raw::c_int,
16204            value: *mut ::std::os::raw::c_void,
16205            context: *mut php_stream_context,
16206        ) -> ::std::os::raw::c_int,
16207    >,
16208}
16209#[test]
16210fn bindgen_test_layout__php_stream_wrapper_ops() {
16211    assert_eq!(
16212        ::std::mem::size_of::<_php_stream_wrapper_ops>(),
16213        88usize,
16214        concat!("Size of: ", stringify!(_php_stream_wrapper_ops))
16215    );
16216    assert_eq!(
16217        ::std::mem::align_of::<_php_stream_wrapper_ops>(),
16218        8usize,
16219        concat!("Alignment of ", stringify!(_php_stream_wrapper_ops))
16220    );
16221    assert_eq!(
16222        unsafe {
16223            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_opener as *const _ as usize
16224        },
16225        0usize,
16226        concat!(
16227            "Offset of field: ",
16228            stringify!(_php_stream_wrapper_ops),
16229            "::",
16230            stringify!(stream_opener)
16231        )
16232    );
16233    assert_eq!(
16234        unsafe {
16235            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_closer as *const _ as usize
16236        },
16237        8usize,
16238        concat!(
16239            "Offset of field: ",
16240            stringify!(_php_stream_wrapper_ops),
16241            "::",
16242            stringify!(stream_closer)
16243        )
16244    );
16245    assert_eq!(
16246        unsafe {
16247            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_stat as *const _ as usize
16248        },
16249        16usize,
16250        concat!(
16251            "Offset of field: ",
16252            stringify!(_php_stream_wrapper_ops),
16253            "::",
16254            stringify!(stream_stat)
16255        )
16256    );
16257    assert_eq!(
16258        unsafe {
16259            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).url_stat as *const _ as usize
16260        },
16261        24usize,
16262        concat!(
16263            "Offset of field: ",
16264            stringify!(_php_stream_wrapper_ops),
16265            "::",
16266            stringify!(url_stat)
16267        )
16268    );
16269    assert_eq!(
16270        unsafe {
16271            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).dir_opener as *const _ as usize
16272        },
16273        32usize,
16274        concat!(
16275            "Offset of field: ",
16276            stringify!(_php_stream_wrapper_ops),
16277            "::",
16278            stringify!(dir_opener)
16279        )
16280    );
16281    assert_eq!(
16282        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).label as *const _ as usize },
16283        40usize,
16284        concat!(
16285            "Offset of field: ",
16286            stringify!(_php_stream_wrapper_ops),
16287            "::",
16288            stringify!(label)
16289        )
16290    );
16291    assert_eq!(
16292        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).unlink as *const _ as usize },
16293        48usize,
16294        concat!(
16295            "Offset of field: ",
16296            stringify!(_php_stream_wrapper_ops),
16297            "::",
16298            stringify!(unlink)
16299        )
16300    );
16301    assert_eq!(
16302        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).rename as *const _ as usize },
16303        56usize,
16304        concat!(
16305            "Offset of field: ",
16306            stringify!(_php_stream_wrapper_ops),
16307            "::",
16308            stringify!(rename)
16309        )
16310    );
16311    assert_eq!(
16312        unsafe {
16313            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_mkdir as *const _ as usize
16314        },
16315        64usize,
16316        concat!(
16317            "Offset of field: ",
16318            stringify!(_php_stream_wrapper_ops),
16319            "::",
16320            stringify!(stream_mkdir)
16321        )
16322    );
16323    assert_eq!(
16324        unsafe {
16325            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_rmdir as *const _ as usize
16326        },
16327        72usize,
16328        concat!(
16329            "Offset of field: ",
16330            stringify!(_php_stream_wrapper_ops),
16331            "::",
16332            stringify!(stream_rmdir)
16333        )
16334    );
16335    assert_eq!(
16336        unsafe {
16337            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_metadata as *const _ as usize
16338        },
16339        80usize,
16340        concat!(
16341            "Offset of field: ",
16342            stringify!(_php_stream_wrapper_ops),
16343            "::",
16344            stringify!(stream_metadata)
16345        )
16346    );
16347}
16348pub type php_stream_wrapper_ops = _php_stream_wrapper_ops;
16349#[repr(C)]
16350#[derive(Debug, Copy, Clone)]
16351pub struct _php_stream_wrapper {
16352    pub wops: *mut php_stream_wrapper_ops,
16353    pub abstract_: *mut ::std::os::raw::c_void,
16354    pub is_url: ::std::os::raw::c_int,
16355    pub err_count: ::std::os::raw::c_int,
16356    pub err_stack: *mut *mut ::std::os::raw::c_char,
16357}
16358#[test]
16359fn bindgen_test_layout__php_stream_wrapper() {
16360    assert_eq!(
16361        ::std::mem::size_of::<_php_stream_wrapper>(),
16362        32usize,
16363        concat!("Size of: ", stringify!(_php_stream_wrapper))
16364    );
16365    assert_eq!(
16366        ::std::mem::align_of::<_php_stream_wrapper>(),
16367        8usize,
16368        concat!("Alignment of ", stringify!(_php_stream_wrapper))
16369    );
16370    assert_eq!(
16371        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).wops as *const _ as usize },
16372        0usize,
16373        concat!(
16374            "Offset of field: ",
16375            stringify!(_php_stream_wrapper),
16376            "::",
16377            stringify!(wops)
16378        )
16379    );
16380    assert_eq!(
16381        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).abstract_ as *const _ as usize },
16382        8usize,
16383        concat!(
16384            "Offset of field: ",
16385            stringify!(_php_stream_wrapper),
16386            "::",
16387            stringify!(abstract_)
16388        )
16389    );
16390    assert_eq!(
16391        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).is_url as *const _ as usize },
16392        16usize,
16393        concat!(
16394            "Offset of field: ",
16395            stringify!(_php_stream_wrapper),
16396            "::",
16397            stringify!(is_url)
16398        )
16399    );
16400    assert_eq!(
16401        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).err_count as *const _ as usize },
16402        20usize,
16403        concat!(
16404            "Offset of field: ",
16405            stringify!(_php_stream_wrapper),
16406            "::",
16407            stringify!(err_count)
16408        )
16409    );
16410    assert_eq!(
16411        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).err_stack as *const _ as usize },
16412        24usize,
16413        concat!(
16414            "Offset of field: ",
16415            stringify!(_php_stream_wrapper),
16416            "::",
16417            stringify!(err_stack)
16418        )
16419    );
16420}
16421#[repr(C)]
16422#[derive(Debug, Copy, Clone)]
16423pub struct _php_stream {
16424    pub ops: *mut php_stream_ops,
16425    pub abstract_: *mut ::std::os::raw::c_void,
16426    pub readfilters: php_stream_filter_chain,
16427    pub writefilters: php_stream_filter_chain,
16428    pub wrapper: *mut php_stream_wrapper,
16429    pub wrapperthis: *mut ::std::os::raw::c_void,
16430    pub wrapperdata: *mut zval,
16431    pub fgetss_state: ::std::os::raw::c_int,
16432    pub is_persistent: ::std::os::raw::c_int,
16433    pub mode: [::std::os::raw::c_char; 16usize],
16434    pub rsrc_id: ::std::os::raw::c_int,
16435    pub in_free: ::std::os::raw::c_int,
16436    pub fclose_stdiocast: ::std::os::raw::c_int,
16437    pub stdiocast: *mut FILE,
16438    pub orig_path: *mut ::std::os::raw::c_char,
16439    pub context: *mut php_stream_context,
16440    pub flags: ::std::os::raw::c_int,
16441    pub position: off_t,
16442    pub readbuf: *mut ::std::os::raw::c_uchar,
16443    pub readbuflen: size_t,
16444    pub readpos: off_t,
16445    pub writepos: off_t,
16446    pub chunk_size: size_t,
16447    pub eof: ::std::os::raw::c_int,
16448    pub enclosing_stream: *mut _php_stream,
16449}
16450#[test]
16451fn bindgen_test_layout__php_stream() {
16452    assert_eq!(
16453        ::std::mem::size_of::<_php_stream>(),
16454        224usize,
16455        concat!("Size of: ", stringify!(_php_stream))
16456    );
16457    assert_eq!(
16458        ::std::mem::align_of::<_php_stream>(),
16459        8usize,
16460        concat!("Alignment of ", stringify!(_php_stream))
16461    );
16462    assert_eq!(
16463        unsafe { &(*(::std::ptr::null::<_php_stream>())).ops as *const _ as usize },
16464        0usize,
16465        concat!(
16466            "Offset of field: ",
16467            stringify!(_php_stream),
16468            "::",
16469            stringify!(ops)
16470        )
16471    );
16472    assert_eq!(
16473        unsafe { &(*(::std::ptr::null::<_php_stream>())).abstract_ as *const _ as usize },
16474        8usize,
16475        concat!(
16476            "Offset of field: ",
16477            stringify!(_php_stream),
16478            "::",
16479            stringify!(abstract_)
16480        )
16481    );
16482    assert_eq!(
16483        unsafe { &(*(::std::ptr::null::<_php_stream>())).readfilters as *const _ as usize },
16484        16usize,
16485        concat!(
16486            "Offset of field: ",
16487            stringify!(_php_stream),
16488            "::",
16489            stringify!(readfilters)
16490        )
16491    );
16492    assert_eq!(
16493        unsafe { &(*(::std::ptr::null::<_php_stream>())).writefilters as *const _ as usize },
16494        40usize,
16495        concat!(
16496            "Offset of field: ",
16497            stringify!(_php_stream),
16498            "::",
16499            stringify!(writefilters)
16500        )
16501    );
16502    assert_eq!(
16503        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapper as *const _ as usize },
16504        64usize,
16505        concat!(
16506            "Offset of field: ",
16507            stringify!(_php_stream),
16508            "::",
16509            stringify!(wrapper)
16510        )
16511    );
16512    assert_eq!(
16513        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapperthis as *const _ as usize },
16514        72usize,
16515        concat!(
16516            "Offset of field: ",
16517            stringify!(_php_stream),
16518            "::",
16519            stringify!(wrapperthis)
16520        )
16521    );
16522    assert_eq!(
16523        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapperdata as *const _ as usize },
16524        80usize,
16525        concat!(
16526            "Offset of field: ",
16527            stringify!(_php_stream),
16528            "::",
16529            stringify!(wrapperdata)
16530        )
16531    );
16532    assert_eq!(
16533        unsafe { &(*(::std::ptr::null::<_php_stream>())).fgetss_state as *const _ as usize },
16534        88usize,
16535        concat!(
16536            "Offset of field: ",
16537            stringify!(_php_stream),
16538            "::",
16539            stringify!(fgetss_state)
16540        )
16541    );
16542    assert_eq!(
16543        unsafe { &(*(::std::ptr::null::<_php_stream>())).is_persistent as *const _ as usize },
16544        92usize,
16545        concat!(
16546            "Offset of field: ",
16547            stringify!(_php_stream),
16548            "::",
16549            stringify!(is_persistent)
16550        )
16551    );
16552    assert_eq!(
16553        unsafe { &(*(::std::ptr::null::<_php_stream>())).mode as *const _ as usize },
16554        96usize,
16555        concat!(
16556            "Offset of field: ",
16557            stringify!(_php_stream),
16558            "::",
16559            stringify!(mode)
16560        )
16561    );
16562    assert_eq!(
16563        unsafe { &(*(::std::ptr::null::<_php_stream>())).rsrc_id as *const _ as usize },
16564        112usize,
16565        concat!(
16566            "Offset of field: ",
16567            stringify!(_php_stream),
16568            "::",
16569            stringify!(rsrc_id)
16570        )
16571    );
16572    assert_eq!(
16573        unsafe { &(*(::std::ptr::null::<_php_stream>())).in_free as *const _ as usize },
16574        116usize,
16575        concat!(
16576            "Offset of field: ",
16577            stringify!(_php_stream),
16578            "::",
16579            stringify!(in_free)
16580        )
16581    );
16582    assert_eq!(
16583        unsafe { &(*(::std::ptr::null::<_php_stream>())).fclose_stdiocast as *const _ as usize },
16584        120usize,
16585        concat!(
16586            "Offset of field: ",
16587            stringify!(_php_stream),
16588            "::",
16589            stringify!(fclose_stdiocast)
16590        )
16591    );
16592    assert_eq!(
16593        unsafe { &(*(::std::ptr::null::<_php_stream>())).stdiocast as *const _ as usize },
16594        128usize,
16595        concat!(
16596            "Offset of field: ",
16597            stringify!(_php_stream),
16598            "::",
16599            stringify!(stdiocast)
16600        )
16601    );
16602    assert_eq!(
16603        unsafe { &(*(::std::ptr::null::<_php_stream>())).orig_path as *const _ as usize },
16604        136usize,
16605        concat!(
16606            "Offset of field: ",
16607            stringify!(_php_stream),
16608            "::",
16609            stringify!(orig_path)
16610        )
16611    );
16612    assert_eq!(
16613        unsafe { &(*(::std::ptr::null::<_php_stream>())).context as *const _ as usize },
16614        144usize,
16615        concat!(
16616            "Offset of field: ",
16617            stringify!(_php_stream),
16618            "::",
16619            stringify!(context)
16620        )
16621    );
16622    assert_eq!(
16623        unsafe { &(*(::std::ptr::null::<_php_stream>())).flags as *const _ as usize },
16624        152usize,
16625        concat!(
16626            "Offset of field: ",
16627            stringify!(_php_stream),
16628            "::",
16629            stringify!(flags)
16630        )
16631    );
16632    assert_eq!(
16633        unsafe { &(*(::std::ptr::null::<_php_stream>())).position as *const _ as usize },
16634        160usize,
16635        concat!(
16636            "Offset of field: ",
16637            stringify!(_php_stream),
16638            "::",
16639            stringify!(position)
16640        )
16641    );
16642    assert_eq!(
16643        unsafe { &(*(::std::ptr::null::<_php_stream>())).readbuf as *const _ as usize },
16644        168usize,
16645        concat!(
16646            "Offset of field: ",
16647            stringify!(_php_stream),
16648            "::",
16649            stringify!(readbuf)
16650        )
16651    );
16652    assert_eq!(
16653        unsafe { &(*(::std::ptr::null::<_php_stream>())).readbuflen as *const _ as usize },
16654        176usize,
16655        concat!(
16656            "Offset of field: ",
16657            stringify!(_php_stream),
16658            "::",
16659            stringify!(readbuflen)
16660        )
16661    );
16662    assert_eq!(
16663        unsafe { &(*(::std::ptr::null::<_php_stream>())).readpos as *const _ as usize },
16664        184usize,
16665        concat!(
16666            "Offset of field: ",
16667            stringify!(_php_stream),
16668            "::",
16669            stringify!(readpos)
16670        )
16671    );
16672    assert_eq!(
16673        unsafe { &(*(::std::ptr::null::<_php_stream>())).writepos as *const _ as usize },
16674        192usize,
16675        concat!(
16676            "Offset of field: ",
16677            stringify!(_php_stream),
16678            "::",
16679            stringify!(writepos)
16680        )
16681    );
16682    assert_eq!(
16683        unsafe { &(*(::std::ptr::null::<_php_stream>())).chunk_size as *const _ as usize },
16684        200usize,
16685        concat!(
16686            "Offset of field: ",
16687            stringify!(_php_stream),
16688            "::",
16689            stringify!(chunk_size)
16690        )
16691    );
16692    assert_eq!(
16693        unsafe { &(*(::std::ptr::null::<_php_stream>())).eof as *const _ as usize },
16694        208usize,
16695        concat!(
16696            "Offset of field: ",
16697            stringify!(_php_stream),
16698            "::",
16699            stringify!(eof)
16700        )
16701    );
16702    assert_eq!(
16703        unsafe { &(*(::std::ptr::null::<_php_stream>())).enclosing_stream as *const _ as usize },
16704        216usize,
16705        concat!(
16706            "Offset of field: ",
16707            stringify!(_php_stream),
16708            "::",
16709            stringify!(enclosing_stream)
16710        )
16711    );
16712}
16713extern "C" {
16714    pub fn php_stream_encloses(
16715        enclosing: *mut php_stream,
16716        enclosed: *mut php_stream,
16717    ) -> *mut php_stream;
16718}
16719extern "C" {
16720    pub fn php_stream_from_persistent_id(
16721        persistent_id: *const ::std::os::raw::c_char,
16722        stream: *mut *mut php_stream,
16723    ) -> ::std::os::raw::c_int;
16724}
16725extern "C" {
16726    pub fn php_stream_get_record(
16727        stream: *mut php_stream,
16728        maxlen: size_t,
16729        returned_len: *mut size_t,
16730        delim: *mut ::std::os::raw::c_char,
16731        delim_len: size_t,
16732    ) -> *mut ::std::os::raw::c_char;
16733}
16734extern "C" {
16735    pub fn php_stream_dirent_alphasort(
16736        a: *mut *const ::std::os::raw::c_char,
16737        b: *mut *const ::std::os::raw::c_char,
16738    ) -> ::std::os::raw::c_int;
16739}
16740extern "C" {
16741    pub fn php_stream_dirent_alphasortr(
16742        a: *mut *const ::std::os::raw::c_char,
16743        b: *mut *const ::std::os::raw::c_char,
16744    ) -> ::std::os::raw::c_int;
16745}
16746pub type php_stream_transport_factory_func = ::std::option::Option<
16747    unsafe extern "C" fn(
16748        proto: *const ::std::os::raw::c_char,
16749        protolen: ::std::os::raw::c_long,
16750        resourcename: *mut ::std::os::raw::c_char,
16751        resourcenamelen: ::std::os::raw::c_long,
16752        persistent_id: *const ::std::os::raw::c_char,
16753        options: ::std::os::raw::c_int,
16754        flags: ::std::os::raw::c_int,
16755        timeout: *mut timeval,
16756        context: *mut php_stream_context,
16757    ) -> *mut php_stream,
16758>;
16759pub type php_stream_transport_factory = php_stream_transport_factory_func;
16760extern "C" {
16761    pub fn php_stream_xport_register(
16762        protocol: *mut ::std::os::raw::c_char,
16763        factory: php_stream_transport_factory,
16764    ) -> ::std::os::raw::c_int;
16765}
16766extern "C" {
16767    pub fn php_stream_xport_unregister(
16768        protocol: *mut ::std::os::raw::c_char,
16769    ) -> ::std::os::raw::c_int;
16770}
16771extern "C" {
16772    pub fn php_stream_xport_bind(
16773        stream: *mut php_stream,
16774        name: *const ::std::os::raw::c_char,
16775        namelen: ::std::os::raw::c_long,
16776        error_text: *mut *mut ::std::os::raw::c_char,
16777    ) -> ::std::os::raw::c_int;
16778}
16779extern "C" {
16780    pub fn php_stream_xport_connect(
16781        stream: *mut php_stream,
16782        name: *const ::std::os::raw::c_char,
16783        namelen: ::std::os::raw::c_long,
16784        asynchronous: ::std::os::raw::c_int,
16785        timeout: *mut timeval,
16786        error_text: *mut *mut ::std::os::raw::c_char,
16787        error_code: *mut ::std::os::raw::c_int,
16788    ) -> ::std::os::raw::c_int;
16789}
16790extern "C" {
16791    pub fn php_stream_xport_listen(
16792        stream: *mut php_stream,
16793        backlog: ::std::os::raw::c_int,
16794        error_text: *mut *mut ::std::os::raw::c_char,
16795    ) -> ::std::os::raw::c_int;
16796}
16797extern "C" {
16798    pub fn php_stream_xport_accept(
16799        stream: *mut php_stream,
16800        client: *mut *mut php_stream,
16801        textaddr: *mut *mut ::std::os::raw::c_char,
16802        textaddrlen: *mut ::std::os::raw::c_int,
16803        addr: *mut *mut ::std::os::raw::c_void,
16804        addrlen: *mut socklen_t,
16805        timeout: *mut timeval,
16806        error_text: *mut *mut ::std::os::raw::c_char,
16807    ) -> ::std::os::raw::c_int;
16808}
16809extern "C" {
16810    pub fn php_stream_xport_get_name(
16811        stream: *mut php_stream,
16812        want_peer: ::std::os::raw::c_int,
16813        textaddr: *mut *mut ::std::os::raw::c_char,
16814        textaddrlen: *mut ::std::os::raw::c_int,
16815        addr: *mut *mut ::std::os::raw::c_void,
16816        addrlen: *mut socklen_t,
16817    ) -> ::std::os::raw::c_int;
16818}
16819extern "C" {
16820    pub fn php_stream_xport_recvfrom(
16821        stream: *mut php_stream,
16822        buf: *mut ::std::os::raw::c_char,
16823        buflen: size_t,
16824        flags: ::std::os::raw::c_long,
16825        addr: *mut *mut ::std::os::raw::c_void,
16826        addrlen: *mut socklen_t,
16827        textaddr: *mut *mut ::std::os::raw::c_char,
16828        textaddrlen: *mut ::std::os::raw::c_int,
16829    ) -> ::std::os::raw::c_int;
16830}
16831extern "C" {
16832    pub fn php_stream_xport_sendto(
16833        stream: *mut php_stream,
16834        buf: *const ::std::os::raw::c_char,
16835        buflen: size_t,
16836        flags: ::std::os::raw::c_long,
16837        addr: *mut ::std::os::raw::c_void,
16838        addrlen: socklen_t,
16839    ) -> ::std::os::raw::c_int;
16840}
16841pub const stream_shutdown_t_STREAM_SHUT_RD: stream_shutdown_t = 0;
16842pub const stream_shutdown_t_STREAM_SHUT_WR: stream_shutdown_t = 1;
16843pub const stream_shutdown_t_STREAM_SHUT_RDWR: stream_shutdown_t = 2;
16844pub type stream_shutdown_t = ::std::os::raw::c_uint;
16845extern "C" {
16846    pub fn php_stream_xport_shutdown(
16847        stream: *mut php_stream,
16848        how: stream_shutdown_t,
16849    ) -> ::std::os::raw::c_int;
16850}
16851pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv2_CLIENT:
16852    php_stream_xport_crypt_method_t = 0;
16853pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv3_CLIENT:
16854    php_stream_xport_crypt_method_t = 1;
16855pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv23_CLIENT:
16856    php_stream_xport_crypt_method_t = 2;
16857pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_CLIENT:
16858    php_stream_xport_crypt_method_t = 3;
16859pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv2_SERVER:
16860    php_stream_xport_crypt_method_t = 4;
16861pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv3_SERVER:
16862    php_stream_xport_crypt_method_t = 5;
16863pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv23_SERVER:
16864    php_stream_xport_crypt_method_t = 6;
16865pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_SERVER:
16866    php_stream_xport_crypt_method_t = 7;
16867pub type php_stream_xport_crypt_method_t = ::std::os::raw::c_uint;
16868extern "C" {
16869    pub fn php_stream_xport_crypto_setup(
16870        stream: *mut php_stream,
16871        crypto_method: php_stream_xport_crypt_method_t,
16872        session_stream: *mut php_stream,
16873    ) -> ::std::os::raw::c_int;
16874}
16875extern "C" {
16876    pub fn php_stream_xport_crypto_enable(
16877        stream: *mut php_stream,
16878        activate: ::std::os::raw::c_int,
16879    ) -> ::std::os::raw::c_int;
16880}
16881extern "C" {
16882    pub fn php_stream_xport_get_hash() -> *mut HashTable;
16883}
16884extern "C" {
16885    pub fn php_stream_generic_socket_factory(
16886        proto: *const ::std::os::raw::c_char,
16887        protolen: ::std::os::raw::c_long,
16888        resourcename: *mut ::std::os::raw::c_char,
16889        resourcenamelen: ::std::os::raw::c_long,
16890        persistent_id: *const ::std::os::raw::c_char,
16891        options: ::std::os::raw::c_int,
16892        flags: ::std::os::raw::c_int,
16893        timeout: *mut timeval,
16894        context: *mut php_stream_context,
16895    ) -> *mut php_stream;
16896}
16897extern "C" {
16898    pub static mut php_stream_stdio_ops: php_stream_ops;
16899}
16900extern "C" {
16901    pub static mut php_plain_files_wrapper: php_stream_wrapper;
16902}
16903extern "C" {
16904    pub static mut php_glob_stream_wrapper: php_stream_wrapper;
16905}
16906extern "C" {
16907    pub static mut php_glob_stream_ops: php_stream_ops;
16908}
16909extern "C" {
16910    pub static mut php_stream_userspace_ops: php_stream_ops;
16911}
16912extern "C" {
16913    pub static mut php_stream_userspace_dir_ops: php_stream_ops;
16914}
16915extern "C" {
16916    pub fn php_init_stream_wrappers(module_number: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
16917}
16918extern "C" {
16919    pub fn php_shutdown_stream_wrappers(
16920        module_number: ::std::os::raw::c_int,
16921    ) -> ::std::os::raw::c_int;
16922}
16923extern "C" {
16924    pub fn php_shutdown_stream_hashes();
16925}
16926extern "C" {
16927    pub fn php_register_url_stream_wrapper(
16928        protocol: *mut ::std::os::raw::c_char,
16929        wrapper: *mut php_stream_wrapper,
16930    ) -> ::std::os::raw::c_int;
16931}
16932extern "C" {
16933    pub fn php_unregister_url_stream_wrapper(
16934        protocol: *mut ::std::os::raw::c_char,
16935    ) -> ::std::os::raw::c_int;
16936}
16937extern "C" {
16938    pub fn php_register_url_stream_wrapper_volatile(
16939        protocol: *mut ::std::os::raw::c_char,
16940        wrapper: *mut php_stream_wrapper,
16941    ) -> ::std::os::raw::c_int;
16942}
16943extern "C" {
16944    pub fn php_unregister_url_stream_wrapper_volatile(
16945        protocol: *mut ::std::os::raw::c_char,
16946    ) -> ::std::os::raw::c_int;
16947}
16948extern "C" {
16949    pub fn php_stream_locate_url_wrapper(
16950        path: *const ::std::os::raw::c_char,
16951        path_for_open: *mut *mut ::std::os::raw::c_char,
16952        options: ::std::os::raw::c_int,
16953    ) -> *mut php_stream_wrapper;
16954}
16955extern "C" {
16956    pub fn php_stream_locate_eol(
16957        stream: *mut php_stream,
16958        buf: *mut ::std::os::raw::c_char,
16959        buf_len: size_t,
16960    ) -> *mut ::std::os::raw::c_char;
16961}
16962extern "C" {
16963    pub fn php_stream_wrapper_log_error(
16964        wrapper: *mut php_stream_wrapper,
16965        options: ::std::os::raw::c_int,
16966        fmt: *const ::std::os::raw::c_char,
16967        ...
16968    );
16969}
16970extern "C" {
16971    pub fn php_stream_get_url_stream_wrappers_hash_global() -> *mut HashTable;
16972}
16973extern "C" {
16974    pub fn php_get_stream_filters_hash_global() -> *mut HashTable;
16975}
16976extern "C" {
16977    pub static mut php_stream_user_wrapper_ops: *mut php_stream_wrapper_ops;
16978}
16979extern "C" {
16980    pub static mut php_stream_memory_ops: php_stream_ops;
16981}
16982extern "C" {
16983    pub static mut php_stream_temp_ops: php_stream_ops;
16984}
16985extern "C" {
16986    pub static mut php_stream_rfc2397_ops: php_stream_ops;
16987}
16988extern "C" {
16989    pub static mut php_stream_rfc2397_wrapper: php_stream_wrapper;
16990}
16991#[repr(C)]
16992#[derive(Debug, Copy, Clone)]
16993pub struct _php_core_globals {
16994    pub implicit_flush: zend_bool,
16995    pub output_buffering: ::std::os::raw::c_long,
16996    pub sql_safe_mode: zend_bool,
16997    pub enable_dl: zend_bool,
16998    pub output_handler: *mut ::std::os::raw::c_char,
16999    pub unserialize_callback_func: *mut ::std::os::raw::c_char,
17000    pub serialize_precision: ::std::os::raw::c_long,
17001    pub memory_limit: ::std::os::raw::c_long,
17002    pub max_input_time: ::std::os::raw::c_long,
17003    pub track_errors: zend_bool,
17004    pub display_errors: zend_bool,
17005    pub display_startup_errors: zend_bool,
17006    pub log_errors: zend_bool,
17007    pub log_errors_max_len: ::std::os::raw::c_long,
17008    pub ignore_repeated_errors: zend_bool,
17009    pub ignore_repeated_source: zend_bool,
17010    pub report_memleaks: zend_bool,
17011    pub error_log: *mut ::std::os::raw::c_char,
17012    pub doc_root: *mut ::std::os::raw::c_char,
17013    pub user_dir: *mut ::std::os::raw::c_char,
17014    pub include_path: *mut ::std::os::raw::c_char,
17015    pub open_basedir: *mut ::std::os::raw::c_char,
17016    pub extension_dir: *mut ::std::os::raw::c_char,
17017    pub php_binary: *mut ::std::os::raw::c_char,
17018    pub upload_tmp_dir: *mut ::std::os::raw::c_char,
17019    pub upload_max_filesize: ::std::os::raw::c_long,
17020    pub error_append_string: *mut ::std::os::raw::c_char,
17021    pub error_prepend_string: *mut ::std::os::raw::c_char,
17022    pub auto_prepend_file: *mut ::std::os::raw::c_char,
17023    pub auto_append_file: *mut ::std::os::raw::c_char,
17024    pub arg_separator: arg_separators,
17025    pub variables_order: *mut ::std::os::raw::c_char,
17026    pub rfc1867_protected_variables: HashTable,
17027    pub connection_status: ::std::os::raw::c_short,
17028    pub ignore_user_abort: ::std::os::raw::c_short,
17029    pub header_is_being_sent: ::std::os::raw::c_uchar,
17030    pub tick_functions: zend_llist,
17031    pub http_globals: [*mut zval; 6usize],
17032    pub expose_php: zend_bool,
17033    pub register_argc_argv: zend_bool,
17034    pub auto_globals_jit: zend_bool,
17035    pub docref_root: *mut ::std::os::raw::c_char,
17036    pub docref_ext: *mut ::std::os::raw::c_char,
17037    pub html_errors: zend_bool,
17038    pub xmlrpc_errors: zend_bool,
17039    pub xmlrpc_error_number: ::std::os::raw::c_long,
17040    pub activated_auto_globals: [zend_bool; 8usize],
17041    pub modules_activated: zend_bool,
17042    pub file_uploads: zend_bool,
17043    pub during_request_startup: zend_bool,
17044    pub allow_url_fopen: zend_bool,
17045    pub enable_post_data_reading: zend_bool,
17046    pub always_populate_raw_post_data: zend_bool,
17047    pub report_zend_debug: zend_bool,
17048    pub last_error_type: ::std::os::raw::c_int,
17049    pub last_error_message: *mut ::std::os::raw::c_char,
17050    pub last_error_file: *mut ::std::os::raw::c_char,
17051    pub last_error_lineno: ::std::os::raw::c_int,
17052    pub disable_functions: *mut ::std::os::raw::c_char,
17053    pub disable_classes: *mut ::std::os::raw::c_char,
17054    pub allow_url_include: zend_bool,
17055    pub exit_on_timeout: zend_bool,
17056    pub max_input_nesting_level: ::std::os::raw::c_long,
17057    pub max_input_vars: ::std::os::raw::c_long,
17058    pub in_user_include: zend_bool,
17059    pub user_ini_filename: *mut ::std::os::raw::c_char,
17060    pub user_ini_cache_ttl: ::std::os::raw::c_long,
17061    pub request_order: *mut ::std::os::raw::c_char,
17062    pub mail_x_header: zend_bool,
17063    pub mail_log: *mut ::std::os::raw::c_char,
17064    pub in_error_log: zend_bool,
17065}
17066#[test]
17067fn bindgen_test_layout__php_core_globals() {
17068    assert_eq!(
17069        ::std::mem::size_of::<_php_core_globals>(),
17070        584usize,
17071        concat!("Size of: ", stringify!(_php_core_globals))
17072    );
17073    assert_eq!(
17074        ::std::mem::align_of::<_php_core_globals>(),
17075        8usize,
17076        concat!("Alignment of ", stringify!(_php_core_globals))
17077    );
17078    assert_eq!(
17079        unsafe {
17080            &(*(::std::ptr::null::<_php_core_globals>())).implicit_flush as *const _ as usize
17081        },
17082        0usize,
17083        concat!(
17084            "Offset of field: ",
17085            stringify!(_php_core_globals),
17086            "::",
17087            stringify!(implicit_flush)
17088        )
17089    );
17090    assert_eq!(
17091        unsafe {
17092            &(*(::std::ptr::null::<_php_core_globals>())).output_buffering as *const _ as usize
17093        },
17094        8usize,
17095        concat!(
17096            "Offset of field: ",
17097            stringify!(_php_core_globals),
17098            "::",
17099            stringify!(output_buffering)
17100        )
17101    );
17102    assert_eq!(
17103        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).sql_safe_mode as *const _ as usize },
17104        16usize,
17105        concat!(
17106            "Offset of field: ",
17107            stringify!(_php_core_globals),
17108            "::",
17109            stringify!(sql_safe_mode)
17110        )
17111    );
17112    assert_eq!(
17113        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).enable_dl as *const _ as usize },
17114        17usize,
17115        concat!(
17116            "Offset of field: ",
17117            stringify!(_php_core_globals),
17118            "::",
17119            stringify!(enable_dl)
17120        )
17121    );
17122    assert_eq!(
17123        unsafe {
17124            &(*(::std::ptr::null::<_php_core_globals>())).output_handler as *const _ as usize
17125        },
17126        24usize,
17127        concat!(
17128            "Offset of field: ",
17129            stringify!(_php_core_globals),
17130            "::",
17131            stringify!(output_handler)
17132        )
17133    );
17134    assert_eq!(
17135        unsafe {
17136            &(*(::std::ptr::null::<_php_core_globals>())).unserialize_callback_func as *const _
17137                as usize
17138        },
17139        32usize,
17140        concat!(
17141            "Offset of field: ",
17142            stringify!(_php_core_globals),
17143            "::",
17144            stringify!(unserialize_callback_func)
17145        )
17146    );
17147    assert_eq!(
17148        unsafe {
17149            &(*(::std::ptr::null::<_php_core_globals>())).serialize_precision as *const _ as usize
17150        },
17151        40usize,
17152        concat!(
17153            "Offset of field: ",
17154            stringify!(_php_core_globals),
17155            "::",
17156            stringify!(serialize_precision)
17157        )
17158    );
17159    assert_eq!(
17160        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).memory_limit as *const _ as usize },
17161        48usize,
17162        concat!(
17163            "Offset of field: ",
17164            stringify!(_php_core_globals),
17165            "::",
17166            stringify!(memory_limit)
17167        )
17168    );
17169    assert_eq!(
17170        unsafe {
17171            &(*(::std::ptr::null::<_php_core_globals>())).max_input_time as *const _ as usize
17172        },
17173        56usize,
17174        concat!(
17175            "Offset of field: ",
17176            stringify!(_php_core_globals),
17177            "::",
17178            stringify!(max_input_time)
17179        )
17180    );
17181    assert_eq!(
17182        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).track_errors as *const _ as usize },
17183        64usize,
17184        concat!(
17185            "Offset of field: ",
17186            stringify!(_php_core_globals),
17187            "::",
17188            stringify!(track_errors)
17189        )
17190    );
17191    assert_eq!(
17192        unsafe {
17193            &(*(::std::ptr::null::<_php_core_globals>())).display_errors as *const _ as usize
17194        },
17195        65usize,
17196        concat!(
17197            "Offset of field: ",
17198            stringify!(_php_core_globals),
17199            "::",
17200            stringify!(display_errors)
17201        )
17202    );
17203    assert_eq!(
17204        unsafe {
17205            &(*(::std::ptr::null::<_php_core_globals>())).display_startup_errors as *const _
17206                as usize
17207        },
17208        66usize,
17209        concat!(
17210            "Offset of field: ",
17211            stringify!(_php_core_globals),
17212            "::",
17213            stringify!(display_startup_errors)
17214        )
17215    );
17216    assert_eq!(
17217        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).log_errors as *const _ as usize },
17218        67usize,
17219        concat!(
17220            "Offset of field: ",
17221            stringify!(_php_core_globals),
17222            "::",
17223            stringify!(log_errors)
17224        )
17225    );
17226    assert_eq!(
17227        unsafe {
17228            &(*(::std::ptr::null::<_php_core_globals>())).log_errors_max_len as *const _ as usize
17229        },
17230        72usize,
17231        concat!(
17232            "Offset of field: ",
17233            stringify!(_php_core_globals),
17234            "::",
17235            stringify!(log_errors_max_len)
17236        )
17237    );
17238    assert_eq!(
17239        unsafe {
17240            &(*(::std::ptr::null::<_php_core_globals>())).ignore_repeated_errors as *const _
17241                as usize
17242        },
17243        80usize,
17244        concat!(
17245            "Offset of field: ",
17246            stringify!(_php_core_globals),
17247            "::",
17248            stringify!(ignore_repeated_errors)
17249        )
17250    );
17251    assert_eq!(
17252        unsafe {
17253            &(*(::std::ptr::null::<_php_core_globals>())).ignore_repeated_source as *const _
17254                as usize
17255        },
17256        81usize,
17257        concat!(
17258            "Offset of field: ",
17259            stringify!(_php_core_globals),
17260            "::",
17261            stringify!(ignore_repeated_source)
17262        )
17263    );
17264    assert_eq!(
17265        unsafe {
17266            &(*(::std::ptr::null::<_php_core_globals>())).report_memleaks as *const _ as usize
17267        },
17268        82usize,
17269        concat!(
17270            "Offset of field: ",
17271            stringify!(_php_core_globals),
17272            "::",
17273            stringify!(report_memleaks)
17274        )
17275    );
17276    assert_eq!(
17277        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).error_log as *const _ as usize },
17278        88usize,
17279        concat!(
17280            "Offset of field: ",
17281            stringify!(_php_core_globals),
17282            "::",
17283            stringify!(error_log)
17284        )
17285    );
17286    assert_eq!(
17287        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).doc_root as *const _ as usize },
17288        96usize,
17289        concat!(
17290            "Offset of field: ",
17291            stringify!(_php_core_globals),
17292            "::",
17293            stringify!(doc_root)
17294        )
17295    );
17296    assert_eq!(
17297        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).user_dir as *const _ as usize },
17298        104usize,
17299        concat!(
17300            "Offset of field: ",
17301            stringify!(_php_core_globals),
17302            "::",
17303            stringify!(user_dir)
17304        )
17305    );
17306    assert_eq!(
17307        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).include_path as *const _ as usize },
17308        112usize,
17309        concat!(
17310            "Offset of field: ",
17311            stringify!(_php_core_globals),
17312            "::",
17313            stringify!(include_path)
17314        )
17315    );
17316    assert_eq!(
17317        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).open_basedir as *const _ as usize },
17318        120usize,
17319        concat!(
17320            "Offset of field: ",
17321            stringify!(_php_core_globals),
17322            "::",
17323            stringify!(open_basedir)
17324        )
17325    );
17326    assert_eq!(
17327        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).extension_dir as *const _ as usize },
17328        128usize,
17329        concat!(
17330            "Offset of field: ",
17331            stringify!(_php_core_globals),
17332            "::",
17333            stringify!(extension_dir)
17334        )
17335    );
17336    assert_eq!(
17337        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).php_binary as *const _ as usize },
17338        136usize,
17339        concat!(
17340            "Offset of field: ",
17341            stringify!(_php_core_globals),
17342            "::",
17343            stringify!(php_binary)
17344        )
17345    );
17346    assert_eq!(
17347        unsafe {
17348            &(*(::std::ptr::null::<_php_core_globals>())).upload_tmp_dir as *const _ as usize
17349        },
17350        144usize,
17351        concat!(
17352            "Offset of field: ",
17353            stringify!(_php_core_globals),
17354            "::",
17355            stringify!(upload_tmp_dir)
17356        )
17357    );
17358    assert_eq!(
17359        unsafe {
17360            &(*(::std::ptr::null::<_php_core_globals>())).upload_max_filesize as *const _ as usize
17361        },
17362        152usize,
17363        concat!(
17364            "Offset of field: ",
17365            stringify!(_php_core_globals),
17366            "::",
17367            stringify!(upload_max_filesize)
17368        )
17369    );
17370    assert_eq!(
17371        unsafe {
17372            &(*(::std::ptr::null::<_php_core_globals>())).error_append_string as *const _ as usize
17373        },
17374        160usize,
17375        concat!(
17376            "Offset of field: ",
17377            stringify!(_php_core_globals),
17378            "::",
17379            stringify!(error_append_string)
17380        )
17381    );
17382    assert_eq!(
17383        unsafe {
17384            &(*(::std::ptr::null::<_php_core_globals>())).error_prepend_string as *const _ as usize
17385        },
17386        168usize,
17387        concat!(
17388            "Offset of field: ",
17389            stringify!(_php_core_globals),
17390            "::",
17391            stringify!(error_prepend_string)
17392        )
17393    );
17394    assert_eq!(
17395        unsafe {
17396            &(*(::std::ptr::null::<_php_core_globals>())).auto_prepend_file as *const _ as usize
17397        },
17398        176usize,
17399        concat!(
17400            "Offset of field: ",
17401            stringify!(_php_core_globals),
17402            "::",
17403            stringify!(auto_prepend_file)
17404        )
17405    );
17406    assert_eq!(
17407        unsafe {
17408            &(*(::std::ptr::null::<_php_core_globals>())).auto_append_file as *const _ as usize
17409        },
17410        184usize,
17411        concat!(
17412            "Offset of field: ",
17413            stringify!(_php_core_globals),
17414            "::",
17415            stringify!(auto_append_file)
17416        )
17417    );
17418    assert_eq!(
17419        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).arg_separator as *const _ as usize },
17420        192usize,
17421        concat!(
17422            "Offset of field: ",
17423            stringify!(_php_core_globals),
17424            "::",
17425            stringify!(arg_separator)
17426        )
17427    );
17428    assert_eq!(
17429        unsafe {
17430            &(*(::std::ptr::null::<_php_core_globals>())).variables_order as *const _ as usize
17431        },
17432        208usize,
17433        concat!(
17434            "Offset of field: ",
17435            stringify!(_php_core_globals),
17436            "::",
17437            stringify!(variables_order)
17438        )
17439    );
17440    assert_eq!(
17441        unsafe {
17442            &(*(::std::ptr::null::<_php_core_globals>())).rfc1867_protected_variables as *const _
17443                as usize
17444        },
17445        216usize,
17446        concat!(
17447            "Offset of field: ",
17448            stringify!(_php_core_globals),
17449            "::",
17450            stringify!(rfc1867_protected_variables)
17451        )
17452    );
17453    assert_eq!(
17454        unsafe {
17455            &(*(::std::ptr::null::<_php_core_globals>())).connection_status as *const _ as usize
17456        },
17457        288usize,
17458        concat!(
17459            "Offset of field: ",
17460            stringify!(_php_core_globals),
17461            "::",
17462            stringify!(connection_status)
17463        )
17464    );
17465    assert_eq!(
17466        unsafe {
17467            &(*(::std::ptr::null::<_php_core_globals>())).ignore_user_abort as *const _ as usize
17468        },
17469        290usize,
17470        concat!(
17471            "Offset of field: ",
17472            stringify!(_php_core_globals),
17473            "::",
17474            stringify!(ignore_user_abort)
17475        )
17476    );
17477    assert_eq!(
17478        unsafe {
17479            &(*(::std::ptr::null::<_php_core_globals>())).header_is_being_sent as *const _ as usize
17480        },
17481        292usize,
17482        concat!(
17483            "Offset of field: ",
17484            stringify!(_php_core_globals),
17485            "::",
17486            stringify!(header_is_being_sent)
17487        )
17488    );
17489    assert_eq!(
17490        unsafe {
17491            &(*(::std::ptr::null::<_php_core_globals>())).tick_functions as *const _ as usize
17492        },
17493        296usize,
17494        concat!(
17495            "Offset of field: ",
17496            stringify!(_php_core_globals),
17497            "::",
17498            stringify!(tick_functions)
17499        )
17500    );
17501    assert_eq!(
17502        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).http_globals as *const _ as usize },
17503        352usize,
17504        concat!(
17505            "Offset of field: ",
17506            stringify!(_php_core_globals),
17507            "::",
17508            stringify!(http_globals)
17509        )
17510    );
17511    assert_eq!(
17512        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).expose_php as *const _ as usize },
17513        400usize,
17514        concat!(
17515            "Offset of field: ",
17516            stringify!(_php_core_globals),
17517            "::",
17518            stringify!(expose_php)
17519        )
17520    );
17521    assert_eq!(
17522        unsafe {
17523            &(*(::std::ptr::null::<_php_core_globals>())).register_argc_argv as *const _ as usize
17524        },
17525        401usize,
17526        concat!(
17527            "Offset of field: ",
17528            stringify!(_php_core_globals),
17529            "::",
17530            stringify!(register_argc_argv)
17531        )
17532    );
17533    assert_eq!(
17534        unsafe {
17535            &(*(::std::ptr::null::<_php_core_globals>())).auto_globals_jit as *const _ as usize
17536        },
17537        402usize,
17538        concat!(
17539            "Offset of field: ",
17540            stringify!(_php_core_globals),
17541            "::",
17542            stringify!(auto_globals_jit)
17543        )
17544    );
17545    assert_eq!(
17546        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).docref_root as *const _ as usize },
17547        408usize,
17548        concat!(
17549            "Offset of field: ",
17550            stringify!(_php_core_globals),
17551            "::",
17552            stringify!(docref_root)
17553        )
17554    );
17555    assert_eq!(
17556        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).docref_ext as *const _ as usize },
17557        416usize,
17558        concat!(
17559            "Offset of field: ",
17560            stringify!(_php_core_globals),
17561            "::",
17562            stringify!(docref_ext)
17563        )
17564    );
17565    assert_eq!(
17566        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).html_errors as *const _ as usize },
17567        424usize,
17568        concat!(
17569            "Offset of field: ",
17570            stringify!(_php_core_globals),
17571            "::",
17572            stringify!(html_errors)
17573        )
17574    );
17575    assert_eq!(
17576        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).xmlrpc_errors as *const _ as usize },
17577        425usize,
17578        concat!(
17579            "Offset of field: ",
17580            stringify!(_php_core_globals),
17581            "::",
17582            stringify!(xmlrpc_errors)
17583        )
17584    );
17585    assert_eq!(
17586        unsafe {
17587            &(*(::std::ptr::null::<_php_core_globals>())).xmlrpc_error_number as *const _ as usize
17588        },
17589        432usize,
17590        concat!(
17591            "Offset of field: ",
17592            stringify!(_php_core_globals),
17593            "::",
17594            stringify!(xmlrpc_error_number)
17595        )
17596    );
17597    assert_eq!(
17598        unsafe {
17599            &(*(::std::ptr::null::<_php_core_globals>())).activated_auto_globals as *const _
17600                as usize
17601        },
17602        440usize,
17603        concat!(
17604            "Offset of field: ",
17605            stringify!(_php_core_globals),
17606            "::",
17607            stringify!(activated_auto_globals)
17608        )
17609    );
17610    assert_eq!(
17611        unsafe {
17612            &(*(::std::ptr::null::<_php_core_globals>())).modules_activated as *const _ as usize
17613        },
17614        448usize,
17615        concat!(
17616            "Offset of field: ",
17617            stringify!(_php_core_globals),
17618            "::",
17619            stringify!(modules_activated)
17620        )
17621    );
17622    assert_eq!(
17623        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).file_uploads as *const _ as usize },
17624        449usize,
17625        concat!(
17626            "Offset of field: ",
17627            stringify!(_php_core_globals),
17628            "::",
17629            stringify!(file_uploads)
17630        )
17631    );
17632    assert_eq!(
17633        unsafe {
17634            &(*(::std::ptr::null::<_php_core_globals>())).during_request_startup as *const _
17635                as usize
17636        },
17637        450usize,
17638        concat!(
17639            "Offset of field: ",
17640            stringify!(_php_core_globals),
17641            "::",
17642            stringify!(during_request_startup)
17643        )
17644    );
17645    assert_eq!(
17646        unsafe {
17647            &(*(::std::ptr::null::<_php_core_globals>())).allow_url_fopen as *const _ as usize
17648        },
17649        451usize,
17650        concat!(
17651            "Offset of field: ",
17652            stringify!(_php_core_globals),
17653            "::",
17654            stringify!(allow_url_fopen)
17655        )
17656    );
17657    assert_eq!(
17658        unsafe {
17659            &(*(::std::ptr::null::<_php_core_globals>())).enable_post_data_reading as *const _
17660                as usize
17661        },
17662        452usize,
17663        concat!(
17664            "Offset of field: ",
17665            stringify!(_php_core_globals),
17666            "::",
17667            stringify!(enable_post_data_reading)
17668        )
17669    );
17670    assert_eq!(
17671        unsafe {
17672            &(*(::std::ptr::null::<_php_core_globals>())).always_populate_raw_post_data as *const _
17673                as usize
17674        },
17675        453usize,
17676        concat!(
17677            "Offset of field: ",
17678            stringify!(_php_core_globals),
17679            "::",
17680            stringify!(always_populate_raw_post_data)
17681        )
17682    );
17683    assert_eq!(
17684        unsafe {
17685            &(*(::std::ptr::null::<_php_core_globals>())).report_zend_debug as *const _ as usize
17686        },
17687        454usize,
17688        concat!(
17689            "Offset of field: ",
17690            stringify!(_php_core_globals),
17691            "::",
17692            stringify!(report_zend_debug)
17693        )
17694    );
17695    assert_eq!(
17696        unsafe {
17697            &(*(::std::ptr::null::<_php_core_globals>())).last_error_type as *const _ as usize
17698        },
17699        456usize,
17700        concat!(
17701            "Offset of field: ",
17702            stringify!(_php_core_globals),
17703            "::",
17704            stringify!(last_error_type)
17705        )
17706    );
17707    assert_eq!(
17708        unsafe {
17709            &(*(::std::ptr::null::<_php_core_globals>())).last_error_message as *const _ as usize
17710        },
17711        464usize,
17712        concat!(
17713            "Offset of field: ",
17714            stringify!(_php_core_globals),
17715            "::",
17716            stringify!(last_error_message)
17717        )
17718    );
17719    assert_eq!(
17720        unsafe {
17721            &(*(::std::ptr::null::<_php_core_globals>())).last_error_file as *const _ as usize
17722        },
17723        472usize,
17724        concat!(
17725            "Offset of field: ",
17726            stringify!(_php_core_globals),
17727            "::",
17728            stringify!(last_error_file)
17729        )
17730    );
17731    assert_eq!(
17732        unsafe {
17733            &(*(::std::ptr::null::<_php_core_globals>())).last_error_lineno as *const _ as usize
17734        },
17735        480usize,
17736        concat!(
17737            "Offset of field: ",
17738            stringify!(_php_core_globals),
17739            "::",
17740            stringify!(last_error_lineno)
17741        )
17742    );
17743    assert_eq!(
17744        unsafe {
17745            &(*(::std::ptr::null::<_php_core_globals>())).disable_functions as *const _ as usize
17746        },
17747        488usize,
17748        concat!(
17749            "Offset of field: ",
17750            stringify!(_php_core_globals),
17751            "::",
17752            stringify!(disable_functions)
17753        )
17754    );
17755    assert_eq!(
17756        unsafe {
17757            &(*(::std::ptr::null::<_php_core_globals>())).disable_classes as *const _ as usize
17758        },
17759        496usize,
17760        concat!(
17761            "Offset of field: ",
17762            stringify!(_php_core_globals),
17763            "::",
17764            stringify!(disable_classes)
17765        )
17766    );
17767    assert_eq!(
17768        unsafe {
17769            &(*(::std::ptr::null::<_php_core_globals>())).allow_url_include as *const _ as usize
17770        },
17771        504usize,
17772        concat!(
17773            "Offset of field: ",
17774            stringify!(_php_core_globals),
17775            "::",
17776            stringify!(allow_url_include)
17777        )
17778    );
17779    assert_eq!(
17780        unsafe {
17781            &(*(::std::ptr::null::<_php_core_globals>())).exit_on_timeout as *const _ as usize
17782        },
17783        505usize,
17784        concat!(
17785            "Offset of field: ",
17786            stringify!(_php_core_globals),
17787            "::",
17788            stringify!(exit_on_timeout)
17789        )
17790    );
17791    assert_eq!(
17792        unsafe {
17793            &(*(::std::ptr::null::<_php_core_globals>())).max_input_nesting_level as *const _
17794                as usize
17795        },
17796        512usize,
17797        concat!(
17798            "Offset of field: ",
17799            stringify!(_php_core_globals),
17800            "::",
17801            stringify!(max_input_nesting_level)
17802        )
17803    );
17804    assert_eq!(
17805        unsafe {
17806            &(*(::std::ptr::null::<_php_core_globals>())).max_input_vars as *const _ as usize
17807        },
17808        520usize,
17809        concat!(
17810            "Offset of field: ",
17811            stringify!(_php_core_globals),
17812            "::",
17813            stringify!(max_input_vars)
17814        )
17815    );
17816    assert_eq!(
17817        unsafe {
17818            &(*(::std::ptr::null::<_php_core_globals>())).in_user_include as *const _ as usize
17819        },
17820        528usize,
17821        concat!(
17822            "Offset of field: ",
17823            stringify!(_php_core_globals),
17824            "::",
17825            stringify!(in_user_include)
17826        )
17827    );
17828    assert_eq!(
17829        unsafe {
17830            &(*(::std::ptr::null::<_php_core_globals>())).user_ini_filename as *const _ as usize
17831        },
17832        536usize,
17833        concat!(
17834            "Offset of field: ",
17835            stringify!(_php_core_globals),
17836            "::",
17837            stringify!(user_ini_filename)
17838        )
17839    );
17840    assert_eq!(
17841        unsafe {
17842            &(*(::std::ptr::null::<_php_core_globals>())).user_ini_cache_ttl as *const _ as usize
17843        },
17844        544usize,
17845        concat!(
17846            "Offset of field: ",
17847            stringify!(_php_core_globals),
17848            "::",
17849            stringify!(user_ini_cache_ttl)
17850        )
17851    );
17852    assert_eq!(
17853        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).request_order as *const _ as usize },
17854        552usize,
17855        concat!(
17856            "Offset of field: ",
17857            stringify!(_php_core_globals),
17858            "::",
17859            stringify!(request_order)
17860        )
17861    );
17862    assert_eq!(
17863        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).mail_x_header as *const _ as usize },
17864        560usize,
17865        concat!(
17866            "Offset of field: ",
17867            stringify!(_php_core_globals),
17868            "::",
17869            stringify!(mail_x_header)
17870        )
17871    );
17872    assert_eq!(
17873        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).mail_log as *const _ as usize },
17874        568usize,
17875        concat!(
17876            "Offset of field: ",
17877            stringify!(_php_core_globals),
17878            "::",
17879            stringify!(mail_log)
17880        )
17881    );
17882    assert_eq!(
17883        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).in_error_log as *const _ as usize },
17884        576usize,
17885        concat!(
17886            "Offset of field: ",
17887            stringify!(_php_core_globals),
17888            "::",
17889            stringify!(in_error_log)
17890        )
17891    );
17892}
17893extern "C" {
17894    pub static mut core_globals: _php_core_globals;
17895}
17896#[repr(C)]
17897#[derive(Debug, Copy, Clone)]
17898pub struct _arg_separators {
17899    pub output: *mut ::std::os::raw::c_char,
17900    pub input: *mut ::std::os::raw::c_char,
17901}
17902#[test]
17903fn bindgen_test_layout__arg_separators() {
17904    assert_eq!(
17905        ::std::mem::size_of::<_arg_separators>(),
17906        16usize,
17907        concat!("Size of: ", stringify!(_arg_separators))
17908    );
17909    assert_eq!(
17910        ::std::mem::align_of::<_arg_separators>(),
17911        8usize,
17912        concat!("Alignment of ", stringify!(_arg_separators))
17913    );
17914    assert_eq!(
17915        unsafe { &(*(::std::ptr::null::<_arg_separators>())).output as *const _ as usize },
17916        0usize,
17917        concat!(
17918            "Offset of field: ",
17919            stringify!(_arg_separators),
17920            "::",
17921            stringify!(output)
17922        )
17923    );
17924    assert_eq!(
17925        unsafe { &(*(::std::ptr::null::<_arg_separators>())).input as *const _ as usize },
17926        8usize,
17927        concat!(
17928            "Offset of field: ",
17929            stringify!(_arg_separators),
17930            "::",
17931            stringify!(input)
17932        )
17933    );
17934}
17935pub type arg_separators = _arg_separators;
17936#[repr(C)]
17937#[derive(Debug, Copy, Clone)]
17938pub struct _zend_ini_entry {
17939    pub module_number: ::std::os::raw::c_int,
17940    pub modifiable: ::std::os::raw::c_int,
17941    pub name: *mut ::std::os::raw::c_char,
17942    pub name_length: uint,
17943    pub on_modify: ::std::option::Option<
17944        unsafe extern "C" fn(
17945            entry: *mut zend_ini_entry,
17946            new_value: *mut ::std::os::raw::c_char,
17947            new_value_length: uint,
17948            mh_arg1: *mut ::std::os::raw::c_void,
17949            mh_arg2: *mut ::std::os::raw::c_void,
17950            mh_arg3: *mut ::std::os::raw::c_void,
17951            stage: ::std::os::raw::c_int,
17952        ) -> ::std::os::raw::c_int,
17953    >,
17954    pub mh_arg1: *mut ::std::os::raw::c_void,
17955    pub mh_arg2: *mut ::std::os::raw::c_void,
17956    pub mh_arg3: *mut ::std::os::raw::c_void,
17957    pub value: *mut ::std::os::raw::c_char,
17958    pub value_length: uint,
17959    pub orig_value: *mut ::std::os::raw::c_char,
17960    pub orig_value_length: uint,
17961    pub orig_modifiable: ::std::os::raw::c_int,
17962    pub modified: ::std::os::raw::c_int,
17963    pub displayer: ::std::option::Option<
17964        unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
17965    >,
17966}
17967#[test]
17968fn bindgen_test_layout__zend_ini_entry() {
17969    assert_eq!(
17970        ::std::mem::size_of::<_zend_ini_entry>(),
17971        104usize,
17972        concat!("Size of: ", stringify!(_zend_ini_entry))
17973    );
17974    assert_eq!(
17975        ::std::mem::align_of::<_zend_ini_entry>(),
17976        8usize,
17977        concat!("Alignment of ", stringify!(_zend_ini_entry))
17978    );
17979    assert_eq!(
17980        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).module_number as *const _ as usize },
17981        0usize,
17982        concat!(
17983            "Offset of field: ",
17984            stringify!(_zend_ini_entry),
17985            "::",
17986            stringify!(module_number)
17987        )
17988    );
17989    assert_eq!(
17990        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).modifiable as *const _ as usize },
17991        4usize,
17992        concat!(
17993            "Offset of field: ",
17994            stringify!(_zend_ini_entry),
17995            "::",
17996            stringify!(modifiable)
17997        )
17998    );
17999    assert_eq!(
18000        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).name as *const _ as usize },
18001        8usize,
18002        concat!(
18003            "Offset of field: ",
18004            stringify!(_zend_ini_entry),
18005            "::",
18006            stringify!(name)
18007        )
18008    );
18009    assert_eq!(
18010        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).name_length as *const _ as usize },
18011        16usize,
18012        concat!(
18013            "Offset of field: ",
18014            stringify!(_zend_ini_entry),
18015            "::",
18016            stringify!(name_length)
18017        )
18018    );
18019    assert_eq!(
18020        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).on_modify as *const _ as usize },
18021        24usize,
18022        concat!(
18023            "Offset of field: ",
18024            stringify!(_zend_ini_entry),
18025            "::",
18026            stringify!(on_modify)
18027        )
18028    );
18029    assert_eq!(
18030        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg1 as *const _ as usize },
18031        32usize,
18032        concat!(
18033            "Offset of field: ",
18034            stringify!(_zend_ini_entry),
18035            "::",
18036            stringify!(mh_arg1)
18037        )
18038    );
18039    assert_eq!(
18040        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg2 as *const _ as usize },
18041        40usize,
18042        concat!(
18043            "Offset of field: ",
18044            stringify!(_zend_ini_entry),
18045            "::",
18046            stringify!(mh_arg2)
18047        )
18048    );
18049    assert_eq!(
18050        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg3 as *const _ as usize },
18051        48usize,
18052        concat!(
18053            "Offset of field: ",
18054            stringify!(_zend_ini_entry),
18055            "::",
18056            stringify!(mh_arg3)
18057        )
18058    );
18059    assert_eq!(
18060        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).value as *const _ as usize },
18061        56usize,
18062        concat!(
18063            "Offset of field: ",
18064            stringify!(_zend_ini_entry),
18065            "::",
18066            stringify!(value)
18067        )
18068    );
18069    assert_eq!(
18070        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).value_length as *const _ as usize },
18071        64usize,
18072        concat!(
18073            "Offset of field: ",
18074            stringify!(_zend_ini_entry),
18075            "::",
18076            stringify!(value_length)
18077        )
18078    );
18079    assert_eq!(
18080        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).orig_value as *const _ as usize },
18081        72usize,
18082        concat!(
18083            "Offset of field: ",
18084            stringify!(_zend_ini_entry),
18085            "::",
18086            stringify!(orig_value)
18087        )
18088    );
18089    assert_eq!(
18090        unsafe {
18091            &(*(::std::ptr::null::<_zend_ini_entry>())).orig_value_length as *const _ as usize
18092        },
18093        80usize,
18094        concat!(
18095            "Offset of field: ",
18096            stringify!(_zend_ini_entry),
18097            "::",
18098            stringify!(orig_value_length)
18099        )
18100    );
18101    assert_eq!(
18102        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).orig_modifiable as *const _ as usize },
18103        84usize,
18104        concat!(
18105            "Offset of field: ",
18106            stringify!(_zend_ini_entry),
18107            "::",
18108            stringify!(orig_modifiable)
18109        )
18110    );
18111    assert_eq!(
18112        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).modified as *const _ as usize },
18113        88usize,
18114        concat!(
18115            "Offset of field: ",
18116            stringify!(_zend_ini_entry),
18117            "::",
18118            stringify!(modified)
18119        )
18120    );
18121    assert_eq!(
18122        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).displayer as *const _ as usize },
18123        96usize,
18124        concat!(
18125            "Offset of field: ",
18126            stringify!(_zend_ini_entry),
18127            "::",
18128            stringify!(displayer)
18129        )
18130    );
18131}
18132extern "C" {
18133    pub fn zend_ini_startup() -> ::std::os::raw::c_int;
18134}
18135extern "C" {
18136    pub fn zend_ini_shutdown() -> ::std::os::raw::c_int;
18137}
18138extern "C" {
18139    pub fn zend_ini_global_shutdown() -> ::std::os::raw::c_int;
18140}
18141extern "C" {
18142    pub fn zend_ini_deactivate() -> ::std::os::raw::c_int;
18143}
18144extern "C" {
18145    pub fn zend_copy_ini_directives() -> ::std::os::raw::c_int;
18146}
18147extern "C" {
18148    pub fn zend_ini_sort_entries();
18149}
18150extern "C" {
18151    pub fn zend_register_ini_entries(
18152        ini_entry: *const zend_ini_entry,
18153        module_number: ::std::os::raw::c_int,
18154    ) -> ::std::os::raw::c_int;
18155}
18156extern "C" {
18157    pub fn zend_unregister_ini_entries(module_number: ::std::os::raw::c_int);
18158}
18159extern "C" {
18160    pub fn zend_ini_refresh_caches(stage: ::std::os::raw::c_int);
18161}
18162extern "C" {
18163    pub fn zend_alter_ini_entry(
18164        name: *mut ::std::os::raw::c_char,
18165        name_length: uint,
18166        new_value: *mut ::std::os::raw::c_char,
18167        new_value_length: uint,
18168        modify_type: ::std::os::raw::c_int,
18169        stage: ::std::os::raw::c_int,
18170    ) -> ::std::os::raw::c_int;
18171}
18172extern "C" {
18173    pub fn zend_alter_ini_entry_ex(
18174        name: *mut ::std::os::raw::c_char,
18175        name_length: uint,
18176        new_value: *mut ::std::os::raw::c_char,
18177        new_value_length: uint,
18178        modify_type: ::std::os::raw::c_int,
18179        stage: ::std::os::raw::c_int,
18180        force_change: ::std::os::raw::c_int,
18181    ) -> ::std::os::raw::c_int;
18182}
18183extern "C" {
18184    pub fn zend_restore_ini_entry(
18185        name: *mut ::std::os::raw::c_char,
18186        name_length: uint,
18187        stage: ::std::os::raw::c_int,
18188    ) -> ::std::os::raw::c_int;
18189}
18190extern "C" {
18191    pub fn zend_ini_long(
18192        name: *mut ::std::os::raw::c_char,
18193        name_length: uint,
18194        orig: ::std::os::raw::c_int,
18195    ) -> ::std::os::raw::c_long;
18196}
18197extern "C" {
18198    pub fn zend_ini_double(
18199        name: *mut ::std::os::raw::c_char,
18200        name_length: uint,
18201        orig: ::std::os::raw::c_int,
18202    ) -> f64;
18203}
18204extern "C" {
18205    pub fn zend_ini_string(
18206        name: *mut ::std::os::raw::c_char,
18207        name_length: uint,
18208        orig: ::std::os::raw::c_int,
18209    ) -> *mut ::std::os::raw::c_char;
18210}
18211extern "C" {
18212    pub fn zend_ini_string_ex(
18213        name: *mut ::std::os::raw::c_char,
18214        name_length: uint,
18215        orig: ::std::os::raw::c_int,
18216        exists: *mut zend_bool,
18217    ) -> *mut ::std::os::raw::c_char;
18218}
18219extern "C" {
18220    pub fn zend_ini_register_displayer(
18221        name: *mut ::std::os::raw::c_char,
18222        name_length: uint,
18223        displayer: ::std::option::Option<
18224            unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
18225        >,
18226    ) -> ::std::os::raw::c_int;
18227}
18228extern "C" {
18229    pub fn zend_ini_boolean_displayer_cb(
18230        ini_entry: *mut zend_ini_entry,
18231        type_: ::std::os::raw::c_int,
18232    );
18233}
18234extern "C" {
18235    pub fn zend_ini_color_displayer_cb(
18236        ini_entry: *mut zend_ini_entry,
18237        type_: ::std::os::raw::c_int,
18238    );
18239}
18240pub type zend_ini_parser_cb_t = ::std::option::Option<
18241    unsafe extern "C" fn(
18242        arg1: *mut zval,
18243        arg2: *mut zval,
18244        arg3: *mut zval,
18245        callback_type: ::std::os::raw::c_int,
18246        arg: *mut ::std::os::raw::c_void,
18247    ),
18248>;
18249extern "C" {
18250    pub fn zend_parse_ini_file(
18251        fh: *mut zend_file_handle,
18252        unbuffered_errors: zend_bool,
18253        scanner_mode: ::std::os::raw::c_int,
18254        ini_parser_cb: zend_ini_parser_cb_t,
18255        arg: *mut ::std::os::raw::c_void,
18256    ) -> ::std::os::raw::c_int;
18257}
18258extern "C" {
18259    pub fn zend_parse_ini_string(
18260        str_: *mut ::std::os::raw::c_char,
18261        unbuffered_errors: zend_bool,
18262        scanner_mode: ::std::os::raw::c_int,
18263        ini_parser_cb: zend_ini_parser_cb_t,
18264        arg: *mut ::std::os::raw::c_void,
18265    ) -> ::std::os::raw::c_int;
18266}
18267#[repr(C)]
18268#[derive(Debug, Copy, Clone)]
18269pub struct _zend_ini_parser_param {
18270    pub ini_parser_cb: zend_ini_parser_cb_t,
18271    pub arg: *mut ::std::os::raw::c_void,
18272}
18273#[test]
18274fn bindgen_test_layout__zend_ini_parser_param() {
18275    assert_eq!(
18276        ::std::mem::size_of::<_zend_ini_parser_param>(),
18277        16usize,
18278        concat!("Size of: ", stringify!(_zend_ini_parser_param))
18279    );
18280    assert_eq!(
18281        ::std::mem::align_of::<_zend_ini_parser_param>(),
18282        8usize,
18283        concat!("Alignment of ", stringify!(_zend_ini_parser_param))
18284    );
18285    assert_eq!(
18286        unsafe {
18287            &(*(::std::ptr::null::<_zend_ini_parser_param>())).ini_parser_cb as *const _ as usize
18288        },
18289        0usize,
18290        concat!(
18291            "Offset of field: ",
18292            stringify!(_zend_ini_parser_param),
18293            "::",
18294            stringify!(ini_parser_cb)
18295        )
18296    );
18297    assert_eq!(
18298        unsafe { &(*(::std::ptr::null::<_zend_ini_parser_param>())).arg as *const _ as usize },
18299        8usize,
18300        concat!(
18301            "Offset of field: ",
18302            stringify!(_zend_ini_parser_param),
18303            "::",
18304            stringify!(arg)
18305        )
18306    );
18307}
18308pub type zend_ini_parser_param = _zend_ini_parser_param;
18309extern "C" {
18310    pub fn php_init_config() -> ::std::os::raw::c_int;
18311}
18312extern "C" {
18313    pub fn php_shutdown_config() -> ::std::os::raw::c_int;
18314}
18315extern "C" {
18316    pub fn php_ini_register_extensions();
18317}
18318extern "C" {
18319    pub fn php_parse_user_ini_file(
18320        dirname: *const ::std::os::raw::c_char,
18321        ini_filename: *mut ::std::os::raw::c_char,
18322        target_hash: *mut HashTable,
18323    ) -> ::std::os::raw::c_int;
18324}
18325extern "C" {
18326    pub fn php_ini_activate_config(
18327        source_hash: *mut HashTable,
18328        modify_type: ::std::os::raw::c_int,
18329        stage: ::std::os::raw::c_int,
18330    );
18331}
18332extern "C" {
18333    pub fn php_ini_has_per_dir_config() -> ::std::os::raw::c_int;
18334}
18335extern "C" {
18336    pub fn php_ini_has_per_host_config() -> ::std::os::raw::c_int;
18337}
18338extern "C" {
18339    pub fn php_ini_activate_per_dir_config(path: *mut ::std::os::raw::c_char, path_len: uint);
18340}
18341extern "C" {
18342    pub fn php_ini_activate_per_host_config(host: *const ::std::os::raw::c_char, host_len: uint);
18343}
18344extern "C" {
18345    pub fn php_ini_get_configuration_hash() -> *mut HashTable;
18346}
18347extern "C" {
18348    pub fn php_fopen_primary_script(file_handle: *mut zend_file_handle) -> ::std::os::raw::c_int;
18349}
18350extern "C" {
18351    pub fn php_check_open_basedir(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
18352}
18353extern "C" {
18354    pub fn php_check_open_basedir_ex(
18355        path: *const ::std::os::raw::c_char,
18356        warn: ::std::os::raw::c_int,
18357    ) -> ::std::os::raw::c_int;
18358}
18359extern "C" {
18360    pub fn php_check_specific_open_basedir(
18361        basedir: *const ::std::os::raw::c_char,
18362        path: *const ::std::os::raw::c_char,
18363    ) -> ::std::os::raw::c_int;
18364}
18365extern "C" {
18366    pub fn php_check_safe_mode_include_dir(
18367        path: *const ::std::os::raw::c_char,
18368    ) -> ::std::os::raw::c_int;
18369}
18370extern "C" {
18371    pub fn php_resolve_path(
18372        filename: *const ::std::os::raw::c_char,
18373        filename_len: ::std::os::raw::c_int,
18374        path: *const ::std::os::raw::c_char,
18375    ) -> *mut ::std::os::raw::c_char;
18376}
18377extern "C" {
18378    pub fn php_fopen_with_path(
18379        filename: *const ::std::os::raw::c_char,
18380        mode: *const ::std::os::raw::c_char,
18381        path: *const ::std::os::raw::c_char,
18382        opened_path: *mut *mut ::std::os::raw::c_char,
18383    ) -> *mut FILE;
18384}
18385extern "C" {
18386    pub fn php_strip_url_passwd(path: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
18387}
18388#[repr(C)]
18389#[derive(Debug, Copy, Clone)]
18390pub struct _cwd_state {
18391    pub cwd: *mut ::std::os::raw::c_char,
18392    pub cwd_length: ::std::os::raw::c_int,
18393}
18394#[test]
18395fn bindgen_test_layout__cwd_state() {
18396    assert_eq!(
18397        ::std::mem::size_of::<_cwd_state>(),
18398        16usize,
18399        concat!("Size of: ", stringify!(_cwd_state))
18400    );
18401    assert_eq!(
18402        ::std::mem::align_of::<_cwd_state>(),
18403        8usize,
18404        concat!("Alignment of ", stringify!(_cwd_state))
18405    );
18406    assert_eq!(
18407        unsafe { &(*(::std::ptr::null::<_cwd_state>())).cwd as *const _ as usize },
18408        0usize,
18409        concat!(
18410            "Offset of field: ",
18411            stringify!(_cwd_state),
18412            "::",
18413            stringify!(cwd)
18414        )
18415    );
18416    assert_eq!(
18417        unsafe { &(*(::std::ptr::null::<_cwd_state>())).cwd_length as *const _ as usize },
18418        8usize,
18419        concat!(
18420            "Offset of field: ",
18421            stringify!(_cwd_state),
18422            "::",
18423            stringify!(cwd_length)
18424        )
18425    );
18426}
18427pub type cwd_state = _cwd_state;
18428#[repr(C)]
18429#[derive(Debug, Copy, Clone)]
18430pub struct _realpath_cache_bucket {
18431    pub key: ::std::os::raw::c_ulong,
18432    pub path: *mut ::std::os::raw::c_char,
18433    pub path_len: ::std::os::raw::c_int,
18434    pub realpath: *mut ::std::os::raw::c_char,
18435    pub realpath_len: ::std::os::raw::c_int,
18436    pub is_dir: ::std::os::raw::c_int,
18437    pub expires: time_t,
18438    pub next: *mut _realpath_cache_bucket,
18439}
18440#[test]
18441fn bindgen_test_layout__realpath_cache_bucket() {
18442    assert_eq!(
18443        ::std::mem::size_of::<_realpath_cache_bucket>(),
18444        56usize,
18445        concat!("Size of: ", stringify!(_realpath_cache_bucket))
18446    );
18447    assert_eq!(
18448        ::std::mem::align_of::<_realpath_cache_bucket>(),
18449        8usize,
18450        concat!("Alignment of ", stringify!(_realpath_cache_bucket))
18451    );
18452    assert_eq!(
18453        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).key as *const _ as usize },
18454        0usize,
18455        concat!(
18456            "Offset of field: ",
18457            stringify!(_realpath_cache_bucket),
18458            "::",
18459            stringify!(key)
18460        )
18461    );
18462    assert_eq!(
18463        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).path as *const _ as usize },
18464        8usize,
18465        concat!(
18466            "Offset of field: ",
18467            stringify!(_realpath_cache_bucket),
18468            "::",
18469            stringify!(path)
18470        )
18471    );
18472    assert_eq!(
18473        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).path_len as *const _ as usize },
18474        16usize,
18475        concat!(
18476            "Offset of field: ",
18477            stringify!(_realpath_cache_bucket),
18478            "::",
18479            stringify!(path_len)
18480        )
18481    );
18482    assert_eq!(
18483        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).realpath as *const _ as usize },
18484        24usize,
18485        concat!(
18486            "Offset of field: ",
18487            stringify!(_realpath_cache_bucket),
18488            "::",
18489            stringify!(realpath)
18490        )
18491    );
18492    assert_eq!(
18493        unsafe {
18494            &(*(::std::ptr::null::<_realpath_cache_bucket>())).realpath_len as *const _ as usize
18495        },
18496        32usize,
18497        concat!(
18498            "Offset of field: ",
18499            stringify!(_realpath_cache_bucket),
18500            "::",
18501            stringify!(realpath_len)
18502        )
18503    );
18504    assert_eq!(
18505        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).is_dir as *const _ as usize },
18506        36usize,
18507        concat!(
18508            "Offset of field: ",
18509            stringify!(_realpath_cache_bucket),
18510            "::",
18511            stringify!(is_dir)
18512        )
18513    );
18514    assert_eq!(
18515        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).expires as *const _ as usize },
18516        40usize,
18517        concat!(
18518            "Offset of field: ",
18519            stringify!(_realpath_cache_bucket),
18520            "::",
18521            stringify!(expires)
18522        )
18523    );
18524    assert_eq!(
18525        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).next as *const _ as usize },
18526        48usize,
18527        concat!(
18528            "Offset of field: ",
18529            stringify!(_realpath_cache_bucket),
18530            "::",
18531            stringify!(next)
18532        )
18533    );
18534}
18535pub type realpath_cache_bucket = _realpath_cache_bucket;
18536#[repr(C)]
18537#[derive(Copy, Clone)]
18538pub struct _virtual_cwd_globals {
18539    pub cwd: cwd_state,
18540    pub realpath_cache_size: ::std::os::raw::c_long,
18541    pub realpath_cache_size_limit: ::std::os::raw::c_long,
18542    pub realpath_cache_ttl: ::std::os::raw::c_long,
18543    pub realpath_cache: [*mut realpath_cache_bucket; 1024usize],
18544}
18545#[test]
18546fn bindgen_test_layout__virtual_cwd_globals() {
18547    assert_eq!(
18548        ::std::mem::size_of::<_virtual_cwd_globals>(),
18549        8232usize,
18550        concat!("Size of: ", stringify!(_virtual_cwd_globals))
18551    );
18552    assert_eq!(
18553        ::std::mem::align_of::<_virtual_cwd_globals>(),
18554        8usize,
18555        concat!("Alignment of ", stringify!(_virtual_cwd_globals))
18556    );
18557    assert_eq!(
18558        unsafe { &(*(::std::ptr::null::<_virtual_cwd_globals>())).cwd as *const _ as usize },
18559        0usize,
18560        concat!(
18561            "Offset of field: ",
18562            stringify!(_virtual_cwd_globals),
18563            "::",
18564            stringify!(cwd)
18565        )
18566    );
18567    assert_eq!(
18568        unsafe {
18569            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_size as *const _
18570                as usize
18571        },
18572        16usize,
18573        concat!(
18574            "Offset of field: ",
18575            stringify!(_virtual_cwd_globals),
18576            "::",
18577            stringify!(realpath_cache_size)
18578        )
18579    );
18580    assert_eq!(
18581        unsafe {
18582            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_size_limit as *const _
18583                as usize
18584        },
18585        24usize,
18586        concat!(
18587            "Offset of field: ",
18588            stringify!(_virtual_cwd_globals),
18589            "::",
18590            stringify!(realpath_cache_size_limit)
18591        )
18592    );
18593    assert_eq!(
18594        unsafe {
18595            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_ttl as *const _ as usize
18596        },
18597        32usize,
18598        concat!(
18599            "Offset of field: ",
18600            stringify!(_virtual_cwd_globals),
18601            "::",
18602            stringify!(realpath_cache_ttl)
18603        )
18604    );
18605    assert_eq!(
18606        unsafe {
18607            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache as *const _ as usize
18608        },
18609        40usize,
18610        concat!(
18611            "Offset of field: ",
18612            stringify!(_virtual_cwd_globals),
18613            "::",
18614            stringify!(realpath_cache)
18615        )
18616    );
18617}
18618pub type virtual_cwd_globals = _virtual_cwd_globals;
18619extern "C" {
18620    pub static mut cwd_globals: virtual_cwd_globals;
18621}
18622#[repr(C)]
18623#[derive(Copy, Clone)]
18624pub struct _zend_constant {
18625    pub value: zval,
18626    pub flags: ::std::os::raw::c_int,
18627    pub name: *mut ::std::os::raw::c_char,
18628    pub name_len: uint,
18629    pub module_number: ::std::os::raw::c_int,
18630}
18631#[test]
18632fn bindgen_test_layout__zend_constant() {
18633    assert_eq!(
18634        ::std::mem::size_of::<_zend_constant>(),
18635        48usize,
18636        concat!("Size of: ", stringify!(_zend_constant))
18637    );
18638    assert_eq!(
18639        ::std::mem::align_of::<_zend_constant>(),
18640        8usize,
18641        concat!("Alignment of ", stringify!(_zend_constant))
18642    );
18643    assert_eq!(
18644        unsafe { &(*(::std::ptr::null::<_zend_constant>())).value as *const _ as usize },
18645        0usize,
18646        concat!(
18647            "Offset of field: ",
18648            stringify!(_zend_constant),
18649            "::",
18650            stringify!(value)
18651        )
18652    );
18653    assert_eq!(
18654        unsafe { &(*(::std::ptr::null::<_zend_constant>())).flags as *const _ as usize },
18655        24usize,
18656        concat!(
18657            "Offset of field: ",
18658            stringify!(_zend_constant),
18659            "::",
18660            stringify!(flags)
18661        )
18662    );
18663    assert_eq!(
18664        unsafe { &(*(::std::ptr::null::<_zend_constant>())).name as *const _ as usize },
18665        32usize,
18666        concat!(
18667            "Offset of field: ",
18668            stringify!(_zend_constant),
18669            "::",
18670            stringify!(name)
18671        )
18672    );
18673    assert_eq!(
18674        unsafe { &(*(::std::ptr::null::<_zend_constant>())).name_len as *const _ as usize },
18675        40usize,
18676        concat!(
18677            "Offset of field: ",
18678            stringify!(_zend_constant),
18679            "::",
18680            stringify!(name_len)
18681        )
18682    );
18683    assert_eq!(
18684        unsafe { &(*(::std::ptr::null::<_zend_constant>())).module_number as *const _ as usize },
18685        44usize,
18686        concat!(
18687            "Offset of field: ",
18688            stringify!(_zend_constant),
18689            "::",
18690            stringify!(module_number)
18691        )
18692    );
18693}
18694pub type zend_constant = _zend_constant;
18695extern "C" {
18696    pub fn zend_startup_constants() -> ::std::os::raw::c_int;
18697}
18698extern "C" {
18699    pub fn zend_shutdown_constants() -> ::std::os::raw::c_int;
18700}
18701extern "C" {
18702    pub fn zend_register_standard_constants();
18703}
18704extern "C" {
18705    pub fn zend_get_constant(
18706        name: *const ::std::os::raw::c_char,
18707        name_len: uint,
18708        result: *mut zval,
18709    ) -> ::std::os::raw::c_int;
18710}
18711extern "C" {
18712    pub fn zend_get_constant_ex(
18713        name: *const ::std::os::raw::c_char,
18714        name_len: uint,
18715        result: *mut zval,
18716        scope: *mut zend_class_entry,
18717        flags: ulong,
18718    ) -> ::std::os::raw::c_int;
18719}
18720extern "C" {
18721    pub fn zend_register_long_constant(
18722        name: *const ::std::os::raw::c_char,
18723        name_len: uint,
18724        lval: ::std::os::raw::c_long,
18725        flags: ::std::os::raw::c_int,
18726        module_number: ::std::os::raw::c_int,
18727    );
18728}
18729extern "C" {
18730    pub fn zend_register_double_constant(
18731        name: *const ::std::os::raw::c_char,
18732        name_len: uint,
18733        dval: f64,
18734        flags: ::std::os::raw::c_int,
18735        module_number: ::std::os::raw::c_int,
18736    );
18737}
18738extern "C" {
18739    pub fn zend_register_string_constant(
18740        name: *const ::std::os::raw::c_char,
18741        name_len: uint,
18742        strval: *mut ::std::os::raw::c_char,
18743        flags: ::std::os::raw::c_int,
18744        module_number: ::std::os::raw::c_int,
18745    );
18746}
18747extern "C" {
18748    pub fn zend_register_stringl_constant(
18749        name: *const ::std::os::raw::c_char,
18750        name_len: uint,
18751        strval: *mut ::std::os::raw::c_char,
18752        strlen: uint,
18753        flags: ::std::os::raw::c_int,
18754        module_number: ::std::os::raw::c_int,
18755    );
18756}
18757extern "C" {
18758    pub fn zend_register_constant(c: *mut zend_constant) -> ::std::os::raw::c_int;
18759}
18760extern "C" {
18761    pub fn zend_copy_constants(target: *mut HashTable, sourc: *mut HashTable);
18762}
18763extern "C" {
18764    pub fn zend_quick_get_constant(key: *const zend_literal, flags: ulong) -> *mut zend_constant;
18765}
18766extern "C" {
18767    pub fn php_info_html_esc(string: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
18768}
18769extern "C" {
18770    pub fn php_info_html_esc_write(
18771        string: *mut ::std::os::raw::c_char,
18772        str_len: ::std::os::raw::c_int,
18773    );
18774}
18775extern "C" {
18776    pub fn php_print_info_htmlhead();
18777}
18778extern "C" {
18779    pub fn php_print_info(flag: ::std::os::raw::c_int);
18780}
18781extern "C" {
18782    pub fn php_print_style();
18783}
18784extern "C" {
18785    pub fn php_info_print_style();
18786}
18787extern "C" {
18788    pub fn php_info_print_table_colspan_header(
18789        num_cols: ::std::os::raw::c_int,
18790        header: *mut ::std::os::raw::c_char,
18791    );
18792}
18793extern "C" {
18794    pub fn php_info_print_table_header(num_cols: ::std::os::raw::c_int, ...);
18795}
18796extern "C" {
18797    pub fn php_info_print_table_row(num_cols: ::std::os::raw::c_int, ...);
18798}
18799extern "C" {
18800    pub fn php_info_print_table_row_ex(
18801        num_cols: ::std::os::raw::c_int,
18802        arg1: *const ::std::os::raw::c_char,
18803        ...
18804    );
18805}
18806extern "C" {
18807    pub fn php_info_print_table_start();
18808}
18809extern "C" {
18810    pub fn php_info_print_table_end();
18811}
18812extern "C" {
18813    pub fn php_info_print_box_start(bg: ::std::os::raw::c_int);
18814}
18815extern "C" {
18816    pub fn php_info_print_box_end();
18817}
18818extern "C" {
18819    pub fn php_info_print_hr();
18820}
18821extern "C" {
18822    pub fn php_info_print_module(module: *mut zend_module_entry);
18823}
18824extern "C" {
18825    pub fn php_logo_guid() -> *mut ::std::os::raw::c_char;
18826}
18827extern "C" {
18828    pub fn php_get_uname(mode: ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
18829}
18830#[repr(C)]
18831#[derive(Debug, Copy, Clone)]
18832pub struct _zend_extension_version_info {
18833    pub zend_extension_api_no: ::std::os::raw::c_int,
18834    pub build_id: *mut ::std::os::raw::c_char,
18835}
18836#[test]
18837fn bindgen_test_layout__zend_extension_version_info() {
18838    assert_eq!(
18839        ::std::mem::size_of::<_zend_extension_version_info>(),
18840        16usize,
18841        concat!("Size of: ", stringify!(_zend_extension_version_info))
18842    );
18843    assert_eq!(
18844        ::std::mem::align_of::<_zend_extension_version_info>(),
18845        8usize,
18846        concat!("Alignment of ", stringify!(_zend_extension_version_info))
18847    );
18848    assert_eq!(
18849        unsafe {
18850            &(*(::std::ptr::null::<_zend_extension_version_info>())).zend_extension_api_no
18851                as *const _ as usize
18852        },
18853        0usize,
18854        concat!(
18855            "Offset of field: ",
18856            stringify!(_zend_extension_version_info),
18857            "::",
18858            stringify!(zend_extension_api_no)
18859        )
18860    );
18861    assert_eq!(
18862        unsafe {
18863            &(*(::std::ptr::null::<_zend_extension_version_info>())).build_id as *const _ as usize
18864        },
18865        8usize,
18866        concat!(
18867            "Offset of field: ",
18868            stringify!(_zend_extension_version_info),
18869            "::",
18870            stringify!(build_id)
18871        )
18872    );
18873}
18874pub type zend_extension_version_info = _zend_extension_version_info;
18875pub type zend_extension = _zend_extension;
18876pub type startup_func_t = ::std::option::Option<
18877    unsafe extern "C" fn(extension: *mut zend_extension) -> ::std::os::raw::c_int,
18878>;
18879pub type shutdown_func_t =
18880    ::std::option::Option<unsafe extern "C" fn(extension: *mut zend_extension)>;
18881pub type activate_func_t = ::std::option::Option<unsafe extern "C" fn()>;
18882pub type deactivate_func_t = ::std::option::Option<unsafe extern "C" fn()>;
18883pub type message_handler_func_t = ::std::option::Option<
18884    unsafe extern "C" fn(message: ::std::os::raw::c_int, arg: *mut ::std::os::raw::c_void),
18885>;
18886pub type op_array_handler_func_t =
18887    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
18888pub type statement_handler_func_t =
18889    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
18890pub type fcall_begin_handler_func_t =
18891    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
18892pub type fcall_end_handler_func_t =
18893    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
18894pub type op_array_ctor_func_t =
18895    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
18896pub type op_array_dtor_func_t =
18897    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
18898#[repr(C)]
18899#[derive(Debug, Copy, Clone)]
18900pub struct _zend_extension {
18901    pub name: *mut ::std::os::raw::c_char,
18902    pub version: *mut ::std::os::raw::c_char,
18903    pub author: *mut ::std::os::raw::c_char,
18904    pub URL: *mut ::std::os::raw::c_char,
18905    pub copyright: *mut ::std::os::raw::c_char,
18906    pub startup: startup_func_t,
18907    pub shutdown: shutdown_func_t,
18908    pub activate: activate_func_t,
18909    pub deactivate: deactivate_func_t,
18910    pub message_handler: message_handler_func_t,
18911    pub op_array_handler: op_array_handler_func_t,
18912    pub statement_handler: statement_handler_func_t,
18913    pub fcall_begin_handler: fcall_begin_handler_func_t,
18914    pub fcall_end_handler: fcall_end_handler_func_t,
18915    pub op_array_ctor: op_array_ctor_func_t,
18916    pub op_array_dtor: op_array_dtor_func_t,
18917    pub api_no_check: ::std::option::Option<
18918        unsafe extern "C" fn(api_no: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18919    >,
18920    pub build_id_check: ::std::option::Option<
18921        unsafe extern "C" fn(build_id: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
18922    >,
18923    pub reserved3: *mut ::std::os::raw::c_void,
18924    pub reserved4: *mut ::std::os::raw::c_void,
18925    pub reserved5: *mut ::std::os::raw::c_void,
18926    pub reserved6: *mut ::std::os::raw::c_void,
18927    pub reserved7: *mut ::std::os::raw::c_void,
18928    pub reserved8: *mut ::std::os::raw::c_void,
18929    pub handle: *mut ::std::os::raw::c_void,
18930    pub resource_number: ::std::os::raw::c_int,
18931}
18932#[test]
18933fn bindgen_test_layout__zend_extension() {
18934    assert_eq!(
18935        ::std::mem::size_of::<_zend_extension>(),
18936        208usize,
18937        concat!("Size of: ", stringify!(_zend_extension))
18938    );
18939    assert_eq!(
18940        ::std::mem::align_of::<_zend_extension>(),
18941        8usize,
18942        concat!("Alignment of ", stringify!(_zend_extension))
18943    );
18944    assert_eq!(
18945        unsafe { &(*(::std::ptr::null::<_zend_extension>())).name as *const _ as usize },
18946        0usize,
18947        concat!(
18948            "Offset of field: ",
18949            stringify!(_zend_extension),
18950            "::",
18951            stringify!(name)
18952        )
18953    );
18954    assert_eq!(
18955        unsafe { &(*(::std::ptr::null::<_zend_extension>())).version as *const _ as usize },
18956        8usize,
18957        concat!(
18958            "Offset of field: ",
18959            stringify!(_zend_extension),
18960            "::",
18961            stringify!(version)
18962        )
18963    );
18964    assert_eq!(
18965        unsafe { &(*(::std::ptr::null::<_zend_extension>())).author as *const _ as usize },
18966        16usize,
18967        concat!(
18968            "Offset of field: ",
18969            stringify!(_zend_extension),
18970            "::",
18971            stringify!(author)
18972        )
18973    );
18974    assert_eq!(
18975        unsafe { &(*(::std::ptr::null::<_zend_extension>())).URL as *const _ as usize },
18976        24usize,
18977        concat!(
18978            "Offset of field: ",
18979            stringify!(_zend_extension),
18980            "::",
18981            stringify!(URL)
18982        )
18983    );
18984    assert_eq!(
18985        unsafe { &(*(::std::ptr::null::<_zend_extension>())).copyright as *const _ as usize },
18986        32usize,
18987        concat!(
18988            "Offset of field: ",
18989            stringify!(_zend_extension),
18990            "::",
18991            stringify!(copyright)
18992        )
18993    );
18994    assert_eq!(
18995        unsafe { &(*(::std::ptr::null::<_zend_extension>())).startup as *const _ as usize },
18996        40usize,
18997        concat!(
18998            "Offset of field: ",
18999            stringify!(_zend_extension),
19000            "::",
19001            stringify!(startup)
19002        )
19003    );
19004    assert_eq!(
19005        unsafe { &(*(::std::ptr::null::<_zend_extension>())).shutdown as *const _ as usize },
19006        48usize,
19007        concat!(
19008            "Offset of field: ",
19009            stringify!(_zend_extension),
19010            "::",
19011            stringify!(shutdown)
19012        )
19013    );
19014    assert_eq!(
19015        unsafe { &(*(::std::ptr::null::<_zend_extension>())).activate as *const _ as usize },
19016        56usize,
19017        concat!(
19018            "Offset of field: ",
19019            stringify!(_zend_extension),
19020            "::",
19021            stringify!(activate)
19022        )
19023    );
19024    assert_eq!(
19025        unsafe { &(*(::std::ptr::null::<_zend_extension>())).deactivate as *const _ as usize },
19026        64usize,
19027        concat!(
19028            "Offset of field: ",
19029            stringify!(_zend_extension),
19030            "::",
19031            stringify!(deactivate)
19032        )
19033    );
19034    assert_eq!(
19035        unsafe { &(*(::std::ptr::null::<_zend_extension>())).message_handler as *const _ as usize },
19036        72usize,
19037        concat!(
19038            "Offset of field: ",
19039            stringify!(_zend_extension),
19040            "::",
19041            stringify!(message_handler)
19042        )
19043    );
19044    assert_eq!(
19045        unsafe {
19046            &(*(::std::ptr::null::<_zend_extension>())).op_array_handler as *const _ as usize
19047        },
19048        80usize,
19049        concat!(
19050            "Offset of field: ",
19051            stringify!(_zend_extension),
19052            "::",
19053            stringify!(op_array_handler)
19054        )
19055    );
19056    assert_eq!(
19057        unsafe {
19058            &(*(::std::ptr::null::<_zend_extension>())).statement_handler as *const _ as usize
19059        },
19060        88usize,
19061        concat!(
19062            "Offset of field: ",
19063            stringify!(_zend_extension),
19064            "::",
19065            stringify!(statement_handler)
19066        )
19067    );
19068    assert_eq!(
19069        unsafe {
19070            &(*(::std::ptr::null::<_zend_extension>())).fcall_begin_handler as *const _ as usize
19071        },
19072        96usize,
19073        concat!(
19074            "Offset of field: ",
19075            stringify!(_zend_extension),
19076            "::",
19077            stringify!(fcall_begin_handler)
19078        )
19079    );
19080    assert_eq!(
19081        unsafe {
19082            &(*(::std::ptr::null::<_zend_extension>())).fcall_end_handler as *const _ as usize
19083        },
19084        104usize,
19085        concat!(
19086            "Offset of field: ",
19087            stringify!(_zend_extension),
19088            "::",
19089            stringify!(fcall_end_handler)
19090        )
19091    );
19092    assert_eq!(
19093        unsafe { &(*(::std::ptr::null::<_zend_extension>())).op_array_ctor as *const _ as usize },
19094        112usize,
19095        concat!(
19096            "Offset of field: ",
19097            stringify!(_zend_extension),
19098            "::",
19099            stringify!(op_array_ctor)
19100        )
19101    );
19102    assert_eq!(
19103        unsafe { &(*(::std::ptr::null::<_zend_extension>())).op_array_dtor as *const _ as usize },
19104        120usize,
19105        concat!(
19106            "Offset of field: ",
19107            stringify!(_zend_extension),
19108            "::",
19109            stringify!(op_array_dtor)
19110        )
19111    );
19112    assert_eq!(
19113        unsafe { &(*(::std::ptr::null::<_zend_extension>())).api_no_check as *const _ as usize },
19114        128usize,
19115        concat!(
19116            "Offset of field: ",
19117            stringify!(_zend_extension),
19118            "::",
19119            stringify!(api_no_check)
19120        )
19121    );
19122    assert_eq!(
19123        unsafe { &(*(::std::ptr::null::<_zend_extension>())).build_id_check as *const _ as usize },
19124        136usize,
19125        concat!(
19126            "Offset of field: ",
19127            stringify!(_zend_extension),
19128            "::",
19129            stringify!(build_id_check)
19130        )
19131    );
19132    assert_eq!(
19133        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved3 as *const _ as usize },
19134        144usize,
19135        concat!(
19136            "Offset of field: ",
19137            stringify!(_zend_extension),
19138            "::",
19139            stringify!(reserved3)
19140        )
19141    );
19142    assert_eq!(
19143        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved4 as *const _ as usize },
19144        152usize,
19145        concat!(
19146            "Offset of field: ",
19147            stringify!(_zend_extension),
19148            "::",
19149            stringify!(reserved4)
19150        )
19151    );
19152    assert_eq!(
19153        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved5 as *const _ as usize },
19154        160usize,
19155        concat!(
19156            "Offset of field: ",
19157            stringify!(_zend_extension),
19158            "::",
19159            stringify!(reserved5)
19160        )
19161    );
19162    assert_eq!(
19163        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved6 as *const _ as usize },
19164        168usize,
19165        concat!(
19166            "Offset of field: ",
19167            stringify!(_zend_extension),
19168            "::",
19169            stringify!(reserved6)
19170        )
19171    );
19172    assert_eq!(
19173        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved7 as *const _ as usize },
19174        176usize,
19175        concat!(
19176            "Offset of field: ",
19177            stringify!(_zend_extension),
19178            "::",
19179            stringify!(reserved7)
19180        )
19181    );
19182    assert_eq!(
19183        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved8 as *const _ as usize },
19184        184usize,
19185        concat!(
19186            "Offset of field: ",
19187            stringify!(_zend_extension),
19188            "::",
19189            stringify!(reserved8)
19190        )
19191    );
19192    assert_eq!(
19193        unsafe { &(*(::std::ptr::null::<_zend_extension>())).handle as *const _ as usize },
19194        192usize,
19195        concat!(
19196            "Offset of field: ",
19197            stringify!(_zend_extension),
19198            "::",
19199            stringify!(handle)
19200        )
19201    );
19202    assert_eq!(
19203        unsafe { &(*(::std::ptr::null::<_zend_extension>())).resource_number as *const _ as usize },
19204        200usize,
19205        concat!(
19206            "Offset of field: ",
19207            stringify!(_zend_extension),
19208            "::",
19209            stringify!(resource_number)
19210        )
19211    );
19212}
19213extern "C" {
19214    pub fn zend_get_resource_handle(extension: *mut zend_extension) -> ::std::os::raw::c_int;
19215}
19216extern "C" {
19217    pub fn zend_extension_dispatch_message(
19218        message: ::std::os::raw::c_int,
19219        arg: *mut ::std::os::raw::c_void,
19220    );
19221}
19222extern "C" {
19223    pub static mut zend_extensions: zend_llist;
19224}
19225extern "C" {
19226    pub fn zend_extension_dtor(extension: *mut zend_extension);
19227}
19228extern "C" {
19229    pub fn zend_append_version_info(extension: *const zend_extension);
19230}
19231extern "C" {
19232    pub fn zend_startup_extensions_mechanism() -> ::std::os::raw::c_int;
19233}
19234extern "C" {
19235    pub fn zend_startup_extensions() -> ::std::os::raw::c_int;
19236}
19237extern "C" {
19238    pub fn zend_shutdown_extensions();
19239}
19240extern "C" {
19241    pub fn zend_load_extension(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
19242}
19243extern "C" {
19244    pub fn zend_register_extension(
19245        new_extension: *mut zend_extension,
19246        handle: *mut ::std::os::raw::c_void,
19247    ) -> ::std::os::raw::c_int;
19248}
19249extern "C" {
19250    pub fn zend_get_extension(extension_name: *const ::std::os::raw::c_char)
19251        -> *mut zend_extension;
19252}
19253pub const ZEND_MODULE_BUILD_ID_: &'static [u8; 16usize] = b"API20100525,NTS\0";
19254pub type __builtin_va_list = [__va_list_tag; 1usize];
19255#[repr(C)]
19256#[derive(Debug, Copy, Clone)]
19257pub struct __va_list_tag {
19258    pub gp_offset: ::std::os::raw::c_uint,
19259    pub fp_offset: ::std::os::raw::c_uint,
19260    pub overflow_arg_area: *mut ::std::os::raw::c_void,
19261    pub reg_save_area: *mut ::std::os::raw::c_void,
19262}
19263#[test]
19264fn bindgen_test_layout___va_list_tag() {
19265    assert_eq!(
19266        ::std::mem::size_of::<__va_list_tag>(),
19267        24usize,
19268        concat!("Size of: ", stringify!(__va_list_tag))
19269    );
19270    assert_eq!(
19271        ::std::mem::align_of::<__va_list_tag>(),
19272        8usize,
19273        concat!("Alignment of ", stringify!(__va_list_tag))
19274    );
19275    assert_eq!(
19276        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
19277        0usize,
19278        concat!(
19279            "Offset of field: ",
19280            stringify!(__va_list_tag),
19281            "::",
19282            stringify!(gp_offset)
19283        )
19284    );
19285    assert_eq!(
19286        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
19287        4usize,
19288        concat!(
19289            "Offset of field: ",
19290            stringify!(__va_list_tag),
19291            "::",
19292            stringify!(fp_offset)
19293        )
19294    );
19295    assert_eq!(
19296        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
19297        8usize,
19298        concat!(
19299            "Offset of field: ",
19300            stringify!(__va_list_tag),
19301            "::",
19302            stringify!(overflow_arg_area)
19303        )
19304    );
19305    assert_eq!(
19306        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
19307        16usize,
19308        concat!(
19309            "Offset of field: ",
19310            stringify!(__va_list_tag),
19311            "::",
19312            stringify!(reg_save_area)
19313        )
19314    );
19315}