php_all_sys/generated/
php80.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 = 20200930;
92pub const PHP_DEFAULT_CHARSET: &'static [u8; 6usize] = b"UTF-8\0";
93pub const PHP_BUILD_SYSTEM: &'static [u8; 6usize] = b"Linux\0";
94pub const PHP_CAN_SUPPORT_PROC_OPEN: u32 = 1;
95pub const PHP_HAVE_BUILTIN_CLZ: u32 = 1;
96pub const PHP_HAVE_BUILTIN_CLZL: u32 = 1;
97pub const PHP_HAVE_BUILTIN_CLZLL: u32 = 1;
98pub const PHP_HAVE_BUILTIN_CPU_INIT: u32 = 1;
99pub const PHP_HAVE_BUILTIN_CPU_SUPPORTS: u32 = 1;
100pub const PHP_HAVE_BUILTIN_CTZL: u32 = 1;
101pub const PHP_HAVE_BUILTIN_CTZLL: u32 = 1;
102pub const PHP_HAVE_BUILTIN_EXPECT: u32 = 1;
103pub const PHP_HAVE_BUILTIN_SADDLL_OVERFLOW: u32 = 1;
104pub const PHP_HAVE_BUILTIN_SADDL_OVERFLOW: u32 = 1;
105pub const PHP_HAVE_BUILTIN_SMULLL_OVERFLOW: u32 = 1;
106pub const PHP_HAVE_BUILTIN_SMULL_OVERFLOW: u32 = 1;
107pub const PHP_HAVE_BUILTIN_SSUBLL_OVERFLOW: u32 = 1;
108pub const PHP_HAVE_BUILTIN_SSUBL_OVERFLOW: u32 = 1;
109pub const PHP_MHASH_BC: u32 = 1;
110pub const PHP_OS: &'static [u8; 6usize] = b"Linux\0";
111pub const PHP_SIGCHILD: u32 = 0;
112pub const PHP_UNAME: &'static [u8; 6usize] = b"Linux\0";
113pub const PHP_USE_PHP_CRYPT_R: u32 = 1;
114pub const PHP_WRITE_STDOUT: u32 = 1;
115pub const ZEND_DEBUG: u32 = 0;
116pub const ZEND_MM_ALIGNMENT: u32 = 8;
117pub const ZEND_MM_ALIGNMENT_LOG2: u32 = 3;
118pub const ZEND_SIGNALS: u32 = 1;
119pub const PHP_MAJOR_VERSION: u32 = 8;
120pub const PHP_MINOR_VERSION: u32 = 0;
121pub const PHP_RELEASE_VERSION: u32 = 2;
122pub const PHP_EXTRA_VERSION: &'static [u8; 1usize] = b"\0";
123pub const PHP_VERSION: &'static [u8; 6usize] = b"8.0.2\0";
124pub const PHP_VERSION_ID: u32 = 80002;
125pub const ZEND_VERSION: &'static [u8; 6usize] = b"4.0.2\0";
126pub const ZEND_PATHS_SEPARATOR: u8 = 58u8;
127pub const ZEND_ENABLE_ZVAL_LONG64: u32 = 1;
128pub const ZEND_LTOA_BUF_LEN: u32 = 65;
129pub const ZEND_LONG_FMT: &'static [u8; 4usize] = b"%ld\0";
130pub const ZEND_ULONG_FMT: &'static [u8; 4usize] = b"%lu\0";
131pub const ZEND_XLONG_FMT: &'static [u8; 4usize] = b"%lx\0";
132pub const ZEND_LONG_FMT_SPEC: &'static [u8; 3usize] = b"ld\0";
133pub const ZEND_ULONG_FMT_SPEC: &'static [u8; 3usize] = b"lu\0";
134pub const ZEND_ADDR_FMT: &'static [u8; 9usize] = b"0x%016zx\0";
135pub const ZEND_LONG_CAN_OVFL_INT: u32 = 1;
136pub const ZEND_LONG_CAN_OVFL_UINT: u32 = 1;
137pub const ZEND_SIZE_T_CAN_OVFL_UINT: u32 = 1;
138pub const PHP_RTLD_MODE: u32 = 1;
139pub const ZEND_EXTENSIONS_SUPPORT: u32 = 1;
140pub const ZEND_ALLOCA_MAX_SIZE: u32 = 32768;
141pub const ZEND_MAX_RESERVED_RESOURCES: u32 = 6;
142pub const ZEND_SIZE_MAX: i32 = -1;
143pub const _ZEND_TYPE_EXTRA_FLAGS_SHIFT: u32 = 24;
144pub const _ZEND_TYPE_MASK: u32 = 16777215;
145pub const _ZEND_TYPE_NAME_BIT: u32 = 8388608;
146pub const _ZEND_TYPE_CE_BIT: u32 = 4194304;
147pub const _ZEND_TYPE_LIST_BIT: u32 = 2097152;
148pub const _ZEND_TYPE_KIND_MASK: u32 = 14680064;
149pub const _ZEND_TYPE_ARENA_BIT: u32 = 1048576;
150pub const _ZEND_TYPE_MAY_BE_MASK: u32 = 1048575;
151pub const _ZEND_TYPE_NULLABLE_BIT: u32 = 2;
152pub const IS_UNDEF: u32 = 0;
153pub const IS_NULL: u32 = 1;
154pub const IS_FALSE: u32 = 2;
155pub const IS_TRUE: u32 = 3;
156pub const IS_LONG: u32 = 4;
157pub const IS_DOUBLE: u32 = 5;
158pub const IS_STRING: u32 = 6;
159pub const IS_ARRAY: u32 = 7;
160pub const IS_OBJECT: u32 = 8;
161pub const IS_RESOURCE: u32 = 9;
162pub const IS_REFERENCE: u32 = 10;
163pub const IS_CONSTANT_AST: u32 = 11;
164pub const IS_CALLABLE: u32 = 12;
165pub const IS_ITERABLE: u32 = 13;
166pub const IS_VOID: u32 = 14;
167pub const IS_STATIC: u32 = 15;
168pub const IS_MIXED: u32 = 16;
169pub const IS_INDIRECT: u32 = 12;
170pub const IS_PTR: u32 = 13;
171pub const IS_ALIAS_PTR: u32 = 14;
172pub const _IS_ERROR: u32 = 15;
173pub const _IS_BOOL: u32 = 17;
174pub const _IS_NUMBER: u32 = 18;
175pub const Z_TYPE_MASK: u32 = 255;
176pub const Z_TYPE_FLAGS_MASK: u32 = 65280;
177pub const Z_TYPE_FLAGS_SHIFT: u32 = 8;
178pub const GC_TYPE_MASK: u32 = 15;
179pub const GC_FLAGS_MASK: u32 = 1008;
180pub const GC_INFO_MASK: u32 = 4294966272;
181pub const GC_FLAGS_SHIFT: u32 = 0;
182pub const GC_INFO_SHIFT: u32 = 10;
183pub const GC_NOT_COLLECTABLE: u32 = 16;
184pub const GC_PROTECTED: u32 = 32;
185pub const GC_IMMUTABLE: u32 = 64;
186pub const GC_PERSISTENT: u32 = 128;
187pub const GC_PERSISTENT_LOCAL: u32 = 256;
188pub const GC_NULL: u32 = 17;
189pub const GC_STRING: u32 = 22;
190pub const GC_ARRAY: u32 = 7;
191pub const GC_OBJECT: u32 = 8;
192pub const GC_RESOURCE: u32 = 25;
193pub const GC_REFERENCE: u32 = 26;
194pub const GC_CONSTANT_AST: u32 = 27;
195pub const IS_TYPE_REFCOUNTED: u32 = 1;
196pub const IS_TYPE_COLLECTABLE: u32 = 2;
197pub const IS_INTERNED_STRING_EX: u32 = 6;
198pub const IS_STRING_EX: u32 = 262;
199pub const IS_ARRAY_EX: u32 = 775;
200pub const IS_OBJECT_EX: u32 = 776;
201pub const IS_RESOURCE_EX: u32 = 265;
202pub const IS_REFERENCE_EX: u32 = 266;
203pub const IS_CONSTANT_AST_EX: u32 = 267;
204pub const IS_STR_INTERNED: u32 = 64;
205pub const IS_STR_PERSISTENT: u32 = 128;
206pub const IS_STR_PERMANENT: u32 = 256;
207pub const IS_STR_VALID_UTF8: u32 = 512;
208pub const IS_ARRAY_IMMUTABLE: u32 = 64;
209pub const IS_ARRAY_PERSISTENT: u32 = 128;
210pub const IS_OBJ_WEAKLY_REFERENCED: u32 = 128;
211pub const IS_OBJ_DESTRUCTOR_CALLED: u32 = 256;
212pub const IS_OBJ_FREE_CALLED: u32 = 512;
213pub const ZEND_RC_DEBUG: u32 = 0;
214pub const IS_PROP_UNINIT: u32 = 1;
215pub const ZEND_MAP_PTR_KIND_PTR: u32 = 0;
216pub const ZEND_MAP_PTR_KIND_PTR_OR_OFFSET: u32 = 1;
217pub const ZEND_MAP_PTR_KIND: u32 = 1;
218pub const ZEND_MM_ALIGNMENT_MASK: i32 = -8;
219pub const ZEND_MM_OVERHEAD: u32 = 0;
220pub const ZEND_MM_CHUNK_SIZE: u32 = 2097152;
221pub const ZEND_MM_PAGE_SIZE: u32 = 4096;
222pub const ZEND_MM_PAGES: u32 = 512;
223pub const ZEND_MM_FIRST_PAGE: u32 = 1;
224pub const ZEND_MM_MIN_SMALL_SIZE: u32 = 8;
225pub const ZEND_MM_MAX_SMALL_SIZE: u32 = 3072;
226pub const ZEND_MM_MAX_LARGE_SIZE: u32 = 2093056;
227pub const ZEND_MM_CUSTOM_HEAP_NONE: u32 = 0;
228pub const ZEND_MM_CUSTOM_HEAP_STD: u32 = 1;
229pub const ZEND_MM_CUSTOM_HEAP_DEBUG: u32 = 2;
230pub const HASH_KEY_IS_STRING: u32 = 1;
231pub const HASH_KEY_IS_LONG: u32 = 2;
232pub const HASH_KEY_NON_EXISTENT: u32 = 3;
233pub const HASH_UPDATE: u32 = 1;
234pub const HASH_ADD: u32 = 2;
235pub const HASH_UPDATE_INDIRECT: u32 = 4;
236pub const HASH_ADD_NEW: u32 = 8;
237pub const HASH_ADD_NEXT: u32 = 16;
238pub const HASH_FLAG_CONSISTENCY: u32 = 3;
239pub const HASH_FLAG_PACKED: u32 = 4;
240pub const HASH_FLAG_UNINITIALIZED: u32 = 8;
241pub const HASH_FLAG_STATIC_KEYS: u32 = 16;
242pub const HASH_FLAG_HAS_EMPTY_IND: u32 = 32;
243pub const HASH_FLAG_ALLOW_COW_VIOLATION: u32 = 64;
244pub const HASH_FLAG_MASK: u32 = 255;
245pub const ZEND_HASH_APPLY_KEEP: u32 = 0;
246pub const ZEND_HASH_APPLY_REMOVE: u32 = 1;
247pub const ZEND_HASH_APPLY_STOP: u32 = 2;
248pub const ZEND_AST_SPEC: u32 = 1;
249pub const ZEND_AST_SPECIAL_SHIFT: u32 = 6;
250pub const ZEND_AST_IS_LIST_SHIFT: u32 = 7;
251pub const ZEND_AST_NUM_CHILDREN_SHIFT: u32 = 8;
252pub const ZEND_MMAP_AHEAD: u32 = 32;
253pub const ZEND_SIGNAL_QUEUE_SIZE: u32 = 64;
254pub const DEBUG_BACKTRACE_PROVIDE_OBJECT: u32 = 1;
255pub const DEBUG_BACKTRACE_IGNORE_ARGS: u32 = 2;
256pub const ZEND_PROPERTY_ISSET: u32 = 0;
257pub const ZEND_PROPERTY_EXISTS: u32 = 2;
258pub const ZEND_UNCOMPARABLE: u32 = 1;
259pub const ZEND_USE_ASM_ARITHMETIC: u32 = 1;
260pub const ZEND_USE_ABS_JMP_ADDR: u32 = 0;
261pub const ZEND_USE_ABS_CONST_ADDR: u32 = 0;
262pub const ZEND_LIVE_TMPVAR: u32 = 0;
263pub const ZEND_LIVE_LOOP: u32 = 1;
264pub const ZEND_LIVE_SILENCE: u32 = 2;
265pub const ZEND_LIVE_ROPE: u32 = 3;
266pub const ZEND_LIVE_NEW: u32 = 4;
267pub const ZEND_LIVE_MASK: u32 = 7;
268pub const ZEND_ACC_PUBLIC: u32 = 1;
269pub const ZEND_ACC_PROTECTED: u32 = 2;
270pub const ZEND_ACC_PRIVATE: u32 = 4;
271pub const ZEND_ACC_CHANGED: u32 = 8;
272pub const ZEND_ACC_STATIC: u32 = 16;
273pub const ZEND_ACC_PROMOTED: u32 = 32;
274pub const ZEND_ACC_FINAL: u32 = 32;
275pub const ZEND_ACC_ABSTRACT: u32 = 64;
276pub const ZEND_ACC_EXPLICIT_ABSTRACT_CLASS: u32 = 64;
277pub const ZEND_ACC_IMMUTABLE: u32 = 128;
278pub const ZEND_ACC_HAS_TYPE_HINTS: u32 = 256;
279pub const ZEND_ACC_TOP_LEVEL: u32 = 512;
280pub const ZEND_ACC_PRELOADED: u32 = 1024;
281pub const ZEND_ACC_INTERFACE: u32 = 1;
282pub const ZEND_ACC_TRAIT: u32 = 2;
283pub const ZEND_ACC_ANON_CLASS: u32 = 4;
284pub const ZEND_ACC_LINKED: u32 = 8;
285pub const ZEND_ACC_IMPLICIT_ABSTRACT_CLASS: u32 = 16;
286pub const ZEND_ACC_USE_GUARDS: u32 = 2048;
287pub const ZEND_ACC_CONSTANTS_UPDATED: u32 = 4096;
288pub const ZEND_ACC_NO_DYNAMIC_PROPERTIES: u32 = 8192;
289pub const ZEND_HAS_STATIC_IN_METHODS: u32 = 16384;
290pub const ZEND_ACC_PROPERTY_TYPES_RESOLVED: u32 = 32768;
291pub const ZEND_ACC_REUSE_GET_ITERATOR: u32 = 65536;
292pub const ZEND_ACC_RESOLVED_PARENT: u32 = 131072;
293pub const ZEND_ACC_RESOLVED_INTERFACES: u32 = 262144;
294pub const ZEND_ACC_UNRESOLVED_VARIANCE: u32 = 524288;
295pub const ZEND_ACC_NEARLY_LINKED: u32 = 1048576;
296pub const ZEND_ACC_HAS_UNLINKED_USES: u32 = 2097152;
297pub const ZEND_ACC_DEPRECATED: u32 = 2048;
298pub const ZEND_ACC_RETURN_REFERENCE: u32 = 4096;
299pub const ZEND_ACC_HAS_RETURN_TYPE: u32 = 8192;
300pub const ZEND_ACC_VARIADIC: u32 = 16384;
301pub const ZEND_ACC_HAS_FINALLY_BLOCK: u32 = 32768;
302pub const ZEND_ACC_EARLY_BINDING: u32 = 65536;
303pub const ZEND_ACC_USES_THIS: u32 = 131072;
304pub const ZEND_ACC_CALL_VIA_TRAMPOLINE: u32 = 262144;
305pub const ZEND_ACC_NEVER_CACHE: u32 = 524288;
306pub const ZEND_ACC_TRAIT_CLONE: u32 = 1048576;
307pub const ZEND_ACC_CTOR: u32 = 2097152;
308pub const ZEND_ACC_CLOSURE: u32 = 4194304;
309pub const ZEND_ACC_FAKE_CLOSURE: u32 = 8388608;
310pub const ZEND_ACC_GENERATOR: u32 = 16777216;
311pub const ZEND_ACC_DONE_PASS_TWO: u32 = 33554432;
312pub const ZEND_ACC_ARENA_ALLOCATED: u32 = 33554432;
313pub const ZEND_ACC_HEAP_RT_CACHE: u32 = 67108864;
314pub const ZEND_ACC_USER_ARG_INFO: u32 = 67108864;
315pub const ZEND_ACC_STRICT_TYPES: u32 = 2147483648;
316pub const ZEND_ACC_PPP_MASK: u32 = 7;
317pub const ZEND_ACC_CALL_VIA_HANDLER: u32 = 262144;
318pub const ZEND_SHORT_CIRCUITING_CHAIN_EXPR: u32 = 0;
319pub const ZEND_SHORT_CIRCUITING_CHAIN_ISSET: u32 = 1;
320pub const ZEND_SHORT_CIRCUITING_CHAIN_EMPTY: u32 = 2;
321pub const ZEND_RETURN_VALUE: u32 = 0;
322pub const ZEND_RETURN_REFERENCE: u32 = 1;
323pub const ZEND_CALL_HAS_THIS: u32 = 776;
324pub const ZEND_CALL_FUNCTION: u32 = 0;
325pub const ZEND_CALL_CODE: u32 = 65536;
326pub const ZEND_CALL_NESTED: u32 = 0;
327pub const ZEND_CALL_TOP: u32 = 131072;
328pub const ZEND_CALL_ALLOCATED: u32 = 262144;
329pub const ZEND_CALL_FREE_EXTRA_ARGS: u32 = 524288;
330pub const ZEND_CALL_HAS_SYMBOL_TABLE: u32 = 1048576;
331pub const ZEND_CALL_RELEASE_THIS: u32 = 2097152;
332pub const ZEND_CALL_CLOSURE: u32 = 4194304;
333pub const ZEND_CALL_FAKE_CLOSURE: u32 = 8388608;
334pub const ZEND_CALL_GENERATOR: u32 = 16777216;
335pub const ZEND_CALL_DYNAMIC: u32 = 33554432;
336pub const ZEND_CALL_MAY_HAVE_UNDEF: u32 = 67108864;
337pub const ZEND_CALL_HAS_EXTRA_NAMED_PARAMS: u32 = 134217728;
338pub const ZEND_CALL_SEND_ARG_BY_REF: u32 = 2147483648;
339pub const ZEND_CALL_NESTED_FUNCTION: u32 = 0;
340pub const ZEND_CALL_NESTED_CODE: u32 = 65536;
341pub const ZEND_CALL_TOP_FUNCTION: u32 = 131072;
342pub const ZEND_CALL_TOP_CODE: u32 = 196608;
343pub const IS_UNUSED: u32 = 0;
344pub const IS_CONST: u32 = 1;
345pub const IS_TMP_VAR: u32 = 2;
346pub const IS_VAR: u32 = 4;
347pub const IS_CV: u32 = 8;
348pub const IS_SMART_BRANCH_JMPZ: u32 = 16;
349pub const IS_SMART_BRANCH_JMPNZ: u32 = 32;
350pub const ZEND_EXTRA_VALUE: u32 = 1;
351pub const ZEND_STACK_APPLY_TOPDOWN: u32 = 1;
352pub const ZEND_STACK_APPLY_BOTTOMUP: u32 = 2;
353pub const ZEND_PTR_STACK_NUM_ARGS: u32 = 3;
354pub const ZEND_VM_SPEC: u32 = 1;
355pub const ZEND_VM_LINES: u32 = 0;
356pub const ZEND_VM_KIND_CALL: u32 = 1;
357pub const ZEND_VM_KIND_SWITCH: u32 = 2;
358pub const ZEND_VM_KIND_GOTO: u32 = 3;
359pub const ZEND_VM_KIND_HYBRID: u32 = 4;
360pub const ZEND_VM_KIND: u32 = 4;
361pub const ZEND_VM_HYBRID_JIT_RED_ZONE_SIZE: u32 = 16;
362pub const ZEND_VM_OP_SPEC: u32 = 1;
363pub const ZEND_VM_OP_CONST: u32 = 2;
364pub const ZEND_VM_OP_TMPVAR: u32 = 4;
365pub const ZEND_VM_OP_TMPVARCV: u32 = 8;
366pub const ZEND_VM_OP_MASK: u32 = 240;
367pub const ZEND_VM_OP_NUM: u32 = 16;
368pub const ZEND_VM_OP_JMP_ADDR: u32 = 32;
369pub const ZEND_VM_OP_TRY_CATCH: u32 = 48;
370pub const ZEND_VM_OP_THIS: u32 = 80;
371pub const ZEND_VM_OP_NEXT: u32 = 96;
372pub const ZEND_VM_OP_CLASS_FETCH: u32 = 112;
373pub const ZEND_VM_OP_CONSTRUCTOR: u32 = 128;
374pub const ZEND_VM_OP_CONST_FETCH: u32 = 144;
375pub const ZEND_VM_OP_CACHE_SLOT: u32 = 160;
376pub const ZEND_VM_EXT_VAR_FETCH: u32 = 65536;
377pub const ZEND_VM_EXT_ISSET: u32 = 131072;
378pub const ZEND_VM_EXT_CACHE_SLOT: u32 = 262144;
379pub const ZEND_VM_EXT_ARRAY_INIT: u32 = 524288;
380pub const ZEND_VM_EXT_REF: u32 = 1048576;
381pub const ZEND_VM_EXT_FETCH_REF: u32 = 2097152;
382pub const ZEND_VM_EXT_DIM_WRITE: u32 = 4194304;
383pub const ZEND_VM_EXT_MASK: u32 = 251658240;
384pub const ZEND_VM_EXT_NUM: u32 = 16777216;
385pub const ZEND_VM_EXT_LAST_CATCH: u32 = 33554432;
386pub const ZEND_VM_EXT_JMP_ADDR: u32 = 50331648;
387pub const ZEND_VM_EXT_OP: u32 = 67108864;
388pub const ZEND_VM_EXT_TYPE: u32 = 117440512;
389pub const ZEND_VM_EXT_EVAL: u32 = 134217728;
390pub const ZEND_VM_EXT_TYPE_MASK: u32 = 150994944;
391pub const ZEND_VM_EXT_SRC: u32 = 184549376;
392pub const ZEND_VM_NO_CONST_CONST: u32 = 1073741824;
393pub const ZEND_VM_COMMUTATIVE: u32 = 2147483648;
394pub const ZEND_NOP: u32 = 0;
395pub const ZEND_ADD: u32 = 1;
396pub const ZEND_SUB: u32 = 2;
397pub const ZEND_MUL: u32 = 3;
398pub const ZEND_DIV: u32 = 4;
399pub const ZEND_MOD: u32 = 5;
400pub const ZEND_SL: u32 = 6;
401pub const ZEND_SR: u32 = 7;
402pub const ZEND_CONCAT: u32 = 8;
403pub const ZEND_BW_OR: u32 = 9;
404pub const ZEND_BW_AND: u32 = 10;
405pub const ZEND_BW_XOR: u32 = 11;
406pub const ZEND_POW: u32 = 12;
407pub const ZEND_BW_NOT: u32 = 13;
408pub const ZEND_BOOL_NOT: u32 = 14;
409pub const ZEND_BOOL_XOR: u32 = 15;
410pub const ZEND_IS_IDENTICAL: u32 = 16;
411pub const ZEND_IS_NOT_IDENTICAL: u32 = 17;
412pub const ZEND_IS_EQUAL: u32 = 18;
413pub const ZEND_IS_NOT_EQUAL: u32 = 19;
414pub const ZEND_IS_SMALLER: u32 = 20;
415pub const ZEND_IS_SMALLER_OR_EQUAL: u32 = 21;
416pub const ZEND_ASSIGN: u32 = 22;
417pub const ZEND_ASSIGN_DIM: u32 = 23;
418pub const ZEND_ASSIGN_OBJ: u32 = 24;
419pub const ZEND_ASSIGN_STATIC_PROP: u32 = 25;
420pub const ZEND_ASSIGN_OP: u32 = 26;
421pub const ZEND_ASSIGN_DIM_OP: u32 = 27;
422pub const ZEND_ASSIGN_OBJ_OP: u32 = 28;
423pub const ZEND_ASSIGN_STATIC_PROP_OP: u32 = 29;
424pub const ZEND_ASSIGN_REF: u32 = 30;
425pub const ZEND_QM_ASSIGN: u32 = 31;
426pub const ZEND_ASSIGN_OBJ_REF: u32 = 32;
427pub const ZEND_ASSIGN_STATIC_PROP_REF: u32 = 33;
428pub const ZEND_PRE_INC: u32 = 34;
429pub const ZEND_PRE_DEC: u32 = 35;
430pub const ZEND_POST_INC: u32 = 36;
431pub const ZEND_POST_DEC: u32 = 37;
432pub const ZEND_PRE_INC_STATIC_PROP: u32 = 38;
433pub const ZEND_PRE_DEC_STATIC_PROP: u32 = 39;
434pub const ZEND_POST_INC_STATIC_PROP: u32 = 40;
435pub const ZEND_POST_DEC_STATIC_PROP: u32 = 41;
436pub const ZEND_JMP: u32 = 42;
437pub const ZEND_JMPZ: u32 = 43;
438pub const ZEND_JMPNZ: u32 = 44;
439pub const ZEND_JMPZNZ: u32 = 45;
440pub const ZEND_JMPZ_EX: u32 = 46;
441pub const ZEND_JMPNZ_EX: u32 = 47;
442pub const ZEND_CASE: u32 = 48;
443pub const ZEND_CHECK_VAR: u32 = 49;
444pub const ZEND_SEND_VAR_NO_REF_EX: u32 = 50;
445pub const ZEND_CAST: u32 = 51;
446pub const ZEND_BOOL: u32 = 52;
447pub const ZEND_FAST_CONCAT: u32 = 53;
448pub const ZEND_ROPE_INIT: u32 = 54;
449pub const ZEND_ROPE_ADD: u32 = 55;
450pub const ZEND_ROPE_END: u32 = 56;
451pub const ZEND_BEGIN_SILENCE: u32 = 57;
452pub const ZEND_END_SILENCE: u32 = 58;
453pub const ZEND_INIT_FCALL_BY_NAME: u32 = 59;
454pub const ZEND_DO_FCALL: u32 = 60;
455pub const ZEND_INIT_FCALL: u32 = 61;
456pub const ZEND_RETURN: u32 = 62;
457pub const ZEND_RECV: u32 = 63;
458pub const ZEND_RECV_INIT: u32 = 64;
459pub const ZEND_SEND_VAL: u32 = 65;
460pub const ZEND_SEND_VAR_EX: u32 = 66;
461pub const ZEND_SEND_REF: u32 = 67;
462pub const ZEND_NEW: u32 = 68;
463pub const ZEND_INIT_NS_FCALL_BY_NAME: u32 = 69;
464pub const ZEND_FREE: u32 = 70;
465pub const ZEND_INIT_ARRAY: u32 = 71;
466pub const ZEND_ADD_ARRAY_ELEMENT: u32 = 72;
467pub const ZEND_INCLUDE_OR_EVAL: u32 = 73;
468pub const ZEND_UNSET_VAR: u32 = 74;
469pub const ZEND_UNSET_DIM: u32 = 75;
470pub const ZEND_UNSET_OBJ: u32 = 76;
471pub const ZEND_FE_RESET_R: u32 = 77;
472pub const ZEND_FE_FETCH_R: u32 = 78;
473pub const ZEND_EXIT: u32 = 79;
474pub const ZEND_FETCH_R: u32 = 80;
475pub const ZEND_FETCH_DIM_R: u32 = 81;
476pub const ZEND_FETCH_OBJ_R: u32 = 82;
477pub const ZEND_FETCH_W: u32 = 83;
478pub const ZEND_FETCH_DIM_W: u32 = 84;
479pub const ZEND_FETCH_OBJ_W: u32 = 85;
480pub const ZEND_FETCH_RW: u32 = 86;
481pub const ZEND_FETCH_DIM_RW: u32 = 87;
482pub const ZEND_FETCH_OBJ_RW: u32 = 88;
483pub const ZEND_FETCH_IS: u32 = 89;
484pub const ZEND_FETCH_DIM_IS: u32 = 90;
485pub const ZEND_FETCH_OBJ_IS: u32 = 91;
486pub const ZEND_FETCH_FUNC_ARG: u32 = 92;
487pub const ZEND_FETCH_DIM_FUNC_ARG: u32 = 93;
488pub const ZEND_FETCH_OBJ_FUNC_ARG: u32 = 94;
489pub const ZEND_FETCH_UNSET: u32 = 95;
490pub const ZEND_FETCH_DIM_UNSET: u32 = 96;
491pub const ZEND_FETCH_OBJ_UNSET: u32 = 97;
492pub const ZEND_FETCH_LIST_R: u32 = 98;
493pub const ZEND_FETCH_CONSTANT: u32 = 99;
494pub const ZEND_CHECK_FUNC_ARG: u32 = 100;
495pub const ZEND_EXT_STMT: u32 = 101;
496pub const ZEND_EXT_FCALL_BEGIN: u32 = 102;
497pub const ZEND_EXT_FCALL_END: u32 = 103;
498pub const ZEND_EXT_NOP: u32 = 104;
499pub const ZEND_TICKS: u32 = 105;
500pub const ZEND_SEND_VAR_NO_REF: u32 = 106;
501pub const ZEND_CATCH: u32 = 107;
502pub const ZEND_THROW: u32 = 108;
503pub const ZEND_FETCH_CLASS: u32 = 109;
504pub const ZEND_CLONE: u32 = 110;
505pub const ZEND_RETURN_BY_REF: u32 = 111;
506pub const ZEND_INIT_METHOD_CALL: u32 = 112;
507pub const ZEND_INIT_STATIC_METHOD_CALL: u32 = 113;
508pub const ZEND_ISSET_ISEMPTY_VAR: u32 = 114;
509pub const ZEND_ISSET_ISEMPTY_DIM_OBJ: u32 = 115;
510pub const ZEND_SEND_VAL_EX: u32 = 116;
511pub const ZEND_SEND_VAR: u32 = 117;
512pub const ZEND_INIT_USER_CALL: u32 = 118;
513pub const ZEND_SEND_ARRAY: u32 = 119;
514pub const ZEND_SEND_USER: u32 = 120;
515pub const ZEND_STRLEN: u32 = 121;
516pub const ZEND_DEFINED: u32 = 122;
517pub const ZEND_TYPE_CHECK: u32 = 123;
518pub const ZEND_VERIFY_RETURN_TYPE: u32 = 124;
519pub const ZEND_FE_RESET_RW: u32 = 125;
520pub const ZEND_FE_FETCH_RW: u32 = 126;
521pub const ZEND_FE_FREE: u32 = 127;
522pub const ZEND_INIT_DYNAMIC_CALL: u32 = 128;
523pub const ZEND_DO_ICALL: u32 = 129;
524pub const ZEND_DO_UCALL: u32 = 130;
525pub const ZEND_DO_FCALL_BY_NAME: u32 = 131;
526pub const ZEND_PRE_INC_OBJ: u32 = 132;
527pub const ZEND_PRE_DEC_OBJ: u32 = 133;
528pub const ZEND_POST_INC_OBJ: u32 = 134;
529pub const ZEND_POST_DEC_OBJ: u32 = 135;
530pub const ZEND_ECHO: u32 = 136;
531pub const ZEND_OP_DATA: u32 = 137;
532pub const ZEND_INSTANCEOF: u32 = 138;
533pub const ZEND_GENERATOR_CREATE: u32 = 139;
534pub const ZEND_MAKE_REF: u32 = 140;
535pub const ZEND_DECLARE_FUNCTION: u32 = 141;
536pub const ZEND_DECLARE_LAMBDA_FUNCTION: u32 = 142;
537pub const ZEND_DECLARE_CONST: u32 = 143;
538pub const ZEND_DECLARE_CLASS: u32 = 144;
539pub const ZEND_DECLARE_CLASS_DELAYED: u32 = 145;
540pub const ZEND_DECLARE_ANON_CLASS: u32 = 146;
541pub const ZEND_ADD_ARRAY_UNPACK: u32 = 147;
542pub const ZEND_ISSET_ISEMPTY_PROP_OBJ: u32 = 148;
543pub const ZEND_HANDLE_EXCEPTION: u32 = 149;
544pub const ZEND_USER_OPCODE: u32 = 150;
545pub const ZEND_ASSERT_CHECK: u32 = 151;
546pub const ZEND_JMP_SET: u32 = 152;
547pub const ZEND_UNSET_CV: u32 = 153;
548pub const ZEND_ISSET_ISEMPTY_CV: u32 = 154;
549pub const ZEND_FETCH_LIST_W: u32 = 155;
550pub const ZEND_SEPARATE: u32 = 156;
551pub const ZEND_FETCH_CLASS_NAME: u32 = 157;
552pub const ZEND_CALL_TRAMPOLINE: u32 = 158;
553pub const ZEND_DISCARD_EXCEPTION: u32 = 159;
554pub const ZEND_YIELD: u32 = 160;
555pub const ZEND_GENERATOR_RETURN: u32 = 161;
556pub const ZEND_FAST_CALL: u32 = 162;
557pub const ZEND_FAST_RET: u32 = 163;
558pub const ZEND_RECV_VARIADIC: u32 = 164;
559pub const ZEND_SEND_UNPACK: u32 = 165;
560pub const ZEND_YIELD_FROM: u32 = 166;
561pub const ZEND_COPY_TMP: u32 = 167;
562pub const ZEND_BIND_GLOBAL: u32 = 168;
563pub const ZEND_COALESCE: u32 = 169;
564pub const ZEND_SPACESHIP: u32 = 170;
565pub const ZEND_FUNC_NUM_ARGS: u32 = 171;
566pub const ZEND_FUNC_GET_ARGS: u32 = 172;
567pub const ZEND_FETCH_STATIC_PROP_R: u32 = 173;
568pub const ZEND_FETCH_STATIC_PROP_W: u32 = 174;
569pub const ZEND_FETCH_STATIC_PROP_RW: u32 = 175;
570pub const ZEND_FETCH_STATIC_PROP_IS: u32 = 176;
571pub const ZEND_FETCH_STATIC_PROP_FUNC_ARG: u32 = 177;
572pub const ZEND_FETCH_STATIC_PROP_UNSET: u32 = 178;
573pub const ZEND_UNSET_STATIC_PROP: u32 = 179;
574pub const ZEND_ISSET_ISEMPTY_STATIC_PROP: u32 = 180;
575pub const ZEND_FETCH_CLASS_CONSTANT: u32 = 181;
576pub const ZEND_BIND_LEXICAL: u32 = 182;
577pub const ZEND_BIND_STATIC: u32 = 183;
578pub const ZEND_FETCH_THIS: u32 = 184;
579pub const ZEND_SEND_FUNC_ARG: u32 = 185;
580pub const ZEND_ISSET_ISEMPTY_THIS: u32 = 186;
581pub const ZEND_SWITCH_LONG: u32 = 187;
582pub const ZEND_SWITCH_STRING: u32 = 188;
583pub const ZEND_IN_ARRAY: u32 = 189;
584pub const ZEND_COUNT: u32 = 190;
585pub const ZEND_GET_CLASS: u32 = 191;
586pub const ZEND_GET_CALLED_CLASS: u32 = 192;
587pub const ZEND_GET_TYPE: u32 = 193;
588pub const ZEND_ARRAY_KEY_EXISTS: u32 = 194;
589pub const ZEND_MATCH: u32 = 195;
590pub const ZEND_CASE_STRICT: u32 = 196;
591pub const ZEND_MATCH_ERROR: u32 = 197;
592pub const ZEND_JMP_NULL: u32 = 198;
593pub const ZEND_CHECK_UNDEF_ARGS: u32 = 199;
594pub const ZEND_VM_LAST_OPCODE: u32 = 199;
595pub const ZEND_FETCH_CLASS_DEFAULT: u32 = 0;
596pub const ZEND_FETCH_CLASS_SELF: u32 = 1;
597pub const ZEND_FETCH_CLASS_PARENT: u32 = 2;
598pub const ZEND_FETCH_CLASS_STATIC: u32 = 3;
599pub const ZEND_FETCH_CLASS_AUTO: u32 = 4;
600pub const ZEND_FETCH_CLASS_INTERFACE: u32 = 5;
601pub const ZEND_FETCH_CLASS_TRAIT: u32 = 6;
602pub const ZEND_FETCH_CLASS_MASK: u32 = 15;
603pub const ZEND_FETCH_CLASS_NO_AUTOLOAD: u32 = 128;
604pub const ZEND_FETCH_CLASS_SILENT: u32 = 256;
605pub const ZEND_FETCH_CLASS_EXCEPTION: u32 = 512;
606pub const ZEND_FETCH_CLASS_ALLOW_UNLINKED: u32 = 1024;
607pub const ZEND_FETCH_CLASS_ALLOW_NEARLY_LINKED: u32 = 2048;
608pub const ZEND_PARAM_REF: u32 = 8;
609pub const ZEND_PARAM_VARIADIC: u32 = 16;
610pub const ZEND_NAME_FQ: u32 = 0;
611pub const ZEND_NAME_NOT_FQ: u32 = 1;
612pub const ZEND_NAME_RELATIVE: u32 = 2;
613pub const ZEND_TYPE_NULLABLE: u32 = 256;
614pub const ZEND_ARRAY_SYNTAX_LIST: u32 = 1;
615pub const ZEND_ARRAY_SYNTAX_LONG: u32 = 2;
616pub const ZEND_ARRAY_SYNTAX_SHORT: u32 = 3;
617pub const ZEND_INTERNAL_FUNCTION: u32 = 1;
618pub const ZEND_USER_FUNCTION: u32 = 2;
619pub const ZEND_EVAL_CODE: u32 = 4;
620pub const ZEND_INTERNAL_CLASS: u32 = 1;
621pub const ZEND_USER_CLASS: u32 = 2;
622pub const ZEND_EVAL: u32 = 1;
623pub const ZEND_INCLUDE: u32 = 2;
624pub const ZEND_INCLUDE_ONCE: u32 = 4;
625pub const ZEND_REQUIRE: u32 = 8;
626pub const ZEND_REQUIRE_ONCE: u32 = 16;
627pub const ZEND_FETCH_GLOBAL: u32 = 2;
628pub const ZEND_FETCH_LOCAL: u32 = 4;
629pub const ZEND_FETCH_GLOBAL_LOCK: u32 = 8;
630pub const ZEND_FETCH_TYPE_MASK: u32 = 14;
631pub const ZEND_FETCH_REF: u32 = 1;
632pub const ZEND_FETCH_DIM_WRITE: u32 = 2;
633pub const ZEND_FETCH_OBJ_FLAGS: u32 = 3;
634pub const ZEND_ISEMPTY: u32 = 1;
635pub const ZEND_LAST_CATCH: u32 = 1;
636pub const ZEND_FREE_ON_RETURN: u32 = 1;
637pub const ZEND_FREE_SWITCH: u32 = 2;
638pub const ZEND_SEND_BY_VAL: u32 = 0;
639pub const ZEND_SEND_BY_REF: u32 = 1;
640pub const ZEND_SEND_PREFER_REF: u32 = 2;
641pub const ZEND_THROW_IS_EXPR: u32 = 1;
642pub const ZEND_FCALL_MAY_HAVE_EXTRA_NAMED_PARAMS: u32 = 1;
643pub const _ZEND_SEND_MODE_SHIFT: u32 = 24;
644pub const _ZEND_IS_VARIADIC_BIT: u32 = 67108864;
645pub const _ZEND_IS_PROMOTED_BIT: u32 = 134217728;
646pub const ZEND_DIM_IS: u32 = 1;
647pub const ZEND_DIM_ALTERNATIVE_SYNTAX: u32 = 2;
648pub const IS_CONSTANT_CLASS: u32 = 1024;
649pub const IS_CONSTANT_UNQUALIFIED_IN_NAMESPACE: u32 = 2048;
650pub const ZEND_RETURN_VAL: u32 = 0;
651pub const ZEND_RETURN_REF: u32 = 1;
652pub const ZEND_BIND_VAL: u32 = 0;
653pub const ZEND_BIND_REF: u32 = 1;
654pub const ZEND_BIND_IMPLICIT: u32 = 2;
655pub const ZEND_RETURNS_FUNCTION: u32 = 1;
656pub const ZEND_RETURNS_VALUE: u32 = 2;
657pub const ZEND_ARRAY_ELEMENT_REF: u32 = 1;
658pub const ZEND_ARRAY_NOT_PACKED: u32 = 2;
659pub const ZEND_ARRAY_SIZE_SHIFT: u32 = 2;
660pub const ZEND_PARENTHESIZED_CONDITIONAL: u32 = 1;
661pub const ZEND_SYMBOL_CLASS: u32 = 1;
662pub const ZEND_SYMBOL_FUNCTION: u32 = 2;
663pub const ZEND_SYMBOL_CONST: u32 = 4;
664pub const ZEND_GOTO: u32 = 253;
665pub const ZEND_BRK: u32 = 254;
666pub const ZEND_CONT: u32 = 255;
667pub const ZEND_CLONE_FUNC_NAME: &'static [u8; 8usize] = b"__clone\0";
668pub const ZEND_CONSTRUCTOR_FUNC_NAME: &'static [u8; 12usize] = b"__construct\0";
669pub const ZEND_DESTRUCTOR_FUNC_NAME: &'static [u8; 11usize] = b"__destruct\0";
670pub const ZEND_GET_FUNC_NAME: &'static [u8; 6usize] = b"__get\0";
671pub const ZEND_SET_FUNC_NAME: &'static [u8; 6usize] = b"__set\0";
672pub const ZEND_UNSET_FUNC_NAME: &'static [u8; 8usize] = b"__unset\0";
673pub const ZEND_ISSET_FUNC_NAME: &'static [u8; 8usize] = b"__isset\0";
674pub const ZEND_CALL_FUNC_NAME: &'static [u8; 7usize] = b"__call\0";
675pub const ZEND_CALLSTATIC_FUNC_NAME: &'static [u8; 13usize] = b"__callstatic\0";
676pub const ZEND_TOSTRING_FUNC_NAME: &'static [u8; 11usize] = b"__tostring\0";
677pub const ZEND_INVOKE_FUNC_NAME: &'static [u8; 9usize] = b"__invoke\0";
678pub const ZEND_DEBUGINFO_FUNC_NAME: &'static [u8; 12usize] = b"__debuginfo\0";
679pub const ZEND_COMPILE_EXTENDED_STMT: u32 = 1;
680pub const ZEND_COMPILE_EXTENDED_FCALL: u32 = 2;
681pub const ZEND_COMPILE_EXTENDED_INFO: u32 = 3;
682pub const ZEND_COMPILE_HANDLE_OP_ARRAY: u32 = 4;
683pub const ZEND_COMPILE_IGNORE_INTERNAL_FUNCTIONS: u32 = 8;
684pub const ZEND_COMPILE_IGNORE_INTERNAL_CLASSES: u32 = 16;
685pub const ZEND_COMPILE_DELAYED_BINDING: u32 = 32;
686pub const ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION: u32 = 64;
687pub const ZEND_COMPILE_NO_PERSISTENT_CONSTANT_SUBSTITUTION: u32 = 256;
688pub const ZEND_COMPILE_IGNORE_USER_FUNCTIONS: u32 = 512;
689pub const ZEND_COMPILE_GUARDS: u32 = 1024;
690pub const ZEND_COMPILE_NO_BUILTINS: u32 = 2048;
691pub const ZEND_COMPILE_WITH_FILE_CACHE: u32 = 4096;
692pub const ZEND_COMPILE_IGNORE_OTHER_FILES: u32 = 8192;
693pub const ZEND_COMPILE_WITHOUT_EXECUTION: u32 = 16384;
694pub const ZEND_COMPILE_PRELOAD: u32 = 32768;
695pub const ZEND_COMPILE_NO_JUMPTABLES: u32 = 65536;
696pub const ZEND_COMPILE_PRELOAD_IN_CHILD: u32 = 131072;
697pub const ZEND_COMPILE_DEFAULT: u32 = 4;
698pub const ZEND_COMPILE_DEFAULT_FOR_EVAL: u32 = 0;
699pub const ZEND_BUILD_TS: &'static [u8; 5usize] = b",NTS\0";
700pub const ZEND_MODULE_API_NO: u32 = 20200930;
701pub const USING_ZTS: u32 = 0;
702pub const MODULE_PERSISTENT: u32 = 1;
703pub const MODULE_TEMPORARY: u32 = 2;
704pub const MODULE_DEP_REQUIRED: u32 = 1;
705pub const MODULE_DEP_CONFLICTS: u32 = 2;
706pub const MODULE_DEP_OPTIONAL: u32 = 3;
707pub const ZEND_USER_OPCODE_CONTINUE: u32 = 0;
708pub const ZEND_USER_OPCODE_RETURN: u32 = 1;
709pub const ZEND_USER_OPCODE_DISPATCH: u32 = 2;
710pub const ZEND_USER_OPCODE_ENTER: u32 = 3;
711pub const ZEND_USER_OPCODE_LEAVE: u32 = 4;
712pub const ZEND_USER_OPCODE_DISPATCH_TO: u32 = 256;
713pub const ZEND_PARSE_PARAMS_THROW: u32 = 0;
714pub const ZEND_PARSE_PARAMS_QUIET: u32 = 2;
715pub const IS_CALLABLE_CHECK_SYNTAX_ONLY: u32 = 1;
716pub const IS_CALLABLE_CHECK_SILENT: u32 = 8;
717pub const PHP_OS_FAMILY: &'static [u8; 6usize] = b"Linux\0";
718pub const PHP_DEBUG: u32 = 0;
719pub const PHP_DIR_SEPARATOR: u8 = 47u8;
720pub const PHP_EOL: &'static [u8; 2usize] = b"\n\0";
721pub const PHP_ODBC_CFLAGS: &'static [u8; 1usize] = b"\0";
722pub const PHP_ODBC_LFLAGS: &'static [u8; 1usize] = b"\0";
723pub const PHP_ODBC_LIBS: &'static [u8; 1usize] = b"\0";
724pub const PHP_ODBC_TYPE: &'static [u8; 1usize] = b"\0";
725pub const PHP_OCI8_DIR: &'static [u8; 1usize] = b"\0";
726pub const PHP_OCI8_ORACLE_VERSION: &'static [u8; 1usize] = b"\0";
727pub const PHP_PROG_SENDMAIL: &'static [u8; 19usize] = b"/usr/sbin/sendmail\0";
728pub const PHP_INCLUDE_PATH: &'static [u8; 17usize] = b".:/usr/share/php\0";
729pub const PHP_EXTENSION_DIR: &'static [u8; 22usize] = b"/usr/lib/php/20200930\0";
730pub const PHP_PREFIX: &'static [u8; 5usize] = b"/usr\0";
731pub const PHP_BINDIR: &'static [u8; 9usize] = b"/usr/bin\0";
732pub const PHP_SBINDIR: &'static [u8; 10usize] = b"/usr/sbin\0";
733pub const PHP_MANDIR: &'static [u8; 15usize] = b"/usr/share/man\0";
734pub const PHP_LIBDIR: &'static [u8; 13usize] = b"/usr/lib/php\0";
735pub const PHP_DATADIR: &'static [u8; 19usize] = b"/usr/share/php/8.0\0";
736pub const PHP_SYSCONFDIR: &'static [u8; 5usize] = b"/etc\0";
737pub const PHP_LOCALSTATEDIR: &'static [u8; 5usize] = b"/var\0";
738pub const PHP_CONFIG_FILE_PATH: &'static [u8; 17usize] = b"/etc/php/8.0/cli\0";
739pub const PHP_CONFIG_FILE_SCAN_DIR: &'static [u8; 24usize] = b"/etc/php/8.0/cli/conf.d\0";
740pub const PHP_SHLIB_SUFFIX: &'static [u8; 3usize] = b"so\0";
741pub const PHP_SHLIB_EXT_PREFIX: &'static [u8; 1usize] = b"\0";
742pub const PHP_MIME_TYPE: &'static [u8; 24usize] = b"application/x-httpd-php\0";
743pub const PHP_SYSLOG_FILTER_ALL: u32 = 0;
744pub const PHP_SYSLOG_FILTER_NO_CTRL: u32 = 1;
745pub const PHP_SYSLOG_FILTER_ASCII: u32 = 2;
746pub const PHP_SYSLOG_FILTER_RAW: u32 = 3;
747pub const PHP_OUTPUT_NEWAPI: u32 = 1;
748pub const PHP_OUTPUT_HANDLER_WRITE: u32 = 0;
749pub const PHP_OUTPUT_HANDLER_START: u32 = 1;
750pub const PHP_OUTPUT_HANDLER_CLEAN: u32 = 2;
751pub const PHP_OUTPUT_HANDLER_FLUSH: u32 = 4;
752pub const PHP_OUTPUT_HANDLER_FINAL: u32 = 8;
753pub const PHP_OUTPUT_HANDLER_CONT: u32 = 0;
754pub const PHP_OUTPUT_HANDLER_END: u32 = 8;
755pub const PHP_OUTPUT_HANDLER_INTERNAL: u32 = 0;
756pub const PHP_OUTPUT_HANDLER_USER: u32 = 1;
757pub const PHP_OUTPUT_HANDLER_CLEANABLE: u32 = 16;
758pub const PHP_OUTPUT_HANDLER_FLUSHABLE: u32 = 32;
759pub const PHP_OUTPUT_HANDLER_REMOVABLE: u32 = 64;
760pub const PHP_OUTPUT_HANDLER_STDFLAGS: u32 = 112;
761pub const PHP_OUTPUT_HANDLER_STARTED: u32 = 4096;
762pub const PHP_OUTPUT_HANDLER_DISABLED: u32 = 8192;
763pub const PHP_OUTPUT_HANDLER_PROCESSED: u32 = 16384;
764pub const PHP_OUTPUT_POP_TRY: u32 = 0;
765pub const PHP_OUTPUT_POP_FORCE: u32 = 1;
766pub const PHP_OUTPUT_POP_DISCARD: u32 = 16;
767pub const PHP_OUTPUT_POP_SILENT: u32 = 256;
768pub const PHP_OUTPUT_IMPLICITFLUSH: u32 = 1;
769pub const PHP_OUTPUT_DISABLED: u32 = 2;
770pub const PHP_OUTPUT_WRITTEN: u32 = 4;
771pub const PHP_OUTPUT_SENT: u32 = 8;
772pub const PHP_OUTPUT_ACTIVE: u32 = 16;
773pub const PHP_OUTPUT_LOCKED: u32 = 32;
774pub const PHP_OUTPUT_ACTIVATED: u32 = 1048576;
775pub const PHP_OUTPUT_HANDLER_ALIGNTO_SIZE: u32 = 4096;
776pub const PHP_OUTPUT_HANDLER_DEFAULT_SIZE: u32 = 16384;
777pub const PHP_STREAM_NOTIFIER_PROGRESS: u32 = 1;
778pub const PHP_STREAM_NOTIFY_RESOLVE: u32 = 1;
779pub const PHP_STREAM_NOTIFY_CONNECT: u32 = 2;
780pub const PHP_STREAM_NOTIFY_AUTH_REQUIRED: u32 = 3;
781pub const PHP_STREAM_NOTIFY_MIME_TYPE_IS: u32 = 4;
782pub const PHP_STREAM_NOTIFY_FILE_SIZE_IS: u32 = 5;
783pub const PHP_STREAM_NOTIFY_REDIRECTED: u32 = 6;
784pub const PHP_STREAM_NOTIFY_PROGRESS: u32 = 7;
785pub const PHP_STREAM_NOTIFY_COMPLETED: u32 = 8;
786pub const PHP_STREAM_NOTIFY_FAILURE: u32 = 9;
787pub const PHP_STREAM_NOTIFY_AUTH_RESULT: u32 = 10;
788pub const PHP_STREAM_NOTIFY_SEVERITY_INFO: u32 = 0;
789pub const PHP_STREAM_NOTIFY_SEVERITY_WARN: u32 = 1;
790pub const PHP_STREAM_NOTIFY_SEVERITY_ERR: u32 = 2;
791pub const PHP_STREAM_FILTER_READ: u32 = 1;
792pub const PHP_STREAM_FILTER_WRITE: u32 = 2;
793pub const PHP_STREAM_FILTER_ALL: u32 = 3;
794pub const PHP_STREAM_FLAG_NO_SEEK: u32 = 1;
795pub const PHP_STREAM_FLAG_NO_BUFFER: u32 = 2;
796pub const PHP_STREAM_FLAG_EOL_UNIX: u32 = 0;
797pub const PHP_STREAM_FLAG_DETECT_EOL: u32 = 4;
798pub const PHP_STREAM_FLAG_EOL_MAC: u32 = 8;
799pub const PHP_STREAM_FLAG_AVOID_BLOCKING: u32 = 16;
800pub const PHP_STREAM_FLAG_NO_CLOSE: u32 = 32;
801pub const PHP_STREAM_FLAG_IS_DIR: u32 = 64;
802pub const PHP_STREAM_FLAG_NO_FCLOSE: u32 = 128;
803pub const PHP_STREAM_FLAG_SUPPRESS_ERRORS: u32 = 256;
804pub const PHP_STREAM_FLAG_WAS_WRITTEN: u32 = 2147483648;
805pub const PHP_STREAM_FCLOSE_NONE: u32 = 0;
806pub const PHP_STREAM_FCLOSE_FDOPEN: u32 = 1;
807pub const PHP_STREAM_FCLOSE_FOPENCOOKIE: u32 = 2;
808pub const PHP_STREAM_PERSISTENT_SUCCESS: u32 = 0;
809pub const PHP_STREAM_PERSISTENT_FAILURE: u32 = 1;
810pub const PHP_STREAM_PERSISTENT_NOT_EXIST: u32 = 2;
811pub const PHP_STREAM_FREE_CALL_DTOR: u32 = 1;
812pub const PHP_STREAM_FREE_RELEASE_STREAM: u32 = 2;
813pub const PHP_STREAM_FREE_PRESERVE_HANDLE: u32 = 4;
814pub const PHP_STREAM_FREE_RSRC_DTOR: u32 = 8;
815pub const PHP_STREAM_FREE_PERSISTENT: u32 = 16;
816pub const PHP_STREAM_FREE_IGNORE_ENCLOSING: u32 = 32;
817pub const PHP_STREAM_FREE_KEEP_RSRC: u32 = 64;
818pub const PHP_STREAM_FREE_CLOSE: u32 = 3;
819pub const PHP_STREAM_FREE_CLOSE_CASTED: u32 = 7;
820pub const PHP_STREAM_FREE_CLOSE_PERSISTENT: u32 = 19;
821pub const PHP_STREAM_MKDIR_RECURSIVE: u32 = 1;
822pub const PHP_STREAM_URL_STAT_LINK: u32 = 1;
823pub const PHP_STREAM_URL_STAT_QUIET: u32 = 2;
824pub const PHP_STREAM_URL_STAT_NOCACHE: u32 = 4;
825pub const PHP_STREAM_OPTION_BLOCKING: u32 = 1;
826pub const PHP_STREAM_OPTION_READ_BUFFER: u32 = 2;
827pub const PHP_STREAM_OPTION_WRITE_BUFFER: u32 = 3;
828pub const PHP_STREAM_BUFFER_NONE: u32 = 0;
829pub const PHP_STREAM_BUFFER_LINE: u32 = 1;
830pub const PHP_STREAM_BUFFER_FULL: u32 = 2;
831pub const PHP_STREAM_OPTION_READ_TIMEOUT: u32 = 4;
832pub const PHP_STREAM_OPTION_SET_CHUNK_SIZE: u32 = 5;
833pub const PHP_STREAM_OPTION_LOCKING: u32 = 6;
834pub const PHP_STREAM_LOCK_SUPPORTED: u32 = 1;
835pub const PHP_STREAM_OPTION_XPORT_API: u32 = 7;
836pub const PHP_STREAM_OPTION_CRYPTO_API: u32 = 8;
837pub const PHP_STREAM_OPTION_MMAP_API: u32 = 9;
838pub const PHP_STREAM_OPTION_TRUNCATE_API: u32 = 10;
839pub const PHP_STREAM_TRUNCATE_SUPPORTED: u32 = 0;
840pub const PHP_STREAM_TRUNCATE_SET_SIZE: u32 = 1;
841pub const PHP_STREAM_OPTION_META_DATA_API: u32 = 11;
842pub const PHP_STREAM_OPTION_CHECK_LIVENESS: u32 = 12;
843pub const PHP_STREAM_OPTION_PIPE_BLOCKING: u32 = 13;
844pub const PHP_STREAM_OPTION_RETURN_OK: u32 = 0;
845pub const PHP_STREAM_OPTION_RETURN_ERR: i32 = -1;
846pub const PHP_STREAM_OPTION_RETURN_NOTIMPL: i32 = -2;
847pub const PHP_STREAM_MMAP_ALL: u32 = 0;
848pub const PHP_STREAM_MMAP_MAX: u32 = 536870912;
849pub const PHP_STREAM_AS_STDIO: u32 = 0;
850pub const PHP_STREAM_AS_FD: u32 = 1;
851pub const PHP_STREAM_AS_SOCKETD: u32 = 2;
852pub const PHP_STREAM_AS_FD_FOR_SELECT: u32 = 3;
853pub const PHP_STREAM_CAST_TRY_HARD: u32 = 2147483648;
854pub const PHP_STREAM_CAST_RELEASE: u32 = 1073741824;
855pub const PHP_STREAM_CAST_INTERNAL: u32 = 536870912;
856pub const PHP_STREAM_CAST_MASK: u32 = 3758096384;
857pub const PHP_STREAM_UNCHANGED: u32 = 0;
858pub const PHP_STREAM_RELEASED: u32 = 1;
859pub const PHP_STREAM_FAILED: u32 = 2;
860pub const PHP_STREAM_CRITICAL: u32 = 3;
861pub const PHP_STREAM_NO_PREFERENCE: u32 = 0;
862pub const PHP_STREAM_PREFER_STDIO: u32 = 1;
863pub const PHP_STREAM_FORCE_CONVERSION: u32 = 2;
864pub const PHP_STREAM_IS_URL: u32 = 1;
865pub const PHP_STREAM_META_TOUCH: u32 = 1;
866pub const PHP_STREAM_META_OWNER_NAME: u32 = 2;
867pub const PHP_STREAM_META_OWNER: u32 = 3;
868pub const PHP_STREAM_META_GROUP_NAME: u32 = 4;
869pub const PHP_STREAM_META_GROUP: u32 = 5;
870pub const PHP_STREAM_META_ACCESS: u32 = 6;
871pub const PHP_STREAM_MAX_MEM: u32 = 2097152;
872pub const PHP_DISPLAY_ERRORS_STDOUT: u32 = 1;
873pub const PHP_DISPLAY_ERRORS_STDERR: u32 = 2;
874pub const ZEND_INI_USER: u32 = 1;
875pub const ZEND_INI_PERDIR: u32 = 2;
876pub const ZEND_INI_SYSTEM: u32 = 4;
877pub const ZEND_INI_ALL: u32 = 7;
878pub const ZEND_INI_DISPLAY_ORIG: u32 = 1;
879pub const ZEND_INI_DISPLAY_ACTIVE: u32 = 2;
880pub const ZEND_INI_STAGE_STARTUP: u32 = 1;
881pub const ZEND_INI_STAGE_SHUTDOWN: u32 = 2;
882pub const ZEND_INI_STAGE_ACTIVATE: u32 = 4;
883pub const ZEND_INI_STAGE_DEACTIVATE: u32 = 8;
884pub const ZEND_INI_STAGE_RUNTIME: u32 = 16;
885pub const ZEND_INI_STAGE_HTACCESS: u32 = 32;
886pub const ZEND_INI_STAGE_IN_REQUEST: u32 = 60;
887pub const ZEND_INI_PARSER_ENTRY: u32 = 1;
888pub const ZEND_INI_PARSER_SECTION: u32 = 2;
889pub const ZEND_INI_PARSER_POP_ENTRY: u32 = 3;
890pub const PHP_INI_USER: u32 = 1;
891pub const PHP_INI_PERDIR: u32 = 2;
892pub const PHP_INI_SYSTEM: u32 = 4;
893pub const PHP_INI_ALL: u32 = 7;
894pub const PHP_INI_DISPLAY_ORIG: u32 = 1;
895pub const PHP_INI_DISPLAY_ACTIVE: u32 = 2;
896pub const PHP_INI_STAGE_STARTUP: u32 = 1;
897pub const PHP_INI_STAGE_SHUTDOWN: u32 = 2;
898pub const PHP_INI_STAGE_ACTIVATE: u32 = 4;
899pub const PHP_INI_STAGE_DEACTIVATE: u32 = 8;
900pub const PHP_INI_STAGE_RUNTIME: u32 = 16;
901pub const PHP_INI_STAGE_HTACCESS: u32 = 32;
902pub const PHP_USER_CONSTANT: u32 = 8388607;
903pub const PHP_CONNECTION_NORMAL: u32 = 0;
904pub const PHP_CONNECTION_ABORTED: u32 = 1;
905pub const PHP_CONNECTION_TIMEOUT: u32 = 2;
906pub const PHP_ENTRY_NAME_COLOR: &'static [u8; 5usize] = b"#ccf\0";
907pub const PHP_CONTENTS_COLOR: &'static [u8; 5usize] = b"#ccc\0";
908pub const PHP_HEADER_COLOR: &'static [u8; 5usize] = b"#99c\0";
909pub const PHP_INFO_GENERAL: u32 = 1;
910pub const PHP_INFO_CREDITS: u32 = 2;
911pub const PHP_INFO_CONFIGURATION: u32 = 4;
912pub const PHP_INFO_MODULES: u32 = 8;
913pub const PHP_INFO_ENVIRONMENT: u32 = 16;
914pub const PHP_INFO_VARIABLES: u32 = 32;
915pub const PHP_INFO_LICENSE: u32 = 64;
916pub const PHP_INFO_ALL: u32 = 4294967295;
917pub const PHP_CREDITS_GROUP: u32 = 1;
918pub const PHP_CREDITS_GENERAL: u32 = 2;
919pub const PHP_CREDITS_SAPI: u32 = 4;
920pub const PHP_CREDITS_MODULES: u32 = 8;
921pub const PHP_CREDITS_DOCS: u32 = 16;
922pub const PHP_CREDITS_FULLPAGE: u32 = 32;
923pub const PHP_CREDITS_QA: u32 = 64;
924pub const PHP_CREDITS_WEB: u32 = 128;
925pub const PHP_CREDITS_PACKAGING: u32 = 256;
926pub const PHP_CREDITS_ALL: u32 = 4294967295;
927pub const PHP_LOGO_DATA_URI : & 'static [u8 ; 5439usize] = b"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAABACAYAAAA+j9gsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAD4BJREFUeNrsnXtwXFUdx8/dBGihmE21QCrQDY6oZZykon/gY5qizjgM2KQMfzFAOioOA5KEh+j4R9oZH7zT6MAMKrNphZFSQreKHRgZmspLHSCJ2Co6tBtJk7Zps7tJs5t95F5/33PvWU4293F29ybdlPzaM3df2XPv+Zzf4/zOuWc1tkjl+T0HQ3SQC6SBSlD6WKN4rusGm9F1ps/o5mPriOf8dd0YoNfi0nt4ntB1PT4zYwzQkf3kR9/sW4xtpS0CmE0SyPUFUJXFMIxZcM0jAZ4xrKMudQT7963HBF0n6EaUjkP0vI9K9OEHWqJLkNW1s8mC2WgVTwGAqWTafJzTWTKZmQuZ/k1MpAi2+eys6mpWfVaAPzcILu8EVKoCAaYFtPxrAXo8qyNwzZc7gSgzgN9Hx0Ecn3j8xr4lyHOhNrlpaJIgptM5DjCdzrJ0Jmce6bWFkOpqs0MErA4gXIBuAmY53gFmOPCcdaTXCbq+n16PPLXjewMfGcgEttECeouTpk5MplhyKsPBTiXNYyULtwIW7Cx1vlwuJyDLR9L0mQiVPb27fhA54yBbGttMpc1OWwF1cmKaH2FSF7vAjGezOZZJZ9j0dIZlMhnuRiToMO0c+N4X7oksasgEt9XS2KZCHzoem2Ixq5zpAuDTqTR14FMslZyepeEI4Ogj26n0vLj33uiigExgMWRpt+CGCsEePZqoePM738BPTaJzT7CpU0nu1yXpAXCC3VeRkCW4bfJYFZo6dmJyQTW2tvZc1nb719iyZWc5fmZ6Osu6H3uVzit52oBnMll2YizGxk8muFZLAshb/YKtzQdcaO3Y2CQ7eiy+YNGvLN+4+nJetm3bxhKJxJz316xZw1pbW9kLew+w1944XBEaPj6eYCeOx1gqNe07bK1MwIDbKcOFOR49GuePT5fcfOMX2drPXcQ0zf7y2tvbWVdXF/v1k2+yQ4dPVpQ5P0Um/NjoCX6UBMFZR6k+u7qMYVBYDIEqBW7eXAfPZX19zp2/oaGBHysNMGTFinPZik9fWggbI5Omb13zUDeB3lLsdwaK/YPeyAFU0i8Aw9/2Dwyx4SPjFQEYUlf3MTYw4Jx7CIVCbHR0oqIDNMD+FMG+ZE0dO/tsHlvAWnYS6H4qjfMC+Zld/wg92/tuv2WeeYT87j+H2aFDxysGLuSy+o/z49DQkONnmpqa2MjRyoYsZOXKGnb5Z+vZqlUrxUsAvI9At/oK+elnBpoNw+Dai9TekSMxDrgSh0KrSYshTprc2NhoRf1JtlikqirAVl98AddsSavDBDrsC+QdT7/TSoB344tzOZ39+70RbporVerqasyw1MEnC8iV6I9VTDi0uqbmfPFSq2W+gyUHXuEdb3WR5rab5jnD3i/BNMN8ChNaqsTiKa55KmBWX+Tuj0XQdQVF307nhTH0CPls+O0UPbaT5TQG/8qX68u6LpV67LQ6dNknaYgaYyPDx2TzvYGCsnhRkH8b/rsF2GDj1MCInkvxvRjOuCUlipWD/zrKx7ZOwBF0vfSSM2ShyaqAAOC1Nw+zt9/5YNbrN1zfwIdpfgnqebv/A6pnWAn4qlW1HPgHQ6OeoG3N9RO/+StMdDtmV2LxJPfBpQCGfwTgrVu38jFrKaW2tpZt2LCBdXR0sEgkwhv21u9cxQsyW3ZB1+DgoOM54btU6tu8eTPr6elhy5fr7IZNDey+e76e9/fCLcAllHpdKKinpaUlX8+111xB9VzNrYxqUAY/XVVVJYMOekLu2fFGM8VWYQRYiYkU9bD4vPlHFYnH4/zvkb1CgwACHgMoUpdyw3sFXcXUh4YHaNSHDqaxdL5jwVTXBpeXVY9oF3RcUQ+O09NT7Cayfld+4RJlP42gTIq8w66Qf/X4a6FTSSMMDcaE/NhYecMM+MdyG90OAhodWoAGkTUaSZByO5WdiA4GqwStrrM6k5vFKEXQserr63l7oR5V0NBojKctaSZtbneErOtGmFxwkGewjk0UzpCUlJSIRqMcjN8CkHLDqyRByq0PEGBBhDmdj7rQVujAaLfrrlk7xyW5gUaxpEtOmOQDr0e799NYmDVBi0+OT7FcbsaXxEQk8qprEBQMBm0vVKUBRcNjskFE8W71lSt79uzhda1d6w4ZGTUUp3NWAQ3TvW/fPvbVq+rZH/ceULOcF1/I06CY3QJohCCzNJnYdgEwwvpUKuNbUsLNpO3evZtfSGHp7+/nS2pw3LLFPVWLoA5yHQUtXvXFYjH+vU4F5yOibzsRUL38MTqC3XWh8GCWziMcDjt2BNEZUIfoUOpJkwvziT3S5ua8Jj/4yD5E0yERbPkhKv4RF4mhkN1wCMHN2rWfYZ2dnWz9+vXchNkJzBoaQ8Bxqg91wWo41YdO2dzczD+3bt06Rw0rBG4nOF8oi9M0Jsw9OgLqQ124BifLgeuHyVbN0NXUrODBmDWxgRR0pNrUYqMNgDOZGZbNzvgCuc4j0kX+GPJ2//CcMagQmKkbrm/knwVEp++SIXulM1+nhj9AY207QRDnpsnye24WA59DkuPlV/5j+z5eB2hE0W1tbTyQdNJmDpksRzFp2E9csFJAboRvDvz8gZdJgw2ek55KZphfAv+Inu8UdKnmkEUHQK93EjEZ4Rbkifq8JiactEpYAy9Nli2Gm6CjIZPn1qlKFWizleOG3BIwdKNZ+KRMxr9VHKvr1NKLXo2BhlAVFRPq1qlWW6MBr3NWyY2rTGXO5ySJlN9uDuiGsV7XTVPtl8CHYGizf/9+V5Om0hAwVV4ahuU8qia03HP26kyqFkMOTudDzjs/P/QKBUiBYa5ZNucfZJUkCG/0IhpCxYyqBF3lnLOII8q1GKqdStQ3rTh5MStwXX5O/nE1metGQzPHUH6JatA1OppQ8u1eUbpX44tO4GY5vM5Z9sduFgOfG1GwUOK6VFzaSAmrWCSfzGCuuT/O+bi6QwRdTtqXN2keJ4/ejgkJ5HedRARkbkGe6ARulgMWQ+Wc3cDAWohhoZdcue7ifJ7crfP6Me8dELd0Mv8U2begC2k9SHd3t+NnNm7cqKwRbiYUkykqvlZlmOYVLIq5bHRep46JzotOc9BhuFc0ZHGLph+CJIaXr1FZSIfxsdBiN1+LpALEK2By61Aqs0rwtV7DNBU3BMCYixYTLU6C8bM5hBwum0k1mesBpmPtlj+qXFenFsAgCVLon9DYeIxUnmh05HCdBIkCVRP6ussiepVZJZXIutCHwt2I0YGY2Kiz3AIyeG5aLNooVULQBbHy1/nAK2oEtEanheil+GO3aFg0FnwSilNC4q6OrXzywc0XCy1WMaFu/tgrCBLRuWpHuP+n1zqmRXFN0GAnwKgHeW1E1C/86UDJHFKptATZMPZTafbLXHtN3OPixKRC4ev4GwB2Gy6JxhQNEYul+KoKp79RMaGqKzy9ovzt27c7pidVZtYAGJMYOP7u6bdK1mLI1GQ+/ogSZBahwKuLO2jSZt0odw65xrUhAMNrZskLsGiIXz72F3bTjV+ixvtbWcMQr3NWCbog5VyXAIy63PLrqpJITIqHkcD9P7suSiYbG53wvTLKDbr8WBbjZqIF4F3PD3ItRn1eQd5CBF3lCM5RAIYfVp0/dgZ8SvbJ2/l8MmlvNw+8qJTjm+drWQwaAXO9KMuWncc1GBMXKkGeV/pU5ZxFIsTvzovOCu3HvDnOE7NTu3rLr+PE8fy6+IEX9947YM4n/+LbPT/88R8QqoYAuVSDrZLFKcYso2AcLBIeGDPu6h3M+yqvIE/4Y6w4LdUfi+jcr86L75KvC9+PcbVfd1hCi6U7Innwk1/+Q5rcoetsdyBg3s9aCmivBsNFifGfG9zCJUFiztmpEXAbqhMgr6SLWBPu9R1enRfm1ktrC6cVYWH+/Mqg43x6sYK1edaCex7vkRZHZkF+6P6NkXvvi/TpLNBUaqTtdcsoLtIrVTcem2EHDh7m2uq0ikMINBvafOmazzt+BkGMW9CF70DndPsOaJqb38Y1oXjdCYHOiqwbPofrKid6thMAlnxxPtMy6w4K0ubNhq73U5wd5PtVleCTd+50D2CEafLloqixyv0ufMcOGq64CVaMYN2119gfAdPpuscKOxWgCMDwxfm0pvzBhx9siRLoFt3ca7Ikf+x2yygaYzHdTSi7IT9y8fMJ2Lpdhg+ZCPA2+f05d1A88mBLHzQaoA1dL6ohVLJGi+1uQj8XQMyHIMgaGT6eDxuozMkD294LRaB7CPI27DLHQSskSFRvGa30O/zndF4fF0DMhwa//9//iZ2DcILqN7xBHn1oUweNn7eJ3WO9QHvdMlrMsphKEj8XQPgpuHVVMtGOgF0hC9CGTqbb2kHOzXx73aKiuiymEv2x22ICMYYeWSALBQ7RQ0fkoZIr4DnRtS3ohzf1dNzTG9d0PcwMLahZO8UyKTMm38wteratSVtkplq4oWj0PcfrEinPhYg14H+hvdIwCVs1bvb6O+UBMYFGl90d0LRGLRDgoHEUwYnXDniQStocTVUwfPLaKQGA/RoWOmkvtnsaG8unK+PWMKlH5e+Lznp03N27RdO0TkxmYNZKszYBlyfI3RpjsQkmMOo8ls4Wsx1EKcEVAEvayyNoeRzsO2RI+93PNRLesGYtNpBhL4l/prlgZz5ob0mbtZVFhWC301d0EuQgAHPgS7D9hssTHKyMbRfLptF213NBDRuoaqxNA2yh2VUBDnxJ1M1yRW6gOgt2x64gqXK7ht1yOWyW1+wl7bYXvhUygQXgit4KuVDuBGzSbA2bmmtayNzpRgJOGu7XosHFChZzvrGTiUKt5UMiVsmbmtsCb3+2lZmwm3hFNsA/CiYdKyfhYx3Aws8urp8nsJM72naGCG8zYwZMecjk/WHVVRbsMwU6tBVQsWJS2sNDlrgVTO0RE/vzKQtuN2+/85k5PxlUaL75D3BZwKss+JUqSFRAO/F7Eqlkmj+2gbrgYE8rZFluu+P3pOGsyWCG/Y9/GR8exC+vYfc5flxgzRdDGsDEz/8AJsxwQcBUKPCtmKOMFJO8OKMgF8r3b3sKkAm69TN+2OZCAm5ID/g9XPypwX29ufWgudq0urrKes/8nPkxgy1bdg6z/or/SFc2mzV/xs+6HwySTmdYJp2dpaWKEregYrVfn9/B0xkD2U6+e+sOaHqImTfLrycUOIZM1hJwC3oemPXbi/y5PnsrJ136bUa8pxu69BklmANWwDRkgR1wmwVaglyi3Nz6JLQ+ZG5NxQsgNdAhmIfJN7wxgoWg9fxzPQ+c/g9YAIXgeUKCyipJO4uR/wswAOIwB/5IgxvbAAAAAElFTkSuQmCC\0" ;
928pub const PHP_EGG_LOGO_DATA_URI : & 'static [u8 ; 8231usize] = b"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAABACAMAAAAJUSgeAAAC+lBMVEUAAACtsdVsooH18+vP0Mfr5tahp3G3toS4wricto5JTIuoq9BZXJlgY55cXptQUouqp3ZkZ6OanciBk19RakXw69tISotzc0dJS4yfpHB7frOusdZ6fbSprs5qbKfv6djv59T07t/t6NWNkMF7qY6ssIa/5Na9y6K0v8+mvJZ3e7NISow5aEZGdU9Qqpc7b0lRr51QjGg3b1F7frRatqRYimZPhFtHakVRfFU/c085fV9z1sWY2chwx7Q5p5ig28p52clWsp5yzbxnxrRjwK5Gb01fknBXiWBGopNbj2hQh2FKfFNCaUOm381OppFHg2JQgmIyakovZEbD69yU18NQknKJzblku6hQn4lCellSSjZyonxYj29Lflo4ZD7G4dI8saJYnYBpl3E6hGjM6Nq05taB3MyFyLFLiWxDb0i75th80cFfWkRUUD+p5NU3m4eC1cOAg7dbu6o4dVZBYTy53s9nm3xHRjHR4NWL3s9LtaVrrZFPk3tDknhimHNBeFKv4NCa4NDp4s54qINmnnVZlnNNeEva5d2L1cO1xaxucat2t5xYmHpokWZagls2Xj0tTy7e7eGGirs5oJBhkGphimNGdEmTzLmAr41FoIpFl4FCinGWmsWk1L9bgFNabko/Y0NMZD9DOyrT7uHK7uCV3MyL2cnK1sds08JlzLxxvqiMuZZZqJNco4k1k39SbELu7OCh49Ss2sm22MaOj3h7zLl8xKpui11lhVcvWzg7VzZfsJhiqYmhlHyBfGZvZ1MlYkidoI5Cf11We06Okr5laaRCq5s0iXKDmmdRc08mVzqhpc2yu8xxm3M0Mx6dpcPPyrWlxqOktZuMsIZIi2RpdV3c2sunqZqPhmnF09S7xdEweV2AdVjc1by40LiWnKzJwKi3tKRyfXFTwrRnuZ2YwZpwlGgiQimHi69Dua1sr5tUVpTEzLuZwKytuK54faKyqI4qcFdIXDagpbR5govMuJaSnYF9n4CkyblBRz3+/v/DqYZwXD8UFA2nO9FlAAAAKnRSTlMA/v79Iv70aP781IEnRv6VSXBf/Ovbt0rv5NG8r9jMxa+KTc/CjsSj2soo+frGAAAUlUlEQVRYw6zUbWgScRwH8BxBM9uiXkTQw4te9HDZg9mkdY0uVw6LimY641ZyzodhcGhReKws8Y5KjUrGlFIIfOjU+cLJBsN7NfRNGrbpG33hiBwMRnvTm172u0PoRTXWw1fxDoT73Pf+9/tvWDMHxB4cp/2jN26q1Vxr6A5L7d8ukeyCiMrP5pfS6Rmr7ukZs+GgRLK9q2vD/8vGQ1Wcpl0g9w70cPnWuX4sKxICsDhdDYV8qb5pe9xtKxUKgYDDsXv3tq4t/0PeBJVdLubB6NyJSwqayx89z1INUalUCodXxeB6OsZa/f1KC2VugMzTcgRBvMD/a+UDVbzDpRrWvhm5e+KRipu8cjKJVRA+iwvVkMeDd3D5oX4lhrnvhRFEDhFkr7dY3LvtX7rvE8Miq4Zlo29GTl+TXuT0r4dYNMhffHlBXMXhTzrDtfqUKEqRZQewbZqXi93d3Vu7/rKxpFOM0y61rHa1Vhu5O/joPkMMKe1nw3K5YxFgGu+g/ZlM/nwSZS1ZWwNShlTChYAD8fL0ysrOv8C37xKJVqseXpbNzdVGZT10Oh2cemw2OcvlToCNrvs0zRCT50DGYKWjryBRU9TkdNYb5UpA7vUCffjw5q1/9Ngle0SQhRDuYhjtqMwV+hLJ3TMYbBqISWNoejxGtYoG2Q+d+1AMo0ibJhaNRmMam8Zk0mgMdQEvrhyGrL+4hGdLgWWQaYbpENjHU5DLEJIkI2n8Q89NhZGXiXyqD0VRS5bMmuG2bGY+JGk22wTc4e3m7R1d63bDDgQRZE86kstFIsFgUKfTXb9+Jh6Pn/3iMY4rjhwx0owWOqeUtzGQLyfiWbirLB83FY+7SVv0Sb0BF4LivL0+V96enPRSJDcFrs5qtep08AXafT1kHB+4JJWOgwyd4d22oFiWfJpIUBRlsVDCLxzdZnj+TiiOeAV7zfXeuKftQuRf5581IwI70w7409O69Af1gKJXKlXBqDMEl7rNQmcSZDsGgdcNPiicWdy2WDQWM9VL4QBv79y6ZuG2Cyl0NpvgWq0zqVTL10r5fL6xMU6v5/DnA5ceHRscBFnNZCZPJlmUxchsIpGww4pjQoQjzFosBr1fPalXHEWovXnL7wuXHG3X8RXgb0GoC25rDMJxHOF/OHJaNt6jmDg2ODuoUqnVDKE/3q9Ek1jWbYfnDKIlYb89jbIo2BaK1Ag02OUC0g21t/1ygktQGGlnebX5bH7eOuODtq1JLsP5/QRBaGuwmfUOKE5N3Jp9/0Klksm0D/THz6MA/ZDNJkMuqAQazt38sEFg2OsVuZefsF/BpVKg7coXO8FdSvuErpkMQfiv9g4zWthF7167dWFiQnpr9uVb1zDID/XHPyfZJMiYILMW08dP795ZlSwEo7IwXhoI2M6KHOF3lp+W+DvZ9RLTRBSFAVhNTNSoCxcujDu3lFqkFbANQktNWx5teWinLRNrMdbOGB5ppwstqCHDGLRiCL4w6iQyPhYqHTRqpmMJmoAWEaUtBpFqjJtCiEbQwMJz+1CjdzHbL/+595x7B+DsDp/7BvBnBIMJajvktdUXwBgtAvlRoDynPvAoUKCVGY1pufTWzeM33HCe3UgWMII5rwJ6124IDasB2Wn6GdD/wX+O1lwq8B24BPfXaq2Li4vezk5b+U4ZwEV5JvPIo0AgMHw64pAbjYeOXXz+6dYt9a77fW63W6UqLT3oDGPk+PkBkFP08fv3G6DiELvLB5v5L72p98XQ35WGwOCu8mojvCAI/IJVJrsWMA5CZCSfPRs4E4lEtHIFkrc331Kr3UfQkIORUzdQnSCx8HTdgLuxsTHV1rDZIKOCT8J2ngL6b7j3N/yNScMXVnm9jodxYen796U4L5cFHtstRS0teeaRkZGzww6vwwFdrT90tLJEo27WNLbNhRfCsViCC3oSGBamcc+Vmpo+tG4ch9BOWHDIXzalUm/+3U69vVDqLIwq/QZufb9W+3FqKg7y93joTJU0x97a0mIygRywd/v9WpALFFVHK/M1qu2avv4JlqIwkgxxXTMYSfDhRJLD+2uUSmVKxseTnA+aayU4QGeba9sf+APKC5W2Wr1+3RkCY9nlJcg8UWCB1ZKXh+RHdptOa9M6us8U2KuO5jarVfnqvv4FPh7n40BHZygMI0EPMT4PDtmLK0AOiyLP+OCUgQKNvT5d66He7Pz4wCAXAnu9Xr/8KjvKYpiwJCxPSCBvC5LNZrNdC+0kg8wKg6HqaIlGpckvvYHTPhz30TyGJWYoSpwXQiJBxGg6meQ4n7PaycV4KCBDv0NUtt7bhoay8NzrOxcAPrnK29kuM5Kjo6PssiCIxHCKBfjpU7Pd77fpFQqtQ243tFZdys1X7W12V+DBuo7GDmeMwgTIzNO0jwuRYnR1iBBD4aTPiTvp6Pv5+PQkWKjeG1KRh3ZkB9f4HeTCG8hmk1XZH4OMTU0tE8OStGsC2QKPUZtMoXdo5Xa7ZRBkdbO6ry14Xg2vUE+MZePzFBbGa4rpMIaNnRBh7zEoPN4AHR3lGRyVGybKulTkzOhqiq3NwlBPxaCl/AuqNnb9bk8hcqHST5/mab3ttTaZUe7tVhgslsFjuSX5+aobV2brNBlZQLJnoNEpgBwVscTYvDAlMh4YpNPiOP4SUc/QTq8/N9SUuSPgJWu1rrJ64fGlk+ktrZLyx4+/Xr/rkoKbkU1yr7czJTvkCmizomOVJSUlpcWzsyqNWjUwKbDsvEBhsaCqw8djRPQ9QXA03RWd4vG2hsNzxFrnu5SGBvimc5nI3xjUSw44W3AH7ZHr7a2FhRJXmaRHKjXlSeGDNlkOBemsra09pNfpFTBZDlzKLcnNd1fM/tir0QxcSYqj1EycwsavqDt8U2Ro9RhJBCuOVHcJItdw2Bkmx52TKW4jlHsryOlNXot6SeuHPt4j37NHATB4hfDNMZmQbIbTZYU3YUqWwXak5Mrtlbc7+tf4Zmd/BJM8yxJjIoXNnVcrfSLJ30tgE0FlRQMtEMm2w3iIYJz0q0y5V2w515T9a4g4HFBnnVxvhGWXSKUuqTQn/UXLbC50LEbaZbWwZHq93ZKVVcofieiaWIwX2VFKeE+wJPNA3cYRVPiewPLBmuI2X4iYbjvMkBPB6q5U6FMgN4GMIiO4W6eDsGgV2C2tPT0SF5jSsrIyVz3IgRy5NeKQvX0LNpxAQ2FL0YHLlypz99VV3CFIjEWLXODGMJZYc1uFJ0gqsTpEjfcriz2cSDL9QZ7iPfBAeoloJDeln3trFyPdOmABNRgMEkNrocvlKiuT5pTDtwcuxvp6RSTi0OmrkNxug3MA8rFLFyufKPs/kj9//iSJj2GGo6MijNDbbqdAkVyUEKNcMOiLYSLnYQjyNRyzavzFjqycifyrDXuPabMKwwCOsKnxbtQYjfeof5BSC6MUsKUWyii1tynQkkC5altwA1kL2ot06Fi1tGWBwkqVtibzgmUgCmPdxAwUVi8TL0wdYxc0zJEpG845lyzxeb+y6XRnrFm2ZL8+7/nOe853XPlcwKWAISclZRh4MsSVyXi8XINMpvW0VlZWrk1WjivRwUqSpWkkA/b1Cc/NXItxGMfj7m7TlgPTB14Q8NHOxlqONn08PX3y5PfPNZ0te/vDpvkP7Dgp2E2fMPIayLHI3jypVAU5qSspKTc3CRxkloyHgS+hNXgrKzsReWMx3rNwShgvRmSNQuET2LfNv03H8WF0s+yiN4ZMpu6cTYMtR6cH9775HI2mN2dOvoDIv9qRuYYvx5ZFT9gayL98/+2XnXl5eLDQl5AXMsG8gQEGpg+Zm4HTilMyiGZkf48mrFEUDc3Mn0s1N5jNk5OTDbSshwU59fbqrYNbxtYfO/bhoefWz7z6wsmxpvkh+QZEdmw3fUXyPZDX/P7Nn5XePJQak9xMMAYvGAyFBgYGQkZGjroAc1WlxSmgS5XjzcUbM/2a3eGenwt+/Wu+O9VsNmdlZXVwRBxOakNDg1hQK9/69nMzb1MHP3y47IVj6z/+Gi9Hz9QMDb+14eDzkG8lGZG97rQn05kpxiDYGAQN2dgeCUH2Vq7N53JVyuIU0M3NzRnNMTlcNPQlZDMG4A5OKoeDfpoqashxVB9r+nMIKWtMQtPW1dOHTYxcMOzYVPPFTdfF3ZAIee++BbebQVdcVBey0RgKBELL+9uDvChqzeVK09DZ0FUM1GFI7tf0CU17z/6mM5eXM7KEw2ZzOGy01BxH2dj6r4XvyzH4BabqrdV2uVBYY9KNOLY/U/07jr93J6755ey+Ba87Pb0VLDqmAVNslMkAGyk0tqx23ujCWtpGsEs0ZyQ9SXpzsd6qqegvkttNpqGcE5Ans+rqYjJ+OGLsVh9+QK+Am4T8ArSTZyDLn/7A2VfE31Dz4/VxcbcyssudHsVDTaOri2QPRV5eHhhY3t8UikRdLsAqpYpWXSlqjr6q1LdV2BYL+OKffvrpREzuqFOI2Ao2cJG5wYGDrhAnUpzEIPOFckS2V5+zOHUFOBQ+Gkehj5xdcLnd6aQacknm8YKRiJHkEOCBaK7X5erkSqmtYslLVUpl82PNSn2hvkInFGSVl5efMDOypE7ClkgkbHZqKp4xh1xej4Mw6Jgs5AvLfvzV6dQ5+JgAyDcm7o0VG+Xuoo6FyEFPpD0SCYWWmwAHoojsQj8HqlQqpVJszMUodluJ3tJdwMEjXX6iPCvLzJFIOiQKkjmparU4J7s2W5AjyAaNYmPw+fayr4685xyhl2FHHIXei2JDxiPWhUmmRunx7NrVHnj1+7GmSGggwItSS0fmNKn0u2Rp8nhGCp5t1WZ9G0W+JJslEh9+EFkEWS0QCMRicUymxAX8obKDzz9/ZNuIrrugnpFv2btvJ8H0fD1mkLFYsFnBYNP3CYlnAqFQiKfN7exU0dYphYzeiaW1LiOjObnQ+QafIk+i3pBT2b4eDRIzMg0m+bvZ9Tj8InGB0ERHzyPbtqHgw9mMfNe+nb0k02a8siUGjZELCVsSl2Ygo3O6IHdyyU7G0CvHM8eLM5L36N7o6+iADBqyGHKPRMEOY0GrUzFEmG1cHdU7kBm4vewgtqmlPxvj9zhHBCRfc/VtkFFqsBfhoHH//vMHExPnA4EATyvDA+bqRCvBwNacrC+06jeWNjrf0Pnq/pEb2D4bOnl49+7dIvQyDBG6WU52PdEFfHkNIuPm4kxjYYXF2bcij/ZOdAHGSS8ma4PLF9af/zwR5SZZO7qw4OrspNT5+QxsLVQmO7uL2HV1HZJYuSfNDZyeKVuPhmRS2WymkYqzayFTZDqD0Rvdw41W0Jfk3tZWHOdT6LxF8xxsunDmPNVmJhAY0HrcC6BdXsw1RgldkukLLd06wERPTqJ3chrEHNuUTaMBrFCQjA+UXCwYdjiwquxlP77OwHGrHomvqLBcrPYoZBxuceii1wiW1rj/wrXnEzHOQDZ6DAsLO12uvLx8wPmbN5colW0W3YgErg+yhGM2Y07VYb/fpgkv7g5rNCIRZ1LBxl9CxiMWq/XFN/dV1zwc/3BM3rdz1D3RinpjmgFDXl7/Fx4wjKV5KnfQi8iUWcrloo1Kx62YKd8Okn1YwKIGtfpntVpT5bftWVxc7NdoqIUycgMyQ6bHa82l2wrYt/xLTk/Hw53CZF7Hmtly/vxVgBEa9TYaoztdXlenNy+PW7K2RKUstDjDO3bUdXQA7pCw1WLBSJ+6T1Nls1oAV1RowmEOWwIa+zXNM85iP/7y/xsakjHR1ElQbS1lDs588vrr5K7MtNE4MTrq9XrT3NySEq5ys2VRs4NkVFqBJ0k9XESXV9Yqaz9gq7WiPxwOS3wKambi7Ox6h9BuAoxbqSvIE3jCMDJYT62DLJtZAhrLvDM6EAgZta29oJFZpeLGOy3WqR09VGc2XPQNuiHsW/T7KxbxT35rxR5csfh8PoUIcg7mWW76HVfOsP4v95Lcit94oUhZx+LNX4SXzrii2CxlHg/P7cXgqvLjt+F/t2H9KCgvRyRS95E80o/ITkubHzLuk3p6/pH59nOf4vbxynIrDfA01yn/lhfcE7wVmlJzX3o5vkRZ5fdPYe3uqJNIJtkxuWikwt+/aCnR+1HttkI6DyvYqSuy6d4r3rg+AhlmV2s6Bs5DxRmQX7soe9OjvKAxFOWxtLKo29vJVWWknJ6drZqawjyjh5jN6JHDkJ1W6x5LidJvbdvcGF+IZsY08J9zBLUOedn9Dz700KpVq64gU7WfZORSKTYEyK/F7DPu3KARgxc1sDwerYyFkTKbWUVux2T5iRO4lHo3uxbV3oO0+swqNFalHpEVbIUEshrw9me2JCQM3nHH/Q88+OCD9AVo/DPPUCnxuD5ZX/zY7TffBxo4ZIN2165IJBKY4Gl3YXhYKXifggwa+yPkdx5/9kWHztmmr8rEV9JDr8J5OHY0EVNkYdnWwYTBwcHVNO7AN7j/gQce+I+clvadvrCk1HD7nXE33Er40oduuuRsb2+PBKI8GdmsjGa8OE8xobPKQeOWcZNQ16/PPH369GzmLGbCb4OMdkr3CNmP1wurB2PygenpubmW1fRrNbNLrqzndCyY/M2471MlQcYAvrSvl5GPHz8eGp3oYuHPTz2GY2cmExqpKTTJFiVuUTBOk2vzSRRYyjk5775bW/vEW3JEJrnl1CFc0xxtYUZsf76N5F53njT/pcb4xhJVbkymetw2IfPsaifZiDVvYK3DSNk4O5vJlPuS3D1OV3QMjLyaMCqNKR7ORgN7a1PN1gRGnh774dChsVOIfEmmzBO9bi93bSPdOf5LvuW2Xh5koiOQkwxY7ikU+fLM23WfHT8OmcrtJ1mBOYZcC3n7hqchrz7Q0jL3xx8f/XAoJs+tZCbZneftfCU+/rLMmIkfZjyAMSDzcnMJ3kgwZNCY6FjmdsiIjPU2ZasgWSRKFYMmuZoiH5g+enRujvk4cLmcnsdd+8qV5LGBSGRFzsWiwhkfmS+TH4f8F8FU7CmbzdofZod308k3h6q9ofqOBLIRleQ/Tp062jI39zewUaw7BOflzwAAAABJRU5ErkJggg==\0" ;
929pub const ZEND_LOGO_DATA_URI : & 'static [u8 ; 6083usize] = b"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAAvCAYAAADKH9ehAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAEWJJREFUeNrsXQl0VNUZvjNJSAgEAxHCGsNitSBFxB1l0boUW1pp3VAUrKLWKgUPUlEB13K0Yq1alaXWuh5EadWK1F0s1gJaoaCgQDRKBBJDVhKSzPR+zPfg5vLevCUzmZnwvnP+k8ybN3fevfff73/vBAJTHxc+khL5kr6T1ODk5nAgTRTWloghFVtEg/zfh2PkSvq9pJGSKiX9SdKittbJoD/PSYkrJD0vKeB4IsNNotfuUtHk/CM+IvijpF9KGiDpGEkLJZ3lC7qPeKKTpD9IWiDpUOfWPCi61ZeLvD2VIhTwp9QlTjK5NsIXdB/xxHmSpvD/OucWPSAyQw2+LfeG1SbXVra1Tqb785xUaNdMel0g7Iu5V1zPv6dJqpD0kKR/+ILuI55o8oeg1bFT0kWSOkraQxK+oPvw0TZR3ZY758foyQXf//ZxUFh0Q/GEfNf9gHkaJ6m7pHJJSyTt9tnXhxtBR2EGlnHCMbZMaHuHzX19JZ0u6VRJh0k6hM+BpMjnklZIelPSNhff3V5StkNlEWBMFm+3LcC+BW3GuZP2GvfmiEiCCMUzxZIKRGSt9zeML/fdGAW9JB3O8c6SlMZ+b5f0qaQiF7EpnieXY1auvZfG7zhSUk8RSS428F7M5xfsh1eAV/vxOzoq16sklZBqbdpo5H2qDPRQXoP3Ki0+20FSFyrZUgt+Rt/7KH2vZb8/t/iMG2Sy/0dI6sbvgHGoV8a3xErQb5Q0iTfHCplkzlkW7w+VNF3ST7QJUzFK0pVkDFiw+yV95uC7r5Z0k3CW2ApwIkrJ9B9IelfSh2SIlqC/pDFUZAVk0rQoMhk2GYswx+AtWvMKPtcyEckW37pPwsIHNAuBniDpYhEpBMmJwvibJL0gIlVh39r0C8UlczkXQ/mM6OtEzuf3RfPVAxUY47f5PStcGKPxpOMldbbxiBptPMavJX1PuQ/P/olyz12S7rD4PLyqBTQ8gyXVSOot6VK+dxR53wyl7POjkv7pkpcwpleJSCHP4eQjM0BB/ZuG4Hl9EO8mQx4ZQ0FfL+k+k+t4wNlULpkO24IGnSzpQklzKPDRAMvZ1eXz9uXfH/Pvx5Ie44C5zYQXUgDPj6LEnMCQ3AFkjjupjGF9/kJmxPw1oiquz+6dalXcCRSmYxwK0kDSRI71azb3Y+6GiMi6P/5ey3F3YpExjxdQoG61uX8gBetkh2OWFkUIVGUT1pS9yosZNu1nkl8uZH+mikhxkx1wz7mkB0WkXsKJFw1ZuSWKotY9wjNJS6mUy41JK5P0c2qCnBgIeQWZvEK7Dnf6WUljTT5TS7d0KwezkJShdWIeGeuKKJo7FktUQylcl0i6RtL/HH4OjP+wB0UTLTGHfubRDWyi1g7SaoZQ495z9w7RpaHKqHEfLeklEyWzk+7dl3TTu1KQCpV7+pBB4IWstFFAgvOpJnTL6DoW0xPbw3k/nIYkW+kbmHeXhUEABklazrBDBdzTDfyuBo5DPq1eoUk7ZbSk70l6n3MZjUdCDpQvMF/rezn7/hX7Xs8wsj/7rsrWdQxnZtrwwENUosJkDDZxTjOUkEH1ds6lzJyDZzGScRsonGNcMCIG+WgRKTRQ8Su2p7uRi/mlKjZKekREChS2KIOcTvfqp3RZDlM+cxnfv8Thc75Pt8kqo92VzNTbxBqcQlceivAdByHDIxbvFTMOLovyHAGGK3qc/jJDoDc4hpjABzBm4UAglBFqEAOqt8mB29ss4uJnNCHfSK/tVZMYEfMykt7Bcco1eDLDHCT8gmzzRdLHZL6wRSgzg6GIgVl8Xj2uhPA+oQn53yTdK2mVMC8NzuJ8zaSyM/ApxyzWCFJRvUQ3eQ29BTNFcRgt+FTl2g30zDZZtD/ZRMifE5ES6Y9MxqAHQ7XZikI9nd97j5p1f83GZTPr6Crt2sOcOB1zTYT8HrqjVRZx4wbSAt47SXn/YsZV9zp4zuvJgNGQRaszmoN1rBY6IH4dHiVHcA5dZd2zeIbPv8ZBkghYTQFTx/h1WvSz6c3kM5ewGG8Prvxc5DZWS2u+dypnM5Y3sIJMXmbxfXW0misZN56oxITnWsyl2fg+6+C+zWTefMWr68RwaYF271htHBZqCsKqL28wB/ACjYShrE9nUjfWmEU33A7woqbR4k5UlNk4yoYOzOHvtGs30KO1QgnlZC2VohGOIGn7WEvW0ZdoMeCHfBgdo8X++m3V+s2wEHKzJMblJom92+ne2SHDwT1gknUispPpJLrrVZqwLxTmy5F5jOdVS72F/b6UwlbrcEytrD00+a8l/ZUM82jEZd8peu8uNYS8JxNWqis5IYqQCy1rPUULh8Y7fOYal3zzmPb6aJN7zlf+32bBV9ESclNE85WUX4j4oNbl/fM1b2eoxX3jyXNqiDTP4Xe8Rm9ItfSjvAr6DM0d+o5MXW/CuHO0a7eZTLYT3KF9LktYZ/WdCI+IkoV+lFZ6l3J9OF14HdM0F3MrhXxFjJmqhh5FBera24XqxaCqL0UosK97Z2ku+yJaEqf4D62ByoROcjZuN78Xaa9zTBSzKvxvC+vlrmgWVPU2h4j4FCO5lZ+vNBnpYHHfOOX/PfR83eApTaGM8CLop5l88WSLWAOu4AiNme5owcBO1xhlLGO/eGAFkyYqrtFe5zKzqU7KBE5o/BAIiv7VJSK7qV4GhEF1XtSk0YseWl6lWYI+cXj6pigJLkH3Vk0qfebxe4q0JGOGSDxCWn/Nchk9qJgMfGKS87LDes1IHeVW0LszgaC6sPMYE5lBt4CzRcuy4lVMLKlWfWwcJ+YpxtcGjtOYfzRjTgNIlv0rnpyCveeHNFSJ/jUlonH/3nNYqyOU28qYhHOLbzVPqFc81JQDKxnQ5twLdmjfmQzlxU6eoZ/mma3y8D3VonlhUr6bElhMwJ81RseSxW+jfOYULdYGAw5s4WBtpeU0ijKwxnp/HCfn70piCNlMFEUU8/WpmnZe1Bq80r96m5yMkIwx9nnNHTWFs114q0ArM1HsiUY7j5/rKFIThdrrzR7agHyoy9vd3Ag64uEfKa+xjIKlLqtTUBB7FWgJrQ9joFl1d2cQ2wzHaeDXa6/ztO9Wx+OT+FrzSAKuV12ptOZp+ljnaVawk8uxDpnMZXYCGB3PXqe5sl7QQ5ubhhQR9B4mQpvjIR+gJgrbOxV0rK/rVUyXmyRWdI2a2YLEhVP3BwmN9sJ9BtQpKkxiSDOrUeUhaeQaPevKzKQ3oIVTSGatcynoRl29sIkh440a8pURNoz00Ab4Ts1obxCps1FKl8k5IpKbcmsgu6nz6ETQC+iSqoKKOPmVJBmYnDjHX4EozB9s7TgwykkyYS13URAHpmstYIloOP/HEi6Wx5a4+DwSpH2V18tTyHUPm3iQeS1s09ai4/0ntVgNRQmzHTRulGwaQNnei3FgHqPcMBEJlXrNioAaE8AcupKBd7ElBu1uTxCzg+dmKB4TahiQNX/OxssAb00Uzdeci4S3FYhEQdfkWCrc1cI2K+2EDhsP1OUxZGUnOWTmcgphV0UgZ4jUR1hLlBiuJfqJpb61CXimOrq8RqiEeu6TU3iMwdzYgWhUnWHDDKr0ptLar6USqmOfYYiGMMTUN/KgziGVTo+pNJHBBfF0zVAQc6N2DUL+tcO2Yc1Rk2ss+yBmOko43yCSCljJXAWA7PD4eAt6MBy2yiNACRvVVN05t40pPLYPsT+zlRDpOLG/Jt8OSGKhmnBpivV7q/Y6JkucVgkyWKb52rVZwl0tvNDi+AzRvKjfK1Dnjvpd1FhPEc1LBVsbqENXN35cFaPY2BIVGdlWYZKqgPPj/RythNtpcNycpoOxwAae0bGwhAkAQg01cfiDWDRqZtHhCqFQ5FAtOXKXh/Yh6Ci2N5YMUDW2SHg/N3scn02N++cnMIZCBdwS9gtApRxqDc6OlzWtSrdc8cJGlzP5fzZDri1tQNixISWL/5fSQvcVzfe/wzXfSG8Kuw03pHB/t5KMik+EYJ1EC1d0zCw6fofqRI2ZJwpvyxN4uPs0q/6UR2szyESobxatf3aa7jvfrT0DGPNpYV3H3CI0BYLGllQdy7TX14rUP/zzDHpuRp0EPLnJvH68Qij/RXnyIyku5Ea+5S3NO7s01q77eMY1qqY8T7Qs+4qtq+o2UWhjZO6HuWhjJBlZXWbAHvbFSTAxqMW+RbuG3VfviAP36tshujINh6Tr3kE0BNMl5x8Qq6+mVTdwrMlzpRrGaGPzVpw9NDNFngjoFZZzRCS/FRPXHRZT31X2MgfYTQYX1WE1moaaQJfKEFTs/camkXnUwt9YtNWPiuc67VmRlb0yiRgS/cAe7is0QXuTAm9kikM2DNc5OkeGRaMU8tq0TJHbUCOtezMeRfITiSv1PLLbGE5gb/NOB/1AuR1KlLETDltidyR4XIPasyEnc6eIbRa9kfNifFeXJOAnVJBiKfFCvobcLKccLHWojHJpIPH3iXQlpoNLrdcH44sucvmQOHHjZ9rDrGdbixVmbk/XGy4mtiKuoQDjmQpFJLs6wuSZvqKmL0ky6zOZLry+420UKUaue5ooyeqy9+iopgM989cp1Dcp16bSU1tOJbyFyjedTID5wOk6OAUFFXUDKFRLkmBM3xH7fzIJwPLsxexDMWP2b8g38DqN45ywCuH0VNuv+XmjwOYCjtUakbg6AkGlNoQGBMB5A9g8hh2g7zFE2U4F35FxfHfmwwbxcz3Yl32C/oAwPwDAS6UXdpOhXPZ27Trc9R/SLTla0zzGoXl2QAexnLVZJB/CZMpV7HthfL4lJIrb54u+tdv3/rCiSbw+k88yM9ZxXgKwlHmZycq13iSr0KeMHmUZw6r1VICrLT4D5fy4wq/5DAvfjaWC9oAd9KxwTNUJynUjL+EqpwSTME1zOWMBuIxmZ7p9RCsNq+NmdxW09I1MdNkJeYZNHsIt0qKEO2Z4kvmHadS+Xqv2cqzc93rpuhdl54tg2DISuJljBW3uZjMHrAPqHOYK6zPIM23G2+14Rts4cyLbdxo3Y667UskOo/W/m/PwRhQBwZFkT2vXzDbTtLMZCyfP1155bbfDrpjKZoYH41bO+d97jmEgMPVxFMF0iHESIkiNtDhKuwV058cw0dBZNP+lFsSU/6VWf0E4P/x+IF2eJnokr4uW/2jAKPYjjRb7Cxef70c3qsCl0im1Gj/Uu2eF6sWo0rUiTQq7zS+pYjywnXYwcyOZfI4mKgHj9N2ttHqbRfSlQXhjw5XXy4S7ZbzOovkxVRsphHp8ia3HlyleZS1zHcvoVrdjuNFdEe7edGHzSbpSria/WZ3+cxYV5DCx/4w7FUfyfTW0WO+i7x2YrzKUXZFw/sut+OxJDGkHUxEZPwgCquQcIgxZR9oXekDQk8FF60bqwocupaIoEz6EmaC3C+0Ro6Wgp4eb2tpPJqN+4xXFXQ3TfUfCc5PDNnLZDpLIV1NADKyjZa87mHgmWX57bYdIfIY3pdCGf43xQUXI62kBn3fZxi4SPC8crIjDQ4yzFAaz/XcPJn7xf03VRzIB5Z7qCbBzPQi5jga2E9bCD+ELug8ficEZCk/Cmj8Ro3aLtLxDR1/QffhIHNRTUZCf+S5G7SJBp2b7G31B9+EjcVAFEInZQ2LU7jiN1zf4gu7DR+KwTvkfO9bGx6BNnEQ8XXmN5cT3fEH34SNxwN4A9dgknIEwyWNbeRTwV7WYHBVwFQfbwKb7vOUjiYAiKVT1PczXqCLD/n5UbuLcNxTKoCgExSFNmsFCHI6iJBQFnUbqqbWPHyFceDAOrC/oPpIN+FVaVLrNUa6dLPbvoEQdO4pd1OUylBVkCutsOkqosbNvwcE6qL6g+0hG3MY4ejots1pT3kE4P9QDdfuLKeDfHswD6gu6j2TF2yQcLoqEGurre9EdP1QTfmxJRdn0NlrvD+jmY69Egz+UQvxfgAEALJ4EcRDa/toAAAAASUVORK5CYII=\0" ;
930pub const ZEND_EXTENSION_API_NO: u32 = 420200930;
931pub const ZEND_EXTMSG_NEW_EXTENSION: u32 = 1;
932pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_CTOR: u32 = 1;
933pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_DTOR: u32 = 2;
934pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_HANDLER: u32 = 4;
935pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_PERSIST_CALC: u32 = 8;
936pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_PERSIST: u32 = 16;
937pub type size_t = ::std::os::raw::c_ulong;
938pub type __uint8_t = ::std::os::raw::c_uchar;
939pub type __uint16_t = ::std::os::raw::c_ushort;
940pub type __uint32_t = ::std::os::raw::c_uint;
941pub type __int64_t = ::std::os::raw::c_long;
942pub type __uint64_t = ::std::os::raw::c_ulong;
943pub type __dev_t = ::std::os::raw::c_ulong;
944pub type __uid_t = ::std::os::raw::c_uint;
945pub type __gid_t = ::std::os::raw::c_uint;
946pub type __ino_t = ::std::os::raw::c_ulong;
947pub type __mode_t = ::std::os::raw::c_uint;
948pub type __nlink_t = ::std::os::raw::c_ulong;
949pub type __off_t = ::std::os::raw::c_long;
950pub type __off64_t = ::std::os::raw::c_long;
951pub type __pid_t = ::std::os::raw::c_int;
952pub type __clock_t = ::std::os::raw::c_long;
953pub type __time_t = ::std::os::raw::c_long;
954pub type __suseconds_t = ::std::os::raw::c_long;
955pub type __blksize_t = ::std::os::raw::c_long;
956pub type __blkcnt_t = ::std::os::raw::c_long;
957pub type __ssize_t = ::std::os::raw::c_long;
958pub type __syscall_slong_t = ::std::os::raw::c_long;
959pub type __socklen_t = ::std::os::raw::c_uint;
960pub type ssize_t = __ssize_t;
961pub type time_t = __time_t;
962#[repr(C)]
963#[derive(Debug, Copy, Clone)]
964pub struct __sigset_t {
965    pub __val: [::std::os::raw::c_ulong; 16usize],
966}
967#[test]
968fn bindgen_test_layout___sigset_t() {
969    assert_eq!(
970        ::std::mem::size_of::<__sigset_t>(),
971        128usize,
972        concat!("Size of: ", stringify!(__sigset_t))
973    );
974    assert_eq!(
975        ::std::mem::align_of::<__sigset_t>(),
976        8usize,
977        concat!("Alignment of ", stringify!(__sigset_t))
978    );
979    assert_eq!(
980        unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
981        0usize,
982        concat!(
983            "Offset of field: ",
984            stringify!(__sigset_t),
985            "::",
986            stringify!(__val)
987        )
988    );
989}
990#[repr(C)]
991#[derive(Debug, Copy, Clone)]
992pub struct timeval {
993    pub tv_sec: __time_t,
994    pub tv_usec: __suseconds_t,
995}
996#[test]
997fn bindgen_test_layout_timeval() {
998    assert_eq!(
999        ::std::mem::size_of::<timeval>(),
1000        16usize,
1001        concat!("Size of: ", stringify!(timeval))
1002    );
1003    assert_eq!(
1004        ::std::mem::align_of::<timeval>(),
1005        8usize,
1006        concat!("Alignment of ", stringify!(timeval))
1007    );
1008    assert_eq!(
1009        unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
1010        0usize,
1011        concat!(
1012            "Offset of field: ",
1013            stringify!(timeval),
1014            "::",
1015            stringify!(tv_sec)
1016        )
1017    );
1018    assert_eq!(
1019        unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
1020        8usize,
1021        concat!(
1022            "Offset of field: ",
1023            stringify!(timeval),
1024            "::",
1025            stringify!(tv_usec)
1026        )
1027    );
1028}
1029#[repr(C)]
1030#[derive(Debug, Copy, Clone)]
1031pub struct timespec {
1032    pub tv_sec: __time_t,
1033    pub tv_nsec: __syscall_slong_t,
1034}
1035#[test]
1036fn bindgen_test_layout_timespec() {
1037    assert_eq!(
1038        ::std::mem::size_of::<timespec>(),
1039        16usize,
1040        concat!("Size of: ", stringify!(timespec))
1041    );
1042    assert_eq!(
1043        ::std::mem::align_of::<timespec>(),
1044        8usize,
1045        concat!("Alignment of ", stringify!(timespec))
1046    );
1047    assert_eq!(
1048        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
1049        0usize,
1050        concat!(
1051            "Offset of field: ",
1052            stringify!(timespec),
1053            "::",
1054            stringify!(tv_sec)
1055        )
1056    );
1057    assert_eq!(
1058        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
1059        8usize,
1060        concat!(
1061            "Offset of field: ",
1062            stringify!(timespec),
1063            "::",
1064            stringify!(tv_nsec)
1065        )
1066    );
1067}
1068pub type va_list = __builtin_va_list;
1069pub type FILE = _IO_FILE;
1070#[repr(C)]
1071#[derive(Debug, Copy, Clone)]
1072pub struct _IO_marker {
1073    _unused: [u8; 0],
1074}
1075#[repr(C)]
1076#[derive(Debug, Copy, Clone)]
1077pub struct _IO_codecvt {
1078    _unused: [u8; 0],
1079}
1080#[repr(C)]
1081#[derive(Debug, Copy, Clone)]
1082pub struct _IO_wide_data {
1083    _unused: [u8; 0],
1084}
1085pub type _IO_lock_t = ::std::os::raw::c_void;
1086#[repr(C)]
1087#[derive(Debug, Copy, Clone)]
1088pub struct _IO_FILE {
1089    pub _flags: ::std::os::raw::c_int,
1090    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
1091    pub _IO_read_end: *mut ::std::os::raw::c_char,
1092    pub _IO_read_base: *mut ::std::os::raw::c_char,
1093    pub _IO_write_base: *mut ::std::os::raw::c_char,
1094    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
1095    pub _IO_write_end: *mut ::std::os::raw::c_char,
1096    pub _IO_buf_base: *mut ::std::os::raw::c_char,
1097    pub _IO_buf_end: *mut ::std::os::raw::c_char,
1098    pub _IO_save_base: *mut ::std::os::raw::c_char,
1099    pub _IO_backup_base: *mut ::std::os::raw::c_char,
1100    pub _IO_save_end: *mut ::std::os::raw::c_char,
1101    pub _markers: *mut _IO_marker,
1102    pub _chain: *mut _IO_FILE,
1103    pub _fileno: ::std::os::raw::c_int,
1104    pub _flags2: ::std::os::raw::c_int,
1105    pub _old_offset: __off_t,
1106    pub _cur_column: ::std::os::raw::c_ushort,
1107    pub _vtable_offset: ::std::os::raw::c_schar,
1108    pub _shortbuf: [::std::os::raw::c_char; 1usize],
1109    pub _lock: *mut _IO_lock_t,
1110    pub _offset: __off64_t,
1111    pub _codecvt: *mut _IO_codecvt,
1112    pub _wide_data: *mut _IO_wide_data,
1113    pub _freeres_list: *mut _IO_FILE,
1114    pub _freeres_buf: *mut ::std::os::raw::c_void,
1115    pub __pad5: size_t,
1116    pub _mode: ::std::os::raw::c_int,
1117    pub _unused2: [::std::os::raw::c_char; 20usize],
1118}
1119#[test]
1120fn bindgen_test_layout__IO_FILE() {
1121    assert_eq!(
1122        ::std::mem::size_of::<_IO_FILE>(),
1123        216usize,
1124        concat!("Size of: ", stringify!(_IO_FILE))
1125    );
1126    assert_eq!(
1127        ::std::mem::align_of::<_IO_FILE>(),
1128        8usize,
1129        concat!("Alignment of ", stringify!(_IO_FILE))
1130    );
1131    assert_eq!(
1132        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
1133        0usize,
1134        concat!(
1135            "Offset of field: ",
1136            stringify!(_IO_FILE),
1137            "::",
1138            stringify!(_flags)
1139        )
1140    );
1141    assert_eq!(
1142        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
1143        8usize,
1144        concat!(
1145            "Offset of field: ",
1146            stringify!(_IO_FILE),
1147            "::",
1148            stringify!(_IO_read_ptr)
1149        )
1150    );
1151    assert_eq!(
1152        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
1153        16usize,
1154        concat!(
1155            "Offset of field: ",
1156            stringify!(_IO_FILE),
1157            "::",
1158            stringify!(_IO_read_end)
1159        )
1160    );
1161    assert_eq!(
1162        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
1163        24usize,
1164        concat!(
1165            "Offset of field: ",
1166            stringify!(_IO_FILE),
1167            "::",
1168            stringify!(_IO_read_base)
1169        )
1170    );
1171    assert_eq!(
1172        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
1173        32usize,
1174        concat!(
1175            "Offset of field: ",
1176            stringify!(_IO_FILE),
1177            "::",
1178            stringify!(_IO_write_base)
1179        )
1180    );
1181    assert_eq!(
1182        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
1183        40usize,
1184        concat!(
1185            "Offset of field: ",
1186            stringify!(_IO_FILE),
1187            "::",
1188            stringify!(_IO_write_ptr)
1189        )
1190    );
1191    assert_eq!(
1192        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
1193        48usize,
1194        concat!(
1195            "Offset of field: ",
1196            stringify!(_IO_FILE),
1197            "::",
1198            stringify!(_IO_write_end)
1199        )
1200    );
1201    assert_eq!(
1202        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
1203        56usize,
1204        concat!(
1205            "Offset of field: ",
1206            stringify!(_IO_FILE),
1207            "::",
1208            stringify!(_IO_buf_base)
1209        )
1210    );
1211    assert_eq!(
1212        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
1213        64usize,
1214        concat!(
1215            "Offset of field: ",
1216            stringify!(_IO_FILE),
1217            "::",
1218            stringify!(_IO_buf_end)
1219        )
1220    );
1221    assert_eq!(
1222        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
1223        72usize,
1224        concat!(
1225            "Offset of field: ",
1226            stringify!(_IO_FILE),
1227            "::",
1228            stringify!(_IO_save_base)
1229        )
1230    );
1231    assert_eq!(
1232        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
1233        80usize,
1234        concat!(
1235            "Offset of field: ",
1236            stringify!(_IO_FILE),
1237            "::",
1238            stringify!(_IO_backup_base)
1239        )
1240    );
1241    assert_eq!(
1242        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
1243        88usize,
1244        concat!(
1245            "Offset of field: ",
1246            stringify!(_IO_FILE),
1247            "::",
1248            stringify!(_IO_save_end)
1249        )
1250    );
1251    assert_eq!(
1252        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
1253        96usize,
1254        concat!(
1255            "Offset of field: ",
1256            stringify!(_IO_FILE),
1257            "::",
1258            stringify!(_markers)
1259        )
1260    );
1261    assert_eq!(
1262        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
1263        104usize,
1264        concat!(
1265            "Offset of field: ",
1266            stringify!(_IO_FILE),
1267            "::",
1268            stringify!(_chain)
1269        )
1270    );
1271    assert_eq!(
1272        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
1273        112usize,
1274        concat!(
1275            "Offset of field: ",
1276            stringify!(_IO_FILE),
1277            "::",
1278            stringify!(_fileno)
1279        )
1280    );
1281    assert_eq!(
1282        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
1283        116usize,
1284        concat!(
1285            "Offset of field: ",
1286            stringify!(_IO_FILE),
1287            "::",
1288            stringify!(_flags2)
1289        )
1290    );
1291    assert_eq!(
1292        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
1293        120usize,
1294        concat!(
1295            "Offset of field: ",
1296            stringify!(_IO_FILE),
1297            "::",
1298            stringify!(_old_offset)
1299        )
1300    );
1301    assert_eq!(
1302        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
1303        128usize,
1304        concat!(
1305            "Offset of field: ",
1306            stringify!(_IO_FILE),
1307            "::",
1308            stringify!(_cur_column)
1309        )
1310    );
1311    assert_eq!(
1312        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
1313        130usize,
1314        concat!(
1315            "Offset of field: ",
1316            stringify!(_IO_FILE),
1317            "::",
1318            stringify!(_vtable_offset)
1319        )
1320    );
1321    assert_eq!(
1322        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
1323        131usize,
1324        concat!(
1325            "Offset of field: ",
1326            stringify!(_IO_FILE),
1327            "::",
1328            stringify!(_shortbuf)
1329        )
1330    );
1331    assert_eq!(
1332        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
1333        136usize,
1334        concat!(
1335            "Offset of field: ",
1336            stringify!(_IO_FILE),
1337            "::",
1338            stringify!(_lock)
1339        )
1340    );
1341    assert_eq!(
1342        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
1343        144usize,
1344        concat!(
1345            "Offset of field: ",
1346            stringify!(_IO_FILE),
1347            "::",
1348            stringify!(_offset)
1349        )
1350    );
1351    assert_eq!(
1352        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
1353        152usize,
1354        concat!(
1355            "Offset of field: ",
1356            stringify!(_IO_FILE),
1357            "::",
1358            stringify!(_codecvt)
1359        )
1360    );
1361    assert_eq!(
1362        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
1363        160usize,
1364        concat!(
1365            "Offset of field: ",
1366            stringify!(_IO_FILE),
1367            "::",
1368            stringify!(_wide_data)
1369        )
1370    );
1371    assert_eq!(
1372        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
1373        168usize,
1374        concat!(
1375            "Offset of field: ",
1376            stringify!(_IO_FILE),
1377            "::",
1378            stringify!(_freeres_list)
1379        )
1380    );
1381    assert_eq!(
1382        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
1383        176usize,
1384        concat!(
1385            "Offset of field: ",
1386            stringify!(_IO_FILE),
1387            "::",
1388            stringify!(_freeres_buf)
1389        )
1390    );
1391    assert_eq!(
1392        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
1393        184usize,
1394        concat!(
1395            "Offset of field: ",
1396            stringify!(_IO_FILE),
1397            "::",
1398            stringify!(__pad5)
1399        )
1400    );
1401    assert_eq!(
1402        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
1403        192usize,
1404        concat!(
1405            "Offset of field: ",
1406            stringify!(_IO_FILE),
1407            "::",
1408            stringify!(_mode)
1409        )
1410    );
1411    assert_eq!(
1412        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
1413        196usize,
1414        concat!(
1415            "Offset of field: ",
1416            stringify!(_IO_FILE),
1417            "::",
1418            stringify!(_unused2)
1419        )
1420    );
1421}
1422pub type zend_long = i64;
1423pub type zend_ulong = u64;
1424pub type zend_off_t = i64;
1425pub type zend_bool = bool;
1426pub type zend_uchar = ::std::os::raw::c_uchar;
1427pub const ZEND_RESULT_CODE_SUCCESS: ZEND_RESULT_CODE = 0;
1428pub const ZEND_RESULT_CODE_FAILURE: ZEND_RESULT_CODE = -1;
1429pub type ZEND_RESULT_CODE = ::std::os::raw::c_int;
1430pub use self::ZEND_RESULT_CODE as zend_result;
1431pub type zend_intptr_t = isize;
1432pub type zend_uintptr_t = usize;
1433pub type zend_object_handlers = _zend_object_handlers;
1434pub type zend_class_entry = _zend_class_entry;
1435pub type zend_function = _zend_function;
1436pub type zend_execute_data = _zend_execute_data;
1437pub type zval = _zval_struct;
1438pub type zend_refcounted = _zend_refcounted;
1439pub type zend_string = _zend_string;
1440pub type zend_array = _zend_array;
1441pub type zend_object = _zend_object;
1442pub type zend_resource = _zend_resource;
1443pub type zend_reference = _zend_reference;
1444pub type zend_ast_ref = _zend_ast_ref;
1445pub type zend_ast = _zend_ast;
1446pub type compare_func_t = ::std::option::Option<
1447    unsafe extern "C" fn(
1448        arg1: *const ::std::os::raw::c_void,
1449        arg2: *const ::std::os::raw::c_void,
1450    ) -> ::std::os::raw::c_int,
1451>;
1452pub type swap_func_t = ::std::option::Option<
1453    unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_void),
1454>;
1455pub type sort_func_t = ::std::option::Option<
1456    unsafe extern "C" fn(
1457        arg1: *mut ::std::os::raw::c_void,
1458        arg2: size_t,
1459        arg3: size_t,
1460        arg4: compare_func_t,
1461        arg5: swap_func_t,
1462    ),
1463>;
1464pub type dtor_func_t = ::std::option::Option<unsafe extern "C" fn(pDest: *mut zval)>;
1465pub type copy_ctor_func_t = ::std::option::Option<unsafe extern "C" fn(pElement: *mut zval)>;
1466#[repr(C)]
1467#[derive(Debug, Copy, Clone)]
1468pub struct zend_type {
1469    pub ptr: *mut ::std::os::raw::c_void,
1470    pub type_mask: u32,
1471}
1472#[test]
1473fn bindgen_test_layout_zend_type() {
1474    assert_eq!(
1475        ::std::mem::size_of::<zend_type>(),
1476        16usize,
1477        concat!("Size of: ", stringify!(zend_type))
1478    );
1479    assert_eq!(
1480        ::std::mem::align_of::<zend_type>(),
1481        8usize,
1482        concat!("Alignment of ", stringify!(zend_type))
1483    );
1484    assert_eq!(
1485        unsafe { &(*(::std::ptr::null::<zend_type>())).ptr as *const _ as usize },
1486        0usize,
1487        concat!(
1488            "Offset of field: ",
1489            stringify!(zend_type),
1490            "::",
1491            stringify!(ptr)
1492        )
1493    );
1494    assert_eq!(
1495        unsafe { &(*(::std::ptr::null::<zend_type>())).type_mask as *const _ as usize },
1496        8usize,
1497        concat!(
1498            "Offset of field: ",
1499            stringify!(zend_type),
1500            "::",
1501            stringify!(type_mask)
1502        )
1503    );
1504}
1505#[repr(C)]
1506#[derive(Debug, Copy, Clone)]
1507pub struct zend_type_list {
1508    pub num_types: u32,
1509    pub types: [zend_type; 1usize],
1510}
1511#[test]
1512fn bindgen_test_layout_zend_type_list() {
1513    assert_eq!(
1514        ::std::mem::size_of::<zend_type_list>(),
1515        24usize,
1516        concat!("Size of: ", stringify!(zend_type_list))
1517    );
1518    assert_eq!(
1519        ::std::mem::align_of::<zend_type_list>(),
1520        8usize,
1521        concat!("Alignment of ", stringify!(zend_type_list))
1522    );
1523    assert_eq!(
1524        unsafe { &(*(::std::ptr::null::<zend_type_list>())).num_types as *const _ as usize },
1525        0usize,
1526        concat!(
1527            "Offset of field: ",
1528            stringify!(zend_type_list),
1529            "::",
1530            stringify!(num_types)
1531        )
1532    );
1533    assert_eq!(
1534        unsafe { &(*(::std::ptr::null::<zend_type_list>())).types as *const _ as usize },
1535        8usize,
1536        concat!(
1537            "Offset of field: ",
1538            stringify!(zend_type_list),
1539            "::",
1540            stringify!(types)
1541        )
1542    );
1543}
1544#[repr(C)]
1545#[derive(Copy, Clone)]
1546pub union _zend_value {
1547    pub lval: zend_long,
1548    pub dval: f64,
1549    pub counted: *mut zend_refcounted,
1550    pub str_: *mut zend_string,
1551    pub arr: *mut zend_array,
1552    pub obj: *mut zend_object,
1553    pub res: *mut zend_resource,
1554    pub ref_: *mut zend_reference,
1555    pub ast: *mut zend_ast_ref,
1556    pub zv: *mut zval,
1557    pub ptr: *mut ::std::os::raw::c_void,
1558    pub ce: *mut zend_class_entry,
1559    pub func: *mut zend_function,
1560    pub ww: _zend_value__bindgen_ty_1,
1561    _bindgen_union_align: u64,
1562}
1563#[repr(C)]
1564#[derive(Debug, Copy, Clone)]
1565pub struct _zend_value__bindgen_ty_1 {
1566    pub w1: u32,
1567    pub w2: u32,
1568}
1569#[test]
1570fn bindgen_test_layout__zend_value__bindgen_ty_1() {
1571    assert_eq!(
1572        ::std::mem::size_of::<_zend_value__bindgen_ty_1>(),
1573        8usize,
1574        concat!("Size of: ", stringify!(_zend_value__bindgen_ty_1))
1575    );
1576    assert_eq!(
1577        ::std::mem::align_of::<_zend_value__bindgen_ty_1>(),
1578        4usize,
1579        concat!("Alignment of ", stringify!(_zend_value__bindgen_ty_1))
1580    );
1581    assert_eq!(
1582        unsafe { &(*(::std::ptr::null::<_zend_value__bindgen_ty_1>())).w1 as *const _ as usize },
1583        0usize,
1584        concat!(
1585            "Offset of field: ",
1586            stringify!(_zend_value__bindgen_ty_1),
1587            "::",
1588            stringify!(w1)
1589        )
1590    );
1591    assert_eq!(
1592        unsafe { &(*(::std::ptr::null::<_zend_value__bindgen_ty_1>())).w2 as *const _ as usize },
1593        4usize,
1594        concat!(
1595            "Offset of field: ",
1596            stringify!(_zend_value__bindgen_ty_1),
1597            "::",
1598            stringify!(w2)
1599        )
1600    );
1601}
1602#[test]
1603fn bindgen_test_layout__zend_value() {
1604    assert_eq!(
1605        ::std::mem::size_of::<_zend_value>(),
1606        8usize,
1607        concat!("Size of: ", stringify!(_zend_value))
1608    );
1609    assert_eq!(
1610        ::std::mem::align_of::<_zend_value>(),
1611        8usize,
1612        concat!("Alignment of ", stringify!(_zend_value))
1613    );
1614    assert_eq!(
1615        unsafe { &(*(::std::ptr::null::<_zend_value>())).lval as *const _ as usize },
1616        0usize,
1617        concat!(
1618            "Offset of field: ",
1619            stringify!(_zend_value),
1620            "::",
1621            stringify!(lval)
1622        )
1623    );
1624    assert_eq!(
1625        unsafe { &(*(::std::ptr::null::<_zend_value>())).dval as *const _ as usize },
1626        0usize,
1627        concat!(
1628            "Offset of field: ",
1629            stringify!(_zend_value),
1630            "::",
1631            stringify!(dval)
1632        )
1633    );
1634    assert_eq!(
1635        unsafe { &(*(::std::ptr::null::<_zend_value>())).counted as *const _ as usize },
1636        0usize,
1637        concat!(
1638            "Offset of field: ",
1639            stringify!(_zend_value),
1640            "::",
1641            stringify!(counted)
1642        )
1643    );
1644    assert_eq!(
1645        unsafe { &(*(::std::ptr::null::<_zend_value>())).str_ as *const _ as usize },
1646        0usize,
1647        concat!(
1648            "Offset of field: ",
1649            stringify!(_zend_value),
1650            "::",
1651            stringify!(str_)
1652        )
1653    );
1654    assert_eq!(
1655        unsafe { &(*(::std::ptr::null::<_zend_value>())).arr as *const _ as usize },
1656        0usize,
1657        concat!(
1658            "Offset of field: ",
1659            stringify!(_zend_value),
1660            "::",
1661            stringify!(arr)
1662        )
1663    );
1664    assert_eq!(
1665        unsafe { &(*(::std::ptr::null::<_zend_value>())).obj as *const _ as usize },
1666        0usize,
1667        concat!(
1668            "Offset of field: ",
1669            stringify!(_zend_value),
1670            "::",
1671            stringify!(obj)
1672        )
1673    );
1674    assert_eq!(
1675        unsafe { &(*(::std::ptr::null::<_zend_value>())).res as *const _ as usize },
1676        0usize,
1677        concat!(
1678            "Offset of field: ",
1679            stringify!(_zend_value),
1680            "::",
1681            stringify!(res)
1682        )
1683    );
1684    assert_eq!(
1685        unsafe { &(*(::std::ptr::null::<_zend_value>())).ref_ as *const _ as usize },
1686        0usize,
1687        concat!(
1688            "Offset of field: ",
1689            stringify!(_zend_value),
1690            "::",
1691            stringify!(ref_)
1692        )
1693    );
1694    assert_eq!(
1695        unsafe { &(*(::std::ptr::null::<_zend_value>())).ast as *const _ as usize },
1696        0usize,
1697        concat!(
1698            "Offset of field: ",
1699            stringify!(_zend_value),
1700            "::",
1701            stringify!(ast)
1702        )
1703    );
1704    assert_eq!(
1705        unsafe { &(*(::std::ptr::null::<_zend_value>())).zv as *const _ as usize },
1706        0usize,
1707        concat!(
1708            "Offset of field: ",
1709            stringify!(_zend_value),
1710            "::",
1711            stringify!(zv)
1712        )
1713    );
1714    assert_eq!(
1715        unsafe { &(*(::std::ptr::null::<_zend_value>())).ptr as *const _ as usize },
1716        0usize,
1717        concat!(
1718            "Offset of field: ",
1719            stringify!(_zend_value),
1720            "::",
1721            stringify!(ptr)
1722        )
1723    );
1724    assert_eq!(
1725        unsafe { &(*(::std::ptr::null::<_zend_value>())).ce as *const _ as usize },
1726        0usize,
1727        concat!(
1728            "Offset of field: ",
1729            stringify!(_zend_value),
1730            "::",
1731            stringify!(ce)
1732        )
1733    );
1734    assert_eq!(
1735        unsafe { &(*(::std::ptr::null::<_zend_value>())).func as *const _ as usize },
1736        0usize,
1737        concat!(
1738            "Offset of field: ",
1739            stringify!(_zend_value),
1740            "::",
1741            stringify!(func)
1742        )
1743    );
1744    assert_eq!(
1745        unsafe { &(*(::std::ptr::null::<_zend_value>())).ww as *const _ as usize },
1746        0usize,
1747        concat!(
1748            "Offset of field: ",
1749            stringify!(_zend_value),
1750            "::",
1751            stringify!(ww)
1752        )
1753    );
1754}
1755pub type zend_value = _zend_value;
1756#[repr(C)]
1757#[derive(Copy, Clone)]
1758pub struct _zval_struct {
1759    pub value: zend_value,
1760    pub u1: _zval_struct__bindgen_ty_1,
1761    pub u2: _zval_struct__bindgen_ty_2,
1762}
1763#[repr(C)]
1764#[derive(Copy, Clone)]
1765pub union _zval_struct__bindgen_ty_1 {
1766    pub type_info: u32,
1767    pub v: _zval_struct__bindgen_ty_1__bindgen_ty_1,
1768    _bindgen_union_align: u32,
1769}
1770#[repr(C)]
1771#[derive(Copy, Clone)]
1772pub struct _zval_struct__bindgen_ty_1__bindgen_ty_1 {
1773    pub type_: zend_uchar,
1774    pub type_flags: zend_uchar,
1775    pub u: _zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
1776}
1777#[repr(C)]
1778#[derive(Copy, Clone)]
1779pub union _zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
1780    pub extra: u16,
1781    _bindgen_union_align: u16,
1782}
1783#[test]
1784fn bindgen_test_layout__zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
1785    assert_eq!(
1786        ::std::mem::size_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
1787        2usize,
1788        concat!(
1789            "Size of: ",
1790            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
1791        )
1792    );
1793    assert_eq!(
1794        ::std::mem::align_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
1795        2usize,
1796        concat!(
1797            "Alignment of ",
1798            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
1799        )
1800    );
1801    assert_eq!(
1802        unsafe {
1803            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())).extra
1804                as *const _ as usize
1805        },
1806        0usize,
1807        concat!(
1808            "Offset of field: ",
1809            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
1810            "::",
1811            stringify!(extra)
1812        )
1813    );
1814}
1815#[test]
1816fn bindgen_test_layout__zval_struct__bindgen_ty_1__bindgen_ty_1() {
1817    assert_eq!(
1818        ::std::mem::size_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1>(),
1819        4usize,
1820        concat!(
1821            "Size of: ",
1822            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1)
1823        )
1824    );
1825    assert_eq!(
1826        ::std::mem::align_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1>(),
1827        2usize,
1828        concat!(
1829            "Alignment of ",
1830            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1)
1831        )
1832    );
1833    assert_eq!(
1834        unsafe {
1835            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1>())).type_ as *const _
1836                as usize
1837        },
1838        0usize,
1839        concat!(
1840            "Offset of field: ",
1841            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1),
1842            "::",
1843            stringify!(type_)
1844        )
1845    );
1846    assert_eq!(
1847        unsafe {
1848            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1>())).type_flags
1849                as *const _ as usize
1850        },
1851        1usize,
1852        concat!(
1853            "Offset of field: ",
1854            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1),
1855            "::",
1856            stringify!(type_flags)
1857        )
1858    );
1859    assert_eq!(
1860        unsafe {
1861            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1>())).u as *const _
1862                as usize
1863        },
1864        2usize,
1865        concat!(
1866            "Offset of field: ",
1867            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1),
1868            "::",
1869            stringify!(u)
1870        )
1871    );
1872}
1873#[test]
1874fn bindgen_test_layout__zval_struct__bindgen_ty_1() {
1875    assert_eq!(
1876        ::std::mem::size_of::<_zval_struct__bindgen_ty_1>(),
1877        4usize,
1878        concat!("Size of: ", stringify!(_zval_struct__bindgen_ty_1))
1879    );
1880    assert_eq!(
1881        ::std::mem::align_of::<_zval_struct__bindgen_ty_1>(),
1882        4usize,
1883        concat!("Alignment of ", stringify!(_zval_struct__bindgen_ty_1))
1884    );
1885    assert_eq!(
1886        unsafe {
1887            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1>())).type_info as *const _ as usize
1888        },
1889        0usize,
1890        concat!(
1891            "Offset of field: ",
1892            stringify!(_zval_struct__bindgen_ty_1),
1893            "::",
1894            stringify!(type_info)
1895        )
1896    );
1897    assert_eq!(
1898        unsafe { &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1>())).v as *const _ as usize },
1899        0usize,
1900        concat!(
1901            "Offset of field: ",
1902            stringify!(_zval_struct__bindgen_ty_1),
1903            "::",
1904            stringify!(v)
1905        )
1906    );
1907}
1908#[repr(C)]
1909#[derive(Copy, Clone)]
1910pub union _zval_struct__bindgen_ty_2 {
1911    pub next: u32,
1912    pub cache_slot: u32,
1913    pub opline_num: u32,
1914    pub lineno: u32,
1915    pub num_args: u32,
1916    pub fe_pos: u32,
1917    pub fe_iter_idx: u32,
1918    pub access_flags: u32,
1919    pub property_guard: u32,
1920    pub constant_flags: u32,
1921    pub extra: u32,
1922    _bindgen_union_align: u32,
1923}
1924#[test]
1925fn bindgen_test_layout__zval_struct__bindgen_ty_2() {
1926    assert_eq!(
1927        ::std::mem::size_of::<_zval_struct__bindgen_ty_2>(),
1928        4usize,
1929        concat!("Size of: ", stringify!(_zval_struct__bindgen_ty_2))
1930    );
1931    assert_eq!(
1932        ::std::mem::align_of::<_zval_struct__bindgen_ty_2>(),
1933        4usize,
1934        concat!("Alignment of ", stringify!(_zval_struct__bindgen_ty_2))
1935    );
1936    assert_eq!(
1937        unsafe { &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).next as *const _ as usize },
1938        0usize,
1939        concat!(
1940            "Offset of field: ",
1941            stringify!(_zval_struct__bindgen_ty_2),
1942            "::",
1943            stringify!(next)
1944        )
1945    );
1946    assert_eq!(
1947        unsafe {
1948            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).cache_slot as *const _ as usize
1949        },
1950        0usize,
1951        concat!(
1952            "Offset of field: ",
1953            stringify!(_zval_struct__bindgen_ty_2),
1954            "::",
1955            stringify!(cache_slot)
1956        )
1957    );
1958    assert_eq!(
1959        unsafe {
1960            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).opline_num as *const _ as usize
1961        },
1962        0usize,
1963        concat!(
1964            "Offset of field: ",
1965            stringify!(_zval_struct__bindgen_ty_2),
1966            "::",
1967            stringify!(opline_num)
1968        )
1969    );
1970    assert_eq!(
1971        unsafe {
1972            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).lineno as *const _ as usize
1973        },
1974        0usize,
1975        concat!(
1976            "Offset of field: ",
1977            stringify!(_zval_struct__bindgen_ty_2),
1978            "::",
1979            stringify!(lineno)
1980        )
1981    );
1982    assert_eq!(
1983        unsafe {
1984            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).num_args as *const _ as usize
1985        },
1986        0usize,
1987        concat!(
1988            "Offset of field: ",
1989            stringify!(_zval_struct__bindgen_ty_2),
1990            "::",
1991            stringify!(num_args)
1992        )
1993    );
1994    assert_eq!(
1995        unsafe {
1996            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).fe_pos as *const _ as usize
1997        },
1998        0usize,
1999        concat!(
2000            "Offset of field: ",
2001            stringify!(_zval_struct__bindgen_ty_2),
2002            "::",
2003            stringify!(fe_pos)
2004        )
2005    );
2006    assert_eq!(
2007        unsafe {
2008            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).fe_iter_idx as *const _ as usize
2009        },
2010        0usize,
2011        concat!(
2012            "Offset of field: ",
2013            stringify!(_zval_struct__bindgen_ty_2),
2014            "::",
2015            stringify!(fe_iter_idx)
2016        )
2017    );
2018    assert_eq!(
2019        unsafe {
2020            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).access_flags as *const _ as usize
2021        },
2022        0usize,
2023        concat!(
2024            "Offset of field: ",
2025            stringify!(_zval_struct__bindgen_ty_2),
2026            "::",
2027            stringify!(access_flags)
2028        )
2029    );
2030    assert_eq!(
2031        unsafe {
2032            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).property_guard as *const _
2033                as usize
2034        },
2035        0usize,
2036        concat!(
2037            "Offset of field: ",
2038            stringify!(_zval_struct__bindgen_ty_2),
2039            "::",
2040            stringify!(property_guard)
2041        )
2042    );
2043    assert_eq!(
2044        unsafe {
2045            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).constant_flags as *const _
2046                as usize
2047        },
2048        0usize,
2049        concat!(
2050            "Offset of field: ",
2051            stringify!(_zval_struct__bindgen_ty_2),
2052            "::",
2053            stringify!(constant_flags)
2054        )
2055    );
2056    assert_eq!(
2057        unsafe {
2058            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).extra as *const _ as usize
2059        },
2060        0usize,
2061        concat!(
2062            "Offset of field: ",
2063            stringify!(_zval_struct__bindgen_ty_2),
2064            "::",
2065            stringify!(extra)
2066        )
2067    );
2068}
2069#[test]
2070fn bindgen_test_layout__zval_struct() {
2071    assert_eq!(
2072        ::std::mem::size_of::<_zval_struct>(),
2073        16usize,
2074        concat!("Size of: ", stringify!(_zval_struct))
2075    );
2076    assert_eq!(
2077        ::std::mem::align_of::<_zval_struct>(),
2078        8usize,
2079        concat!("Alignment of ", stringify!(_zval_struct))
2080    );
2081    assert_eq!(
2082        unsafe { &(*(::std::ptr::null::<_zval_struct>())).value as *const _ as usize },
2083        0usize,
2084        concat!(
2085            "Offset of field: ",
2086            stringify!(_zval_struct),
2087            "::",
2088            stringify!(value)
2089        )
2090    );
2091    assert_eq!(
2092        unsafe { &(*(::std::ptr::null::<_zval_struct>())).u1 as *const _ as usize },
2093        8usize,
2094        concat!(
2095            "Offset of field: ",
2096            stringify!(_zval_struct),
2097            "::",
2098            stringify!(u1)
2099        )
2100    );
2101    assert_eq!(
2102        unsafe { &(*(::std::ptr::null::<_zval_struct>())).u2 as *const _ as usize },
2103        12usize,
2104        concat!(
2105            "Offset of field: ",
2106            stringify!(_zval_struct),
2107            "::",
2108            stringify!(u2)
2109        )
2110    );
2111}
2112#[repr(C)]
2113#[derive(Copy, Clone)]
2114pub struct _zend_refcounted_h {
2115    pub refcount: u32,
2116    pub u: _zend_refcounted_h__bindgen_ty_1,
2117}
2118#[repr(C)]
2119#[derive(Copy, Clone)]
2120pub union _zend_refcounted_h__bindgen_ty_1 {
2121    pub type_info: u32,
2122    _bindgen_union_align: u32,
2123}
2124#[test]
2125fn bindgen_test_layout__zend_refcounted_h__bindgen_ty_1() {
2126    assert_eq!(
2127        ::std::mem::size_of::<_zend_refcounted_h__bindgen_ty_1>(),
2128        4usize,
2129        concat!("Size of: ", stringify!(_zend_refcounted_h__bindgen_ty_1))
2130    );
2131    assert_eq!(
2132        ::std::mem::align_of::<_zend_refcounted_h__bindgen_ty_1>(),
2133        4usize,
2134        concat!(
2135            "Alignment of ",
2136            stringify!(_zend_refcounted_h__bindgen_ty_1)
2137        )
2138    );
2139    assert_eq!(
2140        unsafe {
2141            &(*(::std::ptr::null::<_zend_refcounted_h__bindgen_ty_1>())).type_info as *const _
2142                as usize
2143        },
2144        0usize,
2145        concat!(
2146            "Offset of field: ",
2147            stringify!(_zend_refcounted_h__bindgen_ty_1),
2148            "::",
2149            stringify!(type_info)
2150        )
2151    );
2152}
2153#[test]
2154fn bindgen_test_layout__zend_refcounted_h() {
2155    assert_eq!(
2156        ::std::mem::size_of::<_zend_refcounted_h>(),
2157        8usize,
2158        concat!("Size of: ", stringify!(_zend_refcounted_h))
2159    );
2160    assert_eq!(
2161        ::std::mem::align_of::<_zend_refcounted_h>(),
2162        4usize,
2163        concat!("Alignment of ", stringify!(_zend_refcounted_h))
2164    );
2165    assert_eq!(
2166        unsafe { &(*(::std::ptr::null::<_zend_refcounted_h>())).refcount as *const _ as usize },
2167        0usize,
2168        concat!(
2169            "Offset of field: ",
2170            stringify!(_zend_refcounted_h),
2171            "::",
2172            stringify!(refcount)
2173        )
2174    );
2175    assert_eq!(
2176        unsafe { &(*(::std::ptr::null::<_zend_refcounted_h>())).u as *const _ as usize },
2177        4usize,
2178        concat!(
2179            "Offset of field: ",
2180            stringify!(_zend_refcounted_h),
2181            "::",
2182            stringify!(u)
2183        )
2184    );
2185}
2186pub type zend_refcounted_h = _zend_refcounted_h;
2187#[repr(C)]
2188#[derive(Copy, Clone)]
2189pub struct _zend_refcounted {
2190    pub gc: zend_refcounted_h,
2191}
2192#[test]
2193fn bindgen_test_layout__zend_refcounted() {
2194    assert_eq!(
2195        ::std::mem::size_of::<_zend_refcounted>(),
2196        8usize,
2197        concat!("Size of: ", stringify!(_zend_refcounted))
2198    );
2199    assert_eq!(
2200        ::std::mem::align_of::<_zend_refcounted>(),
2201        4usize,
2202        concat!("Alignment of ", stringify!(_zend_refcounted))
2203    );
2204    assert_eq!(
2205        unsafe { &(*(::std::ptr::null::<_zend_refcounted>())).gc as *const _ as usize },
2206        0usize,
2207        concat!(
2208            "Offset of field: ",
2209            stringify!(_zend_refcounted),
2210            "::",
2211            stringify!(gc)
2212        )
2213    );
2214}
2215#[repr(C)]
2216#[derive(Copy, Clone)]
2217pub struct _zend_string {
2218    pub gc: zend_refcounted_h,
2219    pub h: zend_ulong,
2220    pub len: size_t,
2221    pub val: [::std::os::raw::c_char; 1usize],
2222}
2223#[test]
2224fn bindgen_test_layout__zend_string() {
2225    assert_eq!(
2226        ::std::mem::size_of::<_zend_string>(),
2227        32usize,
2228        concat!("Size of: ", stringify!(_zend_string))
2229    );
2230    assert_eq!(
2231        ::std::mem::align_of::<_zend_string>(),
2232        8usize,
2233        concat!("Alignment of ", stringify!(_zend_string))
2234    );
2235    assert_eq!(
2236        unsafe { &(*(::std::ptr::null::<_zend_string>())).gc as *const _ as usize },
2237        0usize,
2238        concat!(
2239            "Offset of field: ",
2240            stringify!(_zend_string),
2241            "::",
2242            stringify!(gc)
2243        )
2244    );
2245    assert_eq!(
2246        unsafe { &(*(::std::ptr::null::<_zend_string>())).h as *const _ as usize },
2247        8usize,
2248        concat!(
2249            "Offset of field: ",
2250            stringify!(_zend_string),
2251            "::",
2252            stringify!(h)
2253        )
2254    );
2255    assert_eq!(
2256        unsafe { &(*(::std::ptr::null::<_zend_string>())).len as *const _ as usize },
2257        16usize,
2258        concat!(
2259            "Offset of field: ",
2260            stringify!(_zend_string),
2261            "::",
2262            stringify!(len)
2263        )
2264    );
2265    assert_eq!(
2266        unsafe { &(*(::std::ptr::null::<_zend_string>())).val as *const _ as usize },
2267        24usize,
2268        concat!(
2269            "Offset of field: ",
2270            stringify!(_zend_string),
2271            "::",
2272            stringify!(val)
2273        )
2274    );
2275}
2276#[repr(C)]
2277#[derive(Copy, Clone)]
2278pub struct _Bucket {
2279    pub val: zval,
2280    pub h: zend_ulong,
2281    pub key: *mut zend_string,
2282}
2283#[test]
2284fn bindgen_test_layout__Bucket() {
2285    assert_eq!(
2286        ::std::mem::size_of::<_Bucket>(),
2287        32usize,
2288        concat!("Size of: ", stringify!(_Bucket))
2289    );
2290    assert_eq!(
2291        ::std::mem::align_of::<_Bucket>(),
2292        8usize,
2293        concat!("Alignment of ", stringify!(_Bucket))
2294    );
2295    assert_eq!(
2296        unsafe { &(*(::std::ptr::null::<_Bucket>())).val as *const _ as usize },
2297        0usize,
2298        concat!(
2299            "Offset of field: ",
2300            stringify!(_Bucket),
2301            "::",
2302            stringify!(val)
2303        )
2304    );
2305    assert_eq!(
2306        unsafe { &(*(::std::ptr::null::<_Bucket>())).h as *const _ as usize },
2307        16usize,
2308        concat!(
2309            "Offset of field: ",
2310            stringify!(_Bucket),
2311            "::",
2312            stringify!(h)
2313        )
2314    );
2315    assert_eq!(
2316        unsafe { &(*(::std::ptr::null::<_Bucket>())).key as *const _ as usize },
2317        24usize,
2318        concat!(
2319            "Offset of field: ",
2320            stringify!(_Bucket),
2321            "::",
2322            stringify!(key)
2323        )
2324    );
2325}
2326pub type Bucket = _Bucket;
2327pub type HashTable = _zend_array;
2328#[repr(C)]
2329#[derive(Copy, Clone)]
2330pub struct _zend_array {
2331    pub gc: zend_refcounted_h,
2332    pub u: _zend_array__bindgen_ty_1,
2333    pub nTableMask: u32,
2334    pub arData: *mut Bucket,
2335    pub nNumUsed: u32,
2336    pub nNumOfElements: u32,
2337    pub nTableSize: u32,
2338    pub nInternalPointer: u32,
2339    pub nNextFreeElement: zend_long,
2340    pub pDestructor: dtor_func_t,
2341}
2342#[repr(C)]
2343#[derive(Copy, Clone)]
2344pub union _zend_array__bindgen_ty_1 {
2345    pub v: _zend_array__bindgen_ty_1__bindgen_ty_1,
2346    pub flags: u32,
2347    _bindgen_union_align: u32,
2348}
2349#[repr(C)]
2350#[derive(Debug, Copy, Clone)]
2351pub struct _zend_array__bindgen_ty_1__bindgen_ty_1 {
2352    pub flags: zend_uchar,
2353    pub _unused: zend_uchar,
2354    pub nIteratorsCount: zend_uchar,
2355    pub _unused2: zend_uchar,
2356}
2357#[test]
2358fn bindgen_test_layout__zend_array__bindgen_ty_1__bindgen_ty_1() {
2359    assert_eq!(
2360        ::std::mem::size_of::<_zend_array__bindgen_ty_1__bindgen_ty_1>(),
2361        4usize,
2362        concat!(
2363            "Size of: ",
2364            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1)
2365        )
2366    );
2367    assert_eq!(
2368        ::std::mem::align_of::<_zend_array__bindgen_ty_1__bindgen_ty_1>(),
2369        1usize,
2370        concat!(
2371            "Alignment of ",
2372            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1)
2373        )
2374    );
2375    assert_eq!(
2376        unsafe {
2377            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>())).flags as *const _
2378                as usize
2379        },
2380        0usize,
2381        concat!(
2382            "Offset of field: ",
2383            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
2384            "::",
2385            stringify!(flags)
2386        )
2387    );
2388    assert_eq!(
2389        unsafe {
2390            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>()))._unused as *const _
2391                as usize
2392        },
2393        1usize,
2394        concat!(
2395            "Offset of field: ",
2396            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
2397            "::",
2398            stringify!(_unused)
2399        )
2400    );
2401    assert_eq!(
2402        unsafe {
2403            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>())).nIteratorsCount
2404                as *const _ as usize
2405        },
2406        2usize,
2407        concat!(
2408            "Offset of field: ",
2409            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
2410            "::",
2411            stringify!(nIteratorsCount)
2412        )
2413    );
2414    assert_eq!(
2415        unsafe {
2416            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>()))._unused2 as *const _
2417                as usize
2418        },
2419        3usize,
2420        concat!(
2421            "Offset of field: ",
2422            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
2423            "::",
2424            stringify!(_unused2)
2425        )
2426    );
2427}
2428#[test]
2429fn bindgen_test_layout__zend_array__bindgen_ty_1() {
2430    assert_eq!(
2431        ::std::mem::size_of::<_zend_array__bindgen_ty_1>(),
2432        4usize,
2433        concat!("Size of: ", stringify!(_zend_array__bindgen_ty_1))
2434    );
2435    assert_eq!(
2436        ::std::mem::align_of::<_zend_array__bindgen_ty_1>(),
2437        4usize,
2438        concat!("Alignment of ", stringify!(_zend_array__bindgen_ty_1))
2439    );
2440    assert_eq!(
2441        unsafe { &(*(::std::ptr::null::<_zend_array__bindgen_ty_1>())).v as *const _ as usize },
2442        0usize,
2443        concat!(
2444            "Offset of field: ",
2445            stringify!(_zend_array__bindgen_ty_1),
2446            "::",
2447            stringify!(v)
2448        )
2449    );
2450    assert_eq!(
2451        unsafe { &(*(::std::ptr::null::<_zend_array__bindgen_ty_1>())).flags as *const _ as usize },
2452        0usize,
2453        concat!(
2454            "Offset of field: ",
2455            stringify!(_zend_array__bindgen_ty_1),
2456            "::",
2457            stringify!(flags)
2458        )
2459    );
2460}
2461#[test]
2462fn bindgen_test_layout__zend_array() {
2463    assert_eq!(
2464        ::std::mem::size_of::<_zend_array>(),
2465        56usize,
2466        concat!("Size of: ", stringify!(_zend_array))
2467    );
2468    assert_eq!(
2469        ::std::mem::align_of::<_zend_array>(),
2470        8usize,
2471        concat!("Alignment of ", stringify!(_zend_array))
2472    );
2473    assert_eq!(
2474        unsafe { &(*(::std::ptr::null::<_zend_array>())).gc as *const _ as usize },
2475        0usize,
2476        concat!(
2477            "Offset of field: ",
2478            stringify!(_zend_array),
2479            "::",
2480            stringify!(gc)
2481        )
2482    );
2483    assert_eq!(
2484        unsafe { &(*(::std::ptr::null::<_zend_array>())).u as *const _ as usize },
2485        8usize,
2486        concat!(
2487            "Offset of field: ",
2488            stringify!(_zend_array),
2489            "::",
2490            stringify!(u)
2491        )
2492    );
2493    assert_eq!(
2494        unsafe { &(*(::std::ptr::null::<_zend_array>())).nTableMask as *const _ as usize },
2495        12usize,
2496        concat!(
2497            "Offset of field: ",
2498            stringify!(_zend_array),
2499            "::",
2500            stringify!(nTableMask)
2501        )
2502    );
2503    assert_eq!(
2504        unsafe { &(*(::std::ptr::null::<_zend_array>())).arData as *const _ as usize },
2505        16usize,
2506        concat!(
2507            "Offset of field: ",
2508            stringify!(_zend_array),
2509            "::",
2510            stringify!(arData)
2511        )
2512    );
2513    assert_eq!(
2514        unsafe { &(*(::std::ptr::null::<_zend_array>())).nNumUsed as *const _ as usize },
2515        24usize,
2516        concat!(
2517            "Offset of field: ",
2518            stringify!(_zend_array),
2519            "::",
2520            stringify!(nNumUsed)
2521        )
2522    );
2523    assert_eq!(
2524        unsafe { &(*(::std::ptr::null::<_zend_array>())).nNumOfElements as *const _ as usize },
2525        28usize,
2526        concat!(
2527            "Offset of field: ",
2528            stringify!(_zend_array),
2529            "::",
2530            stringify!(nNumOfElements)
2531        )
2532    );
2533    assert_eq!(
2534        unsafe { &(*(::std::ptr::null::<_zend_array>())).nTableSize as *const _ as usize },
2535        32usize,
2536        concat!(
2537            "Offset of field: ",
2538            stringify!(_zend_array),
2539            "::",
2540            stringify!(nTableSize)
2541        )
2542    );
2543    assert_eq!(
2544        unsafe { &(*(::std::ptr::null::<_zend_array>())).nInternalPointer as *const _ as usize },
2545        36usize,
2546        concat!(
2547            "Offset of field: ",
2548            stringify!(_zend_array),
2549            "::",
2550            stringify!(nInternalPointer)
2551        )
2552    );
2553    assert_eq!(
2554        unsafe { &(*(::std::ptr::null::<_zend_array>())).nNextFreeElement as *const _ as usize },
2555        40usize,
2556        concat!(
2557            "Offset of field: ",
2558            stringify!(_zend_array),
2559            "::",
2560            stringify!(nNextFreeElement)
2561        )
2562    );
2563    assert_eq!(
2564        unsafe { &(*(::std::ptr::null::<_zend_array>())).pDestructor as *const _ as usize },
2565        48usize,
2566        concat!(
2567            "Offset of field: ",
2568            stringify!(_zend_array),
2569            "::",
2570            stringify!(pDestructor)
2571        )
2572    );
2573}
2574pub type HashPosition = u32;
2575#[repr(C)]
2576#[derive(Debug, Copy, Clone)]
2577pub struct _HashTableIterator {
2578    pub ht: *mut HashTable,
2579    pub pos: HashPosition,
2580}
2581#[test]
2582fn bindgen_test_layout__HashTableIterator() {
2583    assert_eq!(
2584        ::std::mem::size_of::<_HashTableIterator>(),
2585        16usize,
2586        concat!("Size of: ", stringify!(_HashTableIterator))
2587    );
2588    assert_eq!(
2589        ::std::mem::align_of::<_HashTableIterator>(),
2590        8usize,
2591        concat!("Alignment of ", stringify!(_HashTableIterator))
2592    );
2593    assert_eq!(
2594        unsafe { &(*(::std::ptr::null::<_HashTableIterator>())).ht as *const _ as usize },
2595        0usize,
2596        concat!(
2597            "Offset of field: ",
2598            stringify!(_HashTableIterator),
2599            "::",
2600            stringify!(ht)
2601        )
2602    );
2603    assert_eq!(
2604        unsafe { &(*(::std::ptr::null::<_HashTableIterator>())).pos as *const _ as usize },
2605        8usize,
2606        concat!(
2607            "Offset of field: ",
2608            stringify!(_HashTableIterator),
2609            "::",
2610            stringify!(pos)
2611        )
2612    );
2613}
2614pub type HashTableIterator = _HashTableIterator;
2615#[repr(C)]
2616#[derive(Copy, Clone)]
2617pub struct _zend_object {
2618    pub gc: zend_refcounted_h,
2619    pub handle: u32,
2620    pub ce: *mut zend_class_entry,
2621    pub handlers: *const zend_object_handlers,
2622    pub properties: *mut HashTable,
2623    pub properties_table: [zval; 1usize],
2624}
2625#[test]
2626fn bindgen_test_layout__zend_object() {
2627    assert_eq!(
2628        ::std::mem::size_of::<_zend_object>(),
2629        56usize,
2630        concat!("Size of: ", stringify!(_zend_object))
2631    );
2632    assert_eq!(
2633        ::std::mem::align_of::<_zend_object>(),
2634        8usize,
2635        concat!("Alignment of ", stringify!(_zend_object))
2636    );
2637    assert_eq!(
2638        unsafe { &(*(::std::ptr::null::<_zend_object>())).gc as *const _ as usize },
2639        0usize,
2640        concat!(
2641            "Offset of field: ",
2642            stringify!(_zend_object),
2643            "::",
2644            stringify!(gc)
2645        )
2646    );
2647    assert_eq!(
2648        unsafe { &(*(::std::ptr::null::<_zend_object>())).handle as *const _ as usize },
2649        8usize,
2650        concat!(
2651            "Offset of field: ",
2652            stringify!(_zend_object),
2653            "::",
2654            stringify!(handle)
2655        )
2656    );
2657    assert_eq!(
2658        unsafe { &(*(::std::ptr::null::<_zend_object>())).ce as *const _ as usize },
2659        16usize,
2660        concat!(
2661            "Offset of field: ",
2662            stringify!(_zend_object),
2663            "::",
2664            stringify!(ce)
2665        )
2666    );
2667    assert_eq!(
2668        unsafe { &(*(::std::ptr::null::<_zend_object>())).handlers as *const _ as usize },
2669        24usize,
2670        concat!(
2671            "Offset of field: ",
2672            stringify!(_zend_object),
2673            "::",
2674            stringify!(handlers)
2675        )
2676    );
2677    assert_eq!(
2678        unsafe { &(*(::std::ptr::null::<_zend_object>())).properties as *const _ as usize },
2679        32usize,
2680        concat!(
2681            "Offset of field: ",
2682            stringify!(_zend_object),
2683            "::",
2684            stringify!(properties)
2685        )
2686    );
2687    assert_eq!(
2688        unsafe { &(*(::std::ptr::null::<_zend_object>())).properties_table as *const _ as usize },
2689        40usize,
2690        concat!(
2691            "Offset of field: ",
2692            stringify!(_zend_object),
2693            "::",
2694            stringify!(properties_table)
2695        )
2696    );
2697}
2698#[repr(C)]
2699#[derive(Copy, Clone)]
2700pub struct _zend_resource {
2701    pub gc: zend_refcounted_h,
2702    pub handle: ::std::os::raw::c_int,
2703    pub type_: ::std::os::raw::c_int,
2704    pub ptr: *mut ::std::os::raw::c_void,
2705}
2706#[test]
2707fn bindgen_test_layout__zend_resource() {
2708    assert_eq!(
2709        ::std::mem::size_of::<_zend_resource>(),
2710        24usize,
2711        concat!("Size of: ", stringify!(_zend_resource))
2712    );
2713    assert_eq!(
2714        ::std::mem::align_of::<_zend_resource>(),
2715        8usize,
2716        concat!("Alignment of ", stringify!(_zend_resource))
2717    );
2718    assert_eq!(
2719        unsafe { &(*(::std::ptr::null::<_zend_resource>())).gc as *const _ as usize },
2720        0usize,
2721        concat!(
2722            "Offset of field: ",
2723            stringify!(_zend_resource),
2724            "::",
2725            stringify!(gc)
2726        )
2727    );
2728    assert_eq!(
2729        unsafe { &(*(::std::ptr::null::<_zend_resource>())).handle as *const _ as usize },
2730        8usize,
2731        concat!(
2732            "Offset of field: ",
2733            stringify!(_zend_resource),
2734            "::",
2735            stringify!(handle)
2736        )
2737    );
2738    assert_eq!(
2739        unsafe { &(*(::std::ptr::null::<_zend_resource>())).type_ as *const _ as usize },
2740        12usize,
2741        concat!(
2742            "Offset of field: ",
2743            stringify!(_zend_resource),
2744            "::",
2745            stringify!(type_)
2746        )
2747    );
2748    assert_eq!(
2749        unsafe { &(*(::std::ptr::null::<_zend_resource>())).ptr as *const _ as usize },
2750        16usize,
2751        concat!(
2752            "Offset of field: ",
2753            stringify!(_zend_resource),
2754            "::",
2755            stringify!(ptr)
2756        )
2757    );
2758}
2759#[repr(C)]
2760#[derive(Debug, Copy, Clone)]
2761pub struct zend_property_info_list {
2762    pub num: size_t,
2763    pub num_allocated: size_t,
2764    pub ptr: [*mut _zend_property_info; 1usize],
2765}
2766#[test]
2767fn bindgen_test_layout_zend_property_info_list() {
2768    assert_eq!(
2769        ::std::mem::size_of::<zend_property_info_list>(),
2770        24usize,
2771        concat!("Size of: ", stringify!(zend_property_info_list))
2772    );
2773    assert_eq!(
2774        ::std::mem::align_of::<zend_property_info_list>(),
2775        8usize,
2776        concat!("Alignment of ", stringify!(zend_property_info_list))
2777    );
2778    assert_eq!(
2779        unsafe { &(*(::std::ptr::null::<zend_property_info_list>())).num as *const _ as usize },
2780        0usize,
2781        concat!(
2782            "Offset of field: ",
2783            stringify!(zend_property_info_list),
2784            "::",
2785            stringify!(num)
2786        )
2787    );
2788    assert_eq!(
2789        unsafe {
2790            &(*(::std::ptr::null::<zend_property_info_list>())).num_allocated as *const _ as usize
2791        },
2792        8usize,
2793        concat!(
2794            "Offset of field: ",
2795            stringify!(zend_property_info_list),
2796            "::",
2797            stringify!(num_allocated)
2798        )
2799    );
2800    assert_eq!(
2801        unsafe { &(*(::std::ptr::null::<zend_property_info_list>())).ptr as *const _ as usize },
2802        16usize,
2803        concat!(
2804            "Offset of field: ",
2805            stringify!(zend_property_info_list),
2806            "::",
2807            stringify!(ptr)
2808        )
2809    );
2810}
2811#[repr(C)]
2812#[derive(Copy, Clone)]
2813pub union zend_property_info_source_list {
2814    pub ptr: *mut _zend_property_info,
2815    pub list: usize,
2816    _bindgen_union_align: u64,
2817}
2818#[test]
2819fn bindgen_test_layout_zend_property_info_source_list() {
2820    assert_eq!(
2821        ::std::mem::size_of::<zend_property_info_source_list>(),
2822        8usize,
2823        concat!("Size of: ", stringify!(zend_property_info_source_list))
2824    );
2825    assert_eq!(
2826        ::std::mem::align_of::<zend_property_info_source_list>(),
2827        8usize,
2828        concat!("Alignment of ", stringify!(zend_property_info_source_list))
2829    );
2830    assert_eq!(
2831        unsafe {
2832            &(*(::std::ptr::null::<zend_property_info_source_list>())).ptr as *const _ as usize
2833        },
2834        0usize,
2835        concat!(
2836            "Offset of field: ",
2837            stringify!(zend_property_info_source_list),
2838            "::",
2839            stringify!(ptr)
2840        )
2841    );
2842    assert_eq!(
2843        unsafe {
2844            &(*(::std::ptr::null::<zend_property_info_source_list>())).list as *const _ as usize
2845        },
2846        0usize,
2847        concat!(
2848            "Offset of field: ",
2849            stringify!(zend_property_info_source_list),
2850            "::",
2851            stringify!(list)
2852        )
2853    );
2854}
2855#[repr(C)]
2856#[derive(Copy, Clone)]
2857pub struct _zend_reference {
2858    pub gc: zend_refcounted_h,
2859    pub val: zval,
2860    pub sources: zend_property_info_source_list,
2861}
2862#[test]
2863fn bindgen_test_layout__zend_reference() {
2864    assert_eq!(
2865        ::std::mem::size_of::<_zend_reference>(),
2866        32usize,
2867        concat!("Size of: ", stringify!(_zend_reference))
2868    );
2869    assert_eq!(
2870        ::std::mem::align_of::<_zend_reference>(),
2871        8usize,
2872        concat!("Alignment of ", stringify!(_zend_reference))
2873    );
2874    assert_eq!(
2875        unsafe { &(*(::std::ptr::null::<_zend_reference>())).gc as *const _ as usize },
2876        0usize,
2877        concat!(
2878            "Offset of field: ",
2879            stringify!(_zend_reference),
2880            "::",
2881            stringify!(gc)
2882        )
2883    );
2884    assert_eq!(
2885        unsafe { &(*(::std::ptr::null::<_zend_reference>())).val as *const _ as usize },
2886        8usize,
2887        concat!(
2888            "Offset of field: ",
2889            stringify!(_zend_reference),
2890            "::",
2891            stringify!(val)
2892        )
2893    );
2894    assert_eq!(
2895        unsafe { &(*(::std::ptr::null::<_zend_reference>())).sources as *const _ as usize },
2896        24usize,
2897        concat!(
2898            "Offset of field: ",
2899            stringify!(_zend_reference),
2900            "::",
2901            stringify!(sources)
2902        )
2903    );
2904}
2905#[repr(C)]
2906#[derive(Copy, Clone)]
2907pub struct _zend_ast_ref {
2908    pub gc: zend_refcounted_h,
2909}
2910#[test]
2911fn bindgen_test_layout__zend_ast_ref() {
2912    assert_eq!(
2913        ::std::mem::size_of::<_zend_ast_ref>(),
2914        8usize,
2915        concat!("Size of: ", stringify!(_zend_ast_ref))
2916    );
2917    assert_eq!(
2918        ::std::mem::align_of::<_zend_ast_ref>(),
2919        4usize,
2920        concat!("Alignment of ", stringify!(_zend_ast_ref))
2921    );
2922    assert_eq!(
2923        unsafe { &(*(::std::ptr::null::<_zend_ast_ref>())).gc as *const _ as usize },
2924        0usize,
2925        concat!(
2926            "Offset of field: ",
2927            stringify!(_zend_ast_ref),
2928            "::",
2929            stringify!(gc)
2930        )
2931    );
2932}
2933extern "C" {
2934    pub fn zend_map_ptr_reset();
2935}
2936extern "C" {
2937    pub fn zend_map_ptr_new() -> *mut ::std::os::raw::c_void;
2938}
2939extern "C" {
2940    pub fn zend_map_ptr_extend(last: size_t);
2941}
2942#[repr(C)]
2943#[derive(Debug, Copy, Clone)]
2944pub struct _zend_leak_info {
2945    pub addr: *mut ::std::os::raw::c_void,
2946    pub size: size_t,
2947    pub filename: *const ::std::os::raw::c_char,
2948    pub orig_filename: *const ::std::os::raw::c_char,
2949    pub lineno: u32,
2950    pub orig_lineno: u32,
2951}
2952#[test]
2953fn bindgen_test_layout__zend_leak_info() {
2954    assert_eq!(
2955        ::std::mem::size_of::<_zend_leak_info>(),
2956        40usize,
2957        concat!("Size of: ", stringify!(_zend_leak_info))
2958    );
2959    assert_eq!(
2960        ::std::mem::align_of::<_zend_leak_info>(),
2961        8usize,
2962        concat!("Alignment of ", stringify!(_zend_leak_info))
2963    );
2964    assert_eq!(
2965        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).addr as *const _ as usize },
2966        0usize,
2967        concat!(
2968            "Offset of field: ",
2969            stringify!(_zend_leak_info),
2970            "::",
2971            stringify!(addr)
2972        )
2973    );
2974    assert_eq!(
2975        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).size as *const _ as usize },
2976        8usize,
2977        concat!(
2978            "Offset of field: ",
2979            stringify!(_zend_leak_info),
2980            "::",
2981            stringify!(size)
2982        )
2983    );
2984    assert_eq!(
2985        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).filename as *const _ as usize },
2986        16usize,
2987        concat!(
2988            "Offset of field: ",
2989            stringify!(_zend_leak_info),
2990            "::",
2991            stringify!(filename)
2992        )
2993    );
2994    assert_eq!(
2995        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).orig_filename as *const _ as usize },
2996        24usize,
2997        concat!(
2998            "Offset of field: ",
2999            stringify!(_zend_leak_info),
3000            "::",
3001            stringify!(orig_filename)
3002        )
3003    );
3004    assert_eq!(
3005        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).lineno as *const _ as usize },
3006        32usize,
3007        concat!(
3008            "Offset of field: ",
3009            stringify!(_zend_leak_info),
3010            "::",
3011            stringify!(lineno)
3012        )
3013    );
3014    assert_eq!(
3015        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).orig_lineno as *const _ as usize },
3016        36usize,
3017        concat!(
3018            "Offset of field: ",
3019            stringify!(_zend_leak_info),
3020            "::",
3021            stringify!(orig_lineno)
3022        )
3023    );
3024}
3025pub type zend_leak_info = _zend_leak_info;
3026extern "C" {
3027    pub fn zend_strndup(
3028        s: *const ::std::os::raw::c_char,
3029        length: size_t,
3030    ) -> *mut ::std::os::raw::c_char;
3031}
3032extern "C" {
3033    pub fn _zend_mem_block_size(ptr: *mut ::std::os::raw::c_void) -> size_t;
3034}
3035extern "C" {
3036    pub fn zend_set_memory_limit(memory_limit: size_t);
3037}
3038extern "C" {
3039    pub fn zend_memory_usage(real_usage: bool) -> size_t;
3040}
3041extern "C" {
3042    pub fn zend_memory_peak_usage(real_usage: bool) -> size_t;
3043}
3044#[repr(C)]
3045#[derive(Debug, Copy, Clone)]
3046pub struct _zend_mm_heap {
3047    _unused: [u8; 0],
3048}
3049pub type zend_mm_heap = _zend_mm_heap;
3050extern "C" {
3051    pub fn zend_mm_startup() -> *mut zend_mm_heap;
3052}
3053extern "C" {
3054    pub fn zend_mm_shutdown(heap: *mut zend_mm_heap, full_shutdown: bool, silent: bool);
3055}
3056extern "C" {
3057    pub fn _zend_mm_alloc(heap: *mut zend_mm_heap, size: size_t) -> *mut ::std::os::raw::c_void;
3058}
3059extern "C" {
3060    pub fn _zend_mm_free(heap: *mut zend_mm_heap, p: *mut ::std::os::raw::c_void);
3061}
3062extern "C" {
3063    pub fn _zend_mm_realloc(
3064        heap: *mut zend_mm_heap,
3065        p: *mut ::std::os::raw::c_void,
3066        size: size_t,
3067    ) -> *mut ::std::os::raw::c_void;
3068}
3069extern "C" {
3070    pub fn _zend_mm_realloc2(
3071        heap: *mut zend_mm_heap,
3072        p: *mut ::std::os::raw::c_void,
3073        size: size_t,
3074        copy_size: size_t,
3075    ) -> *mut ::std::os::raw::c_void;
3076}
3077extern "C" {
3078    pub fn _zend_mm_block_size(heap: *mut zend_mm_heap, p: *mut ::std::os::raw::c_void) -> size_t;
3079}
3080extern "C" {
3081    pub fn zend_mm_set_heap(new_heap: *mut zend_mm_heap) -> *mut zend_mm_heap;
3082}
3083extern "C" {
3084    pub fn zend_mm_get_heap() -> *mut zend_mm_heap;
3085}
3086extern "C" {
3087    pub fn zend_mm_gc(heap: *mut zend_mm_heap) -> size_t;
3088}
3089extern "C" {
3090    pub fn zend_mm_is_custom_heap(new_heap: *mut zend_mm_heap) -> bool;
3091}
3092extern "C" {
3093    pub fn zend_mm_set_custom_handlers(
3094        heap: *mut zend_mm_heap,
3095        _malloc: ::std::option::Option<
3096            unsafe extern "C" fn(arg1: size_t) -> *mut ::std::os::raw::c_void,
3097        >,
3098        _free: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
3099        _realloc: ::std::option::Option<
3100            unsafe extern "C" fn(
3101                arg1: *mut ::std::os::raw::c_void,
3102                arg2: size_t,
3103            ) -> *mut ::std::os::raw::c_void,
3104        >,
3105    );
3106}
3107extern "C" {
3108    pub fn zend_mm_get_custom_handlers(
3109        heap: *mut zend_mm_heap,
3110        _malloc: *mut ::std::option::Option<
3111            unsafe extern "C" fn(arg1: size_t) -> *mut ::std::os::raw::c_void,
3112        >,
3113        _free: *mut ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
3114        _realloc: *mut ::std::option::Option<
3115            unsafe extern "C" fn(
3116                arg1: *mut ::std::os::raw::c_void,
3117                arg2: size_t,
3118            ) -> *mut ::std::os::raw::c_void,
3119        >,
3120    );
3121}
3122pub type zend_mm_storage = _zend_mm_storage;
3123pub type zend_mm_chunk_alloc_t = ::std::option::Option<
3124    unsafe extern "C" fn(
3125        storage: *mut zend_mm_storage,
3126        size: size_t,
3127        alignment: size_t,
3128    ) -> *mut ::std::os::raw::c_void,
3129>;
3130pub type zend_mm_chunk_free_t = ::std::option::Option<
3131    unsafe extern "C" fn(
3132        storage: *mut zend_mm_storage,
3133        chunk: *mut ::std::os::raw::c_void,
3134        size: size_t,
3135    ),
3136>;
3137pub type zend_mm_chunk_truncate_t = ::std::option::Option<
3138    unsafe extern "C" fn(
3139        storage: *mut zend_mm_storage,
3140        chunk: *mut ::std::os::raw::c_void,
3141        old_size: size_t,
3142        new_size: size_t,
3143    ) -> bool,
3144>;
3145pub type zend_mm_chunk_extend_t = ::std::option::Option<
3146    unsafe extern "C" fn(
3147        storage: *mut zend_mm_storage,
3148        chunk: *mut ::std::os::raw::c_void,
3149        old_size: size_t,
3150        new_size: size_t,
3151    ) -> bool,
3152>;
3153#[repr(C)]
3154#[derive(Debug, Copy, Clone)]
3155pub struct _zend_mm_handlers {
3156    pub chunk_alloc: zend_mm_chunk_alloc_t,
3157    pub chunk_free: zend_mm_chunk_free_t,
3158    pub chunk_truncate: zend_mm_chunk_truncate_t,
3159    pub chunk_extend: zend_mm_chunk_extend_t,
3160}
3161#[test]
3162fn bindgen_test_layout__zend_mm_handlers() {
3163    assert_eq!(
3164        ::std::mem::size_of::<_zend_mm_handlers>(),
3165        32usize,
3166        concat!("Size of: ", stringify!(_zend_mm_handlers))
3167    );
3168    assert_eq!(
3169        ::std::mem::align_of::<_zend_mm_handlers>(),
3170        8usize,
3171        concat!("Alignment of ", stringify!(_zend_mm_handlers))
3172    );
3173    assert_eq!(
3174        unsafe { &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_alloc as *const _ as usize },
3175        0usize,
3176        concat!(
3177            "Offset of field: ",
3178            stringify!(_zend_mm_handlers),
3179            "::",
3180            stringify!(chunk_alloc)
3181        )
3182    );
3183    assert_eq!(
3184        unsafe { &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_free as *const _ as usize },
3185        8usize,
3186        concat!(
3187            "Offset of field: ",
3188            stringify!(_zend_mm_handlers),
3189            "::",
3190            stringify!(chunk_free)
3191        )
3192    );
3193    assert_eq!(
3194        unsafe {
3195            &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_truncate as *const _ as usize
3196        },
3197        16usize,
3198        concat!(
3199            "Offset of field: ",
3200            stringify!(_zend_mm_handlers),
3201            "::",
3202            stringify!(chunk_truncate)
3203        )
3204    );
3205    assert_eq!(
3206        unsafe { &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_extend as *const _ as usize },
3207        24usize,
3208        concat!(
3209            "Offset of field: ",
3210            stringify!(_zend_mm_handlers),
3211            "::",
3212            stringify!(chunk_extend)
3213        )
3214    );
3215}
3216pub type zend_mm_handlers = _zend_mm_handlers;
3217#[repr(C)]
3218#[derive(Debug, Copy, Clone)]
3219pub struct _zend_mm_storage {
3220    pub handlers: zend_mm_handlers,
3221    pub data: *mut ::std::os::raw::c_void,
3222}
3223#[test]
3224fn bindgen_test_layout__zend_mm_storage() {
3225    assert_eq!(
3226        ::std::mem::size_of::<_zend_mm_storage>(),
3227        40usize,
3228        concat!("Size of: ", stringify!(_zend_mm_storage))
3229    );
3230    assert_eq!(
3231        ::std::mem::align_of::<_zend_mm_storage>(),
3232        8usize,
3233        concat!("Alignment of ", stringify!(_zend_mm_storage))
3234    );
3235    assert_eq!(
3236        unsafe { &(*(::std::ptr::null::<_zend_mm_storage>())).handlers as *const _ as usize },
3237        0usize,
3238        concat!(
3239            "Offset of field: ",
3240            stringify!(_zend_mm_storage),
3241            "::",
3242            stringify!(handlers)
3243        )
3244    );
3245    assert_eq!(
3246        unsafe { &(*(::std::ptr::null::<_zend_mm_storage>())).data as *const _ as usize },
3247        32usize,
3248        concat!(
3249            "Offset of field: ",
3250            stringify!(_zend_mm_storage),
3251            "::",
3252            stringify!(data)
3253        )
3254    );
3255}
3256extern "C" {
3257    pub fn zend_mm_get_storage(heap: *mut zend_mm_heap) -> *mut zend_mm_storage;
3258}
3259extern "C" {
3260    pub fn zend_mm_startup_ex(
3261        handlers: *const zend_mm_handlers,
3262        data: *mut ::std::os::raw::c_void,
3263        data_size: size_t,
3264    ) -> *mut zend_mm_heap;
3265}
3266#[repr(C)]
3267#[derive(Debug, Copy, Clone)]
3268pub struct _zend_llist_element {
3269    pub next: *mut _zend_llist_element,
3270    pub prev: *mut _zend_llist_element,
3271    pub data: [::std::os::raw::c_char; 1usize],
3272}
3273#[test]
3274fn bindgen_test_layout__zend_llist_element() {
3275    assert_eq!(
3276        ::std::mem::size_of::<_zend_llist_element>(),
3277        24usize,
3278        concat!("Size of: ", stringify!(_zend_llist_element))
3279    );
3280    assert_eq!(
3281        ::std::mem::align_of::<_zend_llist_element>(),
3282        8usize,
3283        concat!("Alignment of ", stringify!(_zend_llist_element))
3284    );
3285    assert_eq!(
3286        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).next as *const _ as usize },
3287        0usize,
3288        concat!(
3289            "Offset of field: ",
3290            stringify!(_zend_llist_element),
3291            "::",
3292            stringify!(next)
3293        )
3294    );
3295    assert_eq!(
3296        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).prev as *const _ as usize },
3297        8usize,
3298        concat!(
3299            "Offset of field: ",
3300            stringify!(_zend_llist_element),
3301            "::",
3302            stringify!(prev)
3303        )
3304    );
3305    assert_eq!(
3306        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).data as *const _ as usize },
3307        16usize,
3308        concat!(
3309            "Offset of field: ",
3310            stringify!(_zend_llist_element),
3311            "::",
3312            stringify!(data)
3313        )
3314    );
3315}
3316pub type zend_llist_element = _zend_llist_element;
3317pub type llist_dtor_func_t =
3318    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
3319pub type llist_compare_func_t = ::std::option::Option<
3320    unsafe extern "C" fn(
3321        arg1: *mut *const zend_llist_element,
3322        arg2: *mut *const zend_llist_element,
3323    ) -> ::std::os::raw::c_int,
3324>;
3325pub type llist_apply_with_args_func_t = ::std::option::Option<
3326    unsafe extern "C" fn(
3327        data: *mut ::std::os::raw::c_void,
3328        num_args: ::std::os::raw::c_int,
3329        args: *mut __va_list_tag,
3330    ),
3331>;
3332pub type llist_apply_with_arg_func_t = ::std::option::Option<
3333    unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, arg: *mut ::std::os::raw::c_void),
3334>;
3335pub type llist_apply_func_t =
3336    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
3337#[repr(C)]
3338#[derive(Debug, Copy, Clone)]
3339pub struct _zend_llist {
3340    pub head: *mut zend_llist_element,
3341    pub tail: *mut zend_llist_element,
3342    pub count: size_t,
3343    pub size: size_t,
3344    pub dtor: llist_dtor_func_t,
3345    pub persistent: ::std::os::raw::c_uchar,
3346    pub traverse_ptr: *mut zend_llist_element,
3347}
3348#[test]
3349fn bindgen_test_layout__zend_llist() {
3350    assert_eq!(
3351        ::std::mem::size_of::<_zend_llist>(),
3352        56usize,
3353        concat!("Size of: ", stringify!(_zend_llist))
3354    );
3355    assert_eq!(
3356        ::std::mem::align_of::<_zend_llist>(),
3357        8usize,
3358        concat!("Alignment of ", stringify!(_zend_llist))
3359    );
3360    assert_eq!(
3361        unsafe { &(*(::std::ptr::null::<_zend_llist>())).head as *const _ as usize },
3362        0usize,
3363        concat!(
3364            "Offset of field: ",
3365            stringify!(_zend_llist),
3366            "::",
3367            stringify!(head)
3368        )
3369    );
3370    assert_eq!(
3371        unsafe { &(*(::std::ptr::null::<_zend_llist>())).tail as *const _ as usize },
3372        8usize,
3373        concat!(
3374            "Offset of field: ",
3375            stringify!(_zend_llist),
3376            "::",
3377            stringify!(tail)
3378        )
3379    );
3380    assert_eq!(
3381        unsafe { &(*(::std::ptr::null::<_zend_llist>())).count as *const _ as usize },
3382        16usize,
3383        concat!(
3384            "Offset of field: ",
3385            stringify!(_zend_llist),
3386            "::",
3387            stringify!(count)
3388        )
3389    );
3390    assert_eq!(
3391        unsafe { &(*(::std::ptr::null::<_zend_llist>())).size as *const _ as usize },
3392        24usize,
3393        concat!(
3394            "Offset of field: ",
3395            stringify!(_zend_llist),
3396            "::",
3397            stringify!(size)
3398        )
3399    );
3400    assert_eq!(
3401        unsafe { &(*(::std::ptr::null::<_zend_llist>())).dtor as *const _ as usize },
3402        32usize,
3403        concat!(
3404            "Offset of field: ",
3405            stringify!(_zend_llist),
3406            "::",
3407            stringify!(dtor)
3408        )
3409    );
3410    assert_eq!(
3411        unsafe { &(*(::std::ptr::null::<_zend_llist>())).persistent as *const _ as usize },
3412        40usize,
3413        concat!(
3414            "Offset of field: ",
3415            stringify!(_zend_llist),
3416            "::",
3417            stringify!(persistent)
3418        )
3419    );
3420    assert_eq!(
3421        unsafe { &(*(::std::ptr::null::<_zend_llist>())).traverse_ptr as *const _ as usize },
3422        48usize,
3423        concat!(
3424            "Offset of field: ",
3425            stringify!(_zend_llist),
3426            "::",
3427            stringify!(traverse_ptr)
3428        )
3429    );
3430}
3431pub type zend_llist = _zend_llist;
3432pub type zend_llist_position = *mut zend_llist_element;
3433extern "C" {
3434    pub fn zend_llist_init(
3435        l: *mut zend_llist,
3436        size: size_t,
3437        dtor: llist_dtor_func_t,
3438        persistent: ::std::os::raw::c_uchar,
3439    );
3440}
3441extern "C" {
3442    pub fn zend_llist_add_element(l: *mut zend_llist, element: *const ::std::os::raw::c_void);
3443}
3444extern "C" {
3445    pub fn zend_llist_prepend_element(l: *mut zend_llist, element: *const ::std::os::raw::c_void);
3446}
3447extern "C" {
3448    pub fn zend_llist_del_element(
3449        l: *mut zend_llist,
3450        element: *mut ::std::os::raw::c_void,
3451        compare: ::std::option::Option<
3452            unsafe extern "C" fn(
3453                element1: *mut ::std::os::raw::c_void,
3454                element2: *mut ::std::os::raw::c_void,
3455            ) -> ::std::os::raw::c_int,
3456        >,
3457    );
3458}
3459extern "C" {
3460    pub fn zend_llist_destroy(l: *mut zend_llist);
3461}
3462extern "C" {
3463    pub fn zend_llist_clean(l: *mut zend_llist);
3464}
3465extern "C" {
3466    pub fn zend_llist_remove_tail(l: *mut zend_llist);
3467}
3468extern "C" {
3469    pub fn zend_llist_copy(dst: *mut zend_llist, src: *mut zend_llist);
3470}
3471extern "C" {
3472    pub fn zend_llist_apply(l: *mut zend_llist, func: llist_apply_func_t);
3473}
3474extern "C" {
3475    pub fn zend_llist_apply_with_del(
3476        l: *mut zend_llist,
3477        func: ::std::option::Option<
3478            unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
3479        >,
3480    );
3481}
3482extern "C" {
3483    pub fn zend_llist_apply_with_argument(
3484        l: *mut zend_llist,
3485        func: llist_apply_with_arg_func_t,
3486        arg: *mut ::std::os::raw::c_void,
3487    );
3488}
3489extern "C" {
3490    pub fn zend_llist_apply_with_arguments(
3491        l: *mut zend_llist,
3492        func: llist_apply_with_args_func_t,
3493        num_args: ::std::os::raw::c_int,
3494        ...
3495    );
3496}
3497extern "C" {
3498    pub fn zend_llist_count(l: *mut zend_llist) -> size_t;
3499}
3500extern "C" {
3501    pub fn zend_llist_sort(l: *mut zend_llist, comp_func: llist_compare_func_t);
3502}
3503extern "C" {
3504    pub fn zend_llist_get_first_ex(
3505        l: *mut zend_llist,
3506        pos: *mut zend_llist_position,
3507    ) -> *mut ::std::os::raw::c_void;
3508}
3509extern "C" {
3510    pub fn zend_llist_get_last_ex(
3511        l: *mut zend_llist,
3512        pos: *mut zend_llist_position,
3513    ) -> *mut ::std::os::raw::c_void;
3514}
3515extern "C" {
3516    pub fn zend_llist_get_next_ex(
3517        l: *mut zend_llist,
3518        pos: *mut zend_llist_position,
3519    ) -> *mut ::std::os::raw::c_void;
3520}
3521extern "C" {
3522    pub fn zend_llist_get_prev_ex(
3523        l: *mut zend_llist,
3524        pos: *mut zend_llist_position,
3525    ) -> *mut ::std::os::raw::c_void;
3526}
3527pub type zend_string_copy_storage_func_t = ::std::option::Option<unsafe extern "C" fn()>;
3528pub type zend_new_interned_string_func_t =
3529    ::std::option::Option<unsafe extern "C" fn(str_: *mut zend_string) -> *mut zend_string>;
3530pub type zend_string_init_interned_func_t = ::std::option::Option<
3531    unsafe extern "C" fn(
3532        str_: *const ::std::os::raw::c_char,
3533        size: size_t,
3534        permanent: bool,
3535    ) -> *mut zend_string,
3536>;
3537extern "C" {
3538    pub static mut zend_new_interned_string: zend_new_interned_string_func_t;
3539}
3540extern "C" {
3541    pub static mut zend_string_init_interned: zend_string_init_interned_func_t;
3542}
3543extern "C" {
3544    pub fn zend_string_hash_func(str_: *mut zend_string) -> zend_ulong;
3545}
3546extern "C" {
3547    pub fn zend_hash_func(str_: *const ::std::os::raw::c_char, len: size_t) -> zend_ulong;
3548}
3549extern "C" {
3550    pub fn zend_interned_string_find_permanent(str_: *mut zend_string) -> *mut zend_string;
3551}
3552extern "C" {
3553    pub fn zend_string_concat2(
3554        str1: *const ::std::os::raw::c_char,
3555        str1_len: size_t,
3556        str2: *const ::std::os::raw::c_char,
3557        str2_len: size_t,
3558    ) -> *mut zend_string;
3559}
3560extern "C" {
3561    pub fn zend_string_concat3(
3562        str1: *const ::std::os::raw::c_char,
3563        str1_len: size_t,
3564        str2: *const ::std::os::raw::c_char,
3565        str2_len: size_t,
3566        str3: *const ::std::os::raw::c_char,
3567        str3_len: size_t,
3568    ) -> *mut zend_string;
3569}
3570extern "C" {
3571    pub fn zend_interned_strings_init();
3572}
3573extern "C" {
3574    pub fn zend_interned_strings_dtor();
3575}
3576extern "C" {
3577    pub fn zend_interned_strings_activate();
3578}
3579extern "C" {
3580    pub fn zend_interned_strings_deactivate();
3581}
3582extern "C" {
3583    pub fn zend_interned_strings_set_request_storage_handlers(
3584        handler: zend_new_interned_string_func_t,
3585        init_handler: zend_string_init_interned_func_t,
3586    );
3587}
3588extern "C" {
3589    pub fn zend_interned_strings_switch_storage(request: zend_bool);
3590}
3591extern "C" {
3592    pub static mut zend_empty_string: *mut zend_string;
3593}
3594extern "C" {
3595    pub static mut zend_one_char_string: [*mut zend_string; 256usize];
3596}
3597extern "C" {
3598    pub static mut zend_known_strings: *mut *mut zend_string;
3599}
3600extern "C" {
3601    pub fn zend_string_equal_val(s1: *mut zend_string, s2: *mut zend_string) -> zend_bool;
3602}
3603pub const _zend_known_string_id_ZEND_STR_FILE: _zend_known_string_id = 0;
3604pub const _zend_known_string_id_ZEND_STR_LINE: _zend_known_string_id = 1;
3605pub const _zend_known_string_id_ZEND_STR_FUNCTION: _zend_known_string_id = 2;
3606pub const _zend_known_string_id_ZEND_STR_CLASS: _zend_known_string_id = 3;
3607pub const _zend_known_string_id_ZEND_STR_OBJECT: _zend_known_string_id = 4;
3608pub const _zend_known_string_id_ZEND_STR_TYPE: _zend_known_string_id = 5;
3609pub const _zend_known_string_id_ZEND_STR_OBJECT_OPERATOR: _zend_known_string_id = 6;
3610pub const _zend_known_string_id_ZEND_STR_PAAMAYIM_NEKUDOTAYIM: _zend_known_string_id = 7;
3611pub const _zend_known_string_id_ZEND_STR_ARGS: _zend_known_string_id = 8;
3612pub const _zend_known_string_id_ZEND_STR_UNKNOWN: _zend_known_string_id = 9;
3613pub const _zend_known_string_id_ZEND_STR_EVAL: _zend_known_string_id = 10;
3614pub const _zend_known_string_id_ZEND_STR_INCLUDE: _zend_known_string_id = 11;
3615pub const _zend_known_string_id_ZEND_STR_REQUIRE: _zend_known_string_id = 12;
3616pub const _zend_known_string_id_ZEND_STR_INCLUDE_ONCE: _zend_known_string_id = 13;
3617pub const _zend_known_string_id_ZEND_STR_REQUIRE_ONCE: _zend_known_string_id = 14;
3618pub const _zend_known_string_id_ZEND_STR_SCALAR: _zend_known_string_id = 15;
3619pub const _zend_known_string_id_ZEND_STR_ERROR_REPORTING: _zend_known_string_id = 16;
3620pub const _zend_known_string_id_ZEND_STR_STATIC: _zend_known_string_id = 17;
3621pub const _zend_known_string_id_ZEND_STR_THIS: _zend_known_string_id = 18;
3622pub const _zend_known_string_id_ZEND_STR_VALUE: _zend_known_string_id = 19;
3623pub const _zend_known_string_id_ZEND_STR_KEY: _zend_known_string_id = 20;
3624pub const _zend_known_string_id_ZEND_STR_MAGIC_INVOKE: _zend_known_string_id = 21;
3625pub const _zend_known_string_id_ZEND_STR_PREVIOUS: _zend_known_string_id = 22;
3626pub const _zend_known_string_id_ZEND_STR_CODE: _zend_known_string_id = 23;
3627pub const _zend_known_string_id_ZEND_STR_MESSAGE: _zend_known_string_id = 24;
3628pub const _zend_known_string_id_ZEND_STR_SEVERITY: _zend_known_string_id = 25;
3629pub const _zend_known_string_id_ZEND_STR_STRING: _zend_known_string_id = 26;
3630pub const _zend_known_string_id_ZEND_STR_TRACE: _zend_known_string_id = 27;
3631pub const _zend_known_string_id_ZEND_STR_SCHEME: _zend_known_string_id = 28;
3632pub const _zend_known_string_id_ZEND_STR_HOST: _zend_known_string_id = 29;
3633pub const _zend_known_string_id_ZEND_STR_PORT: _zend_known_string_id = 30;
3634pub const _zend_known_string_id_ZEND_STR_USER: _zend_known_string_id = 31;
3635pub const _zend_known_string_id_ZEND_STR_PASS: _zend_known_string_id = 32;
3636pub const _zend_known_string_id_ZEND_STR_PATH: _zend_known_string_id = 33;
3637pub const _zend_known_string_id_ZEND_STR_QUERY: _zend_known_string_id = 34;
3638pub const _zend_known_string_id_ZEND_STR_FRAGMENT: _zend_known_string_id = 35;
3639pub const _zend_known_string_id_ZEND_STR_NULL: _zend_known_string_id = 36;
3640pub const _zend_known_string_id_ZEND_STR_BOOLEAN: _zend_known_string_id = 37;
3641pub const _zend_known_string_id_ZEND_STR_INTEGER: _zend_known_string_id = 38;
3642pub const _zend_known_string_id_ZEND_STR_DOUBLE: _zend_known_string_id = 39;
3643pub const _zend_known_string_id_ZEND_STR_ARRAY: _zend_known_string_id = 40;
3644pub const _zend_known_string_id_ZEND_STR_RESOURCE: _zend_known_string_id = 41;
3645pub const _zend_known_string_id_ZEND_STR_CLOSED_RESOURCE: _zend_known_string_id = 42;
3646pub const _zend_known_string_id_ZEND_STR_NAME: _zend_known_string_id = 43;
3647pub const _zend_known_string_id_ZEND_STR_ARGV: _zend_known_string_id = 44;
3648pub const _zend_known_string_id_ZEND_STR_ARGC: _zend_known_string_id = 45;
3649pub const _zend_known_string_id_ZEND_STR_ARRAY_CAPITALIZED: _zend_known_string_id = 46;
3650pub const _zend_known_string_id_ZEND_STR_BOOL: _zend_known_string_id = 47;
3651pub const _zend_known_string_id_ZEND_STR_INT: _zend_known_string_id = 48;
3652pub const _zend_known_string_id_ZEND_STR_FLOAT: _zend_known_string_id = 49;
3653pub const _zend_known_string_id_ZEND_STR_CALLABLE: _zend_known_string_id = 50;
3654pub const _zend_known_string_id_ZEND_STR_ITERABLE: _zend_known_string_id = 51;
3655pub const _zend_known_string_id_ZEND_STR_VOID: _zend_known_string_id = 52;
3656pub const _zend_known_string_id_ZEND_STR_FALSE: _zend_known_string_id = 53;
3657pub const _zend_known_string_id_ZEND_STR_NULL_LOWERCASE: _zend_known_string_id = 54;
3658pub const _zend_known_string_id_ZEND_STR_MIXED: _zend_known_string_id = 55;
3659pub const _zend_known_string_id_ZEND_STR_LAST_KNOWN: _zend_known_string_id = 56;
3660pub type _zend_known_string_id = ::std::os::raw::c_uint;
3661pub use self::_zend_known_string_id as zend_known_string_id;
3662extern "C" {
3663    pub static zend_empty_array: HashTable;
3664}
3665#[repr(C)]
3666#[derive(Debug, Copy, Clone)]
3667pub struct _zend_hash_key {
3668    pub h: zend_ulong,
3669    pub key: *mut zend_string,
3670}
3671#[test]
3672fn bindgen_test_layout__zend_hash_key() {
3673    assert_eq!(
3674        ::std::mem::size_of::<_zend_hash_key>(),
3675        16usize,
3676        concat!("Size of: ", stringify!(_zend_hash_key))
3677    );
3678    assert_eq!(
3679        ::std::mem::align_of::<_zend_hash_key>(),
3680        8usize,
3681        concat!("Alignment of ", stringify!(_zend_hash_key))
3682    );
3683    assert_eq!(
3684        unsafe { &(*(::std::ptr::null::<_zend_hash_key>())).h as *const _ as usize },
3685        0usize,
3686        concat!(
3687            "Offset of field: ",
3688            stringify!(_zend_hash_key),
3689            "::",
3690            stringify!(h)
3691        )
3692    );
3693    assert_eq!(
3694        unsafe { &(*(::std::ptr::null::<_zend_hash_key>())).key as *const _ as usize },
3695        8usize,
3696        concat!(
3697            "Offset of field: ",
3698            stringify!(_zend_hash_key),
3699            "::",
3700            stringify!(key)
3701        )
3702    );
3703}
3704pub type zend_hash_key = _zend_hash_key;
3705pub type merge_checker_func_t = ::std::option::Option<
3706    unsafe extern "C" fn(
3707        target_ht: *mut HashTable,
3708        source_data: *mut zval,
3709        hash_key: *mut zend_hash_key,
3710        pParam: *mut ::std::os::raw::c_void,
3711    ) -> zend_bool,
3712>;
3713extern "C" {
3714    pub fn _zend_hash_init(
3715        ht: *mut HashTable,
3716        nSize: u32,
3717        pDestructor: dtor_func_t,
3718        persistent: zend_bool,
3719    );
3720}
3721extern "C" {
3722    pub fn zend_hash_destroy(ht: *mut HashTable);
3723}
3724extern "C" {
3725    pub fn zend_hash_clean(ht: *mut HashTable);
3726}
3727extern "C" {
3728    pub fn zend_hash_real_init(ht: *mut HashTable, packed: zend_bool);
3729}
3730extern "C" {
3731    pub fn zend_hash_real_init_packed(ht: *mut HashTable);
3732}
3733extern "C" {
3734    pub fn zend_hash_real_init_mixed(ht: *mut HashTable);
3735}
3736extern "C" {
3737    pub fn zend_hash_packed_to_hash(ht: *mut HashTable);
3738}
3739extern "C" {
3740    pub fn zend_hash_to_packed(ht: *mut HashTable);
3741}
3742extern "C" {
3743    pub fn zend_hash_extend(ht: *mut HashTable, nSize: u32, packed: zend_bool);
3744}
3745extern "C" {
3746    pub fn zend_hash_discard(ht: *mut HashTable, nNumUsed: u32);
3747}
3748extern "C" {
3749    pub fn zend_hash_add_or_update(
3750        ht: *mut HashTable,
3751        key: *mut zend_string,
3752        pData: *mut zval,
3753        flag: u32,
3754    ) -> *mut zval;
3755}
3756extern "C" {
3757    pub fn zend_hash_update(
3758        ht: *mut HashTable,
3759        key: *mut zend_string,
3760        pData: *mut zval,
3761    ) -> *mut zval;
3762}
3763extern "C" {
3764    pub fn zend_hash_update_ind(
3765        ht: *mut HashTable,
3766        key: *mut zend_string,
3767        pData: *mut zval,
3768    ) -> *mut zval;
3769}
3770extern "C" {
3771    pub fn zend_hash_add(ht: *mut HashTable, key: *mut zend_string, pData: *mut zval) -> *mut zval;
3772}
3773extern "C" {
3774    pub fn zend_hash_add_new(
3775        ht: *mut HashTable,
3776        key: *mut zend_string,
3777        pData: *mut zval,
3778    ) -> *mut zval;
3779}
3780extern "C" {
3781    pub fn zend_hash_str_add_or_update(
3782        ht: *mut HashTable,
3783        key: *const ::std::os::raw::c_char,
3784        len: size_t,
3785        pData: *mut zval,
3786        flag: u32,
3787    ) -> *mut zval;
3788}
3789extern "C" {
3790    pub fn zend_hash_str_update(
3791        ht: *mut HashTable,
3792        key: *const ::std::os::raw::c_char,
3793        len: size_t,
3794        pData: *mut zval,
3795    ) -> *mut zval;
3796}
3797extern "C" {
3798    pub fn zend_hash_str_update_ind(
3799        ht: *mut HashTable,
3800        key: *const ::std::os::raw::c_char,
3801        len: size_t,
3802        pData: *mut zval,
3803    ) -> *mut zval;
3804}
3805extern "C" {
3806    pub fn zend_hash_str_add(
3807        ht: *mut HashTable,
3808        key: *const ::std::os::raw::c_char,
3809        len: size_t,
3810        pData: *mut zval,
3811    ) -> *mut zval;
3812}
3813extern "C" {
3814    pub fn zend_hash_str_add_new(
3815        ht: *mut HashTable,
3816        key: *const ::std::os::raw::c_char,
3817        len: size_t,
3818        pData: *mut zval,
3819    ) -> *mut zval;
3820}
3821extern "C" {
3822    pub fn zend_hash_index_add_or_update(
3823        ht: *mut HashTable,
3824        h: zend_ulong,
3825        pData: *mut zval,
3826        flag: u32,
3827    ) -> *mut zval;
3828}
3829extern "C" {
3830    pub fn zend_hash_index_add(ht: *mut HashTable, h: zend_ulong, pData: *mut zval) -> *mut zval;
3831}
3832extern "C" {
3833    pub fn zend_hash_index_add_new(
3834        ht: *mut HashTable,
3835        h: zend_ulong,
3836        pData: *mut zval,
3837    ) -> *mut zval;
3838}
3839extern "C" {
3840    pub fn zend_hash_index_update(ht: *mut HashTable, h: zend_ulong, pData: *mut zval)
3841        -> *mut zval;
3842}
3843extern "C" {
3844    pub fn zend_hash_next_index_insert(ht: *mut HashTable, pData: *mut zval) -> *mut zval;
3845}
3846extern "C" {
3847    pub fn zend_hash_next_index_insert_new(ht: *mut HashTable, pData: *mut zval) -> *mut zval;
3848}
3849extern "C" {
3850    pub fn zend_hash_index_add_empty_element(ht: *mut HashTable, h: zend_ulong) -> *mut zval;
3851}
3852extern "C" {
3853    pub fn zend_hash_add_empty_element(ht: *mut HashTable, key: *mut zend_string) -> *mut zval;
3854}
3855extern "C" {
3856    pub fn zend_hash_str_add_empty_element(
3857        ht: *mut HashTable,
3858        key: *const ::std::os::raw::c_char,
3859        len: size_t,
3860    ) -> *mut zval;
3861}
3862extern "C" {
3863    pub fn zend_hash_set_bucket_key(
3864        ht: *mut HashTable,
3865        p: *mut Bucket,
3866        key: *mut zend_string,
3867    ) -> *mut zval;
3868}
3869pub type apply_func_t =
3870    ::std::option::Option<unsafe extern "C" fn(pDest: *mut zval) -> ::std::os::raw::c_int>;
3871pub type apply_func_arg_t = ::std::option::Option<
3872    unsafe extern "C" fn(
3873        pDest: *mut zval,
3874        argument: *mut ::std::os::raw::c_void,
3875    ) -> ::std::os::raw::c_int,
3876>;
3877pub type apply_func_args_t = ::std::option::Option<
3878    unsafe extern "C" fn(
3879        pDest: *mut zval,
3880        num_args: ::std::os::raw::c_int,
3881        args: *mut __va_list_tag,
3882        hash_key: *mut zend_hash_key,
3883    ) -> ::std::os::raw::c_int,
3884>;
3885extern "C" {
3886    pub fn zend_hash_graceful_destroy(ht: *mut HashTable);
3887}
3888extern "C" {
3889    pub fn zend_hash_graceful_reverse_destroy(ht: *mut HashTable);
3890}
3891extern "C" {
3892    pub fn zend_hash_apply(ht: *mut HashTable, apply_func: apply_func_t);
3893}
3894extern "C" {
3895    pub fn zend_hash_apply_with_argument(
3896        ht: *mut HashTable,
3897        apply_func: apply_func_arg_t,
3898        arg1: *mut ::std::os::raw::c_void,
3899    );
3900}
3901extern "C" {
3902    pub fn zend_hash_apply_with_arguments(
3903        ht: *mut HashTable,
3904        apply_func: apply_func_args_t,
3905        arg1: ::std::os::raw::c_int,
3906        ...
3907    );
3908}
3909extern "C" {
3910    pub fn zend_hash_reverse_apply(ht: *mut HashTable, apply_func: apply_func_t);
3911}
3912extern "C" {
3913    pub fn zend_hash_del(ht: *mut HashTable, key: *mut zend_string) -> zend_result;
3914}
3915extern "C" {
3916    pub fn zend_hash_del_ind(ht: *mut HashTable, key: *mut zend_string) -> zend_result;
3917}
3918extern "C" {
3919    pub fn zend_hash_str_del(
3920        ht: *mut HashTable,
3921        key: *const ::std::os::raw::c_char,
3922        len: size_t,
3923    ) -> zend_result;
3924}
3925extern "C" {
3926    pub fn zend_hash_str_del_ind(
3927        ht: *mut HashTable,
3928        key: *const ::std::os::raw::c_char,
3929        len: size_t,
3930    ) -> zend_result;
3931}
3932extern "C" {
3933    pub fn zend_hash_index_del(ht: *mut HashTable, h: zend_ulong) -> zend_result;
3934}
3935extern "C" {
3936    pub fn zend_hash_del_bucket(ht: *mut HashTable, p: *mut Bucket);
3937}
3938extern "C" {
3939    pub fn zend_hash_find(ht: *const HashTable, key: *mut zend_string) -> *mut zval;
3940}
3941extern "C" {
3942    pub fn zend_hash_str_find(
3943        ht: *const HashTable,
3944        key: *const ::std::os::raw::c_char,
3945        len: size_t,
3946    ) -> *mut zval;
3947}
3948extern "C" {
3949    pub fn zend_hash_index_find(ht: *const HashTable, h: zend_ulong) -> *mut zval;
3950}
3951extern "C" {
3952    pub fn _zend_hash_index_find(ht: *const HashTable, h: zend_ulong) -> *mut zval;
3953}
3954extern "C" {
3955    pub fn _zend_hash_find_known_hash(ht: *const HashTable, key: *mut zend_string) -> *mut zval;
3956}
3957extern "C" {
3958    pub fn zend_hash_get_current_pos(ht: *const HashTable) -> HashPosition;
3959}
3960extern "C" {
3961    pub fn zend_hash_move_forward_ex(ht: *mut HashTable, pos: *mut HashPosition) -> zend_result;
3962}
3963extern "C" {
3964    pub fn zend_hash_move_backwards_ex(ht: *mut HashTable, pos: *mut HashPosition) -> zend_result;
3965}
3966extern "C" {
3967    pub fn zend_hash_get_current_key_ex(
3968        ht: *const HashTable,
3969        str_index: *mut *mut zend_string,
3970        num_index: *mut zend_ulong,
3971        pos: *mut HashPosition,
3972    ) -> ::std::os::raw::c_int;
3973}
3974extern "C" {
3975    pub fn zend_hash_get_current_key_zval_ex(
3976        ht: *const HashTable,
3977        key: *mut zval,
3978        pos: *mut HashPosition,
3979    );
3980}
3981extern "C" {
3982    pub fn zend_hash_get_current_key_type_ex(
3983        ht: *mut HashTable,
3984        pos: *mut HashPosition,
3985    ) -> ::std::os::raw::c_int;
3986}
3987extern "C" {
3988    pub fn zend_hash_get_current_data_ex(ht: *mut HashTable, pos: *mut HashPosition) -> *mut zval;
3989}
3990extern "C" {
3991    pub fn zend_hash_internal_pointer_reset_ex(ht: *mut HashTable, pos: *mut HashPosition);
3992}
3993extern "C" {
3994    pub fn zend_hash_internal_pointer_end_ex(ht: *mut HashTable, pos: *mut HashPosition);
3995}
3996extern "C" {
3997    pub fn zend_hash_copy(
3998        target: *mut HashTable,
3999        source: *mut HashTable,
4000        pCopyConstructor: copy_ctor_func_t,
4001    );
4002}
4003extern "C" {
4004    pub fn zend_hash_merge(
4005        target: *mut HashTable,
4006        source: *mut HashTable,
4007        pCopyConstructor: copy_ctor_func_t,
4008        overwrite: zend_bool,
4009    );
4010}
4011extern "C" {
4012    pub fn zend_hash_merge_ex(
4013        target: *mut HashTable,
4014        source: *mut HashTable,
4015        pCopyConstructor: copy_ctor_func_t,
4016        pMergeSource: merge_checker_func_t,
4017        pParam: *mut ::std::os::raw::c_void,
4018    );
4019}
4020extern "C" {
4021    pub fn zend_hash_bucket_swap(p: *mut Bucket, q: *mut Bucket);
4022}
4023extern "C" {
4024    pub fn zend_hash_bucket_renum_swap(p: *mut Bucket, q: *mut Bucket);
4025}
4026extern "C" {
4027    pub fn zend_hash_bucket_packed_swap(p: *mut Bucket, q: *mut Bucket);
4028}
4029pub type bucket_compare_func_t = ::std::option::Option<
4030    unsafe extern "C" fn(a: *mut Bucket, b: *mut Bucket) -> ::std::os::raw::c_int,
4031>;
4032extern "C" {
4033    pub fn zend_hash_compare(
4034        ht1: *mut HashTable,
4035        ht2: *mut HashTable,
4036        compar: compare_func_t,
4037        ordered: zend_bool,
4038    ) -> ::std::os::raw::c_int;
4039}
4040extern "C" {
4041    pub fn zend_hash_sort_ex(
4042        ht: *mut HashTable,
4043        sort_func: sort_func_t,
4044        compare_func: bucket_compare_func_t,
4045        renumber: zend_bool,
4046    );
4047}
4048extern "C" {
4049    pub fn zend_hash_minmax(
4050        ht: *const HashTable,
4051        compar: bucket_compare_func_t,
4052        flag: u32,
4053    ) -> *mut zval;
4054}
4055extern "C" {
4056    pub fn zend_hash_rehash(ht: *mut HashTable);
4057}
4058extern "C" {
4059    pub fn _zend_new_array_0() -> *mut HashTable;
4060}
4061extern "C" {
4062    pub fn _zend_new_array(size: u32) -> *mut HashTable;
4063}
4064extern "C" {
4065    pub fn zend_new_pair(val1: *mut zval, val2: *mut zval) -> *mut HashTable;
4066}
4067extern "C" {
4068    pub fn zend_array_count(ht: *mut HashTable) -> u32;
4069}
4070extern "C" {
4071    pub fn zend_array_dup(source: *mut HashTable) -> *mut HashTable;
4072}
4073extern "C" {
4074    pub fn zend_array_destroy(ht: *mut HashTable);
4075}
4076extern "C" {
4077    pub fn zend_symtable_clean(ht: *mut HashTable);
4078}
4079extern "C" {
4080    pub fn zend_symtable_to_proptable(ht: *mut HashTable) -> *mut HashTable;
4081}
4082extern "C" {
4083    pub fn zend_proptable_to_symtable(
4084        ht: *mut HashTable,
4085        always_duplicate: zend_bool,
4086    ) -> *mut HashTable;
4087}
4088extern "C" {
4089    pub fn _zend_handle_numeric_str_ex(
4090        key: *const ::std::os::raw::c_char,
4091        length: size_t,
4092        idx: *mut zend_ulong,
4093    ) -> bool;
4094}
4095extern "C" {
4096    pub fn zend_hash_iterator_add(ht: *mut HashTable, pos: HashPosition) -> u32;
4097}
4098extern "C" {
4099    pub fn zend_hash_iterator_pos(idx: u32, ht: *mut HashTable) -> HashPosition;
4100}
4101extern "C" {
4102    pub fn zend_hash_iterator_pos_ex(idx: u32, array: *mut zval) -> HashPosition;
4103}
4104extern "C" {
4105    pub fn zend_hash_iterator_del(idx: u32);
4106}
4107extern "C" {
4108    pub fn zend_hash_iterators_lower_pos(ht: *mut HashTable, start: HashPosition) -> HashPosition;
4109}
4110extern "C" {
4111    pub fn _zend_hash_iterators_update(ht: *mut HashTable, from: HashPosition, to: HashPosition);
4112}
4113extern "C" {
4114    pub fn zend_hash_iterators_advance(ht: *mut HashTable, step: HashPosition);
4115}
4116extern "C" {
4117    pub fn zend_hash_str_find_ptr_lc(
4118        ht: *const HashTable,
4119        str_: *const ::std::os::raw::c_char,
4120        len: size_t,
4121    ) -> *mut ::std::os::raw::c_void;
4122}
4123extern "C" {
4124    pub fn zend_hash_find_ptr_lc(
4125        ht: *const HashTable,
4126        key: *mut zend_string,
4127    ) -> *mut ::std::os::raw::c_void;
4128}
4129pub type zend_ast_kind = u16;
4130pub type zend_ast_attr = u16;
4131#[repr(C)]
4132#[derive(Debug, Copy, Clone)]
4133pub struct _zend_ast {
4134    pub kind: zend_ast_kind,
4135    pub attr: zend_ast_attr,
4136    pub lineno: u32,
4137    pub child: [*mut zend_ast; 1usize],
4138}
4139#[test]
4140fn bindgen_test_layout__zend_ast() {
4141    assert_eq!(
4142        ::std::mem::size_of::<_zend_ast>(),
4143        16usize,
4144        concat!("Size of: ", stringify!(_zend_ast))
4145    );
4146    assert_eq!(
4147        ::std::mem::align_of::<_zend_ast>(),
4148        8usize,
4149        concat!("Alignment of ", stringify!(_zend_ast))
4150    );
4151    assert_eq!(
4152        unsafe { &(*(::std::ptr::null::<_zend_ast>())).kind as *const _ as usize },
4153        0usize,
4154        concat!(
4155            "Offset of field: ",
4156            stringify!(_zend_ast),
4157            "::",
4158            stringify!(kind)
4159        )
4160    );
4161    assert_eq!(
4162        unsafe { &(*(::std::ptr::null::<_zend_ast>())).attr as *const _ as usize },
4163        2usize,
4164        concat!(
4165            "Offset of field: ",
4166            stringify!(_zend_ast),
4167            "::",
4168            stringify!(attr)
4169        )
4170    );
4171    assert_eq!(
4172        unsafe { &(*(::std::ptr::null::<_zend_ast>())).lineno as *const _ as usize },
4173        4usize,
4174        concat!(
4175            "Offset of field: ",
4176            stringify!(_zend_ast),
4177            "::",
4178            stringify!(lineno)
4179        )
4180    );
4181    assert_eq!(
4182        unsafe { &(*(::std::ptr::null::<_zend_ast>())).child as *const _ as usize },
4183        8usize,
4184        concat!(
4185            "Offset of field: ",
4186            stringify!(_zend_ast),
4187            "::",
4188            stringify!(child)
4189        )
4190    );
4191}
4192#[repr(C)]
4193#[derive(Debug, Copy, Clone)]
4194pub struct _zend_ast_list {
4195    pub kind: zend_ast_kind,
4196    pub attr: zend_ast_attr,
4197    pub lineno: u32,
4198    pub children: u32,
4199    pub child: [*mut zend_ast; 1usize],
4200}
4201#[test]
4202fn bindgen_test_layout__zend_ast_list() {
4203    assert_eq!(
4204        ::std::mem::size_of::<_zend_ast_list>(),
4205        24usize,
4206        concat!("Size of: ", stringify!(_zend_ast_list))
4207    );
4208    assert_eq!(
4209        ::std::mem::align_of::<_zend_ast_list>(),
4210        8usize,
4211        concat!("Alignment of ", stringify!(_zend_ast_list))
4212    );
4213    assert_eq!(
4214        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).kind as *const _ as usize },
4215        0usize,
4216        concat!(
4217            "Offset of field: ",
4218            stringify!(_zend_ast_list),
4219            "::",
4220            stringify!(kind)
4221        )
4222    );
4223    assert_eq!(
4224        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).attr as *const _ as usize },
4225        2usize,
4226        concat!(
4227            "Offset of field: ",
4228            stringify!(_zend_ast_list),
4229            "::",
4230            stringify!(attr)
4231        )
4232    );
4233    assert_eq!(
4234        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).lineno as *const _ as usize },
4235        4usize,
4236        concat!(
4237            "Offset of field: ",
4238            stringify!(_zend_ast_list),
4239            "::",
4240            stringify!(lineno)
4241        )
4242    );
4243    assert_eq!(
4244        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).children as *const _ as usize },
4245        8usize,
4246        concat!(
4247            "Offset of field: ",
4248            stringify!(_zend_ast_list),
4249            "::",
4250            stringify!(children)
4251        )
4252    );
4253    assert_eq!(
4254        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).child as *const _ as usize },
4255        16usize,
4256        concat!(
4257            "Offset of field: ",
4258            stringify!(_zend_ast_list),
4259            "::",
4260            stringify!(child)
4261        )
4262    );
4263}
4264pub type zend_ast_list = _zend_ast_list;
4265#[repr(C)]
4266#[derive(Copy, Clone)]
4267pub struct _zend_ast_zval {
4268    pub kind: zend_ast_kind,
4269    pub attr: zend_ast_attr,
4270    pub val: zval,
4271}
4272#[test]
4273fn bindgen_test_layout__zend_ast_zval() {
4274    assert_eq!(
4275        ::std::mem::size_of::<_zend_ast_zval>(),
4276        24usize,
4277        concat!("Size of: ", stringify!(_zend_ast_zval))
4278    );
4279    assert_eq!(
4280        ::std::mem::align_of::<_zend_ast_zval>(),
4281        8usize,
4282        concat!("Alignment of ", stringify!(_zend_ast_zval))
4283    );
4284    assert_eq!(
4285        unsafe { &(*(::std::ptr::null::<_zend_ast_zval>())).kind as *const _ as usize },
4286        0usize,
4287        concat!(
4288            "Offset of field: ",
4289            stringify!(_zend_ast_zval),
4290            "::",
4291            stringify!(kind)
4292        )
4293    );
4294    assert_eq!(
4295        unsafe { &(*(::std::ptr::null::<_zend_ast_zval>())).attr as *const _ as usize },
4296        2usize,
4297        concat!(
4298            "Offset of field: ",
4299            stringify!(_zend_ast_zval),
4300            "::",
4301            stringify!(attr)
4302        )
4303    );
4304    assert_eq!(
4305        unsafe { &(*(::std::ptr::null::<_zend_ast_zval>())).val as *const _ as usize },
4306        8usize,
4307        concat!(
4308            "Offset of field: ",
4309            stringify!(_zend_ast_zval),
4310            "::",
4311            stringify!(val)
4312        )
4313    );
4314}
4315pub type zend_ast_zval = _zend_ast_zval;
4316#[repr(C)]
4317#[derive(Debug, Copy, Clone)]
4318pub struct _zend_ast_decl {
4319    pub kind: zend_ast_kind,
4320    pub attr: zend_ast_attr,
4321    pub start_lineno: u32,
4322    pub end_lineno: u32,
4323    pub flags: u32,
4324    pub lex_pos: *mut ::std::os::raw::c_uchar,
4325    pub doc_comment: *mut zend_string,
4326    pub name: *mut zend_string,
4327    pub child: [*mut zend_ast; 5usize],
4328}
4329#[test]
4330fn bindgen_test_layout__zend_ast_decl() {
4331    assert_eq!(
4332        ::std::mem::size_of::<_zend_ast_decl>(),
4333        80usize,
4334        concat!("Size of: ", stringify!(_zend_ast_decl))
4335    );
4336    assert_eq!(
4337        ::std::mem::align_of::<_zend_ast_decl>(),
4338        8usize,
4339        concat!("Alignment of ", stringify!(_zend_ast_decl))
4340    );
4341    assert_eq!(
4342        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).kind as *const _ as usize },
4343        0usize,
4344        concat!(
4345            "Offset of field: ",
4346            stringify!(_zend_ast_decl),
4347            "::",
4348            stringify!(kind)
4349        )
4350    );
4351    assert_eq!(
4352        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).attr as *const _ as usize },
4353        2usize,
4354        concat!(
4355            "Offset of field: ",
4356            stringify!(_zend_ast_decl),
4357            "::",
4358            stringify!(attr)
4359        )
4360    );
4361    assert_eq!(
4362        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).start_lineno as *const _ as usize },
4363        4usize,
4364        concat!(
4365            "Offset of field: ",
4366            stringify!(_zend_ast_decl),
4367            "::",
4368            stringify!(start_lineno)
4369        )
4370    );
4371    assert_eq!(
4372        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).end_lineno as *const _ as usize },
4373        8usize,
4374        concat!(
4375            "Offset of field: ",
4376            stringify!(_zend_ast_decl),
4377            "::",
4378            stringify!(end_lineno)
4379        )
4380    );
4381    assert_eq!(
4382        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).flags as *const _ as usize },
4383        12usize,
4384        concat!(
4385            "Offset of field: ",
4386            stringify!(_zend_ast_decl),
4387            "::",
4388            stringify!(flags)
4389        )
4390    );
4391    assert_eq!(
4392        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).lex_pos as *const _ as usize },
4393        16usize,
4394        concat!(
4395            "Offset of field: ",
4396            stringify!(_zend_ast_decl),
4397            "::",
4398            stringify!(lex_pos)
4399        )
4400    );
4401    assert_eq!(
4402        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).doc_comment as *const _ as usize },
4403        24usize,
4404        concat!(
4405            "Offset of field: ",
4406            stringify!(_zend_ast_decl),
4407            "::",
4408            stringify!(doc_comment)
4409        )
4410    );
4411    assert_eq!(
4412        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).name as *const _ as usize },
4413        32usize,
4414        concat!(
4415            "Offset of field: ",
4416            stringify!(_zend_ast_decl),
4417            "::",
4418            stringify!(name)
4419        )
4420    );
4421    assert_eq!(
4422        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).child as *const _ as usize },
4423        40usize,
4424        concat!(
4425            "Offset of field: ",
4426            stringify!(_zend_ast_decl),
4427            "::",
4428            stringify!(child)
4429        )
4430    );
4431}
4432pub type zend_ast_decl = _zend_ast_decl;
4433pub type zend_ast_process_t = ::std::option::Option<unsafe extern "C" fn(ast: *mut zend_ast)>;
4434extern "C" {
4435    pub static mut zend_ast_process: zend_ast_process_t;
4436}
4437extern "C" {
4438    pub fn zend_ast_create_zval_with_lineno(zv: *mut zval, lineno: u32) -> *mut zend_ast;
4439}
4440extern "C" {
4441    pub fn zend_ast_create_zval_ex(zv: *mut zval, attr: zend_ast_attr) -> *mut zend_ast;
4442}
4443extern "C" {
4444    pub fn zend_ast_create_zval(zv: *mut zval) -> *mut zend_ast;
4445}
4446extern "C" {
4447    pub fn zend_ast_create_zval_from_str(str_: *mut zend_string) -> *mut zend_ast;
4448}
4449extern "C" {
4450    pub fn zend_ast_create_zval_from_long(lval: zend_long) -> *mut zend_ast;
4451}
4452extern "C" {
4453    pub fn zend_ast_create_constant(name: *mut zend_string, attr: zend_ast_attr) -> *mut zend_ast;
4454}
4455extern "C" {
4456    pub fn zend_ast_create_class_const_or_name(
4457        class_name: *mut zend_ast,
4458        name: *mut zend_ast,
4459    ) -> *mut zend_ast;
4460}
4461extern "C" {
4462    pub fn zend_ast_create_0(kind: zend_ast_kind) -> *mut zend_ast;
4463}
4464extern "C" {
4465    pub fn zend_ast_create_1(kind: zend_ast_kind, child: *mut zend_ast) -> *mut zend_ast;
4466}
4467extern "C" {
4468    pub fn zend_ast_create_2(
4469        kind: zend_ast_kind,
4470        child1: *mut zend_ast,
4471        child2: *mut zend_ast,
4472    ) -> *mut zend_ast;
4473}
4474extern "C" {
4475    pub fn zend_ast_create_3(
4476        kind: zend_ast_kind,
4477        child1: *mut zend_ast,
4478        child2: *mut zend_ast,
4479        child3: *mut zend_ast,
4480    ) -> *mut zend_ast;
4481}
4482extern "C" {
4483    pub fn zend_ast_create_4(
4484        kind: zend_ast_kind,
4485        child1: *mut zend_ast,
4486        child2: *mut zend_ast,
4487        child3: *mut zend_ast,
4488        child4: *mut zend_ast,
4489    ) -> *mut zend_ast;
4490}
4491extern "C" {
4492    pub fn zend_ast_create_5(
4493        kind: zend_ast_kind,
4494        child1: *mut zend_ast,
4495        child2: *mut zend_ast,
4496        child3: *mut zend_ast,
4497        child4: *mut zend_ast,
4498        child5: *mut zend_ast,
4499    ) -> *mut zend_ast;
4500}
4501extern "C" {
4502    pub fn zend_ast_create_list_0(kind: zend_ast_kind) -> *mut zend_ast;
4503}
4504extern "C" {
4505    pub fn zend_ast_create_list_1(kind: zend_ast_kind, child: *mut zend_ast) -> *mut zend_ast;
4506}
4507extern "C" {
4508    pub fn zend_ast_create_list_2(
4509        kind: zend_ast_kind,
4510        child1: *mut zend_ast,
4511        child2: *mut zend_ast,
4512    ) -> *mut zend_ast;
4513}
4514extern "C" {
4515    pub fn zend_ast_list_add(list: *mut zend_ast, op: *mut zend_ast) -> *mut zend_ast;
4516}
4517extern "C" {
4518    pub fn zend_ast_create_decl(
4519        kind: zend_ast_kind,
4520        flags: u32,
4521        start_lineno: u32,
4522        doc_comment: *mut zend_string,
4523        name: *mut zend_string,
4524        child0: *mut zend_ast,
4525        child1: *mut zend_ast,
4526        child2: *mut zend_ast,
4527        child3: *mut zend_ast,
4528        child4: *mut zend_ast,
4529    ) -> *mut zend_ast;
4530}
4531extern "C" {
4532    pub fn zend_ast_evaluate(
4533        result: *mut zval,
4534        ast: *mut zend_ast,
4535        scope: *mut zend_class_entry,
4536    ) -> zend_result;
4537}
4538extern "C" {
4539    pub fn zend_ast_export(
4540        prefix: *const ::std::os::raw::c_char,
4541        ast: *mut zend_ast,
4542        suffix: *const ::std::os::raw::c_char,
4543    ) -> *mut zend_string;
4544}
4545extern "C" {
4546    pub fn zend_ast_copy(ast: *mut zend_ast) -> *mut zend_ast_ref;
4547}
4548extern "C" {
4549    pub fn zend_ast_destroy(ast: *mut zend_ast);
4550}
4551extern "C" {
4552    pub fn zend_ast_ref_destroy(ast: *mut zend_ast_ref);
4553}
4554pub type zend_ast_apply_func =
4555    ::std::option::Option<unsafe extern "C" fn(ast_ptr: *mut *mut zend_ast)>;
4556extern "C" {
4557    pub fn zend_ast_apply(ast: *mut zend_ast, fn_: zend_ast_apply_func);
4558}
4559extern "C" {
4560    pub fn zend_ast_with_attributes(ast: *mut zend_ast, attr: *mut zend_ast) -> *mut zend_ast;
4561}
4562#[repr(C)]
4563#[derive(Debug, Copy, Clone)]
4564pub struct _zend_gc_status {
4565    pub runs: u32,
4566    pub collected: u32,
4567    pub threshold: u32,
4568    pub num_roots: u32,
4569}
4570#[test]
4571fn bindgen_test_layout__zend_gc_status() {
4572    assert_eq!(
4573        ::std::mem::size_of::<_zend_gc_status>(),
4574        16usize,
4575        concat!("Size of: ", stringify!(_zend_gc_status))
4576    );
4577    assert_eq!(
4578        ::std::mem::align_of::<_zend_gc_status>(),
4579        4usize,
4580        concat!("Alignment of ", stringify!(_zend_gc_status))
4581    );
4582    assert_eq!(
4583        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).runs as *const _ as usize },
4584        0usize,
4585        concat!(
4586            "Offset of field: ",
4587            stringify!(_zend_gc_status),
4588            "::",
4589            stringify!(runs)
4590        )
4591    );
4592    assert_eq!(
4593        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).collected as *const _ as usize },
4594        4usize,
4595        concat!(
4596            "Offset of field: ",
4597            stringify!(_zend_gc_status),
4598            "::",
4599            stringify!(collected)
4600        )
4601    );
4602    assert_eq!(
4603        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).threshold as *const _ as usize },
4604        8usize,
4605        concat!(
4606            "Offset of field: ",
4607            stringify!(_zend_gc_status),
4608            "::",
4609            stringify!(threshold)
4610        )
4611    );
4612    assert_eq!(
4613        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).num_roots as *const _ as usize },
4614        12usize,
4615        concat!(
4616            "Offset of field: ",
4617            stringify!(_zend_gc_status),
4618            "::",
4619            stringify!(num_roots)
4620        )
4621    );
4622}
4623pub type zend_gc_status = _zend_gc_status;
4624extern "C" {
4625    pub static mut gc_collect_cycles:
4626        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
4627}
4628extern "C" {
4629    pub fn zend_gc_collect_cycles() -> ::std::os::raw::c_int;
4630}
4631extern "C" {
4632    pub fn zend_gc_get_status(status: *mut zend_gc_status);
4633}
4634#[repr(C)]
4635#[derive(Debug, Copy, Clone)]
4636pub struct zend_get_gc_buffer {
4637    pub cur: *mut zval,
4638    pub end: *mut zval,
4639    pub start: *mut zval,
4640}
4641#[test]
4642fn bindgen_test_layout_zend_get_gc_buffer() {
4643    assert_eq!(
4644        ::std::mem::size_of::<zend_get_gc_buffer>(),
4645        24usize,
4646        concat!("Size of: ", stringify!(zend_get_gc_buffer))
4647    );
4648    assert_eq!(
4649        ::std::mem::align_of::<zend_get_gc_buffer>(),
4650        8usize,
4651        concat!("Alignment of ", stringify!(zend_get_gc_buffer))
4652    );
4653    assert_eq!(
4654        unsafe { &(*(::std::ptr::null::<zend_get_gc_buffer>())).cur as *const _ as usize },
4655        0usize,
4656        concat!(
4657            "Offset of field: ",
4658            stringify!(zend_get_gc_buffer),
4659            "::",
4660            stringify!(cur)
4661        )
4662    );
4663    assert_eq!(
4664        unsafe { &(*(::std::ptr::null::<zend_get_gc_buffer>())).end as *const _ as usize },
4665        8usize,
4666        concat!(
4667            "Offset of field: ",
4668            stringify!(zend_get_gc_buffer),
4669            "::",
4670            stringify!(end)
4671        )
4672    );
4673    assert_eq!(
4674        unsafe { &(*(::std::ptr::null::<zend_get_gc_buffer>())).start as *const _ as usize },
4675        16usize,
4676        concat!(
4677            "Offset of field: ",
4678            stringify!(zend_get_gc_buffer),
4679            "::",
4680            stringify!(start)
4681        )
4682    );
4683}
4684extern "C" {
4685    pub fn zend_get_gc_buffer_create() -> *mut zend_get_gc_buffer;
4686}
4687extern "C" {
4688    pub fn zend_get_gc_buffer_grow(gc_buffer: *mut zend_get_gc_buffer);
4689}
4690pub type zend_object_iterator = _zend_object_iterator;
4691#[repr(C)]
4692#[derive(Debug, Copy, Clone)]
4693pub struct _zend_object_iterator_funcs {
4694    pub dtor: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
4695    pub valid: ::std::option::Option<
4696        unsafe extern "C" fn(iter: *mut zend_object_iterator) -> ::std::os::raw::c_int,
4697    >,
4698    pub get_current_data:
4699        ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator) -> *mut zval>,
4700    pub get_current_key: ::std::option::Option<
4701        unsafe extern "C" fn(iter: *mut zend_object_iterator, key: *mut zval),
4702    >,
4703    pub move_forward: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
4704    pub rewind: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
4705    pub invalidate_current:
4706        ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
4707    pub get_gc: ::std::option::Option<
4708        unsafe extern "C" fn(
4709            iter: *mut zend_object_iterator,
4710            table: *mut *mut zval,
4711            n: *mut ::std::os::raw::c_int,
4712        ) -> *mut HashTable,
4713    >,
4714}
4715#[test]
4716fn bindgen_test_layout__zend_object_iterator_funcs() {
4717    assert_eq!(
4718        ::std::mem::size_of::<_zend_object_iterator_funcs>(),
4719        64usize,
4720        concat!("Size of: ", stringify!(_zend_object_iterator_funcs))
4721    );
4722    assert_eq!(
4723        ::std::mem::align_of::<_zend_object_iterator_funcs>(),
4724        8usize,
4725        concat!("Alignment of ", stringify!(_zend_object_iterator_funcs))
4726    );
4727    assert_eq!(
4728        unsafe {
4729            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).dtor as *const _ as usize
4730        },
4731        0usize,
4732        concat!(
4733            "Offset of field: ",
4734            stringify!(_zend_object_iterator_funcs),
4735            "::",
4736            stringify!(dtor)
4737        )
4738    );
4739    assert_eq!(
4740        unsafe {
4741            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).valid as *const _ as usize
4742        },
4743        8usize,
4744        concat!(
4745            "Offset of field: ",
4746            stringify!(_zend_object_iterator_funcs),
4747            "::",
4748            stringify!(valid)
4749        )
4750    );
4751    assert_eq!(
4752        unsafe {
4753            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).get_current_data as *const _
4754                as usize
4755        },
4756        16usize,
4757        concat!(
4758            "Offset of field: ",
4759            stringify!(_zend_object_iterator_funcs),
4760            "::",
4761            stringify!(get_current_data)
4762        )
4763    );
4764    assert_eq!(
4765        unsafe {
4766            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).get_current_key as *const _
4767                as usize
4768        },
4769        24usize,
4770        concat!(
4771            "Offset of field: ",
4772            stringify!(_zend_object_iterator_funcs),
4773            "::",
4774            stringify!(get_current_key)
4775        )
4776    );
4777    assert_eq!(
4778        unsafe {
4779            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).move_forward as *const _
4780                as usize
4781        },
4782        32usize,
4783        concat!(
4784            "Offset of field: ",
4785            stringify!(_zend_object_iterator_funcs),
4786            "::",
4787            stringify!(move_forward)
4788        )
4789    );
4790    assert_eq!(
4791        unsafe {
4792            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).rewind as *const _ as usize
4793        },
4794        40usize,
4795        concat!(
4796            "Offset of field: ",
4797            stringify!(_zend_object_iterator_funcs),
4798            "::",
4799            stringify!(rewind)
4800        )
4801    );
4802    assert_eq!(
4803        unsafe {
4804            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).invalidate_current as *const _
4805                as usize
4806        },
4807        48usize,
4808        concat!(
4809            "Offset of field: ",
4810            stringify!(_zend_object_iterator_funcs),
4811            "::",
4812            stringify!(invalidate_current)
4813        )
4814    );
4815    assert_eq!(
4816        unsafe {
4817            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).get_gc as *const _ as usize
4818        },
4819        56usize,
4820        concat!(
4821            "Offset of field: ",
4822            stringify!(_zend_object_iterator_funcs),
4823            "::",
4824            stringify!(get_gc)
4825        )
4826    );
4827}
4828pub type zend_object_iterator_funcs = _zend_object_iterator_funcs;
4829#[repr(C)]
4830#[derive(Copy, Clone)]
4831pub struct _zend_object_iterator {
4832    pub std: zend_object,
4833    pub data: zval,
4834    pub funcs: *const zend_object_iterator_funcs,
4835    pub index: zend_ulong,
4836}
4837#[test]
4838fn bindgen_test_layout__zend_object_iterator() {
4839    assert_eq!(
4840        ::std::mem::size_of::<_zend_object_iterator>(),
4841        88usize,
4842        concat!("Size of: ", stringify!(_zend_object_iterator))
4843    );
4844    assert_eq!(
4845        ::std::mem::align_of::<_zend_object_iterator>(),
4846        8usize,
4847        concat!("Alignment of ", stringify!(_zend_object_iterator))
4848    );
4849    assert_eq!(
4850        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).std as *const _ as usize },
4851        0usize,
4852        concat!(
4853            "Offset of field: ",
4854            stringify!(_zend_object_iterator),
4855            "::",
4856            stringify!(std)
4857        )
4858    );
4859    assert_eq!(
4860        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).data as *const _ as usize },
4861        56usize,
4862        concat!(
4863            "Offset of field: ",
4864            stringify!(_zend_object_iterator),
4865            "::",
4866            stringify!(data)
4867        )
4868    );
4869    assert_eq!(
4870        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).funcs as *const _ as usize },
4871        72usize,
4872        concat!(
4873            "Offset of field: ",
4874            stringify!(_zend_object_iterator),
4875            "::",
4876            stringify!(funcs)
4877        )
4878    );
4879    assert_eq!(
4880        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).index as *const _ as usize },
4881        80usize,
4882        concat!(
4883            "Offset of field: ",
4884            stringify!(_zend_object_iterator),
4885            "::",
4886            stringify!(index)
4887        )
4888    );
4889}
4890#[repr(C)]
4891#[derive(Debug, Copy, Clone)]
4892pub struct _zend_class_iterator_funcs {
4893    pub zf_new_iterator: *mut zend_function,
4894    pub zf_valid: *mut zend_function,
4895    pub zf_current: *mut zend_function,
4896    pub zf_key: *mut zend_function,
4897    pub zf_next: *mut zend_function,
4898    pub zf_rewind: *mut zend_function,
4899}
4900#[test]
4901fn bindgen_test_layout__zend_class_iterator_funcs() {
4902    assert_eq!(
4903        ::std::mem::size_of::<_zend_class_iterator_funcs>(),
4904        48usize,
4905        concat!("Size of: ", stringify!(_zend_class_iterator_funcs))
4906    );
4907    assert_eq!(
4908        ::std::mem::align_of::<_zend_class_iterator_funcs>(),
4909        8usize,
4910        concat!("Alignment of ", stringify!(_zend_class_iterator_funcs))
4911    );
4912    assert_eq!(
4913        unsafe {
4914            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_new_iterator as *const _
4915                as usize
4916        },
4917        0usize,
4918        concat!(
4919            "Offset of field: ",
4920            stringify!(_zend_class_iterator_funcs),
4921            "::",
4922            stringify!(zf_new_iterator)
4923        )
4924    );
4925    assert_eq!(
4926        unsafe {
4927            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_valid as *const _ as usize
4928        },
4929        8usize,
4930        concat!(
4931            "Offset of field: ",
4932            stringify!(_zend_class_iterator_funcs),
4933            "::",
4934            stringify!(zf_valid)
4935        )
4936    );
4937    assert_eq!(
4938        unsafe {
4939            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_current as *const _ as usize
4940        },
4941        16usize,
4942        concat!(
4943            "Offset of field: ",
4944            stringify!(_zend_class_iterator_funcs),
4945            "::",
4946            stringify!(zf_current)
4947        )
4948    );
4949    assert_eq!(
4950        unsafe {
4951            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_key as *const _ as usize
4952        },
4953        24usize,
4954        concat!(
4955            "Offset of field: ",
4956            stringify!(_zend_class_iterator_funcs),
4957            "::",
4958            stringify!(zf_key)
4959        )
4960    );
4961    assert_eq!(
4962        unsafe {
4963            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_next as *const _ as usize
4964        },
4965        32usize,
4966        concat!(
4967            "Offset of field: ",
4968            stringify!(_zend_class_iterator_funcs),
4969            "::",
4970            stringify!(zf_next)
4971        )
4972    );
4973    assert_eq!(
4974        unsafe {
4975            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_rewind as *const _ as usize
4976        },
4977        40usize,
4978        concat!(
4979            "Offset of field: ",
4980            stringify!(_zend_class_iterator_funcs),
4981            "::",
4982            stringify!(zf_rewind)
4983        )
4984    );
4985}
4986pub type zend_class_iterator_funcs = _zend_class_iterator_funcs;
4987extern "C" {
4988    pub fn zend_iterator_unwrap(array_ptr: *mut zval) -> *mut zend_object_iterator;
4989}
4990extern "C" {
4991    pub fn zend_iterator_init(iter: *mut zend_object_iterator);
4992}
4993extern "C" {
4994    pub fn zend_iterator_dtor(iter: *mut zend_object_iterator);
4995}
4996extern "C" {
4997    pub fn zend_register_iterator_wrapper();
4998}
4999#[repr(C)]
5000#[derive(Debug, Copy, Clone)]
5001pub struct stat {
5002    pub st_dev: __dev_t,
5003    pub st_ino: __ino_t,
5004    pub st_nlink: __nlink_t,
5005    pub st_mode: __mode_t,
5006    pub st_uid: __uid_t,
5007    pub st_gid: __gid_t,
5008    pub __pad0: ::std::os::raw::c_int,
5009    pub st_rdev: __dev_t,
5010    pub st_size: __off_t,
5011    pub st_blksize: __blksize_t,
5012    pub st_blocks: __blkcnt_t,
5013    pub st_atim: timespec,
5014    pub st_mtim: timespec,
5015    pub st_ctim: timespec,
5016    pub __glibc_reserved: [__syscall_slong_t; 3usize],
5017}
5018#[test]
5019fn bindgen_test_layout_stat() {
5020    assert_eq!(
5021        ::std::mem::size_of::<stat>(),
5022        144usize,
5023        concat!("Size of: ", stringify!(stat))
5024    );
5025    assert_eq!(
5026        ::std::mem::align_of::<stat>(),
5027        8usize,
5028        concat!("Alignment of ", stringify!(stat))
5029    );
5030    assert_eq!(
5031        unsafe { &(*(::std::ptr::null::<stat>())).st_dev as *const _ as usize },
5032        0usize,
5033        concat!(
5034            "Offset of field: ",
5035            stringify!(stat),
5036            "::",
5037            stringify!(st_dev)
5038        )
5039    );
5040    assert_eq!(
5041        unsafe { &(*(::std::ptr::null::<stat>())).st_ino as *const _ as usize },
5042        8usize,
5043        concat!(
5044            "Offset of field: ",
5045            stringify!(stat),
5046            "::",
5047            stringify!(st_ino)
5048        )
5049    );
5050    assert_eq!(
5051        unsafe { &(*(::std::ptr::null::<stat>())).st_nlink as *const _ as usize },
5052        16usize,
5053        concat!(
5054            "Offset of field: ",
5055            stringify!(stat),
5056            "::",
5057            stringify!(st_nlink)
5058        )
5059    );
5060    assert_eq!(
5061        unsafe { &(*(::std::ptr::null::<stat>())).st_mode as *const _ as usize },
5062        24usize,
5063        concat!(
5064            "Offset of field: ",
5065            stringify!(stat),
5066            "::",
5067            stringify!(st_mode)
5068        )
5069    );
5070    assert_eq!(
5071        unsafe { &(*(::std::ptr::null::<stat>())).st_uid as *const _ as usize },
5072        28usize,
5073        concat!(
5074            "Offset of field: ",
5075            stringify!(stat),
5076            "::",
5077            stringify!(st_uid)
5078        )
5079    );
5080    assert_eq!(
5081        unsafe { &(*(::std::ptr::null::<stat>())).st_gid as *const _ as usize },
5082        32usize,
5083        concat!(
5084            "Offset of field: ",
5085            stringify!(stat),
5086            "::",
5087            stringify!(st_gid)
5088        )
5089    );
5090    assert_eq!(
5091        unsafe { &(*(::std::ptr::null::<stat>())).__pad0 as *const _ as usize },
5092        36usize,
5093        concat!(
5094            "Offset of field: ",
5095            stringify!(stat),
5096            "::",
5097            stringify!(__pad0)
5098        )
5099    );
5100    assert_eq!(
5101        unsafe { &(*(::std::ptr::null::<stat>())).st_rdev as *const _ as usize },
5102        40usize,
5103        concat!(
5104            "Offset of field: ",
5105            stringify!(stat),
5106            "::",
5107            stringify!(st_rdev)
5108        )
5109    );
5110    assert_eq!(
5111        unsafe { &(*(::std::ptr::null::<stat>())).st_size as *const _ as usize },
5112        48usize,
5113        concat!(
5114            "Offset of field: ",
5115            stringify!(stat),
5116            "::",
5117            stringify!(st_size)
5118        )
5119    );
5120    assert_eq!(
5121        unsafe { &(*(::std::ptr::null::<stat>())).st_blksize as *const _ as usize },
5122        56usize,
5123        concat!(
5124            "Offset of field: ",
5125            stringify!(stat),
5126            "::",
5127            stringify!(st_blksize)
5128        )
5129    );
5130    assert_eq!(
5131        unsafe { &(*(::std::ptr::null::<stat>())).st_blocks as *const _ as usize },
5132        64usize,
5133        concat!(
5134            "Offset of field: ",
5135            stringify!(stat),
5136            "::",
5137            stringify!(st_blocks)
5138        )
5139    );
5140    assert_eq!(
5141        unsafe { &(*(::std::ptr::null::<stat>())).st_atim as *const _ as usize },
5142        72usize,
5143        concat!(
5144            "Offset of field: ",
5145            stringify!(stat),
5146            "::",
5147            stringify!(st_atim)
5148        )
5149    );
5150    assert_eq!(
5151        unsafe { &(*(::std::ptr::null::<stat>())).st_mtim as *const _ as usize },
5152        88usize,
5153        concat!(
5154            "Offset of field: ",
5155            stringify!(stat),
5156            "::",
5157            stringify!(st_mtim)
5158        )
5159    );
5160    assert_eq!(
5161        unsafe { &(*(::std::ptr::null::<stat>())).st_ctim as *const _ as usize },
5162        104usize,
5163        concat!(
5164            "Offset of field: ",
5165            stringify!(stat),
5166            "::",
5167            stringify!(st_ctim)
5168        )
5169    );
5170    assert_eq!(
5171        unsafe { &(*(::std::ptr::null::<stat>())).__glibc_reserved as *const _ as usize },
5172        120usize,
5173        concat!(
5174            "Offset of field: ",
5175            stringify!(stat),
5176            "::",
5177            stringify!(__glibc_reserved)
5178        )
5179    );
5180}
5181pub type zend_stream_fsizer_t =
5182    ::std::option::Option<unsafe extern "C" fn(handle: *mut ::std::os::raw::c_void) -> size_t>;
5183pub type zend_stream_reader_t = ::std::option::Option<
5184    unsafe extern "C" fn(
5185        handle: *mut ::std::os::raw::c_void,
5186        buf: *mut ::std::os::raw::c_char,
5187        len: size_t,
5188    ) -> ssize_t,
5189>;
5190pub type zend_stream_closer_t =
5191    ::std::option::Option<unsafe extern "C" fn(handle: *mut ::std::os::raw::c_void)>;
5192pub const zend_stream_type_ZEND_HANDLE_FILENAME: zend_stream_type = 0;
5193pub const zend_stream_type_ZEND_HANDLE_FP: zend_stream_type = 1;
5194pub const zend_stream_type_ZEND_HANDLE_STREAM: zend_stream_type = 2;
5195pub type zend_stream_type = ::std::os::raw::c_uint;
5196#[repr(C)]
5197#[derive(Debug, Copy, Clone)]
5198pub struct _zend_stream {
5199    pub handle: *mut ::std::os::raw::c_void,
5200    pub isatty: ::std::os::raw::c_int,
5201    pub reader: zend_stream_reader_t,
5202    pub fsizer: zend_stream_fsizer_t,
5203    pub closer: zend_stream_closer_t,
5204}
5205#[test]
5206fn bindgen_test_layout__zend_stream() {
5207    assert_eq!(
5208        ::std::mem::size_of::<_zend_stream>(),
5209        40usize,
5210        concat!("Size of: ", stringify!(_zend_stream))
5211    );
5212    assert_eq!(
5213        ::std::mem::align_of::<_zend_stream>(),
5214        8usize,
5215        concat!("Alignment of ", stringify!(_zend_stream))
5216    );
5217    assert_eq!(
5218        unsafe { &(*(::std::ptr::null::<_zend_stream>())).handle as *const _ as usize },
5219        0usize,
5220        concat!(
5221            "Offset of field: ",
5222            stringify!(_zend_stream),
5223            "::",
5224            stringify!(handle)
5225        )
5226    );
5227    assert_eq!(
5228        unsafe { &(*(::std::ptr::null::<_zend_stream>())).isatty as *const _ as usize },
5229        8usize,
5230        concat!(
5231            "Offset of field: ",
5232            stringify!(_zend_stream),
5233            "::",
5234            stringify!(isatty)
5235        )
5236    );
5237    assert_eq!(
5238        unsafe { &(*(::std::ptr::null::<_zend_stream>())).reader as *const _ as usize },
5239        16usize,
5240        concat!(
5241            "Offset of field: ",
5242            stringify!(_zend_stream),
5243            "::",
5244            stringify!(reader)
5245        )
5246    );
5247    assert_eq!(
5248        unsafe { &(*(::std::ptr::null::<_zend_stream>())).fsizer as *const _ as usize },
5249        24usize,
5250        concat!(
5251            "Offset of field: ",
5252            stringify!(_zend_stream),
5253            "::",
5254            stringify!(fsizer)
5255        )
5256    );
5257    assert_eq!(
5258        unsafe { &(*(::std::ptr::null::<_zend_stream>())).closer as *const _ as usize },
5259        32usize,
5260        concat!(
5261            "Offset of field: ",
5262            stringify!(_zend_stream),
5263            "::",
5264            stringify!(closer)
5265        )
5266    );
5267}
5268pub type zend_stream = _zend_stream;
5269#[repr(C)]
5270#[derive(Copy, Clone)]
5271pub struct _zend_file_handle {
5272    pub handle: _zend_file_handle__bindgen_ty_1,
5273    pub filename: *const ::std::os::raw::c_char,
5274    pub opened_path: *mut zend_string,
5275    pub type_: zend_stream_type,
5276    pub free_filename: zend_bool,
5277    pub buf: *mut ::std::os::raw::c_char,
5278    pub len: size_t,
5279}
5280#[repr(C)]
5281#[derive(Copy, Clone)]
5282pub union _zend_file_handle__bindgen_ty_1 {
5283    pub fp: *mut FILE,
5284    pub stream: zend_stream,
5285    _bindgen_union_align: [u64; 5usize],
5286}
5287#[test]
5288fn bindgen_test_layout__zend_file_handle__bindgen_ty_1() {
5289    assert_eq!(
5290        ::std::mem::size_of::<_zend_file_handle__bindgen_ty_1>(),
5291        40usize,
5292        concat!("Size of: ", stringify!(_zend_file_handle__bindgen_ty_1))
5293    );
5294    assert_eq!(
5295        ::std::mem::align_of::<_zend_file_handle__bindgen_ty_1>(),
5296        8usize,
5297        concat!("Alignment of ", stringify!(_zend_file_handle__bindgen_ty_1))
5298    );
5299    assert_eq!(
5300        unsafe {
5301            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).fp as *const _ as usize
5302        },
5303        0usize,
5304        concat!(
5305            "Offset of field: ",
5306            stringify!(_zend_file_handle__bindgen_ty_1),
5307            "::",
5308            stringify!(fp)
5309        )
5310    );
5311    assert_eq!(
5312        unsafe {
5313            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).stream as *const _ as usize
5314        },
5315        0usize,
5316        concat!(
5317            "Offset of field: ",
5318            stringify!(_zend_file_handle__bindgen_ty_1),
5319            "::",
5320            stringify!(stream)
5321        )
5322    );
5323}
5324#[test]
5325fn bindgen_test_layout__zend_file_handle() {
5326    assert_eq!(
5327        ::std::mem::size_of::<_zend_file_handle>(),
5328        80usize,
5329        concat!("Size of: ", stringify!(_zend_file_handle))
5330    );
5331    assert_eq!(
5332        ::std::mem::align_of::<_zend_file_handle>(),
5333        8usize,
5334        concat!("Alignment of ", stringify!(_zend_file_handle))
5335    );
5336    assert_eq!(
5337        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).handle as *const _ as usize },
5338        0usize,
5339        concat!(
5340            "Offset of field: ",
5341            stringify!(_zend_file_handle),
5342            "::",
5343            stringify!(handle)
5344        )
5345    );
5346    assert_eq!(
5347        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).filename as *const _ as usize },
5348        40usize,
5349        concat!(
5350            "Offset of field: ",
5351            stringify!(_zend_file_handle),
5352            "::",
5353            stringify!(filename)
5354        )
5355    );
5356    assert_eq!(
5357        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).opened_path as *const _ as usize },
5358        48usize,
5359        concat!(
5360            "Offset of field: ",
5361            stringify!(_zend_file_handle),
5362            "::",
5363            stringify!(opened_path)
5364        )
5365    );
5366    assert_eq!(
5367        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).type_ as *const _ as usize },
5368        56usize,
5369        concat!(
5370            "Offset of field: ",
5371            stringify!(_zend_file_handle),
5372            "::",
5373            stringify!(type_)
5374        )
5375    );
5376    assert_eq!(
5377        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).free_filename as *const _ as usize },
5378        60usize,
5379        concat!(
5380            "Offset of field: ",
5381            stringify!(_zend_file_handle),
5382            "::",
5383            stringify!(free_filename)
5384        )
5385    );
5386    assert_eq!(
5387        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).buf as *const _ as usize },
5388        64usize,
5389        concat!(
5390            "Offset of field: ",
5391            stringify!(_zend_file_handle),
5392            "::",
5393            stringify!(buf)
5394        )
5395    );
5396    assert_eq!(
5397        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).len as *const _ as usize },
5398        72usize,
5399        concat!(
5400            "Offset of field: ",
5401            stringify!(_zend_file_handle),
5402            "::",
5403            stringify!(len)
5404        )
5405    );
5406}
5407pub type zend_file_handle = _zend_file_handle;
5408extern "C" {
5409    pub fn zend_stream_init_fp(
5410        handle: *mut zend_file_handle,
5411        fp: *mut FILE,
5412        filename: *const ::std::os::raw::c_char,
5413    );
5414}
5415extern "C" {
5416    pub fn zend_stream_init_filename(
5417        handle: *mut zend_file_handle,
5418        filename: *const ::std::os::raw::c_char,
5419    );
5420}
5421extern "C" {
5422    pub fn zend_stream_open(
5423        filename: *const ::std::os::raw::c_char,
5424        handle: *mut zend_file_handle,
5425    ) -> zend_result;
5426}
5427extern "C" {
5428    pub fn zend_stream_fixup(
5429        file_handle: *mut zend_file_handle,
5430        buf: *mut *mut ::std::os::raw::c_char,
5431        len: *mut size_t,
5432    ) -> zend_result;
5433}
5434extern "C" {
5435    pub fn zend_file_handle_dtor(fh: *mut zend_file_handle);
5436}
5437extern "C" {
5438    pub fn zend_compare_file_handles(
5439        fh1: *mut zend_file_handle,
5440        fh2: *mut zend_file_handle,
5441    ) -> ::std::os::raw::c_int;
5442}
5443pub type zend_stat_t = stat;
5444#[repr(C)]
5445#[derive(Debug, Copy, Clone)]
5446pub struct smart_str {
5447    pub s: *mut zend_string,
5448    pub a: size_t,
5449}
5450#[test]
5451fn bindgen_test_layout_smart_str() {
5452    assert_eq!(
5453        ::std::mem::size_of::<smart_str>(),
5454        16usize,
5455        concat!("Size of: ", stringify!(smart_str))
5456    );
5457    assert_eq!(
5458        ::std::mem::align_of::<smart_str>(),
5459        8usize,
5460        concat!("Alignment of ", stringify!(smart_str))
5461    );
5462    assert_eq!(
5463        unsafe { &(*(::std::ptr::null::<smart_str>())).s as *const _ as usize },
5464        0usize,
5465        concat!(
5466            "Offset of field: ",
5467            stringify!(smart_str),
5468            "::",
5469            stringify!(s)
5470        )
5471    );
5472    assert_eq!(
5473        unsafe { &(*(::std::ptr::null::<smart_str>())).a as *const _ as usize },
5474        8usize,
5475        concat!(
5476            "Offset of field: ",
5477            stringify!(smart_str),
5478            "::",
5479            stringify!(a)
5480        )
5481    );
5482}
5483#[repr(C)]
5484#[derive(Debug, Copy, Clone)]
5485pub struct smart_string {
5486    pub c: *mut ::std::os::raw::c_char,
5487    pub len: size_t,
5488    pub a: size_t,
5489}
5490#[test]
5491fn bindgen_test_layout_smart_string() {
5492    assert_eq!(
5493        ::std::mem::size_of::<smart_string>(),
5494        24usize,
5495        concat!("Size of: ", stringify!(smart_string))
5496    );
5497    assert_eq!(
5498        ::std::mem::align_of::<smart_string>(),
5499        8usize,
5500        concat!("Alignment of ", stringify!(smart_string))
5501    );
5502    assert_eq!(
5503        unsafe { &(*(::std::ptr::null::<smart_string>())).c as *const _ as usize },
5504        0usize,
5505        concat!(
5506            "Offset of field: ",
5507            stringify!(smart_string),
5508            "::",
5509            stringify!(c)
5510        )
5511    );
5512    assert_eq!(
5513        unsafe { &(*(::std::ptr::null::<smart_string>())).len as *const _ as usize },
5514        8usize,
5515        concat!(
5516            "Offset of field: ",
5517            stringify!(smart_string),
5518            "::",
5519            stringify!(len)
5520        )
5521    );
5522    assert_eq!(
5523        unsafe { &(*(::std::ptr::null::<smart_string>())).a as *const _ as usize },
5524        16usize,
5525        concat!(
5526            "Offset of field: ",
5527            stringify!(smart_string),
5528            "::",
5529            stringify!(a)
5530        )
5531    );
5532}
5533#[repr(C)]
5534#[derive(Copy, Clone)]
5535pub union sigval {
5536    pub sival_int: ::std::os::raw::c_int,
5537    pub sival_ptr: *mut ::std::os::raw::c_void,
5538    _bindgen_union_align: u64,
5539}
5540#[test]
5541fn bindgen_test_layout_sigval() {
5542    assert_eq!(
5543        ::std::mem::size_of::<sigval>(),
5544        8usize,
5545        concat!("Size of: ", stringify!(sigval))
5546    );
5547    assert_eq!(
5548        ::std::mem::align_of::<sigval>(),
5549        8usize,
5550        concat!("Alignment of ", stringify!(sigval))
5551    );
5552    assert_eq!(
5553        unsafe { &(*(::std::ptr::null::<sigval>())).sival_int as *const _ as usize },
5554        0usize,
5555        concat!(
5556            "Offset of field: ",
5557            stringify!(sigval),
5558            "::",
5559            stringify!(sival_int)
5560        )
5561    );
5562    assert_eq!(
5563        unsafe { &(*(::std::ptr::null::<sigval>())).sival_ptr as *const _ as usize },
5564        0usize,
5565        concat!(
5566            "Offset of field: ",
5567            stringify!(sigval),
5568            "::",
5569            stringify!(sival_ptr)
5570        )
5571    );
5572}
5573pub type __sigval_t = sigval;
5574#[repr(C)]
5575#[derive(Copy, Clone)]
5576pub struct siginfo_t {
5577    pub si_signo: ::std::os::raw::c_int,
5578    pub si_errno: ::std::os::raw::c_int,
5579    pub si_code: ::std::os::raw::c_int,
5580    pub __pad0: ::std::os::raw::c_int,
5581    pub _sifields: siginfo_t__bindgen_ty_1,
5582}
5583#[repr(C)]
5584#[derive(Copy, Clone)]
5585pub union siginfo_t__bindgen_ty_1 {
5586    pub _pad: [::std::os::raw::c_int; 28usize],
5587    pub _kill: siginfo_t__bindgen_ty_1__bindgen_ty_1,
5588    pub _timer: siginfo_t__bindgen_ty_1__bindgen_ty_2,
5589    pub _rt: siginfo_t__bindgen_ty_1__bindgen_ty_3,
5590    pub _sigchld: siginfo_t__bindgen_ty_1__bindgen_ty_4,
5591    pub _sigfault: siginfo_t__bindgen_ty_1__bindgen_ty_5,
5592    pub _sigpoll: siginfo_t__bindgen_ty_1__bindgen_ty_6,
5593    pub _sigsys: siginfo_t__bindgen_ty_1__bindgen_ty_7,
5594    _bindgen_union_align: [u64; 14usize],
5595}
5596#[repr(C)]
5597#[derive(Debug, Copy, Clone)]
5598pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 {
5599    pub si_pid: __pid_t,
5600    pub si_uid: __uid_t,
5601}
5602#[test]
5603fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1() {
5604    assert_eq!(
5605        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
5606        8usize,
5607        concat!(
5608            "Size of: ",
5609            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
5610        )
5611    );
5612    assert_eq!(
5613        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
5614        4usize,
5615        concat!(
5616            "Alignment of ",
5617            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
5618        )
5619    );
5620    assert_eq!(
5621        unsafe {
5622            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_pid as *const _
5623                as usize
5624        },
5625        0usize,
5626        concat!(
5627            "Offset of field: ",
5628            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
5629            "::",
5630            stringify!(si_pid)
5631        )
5632    );
5633    assert_eq!(
5634        unsafe {
5635            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_uid as *const _
5636                as usize
5637        },
5638        4usize,
5639        concat!(
5640            "Offset of field: ",
5641            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
5642            "::",
5643            stringify!(si_uid)
5644        )
5645    );
5646}
5647#[repr(C)]
5648#[derive(Copy, Clone)]
5649pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 {
5650    pub si_tid: ::std::os::raw::c_int,
5651    pub si_overrun: ::std::os::raw::c_int,
5652    pub si_sigval: __sigval_t,
5653}
5654#[test]
5655fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2() {
5656    assert_eq!(
5657        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
5658        16usize,
5659        concat!(
5660            "Size of: ",
5661            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
5662        )
5663    );
5664    assert_eq!(
5665        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
5666        8usize,
5667        concat!(
5668            "Alignment of ",
5669            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
5670        )
5671    );
5672    assert_eq!(
5673        unsafe {
5674            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_tid as *const _
5675                as usize
5676        },
5677        0usize,
5678        concat!(
5679            "Offset of field: ",
5680            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
5681            "::",
5682            stringify!(si_tid)
5683        )
5684    );
5685    assert_eq!(
5686        unsafe {
5687            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_overrun as *const _
5688                as usize
5689        },
5690        4usize,
5691        concat!(
5692            "Offset of field: ",
5693            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
5694            "::",
5695            stringify!(si_overrun)
5696        )
5697    );
5698    assert_eq!(
5699        unsafe {
5700            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_sigval as *const _
5701                as usize
5702        },
5703        8usize,
5704        concat!(
5705            "Offset of field: ",
5706            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
5707            "::",
5708            stringify!(si_sigval)
5709        )
5710    );
5711}
5712#[repr(C)]
5713#[derive(Copy, Clone)]
5714pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 {
5715    pub si_pid: __pid_t,
5716    pub si_uid: __uid_t,
5717    pub si_sigval: __sigval_t,
5718}
5719#[test]
5720fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3() {
5721    assert_eq!(
5722        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
5723        16usize,
5724        concat!(
5725            "Size of: ",
5726            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
5727        )
5728    );
5729    assert_eq!(
5730        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
5731        8usize,
5732        concat!(
5733            "Alignment of ",
5734            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
5735        )
5736    );
5737    assert_eq!(
5738        unsafe {
5739            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_pid as *const _
5740                as usize
5741        },
5742        0usize,
5743        concat!(
5744            "Offset of field: ",
5745            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
5746            "::",
5747            stringify!(si_pid)
5748        )
5749    );
5750    assert_eq!(
5751        unsafe {
5752            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_uid as *const _
5753                as usize
5754        },
5755        4usize,
5756        concat!(
5757            "Offset of field: ",
5758            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
5759            "::",
5760            stringify!(si_uid)
5761        )
5762    );
5763    assert_eq!(
5764        unsafe {
5765            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_sigval as *const _
5766                as usize
5767        },
5768        8usize,
5769        concat!(
5770            "Offset of field: ",
5771            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
5772            "::",
5773            stringify!(si_sigval)
5774        )
5775    );
5776}
5777#[repr(C)]
5778#[derive(Debug, Copy, Clone)]
5779pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 {
5780    pub si_pid: __pid_t,
5781    pub si_uid: __uid_t,
5782    pub si_status: ::std::os::raw::c_int,
5783    pub si_utime: __clock_t,
5784    pub si_stime: __clock_t,
5785}
5786#[test]
5787fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4() {
5788    assert_eq!(
5789        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
5790        32usize,
5791        concat!(
5792            "Size of: ",
5793            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
5794        )
5795    );
5796    assert_eq!(
5797        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
5798        8usize,
5799        concat!(
5800            "Alignment of ",
5801            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
5802        )
5803    );
5804    assert_eq!(
5805        unsafe {
5806            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_pid as *const _
5807                as usize
5808        },
5809        0usize,
5810        concat!(
5811            "Offset of field: ",
5812            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5813            "::",
5814            stringify!(si_pid)
5815        )
5816    );
5817    assert_eq!(
5818        unsafe {
5819            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_uid as *const _
5820                as usize
5821        },
5822        4usize,
5823        concat!(
5824            "Offset of field: ",
5825            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5826            "::",
5827            stringify!(si_uid)
5828        )
5829    );
5830    assert_eq!(
5831        unsafe {
5832            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_status as *const _
5833                as usize
5834        },
5835        8usize,
5836        concat!(
5837            "Offset of field: ",
5838            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5839            "::",
5840            stringify!(si_status)
5841        )
5842    );
5843    assert_eq!(
5844        unsafe {
5845            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_utime as *const _
5846                as usize
5847        },
5848        16usize,
5849        concat!(
5850            "Offset of field: ",
5851            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5852            "::",
5853            stringify!(si_utime)
5854        )
5855    );
5856    assert_eq!(
5857        unsafe {
5858            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_stime as *const _
5859                as usize
5860        },
5861        24usize,
5862        concat!(
5863            "Offset of field: ",
5864            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
5865            "::",
5866            stringify!(si_stime)
5867        )
5868    );
5869}
5870#[repr(C)]
5871#[derive(Copy, Clone)]
5872pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5 {
5873    pub si_addr: *mut ::std::os::raw::c_void,
5874    pub si_addr_lsb: ::std::os::raw::c_short,
5875    pub _bounds: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1,
5876}
5877#[repr(C)]
5878#[derive(Copy, Clone)]
5879pub union siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 {
5880    pub _addr_bnd: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
5881    pub _pkey: __uint32_t,
5882    _bindgen_union_align: [u64; 2usize],
5883}
5884#[repr(C)]
5885#[derive(Debug, Copy, Clone)]
5886pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
5887    pub _lower: *mut ::std::os::raw::c_void,
5888    pub _upper: *mut ::std::os::raw::c_void,
5889}
5890#[test]
5891fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
5892    assert_eq!(
5893        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
5894        16usize,
5895        concat!(
5896            "Size of: ",
5897            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
5898        )
5899    );
5900    assert_eq!(
5901        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
5902        8usize,
5903        concat!(
5904            "Alignment of ",
5905            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
5906        )
5907    );
5908    assert_eq!(
5909        unsafe {
5910            &(*(::std::ptr::null::<
5911                siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
5912            >()))
5913            ._lower as *const _ as usize
5914        },
5915        0usize,
5916        concat!(
5917            "Offset of field: ",
5918            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
5919            "::",
5920            stringify!(_lower)
5921        )
5922    );
5923    assert_eq!(
5924        unsafe {
5925            &(*(::std::ptr::null::<
5926                siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
5927            >()))
5928            ._upper as *const _ as usize
5929        },
5930        8usize,
5931        concat!(
5932            "Offset of field: ",
5933            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
5934            "::",
5935            stringify!(_upper)
5936        )
5937    );
5938}
5939#[test]
5940fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1() {
5941    assert_eq!(
5942        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
5943        16usize,
5944        concat!(
5945            "Size of: ",
5946            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
5947        )
5948    );
5949    assert_eq!(
5950        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
5951        8usize,
5952        concat!(
5953            "Alignment of ",
5954            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
5955        )
5956    );
5957    assert_eq!(
5958        unsafe {
5959            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))
5960                ._addr_bnd as *const _ as usize
5961        },
5962        0usize,
5963        concat!(
5964            "Offset of field: ",
5965            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
5966            "::",
5967            stringify!(_addr_bnd)
5968        )
5969    );
5970    assert_eq!(
5971        unsafe {
5972            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))._pkey
5973                as *const _ as usize
5974        },
5975        0usize,
5976        concat!(
5977            "Offset of field: ",
5978            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
5979            "::",
5980            stringify!(_pkey)
5981        )
5982    );
5983}
5984#[test]
5985fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5() {
5986    assert_eq!(
5987        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
5988        32usize,
5989        concat!(
5990            "Size of: ",
5991            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
5992        )
5993    );
5994    assert_eq!(
5995        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
5996        8usize,
5997        concat!(
5998            "Alignment of ",
5999            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
6000        )
6001    );
6002    assert_eq!(
6003        unsafe {
6004            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr as *const _
6005                as usize
6006        },
6007        0usize,
6008        concat!(
6009            "Offset of field: ",
6010            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
6011            "::",
6012            stringify!(si_addr)
6013        )
6014    );
6015    assert_eq!(
6016        unsafe {
6017            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr_lsb
6018                as *const _ as usize
6019        },
6020        8usize,
6021        concat!(
6022            "Offset of field: ",
6023            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
6024            "::",
6025            stringify!(si_addr_lsb)
6026        )
6027    );
6028    assert_eq!(
6029        unsafe {
6030            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>()))._bounds as *const _
6031                as usize
6032        },
6033        16usize,
6034        concat!(
6035            "Offset of field: ",
6036            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
6037            "::",
6038            stringify!(_bounds)
6039        )
6040    );
6041}
6042#[repr(C)]
6043#[derive(Debug, Copy, Clone)]
6044pub struct siginfo_t__bindgen_ty_1__bindgen_ty_6 {
6045    pub si_band: ::std::os::raw::c_long,
6046    pub si_fd: ::std::os::raw::c_int,
6047}
6048#[test]
6049fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_6() {
6050    assert_eq!(
6051        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
6052        16usize,
6053        concat!(
6054            "Size of: ",
6055            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
6056        )
6057    );
6058    assert_eq!(
6059        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
6060        8usize,
6061        concat!(
6062            "Alignment of ",
6063            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
6064        )
6065    );
6066    assert_eq!(
6067        unsafe {
6068            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_band as *const _
6069                as usize
6070        },
6071        0usize,
6072        concat!(
6073            "Offset of field: ",
6074            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
6075            "::",
6076            stringify!(si_band)
6077        )
6078    );
6079    assert_eq!(
6080        unsafe {
6081            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_fd as *const _
6082                as usize
6083        },
6084        8usize,
6085        concat!(
6086            "Offset of field: ",
6087            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
6088            "::",
6089            stringify!(si_fd)
6090        )
6091    );
6092}
6093#[repr(C)]
6094#[derive(Debug, Copy, Clone)]
6095pub struct siginfo_t__bindgen_ty_1__bindgen_ty_7 {
6096    pub _call_addr: *mut ::std::os::raw::c_void,
6097    pub _syscall: ::std::os::raw::c_int,
6098    pub _arch: ::std::os::raw::c_uint,
6099}
6100#[test]
6101fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_7() {
6102    assert_eq!(
6103        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
6104        16usize,
6105        concat!(
6106            "Size of: ",
6107            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
6108        )
6109    );
6110    assert_eq!(
6111        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
6112        8usize,
6113        concat!(
6114            "Alignment of ",
6115            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
6116        )
6117    );
6118    assert_eq!(
6119        unsafe {
6120            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._call_addr as *const _
6121                as usize
6122        },
6123        0usize,
6124        concat!(
6125            "Offset of field: ",
6126            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
6127            "::",
6128            stringify!(_call_addr)
6129        )
6130    );
6131    assert_eq!(
6132        unsafe {
6133            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._syscall as *const _
6134                as usize
6135        },
6136        8usize,
6137        concat!(
6138            "Offset of field: ",
6139            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
6140            "::",
6141            stringify!(_syscall)
6142        )
6143    );
6144    assert_eq!(
6145        unsafe {
6146            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._arch as *const _
6147                as usize
6148        },
6149        12usize,
6150        concat!(
6151            "Offset of field: ",
6152            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
6153            "::",
6154            stringify!(_arch)
6155        )
6156    );
6157}
6158#[test]
6159fn bindgen_test_layout_siginfo_t__bindgen_ty_1() {
6160    assert_eq!(
6161        ::std::mem::size_of::<siginfo_t__bindgen_ty_1>(),
6162        112usize,
6163        concat!("Size of: ", stringify!(siginfo_t__bindgen_ty_1))
6164    );
6165    assert_eq!(
6166        ::std::mem::align_of::<siginfo_t__bindgen_ty_1>(),
6167        8usize,
6168        concat!("Alignment of ", stringify!(siginfo_t__bindgen_ty_1))
6169    );
6170    assert_eq!(
6171        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._pad as *const _ as usize },
6172        0usize,
6173        concat!(
6174            "Offset of field: ",
6175            stringify!(siginfo_t__bindgen_ty_1),
6176            "::",
6177            stringify!(_pad)
6178        )
6179    );
6180    assert_eq!(
6181        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._kill as *const _ as usize },
6182        0usize,
6183        concat!(
6184            "Offset of field: ",
6185            stringify!(siginfo_t__bindgen_ty_1),
6186            "::",
6187            stringify!(_kill)
6188        )
6189    );
6190    assert_eq!(
6191        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._timer as *const _ as usize },
6192        0usize,
6193        concat!(
6194            "Offset of field: ",
6195            stringify!(siginfo_t__bindgen_ty_1),
6196            "::",
6197            stringify!(_timer)
6198        )
6199    );
6200    assert_eq!(
6201        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._rt as *const _ as usize },
6202        0usize,
6203        concat!(
6204            "Offset of field: ",
6205            stringify!(siginfo_t__bindgen_ty_1),
6206            "::",
6207            stringify!(_rt)
6208        )
6209    );
6210    assert_eq!(
6211        unsafe {
6212            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigchld as *const _ as usize
6213        },
6214        0usize,
6215        concat!(
6216            "Offset of field: ",
6217            stringify!(siginfo_t__bindgen_ty_1),
6218            "::",
6219            stringify!(_sigchld)
6220        )
6221    );
6222    assert_eq!(
6223        unsafe {
6224            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigfault as *const _ as usize
6225        },
6226        0usize,
6227        concat!(
6228            "Offset of field: ",
6229            stringify!(siginfo_t__bindgen_ty_1),
6230            "::",
6231            stringify!(_sigfault)
6232        )
6233    );
6234    assert_eq!(
6235        unsafe {
6236            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigpoll as *const _ as usize
6237        },
6238        0usize,
6239        concat!(
6240            "Offset of field: ",
6241            stringify!(siginfo_t__bindgen_ty_1),
6242            "::",
6243            stringify!(_sigpoll)
6244        )
6245    );
6246    assert_eq!(
6247        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigsys as *const _ as usize },
6248        0usize,
6249        concat!(
6250            "Offset of field: ",
6251            stringify!(siginfo_t__bindgen_ty_1),
6252            "::",
6253            stringify!(_sigsys)
6254        )
6255    );
6256}
6257#[test]
6258fn bindgen_test_layout_siginfo_t() {
6259    assert_eq!(
6260        ::std::mem::size_of::<siginfo_t>(),
6261        128usize,
6262        concat!("Size of: ", stringify!(siginfo_t))
6263    );
6264    assert_eq!(
6265        ::std::mem::align_of::<siginfo_t>(),
6266        8usize,
6267        concat!("Alignment of ", stringify!(siginfo_t))
6268    );
6269    assert_eq!(
6270        unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_signo as *const _ as usize },
6271        0usize,
6272        concat!(
6273            "Offset of field: ",
6274            stringify!(siginfo_t),
6275            "::",
6276            stringify!(si_signo)
6277        )
6278    );
6279    assert_eq!(
6280        unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_errno as *const _ as usize },
6281        4usize,
6282        concat!(
6283            "Offset of field: ",
6284            stringify!(siginfo_t),
6285            "::",
6286            stringify!(si_errno)
6287        )
6288    );
6289    assert_eq!(
6290        unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_code as *const _ as usize },
6291        8usize,
6292        concat!(
6293            "Offset of field: ",
6294            stringify!(siginfo_t),
6295            "::",
6296            stringify!(si_code)
6297        )
6298    );
6299    assert_eq!(
6300        unsafe { &(*(::std::ptr::null::<siginfo_t>())).__pad0 as *const _ as usize },
6301        12usize,
6302        concat!(
6303            "Offset of field: ",
6304            stringify!(siginfo_t),
6305            "::",
6306            stringify!(__pad0)
6307        )
6308    );
6309    assert_eq!(
6310        unsafe { &(*(::std::ptr::null::<siginfo_t>()))._sifields as *const _ as usize },
6311        16usize,
6312        concat!(
6313            "Offset of field: ",
6314            stringify!(siginfo_t),
6315            "::",
6316            stringify!(_sifields)
6317        )
6318    );
6319}
6320pub type __sighandler_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
6321#[repr(C)]
6322#[derive(Copy, Clone)]
6323pub struct sigaction {
6324    pub __sigaction_handler: sigaction__bindgen_ty_1,
6325    pub sa_mask: __sigset_t,
6326    pub sa_flags: ::std::os::raw::c_int,
6327    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
6328}
6329#[repr(C)]
6330#[derive(Copy, Clone)]
6331pub union sigaction__bindgen_ty_1 {
6332    pub sa_handler: __sighandler_t,
6333    pub sa_sigaction: ::std::option::Option<
6334        unsafe extern "C" fn(
6335            arg1: ::std::os::raw::c_int,
6336            arg2: *mut siginfo_t,
6337            arg3: *mut ::std::os::raw::c_void,
6338        ),
6339    >,
6340    _bindgen_union_align: u64,
6341}
6342#[test]
6343fn bindgen_test_layout_sigaction__bindgen_ty_1() {
6344    assert_eq!(
6345        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
6346        8usize,
6347        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
6348    );
6349    assert_eq!(
6350        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
6351        8usize,
6352        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
6353    );
6354    assert_eq!(
6355        unsafe {
6356            &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_handler as *const _ as usize
6357        },
6358        0usize,
6359        concat!(
6360            "Offset of field: ",
6361            stringify!(sigaction__bindgen_ty_1),
6362            "::",
6363            stringify!(sa_handler)
6364        )
6365    );
6366    assert_eq!(
6367        unsafe {
6368            &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_sigaction as *const _ as usize
6369        },
6370        0usize,
6371        concat!(
6372            "Offset of field: ",
6373            stringify!(sigaction__bindgen_ty_1),
6374            "::",
6375            stringify!(sa_sigaction)
6376        )
6377    );
6378}
6379#[test]
6380fn bindgen_test_layout_sigaction() {
6381    assert_eq!(
6382        ::std::mem::size_of::<sigaction>(),
6383        152usize,
6384        concat!("Size of: ", stringify!(sigaction))
6385    );
6386    assert_eq!(
6387        ::std::mem::align_of::<sigaction>(),
6388        8usize,
6389        concat!("Alignment of ", stringify!(sigaction))
6390    );
6391    assert_eq!(
6392        unsafe { &(*(::std::ptr::null::<sigaction>())).__sigaction_handler as *const _ as usize },
6393        0usize,
6394        concat!(
6395            "Offset of field: ",
6396            stringify!(sigaction),
6397            "::",
6398            stringify!(__sigaction_handler)
6399        )
6400    );
6401    assert_eq!(
6402        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_mask as *const _ as usize },
6403        8usize,
6404        concat!(
6405            "Offset of field: ",
6406            stringify!(sigaction),
6407            "::",
6408            stringify!(sa_mask)
6409        )
6410    );
6411    assert_eq!(
6412        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_flags as *const _ as usize },
6413        136usize,
6414        concat!(
6415            "Offset of field: ",
6416            stringify!(sigaction),
6417            "::",
6418            stringify!(sa_flags)
6419        )
6420    );
6421    assert_eq!(
6422        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_restorer as *const _ as usize },
6423        144usize,
6424        concat!(
6425            "Offset of field: ",
6426            stringify!(sigaction),
6427            "::",
6428            stringify!(sa_restorer)
6429        )
6430    );
6431}
6432#[repr(C)]
6433#[derive(Debug, Copy, Clone)]
6434pub struct _zend_signal_entry_t {
6435    pub flags: ::std::os::raw::c_int,
6436    pub handler: *mut ::std::os::raw::c_void,
6437}
6438#[test]
6439fn bindgen_test_layout__zend_signal_entry_t() {
6440    assert_eq!(
6441        ::std::mem::size_of::<_zend_signal_entry_t>(),
6442        16usize,
6443        concat!("Size of: ", stringify!(_zend_signal_entry_t))
6444    );
6445    assert_eq!(
6446        ::std::mem::align_of::<_zend_signal_entry_t>(),
6447        8usize,
6448        concat!("Alignment of ", stringify!(_zend_signal_entry_t))
6449    );
6450    assert_eq!(
6451        unsafe { &(*(::std::ptr::null::<_zend_signal_entry_t>())).flags as *const _ as usize },
6452        0usize,
6453        concat!(
6454            "Offset of field: ",
6455            stringify!(_zend_signal_entry_t),
6456            "::",
6457            stringify!(flags)
6458        )
6459    );
6460    assert_eq!(
6461        unsafe { &(*(::std::ptr::null::<_zend_signal_entry_t>())).handler as *const _ as usize },
6462        8usize,
6463        concat!(
6464            "Offset of field: ",
6465            stringify!(_zend_signal_entry_t),
6466            "::",
6467            stringify!(handler)
6468        )
6469    );
6470}
6471pub type zend_signal_entry_t = _zend_signal_entry_t;
6472#[repr(C)]
6473#[derive(Debug, Copy, Clone)]
6474pub struct _zend_signal_t {
6475    pub signo: ::std::os::raw::c_int,
6476    pub siginfo: *mut siginfo_t,
6477    pub context: *mut ::std::os::raw::c_void,
6478}
6479#[test]
6480fn bindgen_test_layout__zend_signal_t() {
6481    assert_eq!(
6482        ::std::mem::size_of::<_zend_signal_t>(),
6483        24usize,
6484        concat!("Size of: ", stringify!(_zend_signal_t))
6485    );
6486    assert_eq!(
6487        ::std::mem::align_of::<_zend_signal_t>(),
6488        8usize,
6489        concat!("Alignment of ", stringify!(_zend_signal_t))
6490    );
6491    assert_eq!(
6492        unsafe { &(*(::std::ptr::null::<_zend_signal_t>())).signo as *const _ as usize },
6493        0usize,
6494        concat!(
6495            "Offset of field: ",
6496            stringify!(_zend_signal_t),
6497            "::",
6498            stringify!(signo)
6499        )
6500    );
6501    assert_eq!(
6502        unsafe { &(*(::std::ptr::null::<_zend_signal_t>())).siginfo as *const _ as usize },
6503        8usize,
6504        concat!(
6505            "Offset of field: ",
6506            stringify!(_zend_signal_t),
6507            "::",
6508            stringify!(siginfo)
6509        )
6510    );
6511    assert_eq!(
6512        unsafe { &(*(::std::ptr::null::<_zend_signal_t>())).context as *const _ as usize },
6513        16usize,
6514        concat!(
6515            "Offset of field: ",
6516            stringify!(_zend_signal_t),
6517            "::",
6518            stringify!(context)
6519        )
6520    );
6521}
6522pub type zend_signal_t = _zend_signal_t;
6523#[repr(C)]
6524#[derive(Debug, Copy, Clone)]
6525pub struct _zend_signal_queue_t {
6526    pub zend_signal: zend_signal_t,
6527    pub next: *mut _zend_signal_queue_t,
6528}
6529#[test]
6530fn bindgen_test_layout__zend_signal_queue_t() {
6531    assert_eq!(
6532        ::std::mem::size_of::<_zend_signal_queue_t>(),
6533        32usize,
6534        concat!("Size of: ", stringify!(_zend_signal_queue_t))
6535    );
6536    assert_eq!(
6537        ::std::mem::align_of::<_zend_signal_queue_t>(),
6538        8usize,
6539        concat!("Alignment of ", stringify!(_zend_signal_queue_t))
6540    );
6541    assert_eq!(
6542        unsafe {
6543            &(*(::std::ptr::null::<_zend_signal_queue_t>())).zend_signal as *const _ as usize
6544        },
6545        0usize,
6546        concat!(
6547            "Offset of field: ",
6548            stringify!(_zend_signal_queue_t),
6549            "::",
6550            stringify!(zend_signal)
6551        )
6552    );
6553    assert_eq!(
6554        unsafe { &(*(::std::ptr::null::<_zend_signal_queue_t>())).next as *const _ as usize },
6555        24usize,
6556        concat!(
6557            "Offset of field: ",
6558            stringify!(_zend_signal_queue_t),
6559            "::",
6560            stringify!(next)
6561        )
6562    );
6563}
6564pub type zend_signal_queue_t = _zend_signal_queue_t;
6565#[repr(C)]
6566#[derive(Copy, Clone)]
6567pub struct _zend_signal_globals_t {
6568    pub depth: ::std::os::raw::c_int,
6569    pub blocked: ::std::os::raw::c_int,
6570    pub running: ::std::os::raw::c_int,
6571    pub active: ::std::os::raw::c_int,
6572    pub check: zend_bool,
6573    pub reset: zend_bool,
6574    pub handlers: [zend_signal_entry_t; 65usize],
6575    pub pstorage: [zend_signal_queue_t; 64usize],
6576    pub phead: *mut zend_signal_queue_t,
6577    pub ptail: *mut zend_signal_queue_t,
6578    pub pavail: *mut zend_signal_queue_t,
6579}
6580#[test]
6581fn bindgen_test_layout__zend_signal_globals_t() {
6582    assert_eq!(
6583        ::std::mem::size_of::<_zend_signal_globals_t>(),
6584        3136usize,
6585        concat!("Size of: ", stringify!(_zend_signal_globals_t))
6586    );
6587    assert_eq!(
6588        ::std::mem::align_of::<_zend_signal_globals_t>(),
6589        8usize,
6590        concat!("Alignment of ", stringify!(_zend_signal_globals_t))
6591    );
6592    assert_eq!(
6593        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).depth as *const _ as usize },
6594        0usize,
6595        concat!(
6596            "Offset of field: ",
6597            stringify!(_zend_signal_globals_t),
6598            "::",
6599            stringify!(depth)
6600        )
6601    );
6602    assert_eq!(
6603        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).blocked as *const _ as usize },
6604        4usize,
6605        concat!(
6606            "Offset of field: ",
6607            stringify!(_zend_signal_globals_t),
6608            "::",
6609            stringify!(blocked)
6610        )
6611    );
6612    assert_eq!(
6613        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).running as *const _ as usize },
6614        8usize,
6615        concat!(
6616            "Offset of field: ",
6617            stringify!(_zend_signal_globals_t),
6618            "::",
6619            stringify!(running)
6620        )
6621    );
6622    assert_eq!(
6623        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).active as *const _ as usize },
6624        12usize,
6625        concat!(
6626            "Offset of field: ",
6627            stringify!(_zend_signal_globals_t),
6628            "::",
6629            stringify!(active)
6630        )
6631    );
6632    assert_eq!(
6633        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).check as *const _ as usize },
6634        16usize,
6635        concat!(
6636            "Offset of field: ",
6637            stringify!(_zend_signal_globals_t),
6638            "::",
6639            stringify!(check)
6640        )
6641    );
6642    assert_eq!(
6643        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).reset as *const _ as usize },
6644        17usize,
6645        concat!(
6646            "Offset of field: ",
6647            stringify!(_zend_signal_globals_t),
6648            "::",
6649            stringify!(reset)
6650        )
6651    );
6652    assert_eq!(
6653        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).handlers as *const _ as usize },
6654        24usize,
6655        concat!(
6656            "Offset of field: ",
6657            stringify!(_zend_signal_globals_t),
6658            "::",
6659            stringify!(handlers)
6660        )
6661    );
6662    assert_eq!(
6663        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).pstorage as *const _ as usize },
6664        1064usize,
6665        concat!(
6666            "Offset of field: ",
6667            stringify!(_zend_signal_globals_t),
6668            "::",
6669            stringify!(pstorage)
6670        )
6671    );
6672    assert_eq!(
6673        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).phead as *const _ as usize },
6674        3112usize,
6675        concat!(
6676            "Offset of field: ",
6677            stringify!(_zend_signal_globals_t),
6678            "::",
6679            stringify!(phead)
6680        )
6681    );
6682    assert_eq!(
6683        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).ptail as *const _ as usize },
6684        3120usize,
6685        concat!(
6686            "Offset of field: ",
6687            stringify!(_zend_signal_globals_t),
6688            "::",
6689            stringify!(ptail)
6690        )
6691    );
6692    assert_eq!(
6693        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).pavail as *const _ as usize },
6694        3128usize,
6695        concat!(
6696            "Offset of field: ",
6697            stringify!(_zend_signal_globals_t),
6698            "::",
6699            stringify!(pavail)
6700        )
6701    );
6702}
6703pub type zend_signal_globals_t = _zend_signal_globals_t;
6704extern "C" {
6705    pub static mut zend_signal_globals: zend_signal_globals_t;
6706}
6707extern "C" {
6708    pub fn zend_signal_handler_unblock();
6709}
6710extern "C" {
6711    pub fn zend_signal_activate();
6712}
6713extern "C" {
6714    pub fn zend_signal_deactivate();
6715}
6716extern "C" {
6717    pub fn zend_signal_startup();
6718}
6719extern "C" {
6720    pub fn zend_signal_init();
6721}
6722extern "C" {
6723    pub fn zend_signal(
6724        signo: ::std::os::raw::c_int,
6725        handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
6726    );
6727}
6728extern "C" {
6729    pub fn zend_sigaction(
6730        signo: ::std::os::raw::c_int,
6731        act: *const sigaction,
6732        oldact: *mut sigaction,
6733    );
6734}
6735#[repr(C)]
6736#[derive(Debug, Copy, Clone)]
6737pub struct _zend_serialize_data {
6738    _unused: [u8; 0],
6739}
6740#[repr(C)]
6741#[derive(Debug, Copy, Clone)]
6742pub struct _zend_unserialize_data {
6743    _unused: [u8; 0],
6744}
6745pub type zend_serialize_data = _zend_serialize_data;
6746pub type zend_unserialize_data = _zend_unserialize_data;
6747#[repr(C)]
6748#[derive(Debug, Copy, Clone)]
6749pub struct _zend_class_name {
6750    pub name: *mut zend_string,
6751    pub lc_name: *mut zend_string,
6752}
6753#[test]
6754fn bindgen_test_layout__zend_class_name() {
6755    assert_eq!(
6756        ::std::mem::size_of::<_zend_class_name>(),
6757        16usize,
6758        concat!("Size of: ", stringify!(_zend_class_name))
6759    );
6760    assert_eq!(
6761        ::std::mem::align_of::<_zend_class_name>(),
6762        8usize,
6763        concat!("Alignment of ", stringify!(_zend_class_name))
6764    );
6765    assert_eq!(
6766        unsafe { &(*(::std::ptr::null::<_zend_class_name>())).name as *const _ as usize },
6767        0usize,
6768        concat!(
6769            "Offset of field: ",
6770            stringify!(_zend_class_name),
6771            "::",
6772            stringify!(name)
6773        )
6774    );
6775    assert_eq!(
6776        unsafe { &(*(::std::ptr::null::<_zend_class_name>())).lc_name as *const _ as usize },
6777        8usize,
6778        concat!(
6779            "Offset of field: ",
6780            stringify!(_zend_class_name),
6781            "::",
6782            stringify!(lc_name)
6783        )
6784    );
6785}
6786pub type zend_class_name = _zend_class_name;
6787#[repr(C)]
6788#[derive(Debug, Copy, Clone)]
6789pub struct _zend_trait_method_reference {
6790    pub method_name: *mut zend_string,
6791    pub class_name: *mut zend_string,
6792}
6793#[test]
6794fn bindgen_test_layout__zend_trait_method_reference() {
6795    assert_eq!(
6796        ::std::mem::size_of::<_zend_trait_method_reference>(),
6797        16usize,
6798        concat!("Size of: ", stringify!(_zend_trait_method_reference))
6799    );
6800    assert_eq!(
6801        ::std::mem::align_of::<_zend_trait_method_reference>(),
6802        8usize,
6803        concat!("Alignment of ", stringify!(_zend_trait_method_reference))
6804    );
6805    assert_eq!(
6806        unsafe {
6807            &(*(::std::ptr::null::<_zend_trait_method_reference>())).method_name as *const _
6808                as usize
6809        },
6810        0usize,
6811        concat!(
6812            "Offset of field: ",
6813            stringify!(_zend_trait_method_reference),
6814            "::",
6815            stringify!(method_name)
6816        )
6817    );
6818    assert_eq!(
6819        unsafe {
6820            &(*(::std::ptr::null::<_zend_trait_method_reference>())).class_name as *const _ as usize
6821        },
6822        8usize,
6823        concat!(
6824            "Offset of field: ",
6825            stringify!(_zend_trait_method_reference),
6826            "::",
6827            stringify!(class_name)
6828        )
6829    );
6830}
6831pub type zend_trait_method_reference = _zend_trait_method_reference;
6832#[repr(C)]
6833#[derive(Debug, Copy, Clone)]
6834pub struct _zend_trait_precedence {
6835    pub trait_method: zend_trait_method_reference,
6836    pub num_excludes: u32,
6837    pub exclude_class_names: [*mut zend_string; 1usize],
6838}
6839#[test]
6840fn bindgen_test_layout__zend_trait_precedence() {
6841    assert_eq!(
6842        ::std::mem::size_of::<_zend_trait_precedence>(),
6843        32usize,
6844        concat!("Size of: ", stringify!(_zend_trait_precedence))
6845    );
6846    assert_eq!(
6847        ::std::mem::align_of::<_zend_trait_precedence>(),
6848        8usize,
6849        concat!("Alignment of ", stringify!(_zend_trait_precedence))
6850    );
6851    assert_eq!(
6852        unsafe {
6853            &(*(::std::ptr::null::<_zend_trait_precedence>())).trait_method as *const _ as usize
6854        },
6855        0usize,
6856        concat!(
6857            "Offset of field: ",
6858            stringify!(_zend_trait_precedence),
6859            "::",
6860            stringify!(trait_method)
6861        )
6862    );
6863    assert_eq!(
6864        unsafe {
6865            &(*(::std::ptr::null::<_zend_trait_precedence>())).num_excludes as *const _ as usize
6866        },
6867        16usize,
6868        concat!(
6869            "Offset of field: ",
6870            stringify!(_zend_trait_precedence),
6871            "::",
6872            stringify!(num_excludes)
6873        )
6874    );
6875    assert_eq!(
6876        unsafe {
6877            &(*(::std::ptr::null::<_zend_trait_precedence>())).exclude_class_names as *const _
6878                as usize
6879        },
6880        24usize,
6881        concat!(
6882            "Offset of field: ",
6883            stringify!(_zend_trait_precedence),
6884            "::",
6885            stringify!(exclude_class_names)
6886        )
6887    );
6888}
6889pub type zend_trait_precedence = _zend_trait_precedence;
6890#[repr(C)]
6891#[derive(Debug, Copy, Clone)]
6892pub struct _zend_trait_alias {
6893    pub trait_method: zend_trait_method_reference,
6894    #[doc = " name for method to be added"]
6895    pub alias: *mut zend_string,
6896    #[doc = " modifiers to be set on trait method"]
6897    pub modifiers: u32,
6898}
6899#[test]
6900fn bindgen_test_layout__zend_trait_alias() {
6901    assert_eq!(
6902        ::std::mem::size_of::<_zend_trait_alias>(),
6903        32usize,
6904        concat!("Size of: ", stringify!(_zend_trait_alias))
6905    );
6906    assert_eq!(
6907        ::std::mem::align_of::<_zend_trait_alias>(),
6908        8usize,
6909        concat!("Alignment of ", stringify!(_zend_trait_alias))
6910    );
6911    assert_eq!(
6912        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).trait_method as *const _ as usize },
6913        0usize,
6914        concat!(
6915            "Offset of field: ",
6916            stringify!(_zend_trait_alias),
6917            "::",
6918            stringify!(trait_method)
6919        )
6920    );
6921    assert_eq!(
6922        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).alias as *const _ as usize },
6923        16usize,
6924        concat!(
6925            "Offset of field: ",
6926            stringify!(_zend_trait_alias),
6927            "::",
6928            stringify!(alias)
6929        )
6930    );
6931    assert_eq!(
6932        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).modifiers as *const _ as usize },
6933        24usize,
6934        concat!(
6935            "Offset of field: ",
6936            stringify!(_zend_trait_alias),
6937            "::",
6938            stringify!(modifiers)
6939        )
6940    );
6941}
6942pub type zend_trait_alias = _zend_trait_alias;
6943#[repr(C)]
6944#[derive(Copy, Clone)]
6945pub struct _zend_class_entry {
6946    pub type_: ::std::os::raw::c_char,
6947    pub name: *mut zend_string,
6948    pub __bindgen_anon_1: _zend_class_entry__bindgen_ty_1,
6949    pub refcount: ::std::os::raw::c_int,
6950    pub ce_flags: u32,
6951    pub default_properties_count: ::std::os::raw::c_int,
6952    pub default_static_members_count: ::std::os::raw::c_int,
6953    pub default_properties_table: *mut zval,
6954    pub default_static_members_table: *mut zval,
6955    pub static_members_table__ptr: *mut *mut zval,
6956    pub function_table: HashTable,
6957    pub properties_info: HashTable,
6958    pub constants_table: HashTable,
6959    pub properties_info_table: *mut *mut _zend_property_info,
6960    pub constructor: *mut zend_function,
6961    pub destructor: *mut zend_function,
6962    pub clone: *mut zend_function,
6963    pub __get: *mut zend_function,
6964    pub __set: *mut zend_function,
6965    pub __unset: *mut zend_function,
6966    pub __isset: *mut zend_function,
6967    pub __call: *mut zend_function,
6968    pub __callstatic: *mut zend_function,
6969    pub __tostring: *mut zend_function,
6970    pub __debugInfo: *mut zend_function,
6971    pub __serialize: *mut zend_function,
6972    pub __unserialize: *mut zend_function,
6973    pub iterator_funcs_ptr: *mut zend_class_iterator_funcs,
6974    pub __bindgen_anon_2: _zend_class_entry__bindgen_ty_2,
6975    pub get_iterator: ::std::option::Option<
6976        unsafe extern "C" fn(
6977            ce: *mut zend_class_entry,
6978            object: *mut zval,
6979            by_ref: ::std::os::raw::c_int,
6980        ) -> *mut zend_object_iterator,
6981    >,
6982    pub get_static_method: ::std::option::Option<
6983        unsafe extern "C" fn(
6984            ce: *mut zend_class_entry,
6985            method: *mut zend_string,
6986        ) -> *mut zend_function,
6987    >,
6988    pub serialize: ::std::option::Option<
6989        unsafe extern "C" fn(
6990            object: *mut zval,
6991            buffer: *mut *mut ::std::os::raw::c_uchar,
6992            buf_len: *mut size_t,
6993            data: *mut zend_serialize_data,
6994        ) -> ::std::os::raw::c_int,
6995    >,
6996    pub unserialize: ::std::option::Option<
6997        unsafe extern "C" fn(
6998            object: *mut zval,
6999            ce: *mut zend_class_entry,
7000            buf: *const ::std::os::raw::c_uchar,
7001            buf_len: size_t,
7002            data: *mut zend_unserialize_data,
7003        ) -> ::std::os::raw::c_int,
7004    >,
7005    pub num_interfaces: u32,
7006    pub num_traits: u32,
7007    pub __bindgen_anon_3: _zend_class_entry__bindgen_ty_3,
7008    pub trait_names: *mut zend_class_name,
7009    pub trait_aliases: *mut *mut zend_trait_alias,
7010    pub trait_precedences: *mut *mut zend_trait_precedence,
7011    pub attributes: *mut HashTable,
7012    pub info: _zend_class_entry__bindgen_ty_4,
7013}
7014#[repr(C)]
7015#[derive(Copy, Clone)]
7016pub union _zend_class_entry__bindgen_ty_1 {
7017    pub parent: *mut zend_class_entry,
7018    pub parent_name: *mut zend_string,
7019    _bindgen_union_align: u64,
7020}
7021#[test]
7022fn bindgen_test_layout__zend_class_entry__bindgen_ty_1() {
7023    assert_eq!(
7024        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_1>(),
7025        8usize,
7026        concat!("Size of: ", stringify!(_zend_class_entry__bindgen_ty_1))
7027    );
7028    assert_eq!(
7029        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_1>(),
7030        8usize,
7031        concat!("Alignment of ", stringify!(_zend_class_entry__bindgen_ty_1))
7032    );
7033    assert_eq!(
7034        unsafe {
7035            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1>())).parent as *const _ as usize
7036        },
7037        0usize,
7038        concat!(
7039            "Offset of field: ",
7040            stringify!(_zend_class_entry__bindgen_ty_1),
7041            "::",
7042            stringify!(parent)
7043        )
7044    );
7045    assert_eq!(
7046        unsafe {
7047            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1>())).parent_name as *const _
7048                as usize
7049        },
7050        0usize,
7051        concat!(
7052            "Offset of field: ",
7053            stringify!(_zend_class_entry__bindgen_ty_1),
7054            "::",
7055            stringify!(parent_name)
7056        )
7057    );
7058}
7059#[repr(C)]
7060#[derive(Copy, Clone)]
7061pub union _zend_class_entry__bindgen_ty_2 {
7062    pub create_object: ::std::option::Option<
7063        unsafe extern "C" fn(class_type: *mut zend_class_entry) -> *mut zend_object,
7064    >,
7065    pub interface_gets_implemented: ::std::option::Option<
7066        unsafe extern "C" fn(
7067            iface: *mut zend_class_entry,
7068            class_type: *mut zend_class_entry,
7069        ) -> ::std::os::raw::c_int,
7070    >,
7071    _bindgen_union_align: u64,
7072}
7073#[test]
7074fn bindgen_test_layout__zend_class_entry__bindgen_ty_2() {
7075    assert_eq!(
7076        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_2>(),
7077        8usize,
7078        concat!("Size of: ", stringify!(_zend_class_entry__bindgen_ty_2))
7079    );
7080    assert_eq!(
7081        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_2>(),
7082        8usize,
7083        concat!("Alignment of ", stringify!(_zend_class_entry__bindgen_ty_2))
7084    );
7085    assert_eq!(
7086        unsafe {
7087            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2>())).create_object as *const _
7088                as usize
7089        },
7090        0usize,
7091        concat!(
7092            "Offset of field: ",
7093            stringify!(_zend_class_entry__bindgen_ty_2),
7094            "::",
7095            stringify!(create_object)
7096        )
7097    );
7098    assert_eq!(
7099        unsafe {
7100            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2>())).interface_gets_implemented
7101                as *const _ as usize
7102        },
7103        0usize,
7104        concat!(
7105            "Offset of field: ",
7106            stringify!(_zend_class_entry__bindgen_ty_2),
7107            "::",
7108            stringify!(interface_gets_implemented)
7109        )
7110    );
7111}
7112#[repr(C)]
7113#[derive(Copy, Clone)]
7114pub union _zend_class_entry__bindgen_ty_3 {
7115    pub interfaces: *mut *mut zend_class_entry,
7116    pub interface_names: *mut zend_class_name,
7117    _bindgen_union_align: u64,
7118}
7119#[test]
7120fn bindgen_test_layout__zend_class_entry__bindgen_ty_3() {
7121    assert_eq!(
7122        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_3>(),
7123        8usize,
7124        concat!("Size of: ", stringify!(_zend_class_entry__bindgen_ty_3))
7125    );
7126    assert_eq!(
7127        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_3>(),
7128        8usize,
7129        concat!("Alignment of ", stringify!(_zend_class_entry__bindgen_ty_3))
7130    );
7131    assert_eq!(
7132        unsafe {
7133            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_3>())).interfaces as *const _
7134                as usize
7135        },
7136        0usize,
7137        concat!(
7138            "Offset of field: ",
7139            stringify!(_zend_class_entry__bindgen_ty_3),
7140            "::",
7141            stringify!(interfaces)
7142        )
7143    );
7144    assert_eq!(
7145        unsafe {
7146            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_3>())).interface_names as *const _
7147                as usize
7148        },
7149        0usize,
7150        concat!(
7151            "Offset of field: ",
7152            stringify!(_zend_class_entry__bindgen_ty_3),
7153            "::",
7154            stringify!(interface_names)
7155        )
7156    );
7157}
7158#[repr(C)]
7159#[derive(Copy, Clone)]
7160pub union _zend_class_entry__bindgen_ty_4 {
7161    pub user: _zend_class_entry__bindgen_ty_4__bindgen_ty_1,
7162    pub internal: _zend_class_entry__bindgen_ty_4__bindgen_ty_2,
7163    _bindgen_union_align: [u64; 3usize],
7164}
7165#[repr(C)]
7166#[derive(Debug, Copy, Clone)]
7167pub struct _zend_class_entry__bindgen_ty_4__bindgen_ty_1 {
7168    pub filename: *mut zend_string,
7169    pub line_start: u32,
7170    pub line_end: u32,
7171    pub doc_comment: *mut zend_string,
7172}
7173#[test]
7174fn bindgen_test_layout__zend_class_entry__bindgen_ty_4__bindgen_ty_1() {
7175    assert_eq!(
7176        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_4__bindgen_ty_1>(),
7177        24usize,
7178        concat!(
7179            "Size of: ",
7180            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_1)
7181        )
7182    );
7183    assert_eq!(
7184        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_4__bindgen_ty_1>(),
7185        8usize,
7186        concat!(
7187            "Alignment of ",
7188            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_1)
7189        )
7190    );
7191    assert_eq!(
7192        unsafe {
7193            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4__bindgen_ty_1>())).filename
7194                as *const _ as usize
7195        },
7196        0usize,
7197        concat!(
7198            "Offset of field: ",
7199            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_1),
7200            "::",
7201            stringify!(filename)
7202        )
7203    );
7204    assert_eq!(
7205        unsafe {
7206            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4__bindgen_ty_1>())).line_start
7207                as *const _ as usize
7208        },
7209        8usize,
7210        concat!(
7211            "Offset of field: ",
7212            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_1),
7213            "::",
7214            stringify!(line_start)
7215        )
7216    );
7217    assert_eq!(
7218        unsafe {
7219            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4__bindgen_ty_1>())).line_end
7220                as *const _ as usize
7221        },
7222        12usize,
7223        concat!(
7224            "Offset of field: ",
7225            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_1),
7226            "::",
7227            stringify!(line_end)
7228        )
7229    );
7230    assert_eq!(
7231        unsafe {
7232            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4__bindgen_ty_1>())).doc_comment
7233                as *const _ as usize
7234        },
7235        16usize,
7236        concat!(
7237            "Offset of field: ",
7238            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_1),
7239            "::",
7240            stringify!(doc_comment)
7241        )
7242    );
7243}
7244#[repr(C)]
7245#[derive(Debug, Copy, Clone)]
7246pub struct _zend_class_entry__bindgen_ty_4__bindgen_ty_2 {
7247    pub builtin_functions: *const _zend_function_entry,
7248    pub module: *mut _zend_module_entry,
7249}
7250#[test]
7251fn bindgen_test_layout__zend_class_entry__bindgen_ty_4__bindgen_ty_2() {
7252    assert_eq!(
7253        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_4__bindgen_ty_2>(),
7254        16usize,
7255        concat!(
7256            "Size of: ",
7257            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_2)
7258        )
7259    );
7260    assert_eq!(
7261        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_4__bindgen_ty_2>(),
7262        8usize,
7263        concat!(
7264            "Alignment of ",
7265            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_2)
7266        )
7267    );
7268    assert_eq!(
7269        unsafe {
7270            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4__bindgen_ty_2>()))
7271                .builtin_functions as *const _ as usize
7272        },
7273        0usize,
7274        concat!(
7275            "Offset of field: ",
7276            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_2),
7277            "::",
7278            stringify!(builtin_functions)
7279        )
7280    );
7281    assert_eq!(
7282        unsafe {
7283            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4__bindgen_ty_2>())).module
7284                as *const _ as usize
7285        },
7286        8usize,
7287        concat!(
7288            "Offset of field: ",
7289            stringify!(_zend_class_entry__bindgen_ty_4__bindgen_ty_2),
7290            "::",
7291            stringify!(module)
7292        )
7293    );
7294}
7295#[test]
7296fn bindgen_test_layout__zend_class_entry__bindgen_ty_4() {
7297    assert_eq!(
7298        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_4>(),
7299        24usize,
7300        concat!("Size of: ", stringify!(_zend_class_entry__bindgen_ty_4))
7301    );
7302    assert_eq!(
7303        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_4>(),
7304        8usize,
7305        concat!("Alignment of ", stringify!(_zend_class_entry__bindgen_ty_4))
7306    );
7307    assert_eq!(
7308        unsafe {
7309            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4>())).user as *const _ as usize
7310        },
7311        0usize,
7312        concat!(
7313            "Offset of field: ",
7314            stringify!(_zend_class_entry__bindgen_ty_4),
7315            "::",
7316            stringify!(user)
7317        )
7318    );
7319    assert_eq!(
7320        unsafe {
7321            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_4>())).internal as *const _
7322                as usize
7323        },
7324        0usize,
7325        concat!(
7326            "Offset of field: ",
7327            stringify!(_zend_class_entry__bindgen_ty_4),
7328            "::",
7329            stringify!(internal)
7330        )
7331    );
7332}
7333#[test]
7334fn bindgen_test_layout__zend_class_entry() {
7335    assert_eq!(
7336        ::std::mem::size_of::<_zend_class_entry>(),
7337        464usize,
7338        concat!("Size of: ", stringify!(_zend_class_entry))
7339    );
7340    assert_eq!(
7341        ::std::mem::align_of::<_zend_class_entry>(),
7342        8usize,
7343        concat!("Alignment of ", stringify!(_zend_class_entry))
7344    );
7345    assert_eq!(
7346        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).type_ as *const _ as usize },
7347        0usize,
7348        concat!(
7349            "Offset of field: ",
7350            stringify!(_zend_class_entry),
7351            "::",
7352            stringify!(type_)
7353        )
7354    );
7355    assert_eq!(
7356        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).name as *const _ as usize },
7357        8usize,
7358        concat!(
7359            "Offset of field: ",
7360            stringify!(_zend_class_entry),
7361            "::",
7362            stringify!(name)
7363        )
7364    );
7365    assert_eq!(
7366        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).refcount as *const _ as usize },
7367        24usize,
7368        concat!(
7369            "Offset of field: ",
7370            stringify!(_zend_class_entry),
7371            "::",
7372            stringify!(refcount)
7373        )
7374    );
7375    assert_eq!(
7376        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).ce_flags as *const _ as usize },
7377        28usize,
7378        concat!(
7379            "Offset of field: ",
7380            stringify!(_zend_class_entry),
7381            "::",
7382            stringify!(ce_flags)
7383        )
7384    );
7385    assert_eq!(
7386        unsafe {
7387            &(*(::std::ptr::null::<_zend_class_entry>())).default_properties_count as *const _
7388                as usize
7389        },
7390        32usize,
7391        concat!(
7392            "Offset of field: ",
7393            stringify!(_zend_class_entry),
7394            "::",
7395            stringify!(default_properties_count)
7396        )
7397    );
7398    assert_eq!(
7399        unsafe {
7400            &(*(::std::ptr::null::<_zend_class_entry>())).default_static_members_count as *const _
7401                as usize
7402        },
7403        36usize,
7404        concat!(
7405            "Offset of field: ",
7406            stringify!(_zend_class_entry),
7407            "::",
7408            stringify!(default_static_members_count)
7409        )
7410    );
7411    assert_eq!(
7412        unsafe {
7413            &(*(::std::ptr::null::<_zend_class_entry>())).default_properties_table as *const _
7414                as usize
7415        },
7416        40usize,
7417        concat!(
7418            "Offset of field: ",
7419            stringify!(_zend_class_entry),
7420            "::",
7421            stringify!(default_properties_table)
7422        )
7423    );
7424    assert_eq!(
7425        unsafe {
7426            &(*(::std::ptr::null::<_zend_class_entry>())).default_static_members_table as *const _
7427                as usize
7428        },
7429        48usize,
7430        concat!(
7431            "Offset of field: ",
7432            stringify!(_zend_class_entry),
7433            "::",
7434            stringify!(default_static_members_table)
7435        )
7436    );
7437    assert_eq!(
7438        unsafe {
7439            &(*(::std::ptr::null::<_zend_class_entry>())).static_members_table__ptr as *const _
7440                as usize
7441        },
7442        56usize,
7443        concat!(
7444            "Offset of field: ",
7445            stringify!(_zend_class_entry),
7446            "::",
7447            stringify!(static_members_table__ptr)
7448        )
7449    );
7450    assert_eq!(
7451        unsafe {
7452            &(*(::std::ptr::null::<_zend_class_entry>())).function_table as *const _ as usize
7453        },
7454        64usize,
7455        concat!(
7456            "Offset of field: ",
7457            stringify!(_zend_class_entry),
7458            "::",
7459            stringify!(function_table)
7460        )
7461    );
7462    assert_eq!(
7463        unsafe {
7464            &(*(::std::ptr::null::<_zend_class_entry>())).properties_info as *const _ as usize
7465        },
7466        120usize,
7467        concat!(
7468            "Offset of field: ",
7469            stringify!(_zend_class_entry),
7470            "::",
7471            stringify!(properties_info)
7472        )
7473    );
7474    assert_eq!(
7475        unsafe {
7476            &(*(::std::ptr::null::<_zend_class_entry>())).constants_table as *const _ as usize
7477        },
7478        176usize,
7479        concat!(
7480            "Offset of field: ",
7481            stringify!(_zend_class_entry),
7482            "::",
7483            stringify!(constants_table)
7484        )
7485    );
7486    assert_eq!(
7487        unsafe {
7488            &(*(::std::ptr::null::<_zend_class_entry>())).properties_info_table as *const _ as usize
7489        },
7490        232usize,
7491        concat!(
7492            "Offset of field: ",
7493            stringify!(_zend_class_entry),
7494            "::",
7495            stringify!(properties_info_table)
7496        )
7497    );
7498    assert_eq!(
7499        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).constructor as *const _ as usize },
7500        240usize,
7501        concat!(
7502            "Offset of field: ",
7503            stringify!(_zend_class_entry),
7504            "::",
7505            stringify!(constructor)
7506        )
7507    );
7508    assert_eq!(
7509        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).destructor as *const _ as usize },
7510        248usize,
7511        concat!(
7512            "Offset of field: ",
7513            stringify!(_zend_class_entry),
7514            "::",
7515            stringify!(destructor)
7516        )
7517    );
7518    assert_eq!(
7519        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).clone as *const _ as usize },
7520        256usize,
7521        concat!(
7522            "Offset of field: ",
7523            stringify!(_zend_class_entry),
7524            "::",
7525            stringify!(clone)
7526        )
7527    );
7528    assert_eq!(
7529        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__get as *const _ as usize },
7530        264usize,
7531        concat!(
7532            "Offset of field: ",
7533            stringify!(_zend_class_entry),
7534            "::",
7535            stringify!(__get)
7536        )
7537    );
7538    assert_eq!(
7539        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__set as *const _ as usize },
7540        272usize,
7541        concat!(
7542            "Offset of field: ",
7543            stringify!(_zend_class_entry),
7544            "::",
7545            stringify!(__set)
7546        )
7547    );
7548    assert_eq!(
7549        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__unset as *const _ as usize },
7550        280usize,
7551        concat!(
7552            "Offset of field: ",
7553            stringify!(_zend_class_entry),
7554            "::",
7555            stringify!(__unset)
7556        )
7557    );
7558    assert_eq!(
7559        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__isset as *const _ as usize },
7560        288usize,
7561        concat!(
7562            "Offset of field: ",
7563            stringify!(_zend_class_entry),
7564            "::",
7565            stringify!(__isset)
7566        )
7567    );
7568    assert_eq!(
7569        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__call as *const _ as usize },
7570        296usize,
7571        concat!(
7572            "Offset of field: ",
7573            stringify!(_zend_class_entry),
7574            "::",
7575            stringify!(__call)
7576        )
7577    );
7578    assert_eq!(
7579        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__callstatic as *const _ as usize },
7580        304usize,
7581        concat!(
7582            "Offset of field: ",
7583            stringify!(_zend_class_entry),
7584            "::",
7585            stringify!(__callstatic)
7586        )
7587    );
7588    assert_eq!(
7589        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__tostring as *const _ as usize },
7590        312usize,
7591        concat!(
7592            "Offset of field: ",
7593            stringify!(_zend_class_entry),
7594            "::",
7595            stringify!(__tostring)
7596        )
7597    );
7598    assert_eq!(
7599        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__debugInfo as *const _ as usize },
7600        320usize,
7601        concat!(
7602            "Offset of field: ",
7603            stringify!(_zend_class_entry),
7604            "::",
7605            stringify!(__debugInfo)
7606        )
7607    );
7608    assert_eq!(
7609        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__serialize as *const _ as usize },
7610        328usize,
7611        concat!(
7612            "Offset of field: ",
7613            stringify!(_zend_class_entry),
7614            "::",
7615            stringify!(__serialize)
7616        )
7617    );
7618    assert_eq!(
7619        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__unserialize as *const _ as usize },
7620        336usize,
7621        concat!(
7622            "Offset of field: ",
7623            stringify!(_zend_class_entry),
7624            "::",
7625            stringify!(__unserialize)
7626        )
7627    );
7628    assert_eq!(
7629        unsafe {
7630            &(*(::std::ptr::null::<_zend_class_entry>())).iterator_funcs_ptr as *const _ as usize
7631        },
7632        344usize,
7633        concat!(
7634            "Offset of field: ",
7635            stringify!(_zend_class_entry),
7636            "::",
7637            stringify!(iterator_funcs_ptr)
7638        )
7639    );
7640    assert_eq!(
7641        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).get_iterator as *const _ as usize },
7642        360usize,
7643        concat!(
7644            "Offset of field: ",
7645            stringify!(_zend_class_entry),
7646            "::",
7647            stringify!(get_iterator)
7648        )
7649    );
7650    assert_eq!(
7651        unsafe {
7652            &(*(::std::ptr::null::<_zend_class_entry>())).get_static_method as *const _ as usize
7653        },
7654        368usize,
7655        concat!(
7656            "Offset of field: ",
7657            stringify!(_zend_class_entry),
7658            "::",
7659            stringify!(get_static_method)
7660        )
7661    );
7662    assert_eq!(
7663        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).serialize as *const _ as usize },
7664        376usize,
7665        concat!(
7666            "Offset of field: ",
7667            stringify!(_zend_class_entry),
7668            "::",
7669            stringify!(serialize)
7670        )
7671    );
7672    assert_eq!(
7673        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).unserialize as *const _ as usize },
7674        384usize,
7675        concat!(
7676            "Offset of field: ",
7677            stringify!(_zend_class_entry),
7678            "::",
7679            stringify!(unserialize)
7680        )
7681    );
7682    assert_eq!(
7683        unsafe {
7684            &(*(::std::ptr::null::<_zend_class_entry>())).num_interfaces as *const _ as usize
7685        },
7686        392usize,
7687        concat!(
7688            "Offset of field: ",
7689            stringify!(_zend_class_entry),
7690            "::",
7691            stringify!(num_interfaces)
7692        )
7693    );
7694    assert_eq!(
7695        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).num_traits as *const _ as usize },
7696        396usize,
7697        concat!(
7698            "Offset of field: ",
7699            stringify!(_zend_class_entry),
7700            "::",
7701            stringify!(num_traits)
7702        )
7703    );
7704    assert_eq!(
7705        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).trait_names as *const _ as usize },
7706        408usize,
7707        concat!(
7708            "Offset of field: ",
7709            stringify!(_zend_class_entry),
7710            "::",
7711            stringify!(trait_names)
7712        )
7713    );
7714    assert_eq!(
7715        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).trait_aliases as *const _ as usize },
7716        416usize,
7717        concat!(
7718            "Offset of field: ",
7719            stringify!(_zend_class_entry),
7720            "::",
7721            stringify!(trait_aliases)
7722        )
7723    );
7724    assert_eq!(
7725        unsafe {
7726            &(*(::std::ptr::null::<_zend_class_entry>())).trait_precedences as *const _ as usize
7727        },
7728        424usize,
7729        concat!(
7730            "Offset of field: ",
7731            stringify!(_zend_class_entry),
7732            "::",
7733            stringify!(trait_precedences)
7734        )
7735    );
7736    assert_eq!(
7737        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).attributes as *const _ as usize },
7738        432usize,
7739        concat!(
7740            "Offset of field: ",
7741            stringify!(_zend_class_entry),
7742            "::",
7743            stringify!(attributes)
7744        )
7745    );
7746    assert_eq!(
7747        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).info as *const _ as usize },
7748        440usize,
7749        concat!(
7750            "Offset of field: ",
7751            stringify!(_zend_class_entry),
7752            "::",
7753            stringify!(info)
7754        )
7755    );
7756}
7757#[repr(C)]
7758#[derive(Debug, Copy, Clone)]
7759pub struct _zend_utility_functions {
7760    pub error_function: ::std::option::Option<
7761        unsafe extern "C" fn(
7762            type_: ::std::os::raw::c_int,
7763            error_filename: *const ::std::os::raw::c_char,
7764            error_lineno: u32,
7765            message: *mut zend_string,
7766        ),
7767    >,
7768    pub printf_function: ::std::option::Option<
7769        unsafe extern "C" fn(format: *const ::std::os::raw::c_char, ...) -> size_t,
7770    >,
7771    pub write_function: ::std::option::Option<
7772        unsafe extern "C" fn(str_: *const ::std::os::raw::c_char, str_length: size_t) -> size_t,
7773    >,
7774    pub fopen_function: ::std::option::Option<
7775        unsafe extern "C" fn(
7776            filename: *const ::std::os::raw::c_char,
7777            opened_path: *mut *mut zend_string,
7778        ) -> *mut FILE,
7779    >,
7780    pub message_handler: ::std::option::Option<
7781        unsafe extern "C" fn(message: zend_long, data: *const ::std::os::raw::c_void),
7782    >,
7783    pub get_configuration_directive:
7784        ::std::option::Option<unsafe extern "C" fn(name: *mut zend_string) -> *mut zval>,
7785    pub ticks_function: ::std::option::Option<unsafe extern "C" fn(ticks: ::std::os::raw::c_int)>,
7786    pub on_timeout: ::std::option::Option<unsafe extern "C" fn(seconds: ::std::os::raw::c_int)>,
7787    pub stream_open_function: ::std::option::Option<
7788        unsafe extern "C" fn(
7789            filename: *const ::std::os::raw::c_char,
7790            handle: *mut zend_file_handle,
7791        ) -> zend_result,
7792    >,
7793    pub printf_to_smart_string_function: ::std::option::Option<
7794        unsafe extern "C" fn(
7795            buf: *mut smart_string,
7796            format: *const ::std::os::raw::c_char,
7797            ap: *mut __va_list_tag,
7798        ),
7799    >,
7800    pub printf_to_smart_str_function: ::std::option::Option<
7801        unsafe extern "C" fn(
7802            buf: *mut smart_str,
7803            format: *const ::std::os::raw::c_char,
7804            ap: *mut __va_list_tag,
7805        ),
7806    >,
7807    pub getenv_function: ::std::option::Option<
7808        unsafe extern "C" fn(
7809            name: *const ::std::os::raw::c_char,
7810            name_len: size_t,
7811        ) -> *mut ::std::os::raw::c_char,
7812    >,
7813    pub resolve_path_function: ::std::option::Option<
7814        unsafe extern "C" fn(
7815            filename: *const ::std::os::raw::c_char,
7816            filename_len: size_t,
7817        ) -> *mut zend_string,
7818    >,
7819}
7820#[test]
7821fn bindgen_test_layout__zend_utility_functions() {
7822    assert_eq!(
7823        ::std::mem::size_of::<_zend_utility_functions>(),
7824        104usize,
7825        concat!("Size of: ", stringify!(_zend_utility_functions))
7826    );
7827    assert_eq!(
7828        ::std::mem::align_of::<_zend_utility_functions>(),
7829        8usize,
7830        concat!("Alignment of ", stringify!(_zend_utility_functions))
7831    );
7832    assert_eq!(
7833        unsafe {
7834            &(*(::std::ptr::null::<_zend_utility_functions>())).error_function as *const _ as usize
7835        },
7836        0usize,
7837        concat!(
7838            "Offset of field: ",
7839            stringify!(_zend_utility_functions),
7840            "::",
7841            stringify!(error_function)
7842        )
7843    );
7844    assert_eq!(
7845        unsafe {
7846            &(*(::std::ptr::null::<_zend_utility_functions>())).printf_function as *const _ as usize
7847        },
7848        8usize,
7849        concat!(
7850            "Offset of field: ",
7851            stringify!(_zend_utility_functions),
7852            "::",
7853            stringify!(printf_function)
7854        )
7855    );
7856    assert_eq!(
7857        unsafe {
7858            &(*(::std::ptr::null::<_zend_utility_functions>())).write_function as *const _ as usize
7859        },
7860        16usize,
7861        concat!(
7862            "Offset of field: ",
7863            stringify!(_zend_utility_functions),
7864            "::",
7865            stringify!(write_function)
7866        )
7867    );
7868    assert_eq!(
7869        unsafe {
7870            &(*(::std::ptr::null::<_zend_utility_functions>())).fopen_function as *const _ as usize
7871        },
7872        24usize,
7873        concat!(
7874            "Offset of field: ",
7875            stringify!(_zend_utility_functions),
7876            "::",
7877            stringify!(fopen_function)
7878        )
7879    );
7880    assert_eq!(
7881        unsafe {
7882            &(*(::std::ptr::null::<_zend_utility_functions>())).message_handler as *const _ as usize
7883        },
7884        32usize,
7885        concat!(
7886            "Offset of field: ",
7887            stringify!(_zend_utility_functions),
7888            "::",
7889            stringify!(message_handler)
7890        )
7891    );
7892    assert_eq!(
7893        unsafe {
7894            &(*(::std::ptr::null::<_zend_utility_functions>())).get_configuration_directive
7895                as *const _ as usize
7896        },
7897        40usize,
7898        concat!(
7899            "Offset of field: ",
7900            stringify!(_zend_utility_functions),
7901            "::",
7902            stringify!(get_configuration_directive)
7903        )
7904    );
7905    assert_eq!(
7906        unsafe {
7907            &(*(::std::ptr::null::<_zend_utility_functions>())).ticks_function as *const _ as usize
7908        },
7909        48usize,
7910        concat!(
7911            "Offset of field: ",
7912            stringify!(_zend_utility_functions),
7913            "::",
7914            stringify!(ticks_function)
7915        )
7916    );
7917    assert_eq!(
7918        unsafe {
7919            &(*(::std::ptr::null::<_zend_utility_functions>())).on_timeout as *const _ as usize
7920        },
7921        56usize,
7922        concat!(
7923            "Offset of field: ",
7924            stringify!(_zend_utility_functions),
7925            "::",
7926            stringify!(on_timeout)
7927        )
7928    );
7929    assert_eq!(
7930        unsafe {
7931            &(*(::std::ptr::null::<_zend_utility_functions>())).stream_open_function as *const _
7932                as usize
7933        },
7934        64usize,
7935        concat!(
7936            "Offset of field: ",
7937            stringify!(_zend_utility_functions),
7938            "::",
7939            stringify!(stream_open_function)
7940        )
7941    );
7942    assert_eq!(
7943        unsafe {
7944            &(*(::std::ptr::null::<_zend_utility_functions>())).printf_to_smart_string_function
7945                as *const _ as usize
7946        },
7947        72usize,
7948        concat!(
7949            "Offset of field: ",
7950            stringify!(_zend_utility_functions),
7951            "::",
7952            stringify!(printf_to_smart_string_function)
7953        )
7954    );
7955    assert_eq!(
7956        unsafe {
7957            &(*(::std::ptr::null::<_zend_utility_functions>())).printf_to_smart_str_function
7958                as *const _ as usize
7959        },
7960        80usize,
7961        concat!(
7962            "Offset of field: ",
7963            stringify!(_zend_utility_functions),
7964            "::",
7965            stringify!(printf_to_smart_str_function)
7966        )
7967    );
7968    assert_eq!(
7969        unsafe {
7970            &(*(::std::ptr::null::<_zend_utility_functions>())).getenv_function as *const _ as usize
7971        },
7972        88usize,
7973        concat!(
7974            "Offset of field: ",
7975            stringify!(_zend_utility_functions),
7976            "::",
7977            stringify!(getenv_function)
7978        )
7979    );
7980    assert_eq!(
7981        unsafe {
7982            &(*(::std::ptr::null::<_zend_utility_functions>())).resolve_path_function as *const _
7983                as usize
7984        },
7985        96usize,
7986        concat!(
7987            "Offset of field: ",
7988            stringify!(_zend_utility_functions),
7989            "::",
7990            stringify!(resolve_path_function)
7991        )
7992    );
7993}
7994pub type zend_utility_functions = _zend_utility_functions;
7995#[repr(C)]
7996#[derive(Debug, Copy, Clone)]
7997pub struct _zend_utility_values {
7998    pub html_errors: zend_bool,
7999}
8000#[test]
8001fn bindgen_test_layout__zend_utility_values() {
8002    assert_eq!(
8003        ::std::mem::size_of::<_zend_utility_values>(),
8004        1usize,
8005        concat!("Size of: ", stringify!(_zend_utility_values))
8006    );
8007    assert_eq!(
8008        ::std::mem::align_of::<_zend_utility_values>(),
8009        1usize,
8010        concat!("Alignment of ", stringify!(_zend_utility_values))
8011    );
8012    assert_eq!(
8013        unsafe {
8014            &(*(::std::ptr::null::<_zend_utility_values>())).html_errors as *const _ as usize
8015        },
8016        0usize,
8017        concat!(
8018            "Offset of field: ",
8019            stringify!(_zend_utility_values),
8020            "::",
8021            stringify!(html_errors)
8022        )
8023    );
8024}
8025pub type zend_utility_values = _zend_utility_values;
8026pub type zend_write_func_t = ::std::option::Option<
8027    unsafe extern "C" fn(str_: *const ::std::os::raw::c_char, str_length: size_t) -> size_t,
8028>;
8029extern "C" {
8030    pub fn zend_startup(utility_functions: *mut zend_utility_functions);
8031}
8032extern "C" {
8033    pub fn zend_shutdown();
8034}
8035extern "C" {
8036    pub fn zend_register_standard_ini_entries();
8037}
8038extern "C" {
8039    pub fn zend_post_startup() -> zend_result;
8040}
8041extern "C" {
8042    pub fn zend_set_utility_values(utility_values: *mut zend_utility_values);
8043}
8044extern "C" {
8045    pub fn _zend_bailout(filename: *const ::std::os::raw::c_char, lineno: u32);
8046}
8047extern "C" {
8048    pub fn zend_vspprintf(
8049        pbuf: *mut *mut ::std::os::raw::c_char,
8050        max_len: size_t,
8051        format: *const ::std::os::raw::c_char,
8052        ap: *mut __va_list_tag,
8053    ) -> size_t;
8054}
8055extern "C" {
8056    pub fn zend_spprintf(
8057        message: *mut *mut ::std::os::raw::c_char,
8058        max_len: size_t,
8059        format: *const ::std::os::raw::c_char,
8060        ...
8061    ) -> size_t;
8062}
8063extern "C" {
8064    pub fn zend_vstrpprintf(
8065        max_len: size_t,
8066        format: *const ::std::os::raw::c_char,
8067        ap: *mut __va_list_tag,
8068    ) -> *mut zend_string;
8069}
8070extern "C" {
8071    pub fn zend_strpprintf(
8072        max_len: size_t,
8073        format: *const ::std::os::raw::c_char,
8074        ...
8075    ) -> *mut zend_string;
8076}
8077extern "C" {
8078    pub fn zend_spprintf_unchecked(
8079        message: *mut *mut ::std::os::raw::c_char,
8080        max_len: size_t,
8081        format: *const ::std::os::raw::c_char,
8082        ...
8083    ) -> size_t;
8084}
8085extern "C" {
8086    pub fn zend_strpprintf_unchecked(
8087        max_len: size_t,
8088        format: *const ::std::os::raw::c_char,
8089        ...
8090    ) -> *mut zend_string;
8091}
8092extern "C" {
8093    pub fn zend_make_printable_zval(expr: *mut zval, expr_copy: *mut zval) -> bool;
8094}
8095extern "C" {
8096    pub fn zend_print_zval(expr: *mut zval, indent: ::std::os::raw::c_int) -> size_t;
8097}
8098extern "C" {
8099    pub fn zend_print_zval_r(expr: *mut zval, indent: ::std::os::raw::c_int);
8100}
8101extern "C" {
8102    pub fn zend_print_zval_r_to_str(
8103        expr: *mut zval,
8104        indent: ::std::os::raw::c_int,
8105    ) -> *mut zend_string;
8106}
8107extern "C" {
8108    pub fn zend_print_flat_zval_r(expr: *mut zval);
8109}
8110extern "C" {
8111    pub fn zend_output_debug_string(
8112        trigger_break: zend_bool,
8113        format: *const ::std::os::raw::c_char,
8114        ...
8115    );
8116}
8117extern "C" {
8118    pub fn zend_activate();
8119}
8120extern "C" {
8121    pub fn zend_deactivate();
8122}
8123extern "C" {
8124    pub fn zend_call_destructors();
8125}
8126extern "C" {
8127    pub fn zend_activate_modules();
8128}
8129extern "C" {
8130    pub fn zend_deactivate_modules();
8131}
8132extern "C" {
8133    pub fn zend_post_deactivate_modules();
8134}
8135extern "C" {
8136    pub static mut zend_printf: ::std::option::Option<
8137        unsafe extern "C" fn(format: *const ::std::os::raw::c_char, ...) -> size_t,
8138    >;
8139}
8140extern "C" {
8141    pub static mut zend_write: zend_write_func_t;
8142}
8143extern "C" {
8144    pub static mut zend_fopen: ::std::option::Option<
8145        unsafe extern "C" fn(
8146            filename: *const ::std::os::raw::c_char,
8147            opened_path: *mut *mut zend_string,
8148        ) -> *mut FILE,
8149    >;
8150}
8151extern "C" {
8152    pub static mut zend_ticks_function:
8153        ::std::option::Option<unsafe extern "C" fn(ticks: ::std::os::raw::c_int)>;
8154}
8155extern "C" {
8156    pub static mut zend_interrupt_function:
8157        ::std::option::Option<unsafe extern "C" fn(execute_data: *mut zend_execute_data)>;
8158}
8159extern "C" {
8160    pub static mut zend_error_cb: ::std::option::Option<
8161        unsafe extern "C" fn(
8162            type_: ::std::os::raw::c_int,
8163            error_filename: *const ::std::os::raw::c_char,
8164            error_lineno: u32,
8165            message: *mut zend_string,
8166        ),
8167    >;
8168}
8169extern "C" {
8170    pub static mut zend_on_timeout:
8171        ::std::option::Option<unsafe extern "C" fn(seconds: ::std::os::raw::c_int)>;
8172}
8173extern "C" {
8174    pub static mut zend_stream_open_function: ::std::option::Option<
8175        unsafe extern "C" fn(
8176            filename: *const ::std::os::raw::c_char,
8177            handle: *mut zend_file_handle,
8178        ) -> zend_result,
8179    >;
8180}
8181extern "C" {
8182    pub static mut zend_printf_to_smart_string: ::std::option::Option<
8183        unsafe extern "C" fn(
8184            buf: *mut smart_string,
8185            format: *const ::std::os::raw::c_char,
8186            ap: *mut __va_list_tag,
8187        ),
8188    >;
8189}
8190extern "C" {
8191    pub static mut zend_printf_to_smart_str: ::std::option::Option<
8192        unsafe extern "C" fn(
8193            buf: *mut smart_str,
8194            format: *const ::std::os::raw::c_char,
8195            ap: *mut __va_list_tag,
8196        ),
8197    >;
8198}
8199extern "C" {
8200    pub static mut zend_getenv: ::std::option::Option<
8201        unsafe extern "C" fn(
8202            name: *const ::std::os::raw::c_char,
8203            name_len: size_t,
8204        ) -> *mut ::std::os::raw::c_char,
8205    >;
8206}
8207extern "C" {
8208    pub static mut zend_resolve_path: ::std::option::Option<
8209        unsafe extern "C" fn(
8210            filename: *const ::std::os::raw::c_char,
8211            filename_len: size_t,
8212        ) -> *mut zend_string,
8213    >;
8214}
8215extern "C" {
8216    pub static mut zend_post_startup_cb:
8217        ::std::option::Option<unsafe extern "C" fn() -> zend_result>;
8218}
8219extern "C" {
8220    pub static mut zend_post_shutdown_cb: ::std::option::Option<unsafe extern "C" fn()>;
8221}
8222extern "C" {
8223    pub static mut zend_preload_autoload:
8224        ::std::option::Option<unsafe extern "C" fn(filename: *mut zend_string) -> zend_result>;
8225}
8226extern "C" {
8227    pub fn zend_error(type_: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
8228}
8229extern "C" {
8230    pub fn zend_error_noreturn(
8231        type_: ::std::os::raw::c_int,
8232        format: *const ::std::os::raw::c_char,
8233        ...
8234    );
8235}
8236extern "C" {
8237    pub fn zend_error_at(
8238        type_: ::std::os::raw::c_int,
8239        filename: *const ::std::os::raw::c_char,
8240        lineno: u32,
8241        format: *const ::std::os::raw::c_char,
8242        ...
8243    );
8244}
8245extern "C" {
8246    pub fn zend_error_at_noreturn(
8247        type_: ::std::os::raw::c_int,
8248        filename: *const ::std::os::raw::c_char,
8249        lineno: u32,
8250        format: *const ::std::os::raw::c_char,
8251        ...
8252    );
8253}
8254extern "C" {
8255    pub fn zend_error_zstr(type_: ::std::os::raw::c_int, message: *mut zend_string);
8256}
8257extern "C" {
8258    pub fn zend_throw_error(
8259        exception_ce: *mut zend_class_entry,
8260        format: *const ::std::os::raw::c_char,
8261        ...
8262    );
8263}
8264extern "C" {
8265    pub fn zend_type_error(format: *const ::std::os::raw::c_char, ...);
8266}
8267extern "C" {
8268    pub fn zend_argument_count_error(format: *const ::std::os::raw::c_char, ...);
8269}
8270extern "C" {
8271    pub fn zend_value_error(format: *const ::std::os::raw::c_char, ...);
8272}
8273extern "C" {
8274    pub fn zenderror(error: *const ::std::os::raw::c_char);
8275}
8276extern "C" {
8277    pub static mut zend_standard_class_def: *mut zend_class_entry;
8278}
8279extern "C" {
8280    pub static mut zend_uv: zend_utility_values;
8281}
8282extern "C" {
8283    pub static mut zend_dtrace_enabled: zend_bool;
8284}
8285extern "C" {
8286    pub fn zend_message_dispatcher(message: zend_long, data: *const ::std::os::raw::c_void);
8287}
8288extern "C" {
8289    pub fn zend_get_configuration_directive(name: *mut zend_string) -> *mut zval;
8290}
8291pub const zend_error_handling_t_EH_NORMAL: zend_error_handling_t = 0;
8292pub const zend_error_handling_t_EH_THROW: zend_error_handling_t = 1;
8293pub type zend_error_handling_t = ::std::os::raw::c_uint;
8294#[repr(C)]
8295#[derive(Debug, Copy, Clone)]
8296pub struct zend_error_handling {
8297    pub handling: zend_error_handling_t,
8298    pub exception: *mut zend_class_entry,
8299}
8300#[test]
8301fn bindgen_test_layout_zend_error_handling() {
8302    assert_eq!(
8303        ::std::mem::size_of::<zend_error_handling>(),
8304        16usize,
8305        concat!("Size of: ", stringify!(zend_error_handling))
8306    );
8307    assert_eq!(
8308        ::std::mem::align_of::<zend_error_handling>(),
8309        8usize,
8310        concat!("Alignment of ", stringify!(zend_error_handling))
8311    );
8312    assert_eq!(
8313        unsafe { &(*(::std::ptr::null::<zend_error_handling>())).handling as *const _ as usize },
8314        0usize,
8315        concat!(
8316            "Offset of field: ",
8317            stringify!(zend_error_handling),
8318            "::",
8319            stringify!(handling)
8320        )
8321    );
8322    assert_eq!(
8323        unsafe { &(*(::std::ptr::null::<zend_error_handling>())).exception as *const _ as usize },
8324        8usize,
8325        concat!(
8326            "Offset of field: ",
8327            stringify!(zend_error_handling),
8328            "::",
8329            stringify!(exception)
8330        )
8331    );
8332}
8333extern "C" {
8334    pub fn zend_save_error_handling(current: *mut zend_error_handling);
8335}
8336extern "C" {
8337    pub fn zend_replace_error_handling(
8338        error_handling: zend_error_handling_t,
8339        exception_class: *mut zend_class_entry,
8340        current: *mut zend_error_handling,
8341    );
8342}
8343extern "C" {
8344    pub fn zend_restore_error_handling(saved: *mut zend_error_handling);
8345}
8346pub type zend_object_read_property_t = ::std::option::Option<
8347    unsafe extern "C" fn(
8348        object: *mut zend_object,
8349        member: *mut zend_string,
8350        type_: ::std::os::raw::c_int,
8351        cache_slot: *mut *mut ::std::os::raw::c_void,
8352        rv: *mut zval,
8353    ) -> *mut zval,
8354>;
8355pub type zend_object_read_dimension_t = ::std::option::Option<
8356    unsafe extern "C" fn(
8357        object: *mut zend_object,
8358        offset: *mut zval,
8359        type_: ::std::os::raw::c_int,
8360        rv: *mut zval,
8361    ) -> *mut zval,
8362>;
8363pub type zend_object_write_property_t = ::std::option::Option<
8364    unsafe extern "C" fn(
8365        object: *mut zend_object,
8366        member: *mut zend_string,
8367        value: *mut zval,
8368        cache_slot: *mut *mut ::std::os::raw::c_void,
8369    ) -> *mut zval,
8370>;
8371pub type zend_object_write_dimension_t = ::std::option::Option<
8372    unsafe extern "C" fn(object: *mut zend_object, offset: *mut zval, value: *mut zval),
8373>;
8374pub type zend_object_get_property_ptr_ptr_t = ::std::option::Option<
8375    unsafe extern "C" fn(
8376        object: *mut zend_object,
8377        member: *mut zend_string,
8378        type_: ::std::os::raw::c_int,
8379        cache_slot: *mut *mut ::std::os::raw::c_void,
8380    ) -> *mut zval,
8381>;
8382pub type zend_object_has_property_t = ::std::option::Option<
8383    unsafe extern "C" fn(
8384        object: *mut zend_object,
8385        member: *mut zend_string,
8386        has_set_exists: ::std::os::raw::c_int,
8387        cache_slot: *mut *mut ::std::os::raw::c_void,
8388    ) -> ::std::os::raw::c_int,
8389>;
8390pub type zend_object_has_dimension_t = ::std::option::Option<
8391    unsafe extern "C" fn(
8392        object: *mut zend_object,
8393        member: *mut zval,
8394        check_empty: ::std::os::raw::c_int,
8395    ) -> ::std::os::raw::c_int,
8396>;
8397pub type zend_object_unset_property_t = ::std::option::Option<
8398    unsafe extern "C" fn(
8399        object: *mut zend_object,
8400        member: *mut zend_string,
8401        cache_slot: *mut *mut ::std::os::raw::c_void,
8402    ),
8403>;
8404pub type zend_object_unset_dimension_t =
8405    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object, offset: *mut zval)>;
8406pub type zend_object_get_properties_t =
8407    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object) -> *mut HashTable>;
8408pub type zend_object_get_debug_info_t = ::std::option::Option<
8409    unsafe extern "C" fn(
8410        object: *mut zend_object,
8411        is_temp: *mut ::std::os::raw::c_int,
8412    ) -> *mut HashTable,
8413>;
8414pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_DEBUG: _zend_prop_purpose = 0;
8415pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_ARRAY_CAST: _zend_prop_purpose = 1;
8416pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_SERIALIZE: _zend_prop_purpose = 2;
8417pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_VAR_EXPORT: _zend_prop_purpose = 3;
8418pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_JSON: _zend_prop_purpose = 4;
8419pub const _zend_prop_purpose__ZEND_PROP_PURPOSE_NON_EXHAUSTIVE_ENUM: _zend_prop_purpose = 5;
8420pub type _zend_prop_purpose = ::std::os::raw::c_uint;
8421pub use self::_zend_prop_purpose as zend_prop_purpose;
8422pub type zend_object_get_properties_for_t = ::std::option::Option<
8423    unsafe extern "C" fn(object: *mut zend_object, purpose: zend_prop_purpose) -> *mut zend_array,
8424>;
8425pub type zend_object_get_method_t = ::std::option::Option<
8426    unsafe extern "C" fn(
8427        object: *mut *mut zend_object,
8428        method: *mut zend_string,
8429        key: *const zval,
8430    ) -> *mut zend_function,
8431>;
8432pub type zend_object_get_constructor_t =
8433    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object) -> *mut zend_function>;
8434pub type zend_object_dtor_obj_t =
8435    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object)>;
8436pub type zend_object_free_obj_t =
8437    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object)>;
8438pub type zend_object_clone_obj_t =
8439    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object) -> *mut zend_object>;
8440pub type zend_object_get_class_name_t =
8441    ::std::option::Option<unsafe extern "C" fn(object: *const zend_object) -> *mut zend_string>;
8442pub type zend_object_compare_t = ::std::option::Option<
8443    unsafe extern "C" fn(object1: *mut zval, object2: *mut zval) -> ::std::os::raw::c_int,
8444>;
8445pub type zend_object_cast_t = ::std::option::Option<
8446    unsafe extern "C" fn(
8447        readobj: *mut zend_object,
8448        retval: *mut zval,
8449        type_: ::std::os::raw::c_int,
8450    ) -> ::std::os::raw::c_int,
8451>;
8452pub type zend_object_count_elements_t = ::std::option::Option<
8453    unsafe extern "C" fn(object: *mut zend_object, count: *mut zend_long) -> ::std::os::raw::c_int,
8454>;
8455pub type zend_object_get_closure_t = ::std::option::Option<
8456    unsafe extern "C" fn(
8457        obj: *mut zend_object,
8458        ce_ptr: *mut *mut zend_class_entry,
8459        fptr_ptr: *mut *mut zend_function,
8460        obj_ptr: *mut *mut zend_object,
8461        check_only: zend_bool,
8462    ) -> ::std::os::raw::c_int,
8463>;
8464pub type zend_object_get_gc_t = ::std::option::Option<
8465    unsafe extern "C" fn(
8466        object: *mut zend_object,
8467        table: *mut *mut zval,
8468        n: *mut ::std::os::raw::c_int,
8469    ) -> *mut HashTable,
8470>;
8471pub type zend_object_do_operation_t = ::std::option::Option<
8472    unsafe extern "C" fn(
8473        opcode: zend_uchar,
8474        result: *mut zval,
8475        op1: *mut zval,
8476        op2: *mut zval,
8477    ) -> ::std::os::raw::c_int,
8478>;
8479#[repr(C)]
8480#[derive(Debug, Copy, Clone)]
8481pub struct _zend_object_handlers {
8482    pub offset: ::std::os::raw::c_int,
8483    pub free_obj: zend_object_free_obj_t,
8484    pub dtor_obj: zend_object_dtor_obj_t,
8485    pub clone_obj: zend_object_clone_obj_t,
8486    pub read_property: zend_object_read_property_t,
8487    pub write_property: zend_object_write_property_t,
8488    pub read_dimension: zend_object_read_dimension_t,
8489    pub write_dimension: zend_object_write_dimension_t,
8490    pub get_property_ptr_ptr: zend_object_get_property_ptr_ptr_t,
8491    pub has_property: zend_object_has_property_t,
8492    pub unset_property: zend_object_unset_property_t,
8493    pub has_dimension: zend_object_has_dimension_t,
8494    pub unset_dimension: zend_object_unset_dimension_t,
8495    pub get_properties: zend_object_get_properties_t,
8496    pub get_method: zend_object_get_method_t,
8497    pub get_constructor: zend_object_get_constructor_t,
8498    pub get_class_name: zend_object_get_class_name_t,
8499    pub cast_object: zend_object_cast_t,
8500    pub count_elements: zend_object_count_elements_t,
8501    pub get_debug_info: zend_object_get_debug_info_t,
8502    pub get_closure: zend_object_get_closure_t,
8503    pub get_gc: zend_object_get_gc_t,
8504    pub do_operation: zend_object_do_operation_t,
8505    pub compare: zend_object_compare_t,
8506    pub get_properties_for: zend_object_get_properties_for_t,
8507}
8508#[test]
8509fn bindgen_test_layout__zend_object_handlers() {
8510    assert_eq!(
8511        ::std::mem::size_of::<_zend_object_handlers>(),
8512        200usize,
8513        concat!("Size of: ", stringify!(_zend_object_handlers))
8514    );
8515    assert_eq!(
8516        ::std::mem::align_of::<_zend_object_handlers>(),
8517        8usize,
8518        concat!("Alignment of ", stringify!(_zend_object_handlers))
8519    );
8520    assert_eq!(
8521        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).offset as *const _ as usize },
8522        0usize,
8523        concat!(
8524            "Offset of field: ",
8525            stringify!(_zend_object_handlers),
8526            "::",
8527            stringify!(offset)
8528        )
8529    );
8530    assert_eq!(
8531        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).free_obj as *const _ as usize },
8532        8usize,
8533        concat!(
8534            "Offset of field: ",
8535            stringify!(_zend_object_handlers),
8536            "::",
8537            stringify!(free_obj)
8538        )
8539    );
8540    assert_eq!(
8541        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).dtor_obj as *const _ as usize },
8542        16usize,
8543        concat!(
8544            "Offset of field: ",
8545            stringify!(_zend_object_handlers),
8546            "::",
8547            stringify!(dtor_obj)
8548        )
8549    );
8550    assert_eq!(
8551        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).clone_obj as *const _ as usize },
8552        24usize,
8553        concat!(
8554            "Offset of field: ",
8555            stringify!(_zend_object_handlers),
8556            "::",
8557            stringify!(clone_obj)
8558        )
8559    );
8560    assert_eq!(
8561        unsafe {
8562            &(*(::std::ptr::null::<_zend_object_handlers>())).read_property as *const _ as usize
8563        },
8564        32usize,
8565        concat!(
8566            "Offset of field: ",
8567            stringify!(_zend_object_handlers),
8568            "::",
8569            stringify!(read_property)
8570        )
8571    );
8572    assert_eq!(
8573        unsafe {
8574            &(*(::std::ptr::null::<_zend_object_handlers>())).write_property as *const _ as usize
8575        },
8576        40usize,
8577        concat!(
8578            "Offset of field: ",
8579            stringify!(_zend_object_handlers),
8580            "::",
8581            stringify!(write_property)
8582        )
8583    );
8584    assert_eq!(
8585        unsafe {
8586            &(*(::std::ptr::null::<_zend_object_handlers>())).read_dimension as *const _ as usize
8587        },
8588        48usize,
8589        concat!(
8590            "Offset of field: ",
8591            stringify!(_zend_object_handlers),
8592            "::",
8593            stringify!(read_dimension)
8594        )
8595    );
8596    assert_eq!(
8597        unsafe {
8598            &(*(::std::ptr::null::<_zend_object_handlers>())).write_dimension as *const _ as usize
8599        },
8600        56usize,
8601        concat!(
8602            "Offset of field: ",
8603            stringify!(_zend_object_handlers),
8604            "::",
8605            stringify!(write_dimension)
8606        )
8607    );
8608    assert_eq!(
8609        unsafe {
8610            &(*(::std::ptr::null::<_zend_object_handlers>())).get_property_ptr_ptr as *const _
8611                as usize
8612        },
8613        64usize,
8614        concat!(
8615            "Offset of field: ",
8616            stringify!(_zend_object_handlers),
8617            "::",
8618            stringify!(get_property_ptr_ptr)
8619        )
8620    );
8621    assert_eq!(
8622        unsafe {
8623            &(*(::std::ptr::null::<_zend_object_handlers>())).has_property as *const _ as usize
8624        },
8625        72usize,
8626        concat!(
8627            "Offset of field: ",
8628            stringify!(_zend_object_handlers),
8629            "::",
8630            stringify!(has_property)
8631        )
8632    );
8633    assert_eq!(
8634        unsafe {
8635            &(*(::std::ptr::null::<_zend_object_handlers>())).unset_property as *const _ as usize
8636        },
8637        80usize,
8638        concat!(
8639            "Offset of field: ",
8640            stringify!(_zend_object_handlers),
8641            "::",
8642            stringify!(unset_property)
8643        )
8644    );
8645    assert_eq!(
8646        unsafe {
8647            &(*(::std::ptr::null::<_zend_object_handlers>())).has_dimension as *const _ as usize
8648        },
8649        88usize,
8650        concat!(
8651            "Offset of field: ",
8652            stringify!(_zend_object_handlers),
8653            "::",
8654            stringify!(has_dimension)
8655        )
8656    );
8657    assert_eq!(
8658        unsafe {
8659            &(*(::std::ptr::null::<_zend_object_handlers>())).unset_dimension as *const _ as usize
8660        },
8661        96usize,
8662        concat!(
8663            "Offset of field: ",
8664            stringify!(_zend_object_handlers),
8665            "::",
8666            stringify!(unset_dimension)
8667        )
8668    );
8669    assert_eq!(
8670        unsafe {
8671            &(*(::std::ptr::null::<_zend_object_handlers>())).get_properties as *const _ as usize
8672        },
8673        104usize,
8674        concat!(
8675            "Offset of field: ",
8676            stringify!(_zend_object_handlers),
8677            "::",
8678            stringify!(get_properties)
8679        )
8680    );
8681    assert_eq!(
8682        unsafe {
8683            &(*(::std::ptr::null::<_zend_object_handlers>())).get_method as *const _ as usize
8684        },
8685        112usize,
8686        concat!(
8687            "Offset of field: ",
8688            stringify!(_zend_object_handlers),
8689            "::",
8690            stringify!(get_method)
8691        )
8692    );
8693    assert_eq!(
8694        unsafe {
8695            &(*(::std::ptr::null::<_zend_object_handlers>())).get_constructor as *const _ as usize
8696        },
8697        120usize,
8698        concat!(
8699            "Offset of field: ",
8700            stringify!(_zend_object_handlers),
8701            "::",
8702            stringify!(get_constructor)
8703        )
8704    );
8705    assert_eq!(
8706        unsafe {
8707            &(*(::std::ptr::null::<_zend_object_handlers>())).get_class_name as *const _ as usize
8708        },
8709        128usize,
8710        concat!(
8711            "Offset of field: ",
8712            stringify!(_zend_object_handlers),
8713            "::",
8714            stringify!(get_class_name)
8715        )
8716    );
8717    assert_eq!(
8718        unsafe {
8719            &(*(::std::ptr::null::<_zend_object_handlers>())).cast_object as *const _ as usize
8720        },
8721        136usize,
8722        concat!(
8723            "Offset of field: ",
8724            stringify!(_zend_object_handlers),
8725            "::",
8726            stringify!(cast_object)
8727        )
8728    );
8729    assert_eq!(
8730        unsafe {
8731            &(*(::std::ptr::null::<_zend_object_handlers>())).count_elements as *const _ as usize
8732        },
8733        144usize,
8734        concat!(
8735            "Offset of field: ",
8736            stringify!(_zend_object_handlers),
8737            "::",
8738            stringify!(count_elements)
8739        )
8740    );
8741    assert_eq!(
8742        unsafe {
8743            &(*(::std::ptr::null::<_zend_object_handlers>())).get_debug_info as *const _ as usize
8744        },
8745        152usize,
8746        concat!(
8747            "Offset of field: ",
8748            stringify!(_zend_object_handlers),
8749            "::",
8750            stringify!(get_debug_info)
8751        )
8752    );
8753    assert_eq!(
8754        unsafe {
8755            &(*(::std::ptr::null::<_zend_object_handlers>())).get_closure as *const _ as usize
8756        },
8757        160usize,
8758        concat!(
8759            "Offset of field: ",
8760            stringify!(_zend_object_handlers),
8761            "::",
8762            stringify!(get_closure)
8763        )
8764    );
8765    assert_eq!(
8766        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).get_gc as *const _ as usize },
8767        168usize,
8768        concat!(
8769            "Offset of field: ",
8770            stringify!(_zend_object_handlers),
8771            "::",
8772            stringify!(get_gc)
8773        )
8774    );
8775    assert_eq!(
8776        unsafe {
8777            &(*(::std::ptr::null::<_zend_object_handlers>())).do_operation as *const _ as usize
8778        },
8779        176usize,
8780        concat!(
8781            "Offset of field: ",
8782            stringify!(_zend_object_handlers),
8783            "::",
8784            stringify!(do_operation)
8785        )
8786    );
8787    assert_eq!(
8788        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).compare as *const _ as usize },
8789        184usize,
8790        concat!(
8791            "Offset of field: ",
8792            stringify!(_zend_object_handlers),
8793            "::",
8794            stringify!(compare)
8795        )
8796    );
8797    assert_eq!(
8798        unsafe {
8799            &(*(::std::ptr::null::<_zend_object_handlers>())).get_properties_for as *const _
8800                as usize
8801        },
8802        192usize,
8803        concat!(
8804            "Offset of field: ",
8805            stringify!(_zend_object_handlers),
8806            "::",
8807            stringify!(get_properties_for)
8808        )
8809    );
8810}
8811extern "C" {
8812    pub static std_object_handlers: zend_object_handlers;
8813}
8814extern "C" {
8815    pub fn zend_class_init_statics(ce: *mut zend_class_entry);
8816}
8817extern "C" {
8818    pub fn zend_std_get_static_method(
8819        ce: *mut zend_class_entry,
8820        function_name_strval: *mut zend_string,
8821        key: *const zval,
8822    ) -> *mut zend_function;
8823}
8824extern "C" {
8825    pub fn zend_std_get_static_property_with_info(
8826        ce: *mut zend_class_entry,
8827        property_name: *mut zend_string,
8828        type_: ::std::os::raw::c_int,
8829        prop_info: *mut *mut _zend_property_info,
8830    ) -> *mut zval;
8831}
8832extern "C" {
8833    pub fn zend_std_get_static_property(
8834        ce: *mut zend_class_entry,
8835        property_name: *mut zend_string,
8836        type_: ::std::os::raw::c_int,
8837    ) -> *mut zval;
8838}
8839extern "C" {
8840    pub fn zend_std_unset_static_property(
8841        ce: *mut zend_class_entry,
8842        property_name: *mut zend_string,
8843    ) -> zend_bool;
8844}
8845extern "C" {
8846    pub fn zend_std_get_constructor(object: *mut zend_object) -> *mut zend_function;
8847}
8848extern "C" {
8849    pub fn zend_get_property_info(
8850        ce: *mut zend_class_entry,
8851        member: *mut zend_string,
8852        silent: ::std::os::raw::c_int,
8853    ) -> *mut _zend_property_info;
8854}
8855extern "C" {
8856    pub fn zend_std_get_properties(object: *mut zend_object) -> *mut HashTable;
8857}
8858extern "C" {
8859    pub fn zend_std_get_gc(
8860        object: *mut zend_object,
8861        table: *mut *mut zval,
8862        n: *mut ::std::os::raw::c_int,
8863    ) -> *mut HashTable;
8864}
8865extern "C" {
8866    pub fn zend_std_get_debug_info(
8867        object: *mut zend_object,
8868        is_temp: *mut ::std::os::raw::c_int,
8869    ) -> *mut HashTable;
8870}
8871extern "C" {
8872    pub fn zend_std_cast_object_tostring(
8873        object: *mut zend_object,
8874        writeobj: *mut zval,
8875        type_: ::std::os::raw::c_int,
8876    ) -> ::std::os::raw::c_int;
8877}
8878extern "C" {
8879    pub fn zend_std_get_property_ptr_ptr(
8880        object: *mut zend_object,
8881        member: *mut zend_string,
8882        type_: ::std::os::raw::c_int,
8883        cache_slot: *mut *mut ::std::os::raw::c_void,
8884    ) -> *mut zval;
8885}
8886extern "C" {
8887    pub fn zend_std_read_property(
8888        object: *mut zend_object,
8889        member: *mut zend_string,
8890        type_: ::std::os::raw::c_int,
8891        cache_slot: *mut *mut ::std::os::raw::c_void,
8892        rv: *mut zval,
8893    ) -> *mut zval;
8894}
8895extern "C" {
8896    pub fn zend_std_write_property(
8897        object: *mut zend_object,
8898        member: *mut zend_string,
8899        value: *mut zval,
8900        cache_slot: *mut *mut ::std::os::raw::c_void,
8901    ) -> *mut zval;
8902}
8903extern "C" {
8904    pub fn zend_std_has_property(
8905        object: *mut zend_object,
8906        member: *mut zend_string,
8907        has_set_exists: ::std::os::raw::c_int,
8908        cache_slot: *mut *mut ::std::os::raw::c_void,
8909    ) -> ::std::os::raw::c_int;
8910}
8911extern "C" {
8912    pub fn zend_std_unset_property(
8913        object: *mut zend_object,
8914        member: *mut zend_string,
8915        cache_slot: *mut *mut ::std::os::raw::c_void,
8916    );
8917}
8918extern "C" {
8919    pub fn zend_std_read_dimension(
8920        object: *mut zend_object,
8921        offset: *mut zval,
8922        type_: ::std::os::raw::c_int,
8923        rv: *mut zval,
8924    ) -> *mut zval;
8925}
8926extern "C" {
8927    pub fn zend_std_write_dimension(object: *mut zend_object, offset: *mut zval, value: *mut zval);
8928}
8929extern "C" {
8930    pub fn zend_std_has_dimension(
8931        object: *mut zend_object,
8932        offset: *mut zval,
8933        check_empty: ::std::os::raw::c_int,
8934    ) -> ::std::os::raw::c_int;
8935}
8936extern "C" {
8937    pub fn zend_std_unset_dimension(object: *mut zend_object, offset: *mut zval);
8938}
8939extern "C" {
8940    pub fn zend_std_get_method(
8941        obj_ptr: *mut *mut zend_object,
8942        method_name: *mut zend_string,
8943        key: *const zval,
8944    ) -> *mut zend_function;
8945}
8946extern "C" {
8947    pub fn zend_std_get_class_name(zobj: *const zend_object) -> *mut zend_string;
8948}
8949extern "C" {
8950    pub fn zend_std_compare_objects(o1: *mut zval, o2: *mut zval) -> ::std::os::raw::c_int;
8951}
8952extern "C" {
8953    pub fn zend_std_get_closure(
8954        obj: *mut zend_object,
8955        ce_ptr: *mut *mut zend_class_entry,
8956        fptr_ptr: *mut *mut zend_function,
8957        obj_ptr: *mut *mut zend_object,
8958        check_only: zend_bool,
8959    ) -> ::std::os::raw::c_int;
8960}
8961extern "C" {
8962    pub fn zend_check_protected(
8963        ce: *mut zend_class_entry,
8964        scope: *mut zend_class_entry,
8965    ) -> ::std::os::raw::c_int;
8966}
8967extern "C" {
8968    pub fn zend_check_property_access(
8969        zobj: *mut zend_object,
8970        prop_info_name: *mut zend_string,
8971        is_dynamic: zend_bool,
8972    ) -> ::std::os::raw::c_int;
8973}
8974extern "C" {
8975    pub fn zend_get_call_trampoline_func(
8976        ce: *mut zend_class_entry,
8977        method_name: *mut zend_string,
8978        is_static: ::std::os::raw::c_int,
8979    ) -> *mut zend_function;
8980}
8981extern "C" {
8982    pub fn zend_get_property_guard(zobj: *mut zend_object, member: *mut zend_string) -> *mut u32;
8983}
8984extern "C" {
8985    pub fn zend_std_get_properties_for(
8986        obj: *mut zend_object,
8987        purpose: zend_prop_purpose,
8988    ) -> *mut HashTable;
8989}
8990extern "C" {
8991    pub fn zend_get_properties_for(obj: *mut zval, purpose: zend_prop_purpose) -> *mut HashTable;
8992}
8993extern "C" {
8994    pub fn zend_freedtoa(s: *mut ::std::os::raw::c_char);
8995}
8996extern "C" {
8997    pub fn zend_dtoa(
8998        _d: f64,
8999        mode: ::std::os::raw::c_int,
9000        ndigits: ::std::os::raw::c_int,
9001        decpt: *mut ::std::os::raw::c_int,
9002        sign: *mut ::std::os::raw::c_int,
9003        rve: *mut *mut ::std::os::raw::c_char,
9004    ) -> *mut ::std::os::raw::c_char;
9005}
9006extern "C" {
9007    pub fn zend_strtod(
9008        s00: *const ::std::os::raw::c_char,
9009        se: *mut *const ::std::os::raw::c_char,
9010    ) -> f64;
9011}
9012extern "C" {
9013    pub fn zend_hex_strtod(
9014        str_: *const ::std::os::raw::c_char,
9015        endptr: *mut *const ::std::os::raw::c_char,
9016    ) -> f64;
9017}
9018extern "C" {
9019    pub fn zend_oct_strtod(
9020        str_: *const ::std::os::raw::c_char,
9021        endptr: *mut *const ::std::os::raw::c_char,
9022    ) -> f64;
9023}
9024extern "C" {
9025    pub fn zend_bin_strtod(
9026        str_: *const ::std::os::raw::c_char,
9027        endptr: *mut *const ::std::os::raw::c_char,
9028    ) -> f64;
9029}
9030extern "C" {
9031    pub fn zend_startup_strtod() -> ::std::os::raw::c_int;
9032}
9033extern "C" {
9034    pub fn zend_shutdown_strtod() -> ::std::os::raw::c_int;
9035}
9036extern "C" {
9037    pub fn zend_is_identical(op1: *mut zval, op2: *mut zval) -> zend_bool;
9038}
9039extern "C" {
9040    pub fn zend_class_implements_interface(
9041        class_ce: *const zend_class_entry,
9042        interface_ce: *const zend_class_entry,
9043    ) -> zend_bool;
9044}
9045extern "C" {
9046    pub fn zend_memnstr_ex(
9047        haystack: *const ::std::os::raw::c_char,
9048        needle: *const ::std::os::raw::c_char,
9049        needle_len: size_t,
9050        end: *const ::std::os::raw::c_char,
9051    ) -> *const ::std::os::raw::c_char;
9052}
9053extern "C" {
9054    pub fn zend_memnrstr_ex(
9055        haystack: *const ::std::os::raw::c_char,
9056        needle: *const ::std::os::raw::c_char,
9057        needle_len: size_t,
9058        end: *const ::std::os::raw::c_char,
9059    ) -> *const ::std::os::raw::c_char;
9060}
9061extern "C" {
9062    pub fn zend_dval_to_lval_slow(d: f64) -> zend_long;
9063}
9064extern "C" {
9065    pub fn zend_is_true(op: *mut zval) -> ::std::os::raw::c_int;
9066}
9067extern "C" {
9068    pub fn zend_object_is_true(op: *mut zval) -> bool;
9069}
9070extern "C" {
9071    pub fn zend_compare(op1: *mut zval, op2: *mut zval) -> ::std::os::raw::c_int;
9072}
9073extern "C" {
9074    pub fn zend_str_tolower(str_: *mut ::std::os::raw::c_char, length: size_t);
9075}
9076extern "C" {
9077    pub fn zend_str_tolower_copy(
9078        dest: *mut ::std::os::raw::c_char,
9079        source: *const ::std::os::raw::c_char,
9080        length: size_t,
9081    ) -> *mut ::std::os::raw::c_char;
9082}
9083extern "C" {
9084    pub fn zend_str_tolower_dup(
9085        source: *const ::std::os::raw::c_char,
9086        length: size_t,
9087    ) -> *mut ::std::os::raw::c_char;
9088}
9089extern "C" {
9090    pub fn zend_str_tolower_dup_ex(
9091        source: *const ::std::os::raw::c_char,
9092        length: size_t,
9093    ) -> *mut ::std::os::raw::c_char;
9094}
9095extern "C" {
9096    pub fn zend_string_tolower_ex(str_: *mut zend_string, persistent: bool) -> *mut zend_string;
9097}
9098extern "C" {
9099    pub fn zend_binary_zval_strcmp(s1: *mut zval, s2: *mut zval) -> ::std::os::raw::c_int;
9100}
9101extern "C" {
9102    pub fn zend_binary_zval_strncmp(
9103        s1: *mut zval,
9104        s2: *mut zval,
9105        s3: *mut zval,
9106    ) -> ::std::os::raw::c_int;
9107}
9108extern "C" {
9109    pub fn zend_binary_zval_strcasecmp(s1: *mut zval, s2: *mut zval) -> ::std::os::raw::c_int;
9110}
9111extern "C" {
9112    pub fn zend_binary_zval_strncasecmp(
9113        s1: *mut zval,
9114        s2: *mut zval,
9115        s3: *mut zval,
9116    ) -> ::std::os::raw::c_int;
9117}
9118extern "C" {
9119    pub fn zend_binary_strcmp(
9120        s1: *const ::std::os::raw::c_char,
9121        len1: size_t,
9122        s2: *const ::std::os::raw::c_char,
9123        len2: size_t,
9124    ) -> ::std::os::raw::c_int;
9125}
9126extern "C" {
9127    pub fn zend_binary_strncmp(
9128        s1: *const ::std::os::raw::c_char,
9129        len1: size_t,
9130        s2: *const ::std::os::raw::c_char,
9131        len2: size_t,
9132        length: size_t,
9133    ) -> ::std::os::raw::c_int;
9134}
9135extern "C" {
9136    pub fn zend_binary_strcasecmp(
9137        s1: *const ::std::os::raw::c_char,
9138        len1: size_t,
9139        s2: *const ::std::os::raw::c_char,
9140        len2: size_t,
9141    ) -> ::std::os::raw::c_int;
9142}
9143extern "C" {
9144    pub fn zend_binary_strncasecmp(
9145        s1: *const ::std::os::raw::c_char,
9146        len1: size_t,
9147        s2: *const ::std::os::raw::c_char,
9148        len2: size_t,
9149        length: size_t,
9150    ) -> ::std::os::raw::c_int;
9151}
9152extern "C" {
9153    pub fn zend_binary_strcasecmp_l(
9154        s1: *const ::std::os::raw::c_char,
9155        len1: size_t,
9156        s2: *const ::std::os::raw::c_char,
9157        len2: size_t,
9158    ) -> ::std::os::raw::c_int;
9159}
9160extern "C" {
9161    pub fn zend_binary_strncasecmp_l(
9162        s1: *const ::std::os::raw::c_char,
9163        len1: size_t,
9164        s2: *const ::std::os::raw::c_char,
9165        len2: size_t,
9166        length: size_t,
9167    ) -> ::std::os::raw::c_int;
9168}
9169extern "C" {
9170    pub fn zendi_smart_streq(s1: *mut zend_string, s2: *mut zend_string) -> bool;
9171}
9172extern "C" {
9173    pub fn zendi_smart_strcmp(s1: *mut zend_string, s2: *mut zend_string) -> ::std::os::raw::c_int;
9174}
9175extern "C" {
9176    pub fn zend_compare_symbol_tables(
9177        ht1: *mut HashTable,
9178        ht2: *mut HashTable,
9179    ) -> ::std::os::raw::c_int;
9180}
9181extern "C" {
9182    pub fn zend_compare_arrays(a1: *mut zval, a2: *mut zval) -> ::std::os::raw::c_int;
9183}
9184extern "C" {
9185    pub fn zend_compare_objects(o1: *mut zval, o2: *mut zval) -> ::std::os::raw::c_int;
9186}
9187extern "C" {
9188    pub fn zend_atoi(str_: *const ::std::os::raw::c_char, str_len: size_t)
9189        -> ::std::os::raw::c_int;
9190}
9191extern "C" {
9192    pub fn zend_atol(str_: *const ::std::os::raw::c_char, str_len: size_t) -> zend_long;
9193}
9194extern "C" {
9195    pub fn zend_locale_sprintf_double(op: *mut zval);
9196}
9197extern "C" {
9198    pub fn zend_long_to_str(num: zend_long) -> *mut zend_string;
9199}
9200extern "C" {
9201    pub fn zend_sort(
9202        base: *mut ::std::os::raw::c_void,
9203        nmemb: size_t,
9204        siz: size_t,
9205        cmp: compare_func_t,
9206        swp: swap_func_t,
9207    );
9208}
9209extern "C" {
9210    pub fn zend_insert_sort(
9211        base: *mut ::std::os::raw::c_void,
9212        nmemb: size_t,
9213        siz: size_t,
9214        cmp: compare_func_t,
9215        swp: swap_func_t,
9216    );
9217}
9218pub type zend_op_array = _zend_op_array;
9219pub type zend_op = _zend_op;
9220#[repr(C)]
9221#[derive(Copy, Clone)]
9222pub union _znode_op {
9223    pub constant: u32,
9224    pub var: u32,
9225    pub num: u32,
9226    pub opline_num: u32,
9227    pub jmp_offset: u32,
9228    _bindgen_union_align: u32,
9229}
9230#[test]
9231fn bindgen_test_layout__znode_op() {
9232    assert_eq!(
9233        ::std::mem::size_of::<_znode_op>(),
9234        4usize,
9235        concat!("Size of: ", stringify!(_znode_op))
9236    );
9237    assert_eq!(
9238        ::std::mem::align_of::<_znode_op>(),
9239        4usize,
9240        concat!("Alignment of ", stringify!(_znode_op))
9241    );
9242    assert_eq!(
9243        unsafe { &(*(::std::ptr::null::<_znode_op>())).constant as *const _ as usize },
9244        0usize,
9245        concat!(
9246            "Offset of field: ",
9247            stringify!(_znode_op),
9248            "::",
9249            stringify!(constant)
9250        )
9251    );
9252    assert_eq!(
9253        unsafe { &(*(::std::ptr::null::<_znode_op>())).var as *const _ as usize },
9254        0usize,
9255        concat!(
9256            "Offset of field: ",
9257            stringify!(_znode_op),
9258            "::",
9259            stringify!(var)
9260        )
9261    );
9262    assert_eq!(
9263        unsafe { &(*(::std::ptr::null::<_znode_op>())).num as *const _ as usize },
9264        0usize,
9265        concat!(
9266            "Offset of field: ",
9267            stringify!(_znode_op),
9268            "::",
9269            stringify!(num)
9270        )
9271    );
9272    assert_eq!(
9273        unsafe { &(*(::std::ptr::null::<_znode_op>())).opline_num as *const _ as usize },
9274        0usize,
9275        concat!(
9276            "Offset of field: ",
9277            stringify!(_znode_op),
9278            "::",
9279            stringify!(opline_num)
9280        )
9281    );
9282    assert_eq!(
9283        unsafe { &(*(::std::ptr::null::<_znode_op>())).jmp_offset as *const _ as usize },
9284        0usize,
9285        concat!(
9286            "Offset of field: ",
9287            stringify!(_znode_op),
9288            "::",
9289            stringify!(jmp_offset)
9290        )
9291    );
9292}
9293pub type znode_op = _znode_op;
9294#[repr(C)]
9295#[derive(Copy, Clone)]
9296pub struct _znode {
9297    pub op_type: zend_uchar,
9298    pub flag: zend_uchar,
9299    pub u: _znode__bindgen_ty_1,
9300}
9301#[repr(C)]
9302#[derive(Copy, Clone)]
9303pub union _znode__bindgen_ty_1 {
9304    pub op: znode_op,
9305    pub constant: zval,
9306    _bindgen_union_align: [u64; 2usize],
9307}
9308#[test]
9309fn bindgen_test_layout__znode__bindgen_ty_1() {
9310    assert_eq!(
9311        ::std::mem::size_of::<_znode__bindgen_ty_1>(),
9312        16usize,
9313        concat!("Size of: ", stringify!(_znode__bindgen_ty_1))
9314    );
9315    assert_eq!(
9316        ::std::mem::align_of::<_znode__bindgen_ty_1>(),
9317        8usize,
9318        concat!("Alignment of ", stringify!(_znode__bindgen_ty_1))
9319    );
9320    assert_eq!(
9321        unsafe { &(*(::std::ptr::null::<_znode__bindgen_ty_1>())).op as *const _ as usize },
9322        0usize,
9323        concat!(
9324            "Offset of field: ",
9325            stringify!(_znode__bindgen_ty_1),
9326            "::",
9327            stringify!(op)
9328        )
9329    );
9330    assert_eq!(
9331        unsafe { &(*(::std::ptr::null::<_znode__bindgen_ty_1>())).constant as *const _ as usize },
9332        0usize,
9333        concat!(
9334            "Offset of field: ",
9335            stringify!(_znode__bindgen_ty_1),
9336            "::",
9337            stringify!(constant)
9338        )
9339    );
9340}
9341#[test]
9342fn bindgen_test_layout__znode() {
9343    assert_eq!(
9344        ::std::mem::size_of::<_znode>(),
9345        24usize,
9346        concat!("Size of: ", stringify!(_znode))
9347    );
9348    assert_eq!(
9349        ::std::mem::align_of::<_znode>(),
9350        8usize,
9351        concat!("Alignment of ", stringify!(_znode))
9352    );
9353    assert_eq!(
9354        unsafe { &(*(::std::ptr::null::<_znode>())).op_type as *const _ as usize },
9355        0usize,
9356        concat!(
9357            "Offset of field: ",
9358            stringify!(_znode),
9359            "::",
9360            stringify!(op_type)
9361        )
9362    );
9363    assert_eq!(
9364        unsafe { &(*(::std::ptr::null::<_znode>())).flag as *const _ as usize },
9365        1usize,
9366        concat!(
9367            "Offset of field: ",
9368            stringify!(_znode),
9369            "::",
9370            stringify!(flag)
9371        )
9372    );
9373    assert_eq!(
9374        unsafe { &(*(::std::ptr::null::<_znode>())).u as *const _ as usize },
9375        8usize,
9376        concat!("Offset of field: ", stringify!(_znode), "::", stringify!(u))
9377    );
9378}
9379pub type znode = _znode;
9380#[repr(C)]
9381#[derive(Copy, Clone)]
9382pub struct _zend_ast_znode {
9383    pub kind: zend_ast_kind,
9384    pub attr: zend_ast_attr,
9385    pub lineno: u32,
9386    pub node: znode,
9387}
9388#[test]
9389fn bindgen_test_layout__zend_ast_znode() {
9390    assert_eq!(
9391        ::std::mem::size_of::<_zend_ast_znode>(),
9392        32usize,
9393        concat!("Size of: ", stringify!(_zend_ast_znode))
9394    );
9395    assert_eq!(
9396        ::std::mem::align_of::<_zend_ast_znode>(),
9397        8usize,
9398        concat!("Alignment of ", stringify!(_zend_ast_znode))
9399    );
9400    assert_eq!(
9401        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).kind as *const _ as usize },
9402        0usize,
9403        concat!(
9404            "Offset of field: ",
9405            stringify!(_zend_ast_znode),
9406            "::",
9407            stringify!(kind)
9408        )
9409    );
9410    assert_eq!(
9411        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).attr as *const _ as usize },
9412        2usize,
9413        concat!(
9414            "Offset of field: ",
9415            stringify!(_zend_ast_znode),
9416            "::",
9417            stringify!(attr)
9418        )
9419    );
9420    assert_eq!(
9421        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).lineno as *const _ as usize },
9422        4usize,
9423        concat!(
9424            "Offset of field: ",
9425            stringify!(_zend_ast_znode),
9426            "::",
9427            stringify!(lineno)
9428        )
9429    );
9430    assert_eq!(
9431        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).node as *const _ as usize },
9432        8usize,
9433        concat!(
9434            "Offset of field: ",
9435            stringify!(_zend_ast_znode),
9436            "::",
9437            stringify!(node)
9438        )
9439    );
9440}
9441pub type zend_ast_znode = _zend_ast_znode;
9442extern "C" {
9443    pub fn zend_ast_create_znode(node: *mut znode) -> *mut zend_ast;
9444}
9445#[repr(C)]
9446#[derive(Debug, Copy, Clone)]
9447pub struct _zend_declarables {
9448    pub ticks: zend_long,
9449}
9450#[test]
9451fn bindgen_test_layout__zend_declarables() {
9452    assert_eq!(
9453        ::std::mem::size_of::<_zend_declarables>(),
9454        8usize,
9455        concat!("Size of: ", stringify!(_zend_declarables))
9456    );
9457    assert_eq!(
9458        ::std::mem::align_of::<_zend_declarables>(),
9459        8usize,
9460        concat!("Alignment of ", stringify!(_zend_declarables))
9461    );
9462    assert_eq!(
9463        unsafe { &(*(::std::ptr::null::<_zend_declarables>())).ticks as *const _ as usize },
9464        0usize,
9465        concat!(
9466            "Offset of field: ",
9467            stringify!(_zend_declarables),
9468            "::",
9469            stringify!(ticks)
9470        )
9471    );
9472}
9473pub type zend_declarables = _zend_declarables;
9474#[repr(C)]
9475#[derive(Copy, Clone)]
9476pub struct _zend_file_context {
9477    pub declarables: zend_declarables,
9478    pub current_namespace: *mut zend_string,
9479    pub in_namespace: zend_bool,
9480    pub has_bracketed_namespaces: zend_bool,
9481    pub imports: *mut HashTable,
9482    pub imports_function: *mut HashTable,
9483    pub imports_const: *mut HashTable,
9484    pub seen_symbols: HashTable,
9485}
9486#[test]
9487fn bindgen_test_layout__zend_file_context() {
9488    assert_eq!(
9489        ::std::mem::size_of::<_zend_file_context>(),
9490        104usize,
9491        concat!("Size of: ", stringify!(_zend_file_context))
9492    );
9493    assert_eq!(
9494        ::std::mem::align_of::<_zend_file_context>(),
9495        8usize,
9496        concat!("Alignment of ", stringify!(_zend_file_context))
9497    );
9498    assert_eq!(
9499        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).declarables as *const _ as usize },
9500        0usize,
9501        concat!(
9502            "Offset of field: ",
9503            stringify!(_zend_file_context),
9504            "::",
9505            stringify!(declarables)
9506        )
9507    );
9508    assert_eq!(
9509        unsafe {
9510            &(*(::std::ptr::null::<_zend_file_context>())).current_namespace as *const _ as usize
9511        },
9512        8usize,
9513        concat!(
9514            "Offset of field: ",
9515            stringify!(_zend_file_context),
9516            "::",
9517            stringify!(current_namespace)
9518        )
9519    );
9520    assert_eq!(
9521        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).in_namespace as *const _ as usize },
9522        16usize,
9523        concat!(
9524            "Offset of field: ",
9525            stringify!(_zend_file_context),
9526            "::",
9527            stringify!(in_namespace)
9528        )
9529    );
9530    assert_eq!(
9531        unsafe {
9532            &(*(::std::ptr::null::<_zend_file_context>())).has_bracketed_namespaces as *const _
9533                as usize
9534        },
9535        17usize,
9536        concat!(
9537            "Offset of field: ",
9538            stringify!(_zend_file_context),
9539            "::",
9540            stringify!(has_bracketed_namespaces)
9541        )
9542    );
9543    assert_eq!(
9544        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).imports as *const _ as usize },
9545        24usize,
9546        concat!(
9547            "Offset of field: ",
9548            stringify!(_zend_file_context),
9549            "::",
9550            stringify!(imports)
9551        )
9552    );
9553    assert_eq!(
9554        unsafe {
9555            &(*(::std::ptr::null::<_zend_file_context>())).imports_function as *const _ as usize
9556        },
9557        32usize,
9558        concat!(
9559            "Offset of field: ",
9560            stringify!(_zend_file_context),
9561            "::",
9562            stringify!(imports_function)
9563        )
9564    );
9565    assert_eq!(
9566        unsafe {
9567            &(*(::std::ptr::null::<_zend_file_context>())).imports_const as *const _ as usize
9568        },
9569        40usize,
9570        concat!(
9571            "Offset of field: ",
9572            stringify!(_zend_file_context),
9573            "::",
9574            stringify!(imports_const)
9575        )
9576    );
9577    assert_eq!(
9578        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).seen_symbols as *const _ as usize },
9579        48usize,
9580        concat!(
9581            "Offset of field: ",
9582            stringify!(_zend_file_context),
9583            "::",
9584            stringify!(seen_symbols)
9585        )
9586    );
9587}
9588pub type zend_file_context = _zend_file_context;
9589#[repr(C)]
9590#[derive(Debug, Copy, Clone)]
9591pub struct zend_lexer_ident_ref {
9592    pub offset: u32,
9593    pub len: u32,
9594}
9595#[test]
9596fn bindgen_test_layout_zend_lexer_ident_ref() {
9597    assert_eq!(
9598        ::std::mem::size_of::<zend_lexer_ident_ref>(),
9599        8usize,
9600        concat!("Size of: ", stringify!(zend_lexer_ident_ref))
9601    );
9602    assert_eq!(
9603        ::std::mem::align_of::<zend_lexer_ident_ref>(),
9604        4usize,
9605        concat!("Alignment of ", stringify!(zend_lexer_ident_ref))
9606    );
9607    assert_eq!(
9608        unsafe { &(*(::std::ptr::null::<zend_lexer_ident_ref>())).offset as *const _ as usize },
9609        0usize,
9610        concat!(
9611            "Offset of field: ",
9612            stringify!(zend_lexer_ident_ref),
9613            "::",
9614            stringify!(offset)
9615        )
9616    );
9617    assert_eq!(
9618        unsafe { &(*(::std::ptr::null::<zend_lexer_ident_ref>())).len as *const _ as usize },
9619        4usize,
9620        concat!(
9621            "Offset of field: ",
9622            stringify!(zend_lexer_ident_ref),
9623            "::",
9624            stringify!(len)
9625        )
9626    );
9627}
9628#[repr(C)]
9629#[derive(Copy, Clone)]
9630pub union _zend_parser_stack_elem {
9631    pub ast: *mut zend_ast,
9632    pub str_: *mut zend_string,
9633    pub num: zend_ulong,
9634    pub ptr: *mut ::std::os::raw::c_uchar,
9635    pub ident: zend_lexer_ident_ref,
9636    _bindgen_union_align: u64,
9637}
9638#[test]
9639fn bindgen_test_layout__zend_parser_stack_elem() {
9640    assert_eq!(
9641        ::std::mem::size_of::<_zend_parser_stack_elem>(),
9642        8usize,
9643        concat!("Size of: ", stringify!(_zend_parser_stack_elem))
9644    );
9645    assert_eq!(
9646        ::std::mem::align_of::<_zend_parser_stack_elem>(),
9647        8usize,
9648        concat!("Alignment of ", stringify!(_zend_parser_stack_elem))
9649    );
9650    assert_eq!(
9651        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).ast as *const _ as usize },
9652        0usize,
9653        concat!(
9654            "Offset of field: ",
9655            stringify!(_zend_parser_stack_elem),
9656            "::",
9657            stringify!(ast)
9658        )
9659    );
9660    assert_eq!(
9661        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).str_ as *const _ as usize },
9662        0usize,
9663        concat!(
9664            "Offset of field: ",
9665            stringify!(_zend_parser_stack_elem),
9666            "::",
9667            stringify!(str_)
9668        )
9669    );
9670    assert_eq!(
9671        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).num as *const _ as usize },
9672        0usize,
9673        concat!(
9674            "Offset of field: ",
9675            stringify!(_zend_parser_stack_elem),
9676            "::",
9677            stringify!(num)
9678        )
9679    );
9680    assert_eq!(
9681        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).ptr as *const _ as usize },
9682        0usize,
9683        concat!(
9684            "Offset of field: ",
9685            stringify!(_zend_parser_stack_elem),
9686            "::",
9687            stringify!(ptr)
9688        )
9689    );
9690    assert_eq!(
9691        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).ident as *const _ as usize },
9692        0usize,
9693        concat!(
9694            "Offset of field: ",
9695            stringify!(_zend_parser_stack_elem),
9696            "::",
9697            stringify!(ident)
9698        )
9699    );
9700}
9701pub type zend_parser_stack_elem = _zend_parser_stack_elem;
9702extern "C" {
9703    pub fn zend_compile_top_stmt(ast: *mut zend_ast);
9704}
9705extern "C" {
9706    pub fn zend_compile_stmt(ast: *mut zend_ast);
9707}
9708extern "C" {
9709    pub fn zend_compile_expr(node: *mut znode, ast: *mut zend_ast);
9710}
9711extern "C" {
9712    pub fn zend_compile_var(
9713        node: *mut znode,
9714        ast: *mut zend_ast,
9715        type_: u32,
9716        by_ref: bool,
9717    ) -> *mut zend_op;
9718}
9719extern "C" {
9720    pub fn zend_eval_const_expr(ast_ptr: *mut *mut zend_ast);
9721}
9722extern "C" {
9723    pub fn zend_const_expr_to_zval(result: *mut zval, ast_ptr: *mut *mut zend_ast);
9724}
9725pub type user_opcode_handler_t = ::std::option::Option<
9726    unsafe extern "C" fn(execute_data: *mut zend_execute_data) -> ::std::os::raw::c_int,
9727>;
9728#[repr(C)]
9729#[derive(Copy, Clone)]
9730pub struct _zend_op {
9731    pub handler: *const ::std::os::raw::c_void,
9732    pub op1: znode_op,
9733    pub op2: znode_op,
9734    pub result: znode_op,
9735    pub extended_value: u32,
9736    pub lineno: u32,
9737    pub opcode: zend_uchar,
9738    pub op1_type: zend_uchar,
9739    pub op2_type: zend_uchar,
9740    pub result_type: zend_uchar,
9741}
9742#[test]
9743fn bindgen_test_layout__zend_op() {
9744    assert_eq!(
9745        ::std::mem::size_of::<_zend_op>(),
9746        32usize,
9747        concat!("Size of: ", stringify!(_zend_op))
9748    );
9749    assert_eq!(
9750        ::std::mem::align_of::<_zend_op>(),
9751        8usize,
9752        concat!("Alignment of ", stringify!(_zend_op))
9753    );
9754    assert_eq!(
9755        unsafe { &(*(::std::ptr::null::<_zend_op>())).handler as *const _ as usize },
9756        0usize,
9757        concat!(
9758            "Offset of field: ",
9759            stringify!(_zend_op),
9760            "::",
9761            stringify!(handler)
9762        )
9763    );
9764    assert_eq!(
9765        unsafe { &(*(::std::ptr::null::<_zend_op>())).op1 as *const _ as usize },
9766        8usize,
9767        concat!(
9768            "Offset of field: ",
9769            stringify!(_zend_op),
9770            "::",
9771            stringify!(op1)
9772        )
9773    );
9774    assert_eq!(
9775        unsafe { &(*(::std::ptr::null::<_zend_op>())).op2 as *const _ as usize },
9776        12usize,
9777        concat!(
9778            "Offset of field: ",
9779            stringify!(_zend_op),
9780            "::",
9781            stringify!(op2)
9782        )
9783    );
9784    assert_eq!(
9785        unsafe { &(*(::std::ptr::null::<_zend_op>())).result as *const _ as usize },
9786        16usize,
9787        concat!(
9788            "Offset of field: ",
9789            stringify!(_zend_op),
9790            "::",
9791            stringify!(result)
9792        )
9793    );
9794    assert_eq!(
9795        unsafe { &(*(::std::ptr::null::<_zend_op>())).extended_value as *const _ as usize },
9796        20usize,
9797        concat!(
9798            "Offset of field: ",
9799            stringify!(_zend_op),
9800            "::",
9801            stringify!(extended_value)
9802        )
9803    );
9804    assert_eq!(
9805        unsafe { &(*(::std::ptr::null::<_zend_op>())).lineno as *const _ as usize },
9806        24usize,
9807        concat!(
9808            "Offset of field: ",
9809            stringify!(_zend_op),
9810            "::",
9811            stringify!(lineno)
9812        )
9813    );
9814    assert_eq!(
9815        unsafe { &(*(::std::ptr::null::<_zend_op>())).opcode as *const _ as usize },
9816        28usize,
9817        concat!(
9818            "Offset of field: ",
9819            stringify!(_zend_op),
9820            "::",
9821            stringify!(opcode)
9822        )
9823    );
9824    assert_eq!(
9825        unsafe { &(*(::std::ptr::null::<_zend_op>())).op1_type as *const _ as usize },
9826        29usize,
9827        concat!(
9828            "Offset of field: ",
9829            stringify!(_zend_op),
9830            "::",
9831            stringify!(op1_type)
9832        )
9833    );
9834    assert_eq!(
9835        unsafe { &(*(::std::ptr::null::<_zend_op>())).op2_type as *const _ as usize },
9836        30usize,
9837        concat!(
9838            "Offset of field: ",
9839            stringify!(_zend_op),
9840            "::",
9841            stringify!(op2_type)
9842        )
9843    );
9844    assert_eq!(
9845        unsafe { &(*(::std::ptr::null::<_zend_op>())).result_type as *const _ as usize },
9846        31usize,
9847        concat!(
9848            "Offset of field: ",
9849            stringify!(_zend_op),
9850            "::",
9851            stringify!(result_type)
9852        )
9853    );
9854}
9855#[repr(C)]
9856#[derive(Debug, Copy, Clone)]
9857pub struct _zend_brk_cont_element {
9858    pub start: ::std::os::raw::c_int,
9859    pub cont: ::std::os::raw::c_int,
9860    pub brk: ::std::os::raw::c_int,
9861    pub parent: ::std::os::raw::c_int,
9862    pub is_switch: zend_bool,
9863}
9864#[test]
9865fn bindgen_test_layout__zend_brk_cont_element() {
9866    assert_eq!(
9867        ::std::mem::size_of::<_zend_brk_cont_element>(),
9868        20usize,
9869        concat!("Size of: ", stringify!(_zend_brk_cont_element))
9870    );
9871    assert_eq!(
9872        ::std::mem::align_of::<_zend_brk_cont_element>(),
9873        4usize,
9874        concat!("Alignment of ", stringify!(_zend_brk_cont_element))
9875    );
9876    assert_eq!(
9877        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).start as *const _ as usize },
9878        0usize,
9879        concat!(
9880            "Offset of field: ",
9881            stringify!(_zend_brk_cont_element),
9882            "::",
9883            stringify!(start)
9884        )
9885    );
9886    assert_eq!(
9887        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).cont as *const _ as usize },
9888        4usize,
9889        concat!(
9890            "Offset of field: ",
9891            stringify!(_zend_brk_cont_element),
9892            "::",
9893            stringify!(cont)
9894        )
9895    );
9896    assert_eq!(
9897        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).brk as *const _ as usize },
9898        8usize,
9899        concat!(
9900            "Offset of field: ",
9901            stringify!(_zend_brk_cont_element),
9902            "::",
9903            stringify!(brk)
9904        )
9905    );
9906    assert_eq!(
9907        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).parent as *const _ as usize },
9908        12usize,
9909        concat!(
9910            "Offset of field: ",
9911            stringify!(_zend_brk_cont_element),
9912            "::",
9913            stringify!(parent)
9914        )
9915    );
9916    assert_eq!(
9917        unsafe {
9918            &(*(::std::ptr::null::<_zend_brk_cont_element>())).is_switch as *const _ as usize
9919        },
9920        16usize,
9921        concat!(
9922            "Offset of field: ",
9923            stringify!(_zend_brk_cont_element),
9924            "::",
9925            stringify!(is_switch)
9926        )
9927    );
9928}
9929pub type zend_brk_cont_element = _zend_brk_cont_element;
9930#[repr(C)]
9931#[derive(Debug, Copy, Clone)]
9932pub struct _zend_label {
9933    pub brk_cont: ::std::os::raw::c_int,
9934    pub opline_num: u32,
9935}
9936#[test]
9937fn bindgen_test_layout__zend_label() {
9938    assert_eq!(
9939        ::std::mem::size_of::<_zend_label>(),
9940        8usize,
9941        concat!("Size of: ", stringify!(_zend_label))
9942    );
9943    assert_eq!(
9944        ::std::mem::align_of::<_zend_label>(),
9945        4usize,
9946        concat!("Alignment of ", stringify!(_zend_label))
9947    );
9948    assert_eq!(
9949        unsafe { &(*(::std::ptr::null::<_zend_label>())).brk_cont as *const _ as usize },
9950        0usize,
9951        concat!(
9952            "Offset of field: ",
9953            stringify!(_zend_label),
9954            "::",
9955            stringify!(brk_cont)
9956        )
9957    );
9958    assert_eq!(
9959        unsafe { &(*(::std::ptr::null::<_zend_label>())).opline_num as *const _ as usize },
9960        4usize,
9961        concat!(
9962            "Offset of field: ",
9963            stringify!(_zend_label),
9964            "::",
9965            stringify!(opline_num)
9966        )
9967    );
9968}
9969pub type zend_label = _zend_label;
9970#[repr(C)]
9971#[derive(Debug, Copy, Clone)]
9972pub struct _zend_try_catch_element {
9973    pub try_op: u32,
9974    pub catch_op: u32,
9975    pub finally_op: u32,
9976    pub finally_end: u32,
9977}
9978#[test]
9979fn bindgen_test_layout__zend_try_catch_element() {
9980    assert_eq!(
9981        ::std::mem::size_of::<_zend_try_catch_element>(),
9982        16usize,
9983        concat!("Size of: ", stringify!(_zend_try_catch_element))
9984    );
9985    assert_eq!(
9986        ::std::mem::align_of::<_zend_try_catch_element>(),
9987        4usize,
9988        concat!("Alignment of ", stringify!(_zend_try_catch_element))
9989    );
9990    assert_eq!(
9991        unsafe { &(*(::std::ptr::null::<_zend_try_catch_element>())).try_op as *const _ as usize },
9992        0usize,
9993        concat!(
9994            "Offset of field: ",
9995            stringify!(_zend_try_catch_element),
9996            "::",
9997            stringify!(try_op)
9998        )
9999    );
10000    assert_eq!(
10001        unsafe {
10002            &(*(::std::ptr::null::<_zend_try_catch_element>())).catch_op as *const _ as usize
10003        },
10004        4usize,
10005        concat!(
10006            "Offset of field: ",
10007            stringify!(_zend_try_catch_element),
10008            "::",
10009            stringify!(catch_op)
10010        )
10011    );
10012    assert_eq!(
10013        unsafe {
10014            &(*(::std::ptr::null::<_zend_try_catch_element>())).finally_op as *const _ as usize
10015        },
10016        8usize,
10017        concat!(
10018            "Offset of field: ",
10019            stringify!(_zend_try_catch_element),
10020            "::",
10021            stringify!(finally_op)
10022        )
10023    );
10024    assert_eq!(
10025        unsafe {
10026            &(*(::std::ptr::null::<_zend_try_catch_element>())).finally_end as *const _ as usize
10027        },
10028        12usize,
10029        concat!(
10030            "Offset of field: ",
10031            stringify!(_zend_try_catch_element),
10032            "::",
10033            stringify!(finally_end)
10034        )
10035    );
10036}
10037pub type zend_try_catch_element = _zend_try_catch_element;
10038#[repr(C)]
10039#[derive(Debug, Copy, Clone)]
10040pub struct _zend_live_range {
10041    pub var: u32,
10042    pub start: u32,
10043    pub end: u32,
10044}
10045#[test]
10046fn bindgen_test_layout__zend_live_range() {
10047    assert_eq!(
10048        ::std::mem::size_of::<_zend_live_range>(),
10049        12usize,
10050        concat!("Size of: ", stringify!(_zend_live_range))
10051    );
10052    assert_eq!(
10053        ::std::mem::align_of::<_zend_live_range>(),
10054        4usize,
10055        concat!("Alignment of ", stringify!(_zend_live_range))
10056    );
10057    assert_eq!(
10058        unsafe { &(*(::std::ptr::null::<_zend_live_range>())).var as *const _ as usize },
10059        0usize,
10060        concat!(
10061            "Offset of field: ",
10062            stringify!(_zend_live_range),
10063            "::",
10064            stringify!(var)
10065        )
10066    );
10067    assert_eq!(
10068        unsafe { &(*(::std::ptr::null::<_zend_live_range>())).start as *const _ as usize },
10069        4usize,
10070        concat!(
10071            "Offset of field: ",
10072            stringify!(_zend_live_range),
10073            "::",
10074            stringify!(start)
10075        )
10076    );
10077    assert_eq!(
10078        unsafe { &(*(::std::ptr::null::<_zend_live_range>())).end as *const _ as usize },
10079        8usize,
10080        concat!(
10081            "Offset of field: ",
10082            stringify!(_zend_live_range),
10083            "::",
10084            stringify!(end)
10085        )
10086    );
10087}
10088pub type zend_live_range = _zend_live_range;
10089#[repr(C)]
10090#[derive(Debug, Copy, Clone)]
10091pub struct _zend_oparray_context {
10092    pub opcodes_size: u32,
10093    pub vars_size: ::std::os::raw::c_int,
10094    pub literals_size: ::std::os::raw::c_int,
10095    pub fast_call_var: u32,
10096    pub try_catch_offset: u32,
10097    pub current_brk_cont: ::std::os::raw::c_int,
10098    pub last_brk_cont: ::std::os::raw::c_int,
10099    pub brk_cont_array: *mut zend_brk_cont_element,
10100    pub labels: *mut HashTable,
10101}
10102#[test]
10103fn bindgen_test_layout__zend_oparray_context() {
10104    assert_eq!(
10105        ::std::mem::size_of::<_zend_oparray_context>(),
10106        48usize,
10107        concat!("Size of: ", stringify!(_zend_oparray_context))
10108    );
10109    assert_eq!(
10110        ::std::mem::align_of::<_zend_oparray_context>(),
10111        8usize,
10112        concat!("Alignment of ", stringify!(_zend_oparray_context))
10113    );
10114    assert_eq!(
10115        unsafe {
10116            &(*(::std::ptr::null::<_zend_oparray_context>())).opcodes_size as *const _ as usize
10117        },
10118        0usize,
10119        concat!(
10120            "Offset of field: ",
10121            stringify!(_zend_oparray_context),
10122            "::",
10123            stringify!(opcodes_size)
10124        )
10125    );
10126    assert_eq!(
10127        unsafe { &(*(::std::ptr::null::<_zend_oparray_context>())).vars_size as *const _ as usize },
10128        4usize,
10129        concat!(
10130            "Offset of field: ",
10131            stringify!(_zend_oparray_context),
10132            "::",
10133            stringify!(vars_size)
10134        )
10135    );
10136    assert_eq!(
10137        unsafe {
10138            &(*(::std::ptr::null::<_zend_oparray_context>())).literals_size as *const _ as usize
10139        },
10140        8usize,
10141        concat!(
10142            "Offset of field: ",
10143            stringify!(_zend_oparray_context),
10144            "::",
10145            stringify!(literals_size)
10146        )
10147    );
10148    assert_eq!(
10149        unsafe {
10150            &(*(::std::ptr::null::<_zend_oparray_context>())).fast_call_var as *const _ as usize
10151        },
10152        12usize,
10153        concat!(
10154            "Offset of field: ",
10155            stringify!(_zend_oparray_context),
10156            "::",
10157            stringify!(fast_call_var)
10158        )
10159    );
10160    assert_eq!(
10161        unsafe {
10162            &(*(::std::ptr::null::<_zend_oparray_context>())).try_catch_offset as *const _ as usize
10163        },
10164        16usize,
10165        concat!(
10166            "Offset of field: ",
10167            stringify!(_zend_oparray_context),
10168            "::",
10169            stringify!(try_catch_offset)
10170        )
10171    );
10172    assert_eq!(
10173        unsafe {
10174            &(*(::std::ptr::null::<_zend_oparray_context>())).current_brk_cont as *const _ as usize
10175        },
10176        20usize,
10177        concat!(
10178            "Offset of field: ",
10179            stringify!(_zend_oparray_context),
10180            "::",
10181            stringify!(current_brk_cont)
10182        )
10183    );
10184    assert_eq!(
10185        unsafe {
10186            &(*(::std::ptr::null::<_zend_oparray_context>())).last_brk_cont as *const _ as usize
10187        },
10188        24usize,
10189        concat!(
10190            "Offset of field: ",
10191            stringify!(_zend_oparray_context),
10192            "::",
10193            stringify!(last_brk_cont)
10194        )
10195    );
10196    assert_eq!(
10197        unsafe {
10198            &(*(::std::ptr::null::<_zend_oparray_context>())).brk_cont_array as *const _ as usize
10199        },
10200        32usize,
10201        concat!(
10202            "Offset of field: ",
10203            stringify!(_zend_oparray_context),
10204            "::",
10205            stringify!(brk_cont_array)
10206        )
10207    );
10208    assert_eq!(
10209        unsafe { &(*(::std::ptr::null::<_zend_oparray_context>())).labels as *const _ as usize },
10210        40usize,
10211        concat!(
10212            "Offset of field: ",
10213            stringify!(_zend_oparray_context),
10214            "::",
10215            stringify!(labels)
10216        )
10217    );
10218}
10219pub type zend_oparray_context = _zend_oparray_context;
10220extern "C" {
10221    pub fn zend_visibility_string(fn_flags: u32) -> *mut ::std::os::raw::c_char;
10222}
10223#[repr(C)]
10224#[derive(Debug, Copy, Clone)]
10225pub struct _zend_property_info {
10226    pub offset: u32,
10227    pub flags: u32,
10228    pub name: *mut zend_string,
10229    pub doc_comment: *mut zend_string,
10230    pub attributes: *mut HashTable,
10231    pub ce: *mut zend_class_entry,
10232    pub type_: zend_type,
10233}
10234#[test]
10235fn bindgen_test_layout__zend_property_info() {
10236    assert_eq!(
10237        ::std::mem::size_of::<_zend_property_info>(),
10238        56usize,
10239        concat!("Size of: ", stringify!(_zend_property_info))
10240    );
10241    assert_eq!(
10242        ::std::mem::align_of::<_zend_property_info>(),
10243        8usize,
10244        concat!("Alignment of ", stringify!(_zend_property_info))
10245    );
10246    assert_eq!(
10247        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).offset as *const _ as usize },
10248        0usize,
10249        concat!(
10250            "Offset of field: ",
10251            stringify!(_zend_property_info),
10252            "::",
10253            stringify!(offset)
10254        )
10255    );
10256    assert_eq!(
10257        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).flags as *const _ as usize },
10258        4usize,
10259        concat!(
10260            "Offset of field: ",
10261            stringify!(_zend_property_info),
10262            "::",
10263            stringify!(flags)
10264        )
10265    );
10266    assert_eq!(
10267        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).name as *const _ as usize },
10268        8usize,
10269        concat!(
10270            "Offset of field: ",
10271            stringify!(_zend_property_info),
10272            "::",
10273            stringify!(name)
10274        )
10275    );
10276    assert_eq!(
10277        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).doc_comment as *const _ as usize },
10278        16usize,
10279        concat!(
10280            "Offset of field: ",
10281            stringify!(_zend_property_info),
10282            "::",
10283            stringify!(doc_comment)
10284        )
10285    );
10286    assert_eq!(
10287        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).attributes as *const _ as usize },
10288        24usize,
10289        concat!(
10290            "Offset of field: ",
10291            stringify!(_zend_property_info),
10292            "::",
10293            stringify!(attributes)
10294        )
10295    );
10296    assert_eq!(
10297        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).ce as *const _ as usize },
10298        32usize,
10299        concat!(
10300            "Offset of field: ",
10301            stringify!(_zend_property_info),
10302            "::",
10303            stringify!(ce)
10304        )
10305    );
10306    assert_eq!(
10307        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).type_ as *const _ as usize },
10308        40usize,
10309        concat!(
10310            "Offset of field: ",
10311            stringify!(_zend_property_info),
10312            "::",
10313            stringify!(type_)
10314        )
10315    );
10316}
10317pub type zend_property_info = _zend_property_info;
10318#[repr(C)]
10319#[derive(Copy, Clone)]
10320pub struct _zend_class_constant {
10321    pub value: zval,
10322    pub doc_comment: *mut zend_string,
10323    pub attributes: *mut HashTable,
10324    pub ce: *mut zend_class_entry,
10325}
10326#[test]
10327fn bindgen_test_layout__zend_class_constant() {
10328    assert_eq!(
10329        ::std::mem::size_of::<_zend_class_constant>(),
10330        40usize,
10331        concat!("Size of: ", stringify!(_zend_class_constant))
10332    );
10333    assert_eq!(
10334        ::std::mem::align_of::<_zend_class_constant>(),
10335        8usize,
10336        concat!("Alignment of ", stringify!(_zend_class_constant))
10337    );
10338    assert_eq!(
10339        unsafe { &(*(::std::ptr::null::<_zend_class_constant>())).value as *const _ as usize },
10340        0usize,
10341        concat!(
10342            "Offset of field: ",
10343            stringify!(_zend_class_constant),
10344            "::",
10345            stringify!(value)
10346        )
10347    );
10348    assert_eq!(
10349        unsafe {
10350            &(*(::std::ptr::null::<_zend_class_constant>())).doc_comment as *const _ as usize
10351        },
10352        16usize,
10353        concat!(
10354            "Offset of field: ",
10355            stringify!(_zend_class_constant),
10356            "::",
10357            stringify!(doc_comment)
10358        )
10359    );
10360    assert_eq!(
10361        unsafe { &(*(::std::ptr::null::<_zend_class_constant>())).attributes as *const _ as usize },
10362        24usize,
10363        concat!(
10364            "Offset of field: ",
10365            stringify!(_zend_class_constant),
10366            "::",
10367            stringify!(attributes)
10368        )
10369    );
10370    assert_eq!(
10371        unsafe { &(*(::std::ptr::null::<_zend_class_constant>())).ce as *const _ as usize },
10372        32usize,
10373        concat!(
10374            "Offset of field: ",
10375            stringify!(_zend_class_constant),
10376            "::",
10377            stringify!(ce)
10378        )
10379    );
10380}
10381pub type zend_class_constant = _zend_class_constant;
10382#[repr(C)]
10383#[derive(Debug, Copy, Clone)]
10384pub struct _zend_internal_arg_info {
10385    pub name: *const ::std::os::raw::c_char,
10386    pub type_: zend_type,
10387    pub default_value: *const ::std::os::raw::c_char,
10388}
10389#[test]
10390fn bindgen_test_layout__zend_internal_arg_info() {
10391    assert_eq!(
10392        ::std::mem::size_of::<_zend_internal_arg_info>(),
10393        32usize,
10394        concat!("Size of: ", stringify!(_zend_internal_arg_info))
10395    );
10396    assert_eq!(
10397        ::std::mem::align_of::<_zend_internal_arg_info>(),
10398        8usize,
10399        concat!("Alignment of ", stringify!(_zend_internal_arg_info))
10400    );
10401    assert_eq!(
10402        unsafe { &(*(::std::ptr::null::<_zend_internal_arg_info>())).name as *const _ as usize },
10403        0usize,
10404        concat!(
10405            "Offset of field: ",
10406            stringify!(_zend_internal_arg_info),
10407            "::",
10408            stringify!(name)
10409        )
10410    );
10411    assert_eq!(
10412        unsafe { &(*(::std::ptr::null::<_zend_internal_arg_info>())).type_ as *const _ as usize },
10413        8usize,
10414        concat!(
10415            "Offset of field: ",
10416            stringify!(_zend_internal_arg_info),
10417            "::",
10418            stringify!(type_)
10419        )
10420    );
10421    assert_eq!(
10422        unsafe {
10423            &(*(::std::ptr::null::<_zend_internal_arg_info>())).default_value as *const _ as usize
10424        },
10425        24usize,
10426        concat!(
10427            "Offset of field: ",
10428            stringify!(_zend_internal_arg_info),
10429            "::",
10430            stringify!(default_value)
10431        )
10432    );
10433}
10434pub type zend_internal_arg_info = _zend_internal_arg_info;
10435#[repr(C)]
10436#[derive(Debug, Copy, Clone)]
10437pub struct _zend_arg_info {
10438    pub name: *mut zend_string,
10439    pub type_: zend_type,
10440    pub default_value: *mut zend_string,
10441}
10442#[test]
10443fn bindgen_test_layout__zend_arg_info() {
10444    assert_eq!(
10445        ::std::mem::size_of::<_zend_arg_info>(),
10446        32usize,
10447        concat!("Size of: ", stringify!(_zend_arg_info))
10448    );
10449    assert_eq!(
10450        ::std::mem::align_of::<_zend_arg_info>(),
10451        8usize,
10452        concat!("Alignment of ", stringify!(_zend_arg_info))
10453    );
10454    assert_eq!(
10455        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).name as *const _ as usize },
10456        0usize,
10457        concat!(
10458            "Offset of field: ",
10459            stringify!(_zend_arg_info),
10460            "::",
10461            stringify!(name)
10462        )
10463    );
10464    assert_eq!(
10465        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).type_ as *const _ as usize },
10466        8usize,
10467        concat!(
10468            "Offset of field: ",
10469            stringify!(_zend_arg_info),
10470            "::",
10471            stringify!(type_)
10472        )
10473    );
10474    assert_eq!(
10475        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).default_value as *const _ as usize },
10476        24usize,
10477        concat!(
10478            "Offset of field: ",
10479            stringify!(_zend_arg_info),
10480            "::",
10481            stringify!(default_value)
10482        )
10483    );
10484}
10485pub type zend_arg_info = _zend_arg_info;
10486#[repr(C)]
10487#[derive(Debug, Copy, Clone)]
10488pub struct _zend_internal_function_info {
10489    pub required_num_args: zend_uintptr_t,
10490    pub type_: zend_type,
10491    pub default_value: *const ::std::os::raw::c_char,
10492}
10493#[test]
10494fn bindgen_test_layout__zend_internal_function_info() {
10495    assert_eq!(
10496        ::std::mem::size_of::<_zend_internal_function_info>(),
10497        32usize,
10498        concat!("Size of: ", stringify!(_zend_internal_function_info))
10499    );
10500    assert_eq!(
10501        ::std::mem::align_of::<_zend_internal_function_info>(),
10502        8usize,
10503        concat!("Alignment of ", stringify!(_zend_internal_function_info))
10504    );
10505    assert_eq!(
10506        unsafe {
10507            &(*(::std::ptr::null::<_zend_internal_function_info>())).required_num_args as *const _
10508                as usize
10509        },
10510        0usize,
10511        concat!(
10512            "Offset of field: ",
10513            stringify!(_zend_internal_function_info),
10514            "::",
10515            stringify!(required_num_args)
10516        )
10517    );
10518    assert_eq!(
10519        unsafe {
10520            &(*(::std::ptr::null::<_zend_internal_function_info>())).type_ as *const _ as usize
10521        },
10522        8usize,
10523        concat!(
10524            "Offset of field: ",
10525            stringify!(_zend_internal_function_info),
10526            "::",
10527            stringify!(type_)
10528        )
10529    );
10530    assert_eq!(
10531        unsafe {
10532            &(*(::std::ptr::null::<_zend_internal_function_info>())).default_value as *const _
10533                as usize
10534        },
10535        24usize,
10536        concat!(
10537            "Offset of field: ",
10538            stringify!(_zend_internal_function_info),
10539            "::",
10540            stringify!(default_value)
10541        )
10542    );
10543}
10544pub type zend_internal_function_info = _zend_internal_function_info;
10545#[repr(C)]
10546#[derive(Debug, Copy, Clone)]
10547pub struct _zend_op_array {
10548    pub type_: zend_uchar,
10549    pub arg_flags: [zend_uchar; 3usize],
10550    pub fn_flags: u32,
10551    pub function_name: *mut zend_string,
10552    pub scope: *mut zend_class_entry,
10553    pub prototype: *mut zend_function,
10554    pub num_args: u32,
10555    pub required_num_args: u32,
10556    pub arg_info: *mut zend_arg_info,
10557    pub attributes: *mut HashTable,
10558    pub cache_size: ::std::os::raw::c_int,
10559    pub last_var: ::std::os::raw::c_int,
10560    pub T: u32,
10561    pub last: u32,
10562    pub opcodes: *mut zend_op,
10563    pub run_time_cache__ptr: *mut *mut *mut ::std::os::raw::c_void,
10564    pub static_variables_ptr__ptr: *mut *mut HashTable,
10565    pub static_variables: *mut HashTable,
10566    pub vars: *mut *mut zend_string,
10567    pub refcount: *mut u32,
10568    pub last_live_range: ::std::os::raw::c_int,
10569    pub last_try_catch: ::std::os::raw::c_int,
10570    pub live_range: *mut zend_live_range,
10571    pub try_catch_array: *mut zend_try_catch_element,
10572    pub filename: *mut zend_string,
10573    pub line_start: u32,
10574    pub line_end: u32,
10575    pub doc_comment: *mut zend_string,
10576    pub last_literal: ::std::os::raw::c_int,
10577    pub literals: *mut zval,
10578    pub reserved: [*mut ::std::os::raw::c_void; 6usize],
10579}
10580#[test]
10581fn bindgen_test_layout__zend_op_array() {
10582    assert_eq!(
10583        ::std::mem::size_of::<_zend_op_array>(),
10584        232usize,
10585        concat!("Size of: ", stringify!(_zend_op_array))
10586    );
10587    assert_eq!(
10588        ::std::mem::align_of::<_zend_op_array>(),
10589        8usize,
10590        concat!("Alignment of ", stringify!(_zend_op_array))
10591    );
10592    assert_eq!(
10593        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).type_ as *const _ as usize },
10594        0usize,
10595        concat!(
10596            "Offset of field: ",
10597            stringify!(_zend_op_array),
10598            "::",
10599            stringify!(type_)
10600        )
10601    );
10602    assert_eq!(
10603        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).arg_flags as *const _ as usize },
10604        1usize,
10605        concat!(
10606            "Offset of field: ",
10607            stringify!(_zend_op_array),
10608            "::",
10609            stringify!(arg_flags)
10610        )
10611    );
10612    assert_eq!(
10613        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).fn_flags as *const _ as usize },
10614        4usize,
10615        concat!(
10616            "Offset of field: ",
10617            stringify!(_zend_op_array),
10618            "::",
10619            stringify!(fn_flags)
10620        )
10621    );
10622    assert_eq!(
10623        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).function_name as *const _ as usize },
10624        8usize,
10625        concat!(
10626            "Offset of field: ",
10627            stringify!(_zend_op_array),
10628            "::",
10629            stringify!(function_name)
10630        )
10631    );
10632    assert_eq!(
10633        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).scope as *const _ as usize },
10634        16usize,
10635        concat!(
10636            "Offset of field: ",
10637            stringify!(_zend_op_array),
10638            "::",
10639            stringify!(scope)
10640        )
10641    );
10642    assert_eq!(
10643        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).prototype as *const _ as usize },
10644        24usize,
10645        concat!(
10646            "Offset of field: ",
10647            stringify!(_zend_op_array),
10648            "::",
10649            stringify!(prototype)
10650        )
10651    );
10652    assert_eq!(
10653        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).num_args as *const _ as usize },
10654        32usize,
10655        concat!(
10656            "Offset of field: ",
10657            stringify!(_zend_op_array),
10658            "::",
10659            stringify!(num_args)
10660        )
10661    );
10662    assert_eq!(
10663        unsafe {
10664            &(*(::std::ptr::null::<_zend_op_array>())).required_num_args as *const _ as usize
10665        },
10666        36usize,
10667        concat!(
10668            "Offset of field: ",
10669            stringify!(_zend_op_array),
10670            "::",
10671            stringify!(required_num_args)
10672        )
10673    );
10674    assert_eq!(
10675        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).arg_info as *const _ as usize },
10676        40usize,
10677        concat!(
10678            "Offset of field: ",
10679            stringify!(_zend_op_array),
10680            "::",
10681            stringify!(arg_info)
10682        )
10683    );
10684    assert_eq!(
10685        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).attributes as *const _ as usize },
10686        48usize,
10687        concat!(
10688            "Offset of field: ",
10689            stringify!(_zend_op_array),
10690            "::",
10691            stringify!(attributes)
10692        )
10693    );
10694    assert_eq!(
10695        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).cache_size as *const _ as usize },
10696        56usize,
10697        concat!(
10698            "Offset of field: ",
10699            stringify!(_zend_op_array),
10700            "::",
10701            stringify!(cache_size)
10702        )
10703    );
10704    assert_eq!(
10705        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_var as *const _ as usize },
10706        60usize,
10707        concat!(
10708            "Offset of field: ",
10709            stringify!(_zend_op_array),
10710            "::",
10711            stringify!(last_var)
10712        )
10713    );
10714    assert_eq!(
10715        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).T as *const _ as usize },
10716        64usize,
10717        concat!(
10718            "Offset of field: ",
10719            stringify!(_zend_op_array),
10720            "::",
10721            stringify!(T)
10722        )
10723    );
10724    assert_eq!(
10725        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last as *const _ as usize },
10726        68usize,
10727        concat!(
10728            "Offset of field: ",
10729            stringify!(_zend_op_array),
10730            "::",
10731            stringify!(last)
10732        )
10733    );
10734    assert_eq!(
10735        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).opcodes as *const _ as usize },
10736        72usize,
10737        concat!(
10738            "Offset of field: ",
10739            stringify!(_zend_op_array),
10740            "::",
10741            stringify!(opcodes)
10742        )
10743    );
10744    assert_eq!(
10745        unsafe {
10746            &(*(::std::ptr::null::<_zend_op_array>())).run_time_cache__ptr as *const _ as usize
10747        },
10748        80usize,
10749        concat!(
10750            "Offset of field: ",
10751            stringify!(_zend_op_array),
10752            "::",
10753            stringify!(run_time_cache__ptr)
10754        )
10755    );
10756    assert_eq!(
10757        unsafe {
10758            &(*(::std::ptr::null::<_zend_op_array>())).static_variables_ptr__ptr as *const _
10759                as usize
10760        },
10761        88usize,
10762        concat!(
10763            "Offset of field: ",
10764            stringify!(_zend_op_array),
10765            "::",
10766            stringify!(static_variables_ptr__ptr)
10767        )
10768    );
10769    assert_eq!(
10770        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).static_variables as *const _ as usize },
10771        96usize,
10772        concat!(
10773            "Offset of field: ",
10774            stringify!(_zend_op_array),
10775            "::",
10776            stringify!(static_variables)
10777        )
10778    );
10779    assert_eq!(
10780        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).vars as *const _ as usize },
10781        104usize,
10782        concat!(
10783            "Offset of field: ",
10784            stringify!(_zend_op_array),
10785            "::",
10786            stringify!(vars)
10787        )
10788    );
10789    assert_eq!(
10790        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).refcount as *const _ as usize },
10791        112usize,
10792        concat!(
10793            "Offset of field: ",
10794            stringify!(_zend_op_array),
10795            "::",
10796            stringify!(refcount)
10797        )
10798    );
10799    assert_eq!(
10800        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_live_range as *const _ as usize },
10801        120usize,
10802        concat!(
10803            "Offset of field: ",
10804            stringify!(_zend_op_array),
10805            "::",
10806            stringify!(last_live_range)
10807        )
10808    );
10809    assert_eq!(
10810        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_try_catch as *const _ as usize },
10811        124usize,
10812        concat!(
10813            "Offset of field: ",
10814            stringify!(_zend_op_array),
10815            "::",
10816            stringify!(last_try_catch)
10817        )
10818    );
10819    assert_eq!(
10820        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).live_range as *const _ as usize },
10821        128usize,
10822        concat!(
10823            "Offset of field: ",
10824            stringify!(_zend_op_array),
10825            "::",
10826            stringify!(live_range)
10827        )
10828    );
10829    assert_eq!(
10830        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).try_catch_array as *const _ as usize },
10831        136usize,
10832        concat!(
10833            "Offset of field: ",
10834            stringify!(_zend_op_array),
10835            "::",
10836            stringify!(try_catch_array)
10837        )
10838    );
10839    assert_eq!(
10840        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).filename as *const _ as usize },
10841        144usize,
10842        concat!(
10843            "Offset of field: ",
10844            stringify!(_zend_op_array),
10845            "::",
10846            stringify!(filename)
10847        )
10848    );
10849    assert_eq!(
10850        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).line_start as *const _ as usize },
10851        152usize,
10852        concat!(
10853            "Offset of field: ",
10854            stringify!(_zend_op_array),
10855            "::",
10856            stringify!(line_start)
10857        )
10858    );
10859    assert_eq!(
10860        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).line_end as *const _ as usize },
10861        156usize,
10862        concat!(
10863            "Offset of field: ",
10864            stringify!(_zend_op_array),
10865            "::",
10866            stringify!(line_end)
10867        )
10868    );
10869    assert_eq!(
10870        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).doc_comment as *const _ as usize },
10871        160usize,
10872        concat!(
10873            "Offset of field: ",
10874            stringify!(_zend_op_array),
10875            "::",
10876            stringify!(doc_comment)
10877        )
10878    );
10879    assert_eq!(
10880        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_literal as *const _ as usize },
10881        168usize,
10882        concat!(
10883            "Offset of field: ",
10884            stringify!(_zend_op_array),
10885            "::",
10886            stringify!(last_literal)
10887        )
10888    );
10889    assert_eq!(
10890        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).literals as *const _ as usize },
10891        176usize,
10892        concat!(
10893            "Offset of field: ",
10894            stringify!(_zend_op_array),
10895            "::",
10896            stringify!(literals)
10897        )
10898    );
10899    assert_eq!(
10900        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).reserved as *const _ as usize },
10901        184usize,
10902        concat!(
10903            "Offset of field: ",
10904            stringify!(_zend_op_array),
10905            "::",
10906            stringify!(reserved)
10907        )
10908    );
10909}
10910pub type zif_handler = ::std::option::Option<
10911    unsafe extern "C" fn(execute_data: *mut zend_execute_data, return_value: *mut zval),
10912>;
10913#[repr(C)]
10914#[derive(Debug, Copy, Clone)]
10915pub struct _zend_internal_function {
10916    pub type_: zend_uchar,
10917    pub arg_flags: [zend_uchar; 3usize],
10918    pub fn_flags: u32,
10919    pub function_name: *mut zend_string,
10920    pub scope: *mut zend_class_entry,
10921    pub prototype: *mut zend_function,
10922    pub num_args: u32,
10923    pub required_num_args: u32,
10924    pub arg_info: *mut zend_internal_arg_info,
10925    pub attributes: *mut HashTable,
10926    pub handler: zif_handler,
10927    pub module: *mut _zend_module_entry,
10928    pub reserved: [*mut ::std::os::raw::c_void; 6usize],
10929}
10930#[test]
10931fn bindgen_test_layout__zend_internal_function() {
10932    assert_eq!(
10933        ::std::mem::size_of::<_zend_internal_function>(),
10934        120usize,
10935        concat!("Size of: ", stringify!(_zend_internal_function))
10936    );
10937    assert_eq!(
10938        ::std::mem::align_of::<_zend_internal_function>(),
10939        8usize,
10940        concat!("Alignment of ", stringify!(_zend_internal_function))
10941    );
10942    assert_eq!(
10943        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).type_ as *const _ as usize },
10944        0usize,
10945        concat!(
10946            "Offset of field: ",
10947            stringify!(_zend_internal_function),
10948            "::",
10949            stringify!(type_)
10950        )
10951    );
10952    assert_eq!(
10953        unsafe {
10954            &(*(::std::ptr::null::<_zend_internal_function>())).arg_flags as *const _ as usize
10955        },
10956        1usize,
10957        concat!(
10958            "Offset of field: ",
10959            stringify!(_zend_internal_function),
10960            "::",
10961            stringify!(arg_flags)
10962        )
10963    );
10964    assert_eq!(
10965        unsafe {
10966            &(*(::std::ptr::null::<_zend_internal_function>())).fn_flags as *const _ as usize
10967        },
10968        4usize,
10969        concat!(
10970            "Offset of field: ",
10971            stringify!(_zend_internal_function),
10972            "::",
10973            stringify!(fn_flags)
10974        )
10975    );
10976    assert_eq!(
10977        unsafe {
10978            &(*(::std::ptr::null::<_zend_internal_function>())).function_name as *const _ as usize
10979        },
10980        8usize,
10981        concat!(
10982            "Offset of field: ",
10983            stringify!(_zend_internal_function),
10984            "::",
10985            stringify!(function_name)
10986        )
10987    );
10988    assert_eq!(
10989        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).scope as *const _ as usize },
10990        16usize,
10991        concat!(
10992            "Offset of field: ",
10993            stringify!(_zend_internal_function),
10994            "::",
10995            stringify!(scope)
10996        )
10997    );
10998    assert_eq!(
10999        unsafe {
11000            &(*(::std::ptr::null::<_zend_internal_function>())).prototype as *const _ as usize
11001        },
11002        24usize,
11003        concat!(
11004            "Offset of field: ",
11005            stringify!(_zend_internal_function),
11006            "::",
11007            stringify!(prototype)
11008        )
11009    );
11010    assert_eq!(
11011        unsafe {
11012            &(*(::std::ptr::null::<_zend_internal_function>())).num_args as *const _ as usize
11013        },
11014        32usize,
11015        concat!(
11016            "Offset of field: ",
11017            stringify!(_zend_internal_function),
11018            "::",
11019            stringify!(num_args)
11020        )
11021    );
11022    assert_eq!(
11023        unsafe {
11024            &(*(::std::ptr::null::<_zend_internal_function>())).required_num_args as *const _
11025                as usize
11026        },
11027        36usize,
11028        concat!(
11029            "Offset of field: ",
11030            stringify!(_zend_internal_function),
11031            "::",
11032            stringify!(required_num_args)
11033        )
11034    );
11035    assert_eq!(
11036        unsafe {
11037            &(*(::std::ptr::null::<_zend_internal_function>())).arg_info as *const _ as usize
11038        },
11039        40usize,
11040        concat!(
11041            "Offset of field: ",
11042            stringify!(_zend_internal_function),
11043            "::",
11044            stringify!(arg_info)
11045        )
11046    );
11047    assert_eq!(
11048        unsafe {
11049            &(*(::std::ptr::null::<_zend_internal_function>())).attributes as *const _ as usize
11050        },
11051        48usize,
11052        concat!(
11053            "Offset of field: ",
11054            stringify!(_zend_internal_function),
11055            "::",
11056            stringify!(attributes)
11057        )
11058    );
11059    assert_eq!(
11060        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).handler as *const _ as usize },
11061        56usize,
11062        concat!(
11063            "Offset of field: ",
11064            stringify!(_zend_internal_function),
11065            "::",
11066            stringify!(handler)
11067        )
11068    );
11069    assert_eq!(
11070        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).module as *const _ as usize },
11071        64usize,
11072        concat!(
11073            "Offset of field: ",
11074            stringify!(_zend_internal_function),
11075            "::",
11076            stringify!(module)
11077        )
11078    );
11079    assert_eq!(
11080        unsafe {
11081            &(*(::std::ptr::null::<_zend_internal_function>())).reserved as *const _ as usize
11082        },
11083        72usize,
11084        concat!(
11085            "Offset of field: ",
11086            stringify!(_zend_internal_function),
11087            "::",
11088            stringify!(reserved)
11089        )
11090    );
11091}
11092pub type zend_internal_function = _zend_internal_function;
11093#[repr(C)]
11094#[derive(Copy, Clone)]
11095pub union _zend_function {
11096    pub type_: zend_uchar,
11097    pub quick_arg_flags: u32,
11098    pub common: _zend_function__bindgen_ty_1,
11099    pub op_array: zend_op_array,
11100    pub internal_function: zend_internal_function,
11101    _bindgen_union_align: [u64; 29usize],
11102}
11103#[repr(C)]
11104#[derive(Debug, Copy, Clone)]
11105pub struct _zend_function__bindgen_ty_1 {
11106    pub type_: zend_uchar,
11107    pub arg_flags: [zend_uchar; 3usize],
11108    pub fn_flags: u32,
11109    pub function_name: *mut zend_string,
11110    pub scope: *mut zend_class_entry,
11111    pub prototype: *mut zend_function,
11112    pub num_args: u32,
11113    pub required_num_args: u32,
11114    pub arg_info: *mut zend_arg_info,
11115    pub attributes: *mut HashTable,
11116}
11117#[test]
11118fn bindgen_test_layout__zend_function__bindgen_ty_1() {
11119    assert_eq!(
11120        ::std::mem::size_of::<_zend_function__bindgen_ty_1>(),
11121        56usize,
11122        concat!("Size of: ", stringify!(_zend_function__bindgen_ty_1))
11123    );
11124    assert_eq!(
11125        ::std::mem::align_of::<_zend_function__bindgen_ty_1>(),
11126        8usize,
11127        concat!("Alignment of ", stringify!(_zend_function__bindgen_ty_1))
11128    );
11129    assert_eq!(
11130        unsafe {
11131            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).type_ as *const _ as usize
11132        },
11133        0usize,
11134        concat!(
11135            "Offset of field: ",
11136            stringify!(_zend_function__bindgen_ty_1),
11137            "::",
11138            stringify!(type_)
11139        )
11140    );
11141    assert_eq!(
11142        unsafe {
11143            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).arg_flags as *const _ as usize
11144        },
11145        1usize,
11146        concat!(
11147            "Offset of field: ",
11148            stringify!(_zend_function__bindgen_ty_1),
11149            "::",
11150            stringify!(arg_flags)
11151        )
11152    );
11153    assert_eq!(
11154        unsafe {
11155            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).fn_flags as *const _ as usize
11156        },
11157        4usize,
11158        concat!(
11159            "Offset of field: ",
11160            stringify!(_zend_function__bindgen_ty_1),
11161            "::",
11162            stringify!(fn_flags)
11163        )
11164    );
11165    assert_eq!(
11166        unsafe {
11167            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).function_name as *const _
11168                as usize
11169        },
11170        8usize,
11171        concat!(
11172            "Offset of field: ",
11173            stringify!(_zend_function__bindgen_ty_1),
11174            "::",
11175            stringify!(function_name)
11176        )
11177    );
11178    assert_eq!(
11179        unsafe {
11180            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).scope as *const _ as usize
11181        },
11182        16usize,
11183        concat!(
11184            "Offset of field: ",
11185            stringify!(_zend_function__bindgen_ty_1),
11186            "::",
11187            stringify!(scope)
11188        )
11189    );
11190    assert_eq!(
11191        unsafe {
11192            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).prototype as *const _ as usize
11193        },
11194        24usize,
11195        concat!(
11196            "Offset of field: ",
11197            stringify!(_zend_function__bindgen_ty_1),
11198            "::",
11199            stringify!(prototype)
11200        )
11201    );
11202    assert_eq!(
11203        unsafe {
11204            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).num_args as *const _ as usize
11205        },
11206        32usize,
11207        concat!(
11208            "Offset of field: ",
11209            stringify!(_zend_function__bindgen_ty_1),
11210            "::",
11211            stringify!(num_args)
11212        )
11213    );
11214    assert_eq!(
11215        unsafe {
11216            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).required_num_args as *const _
11217                as usize
11218        },
11219        36usize,
11220        concat!(
11221            "Offset of field: ",
11222            stringify!(_zend_function__bindgen_ty_1),
11223            "::",
11224            stringify!(required_num_args)
11225        )
11226    );
11227    assert_eq!(
11228        unsafe {
11229            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).arg_info as *const _ as usize
11230        },
11231        40usize,
11232        concat!(
11233            "Offset of field: ",
11234            stringify!(_zend_function__bindgen_ty_1),
11235            "::",
11236            stringify!(arg_info)
11237        )
11238    );
11239    assert_eq!(
11240        unsafe {
11241            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).attributes as *const _ as usize
11242        },
11243        48usize,
11244        concat!(
11245            "Offset of field: ",
11246            stringify!(_zend_function__bindgen_ty_1),
11247            "::",
11248            stringify!(attributes)
11249        )
11250    );
11251}
11252#[test]
11253fn bindgen_test_layout__zend_function() {
11254    assert_eq!(
11255        ::std::mem::size_of::<_zend_function>(),
11256        232usize,
11257        concat!("Size of: ", stringify!(_zend_function))
11258    );
11259    assert_eq!(
11260        ::std::mem::align_of::<_zend_function>(),
11261        8usize,
11262        concat!("Alignment of ", stringify!(_zend_function))
11263    );
11264    assert_eq!(
11265        unsafe { &(*(::std::ptr::null::<_zend_function>())).type_ as *const _ as usize },
11266        0usize,
11267        concat!(
11268            "Offset of field: ",
11269            stringify!(_zend_function),
11270            "::",
11271            stringify!(type_)
11272        )
11273    );
11274    assert_eq!(
11275        unsafe { &(*(::std::ptr::null::<_zend_function>())).quick_arg_flags as *const _ as usize },
11276        0usize,
11277        concat!(
11278            "Offset of field: ",
11279            stringify!(_zend_function),
11280            "::",
11281            stringify!(quick_arg_flags)
11282        )
11283    );
11284    assert_eq!(
11285        unsafe { &(*(::std::ptr::null::<_zend_function>())).common as *const _ as usize },
11286        0usize,
11287        concat!(
11288            "Offset of field: ",
11289            stringify!(_zend_function),
11290            "::",
11291            stringify!(common)
11292        )
11293    );
11294    assert_eq!(
11295        unsafe { &(*(::std::ptr::null::<_zend_function>())).op_array as *const _ as usize },
11296        0usize,
11297        concat!(
11298            "Offset of field: ",
11299            stringify!(_zend_function),
11300            "::",
11301            stringify!(op_array)
11302        )
11303    );
11304    assert_eq!(
11305        unsafe {
11306            &(*(::std::ptr::null::<_zend_function>())).internal_function as *const _ as usize
11307        },
11308        0usize,
11309        concat!(
11310            "Offset of field: ",
11311            stringify!(_zend_function),
11312            "::",
11313            stringify!(internal_function)
11314        )
11315    );
11316}
11317#[repr(C)]
11318#[derive(Copy, Clone)]
11319pub struct _zend_execute_data {
11320    pub opline: *const zend_op,
11321    pub call: *mut zend_execute_data,
11322    pub return_value: *mut zval,
11323    pub func: *mut zend_function,
11324    pub This: zval,
11325    pub prev_execute_data: *mut zend_execute_data,
11326    pub symbol_table: *mut zend_array,
11327    pub run_time_cache: *mut *mut ::std::os::raw::c_void,
11328    pub extra_named_params: *mut zend_array,
11329}
11330#[test]
11331fn bindgen_test_layout__zend_execute_data() {
11332    assert_eq!(
11333        ::std::mem::size_of::<_zend_execute_data>(),
11334        80usize,
11335        concat!("Size of: ", stringify!(_zend_execute_data))
11336    );
11337    assert_eq!(
11338        ::std::mem::align_of::<_zend_execute_data>(),
11339        8usize,
11340        concat!("Alignment of ", stringify!(_zend_execute_data))
11341    );
11342    assert_eq!(
11343        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).opline as *const _ as usize },
11344        0usize,
11345        concat!(
11346            "Offset of field: ",
11347            stringify!(_zend_execute_data),
11348            "::",
11349            stringify!(opline)
11350        )
11351    );
11352    assert_eq!(
11353        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).call as *const _ as usize },
11354        8usize,
11355        concat!(
11356            "Offset of field: ",
11357            stringify!(_zend_execute_data),
11358            "::",
11359            stringify!(call)
11360        )
11361    );
11362    assert_eq!(
11363        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).return_value as *const _ as usize },
11364        16usize,
11365        concat!(
11366            "Offset of field: ",
11367            stringify!(_zend_execute_data),
11368            "::",
11369            stringify!(return_value)
11370        )
11371    );
11372    assert_eq!(
11373        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).func as *const _ as usize },
11374        24usize,
11375        concat!(
11376            "Offset of field: ",
11377            stringify!(_zend_execute_data),
11378            "::",
11379            stringify!(func)
11380        )
11381    );
11382    assert_eq!(
11383        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).This as *const _ as usize },
11384        32usize,
11385        concat!(
11386            "Offset of field: ",
11387            stringify!(_zend_execute_data),
11388            "::",
11389            stringify!(This)
11390        )
11391    );
11392    assert_eq!(
11393        unsafe {
11394            &(*(::std::ptr::null::<_zend_execute_data>())).prev_execute_data as *const _ as usize
11395        },
11396        48usize,
11397        concat!(
11398            "Offset of field: ",
11399            stringify!(_zend_execute_data),
11400            "::",
11401            stringify!(prev_execute_data)
11402        )
11403    );
11404    assert_eq!(
11405        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).symbol_table as *const _ as usize },
11406        56usize,
11407        concat!(
11408            "Offset of field: ",
11409            stringify!(_zend_execute_data),
11410            "::",
11411            stringify!(symbol_table)
11412        )
11413    );
11414    assert_eq!(
11415        unsafe {
11416            &(*(::std::ptr::null::<_zend_execute_data>())).run_time_cache as *const _ as usize
11417        },
11418        64usize,
11419        concat!(
11420            "Offset of field: ",
11421            stringify!(_zend_execute_data),
11422            "::",
11423            stringify!(run_time_cache)
11424        )
11425    );
11426    assert_eq!(
11427        unsafe {
11428            &(*(::std::ptr::null::<_zend_execute_data>())).extra_named_params as *const _ as usize
11429        },
11430        72usize,
11431        concat!(
11432            "Offset of field: ",
11433            stringify!(_zend_execute_data),
11434            "::",
11435            stringify!(extra_named_params)
11436        )
11437    );
11438}
11439pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
11440#[repr(C)]
11441#[derive(Debug, Copy, Clone)]
11442pub struct __jmp_buf_tag {
11443    pub __jmpbuf: __jmp_buf,
11444    pub __mask_was_saved: ::std::os::raw::c_int,
11445    pub __saved_mask: __sigset_t,
11446}
11447#[test]
11448fn bindgen_test_layout___jmp_buf_tag() {
11449    assert_eq!(
11450        ::std::mem::size_of::<__jmp_buf_tag>(),
11451        200usize,
11452        concat!("Size of: ", stringify!(__jmp_buf_tag))
11453    );
11454    assert_eq!(
11455        ::std::mem::align_of::<__jmp_buf_tag>(),
11456        8usize,
11457        concat!("Alignment of ", stringify!(__jmp_buf_tag))
11458    );
11459    assert_eq!(
11460        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__jmpbuf as *const _ as usize },
11461        0usize,
11462        concat!(
11463            "Offset of field: ",
11464            stringify!(__jmp_buf_tag),
11465            "::",
11466            stringify!(__jmpbuf)
11467        )
11468    );
11469    assert_eq!(
11470        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__mask_was_saved as *const _ as usize },
11471        64usize,
11472        concat!(
11473            "Offset of field: ",
11474            stringify!(__jmp_buf_tag),
11475            "::",
11476            stringify!(__mask_was_saved)
11477        )
11478    );
11479    assert_eq!(
11480        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__saved_mask as *const _ as usize },
11481        72usize,
11482        concat!(
11483            "Offset of field: ",
11484            stringify!(__jmp_buf_tag),
11485            "::",
11486            stringify!(__saved_mask)
11487        )
11488    );
11489}
11490pub type jmp_buf = [__jmp_buf_tag; 1usize];
11491pub type zend_compiler_globals = _zend_compiler_globals;
11492pub type zend_executor_globals = _zend_executor_globals;
11493pub type zend_php_scanner_globals = _zend_php_scanner_globals;
11494pub type zend_ini_scanner_globals = _zend_ini_scanner_globals;
11495#[repr(C)]
11496#[derive(Copy, Clone)]
11497pub struct _zend_compiler_globals {
11498    pub loop_var_stack: zend_stack,
11499    pub active_class_entry: *mut zend_class_entry,
11500    pub compiled_filename: *mut zend_string,
11501    pub zend_lineno: ::std::os::raw::c_int,
11502    pub active_op_array: *mut zend_op_array,
11503    pub function_table: *mut HashTable,
11504    pub class_table: *mut HashTable,
11505    pub auto_globals: *mut HashTable,
11506    pub parse_error: zend_uchar,
11507    pub in_compilation: zend_bool,
11508    pub short_tags: zend_bool,
11509    pub unclean_shutdown: zend_bool,
11510    pub ini_parser_unbuffered_errors: zend_bool,
11511    pub open_files: zend_llist,
11512    pub ini_parser_param: *mut _zend_ini_parser_param,
11513    pub skip_shebang: zend_bool,
11514    pub increment_lineno: zend_bool,
11515    pub doc_comment: *mut zend_string,
11516    pub extra_fn_flags: u32,
11517    pub compiler_options: u32,
11518    pub context: zend_oparray_context,
11519    pub file_context: zend_file_context,
11520    pub arena: *mut zend_arena,
11521    pub interned_strings: HashTable,
11522    pub script_encoding_list: *mut *const zend_encoding,
11523    pub script_encoding_list_size: size_t,
11524    pub multibyte: zend_bool,
11525    pub detect_unicode: zend_bool,
11526    pub encoding_declared: zend_bool,
11527    pub ast: *mut zend_ast,
11528    pub ast_arena: *mut zend_arena,
11529    pub delayed_oplines_stack: zend_stack,
11530    pub memoized_exprs: *mut HashTable,
11531    pub memoize_mode: ::std::os::raw::c_int,
11532    pub map_ptr_base: *mut ::std::os::raw::c_void,
11533    pub map_ptr_size: size_t,
11534    pub map_ptr_last: size_t,
11535    pub delayed_variance_obligations: *mut HashTable,
11536    pub delayed_autoloads: *mut HashTable,
11537    pub rtd_key_counter: u32,
11538    pub short_circuiting_opnums: zend_stack,
11539}
11540#[test]
11541fn bindgen_test_layout__zend_compiler_globals() {
11542    assert_eq!(
11543        ::std::mem::size_of::<_zend_compiler_globals>(),
11544        544usize,
11545        concat!("Size of: ", stringify!(_zend_compiler_globals))
11546    );
11547    assert_eq!(
11548        ::std::mem::align_of::<_zend_compiler_globals>(),
11549        8usize,
11550        concat!("Alignment of ", stringify!(_zend_compiler_globals))
11551    );
11552    assert_eq!(
11553        unsafe {
11554            &(*(::std::ptr::null::<_zend_compiler_globals>())).loop_var_stack as *const _ as usize
11555        },
11556        0usize,
11557        concat!(
11558            "Offset of field: ",
11559            stringify!(_zend_compiler_globals),
11560            "::",
11561            stringify!(loop_var_stack)
11562        )
11563    );
11564    assert_eq!(
11565        unsafe {
11566            &(*(::std::ptr::null::<_zend_compiler_globals>())).active_class_entry as *const _
11567                as usize
11568        },
11569        24usize,
11570        concat!(
11571            "Offset of field: ",
11572            stringify!(_zend_compiler_globals),
11573            "::",
11574            stringify!(active_class_entry)
11575        )
11576    );
11577    assert_eq!(
11578        unsafe {
11579            &(*(::std::ptr::null::<_zend_compiler_globals>())).compiled_filename as *const _
11580                as usize
11581        },
11582        32usize,
11583        concat!(
11584            "Offset of field: ",
11585            stringify!(_zend_compiler_globals),
11586            "::",
11587            stringify!(compiled_filename)
11588        )
11589    );
11590    assert_eq!(
11591        unsafe {
11592            &(*(::std::ptr::null::<_zend_compiler_globals>())).zend_lineno as *const _ as usize
11593        },
11594        40usize,
11595        concat!(
11596            "Offset of field: ",
11597            stringify!(_zend_compiler_globals),
11598            "::",
11599            stringify!(zend_lineno)
11600        )
11601    );
11602    assert_eq!(
11603        unsafe {
11604            &(*(::std::ptr::null::<_zend_compiler_globals>())).active_op_array as *const _ as usize
11605        },
11606        48usize,
11607        concat!(
11608            "Offset of field: ",
11609            stringify!(_zend_compiler_globals),
11610            "::",
11611            stringify!(active_op_array)
11612        )
11613    );
11614    assert_eq!(
11615        unsafe {
11616            &(*(::std::ptr::null::<_zend_compiler_globals>())).function_table as *const _ as usize
11617        },
11618        56usize,
11619        concat!(
11620            "Offset of field: ",
11621            stringify!(_zend_compiler_globals),
11622            "::",
11623            stringify!(function_table)
11624        )
11625    );
11626    assert_eq!(
11627        unsafe {
11628            &(*(::std::ptr::null::<_zend_compiler_globals>())).class_table as *const _ as usize
11629        },
11630        64usize,
11631        concat!(
11632            "Offset of field: ",
11633            stringify!(_zend_compiler_globals),
11634            "::",
11635            stringify!(class_table)
11636        )
11637    );
11638    assert_eq!(
11639        unsafe {
11640            &(*(::std::ptr::null::<_zend_compiler_globals>())).auto_globals as *const _ as usize
11641        },
11642        72usize,
11643        concat!(
11644            "Offset of field: ",
11645            stringify!(_zend_compiler_globals),
11646            "::",
11647            stringify!(auto_globals)
11648        )
11649    );
11650    assert_eq!(
11651        unsafe {
11652            &(*(::std::ptr::null::<_zend_compiler_globals>())).parse_error as *const _ as usize
11653        },
11654        80usize,
11655        concat!(
11656            "Offset of field: ",
11657            stringify!(_zend_compiler_globals),
11658            "::",
11659            stringify!(parse_error)
11660        )
11661    );
11662    assert_eq!(
11663        unsafe {
11664            &(*(::std::ptr::null::<_zend_compiler_globals>())).in_compilation as *const _ as usize
11665        },
11666        81usize,
11667        concat!(
11668            "Offset of field: ",
11669            stringify!(_zend_compiler_globals),
11670            "::",
11671            stringify!(in_compilation)
11672        )
11673    );
11674    assert_eq!(
11675        unsafe {
11676            &(*(::std::ptr::null::<_zend_compiler_globals>())).short_tags as *const _ as usize
11677        },
11678        82usize,
11679        concat!(
11680            "Offset of field: ",
11681            stringify!(_zend_compiler_globals),
11682            "::",
11683            stringify!(short_tags)
11684        )
11685    );
11686    assert_eq!(
11687        unsafe {
11688            &(*(::std::ptr::null::<_zend_compiler_globals>())).unclean_shutdown as *const _ as usize
11689        },
11690        83usize,
11691        concat!(
11692            "Offset of field: ",
11693            stringify!(_zend_compiler_globals),
11694            "::",
11695            stringify!(unclean_shutdown)
11696        )
11697    );
11698    assert_eq!(
11699        unsafe {
11700            &(*(::std::ptr::null::<_zend_compiler_globals>())).ini_parser_unbuffered_errors
11701                as *const _ as usize
11702        },
11703        84usize,
11704        concat!(
11705            "Offset of field: ",
11706            stringify!(_zend_compiler_globals),
11707            "::",
11708            stringify!(ini_parser_unbuffered_errors)
11709        )
11710    );
11711    assert_eq!(
11712        unsafe {
11713            &(*(::std::ptr::null::<_zend_compiler_globals>())).open_files as *const _ as usize
11714        },
11715        88usize,
11716        concat!(
11717            "Offset of field: ",
11718            stringify!(_zend_compiler_globals),
11719            "::",
11720            stringify!(open_files)
11721        )
11722    );
11723    assert_eq!(
11724        unsafe {
11725            &(*(::std::ptr::null::<_zend_compiler_globals>())).ini_parser_param as *const _ as usize
11726        },
11727        144usize,
11728        concat!(
11729            "Offset of field: ",
11730            stringify!(_zend_compiler_globals),
11731            "::",
11732            stringify!(ini_parser_param)
11733        )
11734    );
11735    assert_eq!(
11736        unsafe {
11737            &(*(::std::ptr::null::<_zend_compiler_globals>())).skip_shebang as *const _ as usize
11738        },
11739        152usize,
11740        concat!(
11741            "Offset of field: ",
11742            stringify!(_zend_compiler_globals),
11743            "::",
11744            stringify!(skip_shebang)
11745        )
11746    );
11747    assert_eq!(
11748        unsafe {
11749            &(*(::std::ptr::null::<_zend_compiler_globals>())).increment_lineno as *const _ as usize
11750        },
11751        153usize,
11752        concat!(
11753            "Offset of field: ",
11754            stringify!(_zend_compiler_globals),
11755            "::",
11756            stringify!(increment_lineno)
11757        )
11758    );
11759    assert_eq!(
11760        unsafe {
11761            &(*(::std::ptr::null::<_zend_compiler_globals>())).doc_comment as *const _ as usize
11762        },
11763        160usize,
11764        concat!(
11765            "Offset of field: ",
11766            stringify!(_zend_compiler_globals),
11767            "::",
11768            stringify!(doc_comment)
11769        )
11770    );
11771    assert_eq!(
11772        unsafe {
11773            &(*(::std::ptr::null::<_zend_compiler_globals>())).extra_fn_flags as *const _ as usize
11774        },
11775        168usize,
11776        concat!(
11777            "Offset of field: ",
11778            stringify!(_zend_compiler_globals),
11779            "::",
11780            stringify!(extra_fn_flags)
11781        )
11782    );
11783    assert_eq!(
11784        unsafe {
11785            &(*(::std::ptr::null::<_zend_compiler_globals>())).compiler_options as *const _ as usize
11786        },
11787        172usize,
11788        concat!(
11789            "Offset of field: ",
11790            stringify!(_zend_compiler_globals),
11791            "::",
11792            stringify!(compiler_options)
11793        )
11794    );
11795    assert_eq!(
11796        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).context as *const _ as usize },
11797        176usize,
11798        concat!(
11799            "Offset of field: ",
11800            stringify!(_zend_compiler_globals),
11801            "::",
11802            stringify!(context)
11803        )
11804    );
11805    assert_eq!(
11806        unsafe {
11807            &(*(::std::ptr::null::<_zend_compiler_globals>())).file_context as *const _ as usize
11808        },
11809        224usize,
11810        concat!(
11811            "Offset of field: ",
11812            stringify!(_zend_compiler_globals),
11813            "::",
11814            stringify!(file_context)
11815        )
11816    );
11817    assert_eq!(
11818        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).arena as *const _ as usize },
11819        328usize,
11820        concat!(
11821            "Offset of field: ",
11822            stringify!(_zend_compiler_globals),
11823            "::",
11824            stringify!(arena)
11825        )
11826    );
11827    assert_eq!(
11828        unsafe {
11829            &(*(::std::ptr::null::<_zend_compiler_globals>())).interned_strings as *const _ as usize
11830        },
11831        336usize,
11832        concat!(
11833            "Offset of field: ",
11834            stringify!(_zend_compiler_globals),
11835            "::",
11836            stringify!(interned_strings)
11837        )
11838    );
11839    assert_eq!(
11840        unsafe {
11841            &(*(::std::ptr::null::<_zend_compiler_globals>())).script_encoding_list as *const _
11842                as usize
11843        },
11844        392usize,
11845        concat!(
11846            "Offset of field: ",
11847            stringify!(_zend_compiler_globals),
11848            "::",
11849            stringify!(script_encoding_list)
11850        )
11851    );
11852    assert_eq!(
11853        unsafe {
11854            &(*(::std::ptr::null::<_zend_compiler_globals>())).script_encoding_list_size as *const _
11855                as usize
11856        },
11857        400usize,
11858        concat!(
11859            "Offset of field: ",
11860            stringify!(_zend_compiler_globals),
11861            "::",
11862            stringify!(script_encoding_list_size)
11863        )
11864    );
11865    assert_eq!(
11866        unsafe {
11867            &(*(::std::ptr::null::<_zend_compiler_globals>())).multibyte as *const _ as usize
11868        },
11869        408usize,
11870        concat!(
11871            "Offset of field: ",
11872            stringify!(_zend_compiler_globals),
11873            "::",
11874            stringify!(multibyte)
11875        )
11876    );
11877    assert_eq!(
11878        unsafe {
11879            &(*(::std::ptr::null::<_zend_compiler_globals>())).detect_unicode as *const _ as usize
11880        },
11881        409usize,
11882        concat!(
11883            "Offset of field: ",
11884            stringify!(_zend_compiler_globals),
11885            "::",
11886            stringify!(detect_unicode)
11887        )
11888    );
11889    assert_eq!(
11890        unsafe {
11891            &(*(::std::ptr::null::<_zend_compiler_globals>())).encoding_declared as *const _
11892                as usize
11893        },
11894        410usize,
11895        concat!(
11896            "Offset of field: ",
11897            stringify!(_zend_compiler_globals),
11898            "::",
11899            stringify!(encoding_declared)
11900        )
11901    );
11902    assert_eq!(
11903        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).ast as *const _ as usize },
11904        416usize,
11905        concat!(
11906            "Offset of field: ",
11907            stringify!(_zend_compiler_globals),
11908            "::",
11909            stringify!(ast)
11910        )
11911    );
11912    assert_eq!(
11913        unsafe {
11914            &(*(::std::ptr::null::<_zend_compiler_globals>())).ast_arena as *const _ as usize
11915        },
11916        424usize,
11917        concat!(
11918            "Offset of field: ",
11919            stringify!(_zend_compiler_globals),
11920            "::",
11921            stringify!(ast_arena)
11922        )
11923    );
11924    assert_eq!(
11925        unsafe {
11926            &(*(::std::ptr::null::<_zend_compiler_globals>())).delayed_oplines_stack as *const _
11927                as usize
11928        },
11929        432usize,
11930        concat!(
11931            "Offset of field: ",
11932            stringify!(_zend_compiler_globals),
11933            "::",
11934            stringify!(delayed_oplines_stack)
11935        )
11936    );
11937    assert_eq!(
11938        unsafe {
11939            &(*(::std::ptr::null::<_zend_compiler_globals>())).memoized_exprs as *const _ as usize
11940        },
11941        456usize,
11942        concat!(
11943            "Offset of field: ",
11944            stringify!(_zend_compiler_globals),
11945            "::",
11946            stringify!(memoized_exprs)
11947        )
11948    );
11949    assert_eq!(
11950        unsafe {
11951            &(*(::std::ptr::null::<_zend_compiler_globals>())).memoize_mode as *const _ as usize
11952        },
11953        464usize,
11954        concat!(
11955            "Offset of field: ",
11956            stringify!(_zend_compiler_globals),
11957            "::",
11958            stringify!(memoize_mode)
11959        )
11960    );
11961    assert_eq!(
11962        unsafe {
11963            &(*(::std::ptr::null::<_zend_compiler_globals>())).map_ptr_base as *const _ as usize
11964        },
11965        472usize,
11966        concat!(
11967            "Offset of field: ",
11968            stringify!(_zend_compiler_globals),
11969            "::",
11970            stringify!(map_ptr_base)
11971        )
11972    );
11973    assert_eq!(
11974        unsafe {
11975            &(*(::std::ptr::null::<_zend_compiler_globals>())).map_ptr_size as *const _ as usize
11976        },
11977        480usize,
11978        concat!(
11979            "Offset of field: ",
11980            stringify!(_zend_compiler_globals),
11981            "::",
11982            stringify!(map_ptr_size)
11983        )
11984    );
11985    assert_eq!(
11986        unsafe {
11987            &(*(::std::ptr::null::<_zend_compiler_globals>())).map_ptr_last as *const _ as usize
11988        },
11989        488usize,
11990        concat!(
11991            "Offset of field: ",
11992            stringify!(_zend_compiler_globals),
11993            "::",
11994            stringify!(map_ptr_last)
11995        )
11996    );
11997    assert_eq!(
11998        unsafe {
11999            &(*(::std::ptr::null::<_zend_compiler_globals>())).delayed_variance_obligations
12000                as *const _ as usize
12001        },
12002        496usize,
12003        concat!(
12004            "Offset of field: ",
12005            stringify!(_zend_compiler_globals),
12006            "::",
12007            stringify!(delayed_variance_obligations)
12008        )
12009    );
12010    assert_eq!(
12011        unsafe {
12012            &(*(::std::ptr::null::<_zend_compiler_globals>())).delayed_autoloads as *const _
12013                as usize
12014        },
12015        504usize,
12016        concat!(
12017            "Offset of field: ",
12018            stringify!(_zend_compiler_globals),
12019            "::",
12020            stringify!(delayed_autoloads)
12021        )
12022    );
12023    assert_eq!(
12024        unsafe {
12025            &(*(::std::ptr::null::<_zend_compiler_globals>())).rtd_key_counter as *const _ as usize
12026        },
12027        512usize,
12028        concat!(
12029            "Offset of field: ",
12030            stringify!(_zend_compiler_globals),
12031            "::",
12032            stringify!(rtd_key_counter)
12033        )
12034    );
12035    assert_eq!(
12036        unsafe {
12037            &(*(::std::ptr::null::<_zend_compiler_globals>())).short_circuiting_opnums as *const _
12038                as usize
12039        },
12040        520usize,
12041        concat!(
12042            "Offset of field: ",
12043            stringify!(_zend_compiler_globals),
12044            "::",
12045            stringify!(short_circuiting_opnums)
12046        )
12047    );
12048}
12049extern "C" {
12050    pub static mut compiler_globals: _zend_compiler_globals;
12051}
12052extern "C" {
12053    pub fn zendparse() -> ::std::os::raw::c_int;
12054}
12055extern "C" {
12056    pub static mut executor_globals: zend_executor_globals;
12057}
12058extern "C" {
12059    pub static mut language_scanner_globals: zend_php_scanner_globals;
12060}
12061extern "C" {
12062    pub static mut ini_scanner_globals: zend_ini_scanner_globals;
12063}
12064#[repr(C)]
12065#[derive(Debug, Copy, Clone)]
12066pub struct _zend_stack {
12067    pub size: ::std::os::raw::c_int,
12068    pub top: ::std::os::raw::c_int,
12069    pub max: ::std::os::raw::c_int,
12070    pub elements: *mut ::std::os::raw::c_void,
12071}
12072#[test]
12073fn bindgen_test_layout__zend_stack() {
12074    assert_eq!(
12075        ::std::mem::size_of::<_zend_stack>(),
12076        24usize,
12077        concat!("Size of: ", stringify!(_zend_stack))
12078    );
12079    assert_eq!(
12080        ::std::mem::align_of::<_zend_stack>(),
12081        8usize,
12082        concat!("Alignment of ", stringify!(_zend_stack))
12083    );
12084    assert_eq!(
12085        unsafe { &(*(::std::ptr::null::<_zend_stack>())).size as *const _ as usize },
12086        0usize,
12087        concat!(
12088            "Offset of field: ",
12089            stringify!(_zend_stack),
12090            "::",
12091            stringify!(size)
12092        )
12093    );
12094    assert_eq!(
12095        unsafe { &(*(::std::ptr::null::<_zend_stack>())).top as *const _ as usize },
12096        4usize,
12097        concat!(
12098            "Offset of field: ",
12099            stringify!(_zend_stack),
12100            "::",
12101            stringify!(top)
12102        )
12103    );
12104    assert_eq!(
12105        unsafe { &(*(::std::ptr::null::<_zend_stack>())).max as *const _ as usize },
12106        8usize,
12107        concat!(
12108            "Offset of field: ",
12109            stringify!(_zend_stack),
12110            "::",
12111            stringify!(max)
12112        )
12113    );
12114    assert_eq!(
12115        unsafe { &(*(::std::ptr::null::<_zend_stack>())).elements as *const _ as usize },
12116        16usize,
12117        concat!(
12118            "Offset of field: ",
12119            stringify!(_zend_stack),
12120            "::",
12121            stringify!(elements)
12122        )
12123    );
12124}
12125pub type zend_stack = _zend_stack;
12126extern "C" {
12127    pub fn zend_stack_init(stack: *mut zend_stack, size: ::std::os::raw::c_int);
12128}
12129extern "C" {
12130    pub fn zend_stack_push(
12131        stack: *mut zend_stack,
12132        element: *const ::std::os::raw::c_void,
12133    ) -> ::std::os::raw::c_int;
12134}
12135extern "C" {
12136    pub fn zend_stack_top(stack: *const zend_stack) -> *mut ::std::os::raw::c_void;
12137}
12138extern "C" {
12139    pub fn zend_stack_del_top(stack: *mut zend_stack);
12140}
12141extern "C" {
12142    pub fn zend_stack_int_top(stack: *const zend_stack) -> ::std::os::raw::c_int;
12143}
12144extern "C" {
12145    pub fn zend_stack_is_empty(stack: *const zend_stack) -> bool;
12146}
12147extern "C" {
12148    pub fn zend_stack_destroy(stack: *mut zend_stack);
12149}
12150extern "C" {
12151    pub fn zend_stack_base(stack: *const zend_stack) -> *mut ::std::os::raw::c_void;
12152}
12153extern "C" {
12154    pub fn zend_stack_count(stack: *const zend_stack) -> ::std::os::raw::c_int;
12155}
12156extern "C" {
12157    pub fn zend_stack_apply(
12158        stack: *mut zend_stack,
12159        type_: ::std::os::raw::c_int,
12160        apply_function: ::std::option::Option<
12161            unsafe extern "C" fn(element: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
12162        >,
12163    );
12164}
12165extern "C" {
12166    pub fn zend_stack_apply_with_argument(
12167        stack: *mut zend_stack,
12168        type_: ::std::os::raw::c_int,
12169        apply_function: ::std::option::Option<
12170            unsafe extern "C" fn(
12171                element: *mut ::std::os::raw::c_void,
12172                arg: *mut ::std::os::raw::c_void,
12173            ) -> ::std::os::raw::c_int,
12174        >,
12175        arg: *mut ::std::os::raw::c_void,
12176    );
12177}
12178extern "C" {
12179    pub fn zend_stack_clean(
12180        stack: *mut zend_stack,
12181        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12182        free_elements: zend_bool,
12183    );
12184}
12185#[repr(C)]
12186#[derive(Debug, Copy, Clone)]
12187pub struct _zend_ptr_stack {
12188    pub top: ::std::os::raw::c_int,
12189    pub max: ::std::os::raw::c_int,
12190    pub elements: *mut *mut ::std::os::raw::c_void,
12191    pub top_element: *mut *mut ::std::os::raw::c_void,
12192    pub persistent: zend_bool,
12193}
12194#[test]
12195fn bindgen_test_layout__zend_ptr_stack() {
12196    assert_eq!(
12197        ::std::mem::size_of::<_zend_ptr_stack>(),
12198        32usize,
12199        concat!("Size of: ", stringify!(_zend_ptr_stack))
12200    );
12201    assert_eq!(
12202        ::std::mem::align_of::<_zend_ptr_stack>(),
12203        8usize,
12204        concat!("Alignment of ", stringify!(_zend_ptr_stack))
12205    );
12206    assert_eq!(
12207        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).top as *const _ as usize },
12208        0usize,
12209        concat!(
12210            "Offset of field: ",
12211            stringify!(_zend_ptr_stack),
12212            "::",
12213            stringify!(top)
12214        )
12215    );
12216    assert_eq!(
12217        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).max as *const _ as usize },
12218        4usize,
12219        concat!(
12220            "Offset of field: ",
12221            stringify!(_zend_ptr_stack),
12222            "::",
12223            stringify!(max)
12224        )
12225    );
12226    assert_eq!(
12227        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).elements as *const _ as usize },
12228        8usize,
12229        concat!(
12230            "Offset of field: ",
12231            stringify!(_zend_ptr_stack),
12232            "::",
12233            stringify!(elements)
12234        )
12235    );
12236    assert_eq!(
12237        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).top_element as *const _ as usize },
12238        16usize,
12239        concat!(
12240            "Offset of field: ",
12241            stringify!(_zend_ptr_stack),
12242            "::",
12243            stringify!(top_element)
12244        )
12245    );
12246    assert_eq!(
12247        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).persistent as *const _ as usize },
12248        24usize,
12249        concat!(
12250            "Offset of field: ",
12251            stringify!(_zend_ptr_stack),
12252            "::",
12253            stringify!(persistent)
12254        )
12255    );
12256}
12257pub type zend_ptr_stack = _zend_ptr_stack;
12258extern "C" {
12259    pub fn zend_ptr_stack_init(stack: *mut zend_ptr_stack);
12260}
12261extern "C" {
12262    pub fn zend_ptr_stack_init_ex(stack: *mut zend_ptr_stack, persistent: zend_bool);
12263}
12264extern "C" {
12265    pub fn zend_ptr_stack_n_push(stack: *mut zend_ptr_stack, count: ::std::os::raw::c_int, ...);
12266}
12267extern "C" {
12268    pub fn zend_ptr_stack_n_pop(stack: *mut zend_ptr_stack, count: ::std::os::raw::c_int, ...);
12269}
12270extern "C" {
12271    pub fn zend_ptr_stack_destroy(stack: *mut zend_ptr_stack);
12272}
12273extern "C" {
12274    pub fn zend_ptr_stack_apply(
12275        stack: *mut zend_ptr_stack,
12276        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12277    );
12278}
12279extern "C" {
12280    pub fn zend_ptr_stack_reverse_apply(
12281        stack: *mut zend_ptr_stack,
12282        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12283    );
12284}
12285extern "C" {
12286    pub fn zend_ptr_stack_clean(
12287        stack: *mut zend_ptr_stack,
12288        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
12289        free_elements: zend_bool,
12290    );
12291}
12292extern "C" {
12293    pub fn zend_ptr_stack_num_elements(stack: *mut zend_ptr_stack) -> ::std::os::raw::c_int;
12294}
12295extern "C" {
12296    pub fn zend_object_std_init(object: *mut zend_object, ce: *mut zend_class_entry);
12297}
12298extern "C" {
12299    pub fn zend_objects_new(ce: *mut zend_class_entry) -> *mut zend_object;
12300}
12301extern "C" {
12302    pub fn zend_objects_clone_members(new_object: *mut zend_object, old_object: *mut zend_object);
12303}
12304extern "C" {
12305    pub fn zend_object_std_dtor(object: *mut zend_object);
12306}
12307extern "C" {
12308    pub fn zend_objects_destroy_object(object: *mut zend_object);
12309}
12310extern "C" {
12311    pub fn zend_objects_clone_obj(object: *mut zend_object) -> *mut zend_object;
12312}
12313#[repr(C)]
12314#[derive(Debug, Copy, Clone)]
12315pub struct _zend_objects_store {
12316    pub object_buckets: *mut *mut zend_object,
12317    pub top: u32,
12318    pub size: u32,
12319    pub free_list_head: ::std::os::raw::c_int,
12320}
12321#[test]
12322fn bindgen_test_layout__zend_objects_store() {
12323    assert_eq!(
12324        ::std::mem::size_of::<_zend_objects_store>(),
12325        24usize,
12326        concat!("Size of: ", stringify!(_zend_objects_store))
12327    );
12328    assert_eq!(
12329        ::std::mem::align_of::<_zend_objects_store>(),
12330        8usize,
12331        concat!("Alignment of ", stringify!(_zend_objects_store))
12332    );
12333    assert_eq!(
12334        unsafe {
12335            &(*(::std::ptr::null::<_zend_objects_store>())).object_buckets as *const _ as usize
12336        },
12337        0usize,
12338        concat!(
12339            "Offset of field: ",
12340            stringify!(_zend_objects_store),
12341            "::",
12342            stringify!(object_buckets)
12343        )
12344    );
12345    assert_eq!(
12346        unsafe { &(*(::std::ptr::null::<_zend_objects_store>())).top as *const _ as usize },
12347        8usize,
12348        concat!(
12349            "Offset of field: ",
12350            stringify!(_zend_objects_store),
12351            "::",
12352            stringify!(top)
12353        )
12354    );
12355    assert_eq!(
12356        unsafe { &(*(::std::ptr::null::<_zend_objects_store>())).size as *const _ as usize },
12357        12usize,
12358        concat!(
12359            "Offset of field: ",
12360            stringify!(_zend_objects_store),
12361            "::",
12362            stringify!(size)
12363        )
12364    );
12365    assert_eq!(
12366        unsafe {
12367            &(*(::std::ptr::null::<_zend_objects_store>())).free_list_head as *const _ as usize
12368        },
12369        16usize,
12370        concat!(
12371            "Offset of field: ",
12372            stringify!(_zend_objects_store),
12373            "::",
12374            stringify!(free_list_head)
12375        )
12376    );
12377}
12378pub type zend_objects_store = _zend_objects_store;
12379extern "C" {
12380    pub fn zend_objects_store_init(objects: *mut zend_objects_store, init_size: u32);
12381}
12382extern "C" {
12383    pub fn zend_objects_store_call_destructors(objects: *mut zend_objects_store);
12384}
12385extern "C" {
12386    pub fn zend_objects_store_mark_destructed(objects: *mut zend_objects_store);
12387}
12388extern "C" {
12389    pub fn zend_objects_store_free_object_storage(
12390        objects: *mut zend_objects_store,
12391        fast_shutdown: zend_bool,
12392    );
12393}
12394extern "C" {
12395    pub fn zend_objects_store_destroy(objects: *mut zend_objects_store);
12396}
12397extern "C" {
12398    pub fn zend_objects_store_put(object: *mut zend_object);
12399}
12400extern "C" {
12401    pub fn zend_objects_store_del(object: *mut zend_object);
12402}
12403extern "C" {
12404    pub fn zend_init_fpu();
12405}
12406extern "C" {
12407    pub fn zend_shutdown_fpu();
12408}
12409extern "C" {
12410    pub fn zend_ensure_fpu_mode();
12411}
12412#[repr(C)]
12413#[derive(Debug, Copy, Clone)]
12414pub struct _zend_encoding {
12415    _unused: [u8; 0],
12416}
12417pub type zend_encoding = _zend_encoding;
12418pub type zend_encoding_filter = ::std::option::Option<
12419    unsafe extern "C" fn(
12420        str_: *mut *mut ::std::os::raw::c_uchar,
12421        str_length: *mut size_t,
12422        buf: *const ::std::os::raw::c_uchar,
12423        length: size_t,
12424    ) -> size_t,
12425>;
12426pub type zend_encoding_fetcher = ::std::option::Option<
12427    unsafe extern "C" fn(encoding_name: *const ::std::os::raw::c_char) -> *const zend_encoding,
12428>;
12429pub type zend_encoding_name_getter = ::std::option::Option<
12430    unsafe extern "C" fn(encoding: *const zend_encoding) -> *const ::std::os::raw::c_char,
12431>;
12432pub type zend_encoding_lexer_compatibility_checker =
12433    ::std::option::Option<unsafe extern "C" fn(encoding: *const zend_encoding) -> bool>;
12434pub type zend_encoding_detector = ::std::option::Option<
12435    unsafe extern "C" fn(
12436        string: *const ::std::os::raw::c_uchar,
12437        length: size_t,
12438        list: *mut *const zend_encoding,
12439        list_size: size_t,
12440    ) -> *const zend_encoding,
12441>;
12442pub type zend_encoding_converter = ::std::option::Option<
12443    unsafe extern "C" fn(
12444        to: *mut *mut ::std::os::raw::c_uchar,
12445        to_length: *mut size_t,
12446        from: *const ::std::os::raw::c_uchar,
12447        from_length: size_t,
12448        encoding_to: *const zend_encoding,
12449        encoding_from: *const zend_encoding,
12450    ) -> size_t,
12451>;
12452pub type zend_encoding_list_parser = ::std::option::Option<
12453    unsafe extern "C" fn(
12454        encoding_list: *const ::std::os::raw::c_char,
12455        encoding_list_len: size_t,
12456        return_list: *mut *mut *const zend_encoding,
12457        return_size: *mut size_t,
12458        persistent: bool,
12459    ) -> zend_result,
12460>;
12461pub type zend_encoding_internal_encoding_getter =
12462    ::std::option::Option<unsafe extern "C" fn() -> *const zend_encoding>;
12463pub type zend_encoding_internal_encoding_setter =
12464    ::std::option::Option<unsafe extern "C" fn(encoding: *const zend_encoding) -> zend_result>;
12465#[repr(C)]
12466#[derive(Debug, Copy, Clone)]
12467pub struct _zend_multibyte_functions {
12468    pub provider_name: *const ::std::os::raw::c_char,
12469    pub encoding_fetcher: zend_encoding_fetcher,
12470    pub encoding_name_getter: zend_encoding_name_getter,
12471    pub lexer_compatibility_checker: zend_encoding_lexer_compatibility_checker,
12472    pub encoding_detector: zend_encoding_detector,
12473    pub encoding_converter: zend_encoding_converter,
12474    pub encoding_list_parser: zend_encoding_list_parser,
12475    pub internal_encoding_getter: zend_encoding_internal_encoding_getter,
12476    pub internal_encoding_setter: zend_encoding_internal_encoding_setter,
12477}
12478#[test]
12479fn bindgen_test_layout__zend_multibyte_functions() {
12480    assert_eq!(
12481        ::std::mem::size_of::<_zend_multibyte_functions>(),
12482        72usize,
12483        concat!("Size of: ", stringify!(_zend_multibyte_functions))
12484    );
12485    assert_eq!(
12486        ::std::mem::align_of::<_zend_multibyte_functions>(),
12487        8usize,
12488        concat!("Alignment of ", stringify!(_zend_multibyte_functions))
12489    );
12490    assert_eq!(
12491        unsafe {
12492            &(*(::std::ptr::null::<_zend_multibyte_functions>())).provider_name as *const _ as usize
12493        },
12494        0usize,
12495        concat!(
12496            "Offset of field: ",
12497            stringify!(_zend_multibyte_functions),
12498            "::",
12499            stringify!(provider_name)
12500        )
12501    );
12502    assert_eq!(
12503        unsafe {
12504            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_fetcher as *const _
12505                as usize
12506        },
12507        8usize,
12508        concat!(
12509            "Offset of field: ",
12510            stringify!(_zend_multibyte_functions),
12511            "::",
12512            stringify!(encoding_fetcher)
12513        )
12514    );
12515    assert_eq!(
12516        unsafe {
12517            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_name_getter as *const _
12518                as usize
12519        },
12520        16usize,
12521        concat!(
12522            "Offset of field: ",
12523            stringify!(_zend_multibyte_functions),
12524            "::",
12525            stringify!(encoding_name_getter)
12526        )
12527    );
12528    assert_eq!(
12529        unsafe {
12530            &(*(::std::ptr::null::<_zend_multibyte_functions>())).lexer_compatibility_checker
12531                as *const _ as usize
12532        },
12533        24usize,
12534        concat!(
12535            "Offset of field: ",
12536            stringify!(_zend_multibyte_functions),
12537            "::",
12538            stringify!(lexer_compatibility_checker)
12539        )
12540    );
12541    assert_eq!(
12542        unsafe {
12543            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_detector as *const _
12544                as usize
12545        },
12546        32usize,
12547        concat!(
12548            "Offset of field: ",
12549            stringify!(_zend_multibyte_functions),
12550            "::",
12551            stringify!(encoding_detector)
12552        )
12553    );
12554    assert_eq!(
12555        unsafe {
12556            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_converter as *const _
12557                as usize
12558        },
12559        40usize,
12560        concat!(
12561            "Offset of field: ",
12562            stringify!(_zend_multibyte_functions),
12563            "::",
12564            stringify!(encoding_converter)
12565        )
12566    );
12567    assert_eq!(
12568        unsafe {
12569            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_list_parser as *const _
12570                as usize
12571        },
12572        48usize,
12573        concat!(
12574            "Offset of field: ",
12575            stringify!(_zend_multibyte_functions),
12576            "::",
12577            stringify!(encoding_list_parser)
12578        )
12579    );
12580    assert_eq!(
12581        unsafe {
12582            &(*(::std::ptr::null::<_zend_multibyte_functions>())).internal_encoding_getter
12583                as *const _ as usize
12584        },
12585        56usize,
12586        concat!(
12587            "Offset of field: ",
12588            stringify!(_zend_multibyte_functions),
12589            "::",
12590            stringify!(internal_encoding_getter)
12591        )
12592    );
12593    assert_eq!(
12594        unsafe {
12595            &(*(::std::ptr::null::<_zend_multibyte_functions>())).internal_encoding_setter
12596                as *const _ as usize
12597        },
12598        64usize,
12599        concat!(
12600            "Offset of field: ",
12601            stringify!(_zend_multibyte_functions),
12602            "::",
12603            stringify!(internal_encoding_setter)
12604        )
12605    );
12606}
12607pub type zend_multibyte_functions = _zend_multibyte_functions;
12608extern "C" {
12609    pub static mut zend_multibyte_encoding_utf32be: *const zend_encoding;
12610}
12611extern "C" {
12612    pub static mut zend_multibyte_encoding_utf32le: *const zend_encoding;
12613}
12614extern "C" {
12615    pub static mut zend_multibyte_encoding_utf16be: *const zend_encoding;
12616}
12617extern "C" {
12618    pub static mut zend_multibyte_encoding_utf16le: *const zend_encoding;
12619}
12620extern "C" {
12621    pub static mut zend_multibyte_encoding_utf8: *const zend_encoding;
12622}
12623extern "C" {
12624    pub fn zend_multibyte_set_functions(functions: *const zend_multibyte_functions) -> zend_result;
12625}
12626extern "C" {
12627    pub fn zend_multibyte_restore_functions();
12628}
12629extern "C" {
12630    pub fn zend_multibyte_get_functions() -> *const zend_multibyte_functions;
12631}
12632extern "C" {
12633    pub fn zend_multibyte_fetch_encoding(
12634        name: *const ::std::os::raw::c_char,
12635    ) -> *const zend_encoding;
12636}
12637extern "C" {
12638    pub fn zend_multibyte_get_encoding_name(
12639        encoding: *const zend_encoding,
12640    ) -> *const ::std::os::raw::c_char;
12641}
12642extern "C" {
12643    pub fn zend_multibyte_check_lexer_compatibility(
12644        encoding: *const zend_encoding,
12645    ) -> ::std::os::raw::c_int;
12646}
12647extern "C" {
12648    pub fn zend_multibyte_encoding_detector(
12649        string: *const ::std::os::raw::c_uchar,
12650        length: size_t,
12651        list: *mut *const zend_encoding,
12652        list_size: size_t,
12653    ) -> *const zend_encoding;
12654}
12655extern "C" {
12656    pub fn zend_multibyte_encoding_converter(
12657        to: *mut *mut ::std::os::raw::c_uchar,
12658        to_length: *mut size_t,
12659        from: *const ::std::os::raw::c_uchar,
12660        from_length: size_t,
12661        encoding_to: *const zend_encoding,
12662        encoding_from: *const zend_encoding,
12663    ) -> size_t;
12664}
12665extern "C" {
12666    pub fn zend_multibyte_parse_encoding_list(
12667        encoding_list: *const ::std::os::raw::c_char,
12668        encoding_list_len: size_t,
12669        return_list: *mut *mut *const zend_encoding,
12670        return_size: *mut size_t,
12671        persistent: bool,
12672    ) -> ::std::os::raw::c_int;
12673}
12674extern "C" {
12675    pub fn zend_multibyte_get_internal_encoding() -> *const zend_encoding;
12676}
12677extern "C" {
12678    pub fn zend_multibyte_get_script_encoding() -> *const zend_encoding;
12679}
12680extern "C" {
12681    pub fn zend_multibyte_set_script_encoding(
12682        encoding_list: *mut *const zend_encoding,
12683        encoding_list_size: size_t,
12684    ) -> ::std::os::raw::c_int;
12685}
12686extern "C" {
12687    pub fn zend_multibyte_set_internal_encoding(
12688        encoding: *const zend_encoding,
12689    ) -> ::std::os::raw::c_int;
12690}
12691extern "C" {
12692    pub fn zend_multibyte_set_script_encoding_by_string(
12693        new_value: *const ::std::os::raw::c_char,
12694        new_value_length: size_t,
12695    ) -> zend_result;
12696}
12697pub type zend_arena = _zend_arena;
12698#[repr(C)]
12699#[derive(Debug, Copy, Clone)]
12700pub struct _zend_arena {
12701    pub ptr: *mut ::std::os::raw::c_char,
12702    pub end: *mut ::std::os::raw::c_char,
12703    pub prev: *mut zend_arena,
12704}
12705#[test]
12706fn bindgen_test_layout__zend_arena() {
12707    assert_eq!(
12708        ::std::mem::size_of::<_zend_arena>(),
12709        24usize,
12710        concat!("Size of: ", stringify!(_zend_arena))
12711    );
12712    assert_eq!(
12713        ::std::mem::align_of::<_zend_arena>(),
12714        8usize,
12715        concat!("Alignment of ", stringify!(_zend_arena))
12716    );
12717    assert_eq!(
12718        unsafe { &(*(::std::ptr::null::<_zend_arena>())).ptr as *const _ as usize },
12719        0usize,
12720        concat!(
12721            "Offset of field: ",
12722            stringify!(_zend_arena),
12723            "::",
12724            stringify!(ptr)
12725        )
12726    );
12727    assert_eq!(
12728        unsafe { &(*(::std::ptr::null::<_zend_arena>())).end as *const _ as usize },
12729        8usize,
12730        concat!(
12731            "Offset of field: ",
12732            stringify!(_zend_arena),
12733            "::",
12734            stringify!(end)
12735        )
12736    );
12737    assert_eq!(
12738        unsafe { &(*(::std::ptr::null::<_zend_arena>())).prev as *const _ as usize },
12739        16usize,
12740        concat!(
12741            "Offset of field: ",
12742            stringify!(_zend_arena),
12743            "::",
12744            stringify!(prev)
12745        )
12746    );
12747}
12748pub type zend_vm_stack = *mut _zend_vm_stack;
12749pub type zend_ini_entry = _zend_ini_entry;
12750#[repr(C)]
12751#[derive(Copy, Clone)]
12752pub struct _zend_executor_globals {
12753    pub uninitialized_zval: zval,
12754    pub error_zval: zval,
12755    pub symtable_cache: [*mut zend_array; 32usize],
12756    pub symtable_cache_limit: *mut *mut zend_array,
12757    pub symtable_cache_ptr: *mut *mut zend_array,
12758    pub symbol_table: zend_array,
12759    pub included_files: HashTable,
12760    pub bailout: *mut jmp_buf,
12761    pub error_reporting: ::std::os::raw::c_int,
12762    pub exit_status: ::std::os::raw::c_int,
12763    pub function_table: *mut HashTable,
12764    pub class_table: *mut HashTable,
12765    pub zend_constants: *mut HashTable,
12766    pub vm_stack_top: *mut zval,
12767    pub vm_stack_end: *mut zval,
12768    pub vm_stack: zend_vm_stack,
12769    pub vm_stack_page_size: size_t,
12770    pub current_execute_data: *mut _zend_execute_data,
12771    pub fake_scope: *mut zend_class_entry,
12772    pub jit_trace_num: u32,
12773    pub precision: zend_long,
12774    pub ticks_count: ::std::os::raw::c_int,
12775    pub persistent_constants_count: u32,
12776    pub persistent_functions_count: u32,
12777    pub persistent_classes_count: u32,
12778    pub in_autoload: *mut HashTable,
12779    pub full_tables_cleanup: zend_bool,
12780    pub no_extensions: zend_bool,
12781    pub vm_interrupt: zend_bool,
12782    pub timed_out: zend_bool,
12783    pub hard_timeout: zend_long,
12784    pub regular_list: HashTable,
12785    pub persistent_list: HashTable,
12786    pub user_error_handler_error_reporting: ::std::os::raw::c_int,
12787    pub user_error_handler: zval,
12788    pub user_exception_handler: zval,
12789    pub user_error_handlers_error_reporting: zend_stack,
12790    pub user_error_handlers: zend_stack,
12791    pub user_exception_handlers: zend_stack,
12792    pub error_handling: zend_error_handling_t,
12793    pub exception_class: *mut zend_class_entry,
12794    pub timeout_seconds: zend_long,
12795    pub lambda_count: ::std::os::raw::c_int,
12796    pub ini_directives: *mut HashTable,
12797    pub modified_ini_directives: *mut HashTable,
12798    pub error_reporting_ini_entry: *mut zend_ini_entry,
12799    pub objects_store: zend_objects_store,
12800    pub exception: *mut zend_object,
12801    pub prev_exception: *mut zend_object,
12802    pub opline_before_exception: *const zend_op,
12803    pub exception_op: [zend_op; 3usize],
12804    pub current_module: *mut _zend_module_entry,
12805    pub active: zend_bool,
12806    pub flags: zend_uchar,
12807    pub assertions: zend_long,
12808    pub ht_iterators_count: u32,
12809    pub ht_iterators_used: u32,
12810    pub ht_iterators: *mut HashTableIterator,
12811    pub ht_iterators_slots: [HashTableIterator; 16usize],
12812    pub saved_fpu_cw_ptr: *mut ::std::os::raw::c_void,
12813    pub trampoline: zend_function,
12814    pub call_trampoline_op: zend_op,
12815    pub weakrefs: HashTable,
12816    pub exception_ignore_args: zend_bool,
12817    pub exception_string_param_max_len: zend_long,
12818    pub get_gc_buffer: zend_get_gc_buffer,
12819    pub reserved: [*mut ::std::os::raw::c_void; 6usize],
12820}
12821#[test]
12822fn bindgen_test_layout__zend_executor_globals() {
12823    assert_eq!(
12824        ::std::mem::size_of::<_zend_executor_globals>(),
12825        1696usize,
12826        concat!("Size of: ", stringify!(_zend_executor_globals))
12827    );
12828    assert_eq!(
12829        ::std::mem::align_of::<_zend_executor_globals>(),
12830        8usize,
12831        concat!("Alignment of ", stringify!(_zend_executor_globals))
12832    );
12833    assert_eq!(
12834        unsafe {
12835            &(*(::std::ptr::null::<_zend_executor_globals>())).uninitialized_zval as *const _
12836                as usize
12837        },
12838        0usize,
12839        concat!(
12840            "Offset of field: ",
12841            stringify!(_zend_executor_globals),
12842            "::",
12843            stringify!(uninitialized_zval)
12844        )
12845    );
12846    assert_eq!(
12847        unsafe {
12848            &(*(::std::ptr::null::<_zend_executor_globals>())).error_zval as *const _ as usize
12849        },
12850        16usize,
12851        concat!(
12852            "Offset of field: ",
12853            stringify!(_zend_executor_globals),
12854            "::",
12855            stringify!(error_zval)
12856        )
12857    );
12858    assert_eq!(
12859        unsafe {
12860            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache as *const _ as usize
12861        },
12862        32usize,
12863        concat!(
12864            "Offset of field: ",
12865            stringify!(_zend_executor_globals),
12866            "::",
12867            stringify!(symtable_cache)
12868        )
12869    );
12870    assert_eq!(
12871        unsafe {
12872            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache_limit as *const _
12873                as usize
12874        },
12875        288usize,
12876        concat!(
12877            "Offset of field: ",
12878            stringify!(_zend_executor_globals),
12879            "::",
12880            stringify!(symtable_cache_limit)
12881        )
12882    );
12883    assert_eq!(
12884        unsafe {
12885            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache_ptr as *const _
12886                as usize
12887        },
12888        296usize,
12889        concat!(
12890            "Offset of field: ",
12891            stringify!(_zend_executor_globals),
12892            "::",
12893            stringify!(symtable_cache_ptr)
12894        )
12895    );
12896    assert_eq!(
12897        unsafe {
12898            &(*(::std::ptr::null::<_zend_executor_globals>())).symbol_table as *const _ as usize
12899        },
12900        304usize,
12901        concat!(
12902            "Offset of field: ",
12903            stringify!(_zend_executor_globals),
12904            "::",
12905            stringify!(symbol_table)
12906        )
12907    );
12908    assert_eq!(
12909        unsafe {
12910            &(*(::std::ptr::null::<_zend_executor_globals>())).included_files as *const _ as usize
12911        },
12912        360usize,
12913        concat!(
12914            "Offset of field: ",
12915            stringify!(_zend_executor_globals),
12916            "::",
12917            stringify!(included_files)
12918        )
12919    );
12920    assert_eq!(
12921        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).bailout as *const _ as usize },
12922        416usize,
12923        concat!(
12924            "Offset of field: ",
12925            stringify!(_zend_executor_globals),
12926            "::",
12927            stringify!(bailout)
12928        )
12929    );
12930    assert_eq!(
12931        unsafe {
12932            &(*(::std::ptr::null::<_zend_executor_globals>())).error_reporting as *const _ as usize
12933        },
12934        424usize,
12935        concat!(
12936            "Offset of field: ",
12937            stringify!(_zend_executor_globals),
12938            "::",
12939            stringify!(error_reporting)
12940        )
12941    );
12942    assert_eq!(
12943        unsafe {
12944            &(*(::std::ptr::null::<_zend_executor_globals>())).exit_status as *const _ as usize
12945        },
12946        428usize,
12947        concat!(
12948            "Offset of field: ",
12949            stringify!(_zend_executor_globals),
12950            "::",
12951            stringify!(exit_status)
12952        )
12953    );
12954    assert_eq!(
12955        unsafe {
12956            &(*(::std::ptr::null::<_zend_executor_globals>())).function_table as *const _ as usize
12957        },
12958        432usize,
12959        concat!(
12960            "Offset of field: ",
12961            stringify!(_zend_executor_globals),
12962            "::",
12963            stringify!(function_table)
12964        )
12965    );
12966    assert_eq!(
12967        unsafe {
12968            &(*(::std::ptr::null::<_zend_executor_globals>())).class_table as *const _ as usize
12969        },
12970        440usize,
12971        concat!(
12972            "Offset of field: ",
12973            stringify!(_zend_executor_globals),
12974            "::",
12975            stringify!(class_table)
12976        )
12977    );
12978    assert_eq!(
12979        unsafe {
12980            &(*(::std::ptr::null::<_zend_executor_globals>())).zend_constants as *const _ as usize
12981        },
12982        448usize,
12983        concat!(
12984            "Offset of field: ",
12985            stringify!(_zend_executor_globals),
12986            "::",
12987            stringify!(zend_constants)
12988        )
12989    );
12990    assert_eq!(
12991        unsafe {
12992            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack_top as *const _ as usize
12993        },
12994        456usize,
12995        concat!(
12996            "Offset of field: ",
12997            stringify!(_zend_executor_globals),
12998            "::",
12999            stringify!(vm_stack_top)
13000        )
13001    );
13002    assert_eq!(
13003        unsafe {
13004            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack_end as *const _ as usize
13005        },
13006        464usize,
13007        concat!(
13008            "Offset of field: ",
13009            stringify!(_zend_executor_globals),
13010            "::",
13011            stringify!(vm_stack_end)
13012        )
13013    );
13014    assert_eq!(
13015        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack as *const _ as usize },
13016        472usize,
13017        concat!(
13018            "Offset of field: ",
13019            stringify!(_zend_executor_globals),
13020            "::",
13021            stringify!(vm_stack)
13022        )
13023    );
13024    assert_eq!(
13025        unsafe {
13026            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack_page_size as *const _
13027                as usize
13028        },
13029        480usize,
13030        concat!(
13031            "Offset of field: ",
13032            stringify!(_zend_executor_globals),
13033            "::",
13034            stringify!(vm_stack_page_size)
13035        )
13036    );
13037    assert_eq!(
13038        unsafe {
13039            &(*(::std::ptr::null::<_zend_executor_globals>())).current_execute_data as *const _
13040                as usize
13041        },
13042        488usize,
13043        concat!(
13044            "Offset of field: ",
13045            stringify!(_zend_executor_globals),
13046            "::",
13047            stringify!(current_execute_data)
13048        )
13049    );
13050    assert_eq!(
13051        unsafe {
13052            &(*(::std::ptr::null::<_zend_executor_globals>())).fake_scope as *const _ as usize
13053        },
13054        496usize,
13055        concat!(
13056            "Offset of field: ",
13057            stringify!(_zend_executor_globals),
13058            "::",
13059            stringify!(fake_scope)
13060        )
13061    );
13062    assert_eq!(
13063        unsafe {
13064            &(*(::std::ptr::null::<_zend_executor_globals>())).jit_trace_num as *const _ as usize
13065        },
13066        504usize,
13067        concat!(
13068            "Offset of field: ",
13069            stringify!(_zend_executor_globals),
13070            "::",
13071            stringify!(jit_trace_num)
13072        )
13073    );
13074    assert_eq!(
13075        unsafe {
13076            &(*(::std::ptr::null::<_zend_executor_globals>())).precision as *const _ as usize
13077        },
13078        512usize,
13079        concat!(
13080            "Offset of field: ",
13081            stringify!(_zend_executor_globals),
13082            "::",
13083            stringify!(precision)
13084        )
13085    );
13086    assert_eq!(
13087        unsafe {
13088            &(*(::std::ptr::null::<_zend_executor_globals>())).ticks_count as *const _ as usize
13089        },
13090        520usize,
13091        concat!(
13092            "Offset of field: ",
13093            stringify!(_zend_executor_globals),
13094            "::",
13095            stringify!(ticks_count)
13096        )
13097    );
13098    assert_eq!(
13099        unsafe {
13100            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_constants_count
13101                as *const _ as usize
13102        },
13103        524usize,
13104        concat!(
13105            "Offset of field: ",
13106            stringify!(_zend_executor_globals),
13107            "::",
13108            stringify!(persistent_constants_count)
13109        )
13110    );
13111    assert_eq!(
13112        unsafe {
13113            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_functions_count
13114                as *const _ as usize
13115        },
13116        528usize,
13117        concat!(
13118            "Offset of field: ",
13119            stringify!(_zend_executor_globals),
13120            "::",
13121            stringify!(persistent_functions_count)
13122        )
13123    );
13124    assert_eq!(
13125        unsafe {
13126            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_classes_count as *const _
13127                as usize
13128        },
13129        532usize,
13130        concat!(
13131            "Offset of field: ",
13132            stringify!(_zend_executor_globals),
13133            "::",
13134            stringify!(persistent_classes_count)
13135        )
13136    );
13137    assert_eq!(
13138        unsafe {
13139            &(*(::std::ptr::null::<_zend_executor_globals>())).in_autoload as *const _ as usize
13140        },
13141        536usize,
13142        concat!(
13143            "Offset of field: ",
13144            stringify!(_zend_executor_globals),
13145            "::",
13146            stringify!(in_autoload)
13147        )
13148    );
13149    assert_eq!(
13150        unsafe {
13151            &(*(::std::ptr::null::<_zend_executor_globals>())).full_tables_cleanup as *const _
13152                as usize
13153        },
13154        544usize,
13155        concat!(
13156            "Offset of field: ",
13157            stringify!(_zend_executor_globals),
13158            "::",
13159            stringify!(full_tables_cleanup)
13160        )
13161    );
13162    assert_eq!(
13163        unsafe {
13164            &(*(::std::ptr::null::<_zend_executor_globals>())).no_extensions as *const _ as usize
13165        },
13166        545usize,
13167        concat!(
13168            "Offset of field: ",
13169            stringify!(_zend_executor_globals),
13170            "::",
13171            stringify!(no_extensions)
13172        )
13173    );
13174    assert_eq!(
13175        unsafe {
13176            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_interrupt as *const _ as usize
13177        },
13178        546usize,
13179        concat!(
13180            "Offset of field: ",
13181            stringify!(_zend_executor_globals),
13182            "::",
13183            stringify!(vm_interrupt)
13184        )
13185    );
13186    assert_eq!(
13187        unsafe {
13188            &(*(::std::ptr::null::<_zend_executor_globals>())).timed_out as *const _ as usize
13189        },
13190        547usize,
13191        concat!(
13192            "Offset of field: ",
13193            stringify!(_zend_executor_globals),
13194            "::",
13195            stringify!(timed_out)
13196        )
13197    );
13198    assert_eq!(
13199        unsafe {
13200            &(*(::std::ptr::null::<_zend_executor_globals>())).hard_timeout as *const _ as usize
13201        },
13202        552usize,
13203        concat!(
13204            "Offset of field: ",
13205            stringify!(_zend_executor_globals),
13206            "::",
13207            stringify!(hard_timeout)
13208        )
13209    );
13210    assert_eq!(
13211        unsafe {
13212            &(*(::std::ptr::null::<_zend_executor_globals>())).regular_list as *const _ as usize
13213        },
13214        560usize,
13215        concat!(
13216            "Offset of field: ",
13217            stringify!(_zend_executor_globals),
13218            "::",
13219            stringify!(regular_list)
13220        )
13221    );
13222    assert_eq!(
13223        unsafe {
13224            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_list as *const _ as usize
13225        },
13226        616usize,
13227        concat!(
13228            "Offset of field: ",
13229            stringify!(_zend_executor_globals),
13230            "::",
13231            stringify!(persistent_list)
13232        )
13233    );
13234    assert_eq!(
13235        unsafe {
13236            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handler_error_reporting
13237                as *const _ as usize
13238        },
13239        672usize,
13240        concat!(
13241            "Offset of field: ",
13242            stringify!(_zend_executor_globals),
13243            "::",
13244            stringify!(user_error_handler_error_reporting)
13245        )
13246    );
13247    assert_eq!(
13248        unsafe {
13249            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handler as *const _
13250                as usize
13251        },
13252        680usize,
13253        concat!(
13254            "Offset of field: ",
13255            stringify!(_zend_executor_globals),
13256            "::",
13257            stringify!(user_error_handler)
13258        )
13259    );
13260    assert_eq!(
13261        unsafe {
13262            &(*(::std::ptr::null::<_zend_executor_globals>())).user_exception_handler as *const _
13263                as usize
13264        },
13265        696usize,
13266        concat!(
13267            "Offset of field: ",
13268            stringify!(_zend_executor_globals),
13269            "::",
13270            stringify!(user_exception_handler)
13271        )
13272    );
13273    assert_eq!(
13274        unsafe {
13275            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handlers_error_reporting
13276                as *const _ as usize
13277        },
13278        712usize,
13279        concat!(
13280            "Offset of field: ",
13281            stringify!(_zend_executor_globals),
13282            "::",
13283            stringify!(user_error_handlers_error_reporting)
13284        )
13285    );
13286    assert_eq!(
13287        unsafe {
13288            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handlers as *const _
13289                as usize
13290        },
13291        736usize,
13292        concat!(
13293            "Offset of field: ",
13294            stringify!(_zend_executor_globals),
13295            "::",
13296            stringify!(user_error_handlers)
13297        )
13298    );
13299    assert_eq!(
13300        unsafe {
13301            &(*(::std::ptr::null::<_zend_executor_globals>())).user_exception_handlers as *const _
13302                as usize
13303        },
13304        760usize,
13305        concat!(
13306            "Offset of field: ",
13307            stringify!(_zend_executor_globals),
13308            "::",
13309            stringify!(user_exception_handlers)
13310        )
13311    );
13312    assert_eq!(
13313        unsafe {
13314            &(*(::std::ptr::null::<_zend_executor_globals>())).error_handling as *const _ as usize
13315        },
13316        784usize,
13317        concat!(
13318            "Offset of field: ",
13319            stringify!(_zend_executor_globals),
13320            "::",
13321            stringify!(error_handling)
13322        )
13323    );
13324    assert_eq!(
13325        unsafe {
13326            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_class as *const _ as usize
13327        },
13328        792usize,
13329        concat!(
13330            "Offset of field: ",
13331            stringify!(_zend_executor_globals),
13332            "::",
13333            stringify!(exception_class)
13334        )
13335    );
13336    assert_eq!(
13337        unsafe {
13338            &(*(::std::ptr::null::<_zend_executor_globals>())).timeout_seconds as *const _ as usize
13339        },
13340        800usize,
13341        concat!(
13342            "Offset of field: ",
13343            stringify!(_zend_executor_globals),
13344            "::",
13345            stringify!(timeout_seconds)
13346        )
13347    );
13348    assert_eq!(
13349        unsafe {
13350            &(*(::std::ptr::null::<_zend_executor_globals>())).lambda_count as *const _ as usize
13351        },
13352        808usize,
13353        concat!(
13354            "Offset of field: ",
13355            stringify!(_zend_executor_globals),
13356            "::",
13357            stringify!(lambda_count)
13358        )
13359    );
13360    assert_eq!(
13361        unsafe {
13362            &(*(::std::ptr::null::<_zend_executor_globals>())).ini_directives as *const _ as usize
13363        },
13364        816usize,
13365        concat!(
13366            "Offset of field: ",
13367            stringify!(_zend_executor_globals),
13368            "::",
13369            stringify!(ini_directives)
13370        )
13371    );
13372    assert_eq!(
13373        unsafe {
13374            &(*(::std::ptr::null::<_zend_executor_globals>())).modified_ini_directives as *const _
13375                as usize
13376        },
13377        824usize,
13378        concat!(
13379            "Offset of field: ",
13380            stringify!(_zend_executor_globals),
13381            "::",
13382            stringify!(modified_ini_directives)
13383        )
13384    );
13385    assert_eq!(
13386        unsafe {
13387            &(*(::std::ptr::null::<_zend_executor_globals>())).error_reporting_ini_entry as *const _
13388                as usize
13389        },
13390        832usize,
13391        concat!(
13392            "Offset of field: ",
13393            stringify!(_zend_executor_globals),
13394            "::",
13395            stringify!(error_reporting_ini_entry)
13396        )
13397    );
13398    assert_eq!(
13399        unsafe {
13400            &(*(::std::ptr::null::<_zend_executor_globals>())).objects_store as *const _ as usize
13401        },
13402        840usize,
13403        concat!(
13404            "Offset of field: ",
13405            stringify!(_zend_executor_globals),
13406            "::",
13407            stringify!(objects_store)
13408        )
13409    );
13410    assert_eq!(
13411        unsafe {
13412            &(*(::std::ptr::null::<_zend_executor_globals>())).exception as *const _ as usize
13413        },
13414        864usize,
13415        concat!(
13416            "Offset of field: ",
13417            stringify!(_zend_executor_globals),
13418            "::",
13419            stringify!(exception)
13420        )
13421    );
13422    assert_eq!(
13423        unsafe {
13424            &(*(::std::ptr::null::<_zend_executor_globals>())).prev_exception as *const _ as usize
13425        },
13426        872usize,
13427        concat!(
13428            "Offset of field: ",
13429            stringify!(_zend_executor_globals),
13430            "::",
13431            stringify!(prev_exception)
13432        )
13433    );
13434    assert_eq!(
13435        unsafe {
13436            &(*(::std::ptr::null::<_zend_executor_globals>())).opline_before_exception as *const _
13437                as usize
13438        },
13439        880usize,
13440        concat!(
13441            "Offset of field: ",
13442            stringify!(_zend_executor_globals),
13443            "::",
13444            stringify!(opline_before_exception)
13445        )
13446    );
13447    assert_eq!(
13448        unsafe {
13449            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_op as *const _ as usize
13450        },
13451        888usize,
13452        concat!(
13453            "Offset of field: ",
13454            stringify!(_zend_executor_globals),
13455            "::",
13456            stringify!(exception_op)
13457        )
13458    );
13459    assert_eq!(
13460        unsafe {
13461            &(*(::std::ptr::null::<_zend_executor_globals>())).current_module as *const _ as usize
13462        },
13463        984usize,
13464        concat!(
13465            "Offset of field: ",
13466            stringify!(_zend_executor_globals),
13467            "::",
13468            stringify!(current_module)
13469        )
13470    );
13471    assert_eq!(
13472        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).active as *const _ as usize },
13473        992usize,
13474        concat!(
13475            "Offset of field: ",
13476            stringify!(_zend_executor_globals),
13477            "::",
13478            stringify!(active)
13479        )
13480    );
13481    assert_eq!(
13482        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).flags as *const _ as usize },
13483        993usize,
13484        concat!(
13485            "Offset of field: ",
13486            stringify!(_zend_executor_globals),
13487            "::",
13488            stringify!(flags)
13489        )
13490    );
13491    assert_eq!(
13492        unsafe {
13493            &(*(::std::ptr::null::<_zend_executor_globals>())).assertions as *const _ as usize
13494        },
13495        1000usize,
13496        concat!(
13497            "Offset of field: ",
13498            stringify!(_zend_executor_globals),
13499            "::",
13500            stringify!(assertions)
13501        )
13502    );
13503    assert_eq!(
13504        unsafe {
13505            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators_count as *const _
13506                as usize
13507        },
13508        1008usize,
13509        concat!(
13510            "Offset of field: ",
13511            stringify!(_zend_executor_globals),
13512            "::",
13513            stringify!(ht_iterators_count)
13514        )
13515    );
13516    assert_eq!(
13517        unsafe {
13518            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators_used as *const _
13519                as usize
13520        },
13521        1012usize,
13522        concat!(
13523            "Offset of field: ",
13524            stringify!(_zend_executor_globals),
13525            "::",
13526            stringify!(ht_iterators_used)
13527        )
13528    );
13529    assert_eq!(
13530        unsafe {
13531            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators as *const _ as usize
13532        },
13533        1016usize,
13534        concat!(
13535            "Offset of field: ",
13536            stringify!(_zend_executor_globals),
13537            "::",
13538            stringify!(ht_iterators)
13539        )
13540    );
13541    assert_eq!(
13542        unsafe {
13543            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators_slots as *const _
13544                as usize
13545        },
13546        1024usize,
13547        concat!(
13548            "Offset of field: ",
13549            stringify!(_zend_executor_globals),
13550            "::",
13551            stringify!(ht_iterators_slots)
13552        )
13553    );
13554    assert_eq!(
13555        unsafe {
13556            &(*(::std::ptr::null::<_zend_executor_globals>())).saved_fpu_cw_ptr as *const _ as usize
13557        },
13558        1280usize,
13559        concat!(
13560            "Offset of field: ",
13561            stringify!(_zend_executor_globals),
13562            "::",
13563            stringify!(saved_fpu_cw_ptr)
13564        )
13565    );
13566    assert_eq!(
13567        unsafe {
13568            &(*(::std::ptr::null::<_zend_executor_globals>())).trampoline as *const _ as usize
13569        },
13570        1288usize,
13571        concat!(
13572            "Offset of field: ",
13573            stringify!(_zend_executor_globals),
13574            "::",
13575            stringify!(trampoline)
13576        )
13577    );
13578    assert_eq!(
13579        unsafe {
13580            &(*(::std::ptr::null::<_zend_executor_globals>())).call_trampoline_op as *const _
13581                as usize
13582        },
13583        1520usize,
13584        concat!(
13585            "Offset of field: ",
13586            stringify!(_zend_executor_globals),
13587            "::",
13588            stringify!(call_trampoline_op)
13589        )
13590    );
13591    assert_eq!(
13592        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).weakrefs as *const _ as usize },
13593        1552usize,
13594        concat!(
13595            "Offset of field: ",
13596            stringify!(_zend_executor_globals),
13597            "::",
13598            stringify!(weakrefs)
13599        )
13600    );
13601    assert_eq!(
13602        unsafe {
13603            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_ignore_args as *const _
13604                as usize
13605        },
13606        1608usize,
13607        concat!(
13608            "Offset of field: ",
13609            stringify!(_zend_executor_globals),
13610            "::",
13611            stringify!(exception_ignore_args)
13612        )
13613    );
13614    assert_eq!(
13615        unsafe {
13616            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_string_param_max_len
13617                as *const _ as usize
13618        },
13619        1616usize,
13620        concat!(
13621            "Offset of field: ",
13622            stringify!(_zend_executor_globals),
13623            "::",
13624            stringify!(exception_string_param_max_len)
13625        )
13626    );
13627    assert_eq!(
13628        unsafe {
13629            &(*(::std::ptr::null::<_zend_executor_globals>())).get_gc_buffer as *const _ as usize
13630        },
13631        1624usize,
13632        concat!(
13633            "Offset of field: ",
13634            stringify!(_zend_executor_globals),
13635            "::",
13636            stringify!(get_gc_buffer)
13637        )
13638    );
13639    assert_eq!(
13640        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).reserved as *const _ as usize },
13641        1648usize,
13642        concat!(
13643            "Offset of field: ",
13644            stringify!(_zend_executor_globals),
13645            "::",
13646            stringify!(reserved)
13647        )
13648    );
13649}
13650#[repr(C)]
13651#[derive(Debug, Copy, Clone)]
13652pub struct _zend_ini_scanner_globals {
13653    pub yy_in: *mut zend_file_handle,
13654    pub yy_out: *mut zend_file_handle,
13655    pub yy_leng: ::std::os::raw::c_uint,
13656    pub yy_start: *mut ::std::os::raw::c_uchar,
13657    pub yy_text: *mut ::std::os::raw::c_uchar,
13658    pub yy_cursor: *mut ::std::os::raw::c_uchar,
13659    pub yy_marker: *mut ::std::os::raw::c_uchar,
13660    pub yy_limit: *mut ::std::os::raw::c_uchar,
13661    pub yy_state: ::std::os::raw::c_int,
13662    pub state_stack: zend_stack,
13663    pub filename: *mut ::std::os::raw::c_char,
13664    pub lineno: ::std::os::raw::c_int,
13665    pub scanner_mode: ::std::os::raw::c_int,
13666}
13667#[test]
13668fn bindgen_test_layout__zend_ini_scanner_globals() {
13669    assert_eq!(
13670        ::std::mem::size_of::<_zend_ini_scanner_globals>(),
13671        112usize,
13672        concat!("Size of: ", stringify!(_zend_ini_scanner_globals))
13673    );
13674    assert_eq!(
13675        ::std::mem::align_of::<_zend_ini_scanner_globals>(),
13676        8usize,
13677        concat!("Alignment of ", stringify!(_zend_ini_scanner_globals))
13678    );
13679    assert_eq!(
13680        unsafe { &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_in as *const _ as usize },
13681        0usize,
13682        concat!(
13683            "Offset of field: ",
13684            stringify!(_zend_ini_scanner_globals),
13685            "::",
13686            stringify!(yy_in)
13687        )
13688    );
13689    assert_eq!(
13690        unsafe {
13691            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_out as *const _ as usize
13692        },
13693        8usize,
13694        concat!(
13695            "Offset of field: ",
13696            stringify!(_zend_ini_scanner_globals),
13697            "::",
13698            stringify!(yy_out)
13699        )
13700    );
13701    assert_eq!(
13702        unsafe {
13703            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_leng as *const _ as usize
13704        },
13705        16usize,
13706        concat!(
13707            "Offset of field: ",
13708            stringify!(_zend_ini_scanner_globals),
13709            "::",
13710            stringify!(yy_leng)
13711        )
13712    );
13713    assert_eq!(
13714        unsafe {
13715            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_start as *const _ as usize
13716        },
13717        24usize,
13718        concat!(
13719            "Offset of field: ",
13720            stringify!(_zend_ini_scanner_globals),
13721            "::",
13722            stringify!(yy_start)
13723        )
13724    );
13725    assert_eq!(
13726        unsafe {
13727            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_text as *const _ as usize
13728        },
13729        32usize,
13730        concat!(
13731            "Offset of field: ",
13732            stringify!(_zend_ini_scanner_globals),
13733            "::",
13734            stringify!(yy_text)
13735        )
13736    );
13737    assert_eq!(
13738        unsafe {
13739            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_cursor as *const _ as usize
13740        },
13741        40usize,
13742        concat!(
13743            "Offset of field: ",
13744            stringify!(_zend_ini_scanner_globals),
13745            "::",
13746            stringify!(yy_cursor)
13747        )
13748    );
13749    assert_eq!(
13750        unsafe {
13751            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_marker as *const _ as usize
13752        },
13753        48usize,
13754        concat!(
13755            "Offset of field: ",
13756            stringify!(_zend_ini_scanner_globals),
13757            "::",
13758            stringify!(yy_marker)
13759        )
13760    );
13761    assert_eq!(
13762        unsafe {
13763            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_limit as *const _ as usize
13764        },
13765        56usize,
13766        concat!(
13767            "Offset of field: ",
13768            stringify!(_zend_ini_scanner_globals),
13769            "::",
13770            stringify!(yy_limit)
13771        )
13772    );
13773    assert_eq!(
13774        unsafe {
13775            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_state as *const _ as usize
13776        },
13777        64usize,
13778        concat!(
13779            "Offset of field: ",
13780            stringify!(_zend_ini_scanner_globals),
13781            "::",
13782            stringify!(yy_state)
13783        )
13784    );
13785    assert_eq!(
13786        unsafe {
13787            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).state_stack as *const _ as usize
13788        },
13789        72usize,
13790        concat!(
13791            "Offset of field: ",
13792            stringify!(_zend_ini_scanner_globals),
13793            "::",
13794            stringify!(state_stack)
13795        )
13796    );
13797    assert_eq!(
13798        unsafe {
13799            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).filename as *const _ as usize
13800        },
13801        96usize,
13802        concat!(
13803            "Offset of field: ",
13804            stringify!(_zend_ini_scanner_globals),
13805            "::",
13806            stringify!(filename)
13807        )
13808    );
13809    assert_eq!(
13810        unsafe {
13811            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).lineno as *const _ as usize
13812        },
13813        104usize,
13814        concat!(
13815            "Offset of field: ",
13816            stringify!(_zend_ini_scanner_globals),
13817            "::",
13818            stringify!(lineno)
13819        )
13820    );
13821    assert_eq!(
13822        unsafe {
13823            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).scanner_mode as *const _ as usize
13824        },
13825        108usize,
13826        concat!(
13827            "Offset of field: ",
13828            stringify!(_zend_ini_scanner_globals),
13829            "::",
13830            stringify!(scanner_mode)
13831        )
13832    );
13833}
13834pub const zend_php_scanner_event_ON_TOKEN: zend_php_scanner_event = 0;
13835pub const zend_php_scanner_event_ON_FEEDBACK: zend_php_scanner_event = 1;
13836pub const zend_php_scanner_event_ON_STOP: zend_php_scanner_event = 2;
13837pub type zend_php_scanner_event = ::std::os::raw::c_uint;
13838#[repr(C)]
13839#[derive(Debug, Copy, Clone)]
13840pub struct _zend_php_scanner_globals {
13841    pub yy_in: *mut zend_file_handle,
13842    pub yy_out: *mut zend_file_handle,
13843    pub yy_leng: ::std::os::raw::c_uint,
13844    pub yy_start: *mut ::std::os::raw::c_uchar,
13845    pub yy_text: *mut ::std::os::raw::c_uchar,
13846    pub yy_cursor: *mut ::std::os::raw::c_uchar,
13847    pub yy_marker: *mut ::std::os::raw::c_uchar,
13848    pub yy_limit: *mut ::std::os::raw::c_uchar,
13849    pub yy_state: ::std::os::raw::c_int,
13850    pub state_stack: zend_stack,
13851    pub heredoc_label_stack: zend_ptr_stack,
13852    pub nest_location_stack: zend_stack,
13853    pub heredoc_scan_ahead: zend_bool,
13854    pub heredoc_indentation: ::std::os::raw::c_int,
13855    pub heredoc_indentation_uses_spaces: zend_bool,
13856    pub script_org: *mut ::std::os::raw::c_uchar,
13857    pub script_org_size: size_t,
13858    pub script_filtered: *mut ::std::os::raw::c_uchar,
13859    pub script_filtered_size: size_t,
13860    pub input_filter: zend_encoding_filter,
13861    pub output_filter: zend_encoding_filter,
13862    pub script_encoding: *const zend_encoding,
13863    pub scanned_string_len: ::std::os::raw::c_int,
13864    pub on_event: ::std::option::Option<
13865        unsafe extern "C" fn(
13866            event: zend_php_scanner_event,
13867            token: ::std::os::raw::c_int,
13868            line: ::std::os::raw::c_int,
13869            text: *const ::std::os::raw::c_char,
13870            length: size_t,
13871            context: *mut ::std::os::raw::c_void,
13872        ),
13873    >,
13874    pub on_event_context: *mut ::std::os::raw::c_void,
13875}
13876#[test]
13877fn bindgen_test_layout__zend_php_scanner_globals() {
13878    assert_eq!(
13879        ::std::mem::size_of::<_zend_php_scanner_globals>(),
13880        248usize,
13881        concat!("Size of: ", stringify!(_zend_php_scanner_globals))
13882    );
13883    assert_eq!(
13884        ::std::mem::align_of::<_zend_php_scanner_globals>(),
13885        8usize,
13886        concat!("Alignment of ", stringify!(_zend_php_scanner_globals))
13887    );
13888    assert_eq!(
13889        unsafe { &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_in as *const _ as usize },
13890        0usize,
13891        concat!(
13892            "Offset of field: ",
13893            stringify!(_zend_php_scanner_globals),
13894            "::",
13895            stringify!(yy_in)
13896        )
13897    );
13898    assert_eq!(
13899        unsafe {
13900            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_out as *const _ as usize
13901        },
13902        8usize,
13903        concat!(
13904            "Offset of field: ",
13905            stringify!(_zend_php_scanner_globals),
13906            "::",
13907            stringify!(yy_out)
13908        )
13909    );
13910    assert_eq!(
13911        unsafe {
13912            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_leng as *const _ as usize
13913        },
13914        16usize,
13915        concat!(
13916            "Offset of field: ",
13917            stringify!(_zend_php_scanner_globals),
13918            "::",
13919            stringify!(yy_leng)
13920        )
13921    );
13922    assert_eq!(
13923        unsafe {
13924            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_start as *const _ as usize
13925        },
13926        24usize,
13927        concat!(
13928            "Offset of field: ",
13929            stringify!(_zend_php_scanner_globals),
13930            "::",
13931            stringify!(yy_start)
13932        )
13933    );
13934    assert_eq!(
13935        unsafe {
13936            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_text as *const _ as usize
13937        },
13938        32usize,
13939        concat!(
13940            "Offset of field: ",
13941            stringify!(_zend_php_scanner_globals),
13942            "::",
13943            stringify!(yy_text)
13944        )
13945    );
13946    assert_eq!(
13947        unsafe {
13948            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_cursor as *const _ as usize
13949        },
13950        40usize,
13951        concat!(
13952            "Offset of field: ",
13953            stringify!(_zend_php_scanner_globals),
13954            "::",
13955            stringify!(yy_cursor)
13956        )
13957    );
13958    assert_eq!(
13959        unsafe {
13960            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_marker as *const _ as usize
13961        },
13962        48usize,
13963        concat!(
13964            "Offset of field: ",
13965            stringify!(_zend_php_scanner_globals),
13966            "::",
13967            stringify!(yy_marker)
13968        )
13969    );
13970    assert_eq!(
13971        unsafe {
13972            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_limit as *const _ as usize
13973        },
13974        56usize,
13975        concat!(
13976            "Offset of field: ",
13977            stringify!(_zend_php_scanner_globals),
13978            "::",
13979            stringify!(yy_limit)
13980        )
13981    );
13982    assert_eq!(
13983        unsafe {
13984            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_state as *const _ as usize
13985        },
13986        64usize,
13987        concat!(
13988            "Offset of field: ",
13989            stringify!(_zend_php_scanner_globals),
13990            "::",
13991            stringify!(yy_state)
13992        )
13993    );
13994    assert_eq!(
13995        unsafe {
13996            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).state_stack as *const _ as usize
13997        },
13998        72usize,
13999        concat!(
14000            "Offset of field: ",
14001            stringify!(_zend_php_scanner_globals),
14002            "::",
14003            stringify!(state_stack)
14004        )
14005    );
14006    assert_eq!(
14007        unsafe {
14008            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_label_stack as *const _
14009                as usize
14010        },
14011        96usize,
14012        concat!(
14013            "Offset of field: ",
14014            stringify!(_zend_php_scanner_globals),
14015            "::",
14016            stringify!(heredoc_label_stack)
14017        )
14018    );
14019    assert_eq!(
14020        unsafe {
14021            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).nest_location_stack as *const _
14022                as usize
14023        },
14024        128usize,
14025        concat!(
14026            "Offset of field: ",
14027            stringify!(_zend_php_scanner_globals),
14028            "::",
14029            stringify!(nest_location_stack)
14030        )
14031    );
14032    assert_eq!(
14033        unsafe {
14034            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_scan_ahead as *const _
14035                as usize
14036        },
14037        152usize,
14038        concat!(
14039            "Offset of field: ",
14040            stringify!(_zend_php_scanner_globals),
14041            "::",
14042            stringify!(heredoc_scan_ahead)
14043        )
14044    );
14045    assert_eq!(
14046        unsafe {
14047            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_indentation as *const _
14048                as usize
14049        },
14050        156usize,
14051        concat!(
14052            "Offset of field: ",
14053            stringify!(_zend_php_scanner_globals),
14054            "::",
14055            stringify!(heredoc_indentation)
14056        )
14057    );
14058    assert_eq!(
14059        unsafe {
14060            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_indentation_uses_spaces
14061                as *const _ as usize
14062        },
14063        160usize,
14064        concat!(
14065            "Offset of field: ",
14066            stringify!(_zend_php_scanner_globals),
14067            "::",
14068            stringify!(heredoc_indentation_uses_spaces)
14069        )
14070    );
14071    assert_eq!(
14072        unsafe {
14073            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_org as *const _ as usize
14074        },
14075        168usize,
14076        concat!(
14077            "Offset of field: ",
14078            stringify!(_zend_php_scanner_globals),
14079            "::",
14080            stringify!(script_org)
14081        )
14082    );
14083    assert_eq!(
14084        unsafe {
14085            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_org_size as *const _
14086                as usize
14087        },
14088        176usize,
14089        concat!(
14090            "Offset of field: ",
14091            stringify!(_zend_php_scanner_globals),
14092            "::",
14093            stringify!(script_org_size)
14094        )
14095    );
14096    assert_eq!(
14097        unsafe {
14098            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_filtered as *const _
14099                as usize
14100        },
14101        184usize,
14102        concat!(
14103            "Offset of field: ",
14104            stringify!(_zend_php_scanner_globals),
14105            "::",
14106            stringify!(script_filtered)
14107        )
14108    );
14109    assert_eq!(
14110        unsafe {
14111            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_filtered_size as *const _
14112                as usize
14113        },
14114        192usize,
14115        concat!(
14116            "Offset of field: ",
14117            stringify!(_zend_php_scanner_globals),
14118            "::",
14119            stringify!(script_filtered_size)
14120        )
14121    );
14122    assert_eq!(
14123        unsafe {
14124            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).input_filter as *const _ as usize
14125        },
14126        200usize,
14127        concat!(
14128            "Offset of field: ",
14129            stringify!(_zend_php_scanner_globals),
14130            "::",
14131            stringify!(input_filter)
14132        )
14133    );
14134    assert_eq!(
14135        unsafe {
14136            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).output_filter as *const _ as usize
14137        },
14138        208usize,
14139        concat!(
14140            "Offset of field: ",
14141            stringify!(_zend_php_scanner_globals),
14142            "::",
14143            stringify!(output_filter)
14144        )
14145    );
14146    assert_eq!(
14147        unsafe {
14148            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_encoding as *const _
14149                as usize
14150        },
14151        216usize,
14152        concat!(
14153            "Offset of field: ",
14154            stringify!(_zend_php_scanner_globals),
14155            "::",
14156            stringify!(script_encoding)
14157        )
14158    );
14159    assert_eq!(
14160        unsafe {
14161            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).scanned_string_len as *const _
14162                as usize
14163        },
14164        224usize,
14165        concat!(
14166            "Offset of field: ",
14167            stringify!(_zend_php_scanner_globals),
14168            "::",
14169            stringify!(scanned_string_len)
14170        )
14171    );
14172    assert_eq!(
14173        unsafe {
14174            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).on_event as *const _ as usize
14175        },
14176        232usize,
14177        concat!(
14178            "Offset of field: ",
14179            stringify!(_zend_php_scanner_globals),
14180            "::",
14181            stringify!(on_event)
14182        )
14183    );
14184    assert_eq!(
14185        unsafe {
14186            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).on_event_context as *const _
14187                as usize
14188        },
14189        240usize,
14190        concat!(
14191            "Offset of field: ",
14192            stringify!(_zend_php_scanner_globals),
14193            "::",
14194            stringify!(on_event_context)
14195        )
14196    );
14197}
14198extern "C" {
14199    pub fn zend_init_compiler_data_structures();
14200}
14201extern "C" {
14202    pub fn zend_oparray_context_begin(prev_context: *mut zend_oparray_context);
14203}
14204extern "C" {
14205    pub fn zend_oparray_context_end(prev_context: *mut zend_oparray_context);
14206}
14207extern "C" {
14208    pub fn zend_file_context_begin(prev_context: *mut zend_file_context);
14209}
14210extern "C" {
14211    pub fn zend_file_context_end(prev_context: *mut zend_file_context);
14212}
14213extern "C" {
14214    pub static mut zend_compile_file: ::std::option::Option<
14215        unsafe extern "C" fn(
14216            file_handle: *mut zend_file_handle,
14217            type_: ::std::os::raw::c_int,
14218        ) -> *mut zend_op_array,
14219    >;
14220}
14221extern "C" {
14222    pub static mut zend_compile_string: ::std::option::Option<
14223        unsafe extern "C" fn(
14224            source_string: *mut zend_string,
14225            filename: *const ::std::os::raw::c_char,
14226        ) -> *mut zend_op_array,
14227    >;
14228}
14229extern "C" {
14230    pub fn zend_set_compiled_filename(new_compiled_filename: *mut zend_string) -> *mut zend_string;
14231}
14232extern "C" {
14233    pub fn zend_restore_compiled_filename(original_compiled_filename: *mut zend_string);
14234}
14235extern "C" {
14236    pub fn zend_get_compiled_filename() -> *mut zend_string;
14237}
14238extern "C" {
14239    pub fn zend_get_compiled_lineno() -> ::std::os::raw::c_int;
14240}
14241extern "C" {
14242    pub fn zend_get_scanned_file_offset() -> size_t;
14243}
14244extern "C" {
14245    pub fn zend_get_compiled_variable_name(
14246        op_array: *const zend_op_array,
14247        var: u32,
14248    ) -> *mut zend_string;
14249}
14250extern "C" {
14251    pub fn zend_stop_lexing();
14252}
14253extern "C" {
14254    pub fn zend_emit_final_return(return_one: bool);
14255}
14256extern "C" {
14257    pub fn zend_ast_append_str(left: *mut zend_ast, right: *mut zend_ast) -> *mut zend_ast;
14258}
14259extern "C" {
14260    pub fn zend_negate_num_string(ast: *mut zend_ast) -> *mut zend_ast;
14261}
14262extern "C" {
14263    pub fn zend_add_class_modifier(flags: u32, new_flag: u32) -> u32;
14264}
14265extern "C" {
14266    pub fn zend_add_member_modifier(flags: u32, new_flag: u32) -> u32;
14267}
14268extern "C" {
14269    pub fn zend_handle_encoding_declaration(ast: *mut zend_ast) -> zend_bool;
14270}
14271extern "C" {
14272    pub fn zend_do_free(op1: *mut znode);
14273}
14274extern "C" {
14275    pub fn zend_build_delayed_early_binding_list(op_array: *const zend_op_array) -> u32;
14276}
14277extern "C" {
14278    pub fn zend_do_delayed_early_binding(
14279        op_array: *mut zend_op_array,
14280        first_early_binding_opline: u32,
14281    );
14282}
14283extern "C" {
14284    pub fn zend_do_extended_info();
14285}
14286extern "C" {
14287    pub fn zend_do_extended_fcall_begin();
14288}
14289extern "C" {
14290    pub fn zend_do_extended_fcall_end();
14291}
14292extern "C" {
14293    pub fn zend_verify_namespace();
14294}
14295extern "C" {
14296    pub fn zend_resolve_goto_label(op_array: *mut zend_op_array, opline: *mut zend_op);
14297}
14298extern "C" {
14299    pub fn zend_compile_string_to_ast(
14300        code: *mut zend_string,
14301        ast_arena: *mut *mut _zend_arena,
14302        filename: *const ::std::os::raw::c_char,
14303    ) -> *mut zend_ast;
14304}
14305extern "C" {
14306    pub fn zend_execute_scripts(
14307        type_: ::std::os::raw::c_int,
14308        retval: *mut zval,
14309        file_count: ::std::os::raw::c_int,
14310        ...
14311    ) -> ::std::os::raw::c_int;
14312}
14313extern "C" {
14314    pub fn zend_destroy_file_handle(file_handle: *mut zend_file_handle);
14315}
14316extern "C" {
14317    pub fn zend_cleanup_internal_class_data(ce: *mut zend_class_entry);
14318}
14319extern "C" {
14320    pub fn zend_cleanup_internal_classes();
14321}
14322extern "C" {
14323    pub fn zend_type_release(type_: zend_type, persistent: zend_bool);
14324}
14325extern "C" {
14326    pub fn zend_create_member_string(
14327        class_name: *mut zend_string,
14328        member_name: *mut zend_string,
14329    ) -> *mut zend_string;
14330}
14331extern "C" {
14332    pub fn zend_user_exception_handler();
14333}
14334extern "C" {
14335    pub fn zend_free_internal_arg_info(function: *mut zend_internal_function);
14336}
14337extern "C" {
14338    pub fn zend_function_dtor(zv: *mut zval);
14339}
14340extern "C" {
14341    pub fn zend_class_add_ref(zv: *mut zval);
14342}
14343extern "C" {
14344    pub fn zend_mangle_property_name(
14345        src1: *const ::std::os::raw::c_char,
14346        src1_length: size_t,
14347        src2: *const ::std::os::raw::c_char,
14348        src2_length: size_t,
14349        internal: bool,
14350    ) -> *mut zend_string;
14351}
14352extern "C" {
14353    pub fn zend_unmangle_property_name_ex(
14354        name: *const zend_string,
14355        class_name: *mut *const ::std::os::raw::c_char,
14356        prop_name: *mut *const ::std::os::raw::c_char,
14357        prop_len: *mut size_t,
14358    ) -> zend_result;
14359}
14360pub type zend_needs_live_range_cb = ::std::option::Option<
14361    unsafe extern "C" fn(op_array: *mut zend_op_array, opline: *mut zend_op) -> zend_bool,
14362>;
14363extern "C" {
14364    pub fn zend_recalc_live_ranges(
14365        op_array: *mut zend_op_array,
14366        needs_live_range: zend_needs_live_range_cb,
14367    );
14368}
14369extern "C" {
14370    pub fn zend_is_compiling() -> zend_bool;
14371}
14372extern "C" {
14373    pub fn zend_make_compiled_string_description(
14374        name: *const ::std::os::raw::c_char,
14375    ) -> *mut ::std::os::raw::c_char;
14376}
14377extern "C" {
14378    pub fn zend_initialize_class_data(ce: *mut zend_class_entry, nullify_handlers: zend_bool);
14379}
14380extern "C" {
14381    pub fn zend_get_class_fetch_type(name: *mut zend_string) -> u32;
14382}
14383extern "C" {
14384    pub fn zend_get_call_op(init_op: *const zend_op, fbc: *mut zend_function) -> zend_uchar;
14385}
14386extern "C" {
14387    pub fn zend_is_smart_branch(opline: *const zend_op) -> bool;
14388}
14389pub type zend_auto_global_callback =
14390    ::std::option::Option<unsafe extern "C" fn(name: *mut zend_string) -> zend_bool>;
14391#[repr(C)]
14392#[derive(Debug, Copy, Clone)]
14393pub struct _zend_auto_global {
14394    pub name: *mut zend_string,
14395    pub auto_global_callback: zend_auto_global_callback,
14396    pub jit: zend_bool,
14397    pub armed: zend_bool,
14398}
14399#[test]
14400fn bindgen_test_layout__zend_auto_global() {
14401    assert_eq!(
14402        ::std::mem::size_of::<_zend_auto_global>(),
14403        24usize,
14404        concat!("Size of: ", stringify!(_zend_auto_global))
14405    );
14406    assert_eq!(
14407        ::std::mem::align_of::<_zend_auto_global>(),
14408        8usize,
14409        concat!("Alignment of ", stringify!(_zend_auto_global))
14410    );
14411    assert_eq!(
14412        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).name as *const _ as usize },
14413        0usize,
14414        concat!(
14415            "Offset of field: ",
14416            stringify!(_zend_auto_global),
14417            "::",
14418            stringify!(name)
14419        )
14420    );
14421    assert_eq!(
14422        unsafe {
14423            &(*(::std::ptr::null::<_zend_auto_global>())).auto_global_callback as *const _ as usize
14424        },
14425        8usize,
14426        concat!(
14427            "Offset of field: ",
14428            stringify!(_zend_auto_global),
14429            "::",
14430            stringify!(auto_global_callback)
14431        )
14432    );
14433    assert_eq!(
14434        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).jit as *const _ as usize },
14435        16usize,
14436        concat!(
14437            "Offset of field: ",
14438            stringify!(_zend_auto_global),
14439            "::",
14440            stringify!(jit)
14441        )
14442    );
14443    assert_eq!(
14444        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).armed as *const _ as usize },
14445        17usize,
14446        concat!(
14447            "Offset of field: ",
14448            stringify!(_zend_auto_global),
14449            "::",
14450            stringify!(armed)
14451        )
14452    );
14453}
14454pub type zend_auto_global = _zend_auto_global;
14455extern "C" {
14456    pub fn zend_register_auto_global(
14457        name: *mut zend_string,
14458        jit: zend_bool,
14459        auto_global_callback: zend_auto_global_callback,
14460    ) -> zend_result;
14461}
14462extern "C" {
14463    pub fn zend_activate_auto_globals();
14464}
14465extern "C" {
14466    pub fn zend_is_auto_global(name: *mut zend_string) -> zend_bool;
14467}
14468extern "C" {
14469    pub fn zend_is_auto_global_str(name: *const ::std::os::raw::c_char, len: size_t) -> zend_bool;
14470}
14471extern "C" {
14472    pub fn zend_dirname(path: *mut ::std::os::raw::c_char, len: size_t) -> size_t;
14473}
14474extern "C" {
14475    pub fn zend_set_function_arg_flags(func: *mut zend_function);
14476}
14477extern "C" {
14478    pub fn zendlex(elem: *mut zend_parser_stack_elem) -> ::std::os::raw::c_int;
14479}
14480extern "C" {
14481    pub fn zend_assert_valid_class_name(const_name: *const zend_string);
14482}
14483extern "C" {
14484    pub fn zend_type_to_string_resolved(
14485        type_: zend_type,
14486        scope: *mut zend_class_entry,
14487    ) -> *mut zend_string;
14488}
14489extern "C" {
14490    pub fn zend_type_to_string(type_: zend_type) -> *mut zend_string;
14491}
14492extern "C" {
14493    pub fn zend_get_opcode_name(opcode: zend_uchar) -> *const ::std::os::raw::c_char;
14494}
14495extern "C" {
14496    pub fn zend_get_opcode_flags(opcode: zend_uchar) -> u32;
14497}
14498extern "C" {
14499    pub fn zend_binary_op_produces_error(opcode: u32, op1: *mut zval, op2: *mut zval) -> zend_bool;
14500}
14501pub type zend_module_entry = _zend_module_entry;
14502pub type zend_module_dep = _zend_module_dep;
14503#[repr(C)]
14504#[derive(Debug, Copy, Clone)]
14505pub struct _zend_module_entry {
14506    pub size: ::std::os::raw::c_ushort,
14507    pub zend_api: ::std::os::raw::c_uint,
14508    pub zend_debug: ::std::os::raw::c_uchar,
14509    pub zts: ::std::os::raw::c_uchar,
14510    pub ini_entry: *const _zend_ini_entry,
14511    pub deps: *const _zend_module_dep,
14512    pub name: *const ::std::os::raw::c_char,
14513    pub functions: *const _zend_function_entry,
14514    pub module_startup_func: ::std::option::Option<
14515        unsafe extern "C" fn(
14516            type_: ::std::os::raw::c_int,
14517            module_number: ::std::os::raw::c_int,
14518        ) -> zend_result,
14519    >,
14520    pub module_shutdown_func: ::std::option::Option<
14521        unsafe extern "C" fn(
14522            type_: ::std::os::raw::c_int,
14523            module_number: ::std::os::raw::c_int,
14524        ) -> zend_result,
14525    >,
14526    pub request_startup_func: ::std::option::Option<
14527        unsafe extern "C" fn(
14528            type_: ::std::os::raw::c_int,
14529            module_number: ::std::os::raw::c_int,
14530        ) -> zend_result,
14531    >,
14532    pub request_shutdown_func: ::std::option::Option<
14533        unsafe extern "C" fn(
14534            type_: ::std::os::raw::c_int,
14535            module_number: ::std::os::raw::c_int,
14536        ) -> zend_result,
14537    >,
14538    pub info_func: ::std::option::Option<unsafe extern "C" fn(zend_module: *mut zend_module_entry)>,
14539    pub version: *const ::std::os::raw::c_char,
14540    pub globals_size: size_t,
14541    pub globals_ptr: *mut ::std::os::raw::c_void,
14542    pub globals_ctor:
14543        ::std::option::Option<unsafe extern "C" fn(global: *mut ::std::os::raw::c_void)>,
14544    pub globals_dtor:
14545        ::std::option::Option<unsafe extern "C" fn(global: *mut ::std::os::raw::c_void)>,
14546    pub post_deactivate_func: ::std::option::Option<unsafe extern "C" fn() -> zend_result>,
14547    pub module_started: ::std::os::raw::c_int,
14548    pub type_: ::std::os::raw::c_uchar,
14549    pub handle: *mut ::std::os::raw::c_void,
14550    pub module_number: ::std::os::raw::c_int,
14551    pub build_id: *const ::std::os::raw::c_char,
14552}
14553#[test]
14554fn bindgen_test_layout__zend_module_entry() {
14555    assert_eq!(
14556        ::std::mem::size_of::<_zend_module_entry>(),
14557        168usize,
14558        concat!("Size of: ", stringify!(_zend_module_entry))
14559    );
14560    assert_eq!(
14561        ::std::mem::align_of::<_zend_module_entry>(),
14562        8usize,
14563        concat!("Alignment of ", stringify!(_zend_module_entry))
14564    );
14565    assert_eq!(
14566        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).size as *const _ as usize },
14567        0usize,
14568        concat!(
14569            "Offset of field: ",
14570            stringify!(_zend_module_entry),
14571            "::",
14572            stringify!(size)
14573        )
14574    );
14575    assert_eq!(
14576        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zend_api as *const _ as usize },
14577        4usize,
14578        concat!(
14579            "Offset of field: ",
14580            stringify!(_zend_module_entry),
14581            "::",
14582            stringify!(zend_api)
14583        )
14584    );
14585    assert_eq!(
14586        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zend_debug as *const _ as usize },
14587        8usize,
14588        concat!(
14589            "Offset of field: ",
14590            stringify!(_zend_module_entry),
14591            "::",
14592            stringify!(zend_debug)
14593        )
14594    );
14595    assert_eq!(
14596        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zts as *const _ as usize },
14597        9usize,
14598        concat!(
14599            "Offset of field: ",
14600            stringify!(_zend_module_entry),
14601            "::",
14602            stringify!(zts)
14603        )
14604    );
14605    assert_eq!(
14606        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).ini_entry as *const _ as usize },
14607        16usize,
14608        concat!(
14609            "Offset of field: ",
14610            stringify!(_zend_module_entry),
14611            "::",
14612            stringify!(ini_entry)
14613        )
14614    );
14615    assert_eq!(
14616        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).deps as *const _ as usize },
14617        24usize,
14618        concat!(
14619            "Offset of field: ",
14620            stringify!(_zend_module_entry),
14621            "::",
14622            stringify!(deps)
14623        )
14624    );
14625    assert_eq!(
14626        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).name as *const _ as usize },
14627        32usize,
14628        concat!(
14629            "Offset of field: ",
14630            stringify!(_zend_module_entry),
14631            "::",
14632            stringify!(name)
14633        )
14634    );
14635    assert_eq!(
14636        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).functions as *const _ as usize },
14637        40usize,
14638        concat!(
14639            "Offset of field: ",
14640            stringify!(_zend_module_entry),
14641            "::",
14642            stringify!(functions)
14643        )
14644    );
14645    assert_eq!(
14646        unsafe {
14647            &(*(::std::ptr::null::<_zend_module_entry>())).module_startup_func as *const _ as usize
14648        },
14649        48usize,
14650        concat!(
14651            "Offset of field: ",
14652            stringify!(_zend_module_entry),
14653            "::",
14654            stringify!(module_startup_func)
14655        )
14656    );
14657    assert_eq!(
14658        unsafe {
14659            &(*(::std::ptr::null::<_zend_module_entry>())).module_shutdown_func as *const _ as usize
14660        },
14661        56usize,
14662        concat!(
14663            "Offset of field: ",
14664            stringify!(_zend_module_entry),
14665            "::",
14666            stringify!(module_shutdown_func)
14667        )
14668    );
14669    assert_eq!(
14670        unsafe {
14671            &(*(::std::ptr::null::<_zend_module_entry>())).request_startup_func as *const _ as usize
14672        },
14673        64usize,
14674        concat!(
14675            "Offset of field: ",
14676            stringify!(_zend_module_entry),
14677            "::",
14678            stringify!(request_startup_func)
14679        )
14680    );
14681    assert_eq!(
14682        unsafe {
14683            &(*(::std::ptr::null::<_zend_module_entry>())).request_shutdown_func as *const _
14684                as usize
14685        },
14686        72usize,
14687        concat!(
14688            "Offset of field: ",
14689            stringify!(_zend_module_entry),
14690            "::",
14691            stringify!(request_shutdown_func)
14692        )
14693    );
14694    assert_eq!(
14695        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).info_func as *const _ as usize },
14696        80usize,
14697        concat!(
14698            "Offset of field: ",
14699            stringify!(_zend_module_entry),
14700            "::",
14701            stringify!(info_func)
14702        )
14703    );
14704    assert_eq!(
14705        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).version as *const _ as usize },
14706        88usize,
14707        concat!(
14708            "Offset of field: ",
14709            stringify!(_zend_module_entry),
14710            "::",
14711            stringify!(version)
14712        )
14713    );
14714    assert_eq!(
14715        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_size as *const _ as usize },
14716        96usize,
14717        concat!(
14718            "Offset of field: ",
14719            stringify!(_zend_module_entry),
14720            "::",
14721            stringify!(globals_size)
14722        )
14723    );
14724    assert_eq!(
14725        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_ptr as *const _ as usize },
14726        104usize,
14727        concat!(
14728            "Offset of field: ",
14729            stringify!(_zend_module_entry),
14730            "::",
14731            stringify!(globals_ptr)
14732        )
14733    );
14734    assert_eq!(
14735        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_ctor as *const _ as usize },
14736        112usize,
14737        concat!(
14738            "Offset of field: ",
14739            stringify!(_zend_module_entry),
14740            "::",
14741            stringify!(globals_ctor)
14742        )
14743    );
14744    assert_eq!(
14745        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_dtor as *const _ as usize },
14746        120usize,
14747        concat!(
14748            "Offset of field: ",
14749            stringify!(_zend_module_entry),
14750            "::",
14751            stringify!(globals_dtor)
14752        )
14753    );
14754    assert_eq!(
14755        unsafe {
14756            &(*(::std::ptr::null::<_zend_module_entry>())).post_deactivate_func as *const _ as usize
14757        },
14758        128usize,
14759        concat!(
14760            "Offset of field: ",
14761            stringify!(_zend_module_entry),
14762            "::",
14763            stringify!(post_deactivate_func)
14764        )
14765    );
14766    assert_eq!(
14767        unsafe {
14768            &(*(::std::ptr::null::<_zend_module_entry>())).module_started as *const _ as usize
14769        },
14770        136usize,
14771        concat!(
14772            "Offset of field: ",
14773            stringify!(_zend_module_entry),
14774            "::",
14775            stringify!(module_started)
14776        )
14777    );
14778    assert_eq!(
14779        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).type_ as *const _ as usize },
14780        140usize,
14781        concat!(
14782            "Offset of field: ",
14783            stringify!(_zend_module_entry),
14784            "::",
14785            stringify!(type_)
14786        )
14787    );
14788    assert_eq!(
14789        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).handle as *const _ as usize },
14790        144usize,
14791        concat!(
14792            "Offset of field: ",
14793            stringify!(_zend_module_entry),
14794            "::",
14795            stringify!(handle)
14796        )
14797    );
14798    assert_eq!(
14799        unsafe {
14800            &(*(::std::ptr::null::<_zend_module_entry>())).module_number as *const _ as usize
14801        },
14802        152usize,
14803        concat!(
14804            "Offset of field: ",
14805            stringify!(_zend_module_entry),
14806            "::",
14807            stringify!(module_number)
14808        )
14809    );
14810    assert_eq!(
14811        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).build_id as *const _ as usize },
14812        160usize,
14813        concat!(
14814            "Offset of field: ",
14815            stringify!(_zend_module_entry),
14816            "::",
14817            stringify!(build_id)
14818        )
14819    );
14820}
14821#[repr(C)]
14822#[derive(Debug, Copy, Clone)]
14823pub struct _zend_module_dep {
14824    pub name: *const ::std::os::raw::c_char,
14825    pub rel: *const ::std::os::raw::c_char,
14826    pub version: *const ::std::os::raw::c_char,
14827    pub type_: ::std::os::raw::c_uchar,
14828}
14829#[test]
14830fn bindgen_test_layout__zend_module_dep() {
14831    assert_eq!(
14832        ::std::mem::size_of::<_zend_module_dep>(),
14833        32usize,
14834        concat!("Size of: ", stringify!(_zend_module_dep))
14835    );
14836    assert_eq!(
14837        ::std::mem::align_of::<_zend_module_dep>(),
14838        8usize,
14839        concat!("Alignment of ", stringify!(_zend_module_dep))
14840    );
14841    assert_eq!(
14842        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).name as *const _ as usize },
14843        0usize,
14844        concat!(
14845            "Offset of field: ",
14846            stringify!(_zend_module_dep),
14847            "::",
14848            stringify!(name)
14849        )
14850    );
14851    assert_eq!(
14852        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).rel as *const _ as usize },
14853        8usize,
14854        concat!(
14855            "Offset of field: ",
14856            stringify!(_zend_module_dep),
14857            "::",
14858            stringify!(rel)
14859        )
14860    );
14861    assert_eq!(
14862        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).version as *const _ as usize },
14863        16usize,
14864        concat!(
14865            "Offset of field: ",
14866            stringify!(_zend_module_dep),
14867            "::",
14868            stringify!(version)
14869        )
14870    );
14871    assert_eq!(
14872        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).type_ as *const _ as usize },
14873        24usize,
14874        concat!(
14875            "Offset of field: ",
14876            stringify!(_zend_module_dep),
14877            "::",
14878            stringify!(type_)
14879        )
14880    );
14881}
14882extern "C" {
14883    pub static mut module_registry: HashTable;
14884}
14885pub type rsrc_dtor_func_t = ::std::option::Option<unsafe extern "C" fn(res: *mut zend_resource)>;
14886#[repr(C)]
14887#[derive(Debug, Copy, Clone)]
14888pub struct _zend_rsrc_list_dtors_entry {
14889    pub list_dtor_ex: rsrc_dtor_func_t,
14890    pub plist_dtor_ex: rsrc_dtor_func_t,
14891    pub type_name: *const ::std::os::raw::c_char,
14892    pub module_number: ::std::os::raw::c_int,
14893    pub resource_id: ::std::os::raw::c_int,
14894}
14895#[test]
14896fn bindgen_test_layout__zend_rsrc_list_dtors_entry() {
14897    assert_eq!(
14898        ::std::mem::size_of::<_zend_rsrc_list_dtors_entry>(),
14899        32usize,
14900        concat!("Size of: ", stringify!(_zend_rsrc_list_dtors_entry))
14901    );
14902    assert_eq!(
14903        ::std::mem::align_of::<_zend_rsrc_list_dtors_entry>(),
14904        8usize,
14905        concat!("Alignment of ", stringify!(_zend_rsrc_list_dtors_entry))
14906    );
14907    assert_eq!(
14908        unsafe {
14909            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).list_dtor_ex as *const _
14910                as usize
14911        },
14912        0usize,
14913        concat!(
14914            "Offset of field: ",
14915            stringify!(_zend_rsrc_list_dtors_entry),
14916            "::",
14917            stringify!(list_dtor_ex)
14918        )
14919    );
14920    assert_eq!(
14921        unsafe {
14922            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).plist_dtor_ex as *const _
14923                as usize
14924        },
14925        8usize,
14926        concat!(
14927            "Offset of field: ",
14928            stringify!(_zend_rsrc_list_dtors_entry),
14929            "::",
14930            stringify!(plist_dtor_ex)
14931        )
14932    );
14933    assert_eq!(
14934        unsafe {
14935            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).type_name as *const _ as usize
14936        },
14937        16usize,
14938        concat!(
14939            "Offset of field: ",
14940            stringify!(_zend_rsrc_list_dtors_entry),
14941            "::",
14942            stringify!(type_name)
14943        )
14944    );
14945    assert_eq!(
14946        unsafe {
14947            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).module_number as *const _
14948                as usize
14949        },
14950        24usize,
14951        concat!(
14952            "Offset of field: ",
14953            stringify!(_zend_rsrc_list_dtors_entry),
14954            "::",
14955            stringify!(module_number)
14956        )
14957    );
14958    assert_eq!(
14959        unsafe {
14960            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).resource_id as *const _ as usize
14961        },
14962        28usize,
14963        concat!(
14964            "Offset of field: ",
14965            stringify!(_zend_rsrc_list_dtors_entry),
14966            "::",
14967            stringify!(resource_id)
14968        )
14969    );
14970}
14971pub type zend_rsrc_list_dtors_entry = _zend_rsrc_list_dtors_entry;
14972extern "C" {
14973    pub fn zend_register_list_destructors_ex(
14974        ld: rsrc_dtor_func_t,
14975        pld: rsrc_dtor_func_t,
14976        type_name: *const ::std::os::raw::c_char,
14977        module_number: ::std::os::raw::c_int,
14978    ) -> ::std::os::raw::c_int;
14979}
14980extern "C" {
14981    pub fn zend_clean_module_rsrc_dtors(module_number: ::std::os::raw::c_int);
14982}
14983extern "C" {
14984    pub fn zend_init_rsrc_list();
14985}
14986extern "C" {
14987    pub fn zend_init_rsrc_plist();
14988}
14989extern "C" {
14990    pub fn zend_close_rsrc_list(ht: *mut HashTable);
14991}
14992extern "C" {
14993    pub fn zend_destroy_rsrc_list(ht: *mut HashTable);
14994}
14995extern "C" {
14996    pub fn zend_init_rsrc_list_dtors();
14997}
14998extern "C" {
14999    pub fn zend_destroy_rsrc_list_dtors();
15000}
15001extern "C" {
15002    pub fn zend_list_insert(
15003        ptr: *mut ::std::os::raw::c_void,
15004        type_: ::std::os::raw::c_int,
15005    ) -> *mut zval;
15006}
15007extern "C" {
15008    pub fn zend_list_free(res: *mut zend_resource);
15009}
15010extern "C" {
15011    pub fn zend_list_delete(res: *mut zend_resource) -> ::std::os::raw::c_int;
15012}
15013extern "C" {
15014    pub fn zend_list_close(res: *mut zend_resource);
15015}
15016extern "C" {
15017    pub fn zend_register_resource(
15018        rsrc_pointer: *mut ::std::os::raw::c_void,
15019        rsrc_type: ::std::os::raw::c_int,
15020    ) -> *mut zend_resource;
15021}
15022extern "C" {
15023    pub fn zend_fetch_resource(
15024        res: *mut zend_resource,
15025        resource_type_name: *const ::std::os::raw::c_char,
15026        resource_type: ::std::os::raw::c_int,
15027    ) -> *mut ::std::os::raw::c_void;
15028}
15029extern "C" {
15030    pub fn zend_fetch_resource2(
15031        res: *mut zend_resource,
15032        resource_type_name: *const ::std::os::raw::c_char,
15033        resource_type: ::std::os::raw::c_int,
15034        resource_type2: ::std::os::raw::c_int,
15035    ) -> *mut ::std::os::raw::c_void;
15036}
15037extern "C" {
15038    pub fn zend_fetch_resource_ex(
15039        res: *mut zval,
15040        resource_type_name: *const ::std::os::raw::c_char,
15041        resource_type: ::std::os::raw::c_int,
15042    ) -> *mut ::std::os::raw::c_void;
15043}
15044extern "C" {
15045    pub fn zend_fetch_resource2_ex(
15046        res: *mut zval,
15047        resource_type_name: *const ::std::os::raw::c_char,
15048        resource_type: ::std::os::raw::c_int,
15049        resource_type2: ::std::os::raw::c_int,
15050    ) -> *mut ::std::os::raw::c_void;
15051}
15052extern "C" {
15053    pub fn zend_rsrc_list_get_rsrc_type(res: *mut zend_resource) -> *const ::std::os::raw::c_char;
15054}
15055extern "C" {
15056    pub fn zend_fetch_list_dtor_id(
15057        type_name: *const ::std::os::raw::c_char,
15058    ) -> ::std::os::raw::c_int;
15059}
15060extern "C" {
15061    pub fn zend_register_persistent_resource(
15062        key: *const ::std::os::raw::c_char,
15063        key_len: size_t,
15064        rsrc_pointer: *mut ::std::os::raw::c_void,
15065        rsrc_type: ::std::os::raw::c_int,
15066    ) -> *mut zend_resource;
15067}
15068extern "C" {
15069    pub fn zend_register_persistent_resource_ex(
15070        key: *mut zend_string,
15071        rsrc_pointer: *mut ::std::os::raw::c_void,
15072        rsrc_type: ::std::os::raw::c_int,
15073    ) -> *mut zend_resource;
15074}
15075extern "C" {
15076    pub static mut zend_execute_ex:
15077        ::std::option::Option<unsafe extern "C" fn(execute_data: *mut zend_execute_data)>;
15078}
15079extern "C" {
15080    pub static mut zend_execute_internal: ::std::option::Option<
15081        unsafe extern "C" fn(execute_data: *mut zend_execute_data, return_value: *mut zval),
15082    >;
15083}
15084extern "C" {
15085    pub static mut zend_autoload: ::std::option::Option<
15086        unsafe extern "C" fn(
15087            name: *mut zend_string,
15088            lc_name: *mut zend_string,
15089        ) -> *mut zend_class_entry,
15090    >;
15091}
15092extern "C" {
15093    pub fn zend_init_execute_data(
15094        execute_data: *mut zend_execute_data,
15095        op_array: *mut zend_op_array,
15096        return_value: *mut zval,
15097    );
15098}
15099extern "C" {
15100    pub fn zend_init_func_execute_data(
15101        execute_data: *mut zend_execute_data,
15102        op_array: *mut zend_op_array,
15103        return_value: *mut zval,
15104    );
15105}
15106extern "C" {
15107    pub fn zend_init_code_execute_data(
15108        execute_data: *mut zend_execute_data,
15109        op_array: *mut zend_op_array,
15110        return_value: *mut zval,
15111    );
15112}
15113extern "C" {
15114    pub fn zend_execute(op_array: *mut zend_op_array, return_value: *mut zval);
15115}
15116extern "C" {
15117    pub fn zend_is_valid_class_name(name: *mut zend_string) -> zend_bool;
15118}
15119extern "C" {
15120    pub fn zend_lookup_class(name: *mut zend_string) -> *mut zend_class_entry;
15121}
15122extern "C" {
15123    pub fn zend_lookup_class_ex(
15124        name: *mut zend_string,
15125        lcname: *mut zend_string,
15126        flags: u32,
15127    ) -> *mut zend_class_entry;
15128}
15129extern "C" {
15130    pub fn zend_get_called_scope(ex: *mut zend_execute_data) -> *mut zend_class_entry;
15131}
15132extern "C" {
15133    pub fn zend_get_this_object(ex: *mut zend_execute_data) -> *mut zend_object;
15134}
15135extern "C" {
15136    pub fn zend_eval_string(
15137        str_: *const ::std::os::raw::c_char,
15138        retval_ptr: *mut zval,
15139        string_name: *const ::std::os::raw::c_char,
15140    ) -> zend_result;
15141}
15142extern "C" {
15143    pub fn zend_eval_stringl(
15144        str_: *const ::std::os::raw::c_char,
15145        str_len: size_t,
15146        retval_ptr: *mut zval,
15147        string_name: *const ::std::os::raw::c_char,
15148    ) -> zend_result;
15149}
15150extern "C" {
15151    pub fn zend_eval_string_ex(
15152        str_: *const ::std::os::raw::c_char,
15153        retval_ptr: *mut zval,
15154        string_name: *const ::std::os::raw::c_char,
15155        handle_exceptions: bool,
15156    ) -> zend_result;
15157}
15158extern "C" {
15159    pub fn zend_eval_stringl_ex(
15160        str_: *const ::std::os::raw::c_char,
15161        str_len: size_t,
15162        retval_ptr: *mut zval,
15163        string_name: *const ::std::os::raw::c_char,
15164        handle_exceptions: bool,
15165    ) -> zend_result;
15166}
15167extern "C" {
15168    pub static zend_pass_function: zend_internal_function;
15169}
15170extern "C" {
15171    pub fn zend_missing_arg_error(execute_data: *mut zend_execute_data);
15172}
15173extern "C" {
15174    pub fn zend_deprecated_function(fbc: *const zend_function);
15175}
15176extern "C" {
15177    pub fn zend_param_must_be_ref(func: *const zend_function, arg_num: u32);
15178}
15179extern "C" {
15180    pub fn zend_verify_ref_assignable_zval(
15181        ref_: *mut zend_reference,
15182        zv: *mut zval,
15183        strict: zend_bool,
15184    ) -> zend_bool;
15185}
15186extern "C" {
15187    pub fn zend_verify_prop_assignable_by_ref(
15188        prop_info: *mut zend_property_info,
15189        orig_val: *mut zval,
15190        strict: zend_bool,
15191    ) -> zend_bool;
15192}
15193extern "C" {
15194    pub fn zend_throw_ref_type_error_zval(prop: *mut zend_property_info, zv: *mut zval);
15195}
15196extern "C" {
15197    pub fn zend_throw_ref_type_error_type(
15198        prop1: *mut zend_property_info,
15199        prop2: *mut zend_property_info,
15200        zv: *mut zval,
15201    );
15202}
15203extern "C" {
15204    pub fn zend_undefined_offset_write(ht: *mut HashTable, lval: zend_long) -> zend_result;
15205}
15206extern "C" {
15207    pub fn zend_undefined_index_write(ht: *mut HashTable, offset: *mut zend_string) -> zend_result;
15208}
15209extern "C" {
15210    pub fn zend_verify_scalar_type_hint(
15211        type_mask: u32,
15212        arg: *mut zval,
15213        strict: zend_bool,
15214        is_internal_arg: zend_bool,
15215    ) -> zend_bool;
15216}
15217extern "C" {
15218    pub fn zend_verify_arg_error(
15219        zf: *const zend_function,
15220        arg_info: *const zend_arg_info,
15221        arg_num: ::std::os::raw::c_int,
15222        value: *mut zval,
15223    );
15224}
15225extern "C" {
15226    pub fn zend_verify_return_error(zf: *const zend_function, value: *mut zval);
15227}
15228extern "C" {
15229    pub fn zend_verify_ref_array_assignable(ref_: *mut zend_reference) -> zend_bool;
15230}
15231extern "C" {
15232    pub fn zend_value_instanceof_static(zv: *mut zval) -> zend_bool;
15233}
15234extern "C" {
15235    pub fn zend_ref_add_type_source(
15236        source_list: *mut zend_property_info_source_list,
15237        prop: *mut zend_property_info,
15238    );
15239}
15240extern "C" {
15241    pub fn zend_ref_del_type_source(
15242        source_list: *mut zend_property_info_source_list,
15243        prop: *mut zend_property_info,
15244    );
15245}
15246extern "C" {
15247    pub fn zend_assign_to_typed_ref(
15248        variable_ptr: *mut zval,
15249        value: *mut zval,
15250        value_type: zend_uchar,
15251        strict: zend_bool,
15252    ) -> *mut zval;
15253}
15254#[repr(C)]
15255#[derive(Debug, Copy, Clone)]
15256pub struct _zend_vm_stack {
15257    pub top: *mut zval,
15258    pub end: *mut zval,
15259    pub prev: zend_vm_stack,
15260}
15261#[test]
15262fn bindgen_test_layout__zend_vm_stack() {
15263    assert_eq!(
15264        ::std::mem::size_of::<_zend_vm_stack>(),
15265        24usize,
15266        concat!("Size of: ", stringify!(_zend_vm_stack))
15267    );
15268    assert_eq!(
15269        ::std::mem::align_of::<_zend_vm_stack>(),
15270        8usize,
15271        concat!("Alignment of ", stringify!(_zend_vm_stack))
15272    );
15273    assert_eq!(
15274        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).top as *const _ as usize },
15275        0usize,
15276        concat!(
15277            "Offset of field: ",
15278            stringify!(_zend_vm_stack),
15279            "::",
15280            stringify!(top)
15281        )
15282    );
15283    assert_eq!(
15284        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).end as *const _ as usize },
15285        8usize,
15286        concat!(
15287            "Offset of field: ",
15288            stringify!(_zend_vm_stack),
15289            "::",
15290            stringify!(end)
15291        )
15292    );
15293    assert_eq!(
15294        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).prev as *const _ as usize },
15295        16usize,
15296        concat!(
15297            "Offset of field: ",
15298            stringify!(_zend_vm_stack),
15299            "::",
15300            stringify!(prev)
15301        )
15302    );
15303}
15304extern "C" {
15305    pub fn zend_vm_stack_init();
15306}
15307extern "C" {
15308    pub fn zend_vm_stack_init_ex(page_size: size_t);
15309}
15310extern "C" {
15311    pub fn zend_vm_stack_destroy();
15312}
15313extern "C" {
15314    pub fn zend_vm_stack_extend(size: size_t) -> *mut ::std::os::raw::c_void;
15315}
15316extern "C" {
15317    pub fn zend_vm_stack_copy_call_frame(
15318        call: *mut zend_execute_data,
15319        passed_args: u32,
15320        additional_args: u32,
15321    ) -> *mut zend_execute_data;
15322}
15323extern "C" {
15324    pub fn zend_free_extra_named_params(extra_named_params: *mut zend_array);
15325}
15326extern "C" {
15327    pub fn zend_get_executed_filename() -> *const ::std::os::raw::c_char;
15328}
15329extern "C" {
15330    pub fn zend_get_executed_filename_ex() -> *mut zend_string;
15331}
15332extern "C" {
15333    pub fn zend_get_executed_lineno() -> u32;
15334}
15335extern "C" {
15336    pub fn zend_get_executed_scope() -> *mut zend_class_entry;
15337}
15338extern "C" {
15339    pub fn zend_is_executing() -> zend_bool;
15340}
15341extern "C" {
15342    pub fn zend_cannot_pass_by_reference(arg_num: u32);
15343}
15344extern "C" {
15345    pub fn zend_set_timeout(seconds: zend_long, reset_signals: bool);
15346}
15347extern "C" {
15348    pub fn zend_unset_timeout();
15349}
15350extern "C" {
15351    pub fn zend_timeout();
15352}
15353extern "C" {
15354    pub fn zend_fetch_class(
15355        class_name: *mut zend_string,
15356        fetch_type: ::std::os::raw::c_int,
15357    ) -> *mut zend_class_entry;
15358}
15359extern "C" {
15360    pub fn zend_fetch_class_by_name(
15361        class_name: *mut zend_string,
15362        lcname: *mut zend_string,
15363        fetch_type: ::std::os::raw::c_int,
15364    ) -> *mut zend_class_entry;
15365}
15366extern "C" {
15367    pub fn zend_fetch_function(name: *mut zend_string) -> *mut zend_function;
15368}
15369extern "C" {
15370    pub fn zend_fetch_function_str(
15371        name: *const ::std::os::raw::c_char,
15372        len: size_t,
15373    ) -> *mut zend_function;
15374}
15375extern "C" {
15376    pub fn zend_init_func_run_time_cache(op_array: *mut zend_op_array);
15377}
15378extern "C" {
15379    pub fn zend_fetch_dimension_const(
15380        result: *mut zval,
15381        container: *mut zval,
15382        dim: *mut zval,
15383        type_: ::std::os::raw::c_int,
15384    );
15385}
15386extern "C" {
15387    pub fn zend_get_compiled_variable_value(
15388        execute_data_ptr: *const zend_execute_data,
15389        var: u32,
15390    ) -> *mut zval;
15391}
15392extern "C" {
15393    pub fn zend_set_user_opcode_handler(
15394        opcode: zend_uchar,
15395        handler: user_opcode_handler_t,
15396    ) -> ::std::os::raw::c_int;
15397}
15398extern "C" {
15399    pub fn zend_get_user_opcode_handler(opcode: zend_uchar) -> user_opcode_handler_t;
15400}
15401extern "C" {
15402    pub fn zend_get_zval_ptr(
15403        opline: *const zend_op,
15404        op_type: ::std::os::raw::c_int,
15405        node: *const znode_op,
15406        execute_data: *const zend_execute_data,
15407    ) -> *mut zval;
15408}
15409extern "C" {
15410    pub fn zend_clean_and_cache_symbol_table(symbol_table: *mut zend_array);
15411}
15412extern "C" {
15413    pub fn zend_free_compiled_variables(execute_data: *mut zend_execute_data);
15414}
15415extern "C" {
15416    pub fn zend_cleanup_unfinished_execution(
15417        execute_data: *mut zend_execute_data,
15418        op_num: u32,
15419        catch_op_num: u32,
15420    );
15421}
15422extern "C" {
15423    pub fn zend_handle_named_arg(
15424        call_ptr: *mut *mut zend_execute_data,
15425        arg_name: *mut zend_string,
15426        arg_num_ptr: *mut u32,
15427        cache_slot: *mut *mut ::std::os::raw::c_void,
15428    ) -> *mut zval;
15429}
15430extern "C" {
15431    pub fn zend_handle_undef_args(call: *mut zend_execute_data) -> ::std::os::raw::c_int;
15432}
15433extern "C" {
15434    pub fn zend_verify_property_type(
15435        info: *mut zend_property_info,
15436        property: *mut zval,
15437        strict: zend_bool,
15438    ) -> zend_bool;
15439}
15440extern "C" {
15441    pub fn zend_verify_property_type_error(info: *mut zend_property_info, property: *mut zval);
15442}
15443#[repr(C)]
15444#[derive(Debug, Copy, Clone)]
15445pub struct _zend_function_entry {
15446    pub fname: *const ::std::os::raw::c_char,
15447    pub handler: zif_handler,
15448    pub arg_info: *const _zend_internal_arg_info,
15449    pub num_args: u32,
15450    pub flags: u32,
15451}
15452#[test]
15453fn bindgen_test_layout__zend_function_entry() {
15454    assert_eq!(
15455        ::std::mem::size_of::<_zend_function_entry>(),
15456        32usize,
15457        concat!("Size of: ", stringify!(_zend_function_entry))
15458    );
15459    assert_eq!(
15460        ::std::mem::align_of::<_zend_function_entry>(),
15461        8usize,
15462        concat!("Alignment of ", stringify!(_zend_function_entry))
15463    );
15464    assert_eq!(
15465        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).fname as *const _ as usize },
15466        0usize,
15467        concat!(
15468            "Offset of field: ",
15469            stringify!(_zend_function_entry),
15470            "::",
15471            stringify!(fname)
15472        )
15473    );
15474    assert_eq!(
15475        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).handler as *const _ as usize },
15476        8usize,
15477        concat!(
15478            "Offset of field: ",
15479            stringify!(_zend_function_entry),
15480            "::",
15481            stringify!(handler)
15482        )
15483    );
15484    assert_eq!(
15485        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).arg_info as *const _ as usize },
15486        16usize,
15487        concat!(
15488            "Offset of field: ",
15489            stringify!(_zend_function_entry),
15490            "::",
15491            stringify!(arg_info)
15492        )
15493    );
15494    assert_eq!(
15495        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).num_args as *const _ as usize },
15496        24usize,
15497        concat!(
15498            "Offset of field: ",
15499            stringify!(_zend_function_entry),
15500            "::",
15501            stringify!(num_args)
15502        )
15503    );
15504    assert_eq!(
15505        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).flags as *const _ as usize },
15506        28usize,
15507        concat!(
15508            "Offset of field: ",
15509            stringify!(_zend_function_entry),
15510            "::",
15511            stringify!(flags)
15512        )
15513    );
15514}
15515pub type zend_function_entry = _zend_function_entry;
15516#[repr(C)]
15517#[derive(Copy, Clone)]
15518pub struct _zend_fcall_info {
15519    pub size: size_t,
15520    pub function_name: zval,
15521    pub retval: *mut zval,
15522    pub params: *mut zval,
15523    pub object: *mut zend_object,
15524    pub param_count: u32,
15525    pub named_params: *mut HashTable,
15526}
15527#[test]
15528fn bindgen_test_layout__zend_fcall_info() {
15529    assert_eq!(
15530        ::std::mem::size_of::<_zend_fcall_info>(),
15531        64usize,
15532        concat!("Size of: ", stringify!(_zend_fcall_info))
15533    );
15534    assert_eq!(
15535        ::std::mem::align_of::<_zend_fcall_info>(),
15536        8usize,
15537        concat!("Alignment of ", stringify!(_zend_fcall_info))
15538    );
15539    assert_eq!(
15540        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).size as *const _ as usize },
15541        0usize,
15542        concat!(
15543            "Offset of field: ",
15544            stringify!(_zend_fcall_info),
15545            "::",
15546            stringify!(size)
15547        )
15548    );
15549    assert_eq!(
15550        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).function_name as *const _ as usize },
15551        8usize,
15552        concat!(
15553            "Offset of field: ",
15554            stringify!(_zend_fcall_info),
15555            "::",
15556            stringify!(function_name)
15557        )
15558    );
15559    assert_eq!(
15560        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).retval as *const _ as usize },
15561        24usize,
15562        concat!(
15563            "Offset of field: ",
15564            stringify!(_zend_fcall_info),
15565            "::",
15566            stringify!(retval)
15567        )
15568    );
15569    assert_eq!(
15570        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).params as *const _ as usize },
15571        32usize,
15572        concat!(
15573            "Offset of field: ",
15574            stringify!(_zend_fcall_info),
15575            "::",
15576            stringify!(params)
15577        )
15578    );
15579    assert_eq!(
15580        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).object as *const _ as usize },
15581        40usize,
15582        concat!(
15583            "Offset of field: ",
15584            stringify!(_zend_fcall_info),
15585            "::",
15586            stringify!(object)
15587        )
15588    );
15589    assert_eq!(
15590        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).param_count as *const _ as usize },
15591        48usize,
15592        concat!(
15593            "Offset of field: ",
15594            stringify!(_zend_fcall_info),
15595            "::",
15596            stringify!(param_count)
15597        )
15598    );
15599    assert_eq!(
15600        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).named_params as *const _ as usize },
15601        56usize,
15602        concat!(
15603            "Offset of field: ",
15604            stringify!(_zend_fcall_info),
15605            "::",
15606            stringify!(named_params)
15607        )
15608    );
15609}
15610pub type zend_fcall_info = _zend_fcall_info;
15611#[repr(C)]
15612#[derive(Debug, Copy, Clone)]
15613pub struct _zend_fcall_info_cache {
15614    pub function_handler: *mut zend_function,
15615    pub calling_scope: *mut zend_class_entry,
15616    pub called_scope: *mut zend_class_entry,
15617    pub object: *mut zend_object,
15618}
15619#[test]
15620fn bindgen_test_layout__zend_fcall_info_cache() {
15621    assert_eq!(
15622        ::std::mem::size_of::<_zend_fcall_info_cache>(),
15623        32usize,
15624        concat!("Size of: ", stringify!(_zend_fcall_info_cache))
15625    );
15626    assert_eq!(
15627        ::std::mem::align_of::<_zend_fcall_info_cache>(),
15628        8usize,
15629        concat!("Alignment of ", stringify!(_zend_fcall_info_cache))
15630    );
15631    assert_eq!(
15632        unsafe {
15633            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).function_handler as *const _ as usize
15634        },
15635        0usize,
15636        concat!(
15637            "Offset of field: ",
15638            stringify!(_zend_fcall_info_cache),
15639            "::",
15640            stringify!(function_handler)
15641        )
15642    );
15643    assert_eq!(
15644        unsafe {
15645            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).calling_scope as *const _ as usize
15646        },
15647        8usize,
15648        concat!(
15649            "Offset of field: ",
15650            stringify!(_zend_fcall_info_cache),
15651            "::",
15652            stringify!(calling_scope)
15653        )
15654    );
15655    assert_eq!(
15656        unsafe {
15657            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).called_scope as *const _ as usize
15658        },
15659        16usize,
15660        concat!(
15661            "Offset of field: ",
15662            stringify!(_zend_fcall_info_cache),
15663            "::",
15664            stringify!(called_scope)
15665        )
15666    );
15667    assert_eq!(
15668        unsafe { &(*(::std::ptr::null::<_zend_fcall_info_cache>())).object as *const _ as usize },
15669        24usize,
15670        concat!(
15671            "Offset of field: ",
15672            stringify!(_zend_fcall_info_cache),
15673            "::",
15674            stringify!(object)
15675        )
15676    );
15677}
15678pub type zend_fcall_info_cache = _zend_fcall_info_cache;
15679extern "C" {
15680    pub fn zend_next_free_module() -> ::std::os::raw::c_int;
15681}
15682extern "C" {
15683    pub fn _zend_get_parameters_array_ex(
15684        param_count: u32,
15685        argument_array: *mut zval,
15686    ) -> zend_result;
15687}
15688extern "C" {
15689    pub fn zend_copy_parameters_array(param_count: u32, argument_array: *mut zval) -> zend_result;
15690}
15691extern "C" {
15692    pub fn zend_parse_parameters(
15693        num_args: u32,
15694        type_spec: *const ::std::os::raw::c_char,
15695        ...
15696    ) -> zend_result;
15697}
15698extern "C" {
15699    pub fn zend_parse_parameters_ex(
15700        flags: ::std::os::raw::c_int,
15701        num_args: u32,
15702        type_spec: *const ::std::os::raw::c_char,
15703        ...
15704    ) -> zend_result;
15705}
15706extern "C" {
15707    pub fn zend_zval_type_name(arg: *const zval) -> *const ::std::os::raw::c_char;
15708}
15709extern "C" {
15710    pub fn zend_zval_get_legacy_type(arg: *const zval) -> *mut zend_string;
15711}
15712extern "C" {
15713    pub fn zend_parse_method_parameters(
15714        num_args: u32,
15715        this_ptr: *mut zval,
15716        type_spec: *const ::std::os::raw::c_char,
15717        ...
15718    ) -> zend_result;
15719}
15720extern "C" {
15721    pub fn zend_parse_method_parameters_ex(
15722        flags: ::std::os::raw::c_int,
15723        num_args: u32,
15724        this_ptr: *mut zval,
15725        type_spec: *const ::std::os::raw::c_char,
15726        ...
15727    ) -> zend_result;
15728}
15729extern "C" {
15730    pub fn zend_parse_parameter(
15731        flags: ::std::os::raw::c_int,
15732        arg_num: u32,
15733        arg: *mut zval,
15734        spec: *const ::std::os::raw::c_char,
15735        ...
15736    ) -> zend_result;
15737}
15738extern "C" {
15739    pub fn zend_register_functions(
15740        scope: *mut zend_class_entry,
15741        functions: *const zend_function_entry,
15742        function_table: *mut HashTable,
15743        type_: ::std::os::raw::c_int,
15744    ) -> zend_result;
15745}
15746extern "C" {
15747    pub fn zend_unregister_functions(
15748        functions: *const zend_function_entry,
15749        count: ::std::os::raw::c_int,
15750        function_table: *mut HashTable,
15751    );
15752}
15753extern "C" {
15754    pub fn zend_startup_module(module_entry: *mut zend_module_entry) -> zend_result;
15755}
15756extern "C" {
15757    pub fn zend_register_internal_module(
15758        module_entry: *mut zend_module_entry,
15759    ) -> *mut zend_module_entry;
15760}
15761extern "C" {
15762    pub fn zend_register_module_ex(module: *mut zend_module_entry) -> *mut zend_module_entry;
15763}
15764extern "C" {
15765    pub fn zend_startup_module_ex(module: *mut zend_module_entry) -> zend_result;
15766}
15767extern "C" {
15768    pub fn zend_startup_modules();
15769}
15770extern "C" {
15771    pub fn zend_collect_module_handlers();
15772}
15773extern "C" {
15774    pub fn zend_destroy_modules();
15775}
15776extern "C" {
15777    pub fn zend_check_magic_method_implementation(
15778        ce: *const zend_class_entry,
15779        fptr: *const zend_function,
15780        lcname: *mut zend_string,
15781        error_type: ::std::os::raw::c_int,
15782    );
15783}
15784extern "C" {
15785    pub fn zend_add_magic_method(
15786        ce: *mut zend_class_entry,
15787        fptr: *mut zend_function,
15788        lcname: *mut zend_string,
15789    );
15790}
15791extern "C" {
15792    pub fn zend_register_internal_class(
15793        class_entry: *mut zend_class_entry,
15794    ) -> *mut zend_class_entry;
15795}
15796extern "C" {
15797    pub fn zend_register_internal_class_ex(
15798        class_entry: *mut zend_class_entry,
15799        parent_ce: *mut zend_class_entry,
15800    ) -> *mut zend_class_entry;
15801}
15802extern "C" {
15803    pub fn zend_register_internal_interface(
15804        orig_class_entry: *mut zend_class_entry,
15805    ) -> *mut zend_class_entry;
15806}
15807extern "C" {
15808    pub fn zend_class_implements(
15809        class_entry: *mut zend_class_entry,
15810        num_interfaces: ::std::os::raw::c_int,
15811        ...
15812    );
15813}
15814extern "C" {
15815    pub fn zend_register_class_alias_ex(
15816        name: *const ::std::os::raw::c_char,
15817        name_len: size_t,
15818        ce: *mut zend_class_entry,
15819        persistent: bool,
15820    ) -> zend_result;
15821}
15822extern "C" {
15823    pub fn zend_disable_functions(function_list: *const ::std::os::raw::c_char);
15824}
15825extern "C" {
15826    pub fn zend_disable_class(
15827        class_name: *const ::std::os::raw::c_char,
15828        class_name_length: size_t,
15829    ) -> zend_result;
15830}
15831extern "C" {
15832    pub fn zend_wrong_param_count();
15833}
15834extern "C" {
15835    pub fn zend_release_fcall_info_cache(fcc: *mut zend_fcall_info_cache);
15836}
15837extern "C" {
15838    pub fn zend_get_callable_name_ex(
15839        callable: *mut zval,
15840        object: *mut zend_object,
15841    ) -> *mut zend_string;
15842}
15843extern "C" {
15844    pub fn zend_get_callable_name(callable: *mut zval) -> *mut zend_string;
15845}
15846extern "C" {
15847    pub fn zend_is_callable_at_frame(
15848        callable: *mut zval,
15849        object: *mut zend_object,
15850        frame: *mut zend_execute_data,
15851        check_flags: u32,
15852        fcc: *mut zend_fcall_info_cache,
15853        error: *mut *mut ::std::os::raw::c_char,
15854    ) -> zend_bool;
15855}
15856extern "C" {
15857    pub fn zend_is_callable_ex(
15858        callable: *mut zval,
15859        object: *mut zend_object,
15860        check_flags: u32,
15861        callable_name: *mut *mut zend_string,
15862        fcc: *mut zend_fcall_info_cache,
15863        error: *mut *mut ::std::os::raw::c_char,
15864    ) -> zend_bool;
15865}
15866extern "C" {
15867    pub fn zend_is_callable(
15868        callable: *mut zval,
15869        check_flags: u32,
15870        callable_name: *mut *mut zend_string,
15871    ) -> zend_bool;
15872}
15873extern "C" {
15874    pub fn zend_make_callable(
15875        callable: *mut zval,
15876        callable_name: *mut *mut zend_string,
15877    ) -> zend_bool;
15878}
15879extern "C" {
15880    pub fn zend_get_module_version(
15881        module_name: *const ::std::os::raw::c_char,
15882    ) -> *const ::std::os::raw::c_char;
15883}
15884extern "C" {
15885    pub fn zend_get_module_started(
15886        module_name: *const ::std::os::raw::c_char,
15887    ) -> ::std::os::raw::c_int;
15888}
15889extern "C" {
15890    pub fn zend_declare_typed_property(
15891        ce: *mut zend_class_entry,
15892        name: *mut zend_string,
15893        property: *mut zval,
15894        access_type: ::std::os::raw::c_int,
15895        doc_comment: *mut zend_string,
15896        type_: zend_type,
15897    ) -> *mut zend_property_info;
15898}
15899extern "C" {
15900    pub fn zend_declare_property_ex(
15901        ce: *mut zend_class_entry,
15902        name: *mut zend_string,
15903        property: *mut zval,
15904        access_type: ::std::os::raw::c_int,
15905        doc_comment: *mut zend_string,
15906    );
15907}
15908extern "C" {
15909    pub fn zend_declare_property(
15910        ce: *mut zend_class_entry,
15911        name: *const ::std::os::raw::c_char,
15912        name_length: size_t,
15913        property: *mut zval,
15914        access_type: ::std::os::raw::c_int,
15915    );
15916}
15917extern "C" {
15918    pub fn zend_declare_property_null(
15919        ce: *mut zend_class_entry,
15920        name: *const ::std::os::raw::c_char,
15921        name_length: size_t,
15922        access_type: ::std::os::raw::c_int,
15923    );
15924}
15925extern "C" {
15926    pub fn zend_declare_property_bool(
15927        ce: *mut zend_class_entry,
15928        name: *const ::std::os::raw::c_char,
15929        name_length: size_t,
15930        value: zend_long,
15931        access_type: ::std::os::raw::c_int,
15932    );
15933}
15934extern "C" {
15935    pub fn zend_declare_property_long(
15936        ce: *mut zend_class_entry,
15937        name: *const ::std::os::raw::c_char,
15938        name_length: size_t,
15939        value: zend_long,
15940        access_type: ::std::os::raw::c_int,
15941    );
15942}
15943extern "C" {
15944    pub fn zend_declare_property_double(
15945        ce: *mut zend_class_entry,
15946        name: *const ::std::os::raw::c_char,
15947        name_length: size_t,
15948        value: f64,
15949        access_type: ::std::os::raw::c_int,
15950    );
15951}
15952extern "C" {
15953    pub fn zend_declare_property_string(
15954        ce: *mut zend_class_entry,
15955        name: *const ::std::os::raw::c_char,
15956        name_length: size_t,
15957        value: *const ::std::os::raw::c_char,
15958        access_type: ::std::os::raw::c_int,
15959    );
15960}
15961extern "C" {
15962    pub fn zend_declare_property_stringl(
15963        ce: *mut zend_class_entry,
15964        name: *const ::std::os::raw::c_char,
15965        name_length: size_t,
15966        value: *const ::std::os::raw::c_char,
15967        value_len: size_t,
15968        access_type: ::std::os::raw::c_int,
15969    );
15970}
15971extern "C" {
15972    pub fn zend_declare_class_constant_ex(
15973        ce: *mut zend_class_entry,
15974        name: *mut zend_string,
15975        value: *mut zval,
15976        access_type: ::std::os::raw::c_int,
15977        doc_comment: *mut zend_string,
15978    ) -> *mut zend_class_constant;
15979}
15980extern "C" {
15981    pub fn zend_declare_class_constant(
15982        ce: *mut zend_class_entry,
15983        name: *const ::std::os::raw::c_char,
15984        name_length: size_t,
15985        value: *mut zval,
15986    );
15987}
15988extern "C" {
15989    pub fn zend_declare_class_constant_null(
15990        ce: *mut zend_class_entry,
15991        name: *const ::std::os::raw::c_char,
15992        name_length: size_t,
15993    );
15994}
15995extern "C" {
15996    pub fn zend_declare_class_constant_long(
15997        ce: *mut zend_class_entry,
15998        name: *const ::std::os::raw::c_char,
15999        name_length: size_t,
16000        value: zend_long,
16001    );
16002}
16003extern "C" {
16004    pub fn zend_declare_class_constant_bool(
16005        ce: *mut zend_class_entry,
16006        name: *const ::std::os::raw::c_char,
16007        name_length: size_t,
16008        value: zend_bool,
16009    );
16010}
16011extern "C" {
16012    pub fn zend_declare_class_constant_double(
16013        ce: *mut zend_class_entry,
16014        name: *const ::std::os::raw::c_char,
16015        name_length: size_t,
16016        value: f64,
16017    );
16018}
16019extern "C" {
16020    pub fn zend_declare_class_constant_stringl(
16021        ce: *mut zend_class_entry,
16022        name: *const ::std::os::raw::c_char,
16023        name_length: size_t,
16024        value: *const ::std::os::raw::c_char,
16025        value_length: size_t,
16026    );
16027}
16028extern "C" {
16029    pub fn zend_declare_class_constant_string(
16030        ce: *mut zend_class_entry,
16031        name: *const ::std::os::raw::c_char,
16032        name_length: size_t,
16033        value: *const ::std::os::raw::c_char,
16034    );
16035}
16036extern "C" {
16037    pub fn zend_update_class_constants(class_type: *mut zend_class_entry) -> zend_result;
16038}
16039extern "C" {
16040    pub fn zend_update_property_ex(
16041        scope: *mut zend_class_entry,
16042        object: *mut zend_object,
16043        name: *mut zend_string,
16044        value: *mut zval,
16045    );
16046}
16047extern "C" {
16048    pub fn zend_update_property(
16049        scope: *mut zend_class_entry,
16050        object: *mut zend_object,
16051        name: *const ::std::os::raw::c_char,
16052        name_length: size_t,
16053        value: *mut zval,
16054    );
16055}
16056extern "C" {
16057    pub fn zend_update_property_null(
16058        scope: *mut zend_class_entry,
16059        object: *mut zend_object,
16060        name: *const ::std::os::raw::c_char,
16061        name_length: size_t,
16062    );
16063}
16064extern "C" {
16065    pub fn zend_update_property_bool(
16066        scope: *mut zend_class_entry,
16067        object: *mut zend_object,
16068        name: *const ::std::os::raw::c_char,
16069        name_length: size_t,
16070        value: zend_long,
16071    );
16072}
16073extern "C" {
16074    pub fn zend_update_property_long(
16075        scope: *mut zend_class_entry,
16076        object: *mut zend_object,
16077        name: *const ::std::os::raw::c_char,
16078        name_length: size_t,
16079        value: zend_long,
16080    );
16081}
16082extern "C" {
16083    pub fn zend_update_property_double(
16084        scope: *mut zend_class_entry,
16085        object: *mut zend_object,
16086        name: *const ::std::os::raw::c_char,
16087        name_length: size_t,
16088        value: f64,
16089    );
16090}
16091extern "C" {
16092    pub fn zend_update_property_str(
16093        scope: *mut zend_class_entry,
16094        object: *mut zend_object,
16095        name: *const ::std::os::raw::c_char,
16096        name_length: size_t,
16097        value: *mut zend_string,
16098    );
16099}
16100extern "C" {
16101    pub fn zend_update_property_string(
16102        scope: *mut zend_class_entry,
16103        object: *mut zend_object,
16104        name: *const ::std::os::raw::c_char,
16105        name_length: size_t,
16106        value: *const ::std::os::raw::c_char,
16107    );
16108}
16109extern "C" {
16110    pub fn zend_update_property_stringl(
16111        scope: *mut zend_class_entry,
16112        object: *mut zend_object,
16113        name: *const ::std::os::raw::c_char,
16114        name_length: size_t,
16115        value: *const ::std::os::raw::c_char,
16116        value_length: size_t,
16117    );
16118}
16119extern "C" {
16120    pub fn zend_unset_property(
16121        scope: *mut zend_class_entry,
16122        object: *mut zend_object,
16123        name: *const ::std::os::raw::c_char,
16124        name_length: size_t,
16125    );
16126}
16127extern "C" {
16128    pub fn zend_update_static_property_ex(
16129        scope: *mut zend_class_entry,
16130        name: *mut zend_string,
16131        value: *mut zval,
16132    ) -> zend_result;
16133}
16134extern "C" {
16135    pub fn zend_update_static_property(
16136        scope: *mut zend_class_entry,
16137        name: *const ::std::os::raw::c_char,
16138        name_length: size_t,
16139        value: *mut zval,
16140    ) -> zend_result;
16141}
16142extern "C" {
16143    pub fn zend_update_static_property_null(
16144        scope: *mut zend_class_entry,
16145        name: *const ::std::os::raw::c_char,
16146        name_length: size_t,
16147    ) -> zend_result;
16148}
16149extern "C" {
16150    pub fn zend_update_static_property_bool(
16151        scope: *mut zend_class_entry,
16152        name: *const ::std::os::raw::c_char,
16153        name_length: size_t,
16154        value: zend_long,
16155    ) -> zend_result;
16156}
16157extern "C" {
16158    pub fn zend_update_static_property_long(
16159        scope: *mut zend_class_entry,
16160        name: *const ::std::os::raw::c_char,
16161        name_length: size_t,
16162        value: zend_long,
16163    ) -> zend_result;
16164}
16165extern "C" {
16166    pub fn zend_update_static_property_double(
16167        scope: *mut zend_class_entry,
16168        name: *const ::std::os::raw::c_char,
16169        name_length: size_t,
16170        value: f64,
16171    ) -> zend_result;
16172}
16173extern "C" {
16174    pub fn zend_update_static_property_string(
16175        scope: *mut zend_class_entry,
16176        name: *const ::std::os::raw::c_char,
16177        name_length: size_t,
16178        value: *const ::std::os::raw::c_char,
16179    ) -> zend_result;
16180}
16181extern "C" {
16182    pub fn zend_update_static_property_stringl(
16183        scope: *mut zend_class_entry,
16184        name: *const ::std::os::raw::c_char,
16185        name_length: size_t,
16186        value: *const ::std::os::raw::c_char,
16187        value_length: size_t,
16188    ) -> zend_result;
16189}
16190extern "C" {
16191    pub fn zend_read_property_ex(
16192        scope: *mut zend_class_entry,
16193        object: *mut zend_object,
16194        name: *mut zend_string,
16195        silent: zend_bool,
16196        rv: *mut zval,
16197    ) -> *mut zval;
16198}
16199extern "C" {
16200    pub fn zend_read_property(
16201        scope: *mut zend_class_entry,
16202        object: *mut zend_object,
16203        name: *const ::std::os::raw::c_char,
16204        name_length: size_t,
16205        silent: zend_bool,
16206        rv: *mut zval,
16207    ) -> *mut zval;
16208}
16209extern "C" {
16210    pub fn zend_read_static_property_ex(
16211        scope: *mut zend_class_entry,
16212        name: *mut zend_string,
16213        silent: zend_bool,
16214    ) -> *mut zval;
16215}
16216extern "C" {
16217    pub fn zend_read_static_property(
16218        scope: *mut zend_class_entry,
16219        name: *const ::std::os::raw::c_char,
16220        name_length: size_t,
16221        silent: zend_bool,
16222    ) -> *mut zval;
16223}
16224extern "C" {
16225    pub fn zend_get_type_by_const(type_: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
16226}
16227extern "C" {
16228    pub fn zend_merge_properties(obj: *mut zval, properties: *mut HashTable);
16229}
16230extern "C" {
16231    pub static empty_fcall_info: zend_fcall_info;
16232}
16233extern "C" {
16234    pub static empty_fcall_info_cache: zend_fcall_info_cache;
16235}
16236extern "C" {
16237    #[doc = " Build zend_call_info/cache from a zval*"]
16238    #[doc = ""]
16239    #[doc = " Caller is responsible to provide a return value (fci->retval), otherwise the we will crash."]
16240    #[doc = " In order to pass parameters the following members need to be set:"]
16241    #[doc = " fci->param_count = 0;"]
16242    #[doc = " fci->params = NULL;"]
16243    #[doc = " The callable_name argument may be NULL."]
16244    pub fn zend_fcall_info_init(
16245        callable: *mut zval,
16246        check_flags: u32,
16247        fci: *mut zend_fcall_info,
16248        fcc: *mut zend_fcall_info_cache,
16249        callable_name: *mut *mut zend_string,
16250        error: *mut *mut ::std::os::raw::c_char,
16251    ) -> zend_result;
16252}
16253extern "C" {
16254    #[doc = " Clear arguments connected with zend_fcall_info *fci"]
16255    #[doc = " If free_mem is not zero then the params array gets free'd as well"]
16256    pub fn zend_fcall_info_args_clear(fci: *mut zend_fcall_info, free_mem: bool);
16257}
16258extern "C" {
16259    #[doc = " Save current arguments from zend_fcall_info *fci"]
16260    #[doc = " params array will be set to NULL"]
16261    pub fn zend_fcall_info_args_save(
16262        fci: *mut zend_fcall_info,
16263        param_count: *mut u32,
16264        params: *mut *mut zval,
16265    );
16266}
16267extern "C" {
16268    #[doc = " Free arguments connected with zend_fcall_info *fci andset back saved ones."]
16269    pub fn zend_fcall_info_args_restore(
16270        fci: *mut zend_fcall_info,
16271        param_count: u32,
16272        params: *mut zval,
16273    );
16274}
16275extern "C" {
16276    #[doc = " Set or clear the arguments in the zend_call_info struct taking care of"]
16277    #[doc = " refcount. If args is NULL and arguments are set then those are cleared."]
16278    pub fn zend_fcall_info_args(fci: *mut zend_fcall_info, args: *mut zval) -> zend_result;
16279}
16280extern "C" {
16281    pub fn zend_fcall_info_args_ex(
16282        fci: *mut zend_fcall_info,
16283        func: *mut zend_function,
16284        args: *mut zval,
16285    ) -> zend_result;
16286}
16287extern "C" {
16288    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
16289    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
16290    #[doc = " a variable amount of zval** arguments."]
16291    pub fn zend_fcall_info_argp(fci: *mut zend_fcall_info, argc: u32, argv: *mut zval);
16292}
16293extern "C" {
16294    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
16295    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
16296    #[doc = " a variable amount of zval** arguments."]
16297    pub fn zend_fcall_info_argv(fci: *mut zend_fcall_info, argc: u32, argv: *mut va_list);
16298}
16299extern "C" {
16300    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
16301    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
16302    #[doc = " a variable amount of zval** arguments."]
16303    pub fn zend_fcall_info_argn(fci: *mut zend_fcall_info, argc: u32, ...);
16304}
16305extern "C" {
16306    #[doc = " Call a function using information created by zend_fcall_info_init()/args()."]
16307    #[doc = " If args is given then those replace the argument info in fci is temporarily."]
16308    pub fn zend_fcall_info_call(
16309        fci: *mut zend_fcall_info,
16310        fcc: *mut zend_fcall_info_cache,
16311        retval: *mut zval,
16312        args: *mut zval,
16313    ) -> zend_result;
16314}
16315extern "C" {
16316    pub fn zend_call_function(
16317        fci: *mut zend_fcall_info,
16318        fci_cache: *mut zend_fcall_info_cache,
16319    ) -> zend_result;
16320}
16321extern "C" {
16322    pub fn zend_call_known_function(
16323        fn_: *mut zend_function,
16324        object: *mut zend_object,
16325        called_scope: *mut zend_class_entry,
16326        retval_ptr: *mut zval,
16327        param_count: u32,
16328        params: *mut zval,
16329        named_params: *mut HashTable,
16330    );
16331}
16332extern "C" {
16333    pub fn zend_call_known_instance_method_with_2_params(
16334        fn_: *mut zend_function,
16335        object: *mut zend_object,
16336        retval_ptr: *mut zval,
16337        param1: *mut zval,
16338        param2: *mut zval,
16339    );
16340}
16341extern "C" {
16342    pub fn zend_set_hash_symbol(
16343        symbol: *mut zval,
16344        name: *const ::std::os::raw::c_char,
16345        name_length: size_t,
16346        is_ref: zend_bool,
16347        num_symbol_tables: ::std::os::raw::c_int,
16348        ...
16349    ) -> zend_result;
16350}
16351extern "C" {
16352    pub fn zend_delete_global_variable(name: *mut zend_string) -> zend_result;
16353}
16354extern "C" {
16355    pub fn zend_rebuild_symbol_table() -> *mut zend_array;
16356}
16357extern "C" {
16358    pub fn zend_attach_symbol_table(execute_data: *mut zend_execute_data);
16359}
16360extern "C" {
16361    pub fn zend_detach_symbol_table(execute_data: *mut zend_execute_data);
16362}
16363extern "C" {
16364    pub fn zend_set_local_var(name: *mut zend_string, value: *mut zval, force: bool)
16365        -> zend_result;
16366}
16367extern "C" {
16368    pub fn zend_set_local_var_str(
16369        name: *const ::std::os::raw::c_char,
16370        len: size_t,
16371        value: *mut zval,
16372        force: bool,
16373    ) -> zend_result;
16374}
16375extern "C" {
16376    pub fn zend_get_object_type(ce: *const zend_class_entry) -> *const ::std::os::raw::c_char;
16377}
16378extern "C" {
16379    pub fn zend_is_iterable(iterable: *mut zval) -> zend_bool;
16380}
16381extern "C" {
16382    pub fn zend_is_countable(countable: *mut zval) -> zend_bool;
16383}
16384extern "C" {
16385    pub fn zend_get_default_from_internal_arg_info(
16386        default_value_zval: *mut zval,
16387        arg_info: *mut zend_internal_arg_info,
16388    ) -> zend_result;
16389}
16390extern "C" {
16391    pub fn zend_try_assign_typed_ref_ex(
16392        ref_: *mut zend_reference,
16393        zv: *mut zval,
16394        strict: zend_bool,
16395    ) -> zend_result;
16396}
16397extern "C" {
16398    pub fn zend_try_assign_typed_ref(ref_: *mut zend_reference, zv: *mut zval) -> zend_result;
16399}
16400extern "C" {
16401    pub fn zend_try_assign_typed_ref_null(ref_: *mut zend_reference) -> zend_result;
16402}
16403extern "C" {
16404    pub fn zend_try_assign_typed_ref_bool(ref_: *mut zend_reference, val: zend_bool)
16405        -> zend_result;
16406}
16407extern "C" {
16408    pub fn zend_try_assign_typed_ref_long(
16409        ref_: *mut zend_reference,
16410        lval: zend_long,
16411    ) -> zend_result;
16412}
16413extern "C" {
16414    pub fn zend_try_assign_typed_ref_double(ref_: *mut zend_reference, dval: f64) -> zend_result;
16415}
16416extern "C" {
16417    pub fn zend_try_assign_typed_ref_empty_string(ref_: *mut zend_reference) -> zend_result;
16418}
16419extern "C" {
16420    pub fn zend_try_assign_typed_ref_str(
16421        ref_: *mut zend_reference,
16422        str_: *mut zend_string,
16423    ) -> zend_result;
16424}
16425extern "C" {
16426    pub fn zend_try_assign_typed_ref_string(
16427        ref_: *mut zend_reference,
16428        string: *const ::std::os::raw::c_char,
16429    ) -> zend_result;
16430}
16431extern "C" {
16432    pub fn zend_try_assign_typed_ref_stringl(
16433        ref_: *mut zend_reference,
16434        string: *const ::std::os::raw::c_char,
16435        len: size_t,
16436    ) -> zend_result;
16437}
16438extern "C" {
16439    pub fn zend_try_assign_typed_ref_arr(
16440        ref_: *mut zend_reference,
16441        arr: *mut zend_array,
16442    ) -> zend_result;
16443}
16444extern "C" {
16445    pub fn zend_try_assign_typed_ref_res(
16446        ref_: *mut zend_reference,
16447        res: *mut zend_resource,
16448    ) -> zend_result;
16449}
16450extern "C" {
16451    pub fn zend_try_assign_typed_ref_zval(ref_: *mut zend_reference, zv: *mut zval) -> zend_result;
16452}
16453extern "C" {
16454    pub fn zend_try_assign_typed_ref_zval_ex(
16455        ref_: *mut zend_reference,
16456        zv: *mut zval,
16457        strict: zend_bool,
16458    ) -> zend_result;
16459}
16460pub const _zend_expected_type_Z_EXPECTED_LONG: _zend_expected_type = 0;
16461pub const _zend_expected_type_Z_EXPECTED_LONG_OR_NULL: _zend_expected_type = 1;
16462pub const _zend_expected_type_Z_EXPECTED_BOOL: _zend_expected_type = 2;
16463pub const _zend_expected_type_Z_EXPECTED_BOOL_OR_NULL: _zend_expected_type = 3;
16464pub const _zend_expected_type_Z_EXPECTED_STRING: _zend_expected_type = 4;
16465pub const _zend_expected_type_Z_EXPECTED_STRING_OR_NULL: _zend_expected_type = 5;
16466pub const _zend_expected_type_Z_EXPECTED_ARRAY: _zend_expected_type = 6;
16467pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_NULL: _zend_expected_type = 7;
16468pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_LONG: _zend_expected_type = 8;
16469pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_LONG_OR_NULL: _zend_expected_type = 9;
16470pub const _zend_expected_type_Z_EXPECTED_ITERABLE: _zend_expected_type = 10;
16471pub const _zend_expected_type_Z_EXPECTED_ITERABLE_OR_NULL: _zend_expected_type = 11;
16472pub const _zend_expected_type_Z_EXPECTED_FUNC: _zend_expected_type = 12;
16473pub const _zend_expected_type_Z_EXPECTED_FUNC_OR_NULL: _zend_expected_type = 13;
16474pub const _zend_expected_type_Z_EXPECTED_RESOURCE: _zend_expected_type = 14;
16475pub const _zend_expected_type_Z_EXPECTED_RESOURCE_OR_NULL: _zend_expected_type = 15;
16476pub const _zend_expected_type_Z_EXPECTED_PATH: _zend_expected_type = 16;
16477pub const _zend_expected_type_Z_EXPECTED_PATH_OR_NULL: _zend_expected_type = 17;
16478pub const _zend_expected_type_Z_EXPECTED_OBJECT: _zend_expected_type = 18;
16479pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_NULL: _zend_expected_type = 19;
16480pub const _zend_expected_type_Z_EXPECTED_DOUBLE: _zend_expected_type = 20;
16481pub const _zend_expected_type_Z_EXPECTED_DOUBLE_OR_NULL: _zend_expected_type = 21;
16482pub const _zend_expected_type_Z_EXPECTED_NUMBER: _zend_expected_type = 22;
16483pub const _zend_expected_type_Z_EXPECTED_NUMBER_OR_NULL: _zend_expected_type = 23;
16484pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_STRING: _zend_expected_type = 24;
16485pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_STRING_OR_NULL: _zend_expected_type = 25;
16486pub const _zend_expected_type_Z_EXPECTED_STRING_OR_LONG: _zend_expected_type = 26;
16487pub const _zend_expected_type_Z_EXPECTED_STRING_OR_LONG_OR_NULL: _zend_expected_type = 27;
16488pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_CLASS_NAME: _zend_expected_type = 28;
16489pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_CLASS_NAME_OR_NULL: _zend_expected_type = 29;
16490pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_STRING: _zend_expected_type = 30;
16491pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_STRING_OR_NULL: _zend_expected_type = 31;
16492pub const _zend_expected_type_Z_EXPECTED_LAST: _zend_expected_type = 32;
16493pub type _zend_expected_type = ::std::os::raw::c_uint;
16494pub use self::_zend_expected_type as zend_expected_type;
16495extern "C" {
16496    pub fn zend_wrong_parameters_none_error();
16497}
16498extern "C" {
16499    pub fn zend_wrong_parameters_count_error(min_num_args: u32, max_num_args: u32);
16500}
16501extern "C" {
16502    pub fn zend_wrong_parameter_error(
16503        error_code: ::std::os::raw::c_int,
16504        num: u32,
16505        name: *mut ::std::os::raw::c_char,
16506        expected_type: zend_expected_type,
16507        arg: *mut zval,
16508    );
16509}
16510extern "C" {
16511    pub fn zend_wrong_parameter_type_error(
16512        num: u32,
16513        expected_type: zend_expected_type,
16514        arg: *mut zval,
16515    );
16516}
16517extern "C" {
16518    pub fn zend_wrong_parameter_class_error(
16519        num: u32,
16520        name: *const ::std::os::raw::c_char,
16521        arg: *mut zval,
16522    );
16523}
16524extern "C" {
16525    pub fn zend_wrong_parameter_class_or_null_error(
16526        num: u32,
16527        name: *const ::std::os::raw::c_char,
16528        arg: *mut zval,
16529    );
16530}
16531extern "C" {
16532    pub fn zend_wrong_parameter_class_or_long_error(
16533        num: u32,
16534        name: *const ::std::os::raw::c_char,
16535        arg: *mut zval,
16536    );
16537}
16538extern "C" {
16539    pub fn zend_wrong_parameter_class_or_long_or_null_error(
16540        num: u32,
16541        name: *const ::std::os::raw::c_char,
16542        arg: *mut zval,
16543    );
16544}
16545extern "C" {
16546    pub fn zend_wrong_parameter_class_or_string_error(
16547        num: u32,
16548        name: *const ::std::os::raw::c_char,
16549        arg: *mut zval,
16550    );
16551}
16552extern "C" {
16553    pub fn zend_wrong_parameter_class_or_string_or_null_error(
16554        num: u32,
16555        name: *const ::std::os::raw::c_char,
16556        arg: *mut zval,
16557    );
16558}
16559extern "C" {
16560    pub fn zend_wrong_callback_error(num: u32, error: *mut ::std::os::raw::c_char);
16561}
16562extern "C" {
16563    pub fn zend_unexpected_extra_named_error();
16564}
16565extern "C" {
16566    pub fn zend_argument_error(
16567        error_ce: *mut zend_class_entry,
16568        arg_num: u32,
16569        format: *const ::std::os::raw::c_char,
16570        ...
16571    );
16572}
16573extern "C" {
16574    pub fn zend_argument_type_error(arg_num: u32, format: *const ::std::os::raw::c_char, ...);
16575}
16576extern "C" {
16577    pub fn zend_argument_value_error(arg_num: u32, format: *const ::std::os::raw::c_char, ...);
16578}
16579extern "C" {
16580    pub fn zend_parse_arg_class(
16581        arg: *mut zval,
16582        pce: *mut *mut zend_class_entry,
16583        num: u32,
16584        check_null: bool,
16585    ) -> bool;
16586}
16587extern "C" {
16588    pub fn zend_parse_arg_bool_slow(arg: *mut zval, dest: *mut zend_bool) -> bool;
16589}
16590extern "C" {
16591    pub fn zend_parse_arg_bool_weak(arg: *mut zval, dest: *mut zend_bool) -> bool;
16592}
16593extern "C" {
16594    pub fn zend_parse_arg_long_slow(arg: *mut zval, dest: *mut zend_long) -> bool;
16595}
16596extern "C" {
16597    pub fn zend_parse_arg_long_weak(arg: *mut zval, dest: *mut zend_long) -> bool;
16598}
16599extern "C" {
16600    pub fn zend_parse_arg_double_slow(arg: *mut zval, dest: *mut f64) -> bool;
16601}
16602extern "C" {
16603    pub fn zend_parse_arg_double_weak(arg: *mut zval, dest: *mut f64) -> bool;
16604}
16605extern "C" {
16606    pub fn zend_parse_arg_str_slow(arg: *mut zval, dest: *mut *mut zend_string) -> bool;
16607}
16608extern "C" {
16609    pub fn zend_parse_arg_str_weak(arg: *mut zval, dest: *mut *mut zend_string) -> bool;
16610}
16611extern "C" {
16612    pub fn zend_parse_arg_number_slow(arg: *mut zval, dest: *mut *mut zval) -> bool;
16613}
16614extern "C" {
16615    pub fn zend_parse_arg_str_or_long_slow(
16616        arg: *mut zval,
16617        dest_str: *mut *mut zend_string,
16618        dest_long: *mut zend_long,
16619    ) -> bool;
16620}
16621extern "C" {
16622    pub fn php_strlcpy(
16623        dst: *mut ::std::os::raw::c_char,
16624        src: *const ::std::os::raw::c_char,
16625        siz: size_t,
16626    ) -> size_t;
16627}
16628extern "C" {
16629    pub fn php_strlcat(
16630        dst: *mut ::std::os::raw::c_char,
16631        src: *const ::std::os::raw::c_char,
16632        siz: size_t,
16633    ) -> size_t;
16634}
16635extern "C" {
16636    pub fn php_explicit_bzero(dst: *mut ::std::os::raw::c_void, siz: size_t);
16637}
16638pub type socklen_t = __socklen_t;
16639pub type bool_int = ::std::os::raw::c_int;
16640pub const boolean_e_NO: boolean_e = 0;
16641pub const boolean_e_YES: boolean_e = 1;
16642pub type boolean_e = ::std::os::raw::c_uint;
16643extern "C" {
16644    pub fn php_gcvt(
16645        value: f64,
16646        ndigit: ::std::os::raw::c_int,
16647        dec_point: ::std::os::raw::c_char,
16648        exponent: ::std::os::raw::c_char,
16649        buf: *mut ::std::os::raw::c_char,
16650    ) -> *mut ::std::os::raw::c_char;
16651}
16652extern "C" {
16653    pub fn php_0cvt(
16654        value: f64,
16655        ndigit: ::std::os::raw::c_int,
16656        dec_point: ::std::os::raw::c_char,
16657        exponent: ::std::os::raw::c_char,
16658        buf: *mut ::std::os::raw::c_char,
16659    ) -> *mut ::std::os::raw::c_char;
16660}
16661extern "C" {
16662    pub fn php_conv_fp(
16663        format: ::std::os::raw::c_char,
16664        num: f64,
16665        add_dp: boolean_e,
16666        precision: ::std::os::raw::c_int,
16667        dec_point: ::std::os::raw::c_char,
16668        is_negative: *mut bool_int,
16669        buf: *mut ::std::os::raw::c_char,
16670        len: *mut size_t,
16671    ) -> *mut ::std::os::raw::c_char;
16672}
16673extern "C" {
16674    pub fn php_printf_to_smart_string(
16675        buf: *mut smart_string,
16676        format: *const ::std::os::raw::c_char,
16677        ap: *mut __va_list_tag,
16678    );
16679}
16680extern "C" {
16681    pub fn php_printf_to_smart_str(
16682        buf: *mut smart_str,
16683        format: *const ::std::os::raw::c_char,
16684        ap: *mut __va_list_tag,
16685    );
16686}
16687extern "C" {
16688    pub fn php_write(buf: *mut ::std::os::raw::c_void, size: size_t) -> size_t;
16689}
16690extern "C" {
16691    pub fn php_printf(format: *const ::std::os::raw::c_char, ...) -> size_t;
16692}
16693extern "C" {
16694    pub fn php_printf_unchecked(format: *const ::std::os::raw::c_char, ...) -> size_t;
16695}
16696extern "C" {
16697    pub fn php_during_module_startup() -> ::std::os::raw::c_int;
16698}
16699extern "C" {
16700    pub fn php_during_module_shutdown() -> ::std::os::raw::c_int;
16701}
16702extern "C" {
16703    pub fn php_get_module_initialized() -> ::std::os::raw::c_int;
16704}
16705extern "C" {
16706    pub fn php_syslog(arg1: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
16707}
16708extern "C" {
16709    pub fn php_openlog(
16710        arg1: *const ::std::os::raw::c_char,
16711        arg2: ::std::os::raw::c_int,
16712        arg3: ::std::os::raw::c_int,
16713    );
16714}
16715extern "C" {
16716    pub fn php_log_err_with_severity(
16717        log_message: *const ::std::os::raw::c_char,
16718        syslog_type_int: ::std::os::raw::c_int,
16719    );
16720}
16721extern "C" {
16722    pub fn php_verror(
16723        docref: *const ::std::os::raw::c_char,
16724        params: *const ::std::os::raw::c_char,
16725        type_: ::std::os::raw::c_int,
16726        format: *const ::std::os::raw::c_char,
16727        args: *mut __va_list_tag,
16728    );
16729}
16730extern "C" {
16731    pub fn php_error_docref(
16732        docref: *const ::std::os::raw::c_char,
16733        type_: ::std::os::raw::c_int,
16734        format: *const ::std::os::raw::c_char,
16735        ...
16736    );
16737}
16738extern "C" {
16739    pub fn php_error_docref1(
16740        docref: *const ::std::os::raw::c_char,
16741        param1: *const ::std::os::raw::c_char,
16742        type_: ::std::os::raw::c_int,
16743        format: *const ::std::os::raw::c_char,
16744        ...
16745    );
16746}
16747extern "C" {
16748    pub fn php_error_docref2(
16749        docref: *const ::std::os::raw::c_char,
16750        param1: *const ::std::os::raw::c_char,
16751        param2: *const ::std::os::raw::c_char,
16752        type_: ::std::os::raw::c_int,
16753        format: *const ::std::os::raw::c_char,
16754        ...
16755    );
16756}
16757extern "C" {
16758    pub static mut php_register_internal_extensions_func:
16759        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
16760}
16761extern "C" {
16762    pub fn php_register_internal_extensions() -> ::std::os::raw::c_int;
16763}
16764extern "C" {
16765    pub fn php_register_pre_request_shutdown(
16766        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
16767        userdata: *mut ::std::os::raw::c_void,
16768    );
16769}
16770extern "C" {
16771    pub fn php_com_initialize();
16772}
16773extern "C" {
16774    pub fn php_get_current_user() -> *mut ::std::os::raw::c_char;
16775}
16776extern "C" {
16777    pub fn php_get_internal_encoding() -> *const ::std::os::raw::c_char;
16778}
16779extern "C" {
16780    pub fn php_get_input_encoding() -> *const ::std::os::raw::c_char;
16781}
16782extern "C" {
16783    pub fn php_get_output_encoding() -> *const ::std::os::raw::c_char;
16784}
16785extern "C" {
16786    pub static mut php_internal_encoding_changed: ::std::option::Option<unsafe extern "C" fn()>;
16787}
16788pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ: _php_output_handler_hook_t =
16789    0;
16790pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_FLAGS: _php_output_handler_hook_t =
16791    1;
16792pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_LEVEL: _php_output_handler_hook_t =
16793    2;
16794pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE: _php_output_handler_hook_t =
16795    3;
16796pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_DISABLE: _php_output_handler_hook_t =
16797    4;
16798pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_LAST: _php_output_handler_hook_t = 5;
16799pub type _php_output_handler_hook_t = ::std::os::raw::c_uint;
16800pub use self::_php_output_handler_hook_t as php_output_handler_hook_t;
16801#[repr(C)]
16802#[derive(Debug, Copy, Clone)]
16803pub struct _php_output_buffer {
16804    pub data: *mut ::std::os::raw::c_char,
16805    pub size: size_t,
16806    pub used: size_t,
16807    pub _bitfield_align_1: [u32; 0],
16808    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
16809    pub __bindgen_padding_0: u32,
16810}
16811#[test]
16812fn bindgen_test_layout__php_output_buffer() {
16813    assert_eq!(
16814        ::std::mem::size_of::<_php_output_buffer>(),
16815        32usize,
16816        concat!("Size of: ", stringify!(_php_output_buffer))
16817    );
16818    assert_eq!(
16819        ::std::mem::align_of::<_php_output_buffer>(),
16820        8usize,
16821        concat!("Alignment of ", stringify!(_php_output_buffer))
16822    );
16823    assert_eq!(
16824        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).data as *const _ as usize },
16825        0usize,
16826        concat!(
16827            "Offset of field: ",
16828            stringify!(_php_output_buffer),
16829            "::",
16830            stringify!(data)
16831        )
16832    );
16833    assert_eq!(
16834        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).size as *const _ as usize },
16835        8usize,
16836        concat!(
16837            "Offset of field: ",
16838            stringify!(_php_output_buffer),
16839            "::",
16840            stringify!(size)
16841        )
16842    );
16843    assert_eq!(
16844        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).used as *const _ as usize },
16845        16usize,
16846        concat!(
16847            "Offset of field: ",
16848            stringify!(_php_output_buffer),
16849            "::",
16850            stringify!(used)
16851        )
16852    );
16853}
16854impl _php_output_buffer {
16855    #[inline]
16856    pub fn free(&self) -> u32 {
16857        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
16858    }
16859    #[inline]
16860    pub fn set_free(&mut self, val: u32) {
16861        unsafe {
16862            let val: u32 = ::std::mem::transmute(val);
16863            self._bitfield_1.set(0usize, 1u8, val as u64)
16864        }
16865    }
16866    #[inline]
16867    pub fn _reserved(&self) -> u32 {
16868        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
16869    }
16870    #[inline]
16871    pub fn set__reserved(&mut self, val: u32) {
16872        unsafe {
16873            let val: u32 = ::std::mem::transmute(val);
16874            self._bitfield_1.set(1usize, 31u8, val as u64)
16875        }
16876    }
16877    #[inline]
16878    pub fn new_bitfield_1(free: u32, _reserved: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
16879        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
16880        __bindgen_bitfield_unit.set(0usize, 1u8, {
16881            let free: u32 = unsafe { ::std::mem::transmute(free) };
16882            free as u64
16883        });
16884        __bindgen_bitfield_unit.set(1usize, 31u8, {
16885            let _reserved: u32 = unsafe { ::std::mem::transmute(_reserved) };
16886            _reserved as u64
16887        });
16888        __bindgen_bitfield_unit
16889    }
16890}
16891pub type php_output_buffer = _php_output_buffer;
16892#[repr(C)]
16893#[derive(Debug, Copy, Clone)]
16894pub struct _php_output_context {
16895    pub op: ::std::os::raw::c_int,
16896    pub in_: php_output_buffer,
16897    pub out: php_output_buffer,
16898}
16899#[test]
16900fn bindgen_test_layout__php_output_context() {
16901    assert_eq!(
16902        ::std::mem::size_of::<_php_output_context>(),
16903        72usize,
16904        concat!("Size of: ", stringify!(_php_output_context))
16905    );
16906    assert_eq!(
16907        ::std::mem::align_of::<_php_output_context>(),
16908        8usize,
16909        concat!("Alignment of ", stringify!(_php_output_context))
16910    );
16911    assert_eq!(
16912        unsafe { &(*(::std::ptr::null::<_php_output_context>())).op as *const _ as usize },
16913        0usize,
16914        concat!(
16915            "Offset of field: ",
16916            stringify!(_php_output_context),
16917            "::",
16918            stringify!(op)
16919        )
16920    );
16921    assert_eq!(
16922        unsafe { &(*(::std::ptr::null::<_php_output_context>())).in_ as *const _ as usize },
16923        8usize,
16924        concat!(
16925            "Offset of field: ",
16926            stringify!(_php_output_context),
16927            "::",
16928            stringify!(in_)
16929        )
16930    );
16931    assert_eq!(
16932        unsafe { &(*(::std::ptr::null::<_php_output_context>())).out as *const _ as usize },
16933        40usize,
16934        concat!(
16935            "Offset of field: ",
16936            stringify!(_php_output_context),
16937            "::",
16938            stringify!(out)
16939        )
16940    );
16941}
16942pub type php_output_context = _php_output_context;
16943pub type php_output_handler_func_t = ::std::option::Option<
16944    unsafe extern "C" fn(
16945        output: *mut ::std::os::raw::c_char,
16946        output_len: size_t,
16947        handled_output: *mut *mut ::std::os::raw::c_char,
16948        handled_output_len: *mut size_t,
16949        mode: ::std::os::raw::c_int,
16950    ),
16951>;
16952pub type php_output_handler_context_func_t = ::std::option::Option<
16953    unsafe extern "C" fn(
16954        handler_context: *mut *mut ::std::os::raw::c_void,
16955        output_context: *mut php_output_context,
16956    ) -> ::std::os::raw::c_int,
16957>;
16958pub type php_output_handler_conflict_check_t = ::std::option::Option<
16959    unsafe extern "C" fn(
16960        handler_name: *const ::std::os::raw::c_char,
16961        handler_name_len: size_t,
16962    ) -> ::std::os::raw::c_int,
16963>;
16964pub type php_output_handler_alias_ctor_t = ::std::option::Option<
16965    unsafe extern "C" fn(
16966        handler_name: *const ::std::os::raw::c_char,
16967        handler_name_len: size_t,
16968        chunk_size: size_t,
16969        flags: ::std::os::raw::c_int,
16970    ) -> *mut _php_output_handler,
16971>;
16972#[repr(C)]
16973#[derive(Copy, Clone)]
16974pub struct _php_output_handler_user_func_t {
16975    pub fci: zend_fcall_info,
16976    pub fcc: zend_fcall_info_cache,
16977    pub zoh: zval,
16978}
16979#[test]
16980fn bindgen_test_layout__php_output_handler_user_func_t() {
16981    assert_eq!(
16982        ::std::mem::size_of::<_php_output_handler_user_func_t>(),
16983        112usize,
16984        concat!("Size of: ", stringify!(_php_output_handler_user_func_t))
16985    );
16986    assert_eq!(
16987        ::std::mem::align_of::<_php_output_handler_user_func_t>(),
16988        8usize,
16989        concat!("Alignment of ", stringify!(_php_output_handler_user_func_t))
16990    );
16991    assert_eq!(
16992        unsafe {
16993            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).fci as *const _ as usize
16994        },
16995        0usize,
16996        concat!(
16997            "Offset of field: ",
16998            stringify!(_php_output_handler_user_func_t),
16999            "::",
17000            stringify!(fci)
17001        )
17002    );
17003    assert_eq!(
17004        unsafe {
17005            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).fcc as *const _ as usize
17006        },
17007        64usize,
17008        concat!(
17009            "Offset of field: ",
17010            stringify!(_php_output_handler_user_func_t),
17011            "::",
17012            stringify!(fcc)
17013        )
17014    );
17015    assert_eq!(
17016        unsafe {
17017            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).zoh as *const _ as usize
17018        },
17019        96usize,
17020        concat!(
17021            "Offset of field: ",
17022            stringify!(_php_output_handler_user_func_t),
17023            "::",
17024            stringify!(zoh)
17025        )
17026    );
17027}
17028pub type php_output_handler_user_func_t = _php_output_handler_user_func_t;
17029#[repr(C)]
17030#[derive(Copy, Clone)]
17031pub struct _php_output_handler {
17032    pub name: *mut zend_string,
17033    pub flags: ::std::os::raw::c_int,
17034    pub level: ::std::os::raw::c_int,
17035    pub size: size_t,
17036    pub buffer: php_output_buffer,
17037    pub opaq: *mut ::std::os::raw::c_void,
17038    pub dtor: ::std::option::Option<unsafe extern "C" fn(opaq: *mut ::std::os::raw::c_void)>,
17039    pub func: _php_output_handler__bindgen_ty_1,
17040}
17041#[repr(C)]
17042#[derive(Copy, Clone)]
17043pub union _php_output_handler__bindgen_ty_1 {
17044    pub user: *mut php_output_handler_user_func_t,
17045    pub internal: php_output_handler_context_func_t,
17046    _bindgen_union_align: u64,
17047}
17048#[test]
17049fn bindgen_test_layout__php_output_handler__bindgen_ty_1() {
17050    assert_eq!(
17051        ::std::mem::size_of::<_php_output_handler__bindgen_ty_1>(),
17052        8usize,
17053        concat!("Size of: ", stringify!(_php_output_handler__bindgen_ty_1))
17054    );
17055    assert_eq!(
17056        ::std::mem::align_of::<_php_output_handler__bindgen_ty_1>(),
17057        8usize,
17058        concat!(
17059            "Alignment of ",
17060            stringify!(_php_output_handler__bindgen_ty_1)
17061        )
17062    );
17063    assert_eq!(
17064        unsafe {
17065            &(*(::std::ptr::null::<_php_output_handler__bindgen_ty_1>())).user as *const _ as usize
17066        },
17067        0usize,
17068        concat!(
17069            "Offset of field: ",
17070            stringify!(_php_output_handler__bindgen_ty_1),
17071            "::",
17072            stringify!(user)
17073        )
17074    );
17075    assert_eq!(
17076        unsafe {
17077            &(*(::std::ptr::null::<_php_output_handler__bindgen_ty_1>())).internal as *const _
17078                as usize
17079        },
17080        0usize,
17081        concat!(
17082            "Offset of field: ",
17083            stringify!(_php_output_handler__bindgen_ty_1),
17084            "::",
17085            stringify!(internal)
17086        )
17087    );
17088}
17089#[test]
17090fn bindgen_test_layout__php_output_handler() {
17091    assert_eq!(
17092        ::std::mem::size_of::<_php_output_handler>(),
17093        80usize,
17094        concat!("Size of: ", stringify!(_php_output_handler))
17095    );
17096    assert_eq!(
17097        ::std::mem::align_of::<_php_output_handler>(),
17098        8usize,
17099        concat!("Alignment of ", stringify!(_php_output_handler))
17100    );
17101    assert_eq!(
17102        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).name as *const _ as usize },
17103        0usize,
17104        concat!(
17105            "Offset of field: ",
17106            stringify!(_php_output_handler),
17107            "::",
17108            stringify!(name)
17109        )
17110    );
17111    assert_eq!(
17112        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).flags as *const _ as usize },
17113        8usize,
17114        concat!(
17115            "Offset of field: ",
17116            stringify!(_php_output_handler),
17117            "::",
17118            stringify!(flags)
17119        )
17120    );
17121    assert_eq!(
17122        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).level as *const _ as usize },
17123        12usize,
17124        concat!(
17125            "Offset of field: ",
17126            stringify!(_php_output_handler),
17127            "::",
17128            stringify!(level)
17129        )
17130    );
17131    assert_eq!(
17132        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).size as *const _ as usize },
17133        16usize,
17134        concat!(
17135            "Offset of field: ",
17136            stringify!(_php_output_handler),
17137            "::",
17138            stringify!(size)
17139        )
17140    );
17141    assert_eq!(
17142        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).buffer as *const _ as usize },
17143        24usize,
17144        concat!(
17145            "Offset of field: ",
17146            stringify!(_php_output_handler),
17147            "::",
17148            stringify!(buffer)
17149        )
17150    );
17151    assert_eq!(
17152        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).opaq as *const _ as usize },
17153        56usize,
17154        concat!(
17155            "Offset of field: ",
17156            stringify!(_php_output_handler),
17157            "::",
17158            stringify!(opaq)
17159        )
17160    );
17161    assert_eq!(
17162        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).dtor as *const _ as usize },
17163        64usize,
17164        concat!(
17165            "Offset of field: ",
17166            stringify!(_php_output_handler),
17167            "::",
17168            stringify!(dtor)
17169        )
17170    );
17171    assert_eq!(
17172        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).func as *const _ as usize },
17173        72usize,
17174        concat!(
17175            "Offset of field: ",
17176            stringify!(_php_output_handler),
17177            "::",
17178            stringify!(func)
17179        )
17180    );
17181}
17182pub type php_output_handler = _php_output_handler;
17183#[repr(C)]
17184#[derive(Debug, Copy, Clone)]
17185pub struct _zend_output_globals {
17186    pub handlers: zend_stack,
17187    pub active: *mut php_output_handler,
17188    pub running: *mut php_output_handler,
17189    pub output_start_filename: *const ::std::os::raw::c_char,
17190    pub output_start_lineno: ::std::os::raw::c_int,
17191    pub flags: ::std::os::raw::c_int,
17192    pub output_start_filename_str: *mut zend_string,
17193}
17194#[test]
17195fn bindgen_test_layout__zend_output_globals() {
17196    assert_eq!(
17197        ::std::mem::size_of::<_zend_output_globals>(),
17198        64usize,
17199        concat!("Size of: ", stringify!(_zend_output_globals))
17200    );
17201    assert_eq!(
17202        ::std::mem::align_of::<_zend_output_globals>(),
17203        8usize,
17204        concat!("Alignment of ", stringify!(_zend_output_globals))
17205    );
17206    assert_eq!(
17207        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).handlers as *const _ as usize },
17208        0usize,
17209        concat!(
17210            "Offset of field: ",
17211            stringify!(_zend_output_globals),
17212            "::",
17213            stringify!(handlers)
17214        )
17215    );
17216    assert_eq!(
17217        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).active as *const _ as usize },
17218        24usize,
17219        concat!(
17220            "Offset of field: ",
17221            stringify!(_zend_output_globals),
17222            "::",
17223            stringify!(active)
17224        )
17225    );
17226    assert_eq!(
17227        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).running as *const _ as usize },
17228        32usize,
17229        concat!(
17230            "Offset of field: ",
17231            stringify!(_zend_output_globals),
17232            "::",
17233            stringify!(running)
17234        )
17235    );
17236    assert_eq!(
17237        unsafe {
17238            &(*(::std::ptr::null::<_zend_output_globals>())).output_start_filename as *const _
17239                as usize
17240        },
17241        40usize,
17242        concat!(
17243            "Offset of field: ",
17244            stringify!(_zend_output_globals),
17245            "::",
17246            stringify!(output_start_filename)
17247        )
17248    );
17249    assert_eq!(
17250        unsafe {
17251            &(*(::std::ptr::null::<_zend_output_globals>())).output_start_lineno as *const _
17252                as usize
17253        },
17254        48usize,
17255        concat!(
17256            "Offset of field: ",
17257            stringify!(_zend_output_globals),
17258            "::",
17259            stringify!(output_start_lineno)
17260        )
17261    );
17262    assert_eq!(
17263        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).flags as *const _ as usize },
17264        52usize,
17265        concat!(
17266            "Offset of field: ",
17267            stringify!(_zend_output_globals),
17268            "::",
17269            stringify!(flags)
17270        )
17271    );
17272    assert_eq!(
17273        unsafe {
17274            &(*(::std::ptr::null::<_zend_output_globals>())).output_start_filename_str as *const _
17275                as usize
17276        },
17277        56usize,
17278        concat!(
17279            "Offset of field: ",
17280            stringify!(_zend_output_globals),
17281            "::",
17282            stringify!(output_start_filename_str)
17283        )
17284    );
17285}
17286pub type zend_output_globals = _zend_output_globals;
17287extern "C" {
17288    pub static mut output_globals: zend_output_globals;
17289}
17290extern "C" {
17291    pub static php_output_default_handler_name: [::std::os::raw::c_char; 23usize];
17292}
17293extern "C" {
17294    pub static php_output_devnull_handler_name: [::std::os::raw::c_char; 20usize];
17295}
17296extern "C" {
17297    pub fn php_output_startup();
17298}
17299extern "C" {
17300    pub fn php_output_shutdown();
17301}
17302extern "C" {
17303    pub fn php_output_register_constants();
17304}
17305extern "C" {
17306    pub fn php_output_activate() -> ::std::os::raw::c_int;
17307}
17308extern "C" {
17309    pub fn php_output_deactivate();
17310}
17311extern "C" {
17312    pub fn php_output_set_status(status: ::std::os::raw::c_int);
17313}
17314extern "C" {
17315    pub fn php_output_get_status() -> ::std::os::raw::c_int;
17316}
17317extern "C" {
17318    pub fn php_output_set_implicit_flush(flush: ::std::os::raw::c_int);
17319}
17320extern "C" {
17321    pub fn php_output_get_start_filename() -> *const ::std::os::raw::c_char;
17322}
17323extern "C" {
17324    pub fn php_output_get_start_lineno() -> ::std::os::raw::c_int;
17325}
17326extern "C" {
17327    pub fn php_output_write_unbuffered(str_: *const ::std::os::raw::c_char, len: size_t) -> size_t;
17328}
17329extern "C" {
17330    pub fn php_output_write(str_: *const ::std::os::raw::c_char, len: size_t) -> size_t;
17331}
17332extern "C" {
17333    pub fn php_output_flush() -> ::std::os::raw::c_int;
17334}
17335extern "C" {
17336    pub fn php_output_flush_all();
17337}
17338extern "C" {
17339    pub fn php_output_clean() -> ::std::os::raw::c_int;
17340}
17341extern "C" {
17342    pub fn php_output_clean_all();
17343}
17344extern "C" {
17345    pub fn php_output_end() -> ::std::os::raw::c_int;
17346}
17347extern "C" {
17348    pub fn php_output_end_all();
17349}
17350extern "C" {
17351    pub fn php_output_discard() -> ::std::os::raw::c_int;
17352}
17353extern "C" {
17354    pub fn php_output_discard_all();
17355}
17356extern "C" {
17357    pub fn php_output_get_contents(p: *mut zval) -> ::std::os::raw::c_int;
17358}
17359extern "C" {
17360    pub fn php_output_get_length(p: *mut zval) -> ::std::os::raw::c_int;
17361}
17362extern "C" {
17363    pub fn php_output_get_level() -> ::std::os::raw::c_int;
17364}
17365extern "C" {
17366    pub fn php_output_get_active_handler() -> *mut php_output_handler;
17367}
17368extern "C" {
17369    pub fn php_output_start_default() -> ::std::os::raw::c_int;
17370}
17371extern "C" {
17372    pub fn php_output_start_devnull() -> ::std::os::raw::c_int;
17373}
17374extern "C" {
17375    pub fn php_output_start_user(
17376        output_handler: *mut zval,
17377        chunk_size: size_t,
17378        flags: ::std::os::raw::c_int,
17379    ) -> ::std::os::raw::c_int;
17380}
17381extern "C" {
17382    pub fn php_output_start_internal(
17383        name: *const ::std::os::raw::c_char,
17384        name_len: size_t,
17385        output_handler: php_output_handler_func_t,
17386        chunk_size: size_t,
17387        flags: ::std::os::raw::c_int,
17388    ) -> ::std::os::raw::c_int;
17389}
17390extern "C" {
17391    pub fn php_output_handler_create_user(
17392        handler: *mut zval,
17393        chunk_size: size_t,
17394        flags: ::std::os::raw::c_int,
17395    ) -> *mut php_output_handler;
17396}
17397extern "C" {
17398    pub fn php_output_handler_create_internal(
17399        name: *const ::std::os::raw::c_char,
17400        name_len: size_t,
17401        handler: php_output_handler_context_func_t,
17402        chunk_size: size_t,
17403        flags: ::std::os::raw::c_int,
17404    ) -> *mut php_output_handler;
17405}
17406extern "C" {
17407    pub fn php_output_handler_set_context(
17408        handler: *mut php_output_handler,
17409        opaq: *mut ::std::os::raw::c_void,
17410        dtor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
17411    );
17412}
17413extern "C" {
17414    pub fn php_output_handler_start(handler: *mut php_output_handler) -> ::std::os::raw::c_int;
17415}
17416extern "C" {
17417    pub fn php_output_handler_started(
17418        name: *const ::std::os::raw::c_char,
17419        name_len: size_t,
17420    ) -> ::std::os::raw::c_int;
17421}
17422extern "C" {
17423    pub fn php_output_handler_hook(
17424        type_: php_output_handler_hook_t,
17425        arg: *mut ::std::os::raw::c_void,
17426    ) -> ::std::os::raw::c_int;
17427}
17428extern "C" {
17429    pub fn php_output_handler_dtor(handler: *mut php_output_handler);
17430}
17431extern "C" {
17432    pub fn php_output_handler_free(handler: *mut *mut php_output_handler);
17433}
17434extern "C" {
17435    pub fn php_output_handler_conflict(
17436        handler_new: *const ::std::os::raw::c_char,
17437        handler_new_len: size_t,
17438        handler_set: *const ::std::os::raw::c_char,
17439        handler_set_len: size_t,
17440    ) -> ::std::os::raw::c_int;
17441}
17442extern "C" {
17443    pub fn php_output_handler_conflict_register(
17444        handler_name: *const ::std::os::raw::c_char,
17445        handler_name_len: size_t,
17446        check_func: php_output_handler_conflict_check_t,
17447    ) -> ::std::os::raw::c_int;
17448}
17449extern "C" {
17450    pub fn php_output_handler_reverse_conflict_register(
17451        handler_name: *const ::std::os::raw::c_char,
17452        handler_name_len: size_t,
17453        check_func: php_output_handler_conflict_check_t,
17454    ) -> ::std::os::raw::c_int;
17455}
17456extern "C" {
17457    pub fn php_output_handler_alias(
17458        handler_name: *const ::std::os::raw::c_char,
17459        handler_name_len: size_t,
17460    ) -> php_output_handler_alias_ctor_t;
17461}
17462extern "C" {
17463    pub fn php_output_handler_alias_register(
17464        handler_name: *const ::std::os::raw::c_char,
17465        handler_name_len: size_t,
17466        func: php_output_handler_alias_ctor_t,
17467    ) -> ::std::os::raw::c_int;
17468}
17469extern "C" {
17470    pub fn php_file_le_stream() -> ::std::os::raw::c_int;
17471}
17472extern "C" {
17473    pub fn php_file_le_pstream() -> ::std::os::raw::c_int;
17474}
17475extern "C" {
17476    pub fn php_file_le_stream_filter() -> ::std::os::raw::c_int;
17477}
17478pub type php_stream = _php_stream;
17479pub type php_stream_wrapper = _php_stream_wrapper;
17480pub type php_stream_context = _php_stream_context;
17481pub type php_stream_filter = _php_stream_filter;
17482pub type php_stream_notification_func = ::std::option::Option<
17483    unsafe extern "C" fn(
17484        context: *mut php_stream_context,
17485        notifycode: ::std::os::raw::c_int,
17486        severity: ::std::os::raw::c_int,
17487        xmsg: *mut ::std::os::raw::c_char,
17488        xcode: ::std::os::raw::c_int,
17489        bytes_sofar: size_t,
17490        bytes_max: size_t,
17491        ptr: *mut ::std::os::raw::c_void,
17492    ),
17493>;
17494pub type php_stream_notifier = _php_stream_notifier;
17495#[repr(C)]
17496#[derive(Copy, Clone)]
17497pub struct _php_stream_notifier {
17498    pub func: php_stream_notification_func,
17499    pub dtor: ::std::option::Option<unsafe extern "C" fn(notifier: *mut php_stream_notifier)>,
17500    pub ptr: zval,
17501    pub mask: ::std::os::raw::c_int,
17502    pub progress: size_t,
17503    pub progress_max: size_t,
17504}
17505#[test]
17506fn bindgen_test_layout__php_stream_notifier() {
17507    assert_eq!(
17508        ::std::mem::size_of::<_php_stream_notifier>(),
17509        56usize,
17510        concat!("Size of: ", stringify!(_php_stream_notifier))
17511    );
17512    assert_eq!(
17513        ::std::mem::align_of::<_php_stream_notifier>(),
17514        8usize,
17515        concat!("Alignment of ", stringify!(_php_stream_notifier))
17516    );
17517    assert_eq!(
17518        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).func as *const _ as usize },
17519        0usize,
17520        concat!(
17521            "Offset of field: ",
17522            stringify!(_php_stream_notifier),
17523            "::",
17524            stringify!(func)
17525        )
17526    );
17527    assert_eq!(
17528        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).dtor as *const _ as usize },
17529        8usize,
17530        concat!(
17531            "Offset of field: ",
17532            stringify!(_php_stream_notifier),
17533            "::",
17534            stringify!(dtor)
17535        )
17536    );
17537    assert_eq!(
17538        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).ptr as *const _ as usize },
17539        16usize,
17540        concat!(
17541            "Offset of field: ",
17542            stringify!(_php_stream_notifier),
17543            "::",
17544            stringify!(ptr)
17545        )
17546    );
17547    assert_eq!(
17548        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).mask as *const _ as usize },
17549        32usize,
17550        concat!(
17551            "Offset of field: ",
17552            stringify!(_php_stream_notifier),
17553            "::",
17554            stringify!(mask)
17555        )
17556    );
17557    assert_eq!(
17558        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).progress as *const _ as usize },
17559        40usize,
17560        concat!(
17561            "Offset of field: ",
17562            stringify!(_php_stream_notifier),
17563            "::",
17564            stringify!(progress)
17565        )
17566    );
17567    assert_eq!(
17568        unsafe {
17569            &(*(::std::ptr::null::<_php_stream_notifier>())).progress_max as *const _ as usize
17570        },
17571        48usize,
17572        concat!(
17573            "Offset of field: ",
17574            stringify!(_php_stream_notifier),
17575            "::",
17576            stringify!(progress_max)
17577        )
17578    );
17579}
17580#[repr(C)]
17581#[derive(Copy, Clone)]
17582pub struct _php_stream_context {
17583    pub notifier: *mut php_stream_notifier,
17584    pub options: zval,
17585    pub res: *mut zend_resource,
17586}
17587#[test]
17588fn bindgen_test_layout__php_stream_context() {
17589    assert_eq!(
17590        ::std::mem::size_of::<_php_stream_context>(),
17591        32usize,
17592        concat!("Size of: ", stringify!(_php_stream_context))
17593    );
17594    assert_eq!(
17595        ::std::mem::align_of::<_php_stream_context>(),
17596        8usize,
17597        concat!("Alignment of ", stringify!(_php_stream_context))
17598    );
17599    assert_eq!(
17600        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).notifier as *const _ as usize },
17601        0usize,
17602        concat!(
17603            "Offset of field: ",
17604            stringify!(_php_stream_context),
17605            "::",
17606            stringify!(notifier)
17607        )
17608    );
17609    assert_eq!(
17610        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).options as *const _ as usize },
17611        8usize,
17612        concat!(
17613            "Offset of field: ",
17614            stringify!(_php_stream_context),
17615            "::",
17616            stringify!(options)
17617        )
17618    );
17619    assert_eq!(
17620        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).res as *const _ as usize },
17621        24usize,
17622        concat!(
17623            "Offset of field: ",
17624            stringify!(_php_stream_context),
17625            "::",
17626            stringify!(res)
17627        )
17628    );
17629}
17630extern "C" {
17631    pub fn php_stream_context_free(context: *mut php_stream_context);
17632}
17633extern "C" {
17634    pub fn php_stream_context_alloc() -> *mut php_stream_context;
17635}
17636extern "C" {
17637    pub fn php_stream_context_get_option(
17638        context: *mut php_stream_context,
17639        wrappername: *const ::std::os::raw::c_char,
17640        optionname: *const ::std::os::raw::c_char,
17641    ) -> *mut zval;
17642}
17643extern "C" {
17644    pub fn php_stream_context_set_option(
17645        context: *mut php_stream_context,
17646        wrappername: *const ::std::os::raw::c_char,
17647        optionname: *const ::std::os::raw::c_char,
17648        optionvalue: *mut zval,
17649    ) -> ::std::os::raw::c_int;
17650}
17651extern "C" {
17652    pub fn php_stream_notification_alloc() -> *mut php_stream_notifier;
17653}
17654extern "C" {
17655    pub fn php_stream_notification_free(notifier: *mut php_stream_notifier);
17656}
17657extern "C" {
17658    pub fn php_stream_notification_notify(
17659        context: *mut php_stream_context,
17660        notifycode: ::std::os::raw::c_int,
17661        severity: ::std::os::raw::c_int,
17662        xmsg: *mut ::std::os::raw::c_char,
17663        xcode: ::std::os::raw::c_int,
17664        bytes_sofar: size_t,
17665        bytes_max: size_t,
17666        ptr: *mut ::std::os::raw::c_void,
17667    );
17668}
17669extern "C" {
17670    pub fn php_stream_context_set(
17671        stream: *mut php_stream,
17672        context: *mut php_stream_context,
17673    ) -> *mut php_stream_context;
17674}
17675pub type php_stream_bucket = _php_stream_bucket;
17676pub type php_stream_bucket_brigade = _php_stream_bucket_brigade;
17677#[repr(C)]
17678#[derive(Debug, Copy, Clone)]
17679pub struct _php_stream_bucket {
17680    pub next: *mut php_stream_bucket,
17681    pub prev: *mut php_stream_bucket,
17682    pub brigade: *mut php_stream_bucket_brigade,
17683    pub buf: *mut ::std::os::raw::c_char,
17684    pub buflen: size_t,
17685    pub own_buf: u8,
17686    pub is_persistent: u8,
17687    pub refcount: ::std::os::raw::c_int,
17688}
17689#[test]
17690fn bindgen_test_layout__php_stream_bucket() {
17691    assert_eq!(
17692        ::std::mem::size_of::<_php_stream_bucket>(),
17693        48usize,
17694        concat!("Size of: ", stringify!(_php_stream_bucket))
17695    );
17696    assert_eq!(
17697        ::std::mem::align_of::<_php_stream_bucket>(),
17698        8usize,
17699        concat!("Alignment of ", stringify!(_php_stream_bucket))
17700    );
17701    assert_eq!(
17702        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).next as *const _ as usize },
17703        0usize,
17704        concat!(
17705            "Offset of field: ",
17706            stringify!(_php_stream_bucket),
17707            "::",
17708            stringify!(next)
17709        )
17710    );
17711    assert_eq!(
17712        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).prev as *const _ as usize },
17713        8usize,
17714        concat!(
17715            "Offset of field: ",
17716            stringify!(_php_stream_bucket),
17717            "::",
17718            stringify!(prev)
17719        )
17720    );
17721    assert_eq!(
17722        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).brigade as *const _ as usize },
17723        16usize,
17724        concat!(
17725            "Offset of field: ",
17726            stringify!(_php_stream_bucket),
17727            "::",
17728            stringify!(brigade)
17729        )
17730    );
17731    assert_eq!(
17732        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).buf as *const _ as usize },
17733        24usize,
17734        concat!(
17735            "Offset of field: ",
17736            stringify!(_php_stream_bucket),
17737            "::",
17738            stringify!(buf)
17739        )
17740    );
17741    assert_eq!(
17742        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).buflen as *const _ as usize },
17743        32usize,
17744        concat!(
17745            "Offset of field: ",
17746            stringify!(_php_stream_bucket),
17747            "::",
17748            stringify!(buflen)
17749        )
17750    );
17751    assert_eq!(
17752        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).own_buf as *const _ as usize },
17753        40usize,
17754        concat!(
17755            "Offset of field: ",
17756            stringify!(_php_stream_bucket),
17757            "::",
17758            stringify!(own_buf)
17759        )
17760    );
17761    assert_eq!(
17762        unsafe {
17763            &(*(::std::ptr::null::<_php_stream_bucket>())).is_persistent as *const _ as usize
17764        },
17765        41usize,
17766        concat!(
17767            "Offset of field: ",
17768            stringify!(_php_stream_bucket),
17769            "::",
17770            stringify!(is_persistent)
17771        )
17772    );
17773    assert_eq!(
17774        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).refcount as *const _ as usize },
17775        44usize,
17776        concat!(
17777            "Offset of field: ",
17778            stringify!(_php_stream_bucket),
17779            "::",
17780            stringify!(refcount)
17781        )
17782    );
17783}
17784#[repr(C)]
17785#[derive(Debug, Copy, Clone)]
17786pub struct _php_stream_bucket_brigade {
17787    pub head: *mut php_stream_bucket,
17788    pub tail: *mut php_stream_bucket,
17789}
17790#[test]
17791fn bindgen_test_layout__php_stream_bucket_brigade() {
17792    assert_eq!(
17793        ::std::mem::size_of::<_php_stream_bucket_brigade>(),
17794        16usize,
17795        concat!("Size of: ", stringify!(_php_stream_bucket_brigade))
17796    );
17797    assert_eq!(
17798        ::std::mem::align_of::<_php_stream_bucket_brigade>(),
17799        8usize,
17800        concat!("Alignment of ", stringify!(_php_stream_bucket_brigade))
17801    );
17802    assert_eq!(
17803        unsafe { &(*(::std::ptr::null::<_php_stream_bucket_brigade>())).head as *const _ as usize },
17804        0usize,
17805        concat!(
17806            "Offset of field: ",
17807            stringify!(_php_stream_bucket_brigade),
17808            "::",
17809            stringify!(head)
17810        )
17811    );
17812    assert_eq!(
17813        unsafe { &(*(::std::ptr::null::<_php_stream_bucket_brigade>())).tail as *const _ as usize },
17814        8usize,
17815        concat!(
17816            "Offset of field: ",
17817            stringify!(_php_stream_bucket_brigade),
17818            "::",
17819            stringify!(tail)
17820        )
17821    );
17822}
17823pub const php_stream_filter_status_t_PSFS_ERR_FATAL: php_stream_filter_status_t = 0;
17824pub const php_stream_filter_status_t_PSFS_FEED_ME: php_stream_filter_status_t = 1;
17825pub const php_stream_filter_status_t_PSFS_PASS_ON: php_stream_filter_status_t = 2;
17826pub type php_stream_filter_status_t = ::std::os::raw::c_uint;
17827extern "C" {
17828    pub fn php_stream_bucket_new(
17829        stream: *mut php_stream,
17830        buf: *mut ::std::os::raw::c_char,
17831        buflen: size_t,
17832        own_buf: u8,
17833        buf_persistent: u8,
17834    ) -> *mut php_stream_bucket;
17835}
17836extern "C" {
17837    pub fn php_stream_bucket_split(
17838        in_: *mut php_stream_bucket,
17839        left: *mut *mut php_stream_bucket,
17840        right: *mut *mut php_stream_bucket,
17841        length: size_t,
17842    ) -> ::std::os::raw::c_int;
17843}
17844extern "C" {
17845    pub fn php_stream_bucket_delref(bucket: *mut php_stream_bucket);
17846}
17847extern "C" {
17848    pub fn php_stream_bucket_prepend(
17849        brigade: *mut php_stream_bucket_brigade,
17850        bucket: *mut php_stream_bucket,
17851    );
17852}
17853extern "C" {
17854    pub fn php_stream_bucket_append(
17855        brigade: *mut php_stream_bucket_brigade,
17856        bucket: *mut php_stream_bucket,
17857    );
17858}
17859extern "C" {
17860    pub fn php_stream_bucket_unlink(bucket: *mut php_stream_bucket);
17861}
17862extern "C" {
17863    pub fn php_stream_bucket_make_writeable(
17864        bucket: *mut php_stream_bucket,
17865    ) -> *mut php_stream_bucket;
17866}
17867#[repr(C)]
17868#[derive(Debug, Copy, Clone)]
17869pub struct _php_stream_filter_ops {
17870    pub filter: ::std::option::Option<
17871        unsafe extern "C" fn(
17872            stream: *mut php_stream,
17873            thisfilter: *mut php_stream_filter,
17874            buckets_in: *mut php_stream_bucket_brigade,
17875            buckets_out: *mut php_stream_bucket_brigade,
17876            bytes_consumed: *mut size_t,
17877            flags: ::std::os::raw::c_int,
17878        ) -> php_stream_filter_status_t,
17879    >,
17880    pub dtor: ::std::option::Option<unsafe extern "C" fn(thisfilter: *mut php_stream_filter)>,
17881    pub label: *const ::std::os::raw::c_char,
17882}
17883#[test]
17884fn bindgen_test_layout__php_stream_filter_ops() {
17885    assert_eq!(
17886        ::std::mem::size_of::<_php_stream_filter_ops>(),
17887        24usize,
17888        concat!("Size of: ", stringify!(_php_stream_filter_ops))
17889    );
17890    assert_eq!(
17891        ::std::mem::align_of::<_php_stream_filter_ops>(),
17892        8usize,
17893        concat!("Alignment of ", stringify!(_php_stream_filter_ops))
17894    );
17895    assert_eq!(
17896        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).filter as *const _ as usize },
17897        0usize,
17898        concat!(
17899            "Offset of field: ",
17900            stringify!(_php_stream_filter_ops),
17901            "::",
17902            stringify!(filter)
17903        )
17904    );
17905    assert_eq!(
17906        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).dtor as *const _ as usize },
17907        8usize,
17908        concat!(
17909            "Offset of field: ",
17910            stringify!(_php_stream_filter_ops),
17911            "::",
17912            stringify!(dtor)
17913        )
17914    );
17915    assert_eq!(
17916        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).label as *const _ as usize },
17917        16usize,
17918        concat!(
17919            "Offset of field: ",
17920            stringify!(_php_stream_filter_ops),
17921            "::",
17922            stringify!(label)
17923        )
17924    );
17925}
17926pub type php_stream_filter_ops = _php_stream_filter_ops;
17927#[repr(C)]
17928#[derive(Debug, Copy, Clone)]
17929pub struct _php_stream_filter_chain {
17930    pub head: *mut php_stream_filter,
17931    pub tail: *mut php_stream_filter,
17932    pub stream: *mut php_stream,
17933}
17934#[test]
17935fn bindgen_test_layout__php_stream_filter_chain() {
17936    assert_eq!(
17937        ::std::mem::size_of::<_php_stream_filter_chain>(),
17938        24usize,
17939        concat!("Size of: ", stringify!(_php_stream_filter_chain))
17940    );
17941    assert_eq!(
17942        ::std::mem::align_of::<_php_stream_filter_chain>(),
17943        8usize,
17944        concat!("Alignment of ", stringify!(_php_stream_filter_chain))
17945    );
17946    assert_eq!(
17947        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).head as *const _ as usize },
17948        0usize,
17949        concat!(
17950            "Offset of field: ",
17951            stringify!(_php_stream_filter_chain),
17952            "::",
17953            stringify!(head)
17954        )
17955    );
17956    assert_eq!(
17957        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).tail as *const _ as usize },
17958        8usize,
17959        concat!(
17960            "Offset of field: ",
17961            stringify!(_php_stream_filter_chain),
17962            "::",
17963            stringify!(tail)
17964        )
17965    );
17966    assert_eq!(
17967        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).stream as *const _ as usize },
17968        16usize,
17969        concat!(
17970            "Offset of field: ",
17971            stringify!(_php_stream_filter_chain),
17972            "::",
17973            stringify!(stream)
17974        )
17975    );
17976}
17977pub type php_stream_filter_chain = _php_stream_filter_chain;
17978#[repr(C)]
17979#[derive(Copy, Clone)]
17980pub struct _php_stream_filter {
17981    pub fops: *const php_stream_filter_ops,
17982    pub abstract_: zval,
17983    pub next: *mut php_stream_filter,
17984    pub prev: *mut php_stream_filter,
17985    pub is_persistent: ::std::os::raw::c_int,
17986    pub chain: *mut php_stream_filter_chain,
17987    pub buffer: php_stream_bucket_brigade,
17988    pub res: *mut zend_resource,
17989}
17990#[test]
17991fn bindgen_test_layout__php_stream_filter() {
17992    assert_eq!(
17993        ::std::mem::size_of::<_php_stream_filter>(),
17994        80usize,
17995        concat!("Size of: ", stringify!(_php_stream_filter))
17996    );
17997    assert_eq!(
17998        ::std::mem::align_of::<_php_stream_filter>(),
17999        8usize,
18000        concat!("Alignment of ", stringify!(_php_stream_filter))
18001    );
18002    assert_eq!(
18003        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).fops as *const _ as usize },
18004        0usize,
18005        concat!(
18006            "Offset of field: ",
18007            stringify!(_php_stream_filter),
18008            "::",
18009            stringify!(fops)
18010        )
18011    );
18012    assert_eq!(
18013        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).abstract_ as *const _ as usize },
18014        8usize,
18015        concat!(
18016            "Offset of field: ",
18017            stringify!(_php_stream_filter),
18018            "::",
18019            stringify!(abstract_)
18020        )
18021    );
18022    assert_eq!(
18023        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).next as *const _ as usize },
18024        24usize,
18025        concat!(
18026            "Offset of field: ",
18027            stringify!(_php_stream_filter),
18028            "::",
18029            stringify!(next)
18030        )
18031    );
18032    assert_eq!(
18033        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).prev as *const _ as usize },
18034        32usize,
18035        concat!(
18036            "Offset of field: ",
18037            stringify!(_php_stream_filter),
18038            "::",
18039            stringify!(prev)
18040        )
18041    );
18042    assert_eq!(
18043        unsafe {
18044            &(*(::std::ptr::null::<_php_stream_filter>())).is_persistent as *const _ as usize
18045        },
18046        40usize,
18047        concat!(
18048            "Offset of field: ",
18049            stringify!(_php_stream_filter),
18050            "::",
18051            stringify!(is_persistent)
18052        )
18053    );
18054    assert_eq!(
18055        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).chain as *const _ as usize },
18056        48usize,
18057        concat!(
18058            "Offset of field: ",
18059            stringify!(_php_stream_filter),
18060            "::",
18061            stringify!(chain)
18062        )
18063    );
18064    assert_eq!(
18065        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).buffer as *const _ as usize },
18066        56usize,
18067        concat!(
18068            "Offset of field: ",
18069            stringify!(_php_stream_filter),
18070            "::",
18071            stringify!(buffer)
18072        )
18073    );
18074    assert_eq!(
18075        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).res as *const _ as usize },
18076        72usize,
18077        concat!(
18078            "Offset of field: ",
18079            stringify!(_php_stream_filter),
18080            "::",
18081            stringify!(res)
18082        )
18083    );
18084}
18085extern "C" {
18086    pub fn php_stream_filter_prepend_ex(
18087        chain: *mut php_stream_filter_chain,
18088        filter: *mut php_stream_filter,
18089    ) -> ::std::os::raw::c_int;
18090}
18091extern "C" {
18092    pub fn php_stream_filter_append_ex(
18093        chain: *mut php_stream_filter_chain,
18094        filter: *mut php_stream_filter,
18095    ) -> ::std::os::raw::c_int;
18096}
18097extern "C" {
18098    pub fn php_stream_filter_remove(
18099        filter: *mut php_stream_filter,
18100        call_dtor: ::std::os::raw::c_int,
18101    ) -> *mut php_stream_filter;
18102}
18103extern "C" {
18104    pub fn php_stream_filter_free(filter: *mut php_stream_filter);
18105}
18106#[repr(C)]
18107#[derive(Debug, Copy, Clone)]
18108pub struct _php_stream_filter_factory {
18109    pub create_filter: ::std::option::Option<
18110        unsafe extern "C" fn(
18111            filtername: *const ::std::os::raw::c_char,
18112            filterparams: *mut zval,
18113            persistent: u8,
18114        ) -> *mut php_stream_filter,
18115    >,
18116}
18117#[test]
18118fn bindgen_test_layout__php_stream_filter_factory() {
18119    assert_eq!(
18120        ::std::mem::size_of::<_php_stream_filter_factory>(),
18121        8usize,
18122        concat!("Size of: ", stringify!(_php_stream_filter_factory))
18123    );
18124    assert_eq!(
18125        ::std::mem::align_of::<_php_stream_filter_factory>(),
18126        8usize,
18127        concat!("Alignment of ", stringify!(_php_stream_filter_factory))
18128    );
18129    assert_eq!(
18130        unsafe {
18131            &(*(::std::ptr::null::<_php_stream_filter_factory>())).create_filter as *const _
18132                as usize
18133        },
18134        0usize,
18135        concat!(
18136            "Offset of field: ",
18137            stringify!(_php_stream_filter_factory),
18138            "::",
18139            stringify!(create_filter)
18140        )
18141    );
18142}
18143pub type php_stream_filter_factory = _php_stream_filter_factory;
18144extern "C" {
18145    pub fn php_stream_filter_register_factory(
18146        filterpattern: *const ::std::os::raw::c_char,
18147        factory: *const php_stream_filter_factory,
18148    ) -> ::std::os::raw::c_int;
18149}
18150extern "C" {
18151    pub fn php_stream_filter_unregister_factory(
18152        filterpattern: *const ::std::os::raw::c_char,
18153    ) -> ::std::os::raw::c_int;
18154}
18155extern "C" {
18156    pub fn php_stream_filter_register_factory_volatile(
18157        filterpattern: *mut zend_string,
18158        factory: *const php_stream_filter_factory,
18159    ) -> ::std::os::raw::c_int;
18160}
18161extern "C" {
18162    pub fn php_stream_filter_create(
18163        filtername: *const ::std::os::raw::c_char,
18164        filterparams: *mut zval,
18165        persistent: u8,
18166    ) -> *mut php_stream_filter;
18167}
18168#[repr(C)]
18169#[derive(Debug, Copy, Clone)]
18170pub struct _php_stream_statbuf {
18171    pub sb: zend_stat_t,
18172}
18173#[test]
18174fn bindgen_test_layout__php_stream_statbuf() {
18175    assert_eq!(
18176        ::std::mem::size_of::<_php_stream_statbuf>(),
18177        144usize,
18178        concat!("Size of: ", stringify!(_php_stream_statbuf))
18179    );
18180    assert_eq!(
18181        ::std::mem::align_of::<_php_stream_statbuf>(),
18182        8usize,
18183        concat!("Alignment of ", stringify!(_php_stream_statbuf))
18184    );
18185    assert_eq!(
18186        unsafe { &(*(::std::ptr::null::<_php_stream_statbuf>())).sb as *const _ as usize },
18187        0usize,
18188        concat!(
18189            "Offset of field: ",
18190            stringify!(_php_stream_statbuf),
18191            "::",
18192            stringify!(sb)
18193        )
18194    );
18195}
18196pub type php_stream_statbuf = _php_stream_statbuf;
18197#[repr(C)]
18198#[derive(Debug, Copy, Clone)]
18199pub struct _php_stream_ops {
18200    pub write: ::std::option::Option<
18201        unsafe extern "C" fn(
18202            stream: *mut php_stream,
18203            buf: *const ::std::os::raw::c_char,
18204            count: size_t,
18205        ) -> ssize_t,
18206    >,
18207    pub read: ::std::option::Option<
18208        unsafe extern "C" fn(
18209            stream: *mut php_stream,
18210            buf: *mut ::std::os::raw::c_char,
18211            count: size_t,
18212        ) -> ssize_t,
18213    >,
18214    pub close: ::std::option::Option<
18215        unsafe extern "C" fn(
18216            stream: *mut php_stream,
18217            close_handle: ::std::os::raw::c_int,
18218        ) -> ::std::os::raw::c_int,
18219    >,
18220    pub flush: ::std::option::Option<
18221        unsafe extern "C" fn(stream: *mut php_stream) -> ::std::os::raw::c_int,
18222    >,
18223    pub label: *const ::std::os::raw::c_char,
18224    pub seek: ::std::option::Option<
18225        unsafe extern "C" fn(
18226            stream: *mut php_stream,
18227            offset: zend_off_t,
18228            whence: ::std::os::raw::c_int,
18229            newoffset: *mut zend_off_t,
18230        ) -> ::std::os::raw::c_int,
18231    >,
18232    pub cast: ::std::option::Option<
18233        unsafe extern "C" fn(
18234            stream: *mut php_stream,
18235            castas: ::std::os::raw::c_int,
18236            ret: *mut *mut ::std::os::raw::c_void,
18237        ) -> ::std::os::raw::c_int,
18238    >,
18239    pub stat: ::std::option::Option<
18240        unsafe extern "C" fn(
18241            stream: *mut php_stream,
18242            ssb: *mut php_stream_statbuf,
18243        ) -> ::std::os::raw::c_int,
18244    >,
18245    pub set_option: ::std::option::Option<
18246        unsafe extern "C" fn(
18247            stream: *mut php_stream,
18248            option: ::std::os::raw::c_int,
18249            value: ::std::os::raw::c_int,
18250            ptrparam: *mut ::std::os::raw::c_void,
18251        ) -> ::std::os::raw::c_int,
18252    >,
18253}
18254#[test]
18255fn bindgen_test_layout__php_stream_ops() {
18256    assert_eq!(
18257        ::std::mem::size_of::<_php_stream_ops>(),
18258        72usize,
18259        concat!("Size of: ", stringify!(_php_stream_ops))
18260    );
18261    assert_eq!(
18262        ::std::mem::align_of::<_php_stream_ops>(),
18263        8usize,
18264        concat!("Alignment of ", stringify!(_php_stream_ops))
18265    );
18266    assert_eq!(
18267        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).write as *const _ as usize },
18268        0usize,
18269        concat!(
18270            "Offset of field: ",
18271            stringify!(_php_stream_ops),
18272            "::",
18273            stringify!(write)
18274        )
18275    );
18276    assert_eq!(
18277        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).read as *const _ as usize },
18278        8usize,
18279        concat!(
18280            "Offset of field: ",
18281            stringify!(_php_stream_ops),
18282            "::",
18283            stringify!(read)
18284        )
18285    );
18286    assert_eq!(
18287        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).close as *const _ as usize },
18288        16usize,
18289        concat!(
18290            "Offset of field: ",
18291            stringify!(_php_stream_ops),
18292            "::",
18293            stringify!(close)
18294        )
18295    );
18296    assert_eq!(
18297        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).flush as *const _ as usize },
18298        24usize,
18299        concat!(
18300            "Offset of field: ",
18301            stringify!(_php_stream_ops),
18302            "::",
18303            stringify!(flush)
18304        )
18305    );
18306    assert_eq!(
18307        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).label as *const _ as usize },
18308        32usize,
18309        concat!(
18310            "Offset of field: ",
18311            stringify!(_php_stream_ops),
18312            "::",
18313            stringify!(label)
18314        )
18315    );
18316    assert_eq!(
18317        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).seek as *const _ as usize },
18318        40usize,
18319        concat!(
18320            "Offset of field: ",
18321            stringify!(_php_stream_ops),
18322            "::",
18323            stringify!(seek)
18324        )
18325    );
18326    assert_eq!(
18327        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).cast as *const _ as usize },
18328        48usize,
18329        concat!(
18330            "Offset of field: ",
18331            stringify!(_php_stream_ops),
18332            "::",
18333            stringify!(cast)
18334        )
18335    );
18336    assert_eq!(
18337        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).stat as *const _ as usize },
18338        56usize,
18339        concat!(
18340            "Offset of field: ",
18341            stringify!(_php_stream_ops),
18342            "::",
18343            stringify!(stat)
18344        )
18345    );
18346    assert_eq!(
18347        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).set_option as *const _ as usize },
18348        64usize,
18349        concat!(
18350            "Offset of field: ",
18351            stringify!(_php_stream_ops),
18352            "::",
18353            stringify!(set_option)
18354        )
18355    );
18356}
18357pub type php_stream_ops = _php_stream_ops;
18358#[repr(C)]
18359#[derive(Debug, Copy, Clone)]
18360pub struct _php_stream_wrapper_ops {
18361    pub stream_opener: ::std::option::Option<
18362        unsafe extern "C" fn(
18363            wrapper: *mut php_stream_wrapper,
18364            filename: *const ::std::os::raw::c_char,
18365            mode: *const ::std::os::raw::c_char,
18366            options: ::std::os::raw::c_int,
18367            opened_path: *mut *mut zend_string,
18368            context: *mut php_stream_context,
18369        ) -> *mut php_stream,
18370    >,
18371    pub stream_closer: ::std::option::Option<
18372        unsafe extern "C" fn(
18373            wrapper: *mut php_stream_wrapper,
18374            stream: *mut php_stream,
18375        ) -> ::std::os::raw::c_int,
18376    >,
18377    pub stream_stat: ::std::option::Option<
18378        unsafe extern "C" fn(
18379            wrapper: *mut php_stream_wrapper,
18380            stream: *mut php_stream,
18381            ssb: *mut php_stream_statbuf,
18382        ) -> ::std::os::raw::c_int,
18383    >,
18384    pub url_stat: ::std::option::Option<
18385        unsafe extern "C" fn(
18386            wrapper: *mut php_stream_wrapper,
18387            url: *const ::std::os::raw::c_char,
18388            flags: ::std::os::raw::c_int,
18389            ssb: *mut php_stream_statbuf,
18390            context: *mut php_stream_context,
18391        ) -> ::std::os::raw::c_int,
18392    >,
18393    pub dir_opener: ::std::option::Option<
18394        unsafe extern "C" fn(
18395            wrapper: *mut php_stream_wrapper,
18396            filename: *const ::std::os::raw::c_char,
18397            mode: *const ::std::os::raw::c_char,
18398            options: ::std::os::raw::c_int,
18399            opened_path: *mut *mut zend_string,
18400            context: *mut php_stream_context,
18401        ) -> *mut php_stream,
18402    >,
18403    pub label: *const ::std::os::raw::c_char,
18404    pub unlink: ::std::option::Option<
18405        unsafe extern "C" fn(
18406            wrapper: *mut php_stream_wrapper,
18407            url: *const ::std::os::raw::c_char,
18408            options: ::std::os::raw::c_int,
18409            context: *mut php_stream_context,
18410        ) -> ::std::os::raw::c_int,
18411    >,
18412    pub rename: ::std::option::Option<
18413        unsafe extern "C" fn(
18414            wrapper: *mut php_stream_wrapper,
18415            url_from: *const ::std::os::raw::c_char,
18416            url_to: *const ::std::os::raw::c_char,
18417            options: ::std::os::raw::c_int,
18418            context: *mut php_stream_context,
18419        ) -> ::std::os::raw::c_int,
18420    >,
18421    pub stream_mkdir: ::std::option::Option<
18422        unsafe extern "C" fn(
18423            wrapper: *mut php_stream_wrapper,
18424            url: *const ::std::os::raw::c_char,
18425            mode: ::std::os::raw::c_int,
18426            options: ::std::os::raw::c_int,
18427            context: *mut php_stream_context,
18428        ) -> ::std::os::raw::c_int,
18429    >,
18430    pub stream_rmdir: ::std::option::Option<
18431        unsafe extern "C" fn(
18432            wrapper: *mut php_stream_wrapper,
18433            url: *const ::std::os::raw::c_char,
18434            options: ::std::os::raw::c_int,
18435            context: *mut php_stream_context,
18436        ) -> ::std::os::raw::c_int,
18437    >,
18438    pub stream_metadata: ::std::option::Option<
18439        unsafe extern "C" fn(
18440            wrapper: *mut php_stream_wrapper,
18441            url: *const ::std::os::raw::c_char,
18442            options: ::std::os::raw::c_int,
18443            value: *mut ::std::os::raw::c_void,
18444            context: *mut php_stream_context,
18445        ) -> ::std::os::raw::c_int,
18446    >,
18447}
18448#[test]
18449fn bindgen_test_layout__php_stream_wrapper_ops() {
18450    assert_eq!(
18451        ::std::mem::size_of::<_php_stream_wrapper_ops>(),
18452        88usize,
18453        concat!("Size of: ", stringify!(_php_stream_wrapper_ops))
18454    );
18455    assert_eq!(
18456        ::std::mem::align_of::<_php_stream_wrapper_ops>(),
18457        8usize,
18458        concat!("Alignment of ", stringify!(_php_stream_wrapper_ops))
18459    );
18460    assert_eq!(
18461        unsafe {
18462            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_opener as *const _ as usize
18463        },
18464        0usize,
18465        concat!(
18466            "Offset of field: ",
18467            stringify!(_php_stream_wrapper_ops),
18468            "::",
18469            stringify!(stream_opener)
18470        )
18471    );
18472    assert_eq!(
18473        unsafe {
18474            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_closer as *const _ as usize
18475        },
18476        8usize,
18477        concat!(
18478            "Offset of field: ",
18479            stringify!(_php_stream_wrapper_ops),
18480            "::",
18481            stringify!(stream_closer)
18482        )
18483    );
18484    assert_eq!(
18485        unsafe {
18486            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_stat as *const _ as usize
18487        },
18488        16usize,
18489        concat!(
18490            "Offset of field: ",
18491            stringify!(_php_stream_wrapper_ops),
18492            "::",
18493            stringify!(stream_stat)
18494        )
18495    );
18496    assert_eq!(
18497        unsafe {
18498            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).url_stat as *const _ as usize
18499        },
18500        24usize,
18501        concat!(
18502            "Offset of field: ",
18503            stringify!(_php_stream_wrapper_ops),
18504            "::",
18505            stringify!(url_stat)
18506        )
18507    );
18508    assert_eq!(
18509        unsafe {
18510            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).dir_opener as *const _ as usize
18511        },
18512        32usize,
18513        concat!(
18514            "Offset of field: ",
18515            stringify!(_php_stream_wrapper_ops),
18516            "::",
18517            stringify!(dir_opener)
18518        )
18519    );
18520    assert_eq!(
18521        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).label as *const _ as usize },
18522        40usize,
18523        concat!(
18524            "Offset of field: ",
18525            stringify!(_php_stream_wrapper_ops),
18526            "::",
18527            stringify!(label)
18528        )
18529    );
18530    assert_eq!(
18531        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).unlink as *const _ as usize },
18532        48usize,
18533        concat!(
18534            "Offset of field: ",
18535            stringify!(_php_stream_wrapper_ops),
18536            "::",
18537            stringify!(unlink)
18538        )
18539    );
18540    assert_eq!(
18541        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).rename as *const _ as usize },
18542        56usize,
18543        concat!(
18544            "Offset of field: ",
18545            stringify!(_php_stream_wrapper_ops),
18546            "::",
18547            stringify!(rename)
18548        )
18549    );
18550    assert_eq!(
18551        unsafe {
18552            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_mkdir as *const _ as usize
18553        },
18554        64usize,
18555        concat!(
18556            "Offset of field: ",
18557            stringify!(_php_stream_wrapper_ops),
18558            "::",
18559            stringify!(stream_mkdir)
18560        )
18561    );
18562    assert_eq!(
18563        unsafe {
18564            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_rmdir as *const _ as usize
18565        },
18566        72usize,
18567        concat!(
18568            "Offset of field: ",
18569            stringify!(_php_stream_wrapper_ops),
18570            "::",
18571            stringify!(stream_rmdir)
18572        )
18573    );
18574    assert_eq!(
18575        unsafe {
18576            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_metadata as *const _ as usize
18577        },
18578        80usize,
18579        concat!(
18580            "Offset of field: ",
18581            stringify!(_php_stream_wrapper_ops),
18582            "::",
18583            stringify!(stream_metadata)
18584        )
18585    );
18586}
18587pub type php_stream_wrapper_ops = _php_stream_wrapper_ops;
18588#[repr(C)]
18589#[derive(Debug, Copy, Clone)]
18590pub struct _php_stream_wrapper {
18591    pub wops: *const php_stream_wrapper_ops,
18592    pub abstract_: *mut ::std::os::raw::c_void,
18593    pub is_url: ::std::os::raw::c_int,
18594}
18595#[test]
18596fn bindgen_test_layout__php_stream_wrapper() {
18597    assert_eq!(
18598        ::std::mem::size_of::<_php_stream_wrapper>(),
18599        24usize,
18600        concat!("Size of: ", stringify!(_php_stream_wrapper))
18601    );
18602    assert_eq!(
18603        ::std::mem::align_of::<_php_stream_wrapper>(),
18604        8usize,
18605        concat!("Alignment of ", stringify!(_php_stream_wrapper))
18606    );
18607    assert_eq!(
18608        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).wops as *const _ as usize },
18609        0usize,
18610        concat!(
18611            "Offset of field: ",
18612            stringify!(_php_stream_wrapper),
18613            "::",
18614            stringify!(wops)
18615        )
18616    );
18617    assert_eq!(
18618        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).abstract_ as *const _ as usize },
18619        8usize,
18620        concat!(
18621            "Offset of field: ",
18622            stringify!(_php_stream_wrapper),
18623            "::",
18624            stringify!(abstract_)
18625        )
18626    );
18627    assert_eq!(
18628        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).is_url as *const _ as usize },
18629        16usize,
18630        concat!(
18631            "Offset of field: ",
18632            stringify!(_php_stream_wrapper),
18633            "::",
18634            stringify!(is_url)
18635        )
18636    );
18637}
18638#[repr(C)]
18639#[derive(Copy, Clone)]
18640pub struct _php_stream {
18641    pub ops: *const php_stream_ops,
18642    pub abstract_: *mut ::std::os::raw::c_void,
18643    pub readfilters: php_stream_filter_chain,
18644    pub writefilters: php_stream_filter_chain,
18645    pub wrapper: *mut php_stream_wrapper,
18646    pub wrapperthis: *mut ::std::os::raw::c_void,
18647    pub wrapperdata: zval,
18648    pub _bitfield_align_1: [u8; 0],
18649    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
18650    pub fgetss_state: u8,
18651    pub mode: [::std::os::raw::c_char; 16usize],
18652    pub flags: u32,
18653    pub res: *mut zend_resource,
18654    pub stdiocast: *mut FILE,
18655    pub orig_path: *mut ::std::os::raw::c_char,
18656    pub ctx: *mut zend_resource,
18657    pub position: zend_off_t,
18658    pub readbuf: *mut ::std::os::raw::c_uchar,
18659    pub readbuflen: size_t,
18660    pub readpos: zend_off_t,
18661    pub writepos: zend_off_t,
18662    pub chunk_size: size_t,
18663    pub enclosing_stream: *mut _php_stream,
18664}
18665#[test]
18666fn bindgen_test_layout__php_stream() {
18667    assert_eq!(
18668        ::std::mem::size_of::<_php_stream>(),
18669        208usize,
18670        concat!("Size of: ", stringify!(_php_stream))
18671    );
18672    assert_eq!(
18673        ::std::mem::align_of::<_php_stream>(),
18674        8usize,
18675        concat!("Alignment of ", stringify!(_php_stream))
18676    );
18677    assert_eq!(
18678        unsafe { &(*(::std::ptr::null::<_php_stream>())).ops as *const _ as usize },
18679        0usize,
18680        concat!(
18681            "Offset of field: ",
18682            stringify!(_php_stream),
18683            "::",
18684            stringify!(ops)
18685        )
18686    );
18687    assert_eq!(
18688        unsafe { &(*(::std::ptr::null::<_php_stream>())).abstract_ as *const _ as usize },
18689        8usize,
18690        concat!(
18691            "Offset of field: ",
18692            stringify!(_php_stream),
18693            "::",
18694            stringify!(abstract_)
18695        )
18696    );
18697    assert_eq!(
18698        unsafe { &(*(::std::ptr::null::<_php_stream>())).readfilters as *const _ as usize },
18699        16usize,
18700        concat!(
18701            "Offset of field: ",
18702            stringify!(_php_stream),
18703            "::",
18704            stringify!(readfilters)
18705        )
18706    );
18707    assert_eq!(
18708        unsafe { &(*(::std::ptr::null::<_php_stream>())).writefilters as *const _ as usize },
18709        40usize,
18710        concat!(
18711            "Offset of field: ",
18712            stringify!(_php_stream),
18713            "::",
18714            stringify!(writefilters)
18715        )
18716    );
18717    assert_eq!(
18718        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapper as *const _ as usize },
18719        64usize,
18720        concat!(
18721            "Offset of field: ",
18722            stringify!(_php_stream),
18723            "::",
18724            stringify!(wrapper)
18725        )
18726    );
18727    assert_eq!(
18728        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapperthis as *const _ as usize },
18729        72usize,
18730        concat!(
18731            "Offset of field: ",
18732            stringify!(_php_stream),
18733            "::",
18734            stringify!(wrapperthis)
18735        )
18736    );
18737    assert_eq!(
18738        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapperdata as *const _ as usize },
18739        80usize,
18740        concat!(
18741            "Offset of field: ",
18742            stringify!(_php_stream),
18743            "::",
18744            stringify!(wrapperdata)
18745        )
18746    );
18747    assert_eq!(
18748        unsafe { &(*(::std::ptr::null::<_php_stream>())).fgetss_state as *const _ as usize },
18749        97usize,
18750        concat!(
18751            "Offset of field: ",
18752            stringify!(_php_stream),
18753            "::",
18754            stringify!(fgetss_state)
18755        )
18756    );
18757    assert_eq!(
18758        unsafe { &(*(::std::ptr::null::<_php_stream>())).mode as *const _ as usize },
18759        98usize,
18760        concat!(
18761            "Offset of field: ",
18762            stringify!(_php_stream),
18763            "::",
18764            stringify!(mode)
18765        )
18766    );
18767    assert_eq!(
18768        unsafe { &(*(::std::ptr::null::<_php_stream>())).flags as *const _ as usize },
18769        116usize,
18770        concat!(
18771            "Offset of field: ",
18772            stringify!(_php_stream),
18773            "::",
18774            stringify!(flags)
18775        )
18776    );
18777    assert_eq!(
18778        unsafe { &(*(::std::ptr::null::<_php_stream>())).res as *const _ as usize },
18779        120usize,
18780        concat!(
18781            "Offset of field: ",
18782            stringify!(_php_stream),
18783            "::",
18784            stringify!(res)
18785        )
18786    );
18787    assert_eq!(
18788        unsafe { &(*(::std::ptr::null::<_php_stream>())).stdiocast as *const _ as usize },
18789        128usize,
18790        concat!(
18791            "Offset of field: ",
18792            stringify!(_php_stream),
18793            "::",
18794            stringify!(stdiocast)
18795        )
18796    );
18797    assert_eq!(
18798        unsafe { &(*(::std::ptr::null::<_php_stream>())).orig_path as *const _ as usize },
18799        136usize,
18800        concat!(
18801            "Offset of field: ",
18802            stringify!(_php_stream),
18803            "::",
18804            stringify!(orig_path)
18805        )
18806    );
18807    assert_eq!(
18808        unsafe { &(*(::std::ptr::null::<_php_stream>())).ctx as *const _ as usize },
18809        144usize,
18810        concat!(
18811            "Offset of field: ",
18812            stringify!(_php_stream),
18813            "::",
18814            stringify!(ctx)
18815        )
18816    );
18817    assert_eq!(
18818        unsafe { &(*(::std::ptr::null::<_php_stream>())).position as *const _ as usize },
18819        152usize,
18820        concat!(
18821            "Offset of field: ",
18822            stringify!(_php_stream),
18823            "::",
18824            stringify!(position)
18825        )
18826    );
18827    assert_eq!(
18828        unsafe { &(*(::std::ptr::null::<_php_stream>())).readbuf as *const _ as usize },
18829        160usize,
18830        concat!(
18831            "Offset of field: ",
18832            stringify!(_php_stream),
18833            "::",
18834            stringify!(readbuf)
18835        )
18836    );
18837    assert_eq!(
18838        unsafe { &(*(::std::ptr::null::<_php_stream>())).readbuflen as *const _ as usize },
18839        168usize,
18840        concat!(
18841            "Offset of field: ",
18842            stringify!(_php_stream),
18843            "::",
18844            stringify!(readbuflen)
18845        )
18846    );
18847    assert_eq!(
18848        unsafe { &(*(::std::ptr::null::<_php_stream>())).readpos as *const _ as usize },
18849        176usize,
18850        concat!(
18851            "Offset of field: ",
18852            stringify!(_php_stream),
18853            "::",
18854            stringify!(readpos)
18855        )
18856    );
18857    assert_eq!(
18858        unsafe { &(*(::std::ptr::null::<_php_stream>())).writepos as *const _ as usize },
18859        184usize,
18860        concat!(
18861            "Offset of field: ",
18862            stringify!(_php_stream),
18863            "::",
18864            stringify!(writepos)
18865        )
18866    );
18867    assert_eq!(
18868        unsafe { &(*(::std::ptr::null::<_php_stream>())).chunk_size as *const _ as usize },
18869        192usize,
18870        concat!(
18871            "Offset of field: ",
18872            stringify!(_php_stream),
18873            "::",
18874            stringify!(chunk_size)
18875        )
18876    );
18877    assert_eq!(
18878        unsafe { &(*(::std::ptr::null::<_php_stream>())).enclosing_stream as *const _ as usize },
18879        200usize,
18880        concat!(
18881            "Offset of field: ",
18882            stringify!(_php_stream),
18883            "::",
18884            stringify!(enclosing_stream)
18885        )
18886    );
18887}
18888impl _php_stream {
18889    #[inline]
18890    pub fn is_persistent(&self) -> u8 {
18891        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
18892    }
18893    #[inline]
18894    pub fn set_is_persistent(&mut self, val: u8) {
18895        unsafe {
18896            let val: u8 = ::std::mem::transmute(val);
18897            self._bitfield_1.set(0usize, 1u8, val as u64)
18898        }
18899    }
18900    #[inline]
18901    pub fn in_free(&self) -> u8 {
18902        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 2u8) as u8) }
18903    }
18904    #[inline]
18905    pub fn set_in_free(&mut self, val: u8) {
18906        unsafe {
18907            let val: u8 = ::std::mem::transmute(val);
18908            self._bitfield_1.set(1usize, 2u8, val as u64)
18909        }
18910    }
18911    #[inline]
18912    pub fn eof(&self) -> u8 {
18913        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
18914    }
18915    #[inline]
18916    pub fn set_eof(&mut self, val: u8) {
18917        unsafe {
18918            let val: u8 = ::std::mem::transmute(val);
18919            self._bitfield_1.set(3usize, 1u8, val as u64)
18920        }
18921    }
18922    #[inline]
18923    pub fn __exposed(&self) -> u8 {
18924        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
18925    }
18926    #[inline]
18927    pub fn set___exposed(&mut self, val: u8) {
18928        unsafe {
18929            let val: u8 = ::std::mem::transmute(val);
18930            self._bitfield_1.set(4usize, 1u8, val as u64)
18931        }
18932    }
18933    #[inline]
18934    pub fn fclose_stdiocast(&self) -> u8 {
18935        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 2u8) as u8) }
18936    }
18937    #[inline]
18938    pub fn set_fclose_stdiocast(&mut self, val: u8) {
18939        unsafe {
18940            let val: u8 = ::std::mem::transmute(val);
18941            self._bitfield_1.set(5usize, 2u8, val as u64)
18942        }
18943    }
18944    #[inline]
18945    pub fn new_bitfield_1(
18946        is_persistent: u8,
18947        in_free: u8,
18948        eof: u8,
18949        __exposed: u8,
18950        fclose_stdiocast: u8,
18951    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
18952        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
18953        __bindgen_bitfield_unit.set(0usize, 1u8, {
18954            let is_persistent: u8 = unsafe { ::std::mem::transmute(is_persistent) };
18955            is_persistent as u64
18956        });
18957        __bindgen_bitfield_unit.set(1usize, 2u8, {
18958            let in_free: u8 = unsafe { ::std::mem::transmute(in_free) };
18959            in_free as u64
18960        });
18961        __bindgen_bitfield_unit.set(3usize, 1u8, {
18962            let eof: u8 = unsafe { ::std::mem::transmute(eof) };
18963            eof as u64
18964        });
18965        __bindgen_bitfield_unit.set(4usize, 1u8, {
18966            let __exposed: u8 = unsafe { ::std::mem::transmute(__exposed) };
18967            __exposed as u64
18968        });
18969        __bindgen_bitfield_unit.set(5usize, 2u8, {
18970            let fclose_stdiocast: u8 = unsafe { ::std::mem::transmute(fclose_stdiocast) };
18971            fclose_stdiocast as u64
18972        });
18973        __bindgen_bitfield_unit
18974    }
18975}
18976extern "C" {
18977    pub fn php_stream_encloses(
18978        enclosing: *mut php_stream,
18979        enclosed: *mut php_stream,
18980    ) -> *mut php_stream;
18981}
18982extern "C" {
18983    pub fn php_stream_from_persistent_id(
18984        persistent_id: *const ::std::os::raw::c_char,
18985        stream: *mut *mut php_stream,
18986    ) -> ::std::os::raw::c_int;
18987}
18988extern "C" {
18989    pub fn php_stream_read_to_str(stream: *mut php_stream, len: size_t) -> *mut zend_string;
18990}
18991extern "C" {
18992    pub fn php_stream_get_record(
18993        stream: *mut php_stream,
18994        maxlen: size_t,
18995        delim: *const ::std::os::raw::c_char,
18996        delim_len: size_t,
18997    ) -> *mut zend_string;
18998}
18999extern "C" {
19000    pub fn php_stream_dirent_alphasort(
19001        a: *mut *const zend_string,
19002        b: *mut *const zend_string,
19003    ) -> ::std::os::raw::c_int;
19004}
19005extern "C" {
19006    pub fn php_stream_dirent_alphasortr(
19007        a: *mut *const zend_string,
19008        b: *mut *const zend_string,
19009    ) -> ::std::os::raw::c_int;
19010}
19011pub type php_stream_transport_factory_func = ::std::option::Option<
19012    unsafe extern "C" fn(
19013        proto: *const ::std::os::raw::c_char,
19014        protolen: size_t,
19015        resourcename: *const ::std::os::raw::c_char,
19016        resourcenamelen: size_t,
19017        persistent_id: *const ::std::os::raw::c_char,
19018        options: ::std::os::raw::c_int,
19019        flags: ::std::os::raw::c_int,
19020        timeout: *mut timeval,
19021        context: *mut php_stream_context,
19022    ) -> *mut php_stream,
19023>;
19024pub type php_stream_transport_factory = php_stream_transport_factory_func;
19025extern "C" {
19026    pub fn php_stream_xport_register(
19027        protocol: *const ::std::os::raw::c_char,
19028        factory: php_stream_transport_factory,
19029    ) -> ::std::os::raw::c_int;
19030}
19031extern "C" {
19032    pub fn php_stream_xport_unregister(
19033        protocol: *const ::std::os::raw::c_char,
19034    ) -> ::std::os::raw::c_int;
19035}
19036extern "C" {
19037    pub fn php_stream_xport_bind(
19038        stream: *mut php_stream,
19039        name: *const ::std::os::raw::c_char,
19040        namelen: size_t,
19041        error_text: *mut *mut zend_string,
19042    ) -> ::std::os::raw::c_int;
19043}
19044extern "C" {
19045    pub fn php_stream_xport_connect(
19046        stream: *mut php_stream,
19047        name: *const ::std::os::raw::c_char,
19048        namelen: size_t,
19049        asynchronous: ::std::os::raw::c_int,
19050        timeout: *mut timeval,
19051        error_text: *mut *mut zend_string,
19052        error_code: *mut ::std::os::raw::c_int,
19053    ) -> ::std::os::raw::c_int;
19054}
19055extern "C" {
19056    pub fn php_stream_xport_listen(
19057        stream: *mut php_stream,
19058        backlog: ::std::os::raw::c_int,
19059        error_text: *mut *mut zend_string,
19060    ) -> ::std::os::raw::c_int;
19061}
19062extern "C" {
19063    pub fn php_stream_xport_accept(
19064        stream: *mut php_stream,
19065        client: *mut *mut php_stream,
19066        textaddr: *mut *mut zend_string,
19067        addr: *mut *mut ::std::os::raw::c_void,
19068        addrlen: *mut socklen_t,
19069        timeout: *mut timeval,
19070        error_text: *mut *mut zend_string,
19071    ) -> ::std::os::raw::c_int;
19072}
19073extern "C" {
19074    pub fn php_stream_xport_get_name(
19075        stream: *mut php_stream,
19076        want_peer: ::std::os::raw::c_int,
19077        textaddr: *mut *mut zend_string,
19078        addr: *mut *mut ::std::os::raw::c_void,
19079        addrlen: *mut socklen_t,
19080    ) -> ::std::os::raw::c_int;
19081}
19082extern "C" {
19083    pub fn php_stream_xport_recvfrom(
19084        stream: *mut php_stream,
19085        buf: *mut ::std::os::raw::c_char,
19086        buflen: size_t,
19087        flags: ::std::os::raw::c_int,
19088        addr: *mut *mut ::std::os::raw::c_void,
19089        addrlen: *mut socklen_t,
19090        textaddr: *mut *mut zend_string,
19091    ) -> ::std::os::raw::c_int;
19092}
19093extern "C" {
19094    pub fn php_stream_xport_sendto(
19095        stream: *mut php_stream,
19096        buf: *const ::std::os::raw::c_char,
19097        buflen: size_t,
19098        flags: ::std::os::raw::c_int,
19099        addr: *mut ::std::os::raw::c_void,
19100        addrlen: socklen_t,
19101    ) -> ::std::os::raw::c_int;
19102}
19103pub const stream_shutdown_t_STREAM_SHUT_RD: stream_shutdown_t = 0;
19104pub const stream_shutdown_t_STREAM_SHUT_WR: stream_shutdown_t = 1;
19105pub const stream_shutdown_t_STREAM_SHUT_RDWR: stream_shutdown_t = 2;
19106pub type stream_shutdown_t = ::std::os::raw::c_uint;
19107extern "C" {
19108    pub fn php_stream_xport_shutdown(
19109        stream: *mut php_stream,
19110        how: stream_shutdown_t,
19111    ) -> ::std::os::raw::c_int;
19112}
19113pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv2_CLIENT:
19114    php_stream_xport_crypt_method_t = 3;
19115pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv3_CLIENT:
19116    php_stream_xport_crypt_method_t = 5;
19117pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv23_CLIENT:
19118    php_stream_xport_crypt_method_t = 57;
19119pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT:
19120    php_stream_xport_crypt_method_t = 9;
19121pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT:
19122    php_stream_xport_crypt_method_t = 17;
19123pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT:
19124    php_stream_xport_crypt_method_t = 33;
19125pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT:
19126    php_stream_xport_crypt_method_t = 65;
19127pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_CLIENT:
19128    php_stream_xport_crypt_method_t = 121;
19129pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_ANY_CLIENT:
19130    php_stream_xport_crypt_method_t = 121;
19131pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_ANY_CLIENT:
19132    php_stream_xport_crypt_method_t = 127;
19133pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv2_SERVER:
19134    php_stream_xport_crypt_method_t = 2;
19135pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv3_SERVER:
19136    php_stream_xport_crypt_method_t = 4;
19137pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv23_SERVER:
19138    php_stream_xport_crypt_method_t = 120;
19139pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_0_SERVER:
19140    php_stream_xport_crypt_method_t = 8;
19141pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_1_SERVER:
19142    php_stream_xport_crypt_method_t = 16;
19143pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_2_SERVER:
19144    php_stream_xport_crypt_method_t = 32;
19145pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_3_SERVER:
19146    php_stream_xport_crypt_method_t = 64;
19147pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_SERVER:
19148    php_stream_xport_crypt_method_t = 120;
19149pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_ANY_SERVER:
19150    php_stream_xport_crypt_method_t = 120;
19151pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_ANY_SERVER:
19152    php_stream_xport_crypt_method_t = 126;
19153pub type php_stream_xport_crypt_method_t = ::std::os::raw::c_uint;
19154extern "C" {
19155    pub fn php_stream_xport_crypto_setup(
19156        stream: *mut php_stream,
19157        crypto_method: php_stream_xport_crypt_method_t,
19158        session_stream: *mut php_stream,
19159    ) -> ::std::os::raw::c_int;
19160}
19161extern "C" {
19162    pub fn php_stream_xport_crypto_enable(
19163        stream: *mut php_stream,
19164        activate: ::std::os::raw::c_int,
19165    ) -> ::std::os::raw::c_int;
19166}
19167extern "C" {
19168    pub fn php_stream_xport_get_hash() -> *mut HashTable;
19169}
19170extern "C" {
19171    pub fn php_stream_generic_socket_factory(
19172        proto: *const ::std::os::raw::c_char,
19173        protolen: size_t,
19174        resourcename: *const ::std::os::raw::c_char,
19175        resourcenamelen: size_t,
19176        persistent_id: *const ::std::os::raw::c_char,
19177        options: ::std::os::raw::c_int,
19178        flags: ::std::os::raw::c_int,
19179        timeout: *mut timeval,
19180        context: *mut php_stream_context,
19181    ) -> *mut php_stream;
19182}
19183extern "C" {
19184    pub static mut php_stream_stdio_ops: php_stream_ops;
19185}
19186extern "C" {
19187    pub static mut php_plain_files_wrapper: php_stream_wrapper;
19188}
19189extern "C" {
19190    pub fn php_stream_parse_fopen_modes(
19191        mode: *const ::std::os::raw::c_char,
19192        open_flags: *mut ::std::os::raw::c_int,
19193    ) -> ::std::os::raw::c_int;
19194}
19195extern "C" {
19196    pub static php_glob_stream_wrapper: php_stream_wrapper;
19197}
19198extern "C" {
19199    pub static php_glob_stream_ops: php_stream_ops;
19200}
19201extern "C" {
19202    pub static php_stream_userspace_ops: php_stream_ops;
19203}
19204extern "C" {
19205    pub static php_stream_userspace_dir_ops: php_stream_ops;
19206}
19207extern "C" {
19208    pub fn php_init_stream_wrappers(module_number: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19209}
19210extern "C" {
19211    pub fn php_shutdown_stream_wrappers(
19212        module_number: ::std::os::raw::c_int,
19213    ) -> ::std::os::raw::c_int;
19214}
19215extern "C" {
19216    pub fn php_shutdown_stream_hashes();
19217}
19218extern "C" {
19219    pub fn php_register_url_stream_wrapper(
19220        protocol: *const ::std::os::raw::c_char,
19221        wrapper: *const php_stream_wrapper,
19222    ) -> ::std::os::raw::c_int;
19223}
19224extern "C" {
19225    pub fn php_unregister_url_stream_wrapper(
19226        protocol: *const ::std::os::raw::c_char,
19227    ) -> ::std::os::raw::c_int;
19228}
19229extern "C" {
19230    pub fn php_register_url_stream_wrapper_volatile(
19231        protocol: *mut zend_string,
19232        wrapper: *mut php_stream_wrapper,
19233    ) -> ::std::os::raw::c_int;
19234}
19235extern "C" {
19236    pub fn php_unregister_url_stream_wrapper_volatile(
19237        protocol: *mut zend_string,
19238    ) -> ::std::os::raw::c_int;
19239}
19240extern "C" {
19241    pub fn php_stream_locate_url_wrapper(
19242        path: *const ::std::os::raw::c_char,
19243        path_for_open: *mut *const ::std::os::raw::c_char,
19244        options: ::std::os::raw::c_int,
19245    ) -> *mut php_stream_wrapper;
19246}
19247extern "C" {
19248    pub fn php_stream_locate_eol(
19249        stream: *mut php_stream,
19250        buf: *mut zend_string,
19251    ) -> *const ::std::os::raw::c_char;
19252}
19253extern "C" {
19254    pub fn php_stream_wrapper_log_error(
19255        wrapper: *const php_stream_wrapper,
19256        options: ::std::os::raw::c_int,
19257        fmt: *const ::std::os::raw::c_char,
19258        ...
19259    );
19260}
19261extern "C" {
19262    pub fn php_stream_get_url_stream_wrappers_hash_global() -> *mut HashTable;
19263}
19264extern "C" {
19265    pub fn php_get_stream_filters_hash_global() -> *mut HashTable;
19266}
19267extern "C" {
19268    pub static mut php_stream_user_wrapper_ops: *const php_stream_wrapper_ops;
19269}
19270extern "C" {
19271    pub fn php_stream_mode_from_str(mode: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
19272}
19273extern "C" {
19274    pub static php_stream_memory_ops: php_stream_ops;
19275}
19276extern "C" {
19277    pub static php_stream_temp_ops: php_stream_ops;
19278}
19279extern "C" {
19280    pub static php_stream_rfc2397_ops: php_stream_ops;
19281}
19282extern "C" {
19283    pub static php_stream_rfc2397_wrapper: php_stream_wrapper;
19284}
19285#[repr(C)]
19286#[derive(Copy, Clone)]
19287pub struct _php_core_globals {
19288    pub implicit_flush: zend_bool,
19289    pub output_buffering: zend_long,
19290    pub enable_dl: zend_bool,
19291    pub output_handler: *mut ::std::os::raw::c_char,
19292    pub unserialize_callback_func: *mut ::std::os::raw::c_char,
19293    pub serialize_precision: zend_long,
19294    pub memory_limit: zend_long,
19295    pub max_input_time: zend_long,
19296    pub display_errors: zend_uchar,
19297    pub display_startup_errors: zend_bool,
19298    pub log_errors: zend_bool,
19299    pub log_errors_max_len: zend_long,
19300    pub ignore_repeated_errors: zend_bool,
19301    pub ignore_repeated_source: zend_bool,
19302    pub report_memleaks: zend_bool,
19303    pub error_log: *mut ::std::os::raw::c_char,
19304    pub doc_root: *mut ::std::os::raw::c_char,
19305    pub user_dir: *mut ::std::os::raw::c_char,
19306    pub include_path: *mut ::std::os::raw::c_char,
19307    pub open_basedir: *mut ::std::os::raw::c_char,
19308    pub extension_dir: *mut ::std::os::raw::c_char,
19309    pub php_binary: *mut ::std::os::raw::c_char,
19310    pub sys_temp_dir: *mut ::std::os::raw::c_char,
19311    pub upload_tmp_dir: *mut ::std::os::raw::c_char,
19312    pub upload_max_filesize: zend_long,
19313    pub error_append_string: *mut ::std::os::raw::c_char,
19314    pub error_prepend_string: *mut ::std::os::raw::c_char,
19315    pub auto_prepend_file: *mut ::std::os::raw::c_char,
19316    pub auto_append_file: *mut ::std::os::raw::c_char,
19317    pub input_encoding: *mut ::std::os::raw::c_char,
19318    pub internal_encoding: *mut ::std::os::raw::c_char,
19319    pub output_encoding: *mut ::std::os::raw::c_char,
19320    pub arg_separator: arg_separators,
19321    pub variables_order: *mut ::std::os::raw::c_char,
19322    pub rfc1867_protected_variables: HashTable,
19323    pub connection_status: ::std::os::raw::c_short,
19324    pub ignore_user_abort: zend_bool,
19325    pub header_is_being_sent: ::std::os::raw::c_uchar,
19326    pub tick_functions: zend_llist,
19327    pub http_globals: [zval; 6usize],
19328    pub expose_php: zend_bool,
19329    pub register_argc_argv: zend_bool,
19330    pub auto_globals_jit: zend_bool,
19331    pub docref_root: *mut ::std::os::raw::c_char,
19332    pub docref_ext: *mut ::std::os::raw::c_char,
19333    pub html_errors: zend_bool,
19334    pub xmlrpc_errors: zend_bool,
19335    pub xmlrpc_error_number: zend_long,
19336    pub activated_auto_globals: [zend_bool; 8usize],
19337    pub modules_activated: zend_bool,
19338    pub file_uploads: zend_bool,
19339    pub during_request_startup: zend_bool,
19340    pub allow_url_fopen: zend_bool,
19341    pub enable_post_data_reading: zend_bool,
19342    pub report_zend_debug: zend_bool,
19343    pub last_error_type: ::std::os::raw::c_int,
19344    pub last_error_message: *mut zend_string,
19345    pub last_error_file: *mut ::std::os::raw::c_char,
19346    pub last_error_lineno: ::std::os::raw::c_int,
19347    pub php_sys_temp_dir: *mut ::std::os::raw::c_char,
19348    pub disable_classes: *mut ::std::os::raw::c_char,
19349    pub allow_url_include: zend_bool,
19350    pub max_input_nesting_level: zend_long,
19351    pub max_input_vars: zend_long,
19352    pub in_user_include: zend_bool,
19353    pub user_ini_filename: *mut ::std::os::raw::c_char,
19354    pub user_ini_cache_ttl: zend_long,
19355    pub request_order: *mut ::std::os::raw::c_char,
19356    pub mail_x_header: zend_bool,
19357    pub mail_log: *mut ::std::os::raw::c_char,
19358    pub in_error_log: zend_bool,
19359    pub syslog_facility: zend_long,
19360    pub syslog_ident: *mut ::std::os::raw::c_char,
19361    pub have_called_openlog: zend_bool,
19362    pub syslog_filter: zend_long,
19363}
19364#[test]
19365fn bindgen_test_layout__php_core_globals() {
19366    assert_eq!(
19367        ::std::mem::size_of::<_php_core_globals>(),
19368        680usize,
19369        concat!("Size of: ", stringify!(_php_core_globals))
19370    );
19371    assert_eq!(
19372        ::std::mem::align_of::<_php_core_globals>(),
19373        8usize,
19374        concat!("Alignment of ", stringify!(_php_core_globals))
19375    );
19376    assert_eq!(
19377        unsafe {
19378            &(*(::std::ptr::null::<_php_core_globals>())).implicit_flush as *const _ as usize
19379        },
19380        0usize,
19381        concat!(
19382            "Offset of field: ",
19383            stringify!(_php_core_globals),
19384            "::",
19385            stringify!(implicit_flush)
19386        )
19387    );
19388    assert_eq!(
19389        unsafe {
19390            &(*(::std::ptr::null::<_php_core_globals>())).output_buffering as *const _ as usize
19391        },
19392        8usize,
19393        concat!(
19394            "Offset of field: ",
19395            stringify!(_php_core_globals),
19396            "::",
19397            stringify!(output_buffering)
19398        )
19399    );
19400    assert_eq!(
19401        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).enable_dl as *const _ as usize },
19402        16usize,
19403        concat!(
19404            "Offset of field: ",
19405            stringify!(_php_core_globals),
19406            "::",
19407            stringify!(enable_dl)
19408        )
19409    );
19410    assert_eq!(
19411        unsafe {
19412            &(*(::std::ptr::null::<_php_core_globals>())).output_handler as *const _ as usize
19413        },
19414        24usize,
19415        concat!(
19416            "Offset of field: ",
19417            stringify!(_php_core_globals),
19418            "::",
19419            stringify!(output_handler)
19420        )
19421    );
19422    assert_eq!(
19423        unsafe {
19424            &(*(::std::ptr::null::<_php_core_globals>())).unserialize_callback_func as *const _
19425                as usize
19426        },
19427        32usize,
19428        concat!(
19429            "Offset of field: ",
19430            stringify!(_php_core_globals),
19431            "::",
19432            stringify!(unserialize_callback_func)
19433        )
19434    );
19435    assert_eq!(
19436        unsafe {
19437            &(*(::std::ptr::null::<_php_core_globals>())).serialize_precision as *const _ as usize
19438        },
19439        40usize,
19440        concat!(
19441            "Offset of field: ",
19442            stringify!(_php_core_globals),
19443            "::",
19444            stringify!(serialize_precision)
19445        )
19446    );
19447    assert_eq!(
19448        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).memory_limit as *const _ as usize },
19449        48usize,
19450        concat!(
19451            "Offset of field: ",
19452            stringify!(_php_core_globals),
19453            "::",
19454            stringify!(memory_limit)
19455        )
19456    );
19457    assert_eq!(
19458        unsafe {
19459            &(*(::std::ptr::null::<_php_core_globals>())).max_input_time as *const _ as usize
19460        },
19461        56usize,
19462        concat!(
19463            "Offset of field: ",
19464            stringify!(_php_core_globals),
19465            "::",
19466            stringify!(max_input_time)
19467        )
19468    );
19469    assert_eq!(
19470        unsafe {
19471            &(*(::std::ptr::null::<_php_core_globals>())).display_errors as *const _ as usize
19472        },
19473        64usize,
19474        concat!(
19475            "Offset of field: ",
19476            stringify!(_php_core_globals),
19477            "::",
19478            stringify!(display_errors)
19479        )
19480    );
19481    assert_eq!(
19482        unsafe {
19483            &(*(::std::ptr::null::<_php_core_globals>())).display_startup_errors as *const _
19484                as usize
19485        },
19486        65usize,
19487        concat!(
19488            "Offset of field: ",
19489            stringify!(_php_core_globals),
19490            "::",
19491            stringify!(display_startup_errors)
19492        )
19493    );
19494    assert_eq!(
19495        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).log_errors as *const _ as usize },
19496        66usize,
19497        concat!(
19498            "Offset of field: ",
19499            stringify!(_php_core_globals),
19500            "::",
19501            stringify!(log_errors)
19502        )
19503    );
19504    assert_eq!(
19505        unsafe {
19506            &(*(::std::ptr::null::<_php_core_globals>())).log_errors_max_len as *const _ as usize
19507        },
19508        72usize,
19509        concat!(
19510            "Offset of field: ",
19511            stringify!(_php_core_globals),
19512            "::",
19513            stringify!(log_errors_max_len)
19514        )
19515    );
19516    assert_eq!(
19517        unsafe {
19518            &(*(::std::ptr::null::<_php_core_globals>())).ignore_repeated_errors as *const _
19519                as usize
19520        },
19521        80usize,
19522        concat!(
19523            "Offset of field: ",
19524            stringify!(_php_core_globals),
19525            "::",
19526            stringify!(ignore_repeated_errors)
19527        )
19528    );
19529    assert_eq!(
19530        unsafe {
19531            &(*(::std::ptr::null::<_php_core_globals>())).ignore_repeated_source as *const _
19532                as usize
19533        },
19534        81usize,
19535        concat!(
19536            "Offset of field: ",
19537            stringify!(_php_core_globals),
19538            "::",
19539            stringify!(ignore_repeated_source)
19540        )
19541    );
19542    assert_eq!(
19543        unsafe {
19544            &(*(::std::ptr::null::<_php_core_globals>())).report_memleaks as *const _ as usize
19545        },
19546        82usize,
19547        concat!(
19548            "Offset of field: ",
19549            stringify!(_php_core_globals),
19550            "::",
19551            stringify!(report_memleaks)
19552        )
19553    );
19554    assert_eq!(
19555        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).error_log as *const _ as usize },
19556        88usize,
19557        concat!(
19558            "Offset of field: ",
19559            stringify!(_php_core_globals),
19560            "::",
19561            stringify!(error_log)
19562        )
19563    );
19564    assert_eq!(
19565        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).doc_root as *const _ as usize },
19566        96usize,
19567        concat!(
19568            "Offset of field: ",
19569            stringify!(_php_core_globals),
19570            "::",
19571            stringify!(doc_root)
19572        )
19573    );
19574    assert_eq!(
19575        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).user_dir as *const _ as usize },
19576        104usize,
19577        concat!(
19578            "Offset of field: ",
19579            stringify!(_php_core_globals),
19580            "::",
19581            stringify!(user_dir)
19582        )
19583    );
19584    assert_eq!(
19585        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).include_path as *const _ as usize },
19586        112usize,
19587        concat!(
19588            "Offset of field: ",
19589            stringify!(_php_core_globals),
19590            "::",
19591            stringify!(include_path)
19592        )
19593    );
19594    assert_eq!(
19595        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).open_basedir as *const _ as usize },
19596        120usize,
19597        concat!(
19598            "Offset of field: ",
19599            stringify!(_php_core_globals),
19600            "::",
19601            stringify!(open_basedir)
19602        )
19603    );
19604    assert_eq!(
19605        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).extension_dir as *const _ as usize },
19606        128usize,
19607        concat!(
19608            "Offset of field: ",
19609            stringify!(_php_core_globals),
19610            "::",
19611            stringify!(extension_dir)
19612        )
19613    );
19614    assert_eq!(
19615        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).php_binary as *const _ as usize },
19616        136usize,
19617        concat!(
19618            "Offset of field: ",
19619            stringify!(_php_core_globals),
19620            "::",
19621            stringify!(php_binary)
19622        )
19623    );
19624    assert_eq!(
19625        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).sys_temp_dir as *const _ as usize },
19626        144usize,
19627        concat!(
19628            "Offset of field: ",
19629            stringify!(_php_core_globals),
19630            "::",
19631            stringify!(sys_temp_dir)
19632        )
19633    );
19634    assert_eq!(
19635        unsafe {
19636            &(*(::std::ptr::null::<_php_core_globals>())).upload_tmp_dir as *const _ as usize
19637        },
19638        152usize,
19639        concat!(
19640            "Offset of field: ",
19641            stringify!(_php_core_globals),
19642            "::",
19643            stringify!(upload_tmp_dir)
19644        )
19645    );
19646    assert_eq!(
19647        unsafe {
19648            &(*(::std::ptr::null::<_php_core_globals>())).upload_max_filesize as *const _ as usize
19649        },
19650        160usize,
19651        concat!(
19652            "Offset of field: ",
19653            stringify!(_php_core_globals),
19654            "::",
19655            stringify!(upload_max_filesize)
19656        )
19657    );
19658    assert_eq!(
19659        unsafe {
19660            &(*(::std::ptr::null::<_php_core_globals>())).error_append_string as *const _ as usize
19661        },
19662        168usize,
19663        concat!(
19664            "Offset of field: ",
19665            stringify!(_php_core_globals),
19666            "::",
19667            stringify!(error_append_string)
19668        )
19669    );
19670    assert_eq!(
19671        unsafe {
19672            &(*(::std::ptr::null::<_php_core_globals>())).error_prepend_string as *const _ as usize
19673        },
19674        176usize,
19675        concat!(
19676            "Offset of field: ",
19677            stringify!(_php_core_globals),
19678            "::",
19679            stringify!(error_prepend_string)
19680        )
19681    );
19682    assert_eq!(
19683        unsafe {
19684            &(*(::std::ptr::null::<_php_core_globals>())).auto_prepend_file as *const _ as usize
19685        },
19686        184usize,
19687        concat!(
19688            "Offset of field: ",
19689            stringify!(_php_core_globals),
19690            "::",
19691            stringify!(auto_prepend_file)
19692        )
19693    );
19694    assert_eq!(
19695        unsafe {
19696            &(*(::std::ptr::null::<_php_core_globals>())).auto_append_file as *const _ as usize
19697        },
19698        192usize,
19699        concat!(
19700            "Offset of field: ",
19701            stringify!(_php_core_globals),
19702            "::",
19703            stringify!(auto_append_file)
19704        )
19705    );
19706    assert_eq!(
19707        unsafe {
19708            &(*(::std::ptr::null::<_php_core_globals>())).input_encoding as *const _ as usize
19709        },
19710        200usize,
19711        concat!(
19712            "Offset of field: ",
19713            stringify!(_php_core_globals),
19714            "::",
19715            stringify!(input_encoding)
19716        )
19717    );
19718    assert_eq!(
19719        unsafe {
19720            &(*(::std::ptr::null::<_php_core_globals>())).internal_encoding as *const _ as usize
19721        },
19722        208usize,
19723        concat!(
19724            "Offset of field: ",
19725            stringify!(_php_core_globals),
19726            "::",
19727            stringify!(internal_encoding)
19728        )
19729    );
19730    assert_eq!(
19731        unsafe {
19732            &(*(::std::ptr::null::<_php_core_globals>())).output_encoding as *const _ as usize
19733        },
19734        216usize,
19735        concat!(
19736            "Offset of field: ",
19737            stringify!(_php_core_globals),
19738            "::",
19739            stringify!(output_encoding)
19740        )
19741    );
19742    assert_eq!(
19743        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).arg_separator as *const _ as usize },
19744        224usize,
19745        concat!(
19746            "Offset of field: ",
19747            stringify!(_php_core_globals),
19748            "::",
19749            stringify!(arg_separator)
19750        )
19751    );
19752    assert_eq!(
19753        unsafe {
19754            &(*(::std::ptr::null::<_php_core_globals>())).variables_order as *const _ as usize
19755        },
19756        240usize,
19757        concat!(
19758            "Offset of field: ",
19759            stringify!(_php_core_globals),
19760            "::",
19761            stringify!(variables_order)
19762        )
19763    );
19764    assert_eq!(
19765        unsafe {
19766            &(*(::std::ptr::null::<_php_core_globals>())).rfc1867_protected_variables as *const _
19767                as usize
19768        },
19769        248usize,
19770        concat!(
19771            "Offset of field: ",
19772            stringify!(_php_core_globals),
19773            "::",
19774            stringify!(rfc1867_protected_variables)
19775        )
19776    );
19777    assert_eq!(
19778        unsafe {
19779            &(*(::std::ptr::null::<_php_core_globals>())).connection_status as *const _ as usize
19780        },
19781        304usize,
19782        concat!(
19783            "Offset of field: ",
19784            stringify!(_php_core_globals),
19785            "::",
19786            stringify!(connection_status)
19787        )
19788    );
19789    assert_eq!(
19790        unsafe {
19791            &(*(::std::ptr::null::<_php_core_globals>())).ignore_user_abort as *const _ as usize
19792        },
19793        306usize,
19794        concat!(
19795            "Offset of field: ",
19796            stringify!(_php_core_globals),
19797            "::",
19798            stringify!(ignore_user_abort)
19799        )
19800    );
19801    assert_eq!(
19802        unsafe {
19803            &(*(::std::ptr::null::<_php_core_globals>())).header_is_being_sent as *const _ as usize
19804        },
19805        307usize,
19806        concat!(
19807            "Offset of field: ",
19808            stringify!(_php_core_globals),
19809            "::",
19810            stringify!(header_is_being_sent)
19811        )
19812    );
19813    assert_eq!(
19814        unsafe {
19815            &(*(::std::ptr::null::<_php_core_globals>())).tick_functions as *const _ as usize
19816        },
19817        312usize,
19818        concat!(
19819            "Offset of field: ",
19820            stringify!(_php_core_globals),
19821            "::",
19822            stringify!(tick_functions)
19823        )
19824    );
19825    assert_eq!(
19826        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).http_globals as *const _ as usize },
19827        368usize,
19828        concat!(
19829            "Offset of field: ",
19830            stringify!(_php_core_globals),
19831            "::",
19832            stringify!(http_globals)
19833        )
19834    );
19835    assert_eq!(
19836        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).expose_php as *const _ as usize },
19837        464usize,
19838        concat!(
19839            "Offset of field: ",
19840            stringify!(_php_core_globals),
19841            "::",
19842            stringify!(expose_php)
19843        )
19844    );
19845    assert_eq!(
19846        unsafe {
19847            &(*(::std::ptr::null::<_php_core_globals>())).register_argc_argv as *const _ as usize
19848        },
19849        465usize,
19850        concat!(
19851            "Offset of field: ",
19852            stringify!(_php_core_globals),
19853            "::",
19854            stringify!(register_argc_argv)
19855        )
19856    );
19857    assert_eq!(
19858        unsafe {
19859            &(*(::std::ptr::null::<_php_core_globals>())).auto_globals_jit as *const _ as usize
19860        },
19861        466usize,
19862        concat!(
19863            "Offset of field: ",
19864            stringify!(_php_core_globals),
19865            "::",
19866            stringify!(auto_globals_jit)
19867        )
19868    );
19869    assert_eq!(
19870        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).docref_root as *const _ as usize },
19871        472usize,
19872        concat!(
19873            "Offset of field: ",
19874            stringify!(_php_core_globals),
19875            "::",
19876            stringify!(docref_root)
19877        )
19878    );
19879    assert_eq!(
19880        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).docref_ext as *const _ as usize },
19881        480usize,
19882        concat!(
19883            "Offset of field: ",
19884            stringify!(_php_core_globals),
19885            "::",
19886            stringify!(docref_ext)
19887        )
19888    );
19889    assert_eq!(
19890        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).html_errors as *const _ as usize },
19891        488usize,
19892        concat!(
19893            "Offset of field: ",
19894            stringify!(_php_core_globals),
19895            "::",
19896            stringify!(html_errors)
19897        )
19898    );
19899    assert_eq!(
19900        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).xmlrpc_errors as *const _ as usize },
19901        489usize,
19902        concat!(
19903            "Offset of field: ",
19904            stringify!(_php_core_globals),
19905            "::",
19906            stringify!(xmlrpc_errors)
19907        )
19908    );
19909    assert_eq!(
19910        unsafe {
19911            &(*(::std::ptr::null::<_php_core_globals>())).xmlrpc_error_number as *const _ as usize
19912        },
19913        496usize,
19914        concat!(
19915            "Offset of field: ",
19916            stringify!(_php_core_globals),
19917            "::",
19918            stringify!(xmlrpc_error_number)
19919        )
19920    );
19921    assert_eq!(
19922        unsafe {
19923            &(*(::std::ptr::null::<_php_core_globals>())).activated_auto_globals as *const _
19924                as usize
19925        },
19926        504usize,
19927        concat!(
19928            "Offset of field: ",
19929            stringify!(_php_core_globals),
19930            "::",
19931            stringify!(activated_auto_globals)
19932        )
19933    );
19934    assert_eq!(
19935        unsafe {
19936            &(*(::std::ptr::null::<_php_core_globals>())).modules_activated as *const _ as usize
19937        },
19938        512usize,
19939        concat!(
19940            "Offset of field: ",
19941            stringify!(_php_core_globals),
19942            "::",
19943            stringify!(modules_activated)
19944        )
19945    );
19946    assert_eq!(
19947        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).file_uploads as *const _ as usize },
19948        513usize,
19949        concat!(
19950            "Offset of field: ",
19951            stringify!(_php_core_globals),
19952            "::",
19953            stringify!(file_uploads)
19954        )
19955    );
19956    assert_eq!(
19957        unsafe {
19958            &(*(::std::ptr::null::<_php_core_globals>())).during_request_startup as *const _
19959                as usize
19960        },
19961        514usize,
19962        concat!(
19963            "Offset of field: ",
19964            stringify!(_php_core_globals),
19965            "::",
19966            stringify!(during_request_startup)
19967        )
19968    );
19969    assert_eq!(
19970        unsafe {
19971            &(*(::std::ptr::null::<_php_core_globals>())).allow_url_fopen as *const _ as usize
19972        },
19973        515usize,
19974        concat!(
19975            "Offset of field: ",
19976            stringify!(_php_core_globals),
19977            "::",
19978            stringify!(allow_url_fopen)
19979        )
19980    );
19981    assert_eq!(
19982        unsafe {
19983            &(*(::std::ptr::null::<_php_core_globals>())).enable_post_data_reading as *const _
19984                as usize
19985        },
19986        516usize,
19987        concat!(
19988            "Offset of field: ",
19989            stringify!(_php_core_globals),
19990            "::",
19991            stringify!(enable_post_data_reading)
19992        )
19993    );
19994    assert_eq!(
19995        unsafe {
19996            &(*(::std::ptr::null::<_php_core_globals>())).report_zend_debug as *const _ as usize
19997        },
19998        517usize,
19999        concat!(
20000            "Offset of field: ",
20001            stringify!(_php_core_globals),
20002            "::",
20003            stringify!(report_zend_debug)
20004        )
20005    );
20006    assert_eq!(
20007        unsafe {
20008            &(*(::std::ptr::null::<_php_core_globals>())).last_error_type as *const _ as usize
20009        },
20010        520usize,
20011        concat!(
20012            "Offset of field: ",
20013            stringify!(_php_core_globals),
20014            "::",
20015            stringify!(last_error_type)
20016        )
20017    );
20018    assert_eq!(
20019        unsafe {
20020            &(*(::std::ptr::null::<_php_core_globals>())).last_error_message as *const _ as usize
20021        },
20022        528usize,
20023        concat!(
20024            "Offset of field: ",
20025            stringify!(_php_core_globals),
20026            "::",
20027            stringify!(last_error_message)
20028        )
20029    );
20030    assert_eq!(
20031        unsafe {
20032            &(*(::std::ptr::null::<_php_core_globals>())).last_error_file as *const _ as usize
20033        },
20034        536usize,
20035        concat!(
20036            "Offset of field: ",
20037            stringify!(_php_core_globals),
20038            "::",
20039            stringify!(last_error_file)
20040        )
20041    );
20042    assert_eq!(
20043        unsafe {
20044            &(*(::std::ptr::null::<_php_core_globals>())).last_error_lineno as *const _ as usize
20045        },
20046        544usize,
20047        concat!(
20048            "Offset of field: ",
20049            stringify!(_php_core_globals),
20050            "::",
20051            stringify!(last_error_lineno)
20052        )
20053    );
20054    assert_eq!(
20055        unsafe {
20056            &(*(::std::ptr::null::<_php_core_globals>())).php_sys_temp_dir as *const _ as usize
20057        },
20058        552usize,
20059        concat!(
20060            "Offset of field: ",
20061            stringify!(_php_core_globals),
20062            "::",
20063            stringify!(php_sys_temp_dir)
20064        )
20065    );
20066    assert_eq!(
20067        unsafe {
20068            &(*(::std::ptr::null::<_php_core_globals>())).disable_classes as *const _ as usize
20069        },
20070        560usize,
20071        concat!(
20072            "Offset of field: ",
20073            stringify!(_php_core_globals),
20074            "::",
20075            stringify!(disable_classes)
20076        )
20077    );
20078    assert_eq!(
20079        unsafe {
20080            &(*(::std::ptr::null::<_php_core_globals>())).allow_url_include as *const _ as usize
20081        },
20082        568usize,
20083        concat!(
20084            "Offset of field: ",
20085            stringify!(_php_core_globals),
20086            "::",
20087            stringify!(allow_url_include)
20088        )
20089    );
20090    assert_eq!(
20091        unsafe {
20092            &(*(::std::ptr::null::<_php_core_globals>())).max_input_nesting_level as *const _
20093                as usize
20094        },
20095        576usize,
20096        concat!(
20097            "Offset of field: ",
20098            stringify!(_php_core_globals),
20099            "::",
20100            stringify!(max_input_nesting_level)
20101        )
20102    );
20103    assert_eq!(
20104        unsafe {
20105            &(*(::std::ptr::null::<_php_core_globals>())).max_input_vars as *const _ as usize
20106        },
20107        584usize,
20108        concat!(
20109            "Offset of field: ",
20110            stringify!(_php_core_globals),
20111            "::",
20112            stringify!(max_input_vars)
20113        )
20114    );
20115    assert_eq!(
20116        unsafe {
20117            &(*(::std::ptr::null::<_php_core_globals>())).in_user_include as *const _ as usize
20118        },
20119        592usize,
20120        concat!(
20121            "Offset of field: ",
20122            stringify!(_php_core_globals),
20123            "::",
20124            stringify!(in_user_include)
20125        )
20126    );
20127    assert_eq!(
20128        unsafe {
20129            &(*(::std::ptr::null::<_php_core_globals>())).user_ini_filename as *const _ as usize
20130        },
20131        600usize,
20132        concat!(
20133            "Offset of field: ",
20134            stringify!(_php_core_globals),
20135            "::",
20136            stringify!(user_ini_filename)
20137        )
20138    );
20139    assert_eq!(
20140        unsafe {
20141            &(*(::std::ptr::null::<_php_core_globals>())).user_ini_cache_ttl as *const _ as usize
20142        },
20143        608usize,
20144        concat!(
20145            "Offset of field: ",
20146            stringify!(_php_core_globals),
20147            "::",
20148            stringify!(user_ini_cache_ttl)
20149        )
20150    );
20151    assert_eq!(
20152        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).request_order as *const _ as usize },
20153        616usize,
20154        concat!(
20155            "Offset of field: ",
20156            stringify!(_php_core_globals),
20157            "::",
20158            stringify!(request_order)
20159        )
20160    );
20161    assert_eq!(
20162        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).mail_x_header as *const _ as usize },
20163        624usize,
20164        concat!(
20165            "Offset of field: ",
20166            stringify!(_php_core_globals),
20167            "::",
20168            stringify!(mail_x_header)
20169        )
20170    );
20171    assert_eq!(
20172        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).mail_log as *const _ as usize },
20173        632usize,
20174        concat!(
20175            "Offset of field: ",
20176            stringify!(_php_core_globals),
20177            "::",
20178            stringify!(mail_log)
20179        )
20180    );
20181    assert_eq!(
20182        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).in_error_log as *const _ as usize },
20183        640usize,
20184        concat!(
20185            "Offset of field: ",
20186            stringify!(_php_core_globals),
20187            "::",
20188            stringify!(in_error_log)
20189        )
20190    );
20191    assert_eq!(
20192        unsafe {
20193            &(*(::std::ptr::null::<_php_core_globals>())).syslog_facility as *const _ as usize
20194        },
20195        648usize,
20196        concat!(
20197            "Offset of field: ",
20198            stringify!(_php_core_globals),
20199            "::",
20200            stringify!(syslog_facility)
20201        )
20202    );
20203    assert_eq!(
20204        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).syslog_ident as *const _ as usize },
20205        656usize,
20206        concat!(
20207            "Offset of field: ",
20208            stringify!(_php_core_globals),
20209            "::",
20210            stringify!(syslog_ident)
20211        )
20212    );
20213    assert_eq!(
20214        unsafe {
20215            &(*(::std::ptr::null::<_php_core_globals>())).have_called_openlog as *const _ as usize
20216        },
20217        664usize,
20218        concat!(
20219            "Offset of field: ",
20220            stringify!(_php_core_globals),
20221            "::",
20222            stringify!(have_called_openlog)
20223        )
20224    );
20225    assert_eq!(
20226        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).syslog_filter as *const _ as usize },
20227        672usize,
20228        concat!(
20229            "Offset of field: ",
20230            stringify!(_php_core_globals),
20231            "::",
20232            stringify!(syslog_filter)
20233        )
20234    );
20235}
20236extern "C" {
20237    pub static mut core_globals: _php_core_globals;
20238}
20239#[repr(C)]
20240#[derive(Debug, Copy, Clone)]
20241pub struct _arg_separators {
20242    pub output: *mut ::std::os::raw::c_char,
20243    pub input: *mut ::std::os::raw::c_char,
20244}
20245#[test]
20246fn bindgen_test_layout__arg_separators() {
20247    assert_eq!(
20248        ::std::mem::size_of::<_arg_separators>(),
20249        16usize,
20250        concat!("Size of: ", stringify!(_arg_separators))
20251    );
20252    assert_eq!(
20253        ::std::mem::align_of::<_arg_separators>(),
20254        8usize,
20255        concat!("Alignment of ", stringify!(_arg_separators))
20256    );
20257    assert_eq!(
20258        unsafe { &(*(::std::ptr::null::<_arg_separators>())).output as *const _ as usize },
20259        0usize,
20260        concat!(
20261            "Offset of field: ",
20262            stringify!(_arg_separators),
20263            "::",
20264            stringify!(output)
20265        )
20266    );
20267    assert_eq!(
20268        unsafe { &(*(::std::ptr::null::<_arg_separators>())).input as *const _ as usize },
20269        8usize,
20270        concat!(
20271            "Offset of field: ",
20272            stringify!(_arg_separators),
20273            "::",
20274            stringify!(input)
20275        )
20276    );
20277}
20278pub type arg_separators = _arg_separators;
20279#[repr(C)]
20280#[derive(Debug, Copy, Clone)]
20281pub struct _zend_ini_entry_def {
20282    pub name: *const ::std::os::raw::c_char,
20283    pub on_modify: ::std::option::Option<
20284        unsafe extern "C" fn(
20285            entry: *mut zend_ini_entry,
20286            new_value: *mut zend_string,
20287            mh_arg1: *mut ::std::os::raw::c_void,
20288            mh_arg2: *mut ::std::os::raw::c_void,
20289            mh_arg3: *mut ::std::os::raw::c_void,
20290            stage: ::std::os::raw::c_int,
20291        ) -> ::std::os::raw::c_int,
20292    >,
20293    pub mh_arg1: *mut ::std::os::raw::c_void,
20294    pub mh_arg2: *mut ::std::os::raw::c_void,
20295    pub mh_arg3: *mut ::std::os::raw::c_void,
20296    pub value: *const ::std::os::raw::c_char,
20297    pub displayer: ::std::option::Option<
20298        unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
20299    >,
20300    pub value_length: u32,
20301    pub name_length: u16,
20302    pub modifiable: u8,
20303}
20304#[test]
20305fn bindgen_test_layout__zend_ini_entry_def() {
20306    assert_eq!(
20307        ::std::mem::size_of::<_zend_ini_entry_def>(),
20308        64usize,
20309        concat!("Size of: ", stringify!(_zend_ini_entry_def))
20310    );
20311    assert_eq!(
20312        ::std::mem::align_of::<_zend_ini_entry_def>(),
20313        8usize,
20314        concat!("Alignment of ", stringify!(_zend_ini_entry_def))
20315    );
20316    assert_eq!(
20317        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).name as *const _ as usize },
20318        0usize,
20319        concat!(
20320            "Offset of field: ",
20321            stringify!(_zend_ini_entry_def),
20322            "::",
20323            stringify!(name)
20324        )
20325    );
20326    assert_eq!(
20327        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).on_modify as *const _ as usize },
20328        8usize,
20329        concat!(
20330            "Offset of field: ",
20331            stringify!(_zend_ini_entry_def),
20332            "::",
20333            stringify!(on_modify)
20334        )
20335    );
20336    assert_eq!(
20337        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).mh_arg1 as *const _ as usize },
20338        16usize,
20339        concat!(
20340            "Offset of field: ",
20341            stringify!(_zend_ini_entry_def),
20342            "::",
20343            stringify!(mh_arg1)
20344        )
20345    );
20346    assert_eq!(
20347        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).mh_arg2 as *const _ as usize },
20348        24usize,
20349        concat!(
20350            "Offset of field: ",
20351            stringify!(_zend_ini_entry_def),
20352            "::",
20353            stringify!(mh_arg2)
20354        )
20355    );
20356    assert_eq!(
20357        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).mh_arg3 as *const _ as usize },
20358        32usize,
20359        concat!(
20360            "Offset of field: ",
20361            stringify!(_zend_ini_entry_def),
20362            "::",
20363            stringify!(mh_arg3)
20364        )
20365    );
20366    assert_eq!(
20367        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).value as *const _ as usize },
20368        40usize,
20369        concat!(
20370            "Offset of field: ",
20371            stringify!(_zend_ini_entry_def),
20372            "::",
20373            stringify!(value)
20374        )
20375    );
20376    assert_eq!(
20377        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).displayer as *const _ as usize },
20378        48usize,
20379        concat!(
20380            "Offset of field: ",
20381            stringify!(_zend_ini_entry_def),
20382            "::",
20383            stringify!(displayer)
20384        )
20385    );
20386    assert_eq!(
20387        unsafe {
20388            &(*(::std::ptr::null::<_zend_ini_entry_def>())).value_length as *const _ as usize
20389        },
20390        56usize,
20391        concat!(
20392            "Offset of field: ",
20393            stringify!(_zend_ini_entry_def),
20394            "::",
20395            stringify!(value_length)
20396        )
20397    );
20398    assert_eq!(
20399        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).name_length as *const _ as usize },
20400        60usize,
20401        concat!(
20402            "Offset of field: ",
20403            stringify!(_zend_ini_entry_def),
20404            "::",
20405            stringify!(name_length)
20406        )
20407    );
20408    assert_eq!(
20409        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).modifiable as *const _ as usize },
20410        62usize,
20411        concat!(
20412            "Offset of field: ",
20413            stringify!(_zend_ini_entry_def),
20414            "::",
20415            stringify!(modifiable)
20416        )
20417    );
20418}
20419pub type zend_ini_entry_def = _zend_ini_entry_def;
20420#[repr(C)]
20421#[derive(Debug, Copy, Clone)]
20422pub struct _zend_ini_entry {
20423    pub name: *mut zend_string,
20424    pub on_modify: ::std::option::Option<
20425        unsafe extern "C" fn(
20426            entry: *mut zend_ini_entry,
20427            new_value: *mut zend_string,
20428            mh_arg1: *mut ::std::os::raw::c_void,
20429            mh_arg2: *mut ::std::os::raw::c_void,
20430            mh_arg3: *mut ::std::os::raw::c_void,
20431            stage: ::std::os::raw::c_int,
20432        ) -> ::std::os::raw::c_int,
20433    >,
20434    pub mh_arg1: *mut ::std::os::raw::c_void,
20435    pub mh_arg2: *mut ::std::os::raw::c_void,
20436    pub mh_arg3: *mut ::std::os::raw::c_void,
20437    pub value: *mut zend_string,
20438    pub orig_value: *mut zend_string,
20439    pub displayer: ::std::option::Option<
20440        unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
20441    >,
20442    pub module_number: ::std::os::raw::c_int,
20443    pub modifiable: u8,
20444    pub orig_modifiable: u8,
20445    pub modified: u8,
20446}
20447#[test]
20448fn bindgen_test_layout__zend_ini_entry() {
20449    assert_eq!(
20450        ::std::mem::size_of::<_zend_ini_entry>(),
20451        72usize,
20452        concat!("Size of: ", stringify!(_zend_ini_entry))
20453    );
20454    assert_eq!(
20455        ::std::mem::align_of::<_zend_ini_entry>(),
20456        8usize,
20457        concat!("Alignment of ", stringify!(_zend_ini_entry))
20458    );
20459    assert_eq!(
20460        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).name as *const _ as usize },
20461        0usize,
20462        concat!(
20463            "Offset of field: ",
20464            stringify!(_zend_ini_entry),
20465            "::",
20466            stringify!(name)
20467        )
20468    );
20469    assert_eq!(
20470        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).on_modify as *const _ as usize },
20471        8usize,
20472        concat!(
20473            "Offset of field: ",
20474            stringify!(_zend_ini_entry),
20475            "::",
20476            stringify!(on_modify)
20477        )
20478    );
20479    assert_eq!(
20480        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg1 as *const _ as usize },
20481        16usize,
20482        concat!(
20483            "Offset of field: ",
20484            stringify!(_zend_ini_entry),
20485            "::",
20486            stringify!(mh_arg1)
20487        )
20488    );
20489    assert_eq!(
20490        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg2 as *const _ as usize },
20491        24usize,
20492        concat!(
20493            "Offset of field: ",
20494            stringify!(_zend_ini_entry),
20495            "::",
20496            stringify!(mh_arg2)
20497        )
20498    );
20499    assert_eq!(
20500        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg3 as *const _ as usize },
20501        32usize,
20502        concat!(
20503            "Offset of field: ",
20504            stringify!(_zend_ini_entry),
20505            "::",
20506            stringify!(mh_arg3)
20507        )
20508    );
20509    assert_eq!(
20510        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).value as *const _ as usize },
20511        40usize,
20512        concat!(
20513            "Offset of field: ",
20514            stringify!(_zend_ini_entry),
20515            "::",
20516            stringify!(value)
20517        )
20518    );
20519    assert_eq!(
20520        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).orig_value as *const _ as usize },
20521        48usize,
20522        concat!(
20523            "Offset of field: ",
20524            stringify!(_zend_ini_entry),
20525            "::",
20526            stringify!(orig_value)
20527        )
20528    );
20529    assert_eq!(
20530        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).displayer as *const _ as usize },
20531        56usize,
20532        concat!(
20533            "Offset of field: ",
20534            stringify!(_zend_ini_entry),
20535            "::",
20536            stringify!(displayer)
20537        )
20538    );
20539    assert_eq!(
20540        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).module_number as *const _ as usize },
20541        64usize,
20542        concat!(
20543            "Offset of field: ",
20544            stringify!(_zend_ini_entry),
20545            "::",
20546            stringify!(module_number)
20547        )
20548    );
20549    assert_eq!(
20550        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).modifiable as *const _ as usize },
20551        68usize,
20552        concat!(
20553            "Offset of field: ",
20554            stringify!(_zend_ini_entry),
20555            "::",
20556            stringify!(modifiable)
20557        )
20558    );
20559    assert_eq!(
20560        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).orig_modifiable as *const _ as usize },
20561        69usize,
20562        concat!(
20563            "Offset of field: ",
20564            stringify!(_zend_ini_entry),
20565            "::",
20566            stringify!(orig_modifiable)
20567        )
20568    );
20569    assert_eq!(
20570        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).modified as *const _ as usize },
20571        70usize,
20572        concat!(
20573            "Offset of field: ",
20574            stringify!(_zend_ini_entry),
20575            "::",
20576            stringify!(modified)
20577        )
20578    );
20579}
20580extern "C" {
20581    pub fn zend_ini_startup();
20582}
20583extern "C" {
20584    pub fn zend_ini_shutdown();
20585}
20586extern "C" {
20587    pub fn zend_ini_global_shutdown();
20588}
20589extern "C" {
20590    pub fn zend_ini_deactivate();
20591}
20592extern "C" {
20593    pub fn zend_ini_dtor(ini_directives: *mut HashTable);
20594}
20595extern "C" {
20596    pub fn zend_copy_ini_directives();
20597}
20598extern "C" {
20599    pub fn zend_ini_sort_entries();
20600}
20601extern "C" {
20602    pub fn zend_register_ini_entries(
20603        ini_entry: *const zend_ini_entry_def,
20604        module_number: ::std::os::raw::c_int,
20605    ) -> zend_result;
20606}
20607extern "C" {
20608    pub fn zend_unregister_ini_entries(module_number: ::std::os::raw::c_int);
20609}
20610extern "C" {
20611    pub fn zend_ini_refresh_caches(stage: ::std::os::raw::c_int);
20612}
20613extern "C" {
20614    pub fn zend_alter_ini_entry(
20615        name: *mut zend_string,
20616        new_value: *mut zend_string,
20617        modify_type: ::std::os::raw::c_int,
20618        stage: ::std::os::raw::c_int,
20619    ) -> zend_result;
20620}
20621extern "C" {
20622    pub fn zend_alter_ini_entry_ex(
20623        name: *mut zend_string,
20624        new_value: *mut zend_string,
20625        modify_type: ::std::os::raw::c_int,
20626        stage: ::std::os::raw::c_int,
20627        force_change: bool,
20628    ) -> zend_result;
20629}
20630extern "C" {
20631    pub fn zend_alter_ini_entry_chars(
20632        name: *mut zend_string,
20633        value: *const ::std::os::raw::c_char,
20634        value_length: size_t,
20635        modify_type: ::std::os::raw::c_int,
20636        stage: ::std::os::raw::c_int,
20637    ) -> zend_result;
20638}
20639extern "C" {
20640    pub fn zend_alter_ini_entry_chars_ex(
20641        name: *mut zend_string,
20642        value: *const ::std::os::raw::c_char,
20643        value_length: size_t,
20644        modify_type: ::std::os::raw::c_int,
20645        stage: ::std::os::raw::c_int,
20646        force_change: ::std::os::raw::c_int,
20647    ) -> zend_result;
20648}
20649extern "C" {
20650    pub fn zend_restore_ini_entry(
20651        name: *mut zend_string,
20652        stage: ::std::os::raw::c_int,
20653    ) -> zend_result;
20654}
20655extern "C" {
20656    pub fn zend_ini_long(
20657        name: *const ::std::os::raw::c_char,
20658        name_length: size_t,
20659        orig: ::std::os::raw::c_int,
20660    ) -> zend_long;
20661}
20662extern "C" {
20663    pub fn zend_ini_double(
20664        name: *const ::std::os::raw::c_char,
20665        name_length: size_t,
20666        orig: ::std::os::raw::c_int,
20667    ) -> f64;
20668}
20669extern "C" {
20670    pub fn zend_ini_string(
20671        name: *const ::std::os::raw::c_char,
20672        name_length: size_t,
20673        orig: ::std::os::raw::c_int,
20674    ) -> *mut ::std::os::raw::c_char;
20675}
20676extern "C" {
20677    pub fn zend_ini_string_ex(
20678        name: *const ::std::os::raw::c_char,
20679        name_length: size_t,
20680        orig: ::std::os::raw::c_int,
20681        exists: *mut zend_bool,
20682    ) -> *mut ::std::os::raw::c_char;
20683}
20684extern "C" {
20685    pub fn zend_ini_get_value(name: *mut zend_string) -> *mut zend_string;
20686}
20687extern "C" {
20688    pub fn zend_ini_parse_bool(str_: *mut zend_string) -> zend_bool;
20689}
20690extern "C" {
20691    pub fn zend_ini_register_displayer(
20692        name: *const ::std::os::raw::c_char,
20693        name_length: u32,
20694        displayer: ::std::option::Option<
20695            unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
20696        >,
20697    ) -> zend_result;
20698}
20699extern "C" {
20700    pub fn zend_ini_boolean_displayer_cb(
20701        ini_entry: *mut zend_ini_entry,
20702        type_: ::std::os::raw::c_int,
20703    );
20704}
20705extern "C" {
20706    pub fn zend_ini_color_displayer_cb(
20707        ini_entry: *mut zend_ini_entry,
20708        type_: ::std::os::raw::c_int,
20709    );
20710}
20711pub type zend_ini_parser_cb_t = ::std::option::Option<
20712    unsafe extern "C" fn(
20713        arg1: *mut zval,
20714        arg2: *mut zval,
20715        arg3: *mut zval,
20716        callback_type: ::std::os::raw::c_int,
20717        arg: *mut ::std::os::raw::c_void,
20718    ),
20719>;
20720extern "C" {
20721    pub fn zend_parse_ini_file(
20722        fh: *mut zend_file_handle,
20723        unbuffered_errors: zend_bool,
20724        scanner_mode: ::std::os::raw::c_int,
20725        ini_parser_cb: zend_ini_parser_cb_t,
20726        arg: *mut ::std::os::raw::c_void,
20727    ) -> ::std::os::raw::c_int;
20728}
20729extern "C" {
20730    pub fn zend_parse_ini_string(
20731        str_: *mut ::std::os::raw::c_char,
20732        unbuffered_errors: zend_bool,
20733        scanner_mode: ::std::os::raw::c_int,
20734        ini_parser_cb: zend_ini_parser_cb_t,
20735        arg: *mut ::std::os::raw::c_void,
20736    ) -> ::std::os::raw::c_int;
20737}
20738#[repr(C)]
20739#[derive(Debug, Copy, Clone)]
20740pub struct _zend_ini_parser_param {
20741    pub ini_parser_cb: zend_ini_parser_cb_t,
20742    pub arg: *mut ::std::os::raw::c_void,
20743}
20744#[test]
20745fn bindgen_test_layout__zend_ini_parser_param() {
20746    assert_eq!(
20747        ::std::mem::size_of::<_zend_ini_parser_param>(),
20748        16usize,
20749        concat!("Size of: ", stringify!(_zend_ini_parser_param))
20750    );
20751    assert_eq!(
20752        ::std::mem::align_of::<_zend_ini_parser_param>(),
20753        8usize,
20754        concat!("Alignment of ", stringify!(_zend_ini_parser_param))
20755    );
20756    assert_eq!(
20757        unsafe {
20758            &(*(::std::ptr::null::<_zend_ini_parser_param>())).ini_parser_cb as *const _ as usize
20759        },
20760        0usize,
20761        concat!(
20762            "Offset of field: ",
20763            stringify!(_zend_ini_parser_param),
20764            "::",
20765            stringify!(ini_parser_cb)
20766        )
20767    );
20768    assert_eq!(
20769        unsafe { &(*(::std::ptr::null::<_zend_ini_parser_param>())).arg as *const _ as usize },
20770        8usize,
20771        concat!(
20772            "Offset of field: ",
20773            stringify!(_zend_ini_parser_param),
20774            "::",
20775            stringify!(arg)
20776        )
20777    );
20778}
20779pub type zend_ini_parser_param = _zend_ini_parser_param;
20780extern "C" {
20781    pub fn php_init_config() -> ::std::os::raw::c_int;
20782}
20783extern "C" {
20784    pub fn php_shutdown_config() -> ::std::os::raw::c_int;
20785}
20786extern "C" {
20787    pub fn php_ini_register_extensions();
20788}
20789extern "C" {
20790    pub fn php_parse_user_ini_file(
20791        dirname: *const ::std::os::raw::c_char,
20792        ini_filename: *const ::std::os::raw::c_char,
20793        target_hash: *mut HashTable,
20794    ) -> ::std::os::raw::c_int;
20795}
20796extern "C" {
20797    pub fn php_ini_activate_config(
20798        source_hash: *mut HashTable,
20799        modify_type: ::std::os::raw::c_int,
20800        stage: ::std::os::raw::c_int,
20801    );
20802}
20803extern "C" {
20804    pub fn php_ini_has_per_dir_config() -> ::std::os::raw::c_int;
20805}
20806extern "C" {
20807    pub fn php_ini_has_per_host_config() -> ::std::os::raw::c_int;
20808}
20809extern "C" {
20810    pub fn php_ini_activate_per_dir_config(path: *mut ::std::os::raw::c_char, path_len: size_t);
20811}
20812extern "C" {
20813    pub fn php_ini_activate_per_host_config(host: *const ::std::os::raw::c_char, host_len: size_t);
20814}
20815extern "C" {
20816    pub fn php_ini_get_configuration_hash() -> *mut HashTable;
20817}
20818extern "C" {
20819    pub fn php_fopen_primary_script(file_handle: *mut zend_file_handle) -> ::std::os::raw::c_int;
20820}
20821extern "C" {
20822    pub fn php_check_open_basedir(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
20823}
20824extern "C" {
20825    pub fn php_check_open_basedir_ex(
20826        path: *const ::std::os::raw::c_char,
20827        warn: ::std::os::raw::c_int,
20828    ) -> ::std::os::raw::c_int;
20829}
20830extern "C" {
20831    pub fn php_check_specific_open_basedir(
20832        basedir: *const ::std::os::raw::c_char,
20833        path: *const ::std::os::raw::c_char,
20834    ) -> ::std::os::raw::c_int;
20835}
20836extern "C" {
20837    pub fn php_check_safe_mode_include_dir(
20838        path: *const ::std::os::raw::c_char,
20839    ) -> ::std::os::raw::c_int;
20840}
20841extern "C" {
20842    pub fn php_resolve_path(
20843        filename: *const ::std::os::raw::c_char,
20844        filename_len: size_t,
20845        path: *const ::std::os::raw::c_char,
20846    ) -> *mut zend_string;
20847}
20848extern "C" {
20849    pub fn php_fopen_with_path(
20850        filename: *const ::std::os::raw::c_char,
20851        mode: *const ::std::os::raw::c_char,
20852        path: *const ::std::os::raw::c_char,
20853        opened_path: *mut *mut zend_string,
20854    ) -> *mut FILE;
20855}
20856extern "C" {
20857    pub fn php_strip_url_passwd(path: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
20858}
20859#[repr(C)]
20860#[derive(Debug, Copy, Clone)]
20861pub struct _cwd_state {
20862    pub cwd: *mut ::std::os::raw::c_char,
20863    pub cwd_length: size_t,
20864}
20865#[test]
20866fn bindgen_test_layout__cwd_state() {
20867    assert_eq!(
20868        ::std::mem::size_of::<_cwd_state>(),
20869        16usize,
20870        concat!("Size of: ", stringify!(_cwd_state))
20871    );
20872    assert_eq!(
20873        ::std::mem::align_of::<_cwd_state>(),
20874        8usize,
20875        concat!("Alignment of ", stringify!(_cwd_state))
20876    );
20877    assert_eq!(
20878        unsafe { &(*(::std::ptr::null::<_cwd_state>())).cwd as *const _ as usize },
20879        0usize,
20880        concat!(
20881            "Offset of field: ",
20882            stringify!(_cwd_state),
20883            "::",
20884            stringify!(cwd)
20885        )
20886    );
20887    assert_eq!(
20888        unsafe { &(*(::std::ptr::null::<_cwd_state>())).cwd_length as *const _ as usize },
20889        8usize,
20890        concat!(
20891            "Offset of field: ",
20892            stringify!(_cwd_state),
20893            "::",
20894            stringify!(cwd_length)
20895        )
20896    );
20897}
20898pub type cwd_state = _cwd_state;
20899#[repr(C)]
20900#[derive(Debug, Copy, Clone)]
20901pub struct _realpath_cache_bucket {
20902    pub key: zend_ulong,
20903    pub path: *mut ::std::os::raw::c_char,
20904    pub realpath: *mut ::std::os::raw::c_char,
20905    pub next: *mut _realpath_cache_bucket,
20906    pub expires: time_t,
20907    pub path_len: u16,
20908    pub realpath_len: u16,
20909    pub _bitfield_align_1: [u8; 0],
20910    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
20911    pub __bindgen_padding_0: [u8; 3usize],
20912}
20913#[test]
20914fn bindgen_test_layout__realpath_cache_bucket() {
20915    assert_eq!(
20916        ::std::mem::size_of::<_realpath_cache_bucket>(),
20917        48usize,
20918        concat!("Size of: ", stringify!(_realpath_cache_bucket))
20919    );
20920    assert_eq!(
20921        ::std::mem::align_of::<_realpath_cache_bucket>(),
20922        8usize,
20923        concat!("Alignment of ", stringify!(_realpath_cache_bucket))
20924    );
20925    assert_eq!(
20926        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).key as *const _ as usize },
20927        0usize,
20928        concat!(
20929            "Offset of field: ",
20930            stringify!(_realpath_cache_bucket),
20931            "::",
20932            stringify!(key)
20933        )
20934    );
20935    assert_eq!(
20936        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).path as *const _ as usize },
20937        8usize,
20938        concat!(
20939            "Offset of field: ",
20940            stringify!(_realpath_cache_bucket),
20941            "::",
20942            stringify!(path)
20943        )
20944    );
20945    assert_eq!(
20946        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).realpath as *const _ as usize },
20947        16usize,
20948        concat!(
20949            "Offset of field: ",
20950            stringify!(_realpath_cache_bucket),
20951            "::",
20952            stringify!(realpath)
20953        )
20954    );
20955    assert_eq!(
20956        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).next as *const _ as usize },
20957        24usize,
20958        concat!(
20959            "Offset of field: ",
20960            stringify!(_realpath_cache_bucket),
20961            "::",
20962            stringify!(next)
20963        )
20964    );
20965    assert_eq!(
20966        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).expires as *const _ as usize },
20967        32usize,
20968        concat!(
20969            "Offset of field: ",
20970            stringify!(_realpath_cache_bucket),
20971            "::",
20972            stringify!(expires)
20973        )
20974    );
20975    assert_eq!(
20976        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).path_len as *const _ as usize },
20977        40usize,
20978        concat!(
20979            "Offset of field: ",
20980            stringify!(_realpath_cache_bucket),
20981            "::",
20982            stringify!(path_len)
20983        )
20984    );
20985    assert_eq!(
20986        unsafe {
20987            &(*(::std::ptr::null::<_realpath_cache_bucket>())).realpath_len as *const _ as usize
20988        },
20989        42usize,
20990        concat!(
20991            "Offset of field: ",
20992            stringify!(_realpath_cache_bucket),
20993            "::",
20994            stringify!(realpath_len)
20995        )
20996    );
20997}
20998impl _realpath_cache_bucket {
20999    #[inline]
21000    pub fn is_dir(&self) -> u8 {
21001        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
21002    }
21003    #[inline]
21004    pub fn set_is_dir(&mut self, val: u8) {
21005        unsafe {
21006            let val: u8 = ::std::mem::transmute(val);
21007            self._bitfield_1.set(0usize, 1u8, val as u64)
21008        }
21009    }
21010    #[inline]
21011    pub fn new_bitfield_1(is_dir: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
21012        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
21013        __bindgen_bitfield_unit.set(0usize, 1u8, {
21014            let is_dir: u8 = unsafe { ::std::mem::transmute(is_dir) };
21015            is_dir as u64
21016        });
21017        __bindgen_bitfield_unit
21018    }
21019}
21020pub type realpath_cache_bucket = _realpath_cache_bucket;
21021#[repr(C)]
21022#[derive(Copy, Clone)]
21023pub struct _virtual_cwd_globals {
21024    pub cwd: cwd_state,
21025    pub realpath_cache_size: zend_long,
21026    pub realpath_cache_size_limit: zend_long,
21027    pub realpath_cache_ttl: zend_long,
21028    pub realpath_cache: [*mut realpath_cache_bucket; 1024usize],
21029}
21030#[test]
21031fn bindgen_test_layout__virtual_cwd_globals() {
21032    assert_eq!(
21033        ::std::mem::size_of::<_virtual_cwd_globals>(),
21034        8232usize,
21035        concat!("Size of: ", stringify!(_virtual_cwd_globals))
21036    );
21037    assert_eq!(
21038        ::std::mem::align_of::<_virtual_cwd_globals>(),
21039        8usize,
21040        concat!("Alignment of ", stringify!(_virtual_cwd_globals))
21041    );
21042    assert_eq!(
21043        unsafe { &(*(::std::ptr::null::<_virtual_cwd_globals>())).cwd as *const _ as usize },
21044        0usize,
21045        concat!(
21046            "Offset of field: ",
21047            stringify!(_virtual_cwd_globals),
21048            "::",
21049            stringify!(cwd)
21050        )
21051    );
21052    assert_eq!(
21053        unsafe {
21054            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_size as *const _
21055                as usize
21056        },
21057        16usize,
21058        concat!(
21059            "Offset of field: ",
21060            stringify!(_virtual_cwd_globals),
21061            "::",
21062            stringify!(realpath_cache_size)
21063        )
21064    );
21065    assert_eq!(
21066        unsafe {
21067            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_size_limit as *const _
21068                as usize
21069        },
21070        24usize,
21071        concat!(
21072            "Offset of field: ",
21073            stringify!(_virtual_cwd_globals),
21074            "::",
21075            stringify!(realpath_cache_size_limit)
21076        )
21077    );
21078    assert_eq!(
21079        unsafe {
21080            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_ttl as *const _ as usize
21081        },
21082        32usize,
21083        concat!(
21084            "Offset of field: ",
21085            stringify!(_virtual_cwd_globals),
21086            "::",
21087            stringify!(realpath_cache_ttl)
21088        )
21089    );
21090    assert_eq!(
21091        unsafe {
21092            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache as *const _ as usize
21093        },
21094        40usize,
21095        concat!(
21096            "Offset of field: ",
21097            stringify!(_virtual_cwd_globals),
21098            "::",
21099            stringify!(realpath_cache)
21100        )
21101    );
21102}
21103pub type virtual_cwd_globals = _virtual_cwd_globals;
21104extern "C" {
21105    pub static mut cwd_globals: virtual_cwd_globals;
21106}
21107#[repr(C)]
21108#[derive(Copy, Clone)]
21109pub struct _zend_constant {
21110    pub value: zval,
21111    pub name: *mut zend_string,
21112}
21113#[test]
21114fn bindgen_test_layout__zend_constant() {
21115    assert_eq!(
21116        ::std::mem::size_of::<_zend_constant>(),
21117        24usize,
21118        concat!("Size of: ", stringify!(_zend_constant))
21119    );
21120    assert_eq!(
21121        ::std::mem::align_of::<_zend_constant>(),
21122        8usize,
21123        concat!("Alignment of ", stringify!(_zend_constant))
21124    );
21125    assert_eq!(
21126        unsafe { &(*(::std::ptr::null::<_zend_constant>())).value as *const _ as usize },
21127        0usize,
21128        concat!(
21129            "Offset of field: ",
21130            stringify!(_zend_constant),
21131            "::",
21132            stringify!(value)
21133        )
21134    );
21135    assert_eq!(
21136        unsafe { &(*(::std::ptr::null::<_zend_constant>())).name as *const _ as usize },
21137        16usize,
21138        concat!(
21139            "Offset of field: ",
21140            stringify!(_zend_constant),
21141            "::",
21142            stringify!(name)
21143        )
21144    );
21145}
21146pub type zend_constant = _zend_constant;
21147extern "C" {
21148    pub fn zend_startup_constants();
21149}
21150extern "C" {
21151    pub fn zend_shutdown_constants();
21152}
21153extern "C" {
21154    pub fn zend_register_standard_constants();
21155}
21156extern "C" {
21157    pub fn zend_verify_const_access(c: *mut zend_class_constant, ce: *mut zend_class_entry)
21158        -> bool;
21159}
21160extern "C" {
21161    pub fn zend_get_constant(name: *mut zend_string) -> *mut zval;
21162}
21163extern "C" {
21164    pub fn zend_get_constant_str(
21165        name: *const ::std::os::raw::c_char,
21166        name_len: size_t,
21167    ) -> *mut zval;
21168}
21169extern "C" {
21170    pub fn zend_get_constant_ex(
21171        name: *mut zend_string,
21172        scope: *mut zend_class_entry,
21173        flags: u32,
21174    ) -> *mut zval;
21175}
21176extern "C" {
21177    pub fn zend_register_bool_constant(
21178        name: *const ::std::os::raw::c_char,
21179        name_len: size_t,
21180        bval: zend_bool,
21181        flags: ::std::os::raw::c_int,
21182        module_number: ::std::os::raw::c_int,
21183    );
21184}
21185extern "C" {
21186    pub fn zend_register_null_constant(
21187        name: *const ::std::os::raw::c_char,
21188        name_len: size_t,
21189        flags: ::std::os::raw::c_int,
21190        module_number: ::std::os::raw::c_int,
21191    );
21192}
21193extern "C" {
21194    pub fn zend_register_long_constant(
21195        name: *const ::std::os::raw::c_char,
21196        name_len: size_t,
21197        lval: zend_long,
21198        flags: ::std::os::raw::c_int,
21199        module_number: ::std::os::raw::c_int,
21200    );
21201}
21202extern "C" {
21203    pub fn zend_register_double_constant(
21204        name: *const ::std::os::raw::c_char,
21205        name_len: size_t,
21206        dval: f64,
21207        flags: ::std::os::raw::c_int,
21208        module_number: ::std::os::raw::c_int,
21209    );
21210}
21211extern "C" {
21212    pub fn zend_register_string_constant(
21213        name: *const ::std::os::raw::c_char,
21214        name_len: size_t,
21215        strval: *const ::std::os::raw::c_char,
21216        flags: ::std::os::raw::c_int,
21217        module_number: ::std::os::raw::c_int,
21218    );
21219}
21220extern "C" {
21221    pub fn zend_register_stringl_constant(
21222        name: *const ::std::os::raw::c_char,
21223        name_len: size_t,
21224        strval: *const ::std::os::raw::c_char,
21225        strlen: size_t,
21226        flags: ::std::os::raw::c_int,
21227        module_number: ::std::os::raw::c_int,
21228    );
21229}
21230extern "C" {
21231    pub fn zend_register_constant(c: *mut zend_constant) -> zend_result;
21232}
21233extern "C" {
21234    pub fn _zend_get_special_const(
21235        name: *const ::std::os::raw::c_char,
21236        name_len: size_t,
21237    ) -> *mut zend_constant;
21238}
21239extern "C" {
21240    pub fn php_info_html_esc(string: *const ::std::os::raw::c_char) -> *mut zend_string;
21241}
21242extern "C" {
21243    pub fn php_print_info_htmlhead();
21244}
21245extern "C" {
21246    pub fn php_print_info(flag: ::std::os::raw::c_int);
21247}
21248extern "C" {
21249    pub fn php_print_style();
21250}
21251extern "C" {
21252    pub fn php_info_print_style();
21253}
21254extern "C" {
21255    pub fn php_info_print_table_colspan_header(
21256        num_cols: ::std::os::raw::c_int,
21257        header: *const ::std::os::raw::c_char,
21258    );
21259}
21260extern "C" {
21261    pub fn php_info_print_table_header(num_cols: ::std::os::raw::c_int, ...);
21262}
21263extern "C" {
21264    pub fn php_info_print_table_row(num_cols: ::std::os::raw::c_int, ...);
21265}
21266extern "C" {
21267    pub fn php_info_print_table_row_ex(
21268        num_cols: ::std::os::raw::c_int,
21269        arg1: *const ::std::os::raw::c_char,
21270        ...
21271    );
21272}
21273extern "C" {
21274    pub fn php_info_print_table_start();
21275}
21276extern "C" {
21277    pub fn php_info_print_table_end();
21278}
21279extern "C" {
21280    pub fn php_info_print_box_start(bg: ::std::os::raw::c_int);
21281}
21282extern "C" {
21283    pub fn php_info_print_box_end();
21284}
21285extern "C" {
21286    pub fn php_info_print_hr();
21287}
21288extern "C" {
21289    pub fn php_info_print_module(module: *mut zend_module_entry);
21290}
21291extern "C" {
21292    pub fn php_get_uname(mode: ::std::os::raw::c_char) -> *mut zend_string;
21293}
21294#[repr(C)]
21295#[derive(Debug, Copy, Clone)]
21296pub struct _zend_extension_version_info {
21297    pub zend_extension_api_no: ::std::os::raw::c_int,
21298    pub build_id: *mut ::std::os::raw::c_char,
21299}
21300#[test]
21301fn bindgen_test_layout__zend_extension_version_info() {
21302    assert_eq!(
21303        ::std::mem::size_of::<_zend_extension_version_info>(),
21304        16usize,
21305        concat!("Size of: ", stringify!(_zend_extension_version_info))
21306    );
21307    assert_eq!(
21308        ::std::mem::align_of::<_zend_extension_version_info>(),
21309        8usize,
21310        concat!("Alignment of ", stringify!(_zend_extension_version_info))
21311    );
21312    assert_eq!(
21313        unsafe {
21314            &(*(::std::ptr::null::<_zend_extension_version_info>())).zend_extension_api_no
21315                as *const _ as usize
21316        },
21317        0usize,
21318        concat!(
21319            "Offset of field: ",
21320            stringify!(_zend_extension_version_info),
21321            "::",
21322            stringify!(zend_extension_api_no)
21323        )
21324    );
21325    assert_eq!(
21326        unsafe {
21327            &(*(::std::ptr::null::<_zend_extension_version_info>())).build_id as *const _ as usize
21328        },
21329        8usize,
21330        concat!(
21331            "Offset of field: ",
21332            stringify!(_zend_extension_version_info),
21333            "::",
21334            stringify!(build_id)
21335        )
21336    );
21337}
21338pub type zend_extension_version_info = _zend_extension_version_info;
21339pub type zend_extension = _zend_extension;
21340pub type startup_func_t = ::std::option::Option<
21341    unsafe extern "C" fn(extension: *mut zend_extension) -> ::std::os::raw::c_int,
21342>;
21343pub type shutdown_func_t =
21344    ::std::option::Option<unsafe extern "C" fn(extension: *mut zend_extension)>;
21345pub type activate_func_t = ::std::option::Option<unsafe extern "C" fn()>;
21346pub type deactivate_func_t = ::std::option::Option<unsafe extern "C" fn()>;
21347pub type message_handler_func_t = ::std::option::Option<
21348    unsafe extern "C" fn(message: ::std::os::raw::c_int, arg: *mut ::std::os::raw::c_void),
21349>;
21350pub type op_array_handler_func_t =
21351    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
21352pub type statement_handler_func_t =
21353    ::std::option::Option<unsafe extern "C" fn(frame: *mut zend_execute_data)>;
21354pub type fcall_begin_handler_func_t =
21355    ::std::option::Option<unsafe extern "C" fn(frame: *mut zend_execute_data)>;
21356pub type fcall_end_handler_func_t =
21357    ::std::option::Option<unsafe extern "C" fn(frame: *mut zend_execute_data)>;
21358pub type op_array_ctor_func_t =
21359    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
21360pub type op_array_dtor_func_t =
21361    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
21362pub type op_array_persist_calc_func_t =
21363    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array) -> size_t>;
21364pub type op_array_persist_func_t = ::std::option::Option<
21365    unsafe extern "C" fn(op_array: *mut zend_op_array, mem: *mut ::std::os::raw::c_void) -> size_t,
21366>;
21367#[repr(C)]
21368#[derive(Debug, Copy, Clone)]
21369pub struct _zend_extension {
21370    pub name: *mut ::std::os::raw::c_char,
21371    pub version: *mut ::std::os::raw::c_char,
21372    pub author: *mut ::std::os::raw::c_char,
21373    pub URL: *mut ::std::os::raw::c_char,
21374    pub copyright: *mut ::std::os::raw::c_char,
21375    pub startup: startup_func_t,
21376    pub shutdown: shutdown_func_t,
21377    pub activate: activate_func_t,
21378    pub deactivate: deactivate_func_t,
21379    pub message_handler: message_handler_func_t,
21380    pub op_array_handler: op_array_handler_func_t,
21381    pub statement_handler: statement_handler_func_t,
21382    pub fcall_begin_handler: fcall_begin_handler_func_t,
21383    pub fcall_end_handler: fcall_end_handler_func_t,
21384    pub op_array_ctor: op_array_ctor_func_t,
21385    pub op_array_dtor: op_array_dtor_func_t,
21386    pub api_no_check: ::std::option::Option<
21387        unsafe extern "C" fn(api_no: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
21388    >,
21389    pub build_id_check: ::std::option::Option<
21390        unsafe extern "C" fn(build_id: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
21391    >,
21392    pub op_array_persist_calc: op_array_persist_calc_func_t,
21393    pub op_array_persist: op_array_persist_func_t,
21394    pub reserved5: *mut ::std::os::raw::c_void,
21395    pub reserved6: *mut ::std::os::raw::c_void,
21396    pub reserved7: *mut ::std::os::raw::c_void,
21397    pub reserved8: *mut ::std::os::raw::c_void,
21398    pub handle: *mut ::std::os::raw::c_void,
21399    pub resource_number: ::std::os::raw::c_int,
21400}
21401#[test]
21402fn bindgen_test_layout__zend_extension() {
21403    assert_eq!(
21404        ::std::mem::size_of::<_zend_extension>(),
21405        208usize,
21406        concat!("Size of: ", stringify!(_zend_extension))
21407    );
21408    assert_eq!(
21409        ::std::mem::align_of::<_zend_extension>(),
21410        8usize,
21411        concat!("Alignment of ", stringify!(_zend_extension))
21412    );
21413    assert_eq!(
21414        unsafe { &(*(::std::ptr::null::<_zend_extension>())).name as *const _ as usize },
21415        0usize,
21416        concat!(
21417            "Offset of field: ",
21418            stringify!(_zend_extension),
21419            "::",
21420            stringify!(name)
21421        )
21422    );
21423    assert_eq!(
21424        unsafe { &(*(::std::ptr::null::<_zend_extension>())).version as *const _ as usize },
21425        8usize,
21426        concat!(
21427            "Offset of field: ",
21428            stringify!(_zend_extension),
21429            "::",
21430            stringify!(version)
21431        )
21432    );
21433    assert_eq!(
21434        unsafe { &(*(::std::ptr::null::<_zend_extension>())).author as *const _ as usize },
21435        16usize,
21436        concat!(
21437            "Offset of field: ",
21438            stringify!(_zend_extension),
21439            "::",
21440            stringify!(author)
21441        )
21442    );
21443    assert_eq!(
21444        unsafe { &(*(::std::ptr::null::<_zend_extension>())).URL as *const _ as usize },
21445        24usize,
21446        concat!(
21447            "Offset of field: ",
21448            stringify!(_zend_extension),
21449            "::",
21450            stringify!(URL)
21451        )
21452    );
21453    assert_eq!(
21454        unsafe { &(*(::std::ptr::null::<_zend_extension>())).copyright as *const _ as usize },
21455        32usize,
21456        concat!(
21457            "Offset of field: ",
21458            stringify!(_zend_extension),
21459            "::",
21460            stringify!(copyright)
21461        )
21462    );
21463    assert_eq!(
21464        unsafe { &(*(::std::ptr::null::<_zend_extension>())).startup as *const _ as usize },
21465        40usize,
21466        concat!(
21467            "Offset of field: ",
21468            stringify!(_zend_extension),
21469            "::",
21470            stringify!(startup)
21471        )
21472    );
21473    assert_eq!(
21474        unsafe { &(*(::std::ptr::null::<_zend_extension>())).shutdown as *const _ as usize },
21475        48usize,
21476        concat!(
21477            "Offset of field: ",
21478            stringify!(_zend_extension),
21479            "::",
21480            stringify!(shutdown)
21481        )
21482    );
21483    assert_eq!(
21484        unsafe { &(*(::std::ptr::null::<_zend_extension>())).activate as *const _ as usize },
21485        56usize,
21486        concat!(
21487            "Offset of field: ",
21488            stringify!(_zend_extension),
21489            "::",
21490            stringify!(activate)
21491        )
21492    );
21493    assert_eq!(
21494        unsafe { &(*(::std::ptr::null::<_zend_extension>())).deactivate as *const _ as usize },
21495        64usize,
21496        concat!(
21497            "Offset of field: ",
21498            stringify!(_zend_extension),
21499            "::",
21500            stringify!(deactivate)
21501        )
21502    );
21503    assert_eq!(
21504        unsafe { &(*(::std::ptr::null::<_zend_extension>())).message_handler as *const _ as usize },
21505        72usize,
21506        concat!(
21507            "Offset of field: ",
21508            stringify!(_zend_extension),
21509            "::",
21510            stringify!(message_handler)
21511        )
21512    );
21513    assert_eq!(
21514        unsafe {
21515            &(*(::std::ptr::null::<_zend_extension>())).op_array_handler as *const _ as usize
21516        },
21517        80usize,
21518        concat!(
21519            "Offset of field: ",
21520            stringify!(_zend_extension),
21521            "::",
21522            stringify!(op_array_handler)
21523        )
21524    );
21525    assert_eq!(
21526        unsafe {
21527            &(*(::std::ptr::null::<_zend_extension>())).statement_handler as *const _ as usize
21528        },
21529        88usize,
21530        concat!(
21531            "Offset of field: ",
21532            stringify!(_zend_extension),
21533            "::",
21534            stringify!(statement_handler)
21535        )
21536    );
21537    assert_eq!(
21538        unsafe {
21539            &(*(::std::ptr::null::<_zend_extension>())).fcall_begin_handler as *const _ as usize
21540        },
21541        96usize,
21542        concat!(
21543            "Offset of field: ",
21544            stringify!(_zend_extension),
21545            "::",
21546            stringify!(fcall_begin_handler)
21547        )
21548    );
21549    assert_eq!(
21550        unsafe {
21551            &(*(::std::ptr::null::<_zend_extension>())).fcall_end_handler as *const _ as usize
21552        },
21553        104usize,
21554        concat!(
21555            "Offset of field: ",
21556            stringify!(_zend_extension),
21557            "::",
21558            stringify!(fcall_end_handler)
21559        )
21560    );
21561    assert_eq!(
21562        unsafe { &(*(::std::ptr::null::<_zend_extension>())).op_array_ctor as *const _ as usize },
21563        112usize,
21564        concat!(
21565            "Offset of field: ",
21566            stringify!(_zend_extension),
21567            "::",
21568            stringify!(op_array_ctor)
21569        )
21570    );
21571    assert_eq!(
21572        unsafe { &(*(::std::ptr::null::<_zend_extension>())).op_array_dtor as *const _ as usize },
21573        120usize,
21574        concat!(
21575            "Offset of field: ",
21576            stringify!(_zend_extension),
21577            "::",
21578            stringify!(op_array_dtor)
21579        )
21580    );
21581    assert_eq!(
21582        unsafe { &(*(::std::ptr::null::<_zend_extension>())).api_no_check as *const _ as usize },
21583        128usize,
21584        concat!(
21585            "Offset of field: ",
21586            stringify!(_zend_extension),
21587            "::",
21588            stringify!(api_no_check)
21589        )
21590    );
21591    assert_eq!(
21592        unsafe { &(*(::std::ptr::null::<_zend_extension>())).build_id_check as *const _ as usize },
21593        136usize,
21594        concat!(
21595            "Offset of field: ",
21596            stringify!(_zend_extension),
21597            "::",
21598            stringify!(build_id_check)
21599        )
21600    );
21601    assert_eq!(
21602        unsafe {
21603            &(*(::std::ptr::null::<_zend_extension>())).op_array_persist_calc as *const _ as usize
21604        },
21605        144usize,
21606        concat!(
21607            "Offset of field: ",
21608            stringify!(_zend_extension),
21609            "::",
21610            stringify!(op_array_persist_calc)
21611        )
21612    );
21613    assert_eq!(
21614        unsafe {
21615            &(*(::std::ptr::null::<_zend_extension>())).op_array_persist as *const _ as usize
21616        },
21617        152usize,
21618        concat!(
21619            "Offset of field: ",
21620            stringify!(_zend_extension),
21621            "::",
21622            stringify!(op_array_persist)
21623        )
21624    );
21625    assert_eq!(
21626        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved5 as *const _ as usize },
21627        160usize,
21628        concat!(
21629            "Offset of field: ",
21630            stringify!(_zend_extension),
21631            "::",
21632            stringify!(reserved5)
21633        )
21634    );
21635    assert_eq!(
21636        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved6 as *const _ as usize },
21637        168usize,
21638        concat!(
21639            "Offset of field: ",
21640            stringify!(_zend_extension),
21641            "::",
21642            stringify!(reserved6)
21643        )
21644    );
21645    assert_eq!(
21646        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved7 as *const _ as usize },
21647        176usize,
21648        concat!(
21649            "Offset of field: ",
21650            stringify!(_zend_extension),
21651            "::",
21652            stringify!(reserved7)
21653        )
21654    );
21655    assert_eq!(
21656        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved8 as *const _ as usize },
21657        184usize,
21658        concat!(
21659            "Offset of field: ",
21660            stringify!(_zend_extension),
21661            "::",
21662            stringify!(reserved8)
21663        )
21664    );
21665    assert_eq!(
21666        unsafe { &(*(::std::ptr::null::<_zend_extension>())).handle as *const _ as usize },
21667        192usize,
21668        concat!(
21669            "Offset of field: ",
21670            stringify!(_zend_extension),
21671            "::",
21672            stringify!(handle)
21673        )
21674    );
21675    assert_eq!(
21676        unsafe { &(*(::std::ptr::null::<_zend_extension>())).resource_number as *const _ as usize },
21677        200usize,
21678        concat!(
21679            "Offset of field: ",
21680            stringify!(_zend_extension),
21681            "::",
21682            stringify!(resource_number)
21683        )
21684    );
21685}
21686extern "C" {
21687    pub static mut zend_op_array_extension_handles: ::std::os::raw::c_int;
21688}
21689extern "C" {
21690    pub fn zend_get_resource_handle(
21691        module_name: *const ::std::os::raw::c_char,
21692    ) -> ::std::os::raw::c_int;
21693}
21694extern "C" {
21695    pub fn zend_get_op_array_extension_handle(
21696        module_name: *const ::std::os::raw::c_char,
21697    ) -> ::std::os::raw::c_int;
21698}
21699extern "C" {
21700    pub fn zend_extension_dispatch_message(
21701        message: ::std::os::raw::c_int,
21702        arg: *mut ::std::os::raw::c_void,
21703    );
21704}
21705extern "C" {
21706    pub static mut zend_extensions: zend_llist;
21707}
21708extern "C" {
21709    pub static mut zend_extension_flags: u32;
21710}
21711extern "C" {
21712    pub fn zend_extension_dtor(extension: *mut zend_extension);
21713}
21714extern "C" {
21715    pub fn zend_append_version_info(extension: *const zend_extension);
21716}
21717extern "C" {
21718    pub fn zend_startup_extensions_mechanism();
21719}
21720extern "C" {
21721    pub fn zend_startup_extensions();
21722}
21723extern "C" {
21724    pub fn zend_shutdown_extensions();
21725}
21726extern "C" {
21727    pub fn zend_load_extension(path: *const ::std::os::raw::c_char) -> zend_result;
21728}
21729extern "C" {
21730    pub fn zend_load_extension_handle(
21731        handle: *mut ::std::os::raw::c_void,
21732        path: *const ::std::os::raw::c_char,
21733    ) -> zend_result;
21734}
21735extern "C" {
21736    pub fn zend_register_extension(
21737        new_extension: *mut zend_extension,
21738        handle: *mut ::std::os::raw::c_void,
21739    );
21740}
21741extern "C" {
21742    pub fn zend_get_extension(extension_name: *const ::std::os::raw::c_char)
21743        -> *mut zend_extension;
21744}
21745extern "C" {
21746    pub fn zend_extensions_op_array_persist_calc(op_array: *mut zend_op_array) -> size_t;
21747}
21748extern "C" {
21749    pub fn zend_extensions_op_array_persist(
21750        op_array: *mut zend_op_array,
21751        mem: *mut ::std::os::raw::c_void,
21752    ) -> size_t;
21753}
21754pub const ZEND_MODULE_BUILD_ID_: &'static [u8; 16usize] = b"API20200930,NTS\0";
21755pub type __builtin_va_list = [__va_list_tag; 1usize];
21756#[repr(C)]
21757#[derive(Debug, Copy, Clone)]
21758pub struct __va_list_tag {
21759    pub gp_offset: ::std::os::raw::c_uint,
21760    pub fp_offset: ::std::os::raw::c_uint,
21761    pub overflow_arg_area: *mut ::std::os::raw::c_void,
21762    pub reg_save_area: *mut ::std::os::raw::c_void,
21763}
21764#[test]
21765fn bindgen_test_layout___va_list_tag() {
21766    assert_eq!(
21767        ::std::mem::size_of::<__va_list_tag>(),
21768        24usize,
21769        concat!("Size of: ", stringify!(__va_list_tag))
21770    );
21771    assert_eq!(
21772        ::std::mem::align_of::<__va_list_tag>(),
21773        8usize,
21774        concat!("Alignment of ", stringify!(__va_list_tag))
21775    );
21776    assert_eq!(
21777        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
21778        0usize,
21779        concat!(
21780            "Offset of field: ",
21781            stringify!(__va_list_tag),
21782            "::",
21783            stringify!(gp_offset)
21784        )
21785    );
21786    assert_eq!(
21787        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
21788        4usize,
21789        concat!(
21790            "Offset of field: ",
21791            stringify!(__va_list_tag),
21792            "::",
21793            stringify!(fp_offset)
21794        )
21795    );
21796    assert_eq!(
21797        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
21798        8usize,
21799        concat!(
21800            "Offset of field: ",
21801            stringify!(__va_list_tag),
21802            "::",
21803            stringify!(overflow_arg_area)
21804        )
21805    );
21806    assert_eq!(
21807        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
21808        16usize,
21809        concat!(
21810            "Offset of field: ",
21811            stringify!(__va_list_tag),
21812            "::",
21813            stringify!(reg_save_area)
21814        )
21815    );
21816}