/* automatically generated by rust-bindgen 0.57.0 */

#![allow(clippy::all)]
#![allow(
    non_upper_case_globals,
    non_camel_case_types,
    non_snake_case,
    clashing_extern_declarations
)]

#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
    storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
    #[inline]
    pub const fn new(storage: Storage) -> Self {
        Self { storage }
    }
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
    Storage: AsRef<[u8]> + AsMut<[u8]>,
{
    #[inline]
    pub fn get_bit(&self, index: usize) -> bool {
        debug_assert!(index / 8 < self.storage.as_ref().len());
        let byte_index = index / 8;
        let byte = self.storage.as_ref()[byte_index];
        let bit_index = if cfg!(target_endian = "big") {
            7 - (index % 8)
        } else {
            index % 8
        };
        let mask = 1 << bit_index;
        byte & mask == mask
    }
    #[inline]
    pub fn set_bit(&mut self, index: usize, val: bool) {
        debug_assert!(index / 8 < self.storage.as_ref().len());
        let byte_index = index / 8;
        let byte = &mut self.storage.as_mut()[byte_index];
        let bit_index = if cfg!(target_endian = "big") {
            7 - (index % 8)
        } else {
            index % 8
        };
        let mask = 1 << bit_index;
        if val {
            *byte |= mask;
        } else {
            *byte &= !mask;
        }
    }
    #[inline]
    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
        debug_assert!(bit_width <= 64);
        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
        let mut val = 0;
        for i in 0..(bit_width as usize) {
            if self.get_bit(i + bit_offset) {
                let index = if cfg!(target_endian = "big") {
                    bit_width as usize - 1 - i
                } else {
                    i
                };
                val |= 1 << index;
            }
        }
        val
    }
    #[inline]
    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
        debug_assert!(bit_width <= 64);
        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
        for i in 0..(bit_width as usize) {
            let mask = 1 << i;
            let val_bit_is_set = val & mask == mask;
            let index = if cfg!(target_endian = "big") {
                bit_width as usize - 1 - i
            } else {
                i
            };
            self.set_bit(index + bit_offset, val_bit_is_set);
        }
    }
}
pub const PHP_API_VERSION: u32 = 20180731;
pub const PHP_DEFAULT_CHARSET: &'static [u8; 6usize] = b"UTF-8\0";
pub const PHP_BUILD_DATE: &'static [u8; 11usize] = b"2021-02-23\0";
pub const PHP_CAN_SUPPORT_PROC_OPEN: u32 = 1;
pub const PHP_HAVE_AVX2_INSTRUCTIONS: u32 = 1;
pub const PHP_HAVE_AVX_INSTRUCTIONS: u32 = 1;
pub const PHP_HAVE_BUILTIN_CLZ: u32 = 1;
pub const PHP_HAVE_BUILTIN_CPU_INIT: u32 = 1;
pub const PHP_HAVE_BUILTIN_CPU_SUPPORTS: u32 = 1;
pub const PHP_HAVE_BUILTIN_CTZL: u32 = 1;
pub const PHP_HAVE_BUILTIN_CTZLL: u32 = 1;
pub const PHP_HAVE_BUILTIN_EXPECT: u32 = 1;
pub const PHP_HAVE_BUILTIN_SADDLL_OVERFLOW: u32 = 1;
pub const PHP_HAVE_BUILTIN_SADDL_OVERFLOW: u32 = 1;
pub const PHP_HAVE_BUILTIN_SMULLL_OVERFLOW: u32 = 1;
pub const PHP_HAVE_BUILTIN_SMULL_OVERFLOW: u32 = 1;
pub const PHP_HAVE_BUILTIN_SSUBLL_OVERFLOW: u32 = 1;
pub const PHP_HAVE_BUILTIN_SSUBL_OVERFLOW: u32 = 1;
pub const PHP_HAVE_SSE4_2_INSTRUCTIONS: u32 = 1;
pub const PHP_HAVE_SSSE3_INSTRUCTIONS: u32 = 1;
pub const PHP_HAVE_STDINT_TYPES: u32 = 1;
pub const PHP_MHASH_BC: u32 = 1;
pub const PHP_OS: &'static [u8; 6usize] = b"Linux\0";
pub const PHP_SIGCHILD: u32 = 0;
pub const PHP_UNAME: &'static [u8; 6usize] = b"Linux\0";
pub const PHP_USE_PHP_CRYPT_R: u32 = 1;
pub const PHP_WRITE_STDOUT: u32 = 1;
pub const ZEND_BROKEN_SPRINTF: u32 = 0;
pub const ZEND_DEBUG: u32 = 0;
pub const ZEND_MM_ALIGNMENT: u32 = 8;
pub const ZEND_MM_ALIGNMENT_LOG2: u32 = 3;
pub const ZEND_SIGNALS: u32 = 1;
pub const PHP_MAJOR_VERSION: u32 = 7;
pub const PHP_MINOR_VERSION: u32 = 3;
pub const PHP_RELEASE_VERSION: u32 = 27;
pub const PHP_EXTRA_VERSION: &'static [u8; 37usize] = b"-9+0~20210223.81+debian9~1.gbpa4a3d6\0";
pub const PHP_VERSION: &'static [u8; 43usize] = b"7.3.27-9+0~20210223.81+debian9~1.gbpa4a3d6\0";
pub const PHP_VERSION_ID: u32 = 70327;
pub const ZEND_VERSION: &'static [u8; 7usize] = b"3.3.27\0";
pub const ZEND_PATHS_SEPARATOR: u8 = 58u8;
pub const ZEND_ENABLE_ZVAL_LONG64: u32 = 1;
pub const ZEND_LTOA_BUF_LEN: u32 = 65;
pub const ZEND_LONG_FMT: &'static [u8; 4usize] = b"%ld\0";
pub const ZEND_ULONG_FMT: &'static [u8; 4usize] = b"%lu\0";
pub const ZEND_XLONG_FMT: &'static [u8; 4usize] = b"%lx\0";
pub const ZEND_LONG_FMT_SPEC: &'static [u8; 3usize] = b"ld\0";
pub const ZEND_ULONG_FMT_SPEC: &'static [u8; 3usize] = b"lu\0";
pub const ZEND_ADDR_FMT: &'static [u8; 9usize] = b"0x%016zx\0";
pub const ZEND_LONG_CAN_OVFL_INT: u32 = 1;
pub const ZEND_LONG_CAN_OVFL_UINT: u32 = 1;
pub const ZEND_SIZE_T_CAN_OVFL_UINT: u32 = 1;
pub const ZEND_EXTENSIONS_SUPPORT: u32 = 1;
pub const ZEND_ALLOCA_MAX_SIZE: u32 = 32768;
pub const ZEND_MAX_RESERVED_RESOURCES: u32 = 6;
pub const ZEND_SIZE_MAX: i32 = -1;
pub const IS_UNDEF: u32 = 0;
pub const IS_NULL: u32 = 1;
pub const IS_FALSE: u32 = 2;
pub const IS_TRUE: u32 = 3;
pub const IS_LONG: u32 = 4;
pub const IS_DOUBLE: u32 = 5;
pub const IS_STRING: u32 = 6;
pub const IS_ARRAY: u32 = 7;
pub const IS_OBJECT: u32 = 8;
pub const IS_RESOURCE: u32 = 9;
pub const IS_REFERENCE: u32 = 10;
pub const IS_CONSTANT_AST: u32 = 11;
pub const IS_INDIRECT: u32 = 13;
pub const IS_PTR: u32 = 14;
pub const _IS_ERROR: u32 = 15;
pub const _IS_BOOL: u32 = 16;
pub const IS_CALLABLE: u32 = 17;
pub const IS_ITERABLE: u32 = 18;
pub const IS_VOID: u32 = 19;
pub const _IS_NUMBER: u32 = 20;
pub const Z_TYPE_MASK: u32 = 255;
pub const Z_TYPE_FLAGS_MASK: u32 = 65280;
pub const Z_TYPE_FLAGS_SHIFT: u32 = 8;
pub const GC_TYPE_MASK: u32 = 15;
pub const GC_FLAGS_MASK: u32 = 1008;
pub const GC_INFO_MASK: u32 = 4294966272;
pub const GC_FLAGS_SHIFT: u32 = 0;
pub const GC_INFO_SHIFT: u32 = 10;
pub const GC_COLLECTABLE: u32 = 16;
pub const GC_PROTECTED: u32 = 32;
pub const GC_IMMUTABLE: u32 = 64;
pub const GC_PERSISTENT: u32 = 128;
pub const GC_PERSISTENT_LOCAL: u32 = 256;
pub const GC_ARRAY: u32 = 23;
pub const GC_OBJECT: u32 = 24;
pub const IS_TYPE_REFCOUNTED: u32 = 1;
pub const IS_INTERNED_STRING_EX: u32 = 6;
pub const IS_STRING_EX: u32 = 262;
pub const IS_ARRAY_EX: u32 = 263;
pub const IS_OBJECT_EX: u32 = 264;
pub const IS_RESOURCE_EX: u32 = 265;
pub const IS_REFERENCE_EX: u32 = 266;
pub const IS_CONSTANT_AST_EX: u32 = 267;
pub const IS_STR_INTERNED: u32 = 64;
pub const IS_STR_PERSISTENT: u32 = 128;
pub const IS_STR_PERMANENT: u32 = 256;
pub const IS_ARRAY_IMMUTABLE: u32 = 64;
pub const IS_ARRAY_PERSISTENT: u32 = 128;
pub const IS_OBJ_DESTRUCTOR_CALLED: u32 = 256;
pub const IS_OBJ_FREE_CALLED: u32 = 512;
pub const ZEND_RC_DEBUG: u32 = 0;
pub const ZEND_MM_OVERHEAD: u32 = 0;
pub const ZEND_MM_CHUNK_SIZE: u32 = 2097152;
pub const ZEND_MM_PAGE_SIZE: u32 = 4096;
pub const ZEND_MM_PAGES: u32 = 512;
pub const ZEND_MM_FIRST_PAGE: u32 = 1;
pub const ZEND_MM_MIN_SMALL_SIZE: u32 = 8;
pub const ZEND_MM_MAX_SMALL_SIZE: u32 = 3072;
pub const ZEND_MM_MAX_LARGE_SIZE: u32 = 2093056;
pub const ZEND_MM_CUSTOM_HEAP_NONE: u32 = 0;
pub const ZEND_MM_CUSTOM_HEAP_STD: u32 = 1;
pub const ZEND_MM_CUSTOM_HEAP_DEBUG: u32 = 2;
pub const HASH_KEY_IS_STRING: u32 = 1;
pub const HASH_KEY_IS_LONG: u32 = 2;
pub const HASH_KEY_NON_EXISTENT: u32 = 3;
pub const HASH_UPDATE: u32 = 1;
pub const HASH_ADD: u32 = 2;
pub const HASH_UPDATE_INDIRECT: u32 = 4;
pub const HASH_ADD_NEW: u32 = 8;
pub const HASH_ADD_NEXT: u32 = 16;
pub const HASH_FLAG_CONSISTENCY: u32 = 3;
pub const HASH_FLAG_PACKED: u32 = 4;
pub const HASH_FLAG_INITIALIZED: u32 = 8;
pub const HASH_FLAG_STATIC_KEYS: u32 = 16;
pub const HASH_FLAG_HAS_EMPTY_IND: u32 = 32;
pub const HASH_FLAG_ALLOW_COW_VIOLATION: u32 = 64;
pub const HASH_FLAG_MASK: u32 = 255;
pub const ZEND_HASH_APPLY_KEEP: u32 = 0;
pub const ZEND_HASH_APPLY_REMOVE: u32 = 1;
pub const ZEND_HASH_APPLY_STOP: u32 = 2;
pub const ZEND_AST_SPEC: u32 = 1;
pub const ZEND_AST_SPECIAL_SHIFT: u32 = 6;
pub const ZEND_AST_IS_LIST_SHIFT: u32 = 7;
pub const ZEND_AST_NUM_CHILDREN_SHIFT: u32 = 8;
pub const ZEND_MMAP_AHEAD: u32 = 32;
pub const ZEND_SIGNAL_QUEUE_SIZE: u32 = 64;
pub const DEBUG_BACKTRACE_PROVIDE_OBJECT: u32 = 1;
pub const DEBUG_BACKTRACE_IGNORE_ARGS: u32 = 2;
pub const ZEND_PROPERTY_ISSET: u32 = 0;
pub const ZEND_PROPERTY_EXISTS: u32 = 2;
pub const ZEND_USE_ABS_JMP_ADDR: u32 = 0;
pub const ZEND_USE_ABS_CONST_ADDR: u32 = 0;
pub const ZEND_EX_USE_RUN_TIME_CACHE: u32 = 1;
pub const ZEND_LIVE_TMPVAR: u32 = 0;
pub const ZEND_LIVE_LOOP: u32 = 1;
pub const ZEND_LIVE_SILENCE: u32 = 2;
pub const ZEND_LIVE_ROPE: u32 = 3;
pub const ZEND_LIVE_MASK: u32 = 3;
pub const ZEND_ACC_STATIC: u32 = 1;
pub const ZEND_ACC_FINAL: u32 = 4;
pub const ZEND_ACC_PUBLIC: u32 = 256;
pub const ZEND_ACC_PROTECTED: u32 = 512;
pub const ZEND_ACC_PRIVATE: u32 = 1024;
pub const ZEND_ACC_CHANGED: u32 = 2048;
pub const ZEND_ACC_IMPLICIT_PUBLIC: u32 = 4096;
pub const ZEND_ACC_SHADOW: u32 = 131072;
pub const ZEND_ACC_IMPLICIT_ABSTRACT_CLASS: u32 = 16;
pub const ZEND_ACC_EXPLICIT_ABSTRACT_CLASS: u32 = 32;
pub const ZEND_ACC_INTERFACE: u32 = 64;
pub const ZEND_ACC_TRAIT: u32 = 128;
pub const ZEND_ACC_ANON_CLASS: u32 = 256;
pub const ZEND_ACC_ANON_BOUND: u32 = 512;
pub const ZEND_ACC_INHERITED: u32 = 1024;
pub const ZEND_ACC_IMPLEMENT_INTERFACES: u32 = 524288;
pub const ZEND_ACC_CONSTANTS_UPDATED: u32 = 1048576;
pub const ZEND_ACC_IMPLEMENT_TRAITS: u32 = 4194304;
pub const ZEND_HAS_STATIC_IN_METHODS: u32 = 8388608;
pub const ZEND_ACC_USE_GUARDS: u32 = 16777216;
pub const ZEND_ACC_ABSTRACT: u32 = 2;
pub const ZEND_ACC_IMPLEMENTED_ABSTRACT: u32 = 8;
pub const ZEND_ACC_FAKE_CLOSURE: u32 = 64;
pub const ZEND_ACC_USER_ARG_INFO: u32 = 128;
pub const ZEND_ACC_CTOR: u32 = 8192;
pub const ZEND_ACC_DTOR: u32 = 16384;
pub const ZEND_ACC_EARLY_BINDING: u32 = 32768;
pub const ZEND_ACC_ALLOW_STATIC: u32 = 65536;
pub const ZEND_ACC_DEPRECATED: u32 = 262144;
pub const ZEND_ACC_NO_RT_ARENA: u32 = 524288;
pub const ZEND_ACC_CLOSURE: u32 = 1048576;
pub const ZEND_ACC_CALL_VIA_TRAMPOLINE: u32 = 2097152;
pub const ZEND_ACC_NEVER_CACHE: u32 = 4194304;
pub const ZEND_ACC_GENERATOR: u32 = 8388608;
pub const ZEND_ACC_VARIADIC: u32 = 16777216;
pub const ZEND_ACC_IMMUTABLE: u32 = 33554432;
pub const ZEND_ACC_RETURN_REFERENCE: u32 = 67108864;
pub const ZEND_ACC_DONE_PASS_TWO: u32 = 134217728;
pub const ZEND_ACC_HAS_TYPE_HINTS: u32 = 268435456;
pub const ZEND_ACC_HAS_FINALLY_BLOCK: u32 = 536870912;
pub const ZEND_ACC_ARENA_ALLOCATED: u32 = 536870912;
pub const ZEND_ACC_HAS_RETURN_TYPE: u32 = 1073741824;
pub const ZEND_ACC_STRICT_TYPES: u32 = 2147483648;
pub const ZEND_ACC_PPP_MASK: u32 = 1792;
pub const ZEND_ACC_CALL_VIA_HANDLER: u32 = 2097152;
pub const ZEND_RETURN_VALUE: u32 = 0;
pub const ZEND_RETURN_REFERENCE: u32 = 1;
pub const ZEND_CALL_FUNCTION: u32 = 0;
pub const ZEND_CALL_CODE: u32 = 1;
pub const ZEND_CALL_NESTED: u32 = 0;
pub const ZEND_CALL_TOP: u32 = 2;
pub const ZEND_CALL_FREE_EXTRA_ARGS: u32 = 4;
pub const ZEND_CALL_CTOR: u32 = 8;
pub const ZEND_CALL_HAS_SYMBOL_TABLE: u32 = 16;
pub const ZEND_CALL_CLOSURE: u32 = 32;
pub const ZEND_CALL_RELEASE_THIS: u32 = 64;
pub const ZEND_CALL_ALLOCATED: u32 = 128;
pub const ZEND_CALL_GENERATOR: u32 = 256;
pub const ZEND_CALL_DYNAMIC: u32 = 512;
pub const ZEND_CALL_FAKE_CLOSURE: u32 = 1024;
pub const ZEND_CALL_SEND_ARG_BY_REF: u32 = 2048;
pub const ZEND_CALL_INFO_SHIFT: u32 = 16;
pub const IS_UNUSED: u32 = 0;
pub const IS_CONST: u32 = 1;
pub const IS_TMP_VAR: u32 = 2;
pub const IS_VAR: u32 = 4;
pub const IS_CV: u32 = 8;
pub const ZEND_EXTRA_VALUE: u32 = 1;
pub const ZEND_STACK_APPLY_TOPDOWN: u32 = 1;
pub const ZEND_STACK_APPLY_BOTTOMUP: u32 = 2;
pub const ZEND_PTR_STACK_NUM_ARGS: u32 = 3;
pub const ZEND_ARENA_ALIGNMENT: u32 = 8;
pub const ZEND_EARLY_BINDING_COMPILE_TIME: u32 = 0;
pub const ZEND_EARLY_BINDING_DELAYED: u32 = 1;
pub const ZEND_EARLY_BINDING_DELAYED_ALL: u32 = 2;
pub const ZEND_VM_SPEC: u32 = 1;
pub const ZEND_VM_LINES: u32 = 0;
pub const ZEND_VM_KIND_CALL: u32 = 1;
pub const ZEND_VM_KIND_SWITCH: u32 = 2;
pub const ZEND_VM_KIND_GOTO: u32 = 3;
pub const ZEND_VM_KIND_HYBRID: u32 = 4;
pub const ZEND_VM_KIND: u32 = 4;
pub const ZEND_VM_OP_SPEC: u32 = 1;
pub const ZEND_VM_OP_CONST: u32 = 2;
pub const ZEND_VM_OP_TMPVAR: u32 = 4;
pub const ZEND_VM_OP_TMPVARCV: u32 = 8;
pub const ZEND_VM_OP_MASK: u32 = 240;
pub const ZEND_VM_OP_NUM: u32 = 16;
pub const ZEND_VM_OP_JMP_ADDR: u32 = 32;
pub const ZEND_VM_OP_TRY_CATCH: u32 = 48;
pub const ZEND_VM_OP_THIS: u32 = 80;
pub const ZEND_VM_OP_NEXT: u32 = 96;
pub const ZEND_VM_OP_CLASS_FETCH: u32 = 112;
pub const ZEND_VM_OP_CONSTRUCTOR: u32 = 128;
pub const ZEND_VM_OP_CONST_FETCH: u32 = 144;
pub const ZEND_VM_OP_CACHE_SLOT: u32 = 160;
pub const ZEND_VM_EXT_VAR_FETCH: u32 = 65536;
pub const ZEND_VM_EXT_ISSET: u32 = 131072;
pub const ZEND_VM_EXT_CACHE_SLOT: u32 = 262144;
pub const ZEND_VM_EXT_ARRAY_INIT: u32 = 524288;
pub const ZEND_VM_EXT_REF: u32 = 1048576;
pub const ZEND_VM_EXT_MASK: u32 = 251658240;
pub const ZEND_VM_EXT_NUM: u32 = 16777216;
pub const ZEND_VM_EXT_LAST_CATCH: u32 = 33554432;
pub const ZEND_VM_EXT_JMP_ADDR: u32 = 50331648;
pub const ZEND_VM_EXT_DIM_OBJ: u32 = 67108864;
pub const ZEND_VM_EXT_TYPE: u32 = 117440512;
pub const ZEND_VM_EXT_EVAL: u32 = 134217728;
pub const ZEND_VM_EXT_TYPE_MASK: u32 = 150994944;
pub const ZEND_VM_EXT_SRC: u32 = 184549376;
pub const ZEND_VM_NO_CONST_CONST: u32 = 1073741824;
pub const ZEND_VM_COMMUTATIVE: u32 = 2147483648;
pub const ZEND_NOP: u32 = 0;
pub const ZEND_ADD: u32 = 1;
pub const ZEND_SUB: u32 = 2;
pub const ZEND_MUL: u32 = 3;
pub const ZEND_DIV: u32 = 4;
pub const ZEND_MOD: u32 = 5;
pub const ZEND_SL: u32 = 6;
pub const ZEND_SR: u32 = 7;
pub const ZEND_CONCAT: u32 = 8;
pub const ZEND_BW_OR: u32 = 9;
pub const ZEND_BW_AND: u32 = 10;
pub const ZEND_BW_XOR: u32 = 11;
pub const ZEND_BW_NOT: u32 = 12;
pub const ZEND_BOOL_NOT: u32 = 13;
pub const ZEND_BOOL_XOR: u32 = 14;
pub const ZEND_IS_IDENTICAL: u32 = 15;
pub const ZEND_IS_NOT_IDENTICAL: u32 = 16;
pub const ZEND_IS_EQUAL: u32 = 17;
pub const ZEND_IS_NOT_EQUAL: u32 = 18;
pub const ZEND_IS_SMALLER: u32 = 19;
pub const ZEND_IS_SMALLER_OR_EQUAL: u32 = 20;
pub const ZEND_CAST: u32 = 21;
pub const ZEND_QM_ASSIGN: u32 = 22;
pub const ZEND_ASSIGN_ADD: u32 = 23;
pub const ZEND_ASSIGN_SUB: u32 = 24;
pub const ZEND_ASSIGN_MUL: u32 = 25;
pub const ZEND_ASSIGN_DIV: u32 = 26;
pub const ZEND_ASSIGN_MOD: u32 = 27;
pub const ZEND_ASSIGN_SL: u32 = 28;
pub const ZEND_ASSIGN_SR: u32 = 29;
pub const ZEND_ASSIGN_CONCAT: u32 = 30;
pub const ZEND_ASSIGN_BW_OR: u32 = 31;
pub const ZEND_ASSIGN_BW_AND: u32 = 32;
pub const ZEND_ASSIGN_BW_XOR: u32 = 33;
pub const ZEND_PRE_INC: u32 = 34;
pub const ZEND_PRE_DEC: u32 = 35;
pub const ZEND_POST_INC: u32 = 36;
pub const ZEND_POST_DEC: u32 = 37;
pub const ZEND_ASSIGN: u32 = 38;
pub const ZEND_ASSIGN_REF: u32 = 39;
pub const ZEND_ECHO: u32 = 40;
pub const ZEND_GENERATOR_CREATE: u32 = 41;
pub const ZEND_JMP: u32 = 42;
pub const ZEND_JMPZ: u32 = 43;
pub const ZEND_JMPNZ: u32 = 44;
pub const ZEND_JMPZNZ: u32 = 45;
pub const ZEND_JMPZ_EX: u32 = 46;
pub const ZEND_JMPNZ_EX: u32 = 47;
pub const ZEND_CASE: u32 = 48;
pub const ZEND_CHECK_VAR: u32 = 49;
pub const ZEND_SEND_VAR_NO_REF_EX: u32 = 50;
pub const ZEND_MAKE_REF: u32 = 51;
pub const ZEND_BOOL: u32 = 52;
pub const ZEND_FAST_CONCAT: u32 = 53;
pub const ZEND_ROPE_INIT: u32 = 54;
pub const ZEND_ROPE_ADD: u32 = 55;
pub const ZEND_ROPE_END: u32 = 56;
pub const ZEND_BEGIN_SILENCE: u32 = 57;
pub const ZEND_END_SILENCE: u32 = 58;
pub const ZEND_INIT_FCALL_BY_NAME: u32 = 59;
pub const ZEND_DO_FCALL: u32 = 60;
pub const ZEND_INIT_FCALL: u32 = 61;
pub const ZEND_RETURN: u32 = 62;
pub const ZEND_RECV: u32 = 63;
pub const ZEND_RECV_INIT: u32 = 64;
pub const ZEND_SEND_VAL: u32 = 65;
pub const ZEND_SEND_VAR_EX: u32 = 66;
pub const ZEND_SEND_REF: u32 = 67;
pub const ZEND_NEW: u32 = 68;
pub const ZEND_INIT_NS_FCALL_BY_NAME: u32 = 69;
pub const ZEND_FREE: u32 = 70;
pub const ZEND_INIT_ARRAY: u32 = 71;
pub const ZEND_ADD_ARRAY_ELEMENT: u32 = 72;
pub const ZEND_INCLUDE_OR_EVAL: u32 = 73;
pub const ZEND_UNSET_VAR: u32 = 74;
pub const ZEND_UNSET_DIM: u32 = 75;
pub const ZEND_UNSET_OBJ: u32 = 76;
pub const ZEND_FE_RESET_R: u32 = 77;
pub const ZEND_FE_FETCH_R: u32 = 78;
pub const ZEND_EXIT: u32 = 79;
pub const ZEND_FETCH_R: u32 = 80;
pub const ZEND_FETCH_DIM_R: u32 = 81;
pub const ZEND_FETCH_OBJ_R: u32 = 82;
pub const ZEND_FETCH_W: u32 = 83;
pub const ZEND_FETCH_DIM_W: u32 = 84;
pub const ZEND_FETCH_OBJ_W: u32 = 85;
pub const ZEND_FETCH_RW: u32 = 86;
pub const ZEND_FETCH_DIM_RW: u32 = 87;
pub const ZEND_FETCH_OBJ_RW: u32 = 88;
pub const ZEND_FETCH_IS: u32 = 89;
pub const ZEND_FETCH_DIM_IS: u32 = 90;
pub const ZEND_FETCH_OBJ_IS: u32 = 91;
pub const ZEND_FETCH_FUNC_ARG: u32 = 92;
pub const ZEND_FETCH_DIM_FUNC_ARG: u32 = 93;
pub const ZEND_FETCH_OBJ_FUNC_ARG: u32 = 94;
pub const ZEND_FETCH_UNSET: u32 = 95;
pub const ZEND_FETCH_DIM_UNSET: u32 = 96;
pub const ZEND_FETCH_OBJ_UNSET: u32 = 97;
pub const ZEND_FETCH_LIST_R: u32 = 98;
pub const ZEND_FETCH_CONSTANT: u32 = 99;
pub const ZEND_CHECK_FUNC_ARG: u32 = 100;
pub const ZEND_EXT_STMT: u32 = 101;
pub const ZEND_EXT_FCALL_BEGIN: u32 = 102;
pub const ZEND_EXT_FCALL_END: u32 = 103;
pub const ZEND_EXT_NOP: u32 = 104;
pub const ZEND_TICKS: u32 = 105;
pub const ZEND_SEND_VAR_NO_REF: u32 = 106;
pub const ZEND_CATCH: u32 = 107;
pub const ZEND_THROW: u32 = 108;
pub const ZEND_FETCH_CLASS: u32 = 109;
pub const ZEND_CLONE: u32 = 110;
pub const ZEND_RETURN_BY_REF: u32 = 111;
pub const ZEND_INIT_METHOD_CALL: u32 = 112;
pub const ZEND_INIT_STATIC_METHOD_CALL: u32 = 113;
pub const ZEND_ISSET_ISEMPTY_VAR: u32 = 114;
pub const ZEND_ISSET_ISEMPTY_DIM_OBJ: u32 = 115;
pub const ZEND_SEND_VAL_EX: u32 = 116;
pub const ZEND_SEND_VAR: u32 = 117;
pub const ZEND_INIT_USER_CALL: u32 = 118;
pub const ZEND_SEND_ARRAY: u32 = 119;
pub const ZEND_SEND_USER: u32 = 120;
pub const ZEND_STRLEN: u32 = 121;
pub const ZEND_DEFINED: u32 = 122;
pub const ZEND_TYPE_CHECK: u32 = 123;
pub const ZEND_VERIFY_RETURN_TYPE: u32 = 124;
pub const ZEND_FE_RESET_RW: u32 = 125;
pub const ZEND_FE_FETCH_RW: u32 = 126;
pub const ZEND_FE_FREE: u32 = 127;
pub const ZEND_INIT_DYNAMIC_CALL: u32 = 128;
pub const ZEND_DO_ICALL: u32 = 129;
pub const ZEND_DO_UCALL: u32 = 130;
pub const ZEND_DO_FCALL_BY_NAME: u32 = 131;
pub const ZEND_PRE_INC_OBJ: u32 = 132;
pub const ZEND_PRE_DEC_OBJ: u32 = 133;
pub const ZEND_POST_INC_OBJ: u32 = 134;
pub const ZEND_POST_DEC_OBJ: u32 = 135;
pub const ZEND_ASSIGN_OBJ: u32 = 136;
pub const ZEND_OP_DATA: u32 = 137;
pub const ZEND_INSTANCEOF: u32 = 138;
pub const ZEND_DECLARE_CLASS: u32 = 139;
pub const ZEND_DECLARE_INHERITED_CLASS: u32 = 140;
pub const ZEND_DECLARE_FUNCTION: u32 = 141;
pub const ZEND_YIELD_FROM: u32 = 142;
pub const ZEND_DECLARE_CONST: u32 = 143;
pub const ZEND_ADD_INTERFACE: u32 = 144;
pub const ZEND_DECLARE_INHERITED_CLASS_DELAYED: u32 = 145;
pub const ZEND_VERIFY_ABSTRACT_CLASS: u32 = 146;
pub const ZEND_ASSIGN_DIM: u32 = 147;
pub const ZEND_ISSET_ISEMPTY_PROP_OBJ: u32 = 148;
pub const ZEND_HANDLE_EXCEPTION: u32 = 149;
pub const ZEND_USER_OPCODE: u32 = 150;
pub const ZEND_ASSERT_CHECK: u32 = 151;
pub const ZEND_JMP_SET: u32 = 152;
pub const ZEND_DECLARE_LAMBDA_FUNCTION: u32 = 153;
pub const ZEND_ADD_TRAIT: u32 = 154;
pub const ZEND_BIND_TRAITS: u32 = 155;
pub const ZEND_SEPARATE: u32 = 156;
pub const ZEND_FETCH_CLASS_NAME: u32 = 157;
pub const ZEND_CALL_TRAMPOLINE: u32 = 158;
pub const ZEND_DISCARD_EXCEPTION: u32 = 159;
pub const ZEND_YIELD: u32 = 160;
pub const ZEND_GENERATOR_RETURN: u32 = 161;
pub const ZEND_FAST_CALL: u32 = 162;
pub const ZEND_FAST_RET: u32 = 163;
pub const ZEND_RECV_VARIADIC: u32 = 164;
pub const ZEND_SEND_UNPACK: u32 = 165;
pub const ZEND_POW: u32 = 166;
pub const ZEND_ASSIGN_POW: u32 = 167;
pub const ZEND_BIND_GLOBAL: u32 = 168;
pub const ZEND_COALESCE: u32 = 169;
pub const ZEND_SPACESHIP: u32 = 170;
pub const ZEND_DECLARE_ANON_CLASS: u32 = 171;
pub const ZEND_DECLARE_ANON_INHERITED_CLASS: u32 = 172;
pub const ZEND_FETCH_STATIC_PROP_R: u32 = 173;
pub const ZEND_FETCH_STATIC_PROP_W: u32 = 174;
pub const ZEND_FETCH_STATIC_PROP_RW: u32 = 175;
pub const ZEND_FETCH_STATIC_PROP_IS: u32 = 176;
pub const ZEND_FETCH_STATIC_PROP_FUNC_ARG: u32 = 177;
pub const ZEND_FETCH_STATIC_PROP_UNSET: u32 = 178;
pub const ZEND_UNSET_STATIC_PROP: u32 = 179;
pub const ZEND_ISSET_ISEMPTY_STATIC_PROP: u32 = 180;
pub const ZEND_FETCH_CLASS_CONSTANT: u32 = 181;
pub const ZEND_BIND_LEXICAL: u32 = 182;
pub const ZEND_BIND_STATIC: u32 = 183;
pub const ZEND_FETCH_THIS: u32 = 184;
pub const ZEND_SEND_FUNC_ARG: u32 = 185;
pub const ZEND_ISSET_ISEMPTY_THIS: u32 = 186;
pub const ZEND_SWITCH_LONG: u32 = 187;
pub const ZEND_SWITCH_STRING: u32 = 188;
pub const ZEND_IN_ARRAY: u32 = 189;
pub const ZEND_COUNT: u32 = 190;
pub const ZEND_GET_CLASS: u32 = 191;
pub const ZEND_GET_CALLED_CLASS: u32 = 192;
pub const ZEND_GET_TYPE: u32 = 193;
pub const ZEND_FUNC_NUM_ARGS: u32 = 194;
pub const ZEND_FUNC_GET_ARGS: u32 = 195;
pub const ZEND_UNSET_CV: u32 = 196;
pub const ZEND_ISSET_ISEMPTY_CV: u32 = 197;
pub const ZEND_FETCH_LIST_W: u32 = 198;
pub const ZEND_VM_LAST_OPCODE: u32 = 198;
pub const ZEND_FETCH_CLASS_DEFAULT: u32 = 0;
pub const ZEND_FETCH_CLASS_SELF: u32 = 1;
pub const ZEND_FETCH_CLASS_PARENT: u32 = 2;
pub const ZEND_FETCH_CLASS_STATIC: u32 = 3;
pub const ZEND_FETCH_CLASS_AUTO: u32 = 4;
pub const ZEND_FETCH_CLASS_INTERFACE: u32 = 5;
pub const ZEND_FETCH_CLASS_TRAIT: u32 = 6;
pub const ZEND_FETCH_CLASS_MASK: u32 = 15;
pub const ZEND_FETCH_CLASS_NO_AUTOLOAD: u32 = 128;
pub const ZEND_FETCH_CLASS_SILENT: u32 = 256;
pub const ZEND_FETCH_CLASS_EXCEPTION: u32 = 512;
pub const ZEND_PARAM_REF: u32 = 1;
pub const ZEND_PARAM_VARIADIC: u32 = 2;
pub const ZEND_NAME_FQ: u32 = 0;
pub const ZEND_NAME_NOT_FQ: u32 = 1;
pub const ZEND_NAME_RELATIVE: u32 = 2;
pub const ZEND_TYPE_NULLABLE: u32 = 256;
pub const ZEND_ARRAY_SYNTAX_LIST: u32 = 1;
pub const ZEND_ARRAY_SYNTAX_LONG: u32 = 2;
pub const ZEND_ARRAY_SYNTAX_SHORT: u32 = 3;
pub const ZEND_INTERNAL_FUNCTION: u32 = 1;
pub const ZEND_USER_FUNCTION: u32 = 2;
pub const ZEND_OVERLOADED_FUNCTION: u32 = 3;
pub const ZEND_EVAL_CODE: u32 = 4;
pub const ZEND_OVERLOADED_FUNCTION_TEMPORARY: u32 = 5;
pub const ZEND_INTERNAL_CLASS: u32 = 1;
pub const ZEND_USER_CLASS: u32 = 2;
pub const ZEND_EVAL: u32 = 1;
pub const ZEND_INCLUDE: u32 = 2;
pub const ZEND_INCLUDE_ONCE: u32 = 4;
pub const ZEND_REQUIRE: u32 = 8;
pub const ZEND_REQUIRE_ONCE: u32 = 16;
pub const ZEND_CT: u32 = 1;
pub const ZEND_RT: u32 = 2;
pub const ZEND_FETCH_GLOBAL: u32 = 2;
pub const ZEND_FETCH_LOCAL: u32 = 4;
pub const ZEND_FETCH_GLOBAL_LOCK: u32 = 8;
pub const ZEND_FETCH_TYPE_MASK: u32 = 14;
pub const ZEND_ISEMPTY: u32 = 1;
pub const ZEND_LAST_CATCH: u32 = 1;
pub const ZEND_FREE_ON_RETURN: u32 = 1;
pub const ZEND_SEND_BY_VAL: u32 = 0;
pub const ZEND_SEND_BY_REF: u32 = 1;
pub const ZEND_SEND_PREFER_REF: u32 = 2;
pub const ZEND_DIM_IS: u32 = 1;
pub const IS_CONSTANT_UNQUALIFIED: u32 = 16;
pub const IS_CONSTANT_CLASS: u32 = 128;
pub const IS_CONSTANT_IN_NAMESPACE: u32 = 256;
pub const ZEND_RETURN_VAL: u32 = 0;
pub const ZEND_RETURN_REF: u32 = 1;
pub const ZEND_BIND_VAL: u32 = 0;
pub const ZEND_BIND_REF: u32 = 1;
pub const ZEND_RETURNS_FUNCTION: u32 = 1;
pub const ZEND_RETURNS_VALUE: u32 = 2;
pub const ZEND_ARRAY_ELEMENT_REF: u32 = 1;
pub const ZEND_ARRAY_NOT_PACKED: u32 = 2;
pub const ZEND_ARRAY_SIZE_SHIFT: u32 = 2;
pub const ZEND_SYMBOL_CLASS: u32 = 1;
pub const ZEND_SYMBOL_FUNCTION: u32 = 2;
pub const ZEND_SYMBOL_CONST: u32 = 4;
pub const ZEND_GOTO: u32 = 253;
pub const ZEND_BRK: u32 = 254;
pub const ZEND_CONT: u32 = 255;
pub const ZEND_CLONE_FUNC_NAME: &'static [u8; 8usize] = b"__clone\0";
pub const ZEND_CONSTRUCTOR_FUNC_NAME: &'static [u8; 12usize] = b"__construct\0";
pub const ZEND_DESTRUCTOR_FUNC_NAME: &'static [u8; 11usize] = b"__destruct\0";
pub const ZEND_GET_FUNC_NAME: &'static [u8; 6usize] = b"__get\0";
pub const ZEND_SET_FUNC_NAME: &'static [u8; 6usize] = b"__set\0";
pub const ZEND_UNSET_FUNC_NAME: &'static [u8; 8usize] = b"__unset\0";
pub const ZEND_ISSET_FUNC_NAME: &'static [u8; 8usize] = b"__isset\0";
pub const ZEND_CALL_FUNC_NAME: &'static [u8; 7usize] = b"__call\0";
pub const ZEND_CALLSTATIC_FUNC_NAME: &'static [u8; 13usize] = b"__callstatic\0";
pub const ZEND_TOSTRING_FUNC_NAME: &'static [u8; 11usize] = b"__tostring\0";
pub const ZEND_AUTOLOAD_FUNC_NAME: &'static [u8; 11usize] = b"__autoload\0";
pub const ZEND_INVOKE_FUNC_NAME: &'static [u8; 9usize] = b"__invoke\0";
pub const ZEND_DEBUGINFO_FUNC_NAME: &'static [u8; 12usize] = b"__debuginfo\0";
pub const ZEND_COMPILE_EXTENDED_INFO: u32 = 1;
pub const ZEND_COMPILE_HANDLE_OP_ARRAY: u32 = 2;
pub const ZEND_COMPILE_IGNORE_INTERNAL_FUNCTIONS: u32 = 4;
pub const ZEND_COMPILE_IGNORE_INTERNAL_CLASSES: u32 = 8;
pub const ZEND_COMPILE_DELAYED_BINDING: u32 = 16;
pub const ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION: u32 = 32;
pub const ZEND_COMPILE_NO_BUILTIN_STRLEN: u32 = 64;
pub const ZEND_COMPILE_NO_PERSISTENT_CONSTANT_SUBSTITUTION: u32 = 128;
pub const ZEND_COMPILE_IGNORE_USER_FUNCTIONS: u32 = 256;
pub const ZEND_COMPILE_GUARDS: u32 = 512;
pub const ZEND_COMPILE_NO_BUILTINS: u32 = 1024;
pub const ZEND_COMPILE_WITH_FILE_CACHE: u32 = 2048;
pub const ZEND_COMPILE_NO_JUMPTABLES: u32 = 4096;
pub const ZEND_COMPILE_DEFAULT: u32 = 2;
pub const ZEND_COMPILE_DEFAULT_FOR_EVAL: u32 = 0;
pub const ZEND_BUILD_TS: &'static [u8; 5usize] = b",NTS\0";
pub const ZEND_MODULE_API_NO: u32 = 20180731;
pub const USING_ZTS: u32 = 0;
pub const MODULE_PERSISTENT: u32 = 1;
pub const MODULE_TEMPORARY: u32 = 2;
pub const MODULE_DEP_REQUIRED: u32 = 1;
pub const MODULE_DEP_CONFLICTS: u32 = 2;
pub const MODULE_DEP_OPTIONAL: u32 = 3;
pub const ZEND_USER_OPCODE_CONTINUE: u32 = 0;
pub const ZEND_USER_OPCODE_RETURN: u32 = 1;
pub const ZEND_USER_OPCODE_DISPATCH: u32 = 2;
pub const ZEND_USER_OPCODE_ENTER: u32 = 3;
pub const ZEND_USER_OPCODE_LEAVE: u32 = 4;
pub const ZEND_USER_OPCODE_DISPATCH_TO: u32 = 256;
pub const ZEND_PARSE_PARAMS_QUIET: u32 = 2;
pub const ZEND_PARSE_PARAMS_THROW: u32 = 4;
pub const IS_CALLABLE_CHECK_SYNTAX_ONLY: u32 = 1;
pub const IS_CALLABLE_CHECK_NO_ACCESS: u32 = 2;
pub const IS_CALLABLE_CHECK_IS_STATIC: u32 = 4;
pub const IS_CALLABLE_CHECK_SILENT: u32 = 8;
pub const IS_CALLABLE_STRICT: u32 = 4;
pub const PHP_OS_FAMILY: &'static [u8; 6usize] = b"Linux\0";
pub const PHP_DEBUG: u32 = 0;
pub const PHP_DIR_SEPARATOR: u8 = 47u8;
pub const PHP_EOL: &'static [u8; 2usize] = b"\n\0";
pub const PHP_ADA_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_ADA_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_ADA_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_APACHE_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_APACHE_TARGET: &'static [u8; 1usize] = b"\0";
pub const PHP_FHTTPD_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_FHTTPD_LIB: &'static [u8; 1usize] = b"\0";
pub const PHP_FHTTPD_TARGET: &'static [u8; 1usize] = b"\0";
pub const PHP_CFLAGS: &'static [u8; 40usize] = b"$(CFLAGS_CLEAN) -prefer-non-pic -static\0";
pub const PHP_DBASE_LIB: &'static [u8; 1usize] = b"\0";
pub const PHP_BUILD_DEBUG: &'static [u8; 1usize] = b"\0";
pub const PHP_GDBM_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_IBASE_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_IBASE_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_IBASE_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_IFX_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_IFX_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_IFX_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_INSTALL_IT: &'static [u8; 1usize] = b"\0";
pub const PHP_IODBC_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_IODBC_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_IODBC_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_MSQL_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_MSQL_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_MSQL_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_MYSQL_INCLUDE: &'static [u8; 16usize] = b"@MYSQL_INCLUDE@\0";
pub const PHP_MYSQL_LIBS: &'static [u8; 13usize] = b"@MYSQL_LIBS@\0";
pub const PHP_MYSQL_TYPE: &'static [u8; 20usize] = b"@MYSQL_MODULE_TYPE@\0";
pub const PHP_ODBC_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_ODBC_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_ODBC_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_ODBC_TYPE: &'static [u8; 1usize] = b"\0";
pub const PHP_OCI8_SHARED_LIBADD: &'static [u8; 1usize] = b"\0";
pub const PHP_OCI8_DIR: &'static [u8; 1usize] = b"\0";
pub const PHP_OCI8_ORACLE_VERSION: &'static [u8; 1usize] = b"\0";
pub const PHP_ORACLE_SHARED_LIBADD: &'static [u8; 23usize] = b"@ORACLE_SHARED_LIBADD@\0";
pub const PHP_ORACLE_DIR: &'static [u8; 13usize] = b"@ORACLE_DIR@\0";
pub const PHP_ORACLE_VERSION: &'static [u8; 17usize] = b"@ORACLE_VERSION@\0";
pub const PHP_PGSQL_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_PGSQL_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_PGSQL_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_PROG_SENDMAIL: &'static [u8; 19usize] = b"/usr/sbin/sendmail\0";
pub const PHP_SOLID_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_SOLID_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_EMPRESS_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_EMPRESS_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_SYBASE_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_SYBASE_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_SYBASE_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_DBM_TYPE: &'static [u8; 1usize] = b"\0";
pub const PHP_DBM_LIB: &'static [u8; 1usize] = b"\0";
pub const PHP_LDAP_LFLAGS: &'static [u8; 1usize] = b"\0";
pub const PHP_LDAP_INCLUDE: &'static [u8; 1usize] = b"\0";
pub const PHP_LDAP_LIBS: &'static [u8; 1usize] = b"\0";
pub const PHP_INCLUDE_PATH: &'static [u8; 17usize] = b".:/usr/share/php\0";
pub const PHP_EXTENSION_DIR: &'static [u8; 22usize] = b"/usr/lib/php/20180731\0";
pub const PHP_PREFIX: &'static [u8; 5usize] = b"/usr\0";
pub const PHP_BINDIR: &'static [u8; 9usize] = b"/usr/bin\0";
pub const PHP_SBINDIR: &'static [u8; 10usize] = b"/usr/sbin\0";
pub const PHP_MANDIR: &'static [u8; 15usize] = b"/usr/share/man\0";
pub const PHP_LIBDIR: &'static [u8; 13usize] = b"/usr/lib/php\0";
pub const PHP_DATADIR: &'static [u8; 19usize] = b"/usr/share/php/7.3\0";
pub const PHP_SYSCONFDIR: &'static [u8; 5usize] = b"/etc\0";
pub const PHP_LOCALSTATEDIR: &'static [u8; 5usize] = b"/var\0";
pub const PHP_CONFIG_FILE_PATH: &'static [u8; 17usize] = b"/etc/php/7.3/cli\0";
pub const PHP_CONFIG_FILE_SCAN_DIR: &'static [u8; 24usize] = b"/etc/php/7.3/cli/conf.d\0";
pub const PHP_SHLIB_SUFFIX: &'static [u8; 3usize] = b"so\0";
pub const PHP_SHLIB_EXT_PREFIX: &'static [u8; 1usize] = b"\0";
pub const PHP_MIME_TYPE: &'static [u8; 24usize] = b"application/x-httpd-php\0";
pub const PHP_SYSLOG_FILTER_ALL: u32 = 0;
pub const PHP_SYSLOG_FILTER_NO_CTRL: u32 = 1;
pub const PHP_SYSLOG_FILTER_ASCII: u32 = 2;
pub const PHP_SYSLOG_FILTER_RAW: u32 = 3;
pub const PHP_OUTPUT_NEWAPI: u32 = 1;
pub const PHP_OUTPUT_HANDLER_WRITE: u32 = 0;
pub const PHP_OUTPUT_HANDLER_START: u32 = 1;
pub const PHP_OUTPUT_HANDLER_CLEAN: u32 = 2;
pub const PHP_OUTPUT_HANDLER_FLUSH: u32 = 4;
pub const PHP_OUTPUT_HANDLER_FINAL: u32 = 8;
pub const PHP_OUTPUT_HANDLER_CONT: u32 = 0;
pub const PHP_OUTPUT_HANDLER_END: u32 = 8;
pub const PHP_OUTPUT_HANDLER_INTERNAL: u32 = 0;
pub const PHP_OUTPUT_HANDLER_USER: u32 = 1;
pub const PHP_OUTPUT_HANDLER_CLEANABLE: u32 = 16;
pub const PHP_OUTPUT_HANDLER_FLUSHABLE: u32 = 32;
pub const PHP_OUTPUT_HANDLER_REMOVABLE: u32 = 64;
pub const PHP_OUTPUT_HANDLER_STDFLAGS: u32 = 112;
pub const PHP_OUTPUT_HANDLER_STARTED: u32 = 4096;
pub const PHP_OUTPUT_HANDLER_DISABLED: u32 = 8192;
pub const PHP_OUTPUT_HANDLER_PROCESSED: u32 = 16384;
pub const PHP_OUTPUT_POP_TRY: u32 = 0;
pub const PHP_OUTPUT_POP_FORCE: u32 = 1;
pub const PHP_OUTPUT_POP_DISCARD: u32 = 16;
pub const PHP_OUTPUT_POP_SILENT: u32 = 256;
pub const PHP_OUTPUT_IMPLICITFLUSH: u32 = 1;
pub const PHP_OUTPUT_DISABLED: u32 = 2;
pub const PHP_OUTPUT_WRITTEN: u32 = 4;
pub const PHP_OUTPUT_SENT: u32 = 8;
pub const PHP_OUTPUT_ACTIVE: u32 = 16;
pub const PHP_OUTPUT_LOCKED: u32 = 32;
pub const PHP_OUTPUT_ACTIVATED: u32 = 1048576;
pub const PHP_OUTPUT_HANDLER_ALIGNTO_SIZE: u32 = 4096;
pub const PHP_OUTPUT_HANDLER_DEFAULT_SIZE: u32 = 16384;
pub const PHP_STREAM_NOTIFIER_PROGRESS: u32 = 1;
pub const PHP_STREAM_NOTIFY_RESOLVE: u32 = 1;
pub const PHP_STREAM_NOTIFY_CONNECT: u32 = 2;
pub const PHP_STREAM_NOTIFY_AUTH_REQUIRED: u32 = 3;
pub const PHP_STREAM_NOTIFY_MIME_TYPE_IS: u32 = 4;
pub const PHP_STREAM_NOTIFY_FILE_SIZE_IS: u32 = 5;
pub const PHP_STREAM_NOTIFY_REDIRECTED: u32 = 6;
pub const PHP_STREAM_NOTIFY_PROGRESS: u32 = 7;
pub const PHP_STREAM_NOTIFY_COMPLETED: u32 = 8;
pub const PHP_STREAM_NOTIFY_FAILURE: u32 = 9;
pub const PHP_STREAM_NOTIFY_AUTH_RESULT: u32 = 10;
pub const PHP_STREAM_NOTIFY_SEVERITY_INFO: u32 = 0;
pub const PHP_STREAM_NOTIFY_SEVERITY_WARN: u32 = 1;
pub const PHP_STREAM_NOTIFY_SEVERITY_ERR: u32 = 2;
pub const PHP_STREAM_FILTER_READ: u32 = 1;
pub const PHP_STREAM_FILTER_WRITE: u32 = 2;
pub const PHP_STREAM_FILTER_ALL: u32 = 3;
pub const PHP_STREAM_FLAG_NO_SEEK: u32 = 1;
pub const PHP_STREAM_FLAG_NO_BUFFER: u32 = 2;
pub const PHP_STREAM_FLAG_EOL_UNIX: u32 = 0;
pub const PHP_STREAM_FLAG_DETECT_EOL: u32 = 4;
pub const PHP_STREAM_FLAG_EOL_MAC: u32 = 8;
pub const PHP_STREAM_FLAG_AVOID_BLOCKING: u32 = 16;
pub const PHP_STREAM_FLAG_NO_CLOSE: u32 = 32;
pub const PHP_STREAM_FLAG_IS_DIR: u32 = 64;
pub const PHP_STREAM_FLAG_NO_FCLOSE: u32 = 128;
pub const PHP_STREAM_FLAG_WAS_WRITTEN: u32 = 2147483648;
pub const PHP_STREAM_FCLOSE_NONE: u32 = 0;
pub const PHP_STREAM_FCLOSE_FDOPEN: u32 = 1;
pub const PHP_STREAM_FCLOSE_FOPENCOOKIE: u32 = 2;
pub const PHP_STREAM_PERSISTENT_SUCCESS: u32 = 0;
pub const PHP_STREAM_PERSISTENT_FAILURE: u32 = 1;
pub const PHP_STREAM_PERSISTENT_NOT_EXIST: u32 = 2;
pub const PHP_STREAM_FREE_CALL_DTOR: u32 = 1;
pub const PHP_STREAM_FREE_RELEASE_STREAM: u32 = 2;
pub const PHP_STREAM_FREE_PRESERVE_HANDLE: u32 = 4;
pub const PHP_STREAM_FREE_RSRC_DTOR: u32 = 8;
pub const PHP_STREAM_FREE_PERSISTENT: u32 = 16;
pub const PHP_STREAM_FREE_IGNORE_ENCLOSING: u32 = 32;
pub const PHP_STREAM_FREE_KEEP_RSRC: u32 = 64;
pub const PHP_STREAM_FREE_CLOSE: u32 = 3;
pub const PHP_STREAM_FREE_CLOSE_CASTED: u32 = 7;
pub const PHP_STREAM_FREE_CLOSE_PERSISTENT: u32 = 19;
pub const PHP_STREAM_MKDIR_RECURSIVE: u32 = 1;
pub const PHP_STREAM_URL_STAT_LINK: u32 = 1;
pub const PHP_STREAM_URL_STAT_QUIET: u32 = 2;
pub const PHP_STREAM_URL_STAT_NOCACHE: u32 = 4;
pub const PHP_STREAM_OPTION_BLOCKING: u32 = 1;
pub const PHP_STREAM_OPTION_READ_BUFFER: u32 = 2;
pub const PHP_STREAM_OPTION_WRITE_BUFFER: u32 = 3;
pub const PHP_STREAM_BUFFER_NONE: u32 = 0;
pub const PHP_STREAM_BUFFER_LINE: u32 = 1;
pub const PHP_STREAM_BUFFER_FULL: u32 = 2;
pub const PHP_STREAM_OPTION_READ_TIMEOUT: u32 = 4;
pub const PHP_STREAM_OPTION_SET_CHUNK_SIZE: u32 = 5;
pub const PHP_STREAM_OPTION_LOCKING: u32 = 6;
pub const PHP_STREAM_LOCK_SUPPORTED: u32 = 1;
pub const PHP_STREAM_OPTION_XPORT_API: u32 = 7;
pub const PHP_STREAM_OPTION_CRYPTO_API: u32 = 8;
pub const PHP_STREAM_OPTION_MMAP_API: u32 = 9;
pub const PHP_STREAM_OPTION_TRUNCATE_API: u32 = 10;
pub const PHP_STREAM_TRUNCATE_SUPPORTED: u32 = 0;
pub const PHP_STREAM_TRUNCATE_SET_SIZE: u32 = 1;
pub const PHP_STREAM_OPTION_META_DATA_API: u32 = 11;
pub const PHP_STREAM_OPTION_CHECK_LIVENESS: u32 = 12;
pub const PHP_STREAM_OPTION_PIPE_BLOCKING: u32 = 13;
pub const PHP_STREAM_OPTION_RETURN_OK: u32 = 0;
pub const PHP_STREAM_OPTION_RETURN_ERR: i32 = -1;
pub const PHP_STREAM_OPTION_RETURN_NOTIMPL: i32 = -2;
pub const PHP_STREAM_MMAP_ALL: u32 = 0;
pub const PHP_STREAM_AS_STDIO: u32 = 0;
pub const PHP_STREAM_AS_FD: u32 = 1;
pub const PHP_STREAM_AS_SOCKETD: u32 = 2;
pub const PHP_STREAM_AS_FD_FOR_SELECT: u32 = 3;
pub const PHP_STREAM_CAST_TRY_HARD: u32 = 2147483648;
pub const PHP_STREAM_CAST_RELEASE: u32 = 1073741824;
pub const PHP_STREAM_CAST_INTERNAL: u32 = 536870912;
pub const PHP_STREAM_CAST_MASK: u32 = 3758096384;
pub const PHP_STREAM_UNCHANGED: u32 = 0;
pub const PHP_STREAM_RELEASED: u32 = 1;
pub const PHP_STREAM_FAILED: u32 = 2;
pub const PHP_STREAM_CRITICAL: u32 = 3;
pub const PHP_STREAM_NO_PREFERENCE: u32 = 0;
pub const PHP_STREAM_PREFER_STDIO: u32 = 1;
pub const PHP_STREAM_FORCE_CONVERSION: u32 = 2;
pub const PHP_STREAM_IS_URL: u32 = 1;
pub const PHP_STREAM_META_TOUCH: u32 = 1;
pub const PHP_STREAM_META_OWNER_NAME: u32 = 2;
pub const PHP_STREAM_META_OWNER: u32 = 3;
pub const PHP_STREAM_META_GROUP_NAME: u32 = 4;
pub const PHP_STREAM_META_GROUP: u32 = 5;
pub const PHP_STREAM_META_ACCESS: u32 = 6;
pub const PHP_STREAM_MAX_MEM: u32 = 2097152;
pub const PHP_DISPLAY_ERRORS_STDOUT: u32 = 1;
pub const PHP_DISPLAY_ERRORS_STDERR: u32 = 2;
pub const ZEND_INI_USER: u32 = 1;
pub const ZEND_INI_PERDIR: u32 = 2;
pub const ZEND_INI_SYSTEM: u32 = 4;
pub const ZEND_INI_ALL: u32 = 7;
pub const ZEND_INI_DISPLAY_ORIG: u32 = 1;
pub const ZEND_INI_DISPLAY_ACTIVE: u32 = 2;
pub const ZEND_INI_STAGE_STARTUP: u32 = 1;
pub const ZEND_INI_STAGE_SHUTDOWN: u32 = 2;
pub const ZEND_INI_STAGE_ACTIVATE: u32 = 4;
pub const ZEND_INI_STAGE_DEACTIVATE: u32 = 8;
pub const ZEND_INI_STAGE_RUNTIME: u32 = 16;
pub const ZEND_INI_STAGE_HTACCESS: u32 = 32;
pub const ZEND_INI_STAGE_IN_REQUEST: u32 = 60;
pub const ZEND_INI_PARSER_ENTRY: u32 = 1;
pub const ZEND_INI_PARSER_SECTION: u32 = 2;
pub const ZEND_INI_PARSER_POP_ENTRY: u32 = 3;
pub const PHP_INI_USER: u32 = 1;
pub const PHP_INI_PERDIR: u32 = 2;
pub const PHP_INI_SYSTEM: u32 = 4;
pub const PHP_INI_ALL: u32 = 7;
pub const PHP_INI_DISPLAY_ORIG: u32 = 1;
pub const PHP_INI_DISPLAY_ACTIVE: u32 = 2;
pub const PHP_INI_STAGE_STARTUP: u32 = 1;
pub const PHP_INI_STAGE_SHUTDOWN: u32 = 2;
pub const PHP_INI_STAGE_ACTIVATE: u32 = 4;
pub const PHP_INI_STAGE_DEACTIVATE: u32 = 8;
pub const PHP_INI_STAGE_RUNTIME: u32 = 16;
pub const PHP_INI_STAGE_HTACCESS: u32 = 32;
pub const PHP_USER_CONSTANT: u32 = 8388607;
pub const ZEND_GET_CONSTANT_NO_DEPRECATION_CHECK: u32 = 4096;
pub const PHP_CONNECTION_NORMAL: u32 = 0;
pub const PHP_CONNECTION_ABORTED: u32 = 1;
pub const PHP_CONNECTION_TIMEOUT: u32 = 2;
pub const PHP_ENTRY_NAME_COLOR: &'static [u8; 5usize] = b"#ccf\0";
pub const PHP_CONTENTS_COLOR: &'static [u8; 5usize] = b"#ccc\0";
pub const PHP_HEADER_COLOR: &'static [u8; 5usize] = b"#99c\0";
pub const PHP_INFO_GENERAL: u32 = 1;
pub const PHP_INFO_CREDITS: u32 = 2;
pub const PHP_INFO_CONFIGURATION: u32 = 4;
pub const PHP_INFO_MODULES: u32 = 8;
pub const PHP_INFO_ENVIRONMENT: u32 = 16;
pub const PHP_INFO_VARIABLES: u32 = 32;
pub const PHP_INFO_LICENSE: u32 = 64;
pub const PHP_INFO_ALL: u32 = 4294967295;
pub const PHP_CREDITS_GROUP: u32 = 1;
pub const PHP_CREDITS_GENERAL: u32 = 2;
pub const PHP_CREDITS_SAPI: u32 = 4;
pub const PHP_CREDITS_MODULES: u32 = 8;
pub const PHP_CREDITS_DOCS: u32 = 16;
pub const PHP_CREDITS_FULLPAGE: u32 = 32;
pub const PHP_CREDITS_QA: u32 = 64;
pub const PHP_CREDITS_WEB: u32 = 128;
pub const PHP_CREDITS_PACKAGING: u32 = 256;
pub const PHP_CREDITS_ALL: u32 = 4294967295;
pub const PHP_LOGO_DATA_URI : & 'static [u8 ; 5439usize] = b"data:image/png;base64, \0" ;
pub const PHP_EGG_LOGO_DATA_URI : & 'static [u8 ; 8231usize] = b"data:image/png;base64, \0" ;
pub const ZEND_LOGO_DATA_URI : & 'static [u8 ; 6083usize] = b"data:image/png;base64, \0" ;
pub const ZEND_EXTENSION_API_NO: u32 = 320180731;
pub const ZEND_EXTMSG_NEW_EXTENSION: u32 = 1;
pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_CTOR: u32 = 1;
pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_DTOR: u32 = 2;
pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_HANDLER: u32 = 4;
pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_PERSIST_CALC: u32 = 8;
pub const ZEND_EXTENSIONS_HAVE_OP_ARRAY_PERSIST: u32 = 16;
pub type size_t = ::std::os::raw::c_ulong;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __dev_t = ::std::os::raw::c_ulong;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type __pid_t = ::std::os::raw::c_int;
pub type __clock_t = ::std::os::raw::c_long;
pub type __time_t = ::std::os::raw::c_long;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type time_t = __time_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
    pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
    assert_eq!(
        ::std::mem::size_of::<__sigset_t>(),
        128usize,
        concat!("Size of: ", stringify!(__sigset_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__sigset_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__sigset_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sigset_t),
            "::",
            stringify!(__val)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
    pub tv_sec: __time_t,
    pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
    assert_eq!(
        ::std::mem::size_of::<timeval>(),
        16usize,
        concat!("Size of: ", stringify!(timeval))
    );
    assert_eq!(
        ::std::mem::align_of::<timeval>(),
        8usize,
        concat!("Alignment of ", stringify!(timeval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_usec)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
    pub tv_sec: __time_t,
    pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
    assert_eq!(
        ::std::mem::size_of::<timespec>(),
        16usize,
        concat!("Size of: ", stringify!(timespec))
    );
    assert_eq!(
        ::std::mem::align_of::<timespec>(),
        8usize,
        concat!("Alignment of ", stringify!(timespec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_nsec)
        )
    );
}
pub type va_list = __builtin_va_list;
pub type FILE = _IO_FILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_codecvt {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_wide_data {
    _unused: [u8; 0],
}
pub type _IO_lock_t = ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
    pub _flags: ::std::os::raw::c_int,
    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
    pub _IO_read_end: *mut ::std::os::raw::c_char,
    pub _IO_read_base: *mut ::std::os::raw::c_char,
    pub _IO_write_base: *mut ::std::os::raw::c_char,
    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
    pub _IO_write_end: *mut ::std::os::raw::c_char,
    pub _IO_buf_base: *mut ::std::os::raw::c_char,
    pub _IO_buf_end: *mut ::std::os::raw::c_char,
    pub _IO_save_base: *mut ::std::os::raw::c_char,
    pub _IO_backup_base: *mut ::std::os::raw::c_char,
    pub _IO_save_end: *mut ::std::os::raw::c_char,
    pub _markers: *mut _IO_marker,
    pub _chain: *mut _IO_FILE,
    pub _fileno: ::std::os::raw::c_int,
    pub _flags2: ::std::os::raw::c_int,
    pub _old_offset: __off_t,
    pub _cur_column: ::std::os::raw::c_ushort,
    pub _vtable_offset: ::std::os::raw::c_schar,
    pub _shortbuf: [::std::os::raw::c_char; 1usize],
    pub _lock: *mut _IO_lock_t,
    pub _offset: __off64_t,
    pub _codecvt: *mut _IO_codecvt,
    pub _wide_data: *mut _IO_wide_data,
    pub _freeres_list: *mut _IO_FILE,
    pub _freeres_buf: *mut ::std::os::raw::c_void,
    pub __pad5: size_t,
    pub _mode: ::std::os::raw::c_int,
    pub _unused2: [::std::os::raw::c_char; 20usize],
}
#[test]
fn bindgen_test_layout__IO_FILE() {
    assert_eq!(
        ::std::mem::size_of::<_IO_FILE>(),
        216usize,
        concat!("Size of: ", stringify!(_IO_FILE))
    );
    assert_eq!(
        ::std::mem::align_of::<_IO_FILE>(),
        8usize,
        concat!("Alignment of ", stringify!(_IO_FILE))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_read_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_read_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_read_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_write_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_write_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_write_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_buf_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_buf_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_save_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_backup_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_save_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_markers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_chain)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_fileno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_flags2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_old_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_cur_column)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
        130usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_vtable_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
        131usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_shortbuf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_lock)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_codecvt)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_wide_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_freeres_list)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_freeres_buf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(__pad5)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
        196usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_unused2)
        )
    );
}
pub type zend_long = i64;
pub type zend_ulong = u64;
pub type zend_off_t = i64;
pub type zend_bool = ::std::os::raw::c_uchar;
pub type zend_uchar = ::std::os::raw::c_uchar;
pub const ZEND_RESULT_CODE_SUCCESS: ZEND_RESULT_CODE = 0;
pub const ZEND_RESULT_CODE_FAILURE: ZEND_RESULT_CODE = -1;
pub type ZEND_RESULT_CODE = ::std::os::raw::c_int;
pub type zend_intptr_t = isize;
pub type zend_uintptr_t = usize;
pub type zend_object_handlers = _zend_object_handlers;
pub type zend_class_entry = _zend_class_entry;
pub type zend_function = _zend_function;
pub type zend_execute_data = _zend_execute_data;
pub type zval = _zval_struct;
pub type zend_refcounted = _zend_refcounted;
pub type zend_string = _zend_string;
pub type zend_array = _zend_array;
pub type zend_object = _zend_object;
pub type zend_resource = _zend_resource;
pub type zend_reference = _zend_reference;
pub type zend_ast_ref = _zend_ast_ref;
pub type zend_ast = _zend_ast;
pub type compare_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *const ::std::os::raw::c_void,
        arg2: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type swap_func_t = ::std::option::Option<
    unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_void),
>;
pub type sort_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut ::std::os::raw::c_void,
        arg2: size_t,
        arg3: size_t,
        arg4: compare_func_t,
        arg5: swap_func_t,
    ),
>;
pub type dtor_func_t = ::std::option::Option<unsafe extern "C" fn(pDest: *mut zval)>;
pub type copy_ctor_func_t = ::std::option::Option<unsafe extern "C" fn(pElement: *mut zval)>;
pub type zend_type = usize;
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_value {
    pub lval: zend_long,
    pub dval: f64,
    pub counted: *mut zend_refcounted,
    pub str_: *mut zend_string,
    pub arr: *mut zend_array,
    pub obj: *mut zend_object,
    pub res: *mut zend_resource,
    pub ref_: *mut zend_reference,
    pub ast: *mut zend_ast_ref,
    pub zv: *mut zval,
    pub ptr: *mut ::std::os::raw::c_void,
    pub ce: *mut zend_class_entry,
    pub func: *mut zend_function,
    pub ww: _zend_value__bindgen_ty_1,
    _bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_value__bindgen_ty_1 {
    pub w1: u32,
    pub w2: u32,
}
#[test]
fn bindgen_test_layout__zend_value__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_value__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_value__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_value__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_value__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value__bindgen_ty_1>())).w1 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value__bindgen_ty_1),
            "::",
            stringify!(w1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value__bindgen_ty_1>())).w2 as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value__bindgen_ty_1),
            "::",
            stringify!(w2)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_value() {
    assert_eq!(
        ::std::mem::size_of::<_zend_value>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_value))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_value>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_value))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).lval as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(lval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).dval as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(dval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).counted as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(counted)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).str_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(str_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).arr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(arr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).obj as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(obj)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).res as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(res)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).ref_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(ref_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).ast as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(ast)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).zv as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(zv)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).ptr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).ce as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(ce)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).func as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(func)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_value>())).ww as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_value),
            "::",
            stringify!(ww)
        )
    );
}
pub type zend_value = _zend_value;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zval_struct {
    pub value: zend_value,
    pub u1: _zval_struct__bindgen_ty_1,
    pub u2: _zval_struct__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zval_struct__bindgen_ty_1 {
    pub v: _zval_struct__bindgen_ty_1__bindgen_ty_1,
    pub type_info: u32,
    _bindgen_union_align: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zval_struct__bindgen_ty_1__bindgen_ty_1 {
    pub type_: zend_uchar,
    pub type_flags: zend_uchar,
    pub u: _zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
    pub call_info: u16,
    pub extra: u16,
    _bindgen_union_align: u16,
}
#[test]
fn bindgen_test_layout__zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
        2usize,
        concat!(
            "Size of: ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
        2usize,
        concat!(
            "Alignment of ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>()))
                .call_info as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(call_info)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())).extra
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(extra)
        )
    );
}
#[test]
fn bindgen_test_layout__zval_struct__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_zval_struct__bindgen_ty_1__bindgen_ty_1>(),
        2usize,
        concat!(
            "Alignment of ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1>())).type_ as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1>())).type_flags
                as *const _ as usize
        },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(type_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1__bindgen_ty_1>())).u as *const _
                as usize
        },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(u)
        )
    );
}
#[test]
fn bindgen_test_layout__zval_struct__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zval_struct__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(_zval_struct__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_zval_struct__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(_zval_struct__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1>())).v as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_1),
            "::",
            stringify!(v)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_1>())).type_info as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_1),
            "::",
            stringify!(type_info)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zval_struct__bindgen_ty_2 {
    pub next: u32,
    pub cache_slot: u32,
    pub opline_num: u32,
    pub lineno: u32,
    pub num_args: u32,
    pub fe_pos: u32,
    pub fe_iter_idx: u32,
    pub access_flags: u32,
    pub property_guard: u32,
    pub constant_flags: u32,
    pub extra: u32,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout__zval_struct__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<_zval_struct__bindgen_ty_2>(),
        4usize,
        concat!("Size of: ", stringify!(_zval_struct__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<_zval_struct__bindgen_ty_2>(),
        4usize,
        concat!("Alignment of ", stringify!(_zval_struct__bindgen_ty_2))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).next as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).cache_slot as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(cache_slot)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).opline_num as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(opline_num)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).lineno as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(lineno)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).num_args as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(num_args)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).fe_pos as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(fe_pos)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).fe_iter_idx as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(fe_iter_idx)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).access_flags as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(access_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).property_guard as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(property_guard)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).constant_flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(constant_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zval_struct__bindgen_ty_2>())).extra as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct__bindgen_ty_2),
            "::",
            stringify!(extra)
        )
    );
}
#[test]
fn bindgen_test_layout__zval_struct() {
    assert_eq!(
        ::std::mem::size_of::<_zval_struct>(),
        16usize,
        concat!("Size of: ", stringify!(_zval_struct))
    );
    assert_eq!(
        ::std::mem::align_of::<_zval_struct>(),
        8usize,
        concat!("Alignment of ", stringify!(_zval_struct))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zval_struct>())).value as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zval_struct>())).u1 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct),
            "::",
            stringify!(u1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zval_struct>())).u2 as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zval_struct),
            "::",
            stringify!(u2)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_refcounted_h {
    pub refcount: u32,
    pub u: _zend_refcounted_h__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_refcounted_h__bindgen_ty_1 {
    pub type_info: u32,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout__zend_refcounted_h__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_refcounted_h__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(_zend_refcounted_h__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_refcounted_h__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(_zend_refcounted_h__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_refcounted_h__bindgen_ty_1>())).type_info as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_refcounted_h__bindgen_ty_1),
            "::",
            stringify!(type_info)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_refcounted_h() {
    assert_eq!(
        ::std::mem::size_of::<_zend_refcounted_h>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_refcounted_h))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_refcounted_h>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_refcounted_h))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_refcounted_h>())).refcount as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_refcounted_h),
            "::",
            stringify!(refcount)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_refcounted_h>())).u as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_refcounted_h),
            "::",
            stringify!(u)
        )
    );
}
pub type zend_refcounted_h = _zend_refcounted_h;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_refcounted {
    pub gc: zend_refcounted_h,
}
#[test]
fn bindgen_test_layout__zend_refcounted() {
    assert_eq!(
        ::std::mem::size_of::<_zend_refcounted>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_refcounted))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_refcounted>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_refcounted))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_refcounted>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_refcounted),
            "::",
            stringify!(gc)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_string {
    pub gc: zend_refcounted_h,
    pub h: zend_ulong,
    pub len: size_t,
    pub val: [::std::os::raw::c_char; 1usize],
}
#[test]
fn bindgen_test_layout__zend_string() {
    assert_eq!(
        ::std::mem::size_of::<_zend_string>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_string))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_string>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_string))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_string>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_string),
            "::",
            stringify!(gc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_string>())).h as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_string),
            "::",
            stringify!(h)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_string>())).len as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_string),
            "::",
            stringify!(len)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_string>())).val as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_string),
            "::",
            stringify!(val)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _Bucket {
    pub val: zval,
    pub h: zend_ulong,
    pub key: *mut zend_string,
}
#[test]
fn bindgen_test_layout__Bucket() {
    assert_eq!(
        ::std::mem::size_of::<_Bucket>(),
        32usize,
        concat!("Size of: ", stringify!(_Bucket))
    );
    assert_eq!(
        ::std::mem::align_of::<_Bucket>(),
        8usize,
        concat!("Alignment of ", stringify!(_Bucket))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_Bucket>())).val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_Bucket),
            "::",
            stringify!(val)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_Bucket>())).h as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_Bucket),
            "::",
            stringify!(h)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_Bucket>())).key as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_Bucket),
            "::",
            stringify!(key)
        )
    );
}
pub type Bucket = _Bucket;
pub type HashTable = _zend_array;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_array {
    pub gc: zend_refcounted_h,
    pub u: _zend_array__bindgen_ty_1,
    pub nTableMask: u32,
    pub arData: *mut Bucket,
    pub nNumUsed: u32,
    pub nNumOfElements: u32,
    pub nTableSize: u32,
    pub nInternalPointer: u32,
    pub nNextFreeElement: zend_long,
    pub pDestructor: dtor_func_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_array__bindgen_ty_1 {
    pub v: _zend_array__bindgen_ty_1__bindgen_ty_1,
    pub flags: u32,
    _bindgen_union_align: u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_array__bindgen_ty_1__bindgen_ty_1 {
    pub flags: zend_uchar,
    pub _unused: zend_uchar,
    pub nIteratorsCount: zend_uchar,
    pub _unused2: zend_uchar,
}
#[test]
fn bindgen_test_layout__zend_array__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_array__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_array__bindgen_ty_1__bindgen_ty_1>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>())).flags as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>()))._unused as *const _
                as usize
        },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_unused)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>())).nIteratorsCount
                as *const _ as usize
        },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(nIteratorsCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_array__bindgen_ty_1__bindgen_ty_1>()))._unused2 as *const _
                as usize
        },
        3usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_unused2)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_array__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_array__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(_zend_array__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_array__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_array__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array__bindgen_ty_1>())).v as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array__bindgen_ty_1),
            "::",
            stringify!(v)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array__bindgen_ty_1>())).flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array__bindgen_ty_1),
            "::",
            stringify!(flags)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_array() {
    assert_eq!(
        ::std::mem::size_of::<_zend_array>(),
        56usize,
        concat!("Size of: ", stringify!(_zend_array))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_array>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_array))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(gc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).u as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(u)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).nTableMask as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(nTableMask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).arData as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(arData)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).nNumUsed as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(nNumUsed)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).nNumOfElements as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(nNumOfElements)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).nTableSize as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(nTableSize)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).nInternalPointer as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(nInternalPointer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).nNextFreeElement as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(nNextFreeElement)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_array>())).pDestructor as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_array),
            "::",
            stringify!(pDestructor)
        )
    );
}
pub type HashPosition = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _HashTableIterator {
    pub ht: *mut HashTable,
    pub pos: HashPosition,
}
#[test]
fn bindgen_test_layout__HashTableIterator() {
    assert_eq!(
        ::std::mem::size_of::<_HashTableIterator>(),
        16usize,
        concat!("Size of: ", stringify!(_HashTableIterator))
    );
    assert_eq!(
        ::std::mem::align_of::<_HashTableIterator>(),
        8usize,
        concat!("Alignment of ", stringify!(_HashTableIterator))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_HashTableIterator>())).ht as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_HashTableIterator),
            "::",
            stringify!(ht)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_HashTableIterator>())).pos as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_HashTableIterator),
            "::",
            stringify!(pos)
        )
    );
}
pub type HashTableIterator = _HashTableIterator;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_object {
    pub gc: zend_refcounted_h,
    pub handle: u32,
    pub ce: *mut zend_class_entry,
    pub handlers: *const zend_object_handlers,
    pub properties: *mut HashTable,
    pub properties_table: [zval; 1usize],
}
#[test]
fn bindgen_test_layout__zend_object() {
    assert_eq!(
        ::std::mem::size_of::<_zend_object>(),
        56usize,
        concat!("Size of: ", stringify!(_zend_object))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_object>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_object))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object),
            "::",
            stringify!(gc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object>())).handle as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object>())).ce as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object),
            "::",
            stringify!(ce)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object>())).handlers as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object),
            "::",
            stringify!(handlers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object>())).properties as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object),
            "::",
            stringify!(properties)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object>())).properties_table as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object),
            "::",
            stringify!(properties_table)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_resource {
    pub gc: zend_refcounted_h,
    pub handle: ::std::os::raw::c_int,
    pub type_: ::std::os::raw::c_int,
    pub ptr: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_resource() {
    assert_eq!(
        ::std::mem::size_of::<_zend_resource>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_resource))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_resource>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_resource))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_resource>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_resource),
            "::",
            stringify!(gc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_resource>())).handle as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_resource),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_resource>())).type_ as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_resource),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_resource>())).ptr as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_resource),
            "::",
            stringify!(ptr)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_reference {
    pub gc: zend_refcounted_h,
    pub val: zval,
}
#[test]
fn bindgen_test_layout__zend_reference() {
    assert_eq!(
        ::std::mem::size_of::<_zend_reference>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_reference))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_reference>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_reference))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_reference>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_reference),
            "::",
            stringify!(gc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_reference>())).val as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_reference),
            "::",
            stringify!(val)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_ast_ref {
    pub gc: zend_refcounted_h,
}
#[test]
fn bindgen_test_layout__zend_ast_ref() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ast_ref>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_ast_ref))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ast_ref>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_ast_ref))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_ref>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_ref),
            "::",
            stringify!(gc)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_leak_info {
    pub addr: *mut ::std::os::raw::c_void,
    pub size: size_t,
    pub filename: *const ::std::os::raw::c_char,
    pub orig_filename: *const ::std::os::raw::c_char,
    pub lineno: u32,
    pub orig_lineno: u32,
}
#[test]
fn bindgen_test_layout__zend_leak_info() {
    assert_eq!(
        ::std::mem::size_of::<_zend_leak_info>(),
        40usize,
        concat!("Size of: ", stringify!(_zend_leak_info))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_leak_info>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_leak_info))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).addr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_leak_info),
            "::",
            stringify!(addr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).size as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_leak_info),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).filename as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_leak_info),
            "::",
            stringify!(filename)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).orig_filename as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_leak_info),
            "::",
            stringify!(orig_filename)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).lineno as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_leak_info),
            "::",
            stringify!(lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_leak_info>())).orig_lineno as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_leak_info),
            "::",
            stringify!(orig_lineno)
        )
    );
}
pub type zend_leak_info = _zend_leak_info;
extern "C" {
    pub fn zend_strndup(
        s: *const ::std::os::raw::c_char,
        length: size_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _zend_mem_block_size(ptr: *mut ::std::os::raw::c_void) -> size_t;
}
extern "C" {
    pub fn zend_set_memory_limit(memory_limit: size_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_memory_usage(real_usage: ::std::os::raw::c_int) -> size_t;
}
extern "C" {
    pub fn zend_memory_peak_usage(real_usage: ::std::os::raw::c_int) -> size_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_mm_heap {
    _unused: [u8; 0],
}
pub type zend_mm_heap = _zend_mm_heap;
extern "C" {
    pub fn zend_mm_startup() -> *mut zend_mm_heap;
}
extern "C" {
    pub fn zend_mm_shutdown(
        heap: *mut zend_mm_heap,
        full_shutdown: ::std::os::raw::c_int,
        silent: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn _zend_mm_alloc(heap: *mut zend_mm_heap, size: size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _zend_mm_free(heap: *mut zend_mm_heap, p: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn _zend_mm_realloc(
        heap: *mut zend_mm_heap,
        p: *mut ::std::os::raw::c_void,
        size: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _zend_mm_realloc2(
        heap: *mut zend_mm_heap,
        p: *mut ::std::os::raw::c_void,
        size: size_t,
        copy_size: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _zend_mm_block_size(heap: *mut zend_mm_heap, p: *mut ::std::os::raw::c_void) -> size_t;
}
extern "C" {
    pub fn zend_mm_set_heap(new_heap: *mut zend_mm_heap) -> *mut zend_mm_heap;
}
extern "C" {
    pub fn zend_mm_get_heap() -> *mut zend_mm_heap;
}
extern "C" {
    pub fn zend_mm_gc(heap: *mut zend_mm_heap) -> size_t;
}
extern "C" {
    pub fn zend_mm_is_custom_heap(new_heap: *mut zend_mm_heap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_mm_set_custom_handlers(
        heap: *mut zend_mm_heap,
        _malloc: ::std::option::Option<
            unsafe extern "C" fn(arg1: size_t) -> *mut ::std::os::raw::c_void,
        >,
        _free: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
        _realloc: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut ::std::os::raw::c_void,
                arg2: size_t,
            ) -> *mut ::std::os::raw::c_void,
        >,
    );
}
extern "C" {
    pub fn zend_mm_get_custom_handlers(
        heap: *mut zend_mm_heap,
        _malloc: *mut ::std::option::Option<
            unsafe extern "C" fn(arg1: size_t) -> *mut ::std::os::raw::c_void,
        >,
        _free: *mut ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
        _realloc: *mut ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut ::std::os::raw::c_void,
                arg2: size_t,
            ) -> *mut ::std::os::raw::c_void,
        >,
    );
}
pub type zend_mm_storage = _zend_mm_storage;
pub type zend_mm_chunk_alloc_t = ::std::option::Option<
    unsafe extern "C" fn(
        storage: *mut zend_mm_storage,
        size: size_t,
        alignment: size_t,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type zend_mm_chunk_free_t = ::std::option::Option<
    unsafe extern "C" fn(
        storage: *mut zend_mm_storage,
        chunk: *mut ::std::os::raw::c_void,
        size: size_t,
    ),
>;
pub type zend_mm_chunk_truncate_t = ::std::option::Option<
    unsafe extern "C" fn(
        storage: *mut zend_mm_storage,
        chunk: *mut ::std::os::raw::c_void,
        old_size: size_t,
        new_size: size_t,
    ) -> ::std::os::raw::c_int,
>;
pub type zend_mm_chunk_extend_t = ::std::option::Option<
    unsafe extern "C" fn(
        storage: *mut zend_mm_storage,
        chunk: *mut ::std::os::raw::c_void,
        old_size: size_t,
        new_size: size_t,
    ) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_mm_handlers {
    pub chunk_alloc: zend_mm_chunk_alloc_t,
    pub chunk_free: zend_mm_chunk_free_t,
    pub chunk_truncate: zend_mm_chunk_truncate_t,
    pub chunk_extend: zend_mm_chunk_extend_t,
}
#[test]
fn bindgen_test_layout__zend_mm_handlers() {
    assert_eq!(
        ::std::mem::size_of::<_zend_mm_handlers>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_mm_handlers))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_mm_handlers>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_mm_handlers))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_alloc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mm_handlers),
            "::",
            stringify!(chunk_alloc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_free as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mm_handlers),
            "::",
            stringify!(chunk_free)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_truncate as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mm_handlers),
            "::",
            stringify!(chunk_truncate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mm_handlers>())).chunk_extend as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mm_handlers),
            "::",
            stringify!(chunk_extend)
        )
    );
}
pub type zend_mm_handlers = _zend_mm_handlers;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_mm_storage {
    pub handlers: zend_mm_handlers,
    pub data: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_mm_storage() {
    assert_eq!(
        ::std::mem::size_of::<_zend_mm_storage>(),
        40usize,
        concat!("Size of: ", stringify!(_zend_mm_storage))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_mm_storage>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_mm_storage))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mm_storage>())).handlers as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mm_storage),
            "::",
            stringify!(handlers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mm_storage>())).data as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mm_storage),
            "::",
            stringify!(data)
        )
    );
}
extern "C" {
    pub fn zend_mm_get_storage(heap: *mut zend_mm_heap) -> *mut zend_mm_storage;
}
extern "C" {
    pub fn zend_mm_startup_ex(
        handlers: *const zend_mm_handlers,
        data: *mut ::std::os::raw::c_void,
        data_size: size_t,
    ) -> *mut zend_mm_heap;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_llist_element {
    pub next: *mut _zend_llist_element,
    pub prev: *mut _zend_llist_element,
    pub data: [::std::os::raw::c_char; 1usize],
}
#[test]
fn bindgen_test_layout__zend_llist_element() {
    assert_eq!(
        ::std::mem::size_of::<_zend_llist_element>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_llist_element))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_llist_element>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_llist_element))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).next as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist_element),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).prev as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist_element),
            "::",
            stringify!(prev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist_element>())).data as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist_element),
            "::",
            stringify!(data)
        )
    );
}
pub type zend_llist_element = _zend_llist_element;
pub type llist_dtor_func_t =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
pub type llist_compare_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut *const zend_llist_element,
        arg2: *mut *const zend_llist_element,
    ) -> ::std::os::raw::c_int,
>;
pub type llist_apply_with_args_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        data: *mut ::std::os::raw::c_void,
        num_args: ::std::os::raw::c_int,
        args: *mut __va_list_tag,
    ),
>;
pub type llist_apply_with_arg_func_t = ::std::option::Option<
    unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, arg: *mut ::std::os::raw::c_void),
>;
pub type llist_apply_func_t =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_llist {
    pub head: *mut zend_llist_element,
    pub tail: *mut zend_llist_element,
    pub count: size_t,
    pub size: size_t,
    pub dtor: llist_dtor_func_t,
    pub persistent: ::std::os::raw::c_uchar,
    pub traverse_ptr: *mut zend_llist_element,
}
#[test]
fn bindgen_test_layout__zend_llist() {
    assert_eq!(
        ::std::mem::size_of::<_zend_llist>(),
        56usize,
        concat!("Size of: ", stringify!(_zend_llist))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_llist>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_llist))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist>())).head as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist),
            "::",
            stringify!(head)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist>())).tail as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist),
            "::",
            stringify!(tail)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist>())).count as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist>())).size as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist>())).dtor as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist),
            "::",
            stringify!(dtor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist>())).persistent as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist),
            "::",
            stringify!(persistent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_llist>())).traverse_ptr as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_llist),
            "::",
            stringify!(traverse_ptr)
        )
    );
}
pub type zend_llist = _zend_llist;
pub type zend_llist_position = *mut zend_llist_element;
extern "C" {
    pub fn zend_llist_init(
        l: *mut zend_llist,
        size: size_t,
        dtor: llist_dtor_func_t,
        persistent: ::std::os::raw::c_uchar,
    );
}
extern "C" {
    pub fn zend_llist_add_element(l: *mut zend_llist, element: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn zend_llist_prepend_element(l: *mut zend_llist, element: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn zend_llist_del_element(
        l: *mut zend_llist,
        element: *mut ::std::os::raw::c_void,
        compare: ::std::option::Option<
            unsafe extern "C" fn(
                element1: *mut ::std::os::raw::c_void,
                element2: *mut ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
    );
}
extern "C" {
    pub fn zend_llist_destroy(l: *mut zend_llist);
}
extern "C" {
    pub fn zend_llist_clean(l: *mut zend_llist);
}
extern "C" {
    pub fn zend_llist_remove_tail(l: *mut zend_llist);
}
extern "C" {
    pub fn zend_llist_copy(dst: *mut zend_llist, src: *mut zend_llist);
}
extern "C" {
    pub fn zend_llist_apply(l: *mut zend_llist, func: llist_apply_func_t);
}
extern "C" {
    pub fn zend_llist_apply_with_del(
        l: *mut zend_llist,
        func: ::std::option::Option<
            unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
        >,
    );
}
extern "C" {
    pub fn zend_llist_apply_with_argument(
        l: *mut zend_llist,
        func: llist_apply_with_arg_func_t,
        arg: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn zend_llist_apply_with_arguments(
        l: *mut zend_llist,
        func: llist_apply_with_args_func_t,
        num_args: ::std::os::raw::c_int,
        ...
    );
}
extern "C" {
    pub fn zend_llist_count(l: *mut zend_llist) -> size_t;
}
extern "C" {
    pub fn zend_llist_sort(l: *mut zend_llist, comp_func: llist_compare_func_t);
}
extern "C" {
    pub fn zend_llist_get_first_ex(
        l: *mut zend_llist,
        pos: *mut zend_llist_position,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_llist_get_last_ex(
        l: *mut zend_llist,
        pos: *mut zend_llist_position,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_llist_get_next_ex(
        l: *mut zend_llist,
        pos: *mut zend_llist_position,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_llist_get_prev_ex(
        l: *mut zend_llist,
        pos: *mut zend_llist_position,
    ) -> *mut ::std::os::raw::c_void;
}
pub type zend_string_copy_storage_func_t = ::std::option::Option<unsafe extern "C" fn()>;
pub type zend_new_interned_string_func_t =
    ::std::option::Option<unsafe extern "C" fn(str_: *mut zend_string) -> *mut zend_string>;
pub type zend_string_init_interned_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        str_: *const ::std::os::raw::c_char,
        size: size_t,
        permanent: ::std::os::raw::c_int,
    ) -> *mut zend_string,
>;
extern "C" {
    pub static mut zend_new_interned_string: zend_new_interned_string_func_t;
}
extern "C" {
    pub static mut zend_string_init_interned: zend_string_init_interned_func_t;
}
extern "C" {
    pub fn zend_string_hash_func(str_: *mut zend_string) -> zend_ulong;
}
extern "C" {
    pub fn zend_hash_func(str_: *const ::std::os::raw::c_char, len: size_t) -> zend_ulong;
}
extern "C" {
    pub fn zend_interned_string_find_permanent(str_: *mut zend_string) -> *mut zend_string;
}
extern "C" {
    pub fn zend_interned_strings_init();
}
extern "C" {
    pub fn zend_interned_strings_dtor();
}
extern "C" {
    pub fn zend_interned_strings_activate();
}
extern "C" {
    pub fn zend_interned_strings_deactivate();
}
extern "C" {
    pub fn zend_interned_strings_set_request_storage_handlers(
        handler: zend_new_interned_string_func_t,
        init_handler: zend_string_init_interned_func_t,
    );
}
extern "C" {
    pub fn zend_interned_strings_set_permanent_storage_copy_handlers(
        copy_handler: zend_string_copy_storage_func_t,
        restore_handler: zend_string_copy_storage_func_t,
    );
}
extern "C" {
    pub fn zend_interned_strings_switch_storage(request: zend_bool);
}
extern "C" {
    pub static mut zend_empty_string: *mut zend_string;
}
extern "C" {
    pub static mut zend_one_char_string: [*mut zend_string; 256usize];
}
extern "C" {
    pub static mut zend_known_strings: *mut *mut zend_string;
}
extern "C" {
    pub fn zend_string_equal_val(s1: *mut zend_string, s2: *mut zend_string) -> zend_bool;
}
pub const _zend_known_string_id_ZEND_STR_FILE: _zend_known_string_id = 0;
pub const _zend_known_string_id_ZEND_STR_LINE: _zend_known_string_id = 1;
pub const _zend_known_string_id_ZEND_STR_FUNCTION: _zend_known_string_id = 2;
pub const _zend_known_string_id_ZEND_STR_CLASS: _zend_known_string_id = 3;
pub const _zend_known_string_id_ZEND_STR_OBJECT: _zend_known_string_id = 4;
pub const _zend_known_string_id_ZEND_STR_TYPE: _zend_known_string_id = 5;
pub const _zend_known_string_id_ZEND_STR_OBJECT_OPERATOR: _zend_known_string_id = 6;
pub const _zend_known_string_id_ZEND_STR_PAAMAYIM_NEKUDOTAYIM: _zend_known_string_id = 7;
pub const _zend_known_string_id_ZEND_STR_ARGS: _zend_known_string_id = 8;
pub const _zend_known_string_id_ZEND_STR_UNKNOWN: _zend_known_string_id = 9;
pub const _zend_known_string_id_ZEND_STR_EVAL: _zend_known_string_id = 10;
pub const _zend_known_string_id_ZEND_STR_INCLUDE: _zend_known_string_id = 11;
pub const _zend_known_string_id_ZEND_STR_REQUIRE: _zend_known_string_id = 12;
pub const _zend_known_string_id_ZEND_STR_INCLUDE_ONCE: _zend_known_string_id = 13;
pub const _zend_known_string_id_ZEND_STR_REQUIRE_ONCE: _zend_known_string_id = 14;
pub const _zend_known_string_id_ZEND_STR_SCALAR: _zend_known_string_id = 15;
pub const _zend_known_string_id_ZEND_STR_ERROR_REPORTING: _zend_known_string_id = 16;
pub const _zend_known_string_id_ZEND_STR_STATIC: _zend_known_string_id = 17;
pub const _zend_known_string_id_ZEND_STR_THIS: _zend_known_string_id = 18;
pub const _zend_known_string_id_ZEND_STR_VALUE: _zend_known_string_id = 19;
pub const _zend_known_string_id_ZEND_STR_KEY: _zend_known_string_id = 20;
pub const _zend_known_string_id_ZEND_STR_MAGIC_AUTOLOAD: _zend_known_string_id = 21;
pub const _zend_known_string_id_ZEND_STR_MAGIC_INVOKE: _zend_known_string_id = 22;
pub const _zend_known_string_id_ZEND_STR_PREVIOUS: _zend_known_string_id = 23;
pub const _zend_known_string_id_ZEND_STR_CODE: _zend_known_string_id = 24;
pub const _zend_known_string_id_ZEND_STR_MESSAGE: _zend_known_string_id = 25;
pub const _zend_known_string_id_ZEND_STR_SEVERITY: _zend_known_string_id = 26;
pub const _zend_known_string_id_ZEND_STR_STRING: _zend_known_string_id = 27;
pub const _zend_known_string_id_ZEND_STR_TRACE: _zend_known_string_id = 28;
pub const _zend_known_string_id_ZEND_STR_SCHEME: _zend_known_string_id = 29;
pub const _zend_known_string_id_ZEND_STR_HOST: _zend_known_string_id = 30;
pub const _zend_known_string_id_ZEND_STR_PORT: _zend_known_string_id = 31;
pub const _zend_known_string_id_ZEND_STR_USER: _zend_known_string_id = 32;
pub const _zend_known_string_id_ZEND_STR_PASS: _zend_known_string_id = 33;
pub const _zend_known_string_id_ZEND_STR_PATH: _zend_known_string_id = 34;
pub const _zend_known_string_id_ZEND_STR_QUERY: _zend_known_string_id = 35;
pub const _zend_known_string_id_ZEND_STR_FRAGMENT: _zend_known_string_id = 36;
pub const _zend_known_string_id_ZEND_STR_NULL: _zend_known_string_id = 37;
pub const _zend_known_string_id_ZEND_STR_BOOLEAN: _zend_known_string_id = 38;
pub const _zend_known_string_id_ZEND_STR_INTEGER: _zend_known_string_id = 39;
pub const _zend_known_string_id_ZEND_STR_DOUBLE: _zend_known_string_id = 40;
pub const _zend_known_string_id_ZEND_STR_ARRAY: _zend_known_string_id = 41;
pub const _zend_known_string_id_ZEND_STR_RESOURCE: _zend_known_string_id = 42;
pub const _zend_known_string_id_ZEND_STR_CLOSED_RESOURCE: _zend_known_string_id = 43;
pub const _zend_known_string_id_ZEND_STR_NAME: _zend_known_string_id = 44;
pub const _zend_known_string_id_ZEND_STR_ARGV: _zend_known_string_id = 45;
pub const _zend_known_string_id_ZEND_STR_ARGC: _zend_known_string_id = 46;
pub const _zend_known_string_id_ZEND_STR_LAST_KNOWN: _zend_known_string_id = 47;
pub type _zend_known_string_id = ::std::os::raw::c_uint;
pub use self::_zend_known_string_id as zend_known_string_id;
extern "C" {
    pub static zend_empty_array: HashTable;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_hash_key {
    pub h: zend_ulong,
    pub key: *mut zend_string,
}
#[test]
fn bindgen_test_layout__zend_hash_key() {
    assert_eq!(
        ::std::mem::size_of::<_zend_hash_key>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_hash_key))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_hash_key>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_hash_key))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_hash_key>())).h as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_hash_key),
            "::",
            stringify!(h)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_hash_key>())).key as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_hash_key),
            "::",
            stringify!(key)
        )
    );
}
pub type zend_hash_key = _zend_hash_key;
pub type merge_checker_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        target_ht: *mut HashTable,
        source_data: *mut zval,
        hash_key: *mut zend_hash_key,
        pParam: *mut ::std::os::raw::c_void,
    ) -> zend_bool,
>;
extern "C" {
    pub fn _zend_hash_init(
        ht: *mut HashTable,
        nSize: u32,
        pDestructor: dtor_func_t,
        persistent: zend_bool,
    );
}
extern "C" {
    pub fn zend_hash_destroy(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_clean(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_real_init(ht: *mut HashTable, packed: zend_bool);
}
extern "C" {
    pub fn zend_hash_real_init_packed(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_real_init_mixed(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_packed_to_hash(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_to_packed(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_extend(ht: *mut HashTable, nSize: u32, packed: zend_bool);
}
extern "C" {
    pub fn zend_hash_discard(ht: *mut HashTable, nNumUsed: u32);
}
extern "C" {
    pub fn zend_hash_add_or_update(
        ht: *mut HashTable,
        key: *mut zend_string,
        pData: *mut zval,
        flag: u32,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_update(
        ht: *mut HashTable,
        key: *mut zend_string,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_update_ind(
        ht: *mut HashTable,
        key: *mut zend_string,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_add(ht: *mut HashTable, key: *mut zend_string, pData: *mut zval) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_add_new(
        ht: *mut HashTable,
        key: *mut zend_string,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_str_add_or_update(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
        pData: *mut zval,
        flag: u32,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_str_update(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_str_update_ind(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_str_add(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_str_add_new(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_index_add_or_update(
        ht: *mut HashTable,
        h: zend_ulong,
        pData: *mut zval,
        flag: u32,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_index_add(ht: *mut HashTable, h: zend_ulong, pData: *mut zval) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_index_add_new(
        ht: *mut HashTable,
        h: zend_ulong,
        pData: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_index_update(ht: *mut HashTable, h: zend_ulong, pData: *mut zval)
        -> *mut zval;
}
extern "C" {
    pub fn zend_hash_next_index_insert(ht: *mut HashTable, pData: *mut zval) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_next_index_insert_new(ht: *mut HashTable, pData: *mut zval) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_index_add_empty_element(ht: *mut HashTable, h: zend_ulong) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_add_empty_element(ht: *mut HashTable, key: *mut zend_string) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_str_add_empty_element(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
    ) -> *mut zval;
}
pub type apply_func_t =
    ::std::option::Option<unsafe extern "C" fn(pDest: *mut zval) -> ::std::os::raw::c_int>;
pub type apply_func_arg_t = ::std::option::Option<
    unsafe extern "C" fn(
        pDest: *mut zval,
        argument: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type apply_func_args_t = ::std::option::Option<
    unsafe extern "C" fn(
        pDest: *mut zval,
        num_args: ::std::os::raw::c_int,
        args: *mut __va_list_tag,
        hash_key: *mut zend_hash_key,
    ) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn zend_hash_graceful_destroy(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_graceful_reverse_destroy(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_hash_apply(ht: *mut HashTable, apply_func: apply_func_t);
}
extern "C" {
    pub fn zend_hash_apply_with_argument(
        ht: *mut HashTable,
        apply_func: apply_func_arg_t,
        arg1: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn zend_hash_apply_with_arguments(
        ht: *mut HashTable,
        apply_func: apply_func_args_t,
        arg1: ::std::os::raw::c_int,
        ...
    );
}
extern "C" {
    pub fn zend_hash_reverse_apply(ht: *mut HashTable, apply_func: apply_func_t);
}
extern "C" {
    pub fn zend_hash_del(ht: *mut HashTable, key: *mut zend_string) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_del_ind(ht: *mut HashTable, key: *mut zend_string) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_str_del(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_str_del_ind(
        ht: *mut HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_index_del(ht: *mut HashTable, h: zend_ulong) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_del_bucket(ht: *mut HashTable, p: *mut Bucket);
}
extern "C" {
    pub fn zend_hash_find(ht: *const HashTable, key: *mut zend_string) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_str_find(
        ht: *const HashTable,
        key: *const ::std::os::raw::c_char,
        len: size_t,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_index_find(ht: *const HashTable, h: zend_ulong) -> *mut zval;
}
extern "C" {
    pub fn _zend_hash_index_find(ht: *const HashTable, h: zend_ulong) -> *mut zval;
}
extern "C" {
    pub fn _zend_hash_find_known_hash(ht: *const HashTable, key: *mut zend_string) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_exists(ht: *const HashTable, key: *mut zend_string) -> zend_bool;
}
extern "C" {
    pub fn zend_hash_str_exists(
        ht: *const HashTable,
        str_: *const ::std::os::raw::c_char,
        len: size_t,
    ) -> zend_bool;
}
extern "C" {
    pub fn zend_hash_index_exists(ht: *const HashTable, h: zend_ulong) -> zend_bool;
}
extern "C" {
    pub fn zend_hash_get_current_pos(ht: *const HashTable) -> HashPosition;
}
extern "C" {
    pub fn zend_hash_move_forward_ex(
        ht: *mut HashTable,
        pos: *mut HashPosition,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_move_backwards_ex(
        ht: *mut HashTable,
        pos: *mut HashPosition,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_get_current_key_ex(
        ht: *const HashTable,
        str_index: *mut *mut zend_string,
        num_index: *mut zend_ulong,
        pos: *mut HashPosition,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_get_current_key_zval_ex(
        ht: *const HashTable,
        key: *mut zval,
        pos: *mut HashPosition,
    );
}
extern "C" {
    pub fn zend_hash_get_current_key_type_ex(
        ht: *mut HashTable,
        pos: *mut HashPosition,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_get_current_data_ex(ht: *mut HashTable, pos: *mut HashPosition) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_internal_pointer_reset_ex(ht: *mut HashTable, pos: *mut HashPosition);
}
extern "C" {
    pub fn zend_hash_internal_pointer_end_ex(ht: *mut HashTable, pos: *mut HashPosition);
}
extern "C" {
    pub fn zend_hash_copy(
        target: *mut HashTable,
        source: *mut HashTable,
        pCopyConstructor: copy_ctor_func_t,
    );
}
extern "C" {
    pub fn zend_hash_merge(
        target: *mut HashTable,
        source: *mut HashTable,
        pCopyConstructor: copy_ctor_func_t,
        overwrite: zend_bool,
    );
}
extern "C" {
    pub fn zend_hash_merge_ex(
        target: *mut HashTable,
        source: *mut HashTable,
        pCopyConstructor: copy_ctor_func_t,
        pMergeSource: merge_checker_func_t,
        pParam: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn zend_hash_bucket_swap(p: *mut Bucket, q: *mut Bucket);
}
extern "C" {
    pub fn zend_hash_bucket_renum_swap(p: *mut Bucket, q: *mut Bucket);
}
extern "C" {
    pub fn zend_hash_bucket_packed_swap(p: *mut Bucket, q: *mut Bucket);
}
extern "C" {
    pub fn zend_hash_compare(
        ht1: *mut HashTable,
        ht2: *mut HashTable,
        compar: compare_func_t,
        ordered: zend_bool,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_sort_ex(
        ht: *mut HashTable,
        sort_func: sort_func_t,
        compare_func: compare_func_t,
        renumber: zend_bool,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_minmax(ht: *const HashTable, compar: compare_func_t, flag: u32) -> *mut zval;
}
extern "C" {
    pub fn zend_hash_rehash(ht: *mut HashTable) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _zend_new_array_0() -> *mut HashTable;
}
extern "C" {
    pub fn _zend_new_array(size: u32) -> *mut HashTable;
}
extern "C" {
    pub fn zend_array_count(ht: *mut HashTable) -> u32;
}
extern "C" {
    pub fn zend_array_dup(source: *mut HashTable) -> *mut HashTable;
}
extern "C" {
    pub fn zend_array_destroy(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_symtable_clean(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_symtable_to_proptable(ht: *mut HashTable) -> *mut HashTable;
}
extern "C" {
    pub fn zend_proptable_to_symtable(
        ht: *mut HashTable,
        always_duplicate: zend_bool,
    ) -> *mut HashTable;
}
extern "C" {
    pub fn _zend_handle_numeric_str_ex(
        key: *const ::std::os::raw::c_char,
        length: size_t,
        idx: *mut zend_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_hash_iterator_add(ht: *mut HashTable, pos: HashPosition) -> u32;
}
extern "C" {
    pub fn zend_hash_iterator_pos(idx: u32, ht: *mut HashTable) -> HashPosition;
}
extern "C" {
    pub fn zend_hash_iterator_pos_ex(idx: u32, array: *mut zval) -> HashPosition;
}
extern "C" {
    pub fn zend_hash_iterator_del(idx: u32);
}
extern "C" {
    pub fn zend_hash_iterators_lower_pos(ht: *mut HashTable, start: HashPosition) -> HashPosition;
}
extern "C" {
    pub fn _zend_hash_iterators_update(ht: *mut HashTable, from: HashPosition, to: HashPosition);
}
extern "C" {
    pub fn zend_hash_iterators_advance(ht: *mut HashTable, step: HashPosition);
}
pub type zend_ast_kind = u16;
pub type zend_ast_attr = u16;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ast {
    pub kind: zend_ast_kind,
    pub attr: zend_ast_attr,
    pub lineno: u32,
    pub child: [*mut zend_ast; 1usize],
}
#[test]
fn bindgen_test_layout__zend_ast() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ast>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_ast))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ast>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ast))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast>())).kind as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast),
            "::",
            stringify!(kind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast>())).attr as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast),
            "::",
            stringify!(attr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast>())).lineno as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast),
            "::",
            stringify!(lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast>())).child as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast),
            "::",
            stringify!(child)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ast_list {
    pub kind: zend_ast_kind,
    pub attr: zend_ast_attr,
    pub lineno: u32,
    pub children: u32,
    pub child: [*mut zend_ast; 1usize],
}
#[test]
fn bindgen_test_layout__zend_ast_list() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ast_list>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_ast_list))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ast_list>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ast_list))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).kind as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_list),
            "::",
            stringify!(kind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).attr as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_list),
            "::",
            stringify!(attr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).lineno as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_list),
            "::",
            stringify!(lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).children as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_list),
            "::",
            stringify!(children)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_list>())).child as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_list),
            "::",
            stringify!(child)
        )
    );
}
pub type zend_ast_list = _zend_ast_list;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_ast_zval {
    pub kind: zend_ast_kind,
    pub attr: zend_ast_attr,
    pub val: zval,
}
#[test]
fn bindgen_test_layout__zend_ast_zval() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ast_zval>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_ast_zval))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ast_zval>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ast_zval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_zval>())).kind as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_zval),
            "::",
            stringify!(kind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_zval>())).attr as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_zval),
            "::",
            stringify!(attr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_zval>())).val as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_zval),
            "::",
            stringify!(val)
        )
    );
}
pub type zend_ast_zval = _zend_ast_zval;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ast_decl {
    pub kind: zend_ast_kind,
    pub attr: zend_ast_attr,
    pub start_lineno: u32,
    pub end_lineno: u32,
    pub flags: u32,
    pub lex_pos: *mut ::std::os::raw::c_uchar,
    pub doc_comment: *mut zend_string,
    pub name: *mut zend_string,
    pub child: [*mut zend_ast; 4usize],
}
#[test]
fn bindgen_test_layout__zend_ast_decl() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ast_decl>(),
        72usize,
        concat!("Size of: ", stringify!(_zend_ast_decl))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ast_decl>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ast_decl))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).kind as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(kind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).attr as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(attr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).start_lineno as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(start_lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).end_lineno as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(end_lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).flags as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).lex_pos as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(lex_pos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).doc_comment as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(doc_comment)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).name as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_decl>())).child as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_decl),
            "::",
            stringify!(child)
        )
    );
}
pub type zend_ast_decl = _zend_ast_decl;
pub type zend_ast_process_t = ::std::option::Option<unsafe extern "C" fn(ast: *mut zend_ast)>;
extern "C" {
    pub static mut zend_ast_process: zend_ast_process_t;
}
extern "C" {
    pub fn zend_ast_create_zval_with_lineno(zv: *mut zval, lineno: u32) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_zval_ex(zv: *mut zval, attr: zend_ast_attr) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_zval(zv: *mut zval) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_zval_from_str(str_: *mut zend_string) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_zval_from_long(lval: zend_long) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_constant(name: *mut zend_string, attr: zend_ast_attr) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_0(kind: zend_ast_kind) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_1(kind: zend_ast_kind, child: *mut zend_ast) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_2(
        kind: zend_ast_kind,
        child1: *mut zend_ast,
        child2: *mut zend_ast,
    ) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_3(
        kind: zend_ast_kind,
        child1: *mut zend_ast,
        child2: *mut zend_ast,
        child3: *mut zend_ast,
    ) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_4(
        kind: zend_ast_kind,
        child1: *mut zend_ast,
        child2: *mut zend_ast,
        child3: *mut zend_ast,
        child4: *mut zend_ast,
    ) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_list_0(kind: zend_ast_kind) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_list_1(kind: zend_ast_kind, child: *mut zend_ast) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_list_2(
        kind: zend_ast_kind,
        child1: *mut zend_ast,
        child2: *mut zend_ast,
    ) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_list_add(list: *mut zend_ast, op: *mut zend_ast) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_create_decl(
        kind: zend_ast_kind,
        flags: u32,
        start_lineno: u32,
        doc_comment: *mut zend_string,
        name: *mut zend_string,
        child0: *mut zend_ast,
        child1: *mut zend_ast,
        child2: *mut zend_ast,
        child3: *mut zend_ast,
    ) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_ast_evaluate(
        result: *mut zval,
        ast: *mut zend_ast,
        scope: *mut zend_class_entry,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ast_export(
        prefix: *const ::std::os::raw::c_char,
        ast: *mut zend_ast,
        suffix: *const ::std::os::raw::c_char,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_ast_copy(ast: *mut zend_ast) -> *mut zend_ast_ref;
}
extern "C" {
    pub fn zend_ast_destroy(ast: *mut zend_ast);
}
extern "C" {
    pub fn zend_ast_ref_destroy(ast: *mut zend_ast_ref);
}
pub type zend_ast_apply_func =
    ::std::option::Option<unsafe extern "C" fn(ast_ptr: *mut *mut zend_ast)>;
extern "C" {
    pub fn zend_ast_apply(ast: *mut zend_ast, fn_: zend_ast_apply_func);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_gc_status {
    pub runs: u32,
    pub collected: u32,
    pub threshold: u32,
    pub num_roots: u32,
}
#[test]
fn bindgen_test_layout__zend_gc_status() {
    assert_eq!(
        ::std::mem::size_of::<_zend_gc_status>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_gc_status))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_gc_status>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_gc_status))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).runs as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_gc_status),
            "::",
            stringify!(runs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).collected as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_gc_status),
            "::",
            stringify!(collected)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).threshold as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_gc_status),
            "::",
            stringify!(threshold)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_gc_status>())).num_roots as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_gc_status),
            "::",
            stringify!(num_roots)
        )
    );
}
pub type zend_gc_status = _zend_gc_status;
extern "C" {
    pub static mut gc_collect_cycles:
        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
}
extern "C" {
    pub fn zend_gc_collect_cycles() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_gc_get_status(status: *mut zend_gc_status);
}
pub type zend_object_iterator = _zend_object_iterator;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_object_iterator_funcs {
    pub dtor: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
    pub valid: ::std::option::Option<
        unsafe extern "C" fn(iter: *mut zend_object_iterator) -> ::std::os::raw::c_int,
    >,
    pub get_current_data:
        ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator) -> *mut zval>,
    pub get_current_key: ::std::option::Option<
        unsafe extern "C" fn(iter: *mut zend_object_iterator, key: *mut zval),
    >,
    pub move_forward: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
    pub rewind: ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
    pub invalidate_current:
        ::std::option::Option<unsafe extern "C" fn(iter: *mut zend_object_iterator)>,
}
#[test]
fn bindgen_test_layout__zend_object_iterator_funcs() {
    assert_eq!(
        ::std::mem::size_of::<_zend_object_iterator_funcs>(),
        56usize,
        concat!("Size of: ", stringify!(_zend_object_iterator_funcs))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_object_iterator_funcs>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_object_iterator_funcs))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).dtor as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator_funcs),
            "::",
            stringify!(dtor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).valid as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator_funcs),
            "::",
            stringify!(valid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).get_current_data as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator_funcs),
            "::",
            stringify!(get_current_data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).get_current_key as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator_funcs),
            "::",
            stringify!(get_current_key)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).move_forward as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator_funcs),
            "::",
            stringify!(move_forward)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).rewind as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator_funcs),
            "::",
            stringify!(rewind)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_iterator_funcs>())).invalidate_current as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator_funcs),
            "::",
            stringify!(invalidate_current)
        )
    );
}
pub type zend_object_iterator_funcs = _zend_object_iterator_funcs;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_object_iterator {
    pub std: zend_object,
    pub data: zval,
    pub funcs: *const zend_object_iterator_funcs,
    pub index: zend_ulong,
}
#[test]
fn bindgen_test_layout__zend_object_iterator() {
    assert_eq!(
        ::std::mem::size_of::<_zend_object_iterator>(),
        88usize,
        concat!("Size of: ", stringify!(_zend_object_iterator))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_object_iterator>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_object_iterator))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).std as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator),
            "::",
            stringify!(std)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).data as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).funcs as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator),
            "::",
            stringify!(funcs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_iterator>())).index as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_iterator),
            "::",
            stringify!(index)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_class_iterator_funcs {
    pub zf_new_iterator: *mut _zend_function,
    pub zf_valid: *mut _zend_function,
    pub zf_current: *mut _zend_function,
    pub zf_key: *mut _zend_function,
    pub zf_next: *mut _zend_function,
    pub zf_rewind: *mut _zend_function,
}
#[test]
fn bindgen_test_layout__zend_class_iterator_funcs() {
    assert_eq!(
        ::std::mem::size_of::<_zend_class_iterator_funcs>(),
        48usize,
        concat!("Size of: ", stringify!(_zend_class_iterator_funcs))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_class_iterator_funcs>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_class_iterator_funcs))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_new_iterator as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_iterator_funcs),
            "::",
            stringify!(zf_new_iterator)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_valid as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_iterator_funcs),
            "::",
            stringify!(zf_valid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_current as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_iterator_funcs),
            "::",
            stringify!(zf_current)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_key as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_iterator_funcs),
            "::",
            stringify!(zf_key)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_next as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_iterator_funcs),
            "::",
            stringify!(zf_next)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_iterator_funcs>())).zf_rewind as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_iterator_funcs),
            "::",
            stringify!(zf_rewind)
        )
    );
}
pub type zend_class_iterator_funcs = _zend_class_iterator_funcs;
extern "C" {
    pub fn zend_iterator_unwrap(array_ptr: *mut zval) -> *mut zend_object_iterator;
}
extern "C" {
    pub fn zend_iterator_init(iter: *mut zend_object_iterator);
}
extern "C" {
    pub fn zend_iterator_dtor(iter: *mut zend_object_iterator);
}
extern "C" {
    pub fn zend_register_iterator_wrapper();
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct stat {
    pub st_dev: __dev_t,
    pub st_ino: __ino_t,
    pub st_nlink: __nlink_t,
    pub st_mode: __mode_t,
    pub st_uid: __uid_t,
    pub st_gid: __gid_t,
    pub __pad0: ::std::os::raw::c_int,
    pub st_rdev: __dev_t,
    pub st_size: __off_t,
    pub st_blksize: __blksize_t,
    pub st_blocks: __blkcnt_t,
    pub st_atim: timespec,
    pub st_mtim: timespec,
    pub st_ctim: timespec,
    pub __glibc_reserved: [__syscall_slong_t; 3usize],
}
#[test]
fn bindgen_test_layout_stat() {
    assert_eq!(
        ::std::mem::size_of::<stat>(),
        144usize,
        concat!("Size of: ", stringify!(stat))
    );
    assert_eq!(
        ::std::mem::align_of::<stat>(),
        8usize,
        concat!("Alignment of ", stringify!(stat))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_dev as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_dev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_ino as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_ino)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_nlink as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_nlink)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_mode as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_uid as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_uid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_gid as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_gid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).__pad0 as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(__pad0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_rdev as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_rdev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_size as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_blksize as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_blksize)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_blocks as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_blocks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_atim as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_atim)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_mtim as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_mtim)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_ctim as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_ctim)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).__glibc_reserved as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(__glibc_reserved)
        )
    );
}
pub type zend_stream_fsizer_t =
    ::std::option::Option<unsafe extern "C" fn(handle: *mut ::std::os::raw::c_void) -> size_t>;
pub type zend_stream_reader_t = ::std::option::Option<
    unsafe extern "C" fn(
        handle: *mut ::std::os::raw::c_void,
        buf: *mut ::std::os::raw::c_char,
        len: size_t,
    ) -> size_t,
>;
pub type zend_stream_closer_t =
    ::std::option::Option<unsafe extern "C" fn(handle: *mut ::std::os::raw::c_void)>;
pub const zend_stream_type_ZEND_HANDLE_FILENAME: zend_stream_type = 0;
pub const zend_stream_type_ZEND_HANDLE_FD: zend_stream_type = 1;
pub const zend_stream_type_ZEND_HANDLE_FP: zend_stream_type = 2;
pub const zend_stream_type_ZEND_HANDLE_STREAM: zend_stream_type = 3;
pub const zend_stream_type_ZEND_HANDLE_MAPPED: zend_stream_type = 4;
pub type zend_stream_type = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_mmap {
    pub len: size_t,
    pub pos: size_t,
    pub map: *mut ::std::os::raw::c_void,
    pub buf: *mut ::std::os::raw::c_char,
    pub old_handle: *mut ::std::os::raw::c_void,
    pub old_closer: zend_stream_closer_t,
}
#[test]
fn bindgen_test_layout__zend_mmap() {
    assert_eq!(
        ::std::mem::size_of::<_zend_mmap>(),
        48usize,
        concat!("Size of: ", stringify!(_zend_mmap))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_mmap>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_mmap))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).len as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mmap),
            "::",
            stringify!(len)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).pos as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mmap),
            "::",
            stringify!(pos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).map as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mmap),
            "::",
            stringify!(map)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).buf as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mmap),
            "::",
            stringify!(buf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).old_handle as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mmap),
            "::",
            stringify!(old_handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_mmap>())).old_closer as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_mmap),
            "::",
            stringify!(old_closer)
        )
    );
}
pub type zend_mmap = _zend_mmap;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_stream {
    pub handle: *mut ::std::os::raw::c_void,
    pub isatty: ::std::os::raw::c_int,
    pub mmap: zend_mmap,
    pub reader: zend_stream_reader_t,
    pub fsizer: zend_stream_fsizer_t,
    pub closer: zend_stream_closer_t,
}
#[test]
fn bindgen_test_layout__zend_stream() {
    assert_eq!(
        ::std::mem::size_of::<_zend_stream>(),
        88usize,
        concat!("Size of: ", stringify!(_zend_stream))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_stream>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_stream))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stream>())).handle as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stream),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stream>())).isatty as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stream),
            "::",
            stringify!(isatty)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stream>())).mmap as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stream),
            "::",
            stringify!(mmap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stream>())).reader as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stream),
            "::",
            stringify!(reader)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stream>())).fsizer as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stream),
            "::",
            stringify!(fsizer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stream>())).closer as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stream),
            "::",
            stringify!(closer)
        )
    );
}
pub type zend_stream = _zend_stream;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_file_handle {
    pub handle: _zend_file_handle__bindgen_ty_1,
    pub filename: *const ::std::os::raw::c_char,
    pub opened_path: *mut zend_string,
    pub type_: zend_stream_type,
    pub free_filename: zend_bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_file_handle__bindgen_ty_1 {
    pub fd: ::std::os::raw::c_int,
    pub fp: *mut FILE,
    pub stream: zend_stream,
    _bindgen_union_align: [u64; 11usize],
}
#[test]
fn bindgen_test_layout__zend_file_handle__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_file_handle__bindgen_ty_1>(),
        88usize,
        concat!("Size of: ", stringify!(_zend_file_handle__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_file_handle__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_file_handle__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).fd as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle__bindgen_ty_1),
            "::",
            stringify!(fd)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).fp as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle__bindgen_ty_1),
            "::",
            stringify!(fp)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_handle__bindgen_ty_1>())).stream as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle__bindgen_ty_1),
            "::",
            stringify!(stream)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_file_handle() {
    assert_eq!(
        ::std::mem::size_of::<_zend_file_handle>(),
        112usize,
        concat!("Size of: ", stringify!(_zend_file_handle))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_file_handle>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_file_handle))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).handle as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).filename as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle),
            "::",
            stringify!(filename)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).opened_path as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle),
            "::",
            stringify!(opened_path)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).type_ as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_handle>())).free_filename as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_handle),
            "::",
            stringify!(free_filename)
        )
    );
}
pub type zend_file_handle = _zend_file_handle;
extern "C" {
    pub fn zend_stream_open(
        filename: *const ::std::os::raw::c_char,
        handle: *mut zend_file_handle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stream_fixup(
        file_handle: *mut zend_file_handle,
        buf: *mut *mut ::std::os::raw::c_char,
        len: *mut size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_file_handle_dtor(fh: *mut zend_file_handle);
}
extern "C" {
    pub fn zend_compare_file_handles(
        fh1: *mut zend_file_handle,
        fh2: *mut zend_file_handle,
    ) -> ::std::os::raw::c_int;
}
pub type zend_stat_t = stat;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct smart_str {
    pub s: *mut zend_string,
    pub a: size_t,
}
#[test]
fn bindgen_test_layout_smart_str() {
    assert_eq!(
        ::std::mem::size_of::<smart_str>(),
        16usize,
        concat!("Size of: ", stringify!(smart_str))
    );
    assert_eq!(
        ::std::mem::align_of::<smart_str>(),
        8usize,
        concat!("Alignment of ", stringify!(smart_str))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<smart_str>())).s as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(smart_str),
            "::",
            stringify!(s)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<smart_str>())).a as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(smart_str),
            "::",
            stringify!(a)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct smart_string {
    pub c: *mut ::std::os::raw::c_char,
    pub len: size_t,
    pub a: size_t,
}
#[test]
fn bindgen_test_layout_smart_string() {
    assert_eq!(
        ::std::mem::size_of::<smart_string>(),
        24usize,
        concat!("Size of: ", stringify!(smart_string))
    );
    assert_eq!(
        ::std::mem::align_of::<smart_string>(),
        8usize,
        concat!("Alignment of ", stringify!(smart_string))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<smart_string>())).c as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(smart_string),
            "::",
            stringify!(c)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<smart_string>())).len as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(smart_string),
            "::",
            stringify!(len)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<smart_string>())).a as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(smart_string),
            "::",
            stringify!(a)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigval {
    pub sival_int: ::std::os::raw::c_int,
    pub sival_ptr: *mut ::std::os::raw::c_void,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sigval() {
    assert_eq!(
        ::std::mem::size_of::<sigval>(),
        8usize,
        concat!("Size of: ", stringify!(sigval))
    );
    assert_eq!(
        ::std::mem::align_of::<sigval>(),
        8usize,
        concat!("Alignment of ", stringify!(sigval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigval>())).sival_int as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigval),
            "::",
            stringify!(sival_int)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigval>())).sival_ptr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigval),
            "::",
            stringify!(sival_ptr)
        )
    );
}
pub type __sigval_t = sigval;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t {
    pub si_signo: ::std::os::raw::c_int,
    pub si_errno: ::std::os::raw::c_int,
    pub si_code: ::std::os::raw::c_int,
    pub __pad0: ::std::os::raw::c_int,
    pub _sifields: siginfo_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union siginfo_t__bindgen_ty_1 {
    pub _pad: [::std::os::raw::c_int; 28usize],
    pub _kill: siginfo_t__bindgen_ty_1__bindgen_ty_1,
    pub _timer: siginfo_t__bindgen_ty_1__bindgen_ty_2,
    pub _rt: siginfo_t__bindgen_ty_1__bindgen_ty_3,
    pub _sigchld: siginfo_t__bindgen_ty_1__bindgen_ty_4,
    pub _sigfault: siginfo_t__bindgen_ty_1__bindgen_ty_5,
    pub _sigpoll: siginfo_t__bindgen_ty_1__bindgen_ty_6,
    pub _sigsys: siginfo_t__bindgen_ty_1__bindgen_ty_7,
    _bindgen_union_align: [u64; 14usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 {
    pub si_pid: __pid_t,
    pub si_uid: __uid_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_pid as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(si_pid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_1>())).si_uid as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(si_uid)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 {
    pub si_tid: ::std::os::raw::c_int,
    pub si_overrun: ::std::os::raw::c_int,
    pub si_sigval: __sigval_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_tid as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(si_tid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_overrun as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(si_overrun)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_2>())).si_sigval as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(si_sigval)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 {
    pub si_pid: __pid_t,
    pub si_uid: __uid_t,
    pub si_sigval: __sigval_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_pid as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(si_pid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_uid as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(si_uid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_3>())).si_sigval as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(si_sigval)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 {
    pub si_pid: __pid_t,
    pub si_uid: __uid_t,
    pub si_status: ::std::os::raw::c_int,
    pub si_utime: __clock_t,
    pub si_stime: __clock_t,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
        32usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_pid as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
            "::",
            stringify!(si_pid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_uid as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
            "::",
            stringify!(si_uid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_status as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
            "::",
            stringify!(si_status)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_utime as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
            "::",
            stringify!(si_utime)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_4>())).si_stime as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
            "::",
            stringify!(si_stime)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5 {
    pub si_addr: *mut ::std::os::raw::c_void,
    pub si_addr_lsb: ::std::os::raw::c_short,
    pub _bounds: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 {
    pub _addr_bnd: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
    pub _pkey: __uint32_t,
    _bindgen_union_align: [u64; 2usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
    pub _lower: *mut ::std::os::raw::c_void,
    pub _upper: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<
                siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
            >()))
            ._lower as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_lower)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<
                siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
            >()))
            ._upper as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_upper)
        )
    );
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))
                ._addr_bnd as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
            "::",
            stringify!(_addr_bnd)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>()))._pkey
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
            "::",
            stringify!(_pkey)
        )
    );
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
        32usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
            "::",
            stringify!(si_addr)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>())).si_addr_lsb
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
            "::",
            stringify!(si_addr_lsb)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_5>()))._bounds as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
            "::",
            stringify!(_bounds)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_6 {
    pub si_band: ::std::os::raw::c_long,
    pub si_fd: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_6() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_band as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
            "::",
            stringify!(si_band)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_6>())).si_fd as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
            "::",
            stringify!(si_fd)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct siginfo_t__bindgen_ty_1__bindgen_ty_7 {
    pub _call_addr: *mut ::std::os::raw::c_void,
    pub _syscall: ::std::os::raw::c_int,
    pub _arch: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_7() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._call_addr as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
            "::",
            stringify!(_call_addr)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._syscall as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
            "::",
            stringify!(_syscall)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1__bindgen_ty_7>()))._arch as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
            "::",
            stringify!(_arch)
        )
    );
}
#[test]
fn bindgen_test_layout_siginfo_t__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t__bindgen_ty_1>(),
        112usize,
        concat!("Size of: ", stringify!(siginfo_t__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(siginfo_t__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._pad as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_pad)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._kill as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_kill)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._timer as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_timer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._rt as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_rt)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigchld as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_sigchld)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigfault as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_sigfault)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigpoll as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_sigpoll)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t__bindgen_ty_1>()))._sigsys as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t__bindgen_ty_1),
            "::",
            stringify!(_sigsys)
        )
    );
}
#[test]
fn bindgen_test_layout_siginfo_t() {
    assert_eq!(
        ::std::mem::size_of::<siginfo_t>(),
        128usize,
        concat!("Size of: ", stringify!(siginfo_t))
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo_t>(),
        8usize,
        concat!("Alignment of ", stringify!(siginfo_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_signo as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t),
            "::",
            stringify!(si_signo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_errno as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t),
            "::",
            stringify!(si_errno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t>())).si_code as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t),
            "::",
            stringify!(si_code)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t>())).__pad0 as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t),
            "::",
            stringify!(__pad0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo_t>()))._sifields as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo_t),
            "::",
            stringify!(_sifields)
        )
    );
}
pub type __sighandler_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sigaction {
    pub __sigaction_handler: sigaction__bindgen_ty_1,
    pub sa_mask: __sigset_t,
    pub sa_flags: ::std::os::raw::c_int,
    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigaction__bindgen_ty_1 {
    pub sa_handler: __sighandler_t,
    pub sa_sigaction: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: ::std::os::raw::c_int,
            arg2: *mut siginfo_t,
            arg3: *mut ::std::os::raw::c_void,
        ),
    >,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sigaction__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_handler as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction__bindgen_ty_1),
            "::",
            stringify!(sa_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_sigaction as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction__bindgen_ty_1),
            "::",
            stringify!(sa_sigaction)
        )
    );
}
#[test]
fn bindgen_test_layout_sigaction() {
    assert_eq!(
        ::std::mem::size_of::<sigaction>(),
        152usize,
        concat!("Size of: ", stringify!(sigaction))
    );
    assert_eq!(
        ::std::mem::align_of::<sigaction>(),
        8usize,
        concat!("Alignment of ", stringify!(sigaction))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction>())).__sigaction_handler as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction),
            "::",
            stringify!(__sigaction_handler)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_mask as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction),
            "::",
            stringify!(sa_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_flags as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction),
            "::",
            stringify!(sa_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_restorer as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction),
            "::",
            stringify!(sa_restorer)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_signal_entry_t {
    pub flags: ::std::os::raw::c_int,
    pub handler: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_signal_entry_t() {
    assert_eq!(
        ::std::mem::size_of::<_zend_signal_entry_t>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_signal_entry_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_signal_entry_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_signal_entry_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_entry_t>())).flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_entry_t),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_entry_t>())).handler as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_entry_t),
            "::",
            stringify!(handler)
        )
    );
}
pub type zend_signal_entry_t = _zend_signal_entry_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_signal_t {
    pub signo: ::std::os::raw::c_int,
    pub siginfo: *mut siginfo_t,
    pub context: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_signal_t() {
    assert_eq!(
        ::std::mem::size_of::<_zend_signal_t>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_signal_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_signal_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_signal_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_t>())).signo as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_t),
            "::",
            stringify!(signo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_t>())).siginfo as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_t),
            "::",
            stringify!(siginfo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_t>())).context as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_t),
            "::",
            stringify!(context)
        )
    );
}
pub type zend_signal_t = _zend_signal_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_signal_queue_t {
    pub zend_signal: zend_signal_t,
    pub next: *mut _zend_signal_queue_t,
}
#[test]
fn bindgen_test_layout__zend_signal_queue_t() {
    assert_eq!(
        ::std::mem::size_of::<_zend_signal_queue_t>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_signal_queue_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_signal_queue_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_signal_queue_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_signal_queue_t>())).zend_signal as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_queue_t),
            "::",
            stringify!(zend_signal)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_queue_t>())).next as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_queue_t),
            "::",
            stringify!(next)
        )
    );
}
pub type zend_signal_queue_t = _zend_signal_queue_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_signal_globals_t {
    pub depth: ::std::os::raw::c_int,
    pub blocked: ::std::os::raw::c_int,
    pub running: ::std::os::raw::c_int,
    pub active: ::std::os::raw::c_int,
    pub check: zend_bool,
    pub handlers: [zend_signal_entry_t; 65usize],
    pub pstorage: [zend_signal_queue_t; 64usize],
    pub phead: *mut zend_signal_queue_t,
    pub ptail: *mut zend_signal_queue_t,
    pub pavail: *mut zend_signal_queue_t,
}
#[test]
fn bindgen_test_layout__zend_signal_globals_t() {
    assert_eq!(
        ::std::mem::size_of::<_zend_signal_globals_t>(),
        3136usize,
        concat!("Size of: ", stringify!(_zend_signal_globals_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_signal_globals_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_signal_globals_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).depth as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).blocked as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(blocked)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).running as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(running)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).active as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(active)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).check as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(check)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).handlers as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(handlers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).pstorage as *const _ as usize },
        1064usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(pstorage)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).phead as *const _ as usize },
        3112usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(phead)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).ptail as *const _ as usize },
        3120usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(ptail)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_signal_globals_t>())).pavail as *const _ as usize },
        3128usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_signal_globals_t),
            "::",
            stringify!(pavail)
        )
    );
}
pub type zend_signal_globals_t = _zend_signal_globals_t;
extern "C" {
    pub static mut zend_signal_globals: zend_signal_globals_t;
}
extern "C" {
    pub fn zend_signal_handler_unblock();
}
extern "C" {
    pub fn zend_signal_activate();
}
extern "C" {
    pub fn zend_signal_deactivate();
}
extern "C" {
    pub fn zend_signal_startup();
}
extern "C" {
    pub fn zend_signal_init();
}
extern "C" {
    pub fn zend_signal(
        signo: ::std::os::raw::c_int,
        handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_sigaction(
        signo: ::std::os::raw::c_int,
        act: *const sigaction,
        oldact: *mut sigaction,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_error_noreturn(
        type_: ::std::os::raw::c_int,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_serialize_data {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_unserialize_data {
    _unused: [u8; 0],
}
pub type zend_serialize_data = _zend_serialize_data;
pub type zend_unserialize_data = _zend_unserialize_data;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_trait_method_reference {
    pub method_name: *mut zend_string,
    pub class_name: *mut zend_string,
}
#[test]
fn bindgen_test_layout__zend_trait_method_reference() {
    assert_eq!(
        ::std::mem::size_of::<_zend_trait_method_reference>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_trait_method_reference))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_trait_method_reference>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_trait_method_reference))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_trait_method_reference>())).method_name as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_method_reference),
            "::",
            stringify!(method_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_trait_method_reference>())).class_name as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_method_reference),
            "::",
            stringify!(class_name)
        )
    );
}
pub type zend_trait_method_reference = _zend_trait_method_reference;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_trait_precedence {
    pub trait_method: zend_trait_method_reference,
    pub num_excludes: u32,
    pub exclude_class_names: [*mut zend_string; 1usize],
}
#[test]
fn bindgen_test_layout__zend_trait_precedence() {
    assert_eq!(
        ::std::mem::size_of::<_zend_trait_precedence>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_trait_precedence))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_trait_precedence>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_trait_precedence))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_trait_precedence>())).trait_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_precedence),
            "::",
            stringify!(trait_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_trait_precedence>())).num_excludes as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_precedence),
            "::",
            stringify!(num_excludes)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_trait_precedence>())).exclude_class_names as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_precedence),
            "::",
            stringify!(exclude_class_names)
        )
    );
}
pub type zend_trait_precedence = _zend_trait_precedence;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_trait_alias {
    pub trait_method: zend_trait_method_reference,
    #[doc = " name for method to be added"]
    pub alias: *mut zend_string,
    #[doc = " modifiers to be set on trait method"]
    pub modifiers: u32,
}
#[test]
fn bindgen_test_layout__zend_trait_alias() {
    assert_eq!(
        ::std::mem::size_of::<_zend_trait_alias>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_trait_alias))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_trait_alias>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_trait_alias))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).trait_method as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_alias),
            "::",
            stringify!(trait_method)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).alias as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_alias),
            "::",
            stringify!(alias)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_trait_alias>())).modifiers as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_trait_alias),
            "::",
            stringify!(modifiers)
        )
    );
}
pub type zend_trait_alias = _zend_trait_alias;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_class_entry {
    pub type_: ::std::os::raw::c_char,
    pub name: *mut zend_string,
    pub parent: *mut _zend_class_entry,
    pub refcount: ::std::os::raw::c_int,
    pub ce_flags: u32,
    pub default_properties_count: ::std::os::raw::c_int,
    pub default_static_members_count: ::std::os::raw::c_int,
    pub default_properties_table: *mut zval,
    pub default_static_members_table: *mut zval,
    pub static_members_table: *mut zval,
    pub function_table: HashTable,
    pub properties_info: HashTable,
    pub constants_table: HashTable,
    pub constructor: *mut _zend_function,
    pub destructor: *mut _zend_function,
    pub clone: *mut _zend_function,
    pub __get: *mut _zend_function,
    pub __set: *mut _zend_function,
    pub __unset: *mut _zend_function,
    pub __isset: *mut _zend_function,
    pub __call: *mut _zend_function,
    pub __callstatic: *mut _zend_function,
    pub __tostring: *mut _zend_function,
    pub __debugInfo: *mut _zend_function,
    pub serialize_func: *mut _zend_function,
    pub unserialize_func: *mut _zend_function,
    pub iterator_funcs_ptr: *mut zend_class_iterator_funcs,
    pub __bindgen_anon_1: _zend_class_entry__bindgen_ty_1,
    pub get_iterator: ::std::option::Option<
        unsafe extern "C" fn(
            ce: *mut zend_class_entry,
            object: *mut zval,
            by_ref: ::std::os::raw::c_int,
        ) -> *mut zend_object_iterator,
    >,
    pub get_static_method: ::std::option::Option<
        unsafe extern "C" fn(
            ce: *mut zend_class_entry,
            method: *mut zend_string,
        ) -> *mut _zend_function,
    >,
    pub serialize: ::std::option::Option<
        unsafe extern "C" fn(
            object: *mut zval,
            buffer: *mut *mut ::std::os::raw::c_uchar,
            buf_len: *mut size_t,
            data: *mut zend_serialize_data,
        ) -> ::std::os::raw::c_int,
    >,
    pub unserialize: ::std::option::Option<
        unsafe extern "C" fn(
            object: *mut zval,
            ce: *mut zend_class_entry,
            buf: *const ::std::os::raw::c_uchar,
            buf_len: size_t,
            data: *mut zend_unserialize_data,
        ) -> ::std::os::raw::c_int,
    >,
    pub num_interfaces: u32,
    pub num_traits: u32,
    pub interfaces: *mut *mut zend_class_entry,
    pub traits: *mut *mut zend_class_entry,
    pub trait_aliases: *mut *mut zend_trait_alias,
    pub trait_precedences: *mut *mut zend_trait_precedence,
    pub info: _zend_class_entry__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_class_entry__bindgen_ty_1 {
    pub create_object: ::std::option::Option<
        unsafe extern "C" fn(class_type: *mut zend_class_entry) -> *mut zend_object,
    >,
    pub interface_gets_implemented: ::std::option::Option<
        unsafe extern "C" fn(
            iface: *mut zend_class_entry,
            class_type: *mut zend_class_entry,
        ) -> ::std::os::raw::c_int,
    >,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__zend_class_entry__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_class_entry__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_class_entry__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1>())).create_object as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_1),
            "::",
            stringify!(create_object)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_1>())).interface_gets_implemented
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_1),
            "::",
            stringify!(interface_gets_implemented)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_class_entry__bindgen_ty_2 {
    pub user: _zend_class_entry__bindgen_ty_2__bindgen_ty_1,
    pub internal: _zend_class_entry__bindgen_ty_2__bindgen_ty_2,
    _bindgen_union_align: [u64; 3usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_class_entry__bindgen_ty_2__bindgen_ty_1 {
    pub filename: *mut zend_string,
    pub line_start: u32,
    pub line_end: u32,
    pub doc_comment: *mut zend_string,
}
#[test]
fn bindgen_test_layout__zend_class_entry__bindgen_ty_2__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_2__bindgen_ty_1>(),
        24usize,
        concat!(
            "Size of: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_2__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2__bindgen_ty_1>())).filename
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(filename)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2__bindgen_ty_1>())).line_start
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(line_start)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2__bindgen_ty_1>())).line_end
                as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(line_end)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2__bindgen_ty_1>())).doc_comment
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(doc_comment)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_class_entry__bindgen_ty_2__bindgen_ty_2 {
    pub builtin_functions: *const _zend_function_entry,
    pub module: *mut _zend_module_entry,
}
#[test]
fn bindgen_test_layout__zend_class_entry__bindgen_ty_2__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_2__bindgen_ty_2>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_2__bindgen_ty_2>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2__bindgen_ty_2>()))
                .builtin_functions as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_2),
            "::",
            stringify!(builtin_functions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2__bindgen_ty_2>())).module
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2__bindgen_ty_2),
            "::",
            stringify!(module)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_class_entry__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<_zend_class_entry__bindgen_ty_2>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_class_entry__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_class_entry__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_class_entry__bindgen_ty_2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2>())).user as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2),
            "::",
            stringify!(user)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry__bindgen_ty_2>())).internal as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry__bindgen_ty_2),
            "::",
            stringify!(internal)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_class_entry() {
    assert_eq!(
        ::std::mem::size_of::<_zend_class_entry>(),
        448usize,
        concat!("Size of: ", stringify!(_zend_class_entry))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_class_entry>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_class_entry))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).name as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).parent as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).refcount as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(refcount)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).ce_flags as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(ce_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).default_properties_count as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(default_properties_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).default_static_members_count as *const _
                as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(default_static_members_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).default_properties_table as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(default_properties_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).default_static_members_table as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(default_static_members_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).static_members_table as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(static_members_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).function_table as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(function_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).properties_info as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(properties_info)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).constants_table as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(constants_table)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).constructor as *const _ as usize },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(constructor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).destructor as *const _ as usize },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(destructor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).clone as *const _ as usize },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(clone)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__get as *const _ as usize },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__get)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__set as *const _ as usize },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__set)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__unset as *const _ as usize },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__unset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__isset as *const _ as usize },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__isset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__call as *const _ as usize },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__call)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__callstatic as *const _ as usize },
        296usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__callstatic)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__tostring as *const _ as usize },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__tostring)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).__debugInfo as *const _ as usize },
        312usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(__debugInfo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).serialize_func as *const _ as usize
        },
        320usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(serialize_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).unserialize_func as *const _ as usize
        },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(unserialize_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).iterator_funcs_ptr as *const _ as usize
        },
        336usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(iterator_funcs_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).get_iterator as *const _ as usize },
        352usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(get_iterator)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).get_static_method as *const _ as usize
        },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(get_static_method)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).serialize as *const _ as usize },
        368usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(serialize)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).unserialize as *const _ as usize },
        376usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(unserialize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).num_interfaces as *const _ as usize
        },
        384usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(num_interfaces)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).num_traits as *const _ as usize },
        388usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(num_traits)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).interfaces as *const _ as usize },
        392usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(interfaces)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).traits as *const _ as usize },
        400usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(traits)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).trait_aliases as *const _ as usize },
        408usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(trait_aliases)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_entry>())).trait_precedences as *const _ as usize
        },
        416usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(trait_precedences)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_entry>())).info as *const _ as usize },
        424usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_entry),
            "::",
            stringify!(info)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_utility_functions {
    pub error_function: ::std::option::Option<
        unsafe extern "C" fn(
            type_: ::std::os::raw::c_int,
            error_filename: *const ::std::os::raw::c_char,
            error_lineno: u32,
            format: *const ::std::os::raw::c_char,
            args: *mut __va_list_tag,
        ),
    >,
    pub printf_function: ::std::option::Option<
        unsafe extern "C" fn(format: *const ::std::os::raw::c_char, ...) -> size_t,
    >,
    pub write_function: ::std::option::Option<
        unsafe extern "C" fn(str_: *const ::std::os::raw::c_char, str_length: size_t) -> size_t,
    >,
    pub fopen_function: ::std::option::Option<
        unsafe extern "C" fn(
            filename: *const ::std::os::raw::c_char,
            opened_path: *mut *mut zend_string,
        ) -> *mut FILE,
    >,
    pub message_handler: ::std::option::Option<
        unsafe extern "C" fn(message: zend_long, data: *const ::std::os::raw::c_void),
    >,
    pub get_configuration_directive:
        ::std::option::Option<unsafe extern "C" fn(name: *mut zend_string) -> *mut zval>,
    pub ticks_function: ::std::option::Option<unsafe extern "C" fn(ticks: ::std::os::raw::c_int)>,
    pub on_timeout: ::std::option::Option<unsafe extern "C" fn(seconds: ::std::os::raw::c_int)>,
    pub stream_open_function: ::std::option::Option<
        unsafe extern "C" fn(
            filename: *const ::std::os::raw::c_char,
            handle: *mut zend_file_handle,
        ) -> ::std::os::raw::c_int,
    >,
    pub printf_to_smart_string_function: ::std::option::Option<
        unsafe extern "C" fn(
            buf: *mut smart_string,
            format: *const ::std::os::raw::c_char,
            ap: *mut __va_list_tag,
        ),
    >,
    pub printf_to_smart_str_function: ::std::option::Option<
        unsafe extern "C" fn(
            buf: *mut smart_str,
            format: *const ::std::os::raw::c_char,
            ap: *mut __va_list_tag,
        ),
    >,
    pub getenv_function: ::std::option::Option<
        unsafe extern "C" fn(
            name: *mut ::std::os::raw::c_char,
            name_len: size_t,
        ) -> *mut ::std::os::raw::c_char,
    >,
    pub resolve_path_function: ::std::option::Option<
        unsafe extern "C" fn(
            filename: *const ::std::os::raw::c_char,
            filename_len: size_t,
        ) -> *mut zend_string,
    >,
}
#[test]
fn bindgen_test_layout__zend_utility_functions() {
    assert_eq!(
        ::std::mem::size_of::<_zend_utility_functions>(),
        104usize,
        concat!("Size of: ", stringify!(_zend_utility_functions))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_utility_functions>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_utility_functions))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).error_function as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(error_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).printf_function as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(printf_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).write_function as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(write_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).fopen_function as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(fopen_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).message_handler as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(message_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).get_configuration_directive
                as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(get_configuration_directive)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).ticks_function as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(ticks_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).on_timeout as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(on_timeout)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).stream_open_function as *const _
                as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(stream_open_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).printf_to_smart_string_function
                as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(printf_to_smart_string_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).printf_to_smart_str_function
                as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(printf_to_smart_str_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).getenv_function as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(getenv_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_functions>())).resolve_path_function as *const _
                as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_functions),
            "::",
            stringify!(resolve_path_function)
        )
    );
}
pub type zend_utility_functions = _zend_utility_functions;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_utility_values {
    pub import_use_extension: *mut ::std::os::raw::c_char,
    pub import_use_extension_length: u32,
    pub html_errors: zend_bool,
}
#[test]
fn bindgen_test_layout__zend_utility_values() {
    assert_eq!(
        ::std::mem::size_of::<_zend_utility_values>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_utility_values))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_utility_values>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_utility_values))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_values>())).import_use_extension as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_values),
            "::",
            stringify!(import_use_extension)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_values>())).import_use_extension_length as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_values),
            "::",
            stringify!(import_use_extension_length)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_utility_values>())).html_errors as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_utility_values),
            "::",
            stringify!(html_errors)
        )
    );
}
pub type zend_utility_values = _zend_utility_values;
pub type zend_write_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        str_: *const ::std::os::raw::c_char,
        str_length: size_t,
    ) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn zend_startup(
        utility_functions: *mut zend_utility_functions,
        extensions: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_shutdown();
}
extern "C" {
    pub fn zend_register_standard_ini_entries();
}
extern "C" {
    pub fn zend_post_startup() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_set_utility_values(utility_values: *mut zend_utility_values);
}
extern "C" {
    pub fn _zend_bailout(filename: *const ::std::os::raw::c_char, lineno: u32);
}
extern "C" {
    pub fn zend_vspprintf(
        pbuf: *mut *mut ::std::os::raw::c_char,
        max_len: size_t,
        format: *const ::std::os::raw::c_char,
        ap: *mut __va_list_tag,
    ) -> size_t;
}
extern "C" {
    pub fn zend_spprintf(
        message: *mut *mut ::std::os::raw::c_char,
        max_len: size_t,
        format: *const ::std::os::raw::c_char,
        ...
    ) -> size_t;
}
extern "C" {
    pub fn zend_vstrpprintf(
        max_len: size_t,
        format: *const ::std::os::raw::c_char,
        ap: *mut __va_list_tag,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_strpprintf(
        max_len: size_t,
        format: *const ::std::os::raw::c_char,
        ...
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_spprintf_unchecked(
        message: *mut *mut ::std::os::raw::c_char,
        max_len: size_t,
        format: *const ::std::os::raw::c_char,
        ...
    ) -> size_t;
}
extern "C" {
    pub fn zend_strpprintf_unchecked(
        max_len: size_t,
        format: *const ::std::os::raw::c_char,
        ...
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_make_printable_zval(expr: *mut zval, expr_copy: *mut zval)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_print_zval(expr: *mut zval, indent: ::std::os::raw::c_int) -> size_t;
}
extern "C" {
    pub fn zend_print_zval_r(expr: *mut zval, indent: ::std::os::raw::c_int);
}
extern "C" {
    pub fn zend_print_zval_r_to_str(
        expr: *mut zval,
        indent: ::std::os::raw::c_int,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_print_flat_zval_r(expr: *mut zval);
}
extern "C" {
    pub fn zend_output_debug_string(
        trigger_break: zend_bool,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn zend_activate();
}
extern "C" {
    pub fn zend_deactivate();
}
extern "C" {
    pub fn zend_call_destructors();
}
extern "C" {
    pub fn zend_activate_modules();
}
extern "C" {
    pub fn zend_deactivate_modules();
}
extern "C" {
    pub fn zend_post_deactivate_modules();
}
extern "C" {
    pub static mut zend_printf: ::std::option::Option<
        unsafe extern "C" fn(format: *const ::std::os::raw::c_char, ...) -> size_t,
    >;
}
extern "C" {
    pub static mut zend_write: zend_write_func_t;
}
extern "C" {
    pub static mut zend_fopen: ::std::option::Option<
        unsafe extern "C" fn(
            filename: *const ::std::os::raw::c_char,
            opened_path: *mut *mut zend_string,
        ) -> *mut FILE,
    >;
}
extern "C" {
    pub static mut zend_ticks_function:
        ::std::option::Option<unsafe extern "C" fn(ticks: ::std::os::raw::c_int)>;
}
extern "C" {
    pub static mut zend_interrupt_function:
        ::std::option::Option<unsafe extern "C" fn(execute_data: *mut zend_execute_data)>;
}
extern "C" {
    pub static mut zend_error_cb: ::std::option::Option<
        unsafe extern "C" fn(
            type_: ::std::os::raw::c_int,
            error_filename: *const ::std::os::raw::c_char,
            error_lineno: u32,
            format: *const ::std::os::raw::c_char,
            args: *mut __va_list_tag,
        ),
    >;
}
extern "C" {
    pub static mut zend_on_timeout:
        ::std::option::Option<unsafe extern "C" fn(seconds: ::std::os::raw::c_int)>;
}
extern "C" {
    pub static mut zend_stream_open_function: ::std::option::Option<
        unsafe extern "C" fn(
            filename: *const ::std::os::raw::c_char,
            handle: *mut zend_file_handle,
        ) -> ::std::os::raw::c_int,
    >;
}
extern "C" {
    pub static mut zend_printf_to_smart_string: ::std::option::Option<
        unsafe extern "C" fn(
            buf: *mut smart_string,
            format: *const ::std::os::raw::c_char,
            ap: *mut __va_list_tag,
        ),
    >;
}
extern "C" {
    pub static mut zend_printf_to_smart_str: ::std::option::Option<
        unsafe extern "C" fn(
            buf: *mut smart_str,
            format: *const ::std::os::raw::c_char,
            ap: *mut __va_list_tag,
        ),
    >;
}
extern "C" {
    pub static mut zend_getenv: ::std::option::Option<
        unsafe extern "C" fn(
            name: *mut ::std::os::raw::c_char,
            name_len: size_t,
        ) -> *mut ::std::os::raw::c_char,
    >;
}
extern "C" {
    pub static mut zend_resolve_path: ::std::option::Option<
        unsafe extern "C" fn(
            filename: *const ::std::os::raw::c_char,
            filename_len: size_t,
        ) -> *mut zend_string,
    >;
}
extern "C" {
    pub static mut zend_post_startup_cb:
        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
}
extern "C" {
    pub fn zend_error(type_: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
}
extern "C" {
    pub fn zend_throw_error(
        exception_ce: *mut zend_class_entry,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn zend_type_error(format: *const ::std::os::raw::c_char, ...);
}
extern "C" {
    pub fn zend_internal_type_error(
        throw_exception: zend_bool,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn zend_internal_argument_count_error(
        throw_exception: zend_bool,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn zenderror(error: *const ::std::os::raw::c_char);
}
extern "C" {
    pub static mut zend_standard_class_def: *mut zend_class_entry;
}
extern "C" {
    pub static mut zend_uv: zend_utility_values;
}
extern "C" {
    pub static mut zend_dtrace_enabled: zend_bool;
}
extern "C" {
    pub fn zend_message_dispatcher(message: zend_long, data: *const ::std::os::raw::c_void);
}
extern "C" {
    pub fn zend_get_configuration_directive(name: *mut zend_string) -> *mut zval;
}
pub const zend_error_handling_t_EH_NORMAL: zend_error_handling_t = 0;
pub const zend_error_handling_t_EH_THROW: zend_error_handling_t = 1;
pub type zend_error_handling_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct zend_error_handling {
    pub handling: zend_error_handling_t,
    pub exception: *mut zend_class_entry,
    pub user_handler: zval,
}
#[test]
fn bindgen_test_layout_zend_error_handling() {
    assert_eq!(
        ::std::mem::size_of::<zend_error_handling>(),
        32usize,
        concat!("Size of: ", stringify!(zend_error_handling))
    );
    assert_eq!(
        ::std::mem::align_of::<zend_error_handling>(),
        8usize,
        concat!("Alignment of ", stringify!(zend_error_handling))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<zend_error_handling>())).handling as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(zend_error_handling),
            "::",
            stringify!(handling)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<zend_error_handling>())).exception as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(zend_error_handling),
            "::",
            stringify!(exception)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<zend_error_handling>())).user_handler as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(zend_error_handling),
            "::",
            stringify!(user_handler)
        )
    );
}
extern "C" {
    pub fn zend_save_error_handling(current: *mut zend_error_handling);
}
extern "C" {
    pub fn zend_replace_error_handling(
        error_handling: zend_error_handling_t,
        exception_class: *mut zend_class_entry,
        current: *mut zend_error_handling,
    );
}
extern "C" {
    pub fn zend_restore_error_handling(saved: *mut zend_error_handling);
}
pub type zend_object_read_property_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        member: *mut zval,
        type_: ::std::os::raw::c_int,
        cache_slot: *mut *mut ::std::os::raw::c_void,
        rv: *mut zval,
    ) -> *mut zval,
>;
pub type zend_object_read_dimension_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        offset: *mut zval,
        type_: ::std::os::raw::c_int,
        rv: *mut zval,
    ) -> *mut zval,
>;
pub type zend_object_write_property_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        member: *mut zval,
        value: *mut zval,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    ),
>;
pub type zend_object_write_dimension_t = ::std::option::Option<
    unsafe extern "C" fn(object: *mut zval, offset: *mut zval, value: *mut zval),
>;
pub type zend_object_get_property_ptr_ptr_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        member: *mut zval,
        type_: ::std::os::raw::c_int,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    ) -> *mut zval,
>;
pub type zend_object_set_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zval, value: *mut zval)>;
pub type zend_object_get_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zval, rv: *mut zval) -> *mut zval>;
pub type zend_object_has_property_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        member: *mut zval,
        has_set_exists: ::std::os::raw::c_int,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type zend_object_has_dimension_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        member: *mut zval,
        check_empty: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type zend_object_unset_property_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        member: *mut zval,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    ),
>;
pub type zend_object_unset_dimension_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zval, offset: *mut zval)>;
pub type zend_object_get_properties_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zval) -> *mut HashTable>;
pub type zend_object_get_debug_info_t = ::std::option::Option<
    unsafe extern "C" fn(object: *mut zval, is_temp: *mut ::std::os::raw::c_int) -> *mut HashTable,
>;
pub type zend_object_call_method_t = ::std::option::Option<
    unsafe extern "C" fn(
        method: *mut zend_string,
        object: *mut zend_object,
        execute_data: *mut zend_execute_data,
        return_value: *mut zval,
    ) -> ::std::os::raw::c_int,
>;
pub type zend_object_get_method_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut *mut zend_object,
        method: *mut zend_string,
        key: *const zval,
    ) -> *mut zend_function,
>;
pub type zend_object_get_constructor_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object) -> *mut zend_function>;
pub type zend_object_dtor_obj_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object)>;
pub type zend_object_free_obj_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zend_object)>;
pub type zend_object_clone_obj_t =
    ::std::option::Option<unsafe extern "C" fn(object: *mut zval) -> *mut zend_object>;
pub type zend_object_get_class_name_t =
    ::std::option::Option<unsafe extern "C" fn(object: *const zend_object) -> *mut zend_string>;
pub type zend_object_compare_t = ::std::option::Option<
    unsafe extern "C" fn(object1: *mut zval, object2: *mut zval) -> ::std::os::raw::c_int,
>;
pub type zend_object_compare_zvals_t = ::std::option::Option<
    unsafe extern "C" fn(resul: *mut zval, op1: *mut zval, op2: *mut zval) -> ::std::os::raw::c_int,
>;
pub type zend_object_cast_t = ::std::option::Option<
    unsafe extern "C" fn(
        readobj: *mut zval,
        retval: *mut zval,
        type_: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type zend_object_count_elements_t = ::std::option::Option<
    unsafe extern "C" fn(object: *mut zval, count: *mut zend_long) -> ::std::os::raw::c_int,
>;
pub type zend_object_get_closure_t = ::std::option::Option<
    unsafe extern "C" fn(
        obj: *mut zval,
        ce_ptr: *mut *mut zend_class_entry,
        fptr_ptr: *mut *mut zend_function,
        obj_ptr: *mut *mut zend_object,
    ) -> ::std::os::raw::c_int,
>;
pub type zend_object_get_gc_t = ::std::option::Option<
    unsafe extern "C" fn(
        object: *mut zval,
        table: *mut *mut zval,
        n: *mut ::std::os::raw::c_int,
    ) -> *mut HashTable,
>;
pub type zend_object_do_operation_t = ::std::option::Option<
    unsafe extern "C" fn(
        opcode: zend_uchar,
        result: *mut zval,
        op1: *mut zval,
        op2: *mut zval,
    ) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_object_handlers {
    pub offset: ::std::os::raw::c_int,
    pub free_obj: zend_object_free_obj_t,
    pub dtor_obj: zend_object_dtor_obj_t,
    pub clone_obj: zend_object_clone_obj_t,
    pub read_property: zend_object_read_property_t,
    pub write_property: zend_object_write_property_t,
    pub read_dimension: zend_object_read_dimension_t,
    pub write_dimension: zend_object_write_dimension_t,
    pub get_property_ptr_ptr: zend_object_get_property_ptr_ptr_t,
    pub get: zend_object_get_t,
    pub set: zend_object_set_t,
    pub has_property: zend_object_has_property_t,
    pub unset_property: zend_object_unset_property_t,
    pub has_dimension: zend_object_has_dimension_t,
    pub unset_dimension: zend_object_unset_dimension_t,
    pub get_properties: zend_object_get_properties_t,
    pub get_method: zend_object_get_method_t,
    pub call_method: zend_object_call_method_t,
    pub get_constructor: zend_object_get_constructor_t,
    pub get_class_name: zend_object_get_class_name_t,
    pub compare_objects: zend_object_compare_t,
    pub cast_object: zend_object_cast_t,
    pub count_elements: zend_object_count_elements_t,
    pub get_debug_info: zend_object_get_debug_info_t,
    pub get_closure: zend_object_get_closure_t,
    pub get_gc: zend_object_get_gc_t,
    pub do_operation: zend_object_do_operation_t,
    pub compare: zend_object_compare_zvals_t,
}
#[test]
fn bindgen_test_layout__zend_object_handlers() {
    assert_eq!(
        ::std::mem::size_of::<_zend_object_handlers>(),
        224usize,
        concat!("Size of: ", stringify!(_zend_object_handlers))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_object_handlers>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_object_handlers))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).free_obj as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(free_obj)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).dtor_obj as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(dtor_obj)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).clone_obj as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(clone_obj)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).read_property as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(read_property)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).write_property as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(write_property)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).read_dimension as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(read_dimension)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).write_dimension as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(write_dimension)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).get_property_ptr_ptr as *const _
                as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_property_ptr_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).get as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).set as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(set)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).has_property as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(has_property)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).unset_property as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(unset_property)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).has_dimension as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(has_dimension)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).unset_dimension as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(unset_dimension)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).get_properties as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_properties)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).get_method as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).call_method as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(call_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).get_constructor as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_constructor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).get_class_name as *const _ as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_class_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).compare_objects as *const _ as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(compare_objects)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).cast_object as *const _ as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(cast_object)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).count_elements as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(count_elements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).get_debug_info as *const _ as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_debug_info)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).get_closure as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_closure)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).get_gc as *const _ as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(get_gc)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_object_handlers>())).do_operation as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(do_operation)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_object_handlers>())).compare as *const _ as usize },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_object_handlers),
            "::",
            stringify!(compare)
        )
    );
}
extern "C" {
    pub static std_object_handlers: zend_object_handlers;
}
extern "C" {
    pub fn zend_class_init_statics(ce: *mut zend_class_entry);
}
extern "C" {
    pub fn zend_std_get_static_method(
        ce: *mut zend_class_entry,
        function_name_strval: *mut zend_string,
        key: *const zval,
    ) -> *mut zend_function;
}
extern "C" {
    pub fn zend_std_get_static_property(
        ce: *mut zend_class_entry,
        property_name: *mut zend_string,
        silent: zend_bool,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_std_unset_static_property(
        ce: *mut zend_class_entry,
        property_name: *mut zend_string,
    ) -> zend_bool;
}
extern "C" {
    pub fn zend_std_get_constructor(object: *mut zend_object) -> *mut zend_function;
}
extern "C" {
    pub fn zend_get_property_info(
        ce: *mut zend_class_entry,
        member: *mut zend_string,
        silent: ::std::os::raw::c_int,
    ) -> *mut _zend_property_info;
}
extern "C" {
    pub fn zend_std_get_properties(object: *mut zval) -> *mut HashTable;
}
extern "C" {
    pub fn zend_std_get_gc(
        object: *mut zval,
        table: *mut *mut zval,
        n: *mut ::std::os::raw::c_int,
    ) -> *mut HashTable;
}
extern "C" {
    pub fn zend_std_get_debug_info(
        object: *mut zval,
        is_temp: *mut ::std::os::raw::c_int,
    ) -> *mut HashTable;
}
extern "C" {
    pub fn zend_std_cast_object_tostring(
        readobj: *mut zval,
        writeobj: *mut zval,
        type_: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_std_get_property_ptr_ptr(
        object: *mut zval,
        member: *mut zval,
        type_: ::std::os::raw::c_int,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_std_read_property(
        object: *mut zval,
        member: *mut zval,
        type_: ::std::os::raw::c_int,
        cache_slot: *mut *mut ::std::os::raw::c_void,
        rv: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_std_write_property(
        object: *mut zval,
        member: *mut zval,
        value: *mut zval,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn zend_std_has_property(
        object: *mut zval,
        member: *mut zval,
        has_set_exists: ::std::os::raw::c_int,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_std_unset_property(
        object: *mut zval,
        member: *mut zval,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn zend_std_read_dimension(
        object: *mut zval,
        offset: *mut zval,
        type_: ::std::os::raw::c_int,
        rv: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_std_write_dimension(object: *mut zval, offset: *mut zval, value: *mut zval);
}
extern "C" {
    pub fn zend_std_has_dimension(
        object: *mut zval,
        offset: *mut zval,
        check_empty: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_std_unset_dimension(object: *mut zval, offset: *mut zval);
}
extern "C" {
    pub fn zend_std_get_method(
        obj_ptr: *mut *mut zend_object,
        method_name: *mut zend_string,
        key: *const zval,
    ) -> *mut zend_function;
}
extern "C" {
    pub fn zend_std_get_class_name(zobj: *const zend_object) -> *mut zend_string;
}
extern "C" {
    pub fn zend_std_compare_objects(o1: *mut zval, o2: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_std_get_closure(
        obj: *mut zval,
        ce_ptr: *mut *mut zend_class_entry,
        fptr_ptr: *mut *mut zend_function,
        obj_ptr: *mut *mut zend_object,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_check_private(
        fbc: *mut zend_function,
        ce: *mut zend_class_entry,
        function_name: *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_check_protected(
        ce: *mut zend_class_entry,
        scope: *mut zend_class_entry,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_check_property_access(
        zobj: *mut zend_object,
        prop_info_name: *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_get_call_trampoline_func(
        ce: *mut zend_class_entry,
        method_name: *mut zend_string,
        is_static: ::std::os::raw::c_int,
    ) -> *mut zend_function;
}
extern "C" {
    pub fn zend_get_property_guard(zobj: *mut zend_object, member: *mut zend_string) -> *mut u32;
}
extern "C" {
    pub fn zend_freedtoa(s: *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn zend_dtoa(
        _d: f64,
        mode: ::std::os::raw::c_int,
        ndigits: ::std::os::raw::c_int,
        decpt: *mut ::std::os::raw::c_int,
        sign: *mut ::std::os::raw::c_int,
        rve: *mut *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_strtod(
        s00: *const ::std::os::raw::c_char,
        se: *mut *const ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn zend_hex_strtod(
        str_: *const ::std::os::raw::c_char,
        endptr: *mut *const ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn zend_oct_strtod(
        str_: *const ::std::os::raw::c_char,
        endptr: *mut *const ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn zend_bin_strtod(
        str_: *const ::std::os::raw::c_char,
        endptr: *mut *const ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn zend_startup_strtod() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_shutdown_strtod() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_is_identical(op1: *mut zval, op2: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_memnstr_ex(
        haystack: *const ::std::os::raw::c_char,
        needle: *const ::std::os::raw::c_char,
        needle_len: size_t,
        end: *const ::std::os::raw::c_char,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_memnrstr_ex(
        haystack: *const ::std::os::raw::c_char,
        needle: *const ::std::os::raw::c_char,
        needle_len: size_t,
        end: *const ::std::os::raw::c_char,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_dval_to_lval_slow(d: f64) -> zend_long;
}
extern "C" {
    pub fn zend_is_true(op: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_object_is_true(op: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_str_tolower(str_: *mut ::std::os::raw::c_char, length: size_t);
}
extern "C" {
    pub fn zend_str_tolower_copy(
        dest: *mut ::std::os::raw::c_char,
        source: *const ::std::os::raw::c_char,
        length: size_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_str_tolower_dup(
        source: *const ::std::os::raw::c_char,
        length: size_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_str_tolower_dup_ex(
        source: *const ::std::os::raw::c_char,
        length: size_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_string_tolower_ex(
        str_: *mut zend_string,
        persistent: ::std::os::raw::c_int,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_binary_zval_strcmp(s1: *mut zval, s2: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_zval_strncmp(
        s1: *mut zval,
        s2: *mut zval,
        s3: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_zval_strcasecmp(s1: *mut zval, s2: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_zval_strncasecmp(
        s1: *mut zval,
        s2: *mut zval,
        s3: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_strcmp(
        s1: *const ::std::os::raw::c_char,
        len1: size_t,
        s2: *const ::std::os::raw::c_char,
        len2: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_strncmp(
        s1: *const ::std::os::raw::c_char,
        len1: size_t,
        s2: *const ::std::os::raw::c_char,
        len2: size_t,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_strcasecmp(
        s1: *const ::std::os::raw::c_char,
        len1: size_t,
        s2: *const ::std::os::raw::c_char,
        len2: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_strncasecmp(
        s1: *const ::std::os::raw::c_char,
        len1: size_t,
        s2: *const ::std::os::raw::c_char,
        len2: size_t,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_strcasecmp_l(
        s1: *const ::std::os::raw::c_char,
        len1: size_t,
        s2: *const ::std::os::raw::c_char,
        len2: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_binary_strncasecmp_l(
        s1: *const ::std::os::raw::c_char,
        len1: size_t,
        s2: *const ::std::os::raw::c_char,
        len2: size_t,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zendi_smart_streq(s1: *mut zend_string, s2: *mut zend_string) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zendi_smart_strcmp(s1: *mut zend_string, s2: *mut zend_string) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_compare_symbol_tables(
        ht1: *mut HashTable,
        ht2: *mut HashTable,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_compare_arrays(a1: *mut zval, a2: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_compare_objects(o1: *mut zval, o2: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_atoi(str_: *const ::std::os::raw::c_char, str_len: size_t)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_atol(str_: *const ::std::os::raw::c_char, str_len: size_t) -> zend_long;
}
extern "C" {
    pub fn zend_locale_sprintf_double(op: *mut zval);
}
extern "C" {
    pub fn zend_long_to_str(num: zend_long) -> *mut zend_string;
}
extern "C" {
    pub fn zend_qsort(
        base: *mut ::std::os::raw::c_void,
        nmemb: size_t,
        siz: size_t,
        cmp: compare_func_t,
        swp: swap_func_t,
    );
}
extern "C" {
    pub fn zend_sort(
        base: *mut ::std::os::raw::c_void,
        nmemb: size_t,
        siz: size_t,
        cmp: compare_func_t,
        swp: swap_func_t,
    );
}
extern "C" {
    pub fn zend_insert_sort(
        base: *mut ::std::os::raw::c_void,
        nmemb: size_t,
        siz: size_t,
        cmp: compare_func_t,
        swp: swap_func_t,
    );
}
pub type zend_op_array = _zend_op_array;
pub type zend_op = _zend_op;
#[repr(C)]
#[derive(Copy, Clone)]
pub union _znode_op {
    pub constant: u32,
    pub var: u32,
    pub num: u32,
    pub opline_num: u32,
    pub jmp_offset: u32,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout__znode_op() {
    assert_eq!(
        ::std::mem::size_of::<_znode_op>(),
        4usize,
        concat!("Size of: ", stringify!(_znode_op))
    );
    assert_eq!(
        ::std::mem::align_of::<_znode_op>(),
        4usize,
        concat!("Alignment of ", stringify!(_znode_op))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode_op>())).constant as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode_op),
            "::",
            stringify!(constant)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode_op>())).var as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode_op),
            "::",
            stringify!(var)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode_op>())).num as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode_op),
            "::",
            stringify!(num)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode_op>())).opline_num as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode_op),
            "::",
            stringify!(opline_num)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode_op>())).jmp_offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode_op),
            "::",
            stringify!(jmp_offset)
        )
    );
}
pub type znode_op = _znode_op;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _znode {
    pub op_type: zend_uchar,
    pub flag: zend_uchar,
    pub u: _znode__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _znode__bindgen_ty_1 {
    pub op: znode_op,
    pub constant: zval,
    _bindgen_union_align: [u64; 2usize],
}
#[test]
fn bindgen_test_layout__znode__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_znode__bindgen_ty_1>(),
        16usize,
        concat!("Size of: ", stringify!(_znode__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_znode__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_znode__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode__bindgen_ty_1>())).op as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode__bindgen_ty_1),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode__bindgen_ty_1>())).constant as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode__bindgen_ty_1),
            "::",
            stringify!(constant)
        )
    );
}
#[test]
fn bindgen_test_layout__znode() {
    assert_eq!(
        ::std::mem::size_of::<_znode>(),
        24usize,
        concat!("Size of: ", stringify!(_znode))
    );
    assert_eq!(
        ::std::mem::align_of::<_znode>(),
        8usize,
        concat!("Alignment of ", stringify!(_znode))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode>())).op_type as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode),
            "::",
            stringify!(op_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode>())).flag as *const _ as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_znode),
            "::",
            stringify!(flag)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_znode>())).u as *const _ as usize },
        8usize,
        concat!("Offset of field: ", stringify!(_znode), "::", stringify!(u))
    );
}
pub type znode = _znode;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_ast_znode {
    pub kind: zend_ast_kind,
    pub attr: zend_ast_attr,
    pub lineno: u32,
    pub node: znode,
}
#[test]
fn bindgen_test_layout__zend_ast_znode() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ast_znode>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_ast_znode))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ast_znode>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ast_znode))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).kind as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_znode),
            "::",
            stringify!(kind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).attr as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_znode),
            "::",
            stringify!(attr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).lineno as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_znode),
            "::",
            stringify!(lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ast_znode>())).node as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ast_znode),
            "::",
            stringify!(node)
        )
    );
}
pub type zend_ast_znode = _zend_ast_znode;
extern "C" {
    pub fn zend_ast_create_znode(node: *mut znode) -> *mut zend_ast;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_declarables {
    pub ticks: zend_long,
}
#[test]
fn bindgen_test_layout__zend_declarables() {
    assert_eq!(
        ::std::mem::size_of::<_zend_declarables>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_declarables))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_declarables>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_declarables))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_declarables>())).ticks as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_declarables),
            "::",
            stringify!(ticks)
        )
    );
}
pub type zend_declarables = _zend_declarables;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_file_context {
    pub declarables: zend_declarables,
    pub implementing_class: znode,
    pub current_namespace: *mut zend_string,
    pub in_namespace: zend_bool,
    pub has_bracketed_namespaces: zend_bool,
    pub imports: *mut HashTable,
    pub imports_function: *mut HashTable,
    pub imports_const: *mut HashTable,
    pub seen_symbols: HashTable,
}
#[test]
fn bindgen_test_layout__zend_file_context() {
    assert_eq!(
        ::std::mem::size_of::<_zend_file_context>(),
        128usize,
        concat!("Size of: ", stringify!(_zend_file_context))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_file_context>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_file_context))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).declarables as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(declarables)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_context>())).implementing_class as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(implementing_class)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_context>())).current_namespace as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(current_namespace)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).in_namespace as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(in_namespace)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_context>())).has_bracketed_namespaces as *const _
                as usize
        },
        41usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(has_bracketed_namespaces)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).imports as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(imports)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_context>())).imports_function as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(imports_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_file_context>())).imports_const as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(imports_const)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_file_context>())).seen_symbols as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_file_context),
            "::",
            stringify!(seen_symbols)
        )
    );
}
pub type zend_file_context = _zend_file_context;
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_parser_stack_elem {
    pub ast: *mut zend_ast,
    pub str_: *mut zend_string,
    pub num: zend_ulong,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__zend_parser_stack_elem() {
    assert_eq!(
        ::std::mem::size_of::<_zend_parser_stack_elem>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_parser_stack_elem))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_parser_stack_elem>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_parser_stack_elem))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).ast as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_parser_stack_elem),
            "::",
            stringify!(ast)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).str_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_parser_stack_elem),
            "::",
            stringify!(str_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_parser_stack_elem>())).num as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_parser_stack_elem),
            "::",
            stringify!(num)
        )
    );
}
pub type zend_parser_stack_elem = _zend_parser_stack_elem;
extern "C" {
    pub fn zend_compile_top_stmt(ast: *mut zend_ast);
}
extern "C" {
    pub fn zend_compile_stmt(ast: *mut zend_ast);
}
extern "C" {
    pub fn zend_compile_expr(node: *mut znode, ast: *mut zend_ast);
}
extern "C" {
    pub fn zend_compile_var(node: *mut znode, ast: *mut zend_ast, type_: u32);
}
extern "C" {
    pub fn zend_eval_const_expr(ast_ptr: *mut *mut zend_ast);
}
extern "C" {
    pub fn zend_const_expr_to_zval(result: *mut zval, ast: *mut zend_ast);
}
pub type user_opcode_handler_t = ::std::option::Option<
    unsafe extern "C" fn(execute_data: *mut zend_execute_data) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_op {
    pub handler: *const ::std::os::raw::c_void,
    pub op1: znode_op,
    pub op2: znode_op,
    pub result: znode_op,
    pub extended_value: u32,
    pub lineno: u32,
    pub opcode: zend_uchar,
    pub op1_type: zend_uchar,
    pub op2_type: zend_uchar,
    pub result_type: zend_uchar,
}
#[test]
fn bindgen_test_layout__zend_op() {
    assert_eq!(
        ::std::mem::size_of::<_zend_op>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_op))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_op>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_op))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).handler as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(handler)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).op1 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(op1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).op2 as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(op2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).result as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(result)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).extended_value as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(extended_value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).lineno as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).opcode as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(opcode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).op1_type as *const _ as usize },
        29usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(op1_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).op2_type as *const _ as usize },
        30usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(op2_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op>())).result_type as *const _ as usize },
        31usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op),
            "::",
            stringify!(result_type)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_brk_cont_element {
    pub start: ::std::os::raw::c_int,
    pub cont: ::std::os::raw::c_int,
    pub brk: ::std::os::raw::c_int,
    pub parent: ::std::os::raw::c_int,
    pub is_switch: zend_bool,
}
#[test]
fn bindgen_test_layout__zend_brk_cont_element() {
    assert_eq!(
        ::std::mem::size_of::<_zend_brk_cont_element>(),
        20usize,
        concat!("Size of: ", stringify!(_zend_brk_cont_element))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_brk_cont_element>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_brk_cont_element))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).start as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_brk_cont_element),
            "::",
            stringify!(start)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).cont as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_brk_cont_element),
            "::",
            stringify!(cont)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).brk as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_brk_cont_element),
            "::",
            stringify!(brk)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_brk_cont_element>())).parent as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_brk_cont_element),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_brk_cont_element>())).is_switch as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_brk_cont_element),
            "::",
            stringify!(is_switch)
        )
    );
}
pub type zend_brk_cont_element = _zend_brk_cont_element;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_label {
    pub brk_cont: ::std::os::raw::c_int,
    pub opline_num: u32,
}
#[test]
fn bindgen_test_layout__zend_label() {
    assert_eq!(
        ::std::mem::size_of::<_zend_label>(),
        8usize,
        concat!("Size of: ", stringify!(_zend_label))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_label>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_label))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_label>())).brk_cont as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_label),
            "::",
            stringify!(brk_cont)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_label>())).opline_num as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_label),
            "::",
            stringify!(opline_num)
        )
    );
}
pub type zend_label = _zend_label;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_try_catch_element {
    pub try_op: u32,
    pub catch_op: u32,
    pub finally_op: u32,
    pub finally_end: u32,
}
#[test]
fn bindgen_test_layout__zend_try_catch_element() {
    assert_eq!(
        ::std::mem::size_of::<_zend_try_catch_element>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_try_catch_element))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_try_catch_element>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_try_catch_element))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_try_catch_element>())).try_op as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_try_catch_element),
            "::",
            stringify!(try_op)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_try_catch_element>())).catch_op as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_try_catch_element),
            "::",
            stringify!(catch_op)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_try_catch_element>())).finally_op as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_try_catch_element),
            "::",
            stringify!(finally_op)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_try_catch_element>())).finally_end as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_try_catch_element),
            "::",
            stringify!(finally_end)
        )
    );
}
pub type zend_try_catch_element = _zend_try_catch_element;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_live_range {
    pub var: u32,
    pub start: u32,
    pub end: u32,
}
#[test]
fn bindgen_test_layout__zend_live_range() {
    assert_eq!(
        ::std::mem::size_of::<_zend_live_range>(),
        12usize,
        concat!("Size of: ", stringify!(_zend_live_range))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_live_range>(),
        4usize,
        concat!("Alignment of ", stringify!(_zend_live_range))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_live_range>())).var as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_live_range),
            "::",
            stringify!(var)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_live_range>())).start as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_live_range),
            "::",
            stringify!(start)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_live_range>())).end as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_live_range),
            "::",
            stringify!(end)
        )
    );
}
pub type zend_live_range = _zend_live_range;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_oparray_context {
    pub opcodes_size: u32,
    pub vars_size: ::std::os::raw::c_int,
    pub literals_size: ::std::os::raw::c_int,
    pub backpatch_count: ::std::os::raw::c_int,
    pub fast_call_var: u32,
    pub try_catch_offset: u32,
    pub current_brk_cont: ::std::os::raw::c_int,
    pub last_brk_cont: ::std::os::raw::c_int,
    pub brk_cont_array: *mut zend_brk_cont_element,
    pub labels: *mut HashTable,
}
#[test]
fn bindgen_test_layout__zend_oparray_context() {
    assert_eq!(
        ::std::mem::size_of::<_zend_oparray_context>(),
        48usize,
        concat!("Size of: ", stringify!(_zend_oparray_context))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_oparray_context>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_oparray_context))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).opcodes_size as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(opcodes_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_oparray_context>())).vars_size as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(vars_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).literals_size as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(literals_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).backpatch_count as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(backpatch_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).fast_call_var as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(fast_call_var)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).try_catch_offset as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(try_catch_offset)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).current_brk_cont as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(current_brk_cont)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).last_brk_cont as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(last_brk_cont)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_oparray_context>())).brk_cont_array as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(brk_cont_array)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_oparray_context>())).labels as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_oparray_context),
            "::",
            stringify!(labels)
        )
    );
}
pub type zend_oparray_context = _zend_oparray_context;
extern "C" {
    pub fn zend_visibility_string(fn_flags: u32) -> *mut ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_property_info {
    pub offset: u32,
    pub flags: u32,
    pub name: *mut zend_string,
    pub doc_comment: *mut zend_string,
    pub ce: *mut zend_class_entry,
}
#[test]
fn bindgen_test_layout__zend_property_info() {
    assert_eq!(
        ::std::mem::size_of::<_zend_property_info>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_property_info))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_property_info>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_property_info))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_property_info),
            "::",
            stringify!(offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).flags as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_property_info),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).name as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_property_info),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).doc_comment as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_property_info),
            "::",
            stringify!(doc_comment)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_property_info>())).ce as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_property_info),
            "::",
            stringify!(ce)
        )
    );
}
pub type zend_property_info = _zend_property_info;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_class_constant {
    pub value: zval,
    pub doc_comment: *mut zend_string,
    pub ce: *mut zend_class_entry,
}
#[test]
fn bindgen_test_layout__zend_class_constant() {
    assert_eq!(
        ::std::mem::size_of::<_zend_class_constant>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_class_constant))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_class_constant>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_class_constant))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_constant>())).value as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_constant),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_class_constant>())).doc_comment as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_constant),
            "::",
            stringify!(doc_comment)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_class_constant>())).ce as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_class_constant),
            "::",
            stringify!(ce)
        )
    );
}
pub type zend_class_constant = _zend_class_constant;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_internal_arg_info {
    pub name: *const ::std::os::raw::c_char,
    pub type_: zend_type,
    pub pass_by_reference: zend_uchar,
    pub is_variadic: zend_bool,
}
#[test]
fn bindgen_test_layout__zend_internal_arg_info() {
    assert_eq!(
        ::std::mem::size_of::<_zend_internal_arg_info>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_internal_arg_info))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_internal_arg_info>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_internal_arg_info))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_internal_arg_info>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_arg_info),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_internal_arg_info>())).type_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_arg_info),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_arg_info>())).pass_by_reference as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_arg_info),
            "::",
            stringify!(pass_by_reference)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_arg_info>())).is_variadic as *const _ as usize
        },
        17usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_arg_info),
            "::",
            stringify!(is_variadic)
        )
    );
}
pub type zend_internal_arg_info = _zend_internal_arg_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_arg_info {
    pub name: *mut zend_string,
    pub type_: zend_type,
    pub pass_by_reference: zend_uchar,
    pub is_variadic: zend_bool,
}
#[test]
fn bindgen_test_layout__zend_arg_info() {
    assert_eq!(
        ::std::mem::size_of::<_zend_arg_info>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_arg_info))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_arg_info>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_arg_info))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_arg_info),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).type_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_arg_info),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_arg_info>())).pass_by_reference as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_arg_info),
            "::",
            stringify!(pass_by_reference)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_arg_info>())).is_variadic as *const _ as usize },
        17usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_arg_info),
            "::",
            stringify!(is_variadic)
        )
    );
}
pub type zend_arg_info = _zend_arg_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_internal_function_info {
    pub required_num_args: zend_uintptr_t,
    pub type_: zend_type,
    pub return_reference: zend_bool,
    pub _is_variadic: zend_bool,
}
#[test]
fn bindgen_test_layout__zend_internal_function_info() {
    assert_eq!(
        ::std::mem::size_of::<_zend_internal_function_info>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_internal_function_info))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_internal_function_info>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_internal_function_info))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function_info>())).required_num_args as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function_info),
            "::",
            stringify!(required_num_args)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function_info>())).type_ as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function_info),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function_info>())).return_reference as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function_info),
            "::",
            stringify!(return_reference)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function_info>()))._is_variadic as *const _
                as usize
        },
        17usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function_info),
            "::",
            stringify!(_is_variadic)
        )
    );
}
pub type zend_internal_function_info = _zend_internal_function_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_op_array {
    pub type_: zend_uchar,
    pub arg_flags: [zend_uchar; 3usize],
    pub fn_flags: u32,
    pub function_name: *mut zend_string,
    pub scope: *mut zend_class_entry,
    pub prototype: *mut zend_function,
    pub num_args: u32,
    pub required_num_args: u32,
    pub arg_info: *mut zend_arg_info,
    pub cache_size: ::std::os::raw::c_int,
    pub last_var: ::std::os::raw::c_int,
    pub T: u32,
    pub last: u32,
    pub opcodes: *mut zend_op,
    pub run_time_cache: *mut *mut ::std::os::raw::c_void,
    pub static_variables: *mut HashTable,
    pub vars: *mut *mut zend_string,
    pub refcount: *mut u32,
    pub last_live_range: ::std::os::raw::c_int,
    pub last_try_catch: ::std::os::raw::c_int,
    pub live_range: *mut zend_live_range,
    pub try_catch_array: *mut zend_try_catch_element,
    pub filename: *mut zend_string,
    pub line_start: u32,
    pub line_end: u32,
    pub doc_comment: *mut zend_string,
    pub last_literal: ::std::os::raw::c_int,
    pub literals: *mut zval,
    pub reserved: [*mut ::std::os::raw::c_void; 6usize],
}
#[test]
fn bindgen_test_layout__zend_op_array() {
    assert_eq!(
        ::std::mem::size_of::<_zend_op_array>(),
        216usize,
        concat!("Size of: ", stringify!(_zend_op_array))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_op_array>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_op_array))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).arg_flags as *const _ as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(arg_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).fn_flags as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(fn_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).function_name as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(function_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).scope as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(scope)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).prototype as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(prototype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).num_args as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(num_args)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_op_array>())).required_num_args as *const _ as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(required_num_args)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).arg_info as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(arg_info)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).cache_size as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(cache_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_var as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(last_var)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).T as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(T)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(last)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).opcodes as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(opcodes)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).run_time_cache as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(run_time_cache)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).static_variables as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(static_variables)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).vars as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(vars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).refcount as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(refcount)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_live_range as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(last_live_range)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_try_catch as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(last_try_catch)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).live_range as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(live_range)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).try_catch_array as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(try_catch_array)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).filename as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(filename)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).line_start as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(line_start)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).line_end as *const _ as usize },
        140usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(line_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).doc_comment as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(doc_comment)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).last_literal as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(last_literal)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).literals as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(literals)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_op_array>())).reserved as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_op_array),
            "::",
            stringify!(reserved)
        )
    );
}
pub type zif_handler = ::std::option::Option<
    unsafe extern "C" fn(execute_data: *mut zend_execute_data, return_value: *mut zval),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_internal_function {
    pub type_: zend_uchar,
    pub arg_flags: [zend_uchar; 3usize],
    pub fn_flags: u32,
    pub function_name: *mut zend_string,
    pub scope: *mut zend_class_entry,
    pub prototype: *mut zend_function,
    pub num_args: u32,
    pub required_num_args: u32,
    pub arg_info: *mut zend_internal_arg_info,
    pub handler: zif_handler,
    pub module: *mut _zend_module_entry,
    pub reserved: [*mut ::std::os::raw::c_void; 6usize],
}
#[test]
fn bindgen_test_layout__zend_internal_function() {
    assert_eq!(
        ::std::mem::size_of::<_zend_internal_function>(),
        112usize,
        concat!("Size of: ", stringify!(_zend_internal_function))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_internal_function>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_internal_function))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).arg_flags as *const _ as usize
        },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(arg_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).fn_flags as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(fn_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).function_name as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(function_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).scope as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(scope)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).prototype as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(prototype)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).num_args as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(num_args)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).required_num_args as *const _
                as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(required_num_args)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).arg_info as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(arg_info)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).handler as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(handler)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_internal_function>())).module as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(module)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_internal_function>())).reserved as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_internal_function),
            "::",
            stringify!(reserved)
        )
    );
}
pub type zend_internal_function = _zend_internal_function;
#[repr(C)]
#[derive(Copy, Clone)]
pub union _zend_function {
    pub type_: zend_uchar,
    pub quick_arg_flags: u32,
    pub common: _zend_function__bindgen_ty_1,
    pub op_array: zend_op_array,
    pub internal_function: zend_internal_function,
    _bindgen_union_align: [u64; 27usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_function__bindgen_ty_1 {
    pub type_: zend_uchar,
    pub arg_flags: [zend_uchar; 3usize],
    pub fn_flags: u32,
    pub function_name: *mut zend_string,
    pub scope: *mut zend_class_entry,
    pub prototype: *mut _zend_function,
    pub num_args: u32,
    pub required_num_args: u32,
    pub arg_info: *mut zend_arg_info,
}
#[test]
fn bindgen_test_layout__zend_function__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_zend_function__bindgen_ty_1>(),
        48usize,
        concat!("Size of: ", stringify!(_zend_function__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_function__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_function__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).type_ as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).arg_flags as *const _ as usize
        },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(arg_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).fn_flags as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(fn_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).function_name as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(function_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).scope as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(scope)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).prototype as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(prototype)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).num_args as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(num_args)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).required_num_args as *const _
                as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(required_num_args)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function__bindgen_ty_1>())).arg_info as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function__bindgen_ty_1),
            "::",
            stringify!(arg_info)
        )
    );
}
#[test]
fn bindgen_test_layout__zend_function() {
    assert_eq!(
        ::std::mem::size_of::<_zend_function>(),
        216usize,
        concat!("Size of: ", stringify!(_zend_function))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_function>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_function))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function>())).quick_arg_flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function),
            "::",
            stringify!(quick_arg_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function>())).common as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function),
            "::",
            stringify!(common)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function>())).op_array as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function),
            "::",
            stringify!(op_array)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_function>())).internal_function as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function),
            "::",
            stringify!(internal_function)
        )
    );
}
pub const _zend_call_kind_ZEND_CALL_NESTED_FUNCTION: _zend_call_kind = 0;
pub const _zend_call_kind_ZEND_CALL_NESTED_CODE: _zend_call_kind = 1;
pub const _zend_call_kind_ZEND_CALL_TOP_FUNCTION: _zend_call_kind = 2;
pub const _zend_call_kind_ZEND_CALL_TOP_CODE: _zend_call_kind = 3;
pub type _zend_call_kind = ::std::os::raw::c_uint;
pub use self::_zend_call_kind as zend_call_kind;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_execute_data {
    pub opline: *const zend_op,
    pub call: *mut zend_execute_data,
    pub return_value: *mut zval,
    pub func: *mut zend_function,
    pub This: zval,
    pub prev_execute_data: *mut zend_execute_data,
    pub symbol_table: *mut zend_array,
    pub run_time_cache: *mut *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_execute_data() {
    assert_eq!(
        ::std::mem::size_of::<_zend_execute_data>(),
        72usize,
        concat!("Size of: ", stringify!(_zend_execute_data))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_execute_data>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_execute_data))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).opline as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(opline)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).call as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(call)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).return_value as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(return_value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).func as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(func)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).This as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(This)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_execute_data>())).prev_execute_data as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(prev_execute_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_execute_data>())).symbol_table as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(symbol_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_execute_data>())).run_time_cache as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_execute_data),
            "::",
            stringify!(run_time_cache)
        )
    );
}
pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __jmp_buf_tag {
    pub __jmpbuf: __jmp_buf,
    pub __mask_was_saved: ::std::os::raw::c_int,
    pub __saved_mask: __sigset_t,
}
#[test]
fn bindgen_test_layout___jmp_buf_tag() {
    assert_eq!(
        ::std::mem::size_of::<__jmp_buf_tag>(),
        200usize,
        concat!("Size of: ", stringify!(__jmp_buf_tag))
    );
    assert_eq!(
        ::std::mem::align_of::<__jmp_buf_tag>(),
        8usize,
        concat!("Alignment of ", stringify!(__jmp_buf_tag))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__jmpbuf as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__jmp_buf_tag),
            "::",
            stringify!(__jmpbuf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__mask_was_saved as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(__jmp_buf_tag),
            "::",
            stringify!(__mask_was_saved)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__saved_mask as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(__jmp_buf_tag),
            "::",
            stringify!(__saved_mask)
        )
    );
}
pub type jmp_buf = [__jmp_buf_tag; 1usize];
pub type zend_compiler_globals = _zend_compiler_globals;
pub type zend_executor_globals = _zend_executor_globals;
pub type zend_php_scanner_globals = _zend_php_scanner_globals;
pub type zend_ini_scanner_globals = _zend_ini_scanner_globals;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_compiler_globals {
    pub loop_var_stack: zend_stack,
    pub active_class_entry: *mut zend_class_entry,
    pub compiled_filename: *mut zend_string,
    pub zend_lineno: ::std::os::raw::c_int,
    pub active_op_array: *mut zend_op_array,
    pub function_table: *mut HashTable,
    pub class_table: *mut HashTable,
    pub filenames_table: HashTable,
    pub auto_globals: *mut HashTable,
    pub parse_error: zend_bool,
    pub in_compilation: zend_bool,
    pub short_tags: zend_bool,
    pub unclean_shutdown: zend_bool,
    pub ini_parser_unbuffered_errors: zend_bool,
    pub open_files: zend_llist,
    pub ini_parser_param: *mut _zend_ini_parser_param,
    pub start_lineno: u32,
    pub increment_lineno: zend_bool,
    pub doc_comment: *mut zend_string,
    pub extra_fn_flags: u32,
    pub compiler_options: u32,
    pub context: zend_oparray_context,
    pub file_context: zend_file_context,
    pub arena: *mut zend_arena,
    pub interned_strings: HashTable,
    pub script_encoding_list: *mut *const zend_encoding,
    pub script_encoding_list_size: size_t,
    pub multibyte: zend_bool,
    pub detect_unicode: zend_bool,
    pub encoding_declared: zend_bool,
    pub ast: *mut zend_ast,
    pub ast_arena: *mut zend_arena,
    pub delayed_oplines_stack: zend_stack,
}
#[test]
fn bindgen_test_layout__zend_compiler_globals() {
    assert_eq!(
        ::std::mem::size_of::<_zend_compiler_globals>(),
        536usize,
        concat!("Size of: ", stringify!(_zend_compiler_globals))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_compiler_globals>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_compiler_globals))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).loop_var_stack as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(loop_var_stack)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).active_class_entry as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(active_class_entry)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).compiled_filename as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(compiled_filename)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).zend_lineno as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(zend_lineno)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).active_op_array as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(active_op_array)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).function_table as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(function_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).class_table as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(class_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).filenames_table as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(filenames_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).auto_globals as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(auto_globals)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).parse_error as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(parse_error)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).in_compilation as *const _ as usize
        },
        137usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(in_compilation)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).short_tags as *const _ as usize
        },
        138usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(short_tags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).unclean_shutdown as *const _ as usize
        },
        139usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(unclean_shutdown)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).ini_parser_unbuffered_errors
                as *const _ as usize
        },
        140usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(ini_parser_unbuffered_errors)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).open_files as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(open_files)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).ini_parser_param as *const _ as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(ini_parser_param)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).start_lineno as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(start_lineno)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).increment_lineno as *const _ as usize
        },
        212usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(increment_lineno)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).doc_comment as *const _ as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(doc_comment)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).extra_fn_flags as *const _ as usize
        },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(extra_fn_flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).compiler_options as *const _ as usize
        },
        228usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(compiler_options)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).context as *const _ as usize },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).file_context as *const _ as usize
        },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(file_context)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).arena as *const _ as usize },
        408usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(arena)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).interned_strings as *const _ as usize
        },
        416usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(interned_strings)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).script_encoding_list as *const _
                as usize
        },
        472usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(script_encoding_list)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).script_encoding_list_size as *const _
                as usize
        },
        480usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(script_encoding_list_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).multibyte as *const _ as usize
        },
        488usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(multibyte)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).detect_unicode as *const _ as usize
        },
        489usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(detect_unicode)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).encoding_declared as *const _
                as usize
        },
        490usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(encoding_declared)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_compiler_globals>())).ast as *const _ as usize },
        496usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(ast)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).ast_arena as *const _ as usize
        },
        504usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(ast_arena)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_compiler_globals>())).delayed_oplines_stack as *const _
                as usize
        },
        512usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_compiler_globals),
            "::",
            stringify!(delayed_oplines_stack)
        )
    );
}
extern "C" {
    pub static mut compiler_globals: _zend_compiler_globals;
}
extern "C" {
    pub fn zendparse() -> ::std::os::raw::c_int;
}
extern "C" {
    pub static mut executor_globals: zend_executor_globals;
}
extern "C" {
    pub static mut language_scanner_globals: zend_php_scanner_globals;
}
extern "C" {
    pub static mut ini_scanner_globals: zend_ini_scanner_globals;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_stack {
    pub size: ::std::os::raw::c_int,
    pub top: ::std::os::raw::c_int,
    pub max: ::std::os::raw::c_int,
    pub elements: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_stack() {
    assert_eq!(
        ::std::mem::size_of::<_zend_stack>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_stack))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_stack>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_stack))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stack>())).size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stack),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stack>())).top as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stack),
            "::",
            stringify!(top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stack>())).max as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stack),
            "::",
            stringify!(max)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_stack>())).elements as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_stack),
            "::",
            stringify!(elements)
        )
    );
}
pub type zend_stack = _zend_stack;
extern "C" {
    pub fn zend_stack_init(
        stack: *mut zend_stack,
        size: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stack_push(
        stack: *mut zend_stack,
        element: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stack_top(stack: *const zend_stack) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_stack_del_top(stack: *mut zend_stack) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stack_int_top(stack: *const zend_stack) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stack_is_empty(stack: *const zend_stack) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stack_destroy(stack: *mut zend_stack) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stack_base(stack: *const zend_stack) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_stack_count(stack: *const zend_stack) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_stack_apply(
        stack: *mut zend_stack,
        type_: ::std::os::raw::c_int,
        apply_function: ::std::option::Option<
            unsafe extern "C" fn(element: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
        >,
    );
}
extern "C" {
    pub fn zend_stack_apply_with_argument(
        stack: *mut zend_stack,
        type_: ::std::os::raw::c_int,
        apply_function: ::std::option::Option<
            unsafe extern "C" fn(
                element: *mut ::std::os::raw::c_void,
                arg: *mut ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
        arg: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn zend_stack_clean(
        stack: *mut zend_stack,
        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
        free_elements: zend_bool,
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ptr_stack {
    pub top: ::std::os::raw::c_int,
    pub max: ::std::os::raw::c_int,
    pub elements: *mut *mut ::std::os::raw::c_void,
    pub top_element: *mut *mut ::std::os::raw::c_void,
    pub persistent: zend_bool,
}
#[test]
fn bindgen_test_layout__zend_ptr_stack() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ptr_stack>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_ptr_stack))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ptr_stack>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ptr_stack))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).top as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ptr_stack),
            "::",
            stringify!(top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).max as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ptr_stack),
            "::",
            stringify!(max)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).elements as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ptr_stack),
            "::",
            stringify!(elements)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).top_element as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ptr_stack),
            "::",
            stringify!(top_element)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ptr_stack>())).persistent as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ptr_stack),
            "::",
            stringify!(persistent)
        )
    );
}
pub type zend_ptr_stack = _zend_ptr_stack;
extern "C" {
    pub fn zend_ptr_stack_init(stack: *mut zend_ptr_stack);
}
extern "C" {
    pub fn zend_ptr_stack_init_ex(stack: *mut zend_ptr_stack, persistent: zend_bool);
}
extern "C" {
    pub fn zend_ptr_stack_n_push(stack: *mut zend_ptr_stack, count: ::std::os::raw::c_int, ...);
}
extern "C" {
    pub fn zend_ptr_stack_n_pop(stack: *mut zend_ptr_stack, count: ::std::os::raw::c_int, ...);
}
extern "C" {
    pub fn zend_ptr_stack_destroy(stack: *mut zend_ptr_stack);
}
extern "C" {
    pub fn zend_ptr_stack_apply(
        stack: *mut zend_ptr_stack,
        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    );
}
extern "C" {
    pub fn zend_ptr_stack_reverse_apply(
        stack: *mut zend_ptr_stack,
        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    );
}
extern "C" {
    pub fn zend_ptr_stack_clean(
        stack: *mut zend_ptr_stack,
        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
        free_elements: zend_bool,
    );
}
extern "C" {
    pub fn zend_ptr_stack_num_elements(stack: *mut zend_ptr_stack) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_object_std_init(object: *mut zend_object, ce: *mut zend_class_entry);
}
extern "C" {
    pub fn zend_objects_new(ce: *mut zend_class_entry) -> *mut zend_object;
}
extern "C" {
    pub fn zend_objects_clone_members(new_object: *mut zend_object, old_object: *mut zend_object);
}
extern "C" {
    pub fn zend_object_std_dtor(object: *mut zend_object);
}
extern "C" {
    pub fn zend_objects_destroy_object(object: *mut zend_object);
}
extern "C" {
    pub fn zend_objects_clone_obj(object: *mut zval) -> *mut zend_object;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_objects_store {
    pub object_buckets: *mut *mut zend_object,
    pub top: u32,
    pub size: u32,
    pub free_list_head: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__zend_objects_store() {
    assert_eq!(
        ::std::mem::size_of::<_zend_objects_store>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_objects_store))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_objects_store>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_objects_store))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_objects_store>())).object_buckets as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_objects_store),
            "::",
            stringify!(object_buckets)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_objects_store>())).top as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_objects_store),
            "::",
            stringify!(top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_objects_store>())).size as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_objects_store),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_objects_store>())).free_list_head as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_objects_store),
            "::",
            stringify!(free_list_head)
        )
    );
}
pub type zend_objects_store = _zend_objects_store;
extern "C" {
    pub fn zend_objects_store_init(objects: *mut zend_objects_store, init_size: u32);
}
extern "C" {
    pub fn zend_objects_store_call_destructors(objects: *mut zend_objects_store);
}
extern "C" {
    pub fn zend_objects_store_mark_destructed(objects: *mut zend_objects_store);
}
extern "C" {
    pub fn zend_objects_store_free_object_storage(
        objects: *mut zend_objects_store,
        fast_shutdown: zend_bool,
    );
}
extern "C" {
    pub fn zend_objects_store_destroy(objects: *mut zend_objects_store);
}
extern "C" {
    pub fn zend_objects_store_put(object: *mut zend_object);
}
extern "C" {
    pub fn zend_objects_store_del(object: *mut zend_object);
}
extern "C" {
    pub fn zend_init_fpu();
}
extern "C" {
    pub fn zend_shutdown_fpu();
}
extern "C" {
    pub fn zend_ensure_fpu_mode();
}
pub type fpu_control_t = ::std::os::raw::c_ushort;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_encoding {
    _unused: [u8; 0],
}
pub type zend_encoding = _zend_encoding;
pub type zend_encoding_filter = ::std::option::Option<
    unsafe extern "C" fn(
        str_: *mut *mut ::std::os::raw::c_uchar,
        str_length: *mut size_t,
        buf: *const ::std::os::raw::c_uchar,
        length: size_t,
    ) -> size_t,
>;
pub type zend_encoding_fetcher = ::std::option::Option<
    unsafe extern "C" fn(encoding_name: *const ::std::os::raw::c_char) -> *const zend_encoding,
>;
pub type zend_encoding_name_getter = ::std::option::Option<
    unsafe extern "C" fn(encoding: *const zend_encoding) -> *const ::std::os::raw::c_char,
>;
pub type zend_encoding_lexer_compatibility_checker = ::std::option::Option<
    unsafe extern "C" fn(encoding: *const zend_encoding) -> ::std::os::raw::c_int,
>;
pub type zend_encoding_detector = ::std::option::Option<
    unsafe extern "C" fn(
        string: *const ::std::os::raw::c_uchar,
        length: size_t,
        list: *mut *const zend_encoding,
        list_size: size_t,
    ) -> *const zend_encoding,
>;
pub type zend_encoding_converter = ::std::option::Option<
    unsafe extern "C" fn(
        to: *mut *mut ::std::os::raw::c_uchar,
        to_length: *mut size_t,
        from: *const ::std::os::raw::c_uchar,
        from_length: size_t,
        encoding_to: *const zend_encoding,
        encoding_from: *const zend_encoding,
    ) -> size_t,
>;
pub type zend_encoding_list_parser = ::std::option::Option<
    unsafe extern "C" fn(
        encoding_list: *const ::std::os::raw::c_char,
        encoding_list_len: size_t,
        return_list: *mut *mut *const zend_encoding,
        return_size: *mut size_t,
        persistent: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type zend_encoding_internal_encoding_getter =
    ::std::option::Option<unsafe extern "C" fn() -> *const zend_encoding>;
pub type zend_encoding_internal_encoding_setter = ::std::option::Option<
    unsafe extern "C" fn(encoding: *const zend_encoding) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_multibyte_functions {
    pub provider_name: *const ::std::os::raw::c_char,
    pub encoding_fetcher: zend_encoding_fetcher,
    pub encoding_name_getter: zend_encoding_name_getter,
    pub lexer_compatibility_checker: zend_encoding_lexer_compatibility_checker,
    pub encoding_detector: zend_encoding_detector,
    pub encoding_converter: zend_encoding_converter,
    pub encoding_list_parser: zend_encoding_list_parser,
    pub internal_encoding_getter: zend_encoding_internal_encoding_getter,
    pub internal_encoding_setter: zend_encoding_internal_encoding_setter,
}
#[test]
fn bindgen_test_layout__zend_multibyte_functions() {
    assert_eq!(
        ::std::mem::size_of::<_zend_multibyte_functions>(),
        72usize,
        concat!("Size of: ", stringify!(_zend_multibyte_functions))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_multibyte_functions>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_multibyte_functions))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).provider_name as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(provider_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_fetcher as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(encoding_fetcher)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_name_getter as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(encoding_name_getter)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).lexer_compatibility_checker
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(lexer_compatibility_checker)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_detector as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(encoding_detector)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_converter as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(encoding_converter)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).encoding_list_parser as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(encoding_list_parser)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).internal_encoding_getter
                as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(internal_encoding_getter)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_multibyte_functions>())).internal_encoding_setter
                as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_multibyte_functions),
            "::",
            stringify!(internal_encoding_setter)
        )
    );
}
pub type zend_multibyte_functions = _zend_multibyte_functions;
extern "C" {
    pub static mut zend_multibyte_encoding_utf32be: *const zend_encoding;
}
extern "C" {
    pub static mut zend_multibyte_encoding_utf32le: *const zend_encoding;
}
extern "C" {
    pub static mut zend_multibyte_encoding_utf16be: *const zend_encoding;
}
extern "C" {
    pub static mut zend_multibyte_encoding_utf16le: *const zend_encoding;
}
extern "C" {
    pub static mut zend_multibyte_encoding_utf8: *const zend_encoding;
}
extern "C" {
    pub fn zend_multibyte_set_functions(
        functions: *const zend_multibyte_functions,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_multibyte_restore_functions();
}
extern "C" {
    pub fn zend_multibyte_get_functions() -> *const zend_multibyte_functions;
}
extern "C" {
    pub fn zend_multibyte_fetch_encoding(
        name: *const ::std::os::raw::c_char,
    ) -> *const zend_encoding;
}
extern "C" {
    pub fn zend_multibyte_get_encoding_name(
        encoding: *const zend_encoding,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_multibyte_check_lexer_compatibility(
        encoding: *const zend_encoding,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_multibyte_encoding_detector(
        string: *const ::std::os::raw::c_uchar,
        length: size_t,
        list: *mut *const zend_encoding,
        list_size: size_t,
    ) -> *const zend_encoding;
}
extern "C" {
    pub fn zend_multibyte_encoding_converter(
        to: *mut *mut ::std::os::raw::c_uchar,
        to_length: *mut size_t,
        from: *const ::std::os::raw::c_uchar,
        from_length: size_t,
        encoding_to: *const zend_encoding,
        encoding_from: *const zend_encoding,
    ) -> size_t;
}
extern "C" {
    pub fn zend_multibyte_parse_encoding_list(
        encoding_list: *const ::std::os::raw::c_char,
        encoding_list_len: size_t,
        return_list: *mut *mut *const zend_encoding,
        return_size: *mut size_t,
        persistent: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_multibyte_get_internal_encoding() -> *const zend_encoding;
}
extern "C" {
    pub fn zend_multibyte_get_script_encoding() -> *const zend_encoding;
}
extern "C" {
    pub fn zend_multibyte_set_script_encoding(
        encoding_list: *mut *const zend_encoding,
        encoding_list_size: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_multibyte_set_internal_encoding(
        encoding: *const zend_encoding,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_multibyte_set_script_encoding_by_string(
        new_value: *const ::std::os::raw::c_char,
        new_value_length: size_t,
    ) -> ::std::os::raw::c_int;
}
pub type zend_arena = _zend_arena;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_arena {
    pub ptr: *mut ::std::os::raw::c_char,
    pub end: *mut ::std::os::raw::c_char,
    pub prev: *mut zend_arena,
}
#[test]
fn bindgen_test_layout__zend_arena() {
    assert_eq!(
        ::std::mem::size_of::<_zend_arena>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_arena))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_arena>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_arena))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_arena>())).ptr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_arena),
            "::",
            stringify!(ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_arena>())).end as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_arena),
            "::",
            stringify!(end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_arena>())).prev as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_arena),
            "::",
            stringify!(prev)
        )
    );
}
pub type zend_vm_stack = *mut _zend_vm_stack;
pub type zend_ini_entry = _zend_ini_entry;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_executor_globals {
    pub uninitialized_zval: zval,
    pub error_zval: zval,
    pub symtable_cache: [*mut zend_array; 32usize],
    pub symtable_cache_limit: *mut *mut zend_array,
    pub symtable_cache_ptr: *mut *mut zend_array,
    pub symbol_table: zend_array,
    pub included_files: HashTable,
    pub bailout: *mut jmp_buf,
    pub error_reporting: ::std::os::raw::c_int,
    pub exit_status: ::std::os::raw::c_int,
    pub function_table: *mut HashTable,
    pub class_table: *mut HashTable,
    pub zend_constants: *mut HashTable,
    pub vm_stack_top: *mut zval,
    pub vm_stack_end: *mut zval,
    pub vm_stack: zend_vm_stack,
    pub vm_stack_page_size: size_t,
    pub current_execute_data: *mut _zend_execute_data,
    pub fake_scope: *mut zend_class_entry,
    pub precision: zend_long,
    pub ticks_count: ::std::os::raw::c_int,
    pub persistent_constants_count: u32,
    pub persistent_functions_count: u32,
    pub persistent_classes_count: u32,
    pub in_autoload: *mut HashTable,
    pub autoload_func: *mut zend_function,
    pub full_tables_cleanup: zend_bool,
    pub no_extensions: zend_bool,
    pub vm_interrupt: zend_bool,
    pub timed_out: zend_bool,
    pub hard_timeout: zend_long,
    pub regular_list: HashTable,
    pub persistent_list: HashTable,
    pub user_error_handler_error_reporting: ::std::os::raw::c_int,
    pub user_error_handler: zval,
    pub user_exception_handler: zval,
    pub user_error_handlers_error_reporting: zend_stack,
    pub user_error_handlers: zend_stack,
    pub user_exception_handlers: zend_stack,
    pub error_handling: zend_error_handling_t,
    pub exception_class: *mut zend_class_entry,
    pub timeout_seconds: zend_long,
    pub lambda_count: ::std::os::raw::c_int,
    pub ini_directives: *mut HashTable,
    pub modified_ini_directives: *mut HashTable,
    pub error_reporting_ini_entry: *mut zend_ini_entry,
    pub objects_store: zend_objects_store,
    pub exception: *mut zend_object,
    pub prev_exception: *mut zend_object,
    pub opline_before_exception: *const zend_op,
    pub exception_op: [zend_op; 3usize],
    pub current_module: *mut _zend_module_entry,
    pub active: zend_bool,
    pub flags: zend_uchar,
    pub assertions: zend_long,
    pub ht_iterators_count: u32,
    pub ht_iterators_used: u32,
    pub ht_iterators: *mut HashTableIterator,
    pub ht_iterators_slots: [HashTableIterator; 16usize],
    pub saved_fpu_cw_ptr: *mut ::std::os::raw::c_void,
    pub saved_fpu_cw: fpu_control_t,
    pub trampoline: zend_function,
    pub call_trampoline_op: zend_op,
    pub each_deprecation_thrown: zend_bool,
    pub reserved: [*mut ::std::os::raw::c_void; 6usize],
}
#[test]
fn bindgen_test_layout__zend_executor_globals() {
    assert_eq!(
        ::std::mem::size_of::<_zend_executor_globals>(),
        1600usize,
        concat!("Size of: ", stringify!(_zend_executor_globals))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_executor_globals>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_executor_globals))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).uninitialized_zval as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(uninitialized_zval)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).error_zval as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(error_zval)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(symtable_cache)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache_limit as *const _
                as usize
        },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(symtable_cache_limit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).symtable_cache_ptr as *const _
                as usize
        },
        296usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(symtable_cache_ptr)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).symbol_table as *const _ as usize
        },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(symbol_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).included_files as *const _ as usize
        },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(included_files)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).bailout as *const _ as usize },
        416usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(bailout)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).error_reporting as *const _ as usize
        },
        424usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(error_reporting)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).exit_status as *const _ as usize
        },
        428usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(exit_status)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).function_table as *const _ as usize
        },
        432usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(function_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).class_table as *const _ as usize
        },
        440usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(class_table)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).zend_constants as *const _ as usize
        },
        448usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(zend_constants)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack_top as *const _ as usize
        },
        456usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(vm_stack_top)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack_end as *const _ as usize
        },
        464usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(vm_stack_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack as *const _ as usize },
        472usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(vm_stack)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_stack_page_size as *const _
                as usize
        },
        480usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(vm_stack_page_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).current_execute_data as *const _
                as usize
        },
        488usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(current_execute_data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).fake_scope as *const _ as usize
        },
        496usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(fake_scope)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).precision as *const _ as usize
        },
        504usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(precision)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).ticks_count as *const _ as usize
        },
        512usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(ticks_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_constants_count
                as *const _ as usize
        },
        516usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(persistent_constants_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_functions_count
                as *const _ as usize
        },
        520usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(persistent_functions_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_classes_count as *const _
                as usize
        },
        524usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(persistent_classes_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).in_autoload as *const _ as usize
        },
        528usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(in_autoload)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).autoload_func as *const _ as usize
        },
        536usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(autoload_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).full_tables_cleanup as *const _
                as usize
        },
        544usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(full_tables_cleanup)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).no_extensions as *const _ as usize
        },
        545usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(no_extensions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).vm_interrupt as *const _ as usize
        },
        546usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(vm_interrupt)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).timed_out as *const _ as usize
        },
        547usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(timed_out)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).hard_timeout as *const _ as usize
        },
        552usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(hard_timeout)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).regular_list as *const _ as usize
        },
        560usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(regular_list)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).persistent_list as *const _ as usize
        },
        616usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(persistent_list)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handler_error_reporting
                as *const _ as usize
        },
        672usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(user_error_handler_error_reporting)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handler as *const _
                as usize
        },
        680usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(user_error_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).user_exception_handler as *const _
                as usize
        },
        696usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(user_exception_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handlers_error_reporting
                as *const _ as usize
        },
        712usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(user_error_handlers_error_reporting)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).user_error_handlers as *const _
                as usize
        },
        736usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(user_error_handlers)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).user_exception_handlers as *const _
                as usize
        },
        760usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(user_exception_handlers)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).error_handling as *const _ as usize
        },
        784usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(error_handling)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_class as *const _ as usize
        },
        792usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(exception_class)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).timeout_seconds as *const _ as usize
        },
        800usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(timeout_seconds)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).lambda_count as *const _ as usize
        },
        808usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(lambda_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).ini_directives as *const _ as usize
        },
        816usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(ini_directives)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).modified_ini_directives as *const _
                as usize
        },
        824usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(modified_ini_directives)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).error_reporting_ini_entry as *const _
                as usize
        },
        832usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(error_reporting_ini_entry)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).objects_store as *const _ as usize
        },
        840usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(objects_store)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).exception as *const _ as usize
        },
        864usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(exception)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).prev_exception as *const _ as usize
        },
        872usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(prev_exception)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).opline_before_exception as *const _
                as usize
        },
        880usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(opline_before_exception)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).exception_op as *const _ as usize
        },
        888usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(exception_op)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).current_module as *const _ as usize
        },
        984usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(current_module)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).active as *const _ as usize },
        992usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(active)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).flags as *const _ as usize },
        993usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).assertions as *const _ as usize
        },
        1000usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(assertions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators_count as *const _
                as usize
        },
        1008usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(ht_iterators_count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators_used as *const _
                as usize
        },
        1012usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(ht_iterators_used)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators as *const _ as usize
        },
        1016usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(ht_iterators)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).ht_iterators_slots as *const _
                as usize
        },
        1024usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(ht_iterators_slots)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).saved_fpu_cw_ptr as *const _ as usize
        },
        1280usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(saved_fpu_cw_ptr)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).saved_fpu_cw as *const _ as usize
        },
        1288usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(saved_fpu_cw)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).trampoline as *const _ as usize
        },
        1296usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(trampoline)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).call_trampoline_op as *const _
                as usize
        },
        1512usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(call_trampoline_op)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_executor_globals>())).each_deprecation_thrown as *const _
                as usize
        },
        1544usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(each_deprecation_thrown)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_executor_globals>())).reserved as *const _ as usize },
        1552usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_executor_globals),
            "::",
            stringify!(reserved)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ini_scanner_globals {
    pub yy_in: *mut zend_file_handle,
    pub yy_out: *mut zend_file_handle,
    pub yy_leng: ::std::os::raw::c_uint,
    pub yy_start: *mut ::std::os::raw::c_uchar,
    pub yy_text: *mut ::std::os::raw::c_uchar,
    pub yy_cursor: *mut ::std::os::raw::c_uchar,
    pub yy_marker: *mut ::std::os::raw::c_uchar,
    pub yy_limit: *mut ::std::os::raw::c_uchar,
    pub yy_state: ::std::os::raw::c_int,
    pub state_stack: zend_stack,
    pub filename: *mut ::std::os::raw::c_char,
    pub lineno: ::std::os::raw::c_int,
    pub scanner_mode: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__zend_ini_scanner_globals() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ini_scanner_globals>(),
        112usize,
        concat!("Size of: ", stringify!(_zend_ini_scanner_globals))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ini_scanner_globals>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ini_scanner_globals))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_in as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_in)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_out as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_out)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_leng as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_leng)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_start as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_start)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_text as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_text)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_cursor as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_cursor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_marker as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_marker)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_limit as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_limit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).yy_state as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(yy_state)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).state_stack as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(state_stack)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).filename as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(filename)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).lineno as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(lineno)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_scanner_globals>())).scanner_mode as *const _ as usize
        },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_scanner_globals),
            "::",
            stringify!(scanner_mode)
        )
    );
}
pub const zend_php_scanner_event_ON_TOKEN: zend_php_scanner_event = 0;
pub const zend_php_scanner_event_ON_FEEDBACK: zend_php_scanner_event = 1;
pub const zend_php_scanner_event_ON_STOP: zend_php_scanner_event = 2;
pub type zend_php_scanner_event = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_php_scanner_globals {
    pub yy_in: *mut zend_file_handle,
    pub yy_out: *mut zend_file_handle,
    pub yy_leng: ::std::os::raw::c_uint,
    pub yy_start: *mut ::std::os::raw::c_uchar,
    pub yy_text: *mut ::std::os::raw::c_uchar,
    pub yy_cursor: *mut ::std::os::raw::c_uchar,
    pub yy_marker: *mut ::std::os::raw::c_uchar,
    pub yy_limit: *mut ::std::os::raw::c_uchar,
    pub yy_state: ::std::os::raw::c_int,
    pub state_stack: zend_stack,
    pub heredoc_label_stack: zend_ptr_stack,
    pub heredoc_scan_ahead: zend_bool,
    pub heredoc_indentation: ::std::os::raw::c_int,
    pub heredoc_indentation_uses_spaces: zend_bool,
    pub script_org: *mut ::std::os::raw::c_uchar,
    pub script_org_size: size_t,
    pub script_filtered: *mut ::std::os::raw::c_uchar,
    pub script_filtered_size: size_t,
    pub input_filter: zend_encoding_filter,
    pub output_filter: zend_encoding_filter,
    pub script_encoding: *const zend_encoding,
    pub scanned_string_len: ::std::os::raw::c_int,
    pub on_event: ::std::option::Option<
        unsafe extern "C" fn(
            event: zend_php_scanner_event,
            token: ::std::os::raw::c_int,
            line: ::std::os::raw::c_int,
            context: *mut ::std::os::raw::c_void,
        ),
    >,
    pub on_event_context: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_php_scanner_globals() {
    assert_eq!(
        ::std::mem::size_of::<_zend_php_scanner_globals>(),
        224usize,
        concat!("Size of: ", stringify!(_zend_php_scanner_globals))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_php_scanner_globals>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_php_scanner_globals))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_in as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_in)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_out as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_out)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_leng as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_leng)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_start as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_start)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_text as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_text)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_cursor as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_cursor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_marker as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_marker)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_limit as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_limit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).yy_state as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(yy_state)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).state_stack as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(state_stack)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_label_stack as *const _
                as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(heredoc_label_stack)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_scan_ahead as *const _
                as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(heredoc_scan_ahead)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_indentation as *const _
                as usize
        },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(heredoc_indentation)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).heredoc_indentation_uses_spaces
                as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(heredoc_indentation_uses_spaces)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_org as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(script_org)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_org_size as *const _
                as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(script_org_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_filtered as *const _
                as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(script_filtered)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_filtered_size as *const _
                as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(script_filtered_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).input_filter as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(input_filter)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).output_filter as *const _ as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(output_filter)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).script_encoding as *const _
                as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(script_encoding)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).scanned_string_len as *const _
                as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(scanned_string_len)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).on_event as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(on_event)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_php_scanner_globals>())).on_event_context as *const _
                as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_php_scanner_globals),
            "::",
            stringify!(on_event_context)
        )
    );
}
extern "C" {
    pub fn zend_init_compiler_data_structures();
}
extern "C" {
    pub fn zend_oparray_context_begin(prev_context: *mut zend_oparray_context);
}
extern "C" {
    pub fn zend_oparray_context_end(prev_context: *mut zend_oparray_context);
}
extern "C" {
    pub fn zend_file_context_begin(prev_context: *mut zend_file_context);
}
extern "C" {
    pub fn zend_file_context_end(prev_context: *mut zend_file_context);
}
extern "C" {
    pub static mut zend_compile_file: ::std::option::Option<
        unsafe extern "C" fn(
            file_handle: *mut zend_file_handle,
            type_: ::std::os::raw::c_int,
        ) -> *mut zend_op_array,
    >;
}
extern "C" {
    pub static mut zend_compile_string: ::std::option::Option<
        unsafe extern "C" fn(
            source_string: *mut zval,
            filename: *mut ::std::os::raw::c_char,
        ) -> *mut zend_op_array,
    >;
}
extern "C" {
    pub fn zend_set_compiled_filename(new_compiled_filename: *mut zend_string) -> *mut zend_string;
}
extern "C" {
    pub fn zend_restore_compiled_filename(original_compiled_filename: *mut zend_string);
}
extern "C" {
    pub fn zend_get_compiled_filename() -> *mut zend_string;
}
extern "C" {
    pub fn zend_get_compiled_lineno() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_get_scanned_file_offset() -> size_t;
}
extern "C" {
    pub fn zend_get_compiled_variable_name(
        op_array: *const zend_op_array,
        var: u32,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_stop_lexing();
}
extern "C" {
    pub fn zend_emit_final_return(return_one: ::std::os::raw::c_int);
}
extern "C" {
    pub fn zend_ast_append_str(left: *mut zend_ast, right: *mut zend_ast) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_negate_num_string(ast: *mut zend_ast) -> *mut zend_ast;
}
extern "C" {
    pub fn zend_add_class_modifier(flags: u32, new_flag: u32) -> u32;
}
extern "C" {
    pub fn zend_add_member_modifier(flags: u32, new_flag: u32) -> u32;
}
extern "C" {
    pub fn zend_handle_encoding_declaration(ast: *mut zend_ast) -> zend_bool;
}
extern "C" {
    pub fn zend_do_free(op1: *mut znode);
}
extern "C" {
    pub fn zend_build_delayed_early_binding_list(op_array: *const zend_op_array) -> u32;
}
extern "C" {
    pub fn zend_do_delayed_early_binding(
        op_array: *const zend_op_array,
        first_early_binding_opline: u32,
    );
}
extern "C" {
    pub fn zend_do_extended_info();
}
extern "C" {
    pub fn zend_do_extended_fcall_begin();
}
extern "C" {
    pub fn zend_do_extended_fcall_end();
}
extern "C" {
    pub fn zend_verify_namespace();
}
extern "C" {
    pub fn zend_resolve_goto_label(op_array: *mut zend_op_array, opline: *mut zend_op);
}
extern "C" {
    pub fn zend_try_exception_handler();
}
extern "C" {
    pub fn zend_execute_scripts(
        type_: ::std::os::raw::c_int,
        retval: *mut zval,
        file_count: ::std::os::raw::c_int,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_destroy_file_handle(file_handle: *mut zend_file_handle);
}
extern "C" {
    pub fn zend_cleanup_internal_class_data(ce: *mut zend_class_entry);
}
extern "C" {
    pub fn zend_cleanup_internal_classes();
}
extern "C" {
    pub fn zend_function_dtor(zv: *mut zval);
}
extern "C" {
    pub fn zend_class_add_ref(zv: *mut zval);
}
extern "C" {
    pub fn zend_mangle_property_name(
        src1: *const ::std::os::raw::c_char,
        src1_length: size_t,
        src2: *const ::std::os::raw::c_char,
        src2_length: size_t,
        internal: ::std::os::raw::c_int,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_unmangle_property_name_ex(
        name: *const zend_string,
        class_name: *mut *const ::std::os::raw::c_char,
        prop_name: *mut *const ::std::os::raw::c_char,
        prop_len: *mut size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_is_compiling() -> zend_bool;
}
extern "C" {
    pub fn zend_make_compiled_string_description(
        name: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_initialize_class_data(ce: *mut zend_class_entry, nullify_handlers: zend_bool);
}
extern "C" {
    pub fn zend_get_class_fetch_type(name: *mut zend_string) -> u32;
}
extern "C" {
    pub fn zend_get_call_op(init_op: *const zend_op, fbc: *mut zend_function) -> zend_uchar;
}
extern "C" {
    pub fn zend_is_smart_branch(opline: *mut zend_op) -> ::std::os::raw::c_int;
}
pub type zend_auto_global_callback =
    ::std::option::Option<unsafe extern "C" fn(name: *mut zend_string) -> zend_bool>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_auto_global {
    pub name: *mut zend_string,
    pub auto_global_callback: zend_auto_global_callback,
    pub jit: zend_bool,
    pub armed: zend_bool,
}
#[test]
fn bindgen_test_layout__zend_auto_global() {
    assert_eq!(
        ::std::mem::size_of::<_zend_auto_global>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_auto_global))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_auto_global>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_auto_global))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_auto_global),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_auto_global>())).auto_global_callback as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_auto_global),
            "::",
            stringify!(auto_global_callback)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).jit as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_auto_global),
            "::",
            stringify!(jit)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_auto_global>())).armed as *const _ as usize },
        17usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_auto_global),
            "::",
            stringify!(armed)
        )
    );
}
pub type zend_auto_global = _zend_auto_global;
extern "C" {
    pub fn zend_register_auto_global(
        name: *mut zend_string,
        jit: zend_bool,
        auto_global_callback: zend_auto_global_callback,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_activate_auto_globals();
}
extern "C" {
    pub fn zend_is_auto_global(name: *mut zend_string) -> zend_bool;
}
extern "C" {
    pub fn zend_is_auto_global_str(name: *mut ::std::os::raw::c_char, len: size_t) -> zend_bool;
}
extern "C" {
    pub fn zend_dirname(path: *mut ::std::os::raw::c_char, len: size_t) -> size_t;
}
extern "C" {
    pub fn zend_set_function_arg_flags(func: *mut zend_function);
}
extern "C" {
    pub fn zendlex(elem: *mut zend_parser_stack_elem) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_add_literal(op_array: *mut zend_op_array, zv: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_assert_valid_class_name(const_name: *const zend_string);
}
extern "C" {
    pub fn zend_get_opcode_name(opcode: zend_uchar) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_get_opcode_flags(opcode: zend_uchar) -> u32;
}
extern "C" {
    pub fn zend_binary_op_produces_numeric_string_error(
        opcode: u32,
        op1: *mut zval,
        op2: *mut zval,
    ) -> zend_bool;
}
pub type zend_module_entry = _zend_module_entry;
pub type zend_module_dep = _zend_module_dep;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_module_entry {
    pub size: ::std::os::raw::c_ushort,
    pub zend_api: ::std::os::raw::c_uint,
    pub zend_debug: ::std::os::raw::c_uchar,
    pub zts: ::std::os::raw::c_uchar,
    pub ini_entry: *const _zend_ini_entry,
    pub deps: *const _zend_module_dep,
    pub name: *const ::std::os::raw::c_char,
    pub functions: *const _zend_function_entry,
    pub module_startup_func: ::std::option::Option<
        unsafe extern "C" fn(
            type_: ::std::os::raw::c_int,
            module_number: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >,
    pub module_shutdown_func: ::std::option::Option<
        unsafe extern "C" fn(
            type_: ::std::os::raw::c_int,
            module_number: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >,
    pub request_startup_func: ::std::option::Option<
        unsafe extern "C" fn(
            type_: ::std::os::raw::c_int,
            module_number: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >,
    pub request_shutdown_func: ::std::option::Option<
        unsafe extern "C" fn(
            type_: ::std::os::raw::c_int,
            module_number: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >,
    pub info_func: ::std::option::Option<unsafe extern "C" fn(zend_module: *mut zend_module_entry)>,
    pub version: *const ::std::os::raw::c_char,
    pub globals_size: size_t,
    pub globals_ptr: *mut ::std::os::raw::c_void,
    pub globals_ctor:
        ::std::option::Option<unsafe extern "C" fn(global: *mut ::std::os::raw::c_void)>,
    pub globals_dtor:
        ::std::option::Option<unsafe extern "C" fn(global: *mut ::std::os::raw::c_void)>,
    pub post_deactivate_func:
        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
    pub module_started: ::std::os::raw::c_int,
    pub type_: ::std::os::raw::c_uchar,
    pub handle: *mut ::std::os::raw::c_void,
    pub module_number: ::std::os::raw::c_int,
    pub build_id: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__zend_module_entry() {
    assert_eq!(
        ::std::mem::size_of::<_zend_module_entry>(),
        168usize,
        concat!("Size of: ", stringify!(_zend_module_entry))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_module_entry>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_module_entry))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zend_api as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(zend_api)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zend_debug as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(zend_debug)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).zts as *const _ as usize },
        9usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(zts)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).ini_entry as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(ini_entry)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).deps as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(deps)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).name as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).functions as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(functions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_module_entry>())).module_startup_func as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(module_startup_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_module_entry>())).module_shutdown_func as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(module_shutdown_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_module_entry>())).request_startup_func as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(request_startup_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_module_entry>())).request_shutdown_func as *const _
                as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(request_shutdown_func)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).info_func as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(info_func)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).version as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_size as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(globals_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_ptr as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(globals_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_ctor as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(globals_ctor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).globals_dtor as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(globals_dtor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_module_entry>())).post_deactivate_func as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(post_deactivate_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_module_entry>())).module_started as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(module_started)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).type_ as *const _ as usize },
        140usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).handle as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_module_entry>())).module_number as *const _ as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(module_number)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_entry>())).build_id as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_entry),
            "::",
            stringify!(build_id)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_module_dep {
    pub name: *const ::std::os::raw::c_char,
    pub rel: *const ::std::os::raw::c_char,
    pub version: *const ::std::os::raw::c_char,
    pub type_: ::std::os::raw::c_uchar,
}
#[test]
fn bindgen_test_layout__zend_module_dep() {
    assert_eq!(
        ::std::mem::size_of::<_zend_module_dep>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_module_dep))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_module_dep>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_module_dep))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_dep),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).rel as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_dep),
            "::",
            stringify!(rel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).version as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_dep),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_module_dep>())).type_ as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_module_dep),
            "::",
            stringify!(type_)
        )
    );
}
extern "C" {
    pub static mut module_registry: HashTable;
}
pub type rsrc_dtor_func_t = ::std::option::Option<unsafe extern "C" fn(res: *mut zend_resource)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_rsrc_list_dtors_entry {
    pub list_dtor_ex: rsrc_dtor_func_t,
    pub plist_dtor_ex: rsrc_dtor_func_t,
    pub type_name: *const ::std::os::raw::c_char,
    pub module_number: ::std::os::raw::c_int,
    pub resource_id: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__zend_rsrc_list_dtors_entry() {
    assert_eq!(
        ::std::mem::size_of::<_zend_rsrc_list_dtors_entry>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_rsrc_list_dtors_entry))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_rsrc_list_dtors_entry>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_rsrc_list_dtors_entry))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).list_dtor_ex as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_rsrc_list_dtors_entry),
            "::",
            stringify!(list_dtor_ex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).plist_dtor_ex as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_rsrc_list_dtors_entry),
            "::",
            stringify!(plist_dtor_ex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).type_name as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_rsrc_list_dtors_entry),
            "::",
            stringify!(type_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).module_number as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_rsrc_list_dtors_entry),
            "::",
            stringify!(module_number)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_rsrc_list_dtors_entry>())).resource_id as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_rsrc_list_dtors_entry),
            "::",
            stringify!(resource_id)
        )
    );
}
pub type zend_rsrc_list_dtors_entry = _zend_rsrc_list_dtors_entry;
extern "C" {
    pub fn zend_register_list_destructors_ex(
        ld: rsrc_dtor_func_t,
        pld: rsrc_dtor_func_t,
        type_name: *const ::std::os::raw::c_char,
        module_number: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_clean_module_rsrc_dtors(module_number: ::std::os::raw::c_int);
}
extern "C" {
    pub fn zend_init_rsrc_list() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_init_rsrc_plist() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_close_rsrc_list(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_destroy_rsrc_list(ht: *mut HashTable);
}
extern "C" {
    pub fn zend_init_rsrc_list_dtors() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_destroy_rsrc_list_dtors();
}
extern "C" {
    pub fn zend_list_insert(
        ptr: *mut ::std::os::raw::c_void,
        type_: ::std::os::raw::c_int,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_list_free(res: *mut zend_resource) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_list_delete(res: *mut zend_resource) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_list_close(res: *mut zend_resource) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_register_resource(
        rsrc_pointer: *mut ::std::os::raw::c_void,
        rsrc_type: ::std::os::raw::c_int,
    ) -> *mut zend_resource;
}
extern "C" {
    pub fn zend_fetch_resource(
        res: *mut zend_resource,
        resource_type_name: *const ::std::os::raw::c_char,
        resource_type: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_fetch_resource2(
        res: *mut zend_resource,
        resource_type_name: *const ::std::os::raw::c_char,
        resource_type: ::std::os::raw::c_int,
        resource_type2: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_fetch_resource_ex(
        res: *mut zval,
        resource_type_name: *const ::std::os::raw::c_char,
        resource_type: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_fetch_resource2_ex(
        res: *mut zval,
        resource_type_name: *const ::std::os::raw::c_char,
        resource_type: ::std::os::raw::c_int,
        resource_type2: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_rsrc_list_get_rsrc_type(res: *mut zend_resource) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_fetch_list_dtor_id(
        type_name: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_register_persistent_resource(
        key: *const ::std::os::raw::c_char,
        key_len: size_t,
        rsrc_pointer: *mut ::std::os::raw::c_void,
        rsrc_type: ::std::os::raw::c_int,
    ) -> *mut zend_resource;
}
extern "C" {
    pub fn zend_register_persistent_resource_ex(
        key: *mut zend_string,
        rsrc_pointer: *mut ::std::os::raw::c_void,
        rsrc_type: ::std::os::raw::c_int,
    ) -> *mut zend_resource;
}
extern "C" {
    pub static mut zend_execute_ex:
        ::std::option::Option<unsafe extern "C" fn(execute_data: *mut zend_execute_data)>;
}
extern "C" {
    pub static mut zend_execute_internal: ::std::option::Option<
        unsafe extern "C" fn(execute_data: *mut zend_execute_data, return_value: *mut zval),
    >;
}
extern "C" {
    pub fn zend_init_execute_data(
        execute_data: *mut zend_execute_data,
        op_array: *mut zend_op_array,
        return_value: *mut zval,
    );
}
extern "C" {
    pub fn zend_init_func_execute_data(
        execute_data: *mut zend_execute_data,
        op_array: *mut zend_op_array,
        return_value: *mut zval,
    );
}
extern "C" {
    pub fn zend_init_code_execute_data(
        execute_data: *mut zend_execute_data,
        op_array: *mut zend_op_array,
        return_value: *mut zval,
    );
}
extern "C" {
    pub fn zend_execute(op_array: *mut zend_op_array, return_value: *mut zval);
}
extern "C" {
    pub fn zend_lookup_class(name: *mut zend_string) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_lookup_class_ex(
        name: *mut zend_string,
        key: *const zval,
        use_autoload: ::std::os::raw::c_int,
    ) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_get_called_scope(ex: *mut zend_execute_data) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_get_this_object(ex: *mut zend_execute_data) -> *mut zend_object;
}
extern "C" {
    pub fn zend_eval_string(
        str_: *mut ::std::os::raw::c_char,
        retval_ptr: *mut zval,
        string_name: *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_eval_stringl(
        str_: *mut ::std::os::raw::c_char,
        str_len: size_t,
        retval_ptr: *mut zval,
        string_name: *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_eval_string_ex(
        str_: *mut ::std::os::raw::c_char,
        retval_ptr: *mut zval,
        string_name: *mut ::std::os::raw::c_char,
        handle_exceptions: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_eval_stringl_ex(
        str_: *mut ::std::os::raw::c_char,
        str_len: size_t,
        retval_ptr: *mut zval,
        string_name: *mut ::std::os::raw::c_char,
        handle_exceptions: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub static zend_pass_function: zend_internal_function;
}
extern "C" {
    pub fn zend_check_internal_arg_type(zf: *mut zend_function, arg_num: u32, arg: *mut zval);
}
extern "C" {
    pub fn zend_check_arg_type(
        zf: *mut zend_function,
        arg_num: u32,
        arg: *mut zval,
        default_value: *mut zval,
        cache_slot: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_missing_arg_error(execute_data: *mut zend_execute_data);
}
extern "C" {
    pub fn zend_use_undefined_constant(
        name: *mut zend_string,
        attr: zend_ast_attr,
        result: *mut zval,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_vm_stack {
    pub top: *mut zval,
    pub end: *mut zval,
    pub prev: zend_vm_stack,
}
#[test]
fn bindgen_test_layout__zend_vm_stack() {
    assert_eq!(
        ::std::mem::size_of::<_zend_vm_stack>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_vm_stack))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_vm_stack>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_vm_stack))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).top as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_vm_stack),
            "::",
            stringify!(top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).end as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_vm_stack),
            "::",
            stringify!(end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_vm_stack>())).prev as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_vm_stack),
            "::",
            stringify!(prev)
        )
    );
}
extern "C" {
    pub fn zend_vm_stack_init();
}
extern "C" {
    pub fn zend_vm_stack_init_ex(page_size: size_t);
}
extern "C" {
    pub fn zend_vm_stack_destroy();
}
extern "C" {
    pub fn zend_vm_stack_extend(size: size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn zend_get_executed_filename() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_get_executed_filename_ex() -> *mut zend_string;
}
extern "C" {
    pub fn zend_get_executed_lineno() -> u32;
}
extern "C" {
    pub fn zend_get_executed_scope() -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_is_executing() -> zend_bool;
}
extern "C" {
    pub fn zend_set_timeout(seconds: zend_long, reset_signals: ::std::os::raw::c_int);
}
extern "C" {
    pub fn zend_unset_timeout();
}
extern "C" {
    pub fn zend_timeout(dummy: ::std::os::raw::c_int);
}
extern "C" {
    pub fn zend_fetch_class(
        class_name: *mut zend_string,
        fetch_type: ::std::os::raw::c_int,
    ) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_fetch_class_by_name(
        class_name: *mut zend_string,
        key: *const zval,
        fetch_type: ::std::os::raw::c_int,
    ) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_verify_abstract_class(ce: *mut zend_class_entry);
}
extern "C" {
    pub fn zend_fetch_function(name: *mut zend_string) -> *mut zend_function;
}
extern "C" {
    pub fn zend_fetch_function_str(
        name: *const ::std::os::raw::c_char,
        len: size_t,
    ) -> *mut zend_function;
}
extern "C" {
    pub fn zend_fetch_dimension_const(
        result: *mut zval,
        container: *mut zval,
        dim: *mut zval,
        type_: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_get_compiled_variable_value(
        execute_data_ptr: *const zend_execute_data,
        var: u32,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_set_user_opcode_handler(
        opcode: zend_uchar,
        handler: user_opcode_handler_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_get_user_opcode_handler(opcode: zend_uchar) -> user_opcode_handler_t;
}
pub type zend_free_op = *mut zval;
extern "C" {
    pub fn zend_get_zval_ptr(
        opline: *const zend_op,
        op_type: ::std::os::raw::c_int,
        node: *const znode_op,
        execute_data: *const zend_execute_data,
        should_free: *mut zend_free_op,
        type_: ::std::os::raw::c_int,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_clean_and_cache_symbol_table(symbol_table: *mut zend_array);
}
extern "C" {
    pub fn zend_free_compiled_variables(execute_data: *mut zend_execute_data);
}
extern "C" {
    pub fn zend_cleanup_unfinished_execution(
        execute_data: *mut zend_execute_data,
        op_num: u32,
        catch_op_num: u32,
    );
}
extern "C" {
    pub fn zend_do_fcall_overloaded(
        call: *mut zend_execute_data,
        ret: *mut zval,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_function_entry {
    pub fname: *const ::std::os::raw::c_char,
    pub handler: zif_handler,
    pub arg_info: *const _zend_internal_arg_info,
    pub num_args: u32,
    pub flags: u32,
}
#[test]
fn bindgen_test_layout__zend_function_entry() {
    assert_eq!(
        ::std::mem::size_of::<_zend_function_entry>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_function_entry))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_function_entry>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_function_entry))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).fname as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function_entry),
            "::",
            stringify!(fname)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).handler as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function_entry),
            "::",
            stringify!(handler)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).arg_info as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function_entry),
            "::",
            stringify!(arg_info)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).num_args as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function_entry),
            "::",
            stringify!(num_args)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_function_entry>())).flags as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_function_entry),
            "::",
            stringify!(flags)
        )
    );
}
pub type zend_function_entry = _zend_function_entry;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_fcall_info {
    pub size: size_t,
    pub function_name: zval,
    pub retval: *mut zval,
    pub params: *mut zval,
    pub object: *mut zend_object,
    pub no_separation: zend_bool,
    pub param_count: u32,
}
#[test]
fn bindgen_test_layout__zend_fcall_info() {
    assert_eq!(
        ::std::mem::size_of::<_zend_fcall_info>(),
        56usize,
        concat!("Size of: ", stringify!(_zend_fcall_info))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_fcall_info>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_fcall_info))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).function_name as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info),
            "::",
            stringify!(function_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).retval as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info),
            "::",
            stringify!(retval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).params as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info),
            "::",
            stringify!(params)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).object as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info),
            "::",
            stringify!(object)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).no_separation as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info),
            "::",
            stringify!(no_separation)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info>())).param_count as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info),
            "::",
            stringify!(param_count)
        )
    );
}
pub type zend_fcall_info = _zend_fcall_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_fcall_info_cache {
    pub function_handler: *mut zend_function,
    pub calling_scope: *mut zend_class_entry,
    pub called_scope: *mut zend_class_entry,
    pub object: *mut zend_object,
}
#[test]
fn bindgen_test_layout__zend_fcall_info_cache() {
    assert_eq!(
        ::std::mem::size_of::<_zend_fcall_info_cache>(),
        32usize,
        concat!("Size of: ", stringify!(_zend_fcall_info_cache))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_fcall_info_cache>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_fcall_info_cache))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).function_handler as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info_cache),
            "::",
            stringify!(function_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).calling_scope as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info_cache),
            "::",
            stringify!(calling_scope)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_fcall_info_cache>())).called_scope as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info_cache),
            "::",
            stringify!(called_scope)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_fcall_info_cache>())).object as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_fcall_info_cache),
            "::",
            stringify!(object)
        )
    );
}
pub type zend_fcall_info_cache = _zend_fcall_info_cache;
extern "C" {
    pub fn zend_next_free_module() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _zend_get_parameters_array_ex(
        param_count: ::std::os::raw::c_int,
        argument_array: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_copy_parameters_array(
        param_count: ::std::os::raw::c_int,
        argument_array: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_parameters(
        num_args: ::std::os::raw::c_int,
        type_spec: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_parameters_ex(
        flags: ::std::os::raw::c_int,
        num_args: ::std::os::raw::c_int,
        type_spec: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_parameters_throw(
        num_args: ::std::os::raw::c_int,
        type_spec: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_zval_type_name(arg: *const zval) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_zval_get_type(arg: *const zval) -> *mut zend_string;
}
extern "C" {
    pub fn zend_parse_method_parameters(
        num_args: ::std::os::raw::c_int,
        this_ptr: *mut zval,
        type_spec: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_method_parameters_ex(
        flags: ::std::os::raw::c_int,
        num_args: ::std::os::raw::c_int,
        this_ptr: *mut zval,
        type_spec: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_parameter(
        flags: ::std::os::raw::c_int,
        arg_num: ::std::os::raw::c_int,
        arg: *mut zval,
        spec: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_register_functions(
        scope: *mut zend_class_entry,
        functions: *const zend_function_entry,
        function_table: *mut HashTable,
        type_: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_unregister_functions(
        functions: *const zend_function_entry,
        count: ::std::os::raw::c_int,
        function_table: *mut HashTable,
    );
}
extern "C" {
    pub fn zend_startup_module(module_entry: *mut zend_module_entry) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_register_internal_module(
        module_entry: *mut zend_module_entry,
    ) -> *mut zend_module_entry;
}
extern "C" {
    pub fn zend_register_module_ex(module: *mut zend_module_entry) -> *mut zend_module_entry;
}
extern "C" {
    pub fn zend_startup_module_ex(module: *mut zend_module_entry) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_startup_modules() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_collect_module_handlers();
}
extern "C" {
    pub fn zend_destroy_modules();
}
extern "C" {
    pub fn zend_check_magic_method_implementation(
        ce: *const zend_class_entry,
        fptr: *const zend_function,
        error_type: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_register_internal_class(
        class_entry: *mut zend_class_entry,
    ) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_register_internal_class_ex(
        class_entry: *mut zend_class_entry,
        parent_ce: *mut zend_class_entry,
    ) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_register_internal_interface(
        orig_class_entry: *mut zend_class_entry,
    ) -> *mut zend_class_entry;
}
extern "C" {
    pub fn zend_class_implements(
        class_entry: *mut zend_class_entry,
        num_interfaces: ::std::os::raw::c_int,
        ...
    );
}
extern "C" {
    pub fn zend_register_class_alias_ex(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        ce: *mut zend_class_entry,
        persistent: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_disable_function(
        function_name: *mut ::std::os::raw::c_char,
        function_name_length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_disable_class(
        class_name: *mut ::std::os::raw::c_char,
        class_name_length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_wrong_param_count();
}
extern "C" {
    pub fn zend_get_callable_name_ex(
        callable: *mut zval,
        object: *mut zend_object,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_get_callable_name(callable: *mut zval) -> *mut zend_string;
}
extern "C" {
    pub fn zend_is_callable_ex(
        callable: *mut zval,
        object: *mut zend_object,
        check_flags: u32,
        callable_name: *mut *mut zend_string,
        fcc: *mut zend_fcall_info_cache,
        error: *mut *mut ::std::os::raw::c_char,
    ) -> zend_bool;
}
extern "C" {
    pub fn zend_is_callable(
        callable: *mut zval,
        check_flags: u32,
        callable_name: *mut *mut zend_string,
    ) -> zend_bool;
}
extern "C" {
    pub fn zend_make_callable(
        callable: *mut zval,
        callable_name: *mut *mut zend_string,
    ) -> zend_bool;
}
extern "C" {
    pub fn zend_get_module_version(
        module_name: *const ::std::os::raw::c_char,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_get_module_started(
        module_name: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property_ex(
        ce: *mut zend_class_entry,
        name: *mut zend_string,
        property: *mut zval,
        access_type: ::std::os::raw::c_int,
        doc_comment: *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        property: *mut zval,
        access_type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property_null(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        access_type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property_bool(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_long,
        access_type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property_long(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_long,
        access_type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property_double(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: f64,
        access_type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property_string(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
        access_type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_property_stringl(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
        value_len: size_t,
        access_type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant_ex(
        ce: *mut zend_class_entry,
        name: *mut zend_string,
        value: *mut zval,
        access_type: ::std::os::raw::c_int,
        doc_comment: *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant_null(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant_long(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant_bool(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_bool,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant_double(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: f64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant_stringl(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
        value_length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_declare_class_constant_string(
        ce: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_class_constants(class_type: *mut zend_class_entry) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_property_ex(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *mut zend_string,
        value: *mut zval,
    );
}
extern "C" {
    pub fn zend_update_property(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *mut zval,
    );
}
extern "C" {
    pub fn zend_update_property_null(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
    );
}
extern "C" {
    pub fn zend_update_property_bool(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_long,
    );
}
extern "C" {
    pub fn zend_update_property_long(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_long,
    );
}
extern "C" {
    pub fn zend_update_property_double(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: f64,
    );
}
extern "C" {
    pub fn zend_update_property_str(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *mut zend_string,
    );
}
extern "C" {
    pub fn zend_update_property_string(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn zend_update_property_stringl(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
        value_length: size_t,
    );
}
extern "C" {
    pub fn zend_unset_property(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
    );
}
extern "C" {
    pub fn zend_update_static_property_ex(
        scope: *mut zend_class_entry,
        name: *mut zend_string,
        value: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_static_property(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_static_property_null(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_static_property_bool(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_static_property_long(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: zend_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_static_property_double(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: f64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_static_property_string(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_update_static_property_stringl(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        value: *const ::std::os::raw::c_char,
        value_length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_read_property_ex(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *mut zend_string,
        silent: zend_bool,
        rv: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_read_property(
        scope: *mut zend_class_entry,
        object: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        silent: zend_bool,
        rv: *mut zval,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_read_static_property_ex(
        scope: *mut zend_class_entry,
        name: *mut zend_string,
        silent: zend_bool,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_read_static_property(
        scope: *mut zend_class_entry,
        name: *const ::std::os::raw::c_char,
        name_length: size_t,
        silent: zend_bool,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_get_type_by_const(type_: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_merge_properties(obj: *mut zval, properties: *mut HashTable);
}
extern "C" {
    pub static empty_fcall_info: zend_fcall_info;
}
extern "C" {
    pub static empty_fcall_info_cache: zend_fcall_info_cache;
}
extern "C" {
    #[doc = " Build zend_call_info/cache from a zval*"]
    #[doc = ""]
    #[doc = " Caller is responsible to provide a return value (fci->retval), otherwise the we will crash."]
    #[doc = " In order to pass parameters the following members need to be set:"]
    #[doc = " fci->param_count = 0;"]
    #[doc = " fci->params = NULL;"]
    #[doc = " The callable_name argument may be NULL."]
    #[doc = " Set check_flags to IS_CALLABLE_STRICT for every new usage!"]
    pub fn zend_fcall_info_init(
        callable: *mut zval,
        check_flags: u32,
        fci: *mut zend_fcall_info,
        fcc: *mut zend_fcall_info_cache,
        callable_name: *mut *mut zend_string,
        error: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " Clear arguments connected with zend_fcall_info *fci"]
    #[doc = " If free_mem is not zero then the params array gets free'd as well"]
    pub fn zend_fcall_info_args_clear(fci: *mut zend_fcall_info, free_mem: ::std::os::raw::c_int);
}
extern "C" {
    #[doc = " Save current arguments from zend_fcall_info *fci"]
    #[doc = " params array will be set to NULL"]
    pub fn zend_fcall_info_args_save(
        fci: *mut zend_fcall_info,
        param_count: *mut ::std::os::raw::c_int,
        params: *mut *mut zval,
    );
}
extern "C" {
    #[doc = " Free arguments connected with zend_fcall_info *fci andset back saved ones."]
    pub fn zend_fcall_info_args_restore(
        fci: *mut zend_fcall_info,
        param_count: ::std::os::raw::c_int,
        params: *mut zval,
    );
}
extern "C" {
    #[doc = " Set or clear the arguments in the zend_call_info struct taking care of"]
    #[doc = " refcount. If args is NULL and arguments are set then those are cleared."]
    pub fn zend_fcall_info_args(
        fci: *mut zend_fcall_info,
        args: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_fcall_info_args_ex(
        fci: *mut zend_fcall_info,
        func: *mut zend_function,
        args: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
    #[doc = " a variable amount of zval** arguments."]
    pub fn zend_fcall_info_argp(
        fci: *mut zend_fcall_info,
        argc: ::std::os::raw::c_int,
        argv: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
    #[doc = " a variable amount of zval** arguments."]
    pub fn zend_fcall_info_argv(
        fci: *mut zend_fcall_info,
        argc: ::std::os::raw::c_int,
        argv: *mut va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " Set arguments in the zend_fcall_info struct taking care of refcount."]
    #[doc = " If argc is 0 the arguments which are set will be cleared, else pass"]
    #[doc = " a variable amount of zval** arguments."]
    pub fn zend_fcall_info_argn(
        fci: *mut zend_fcall_info,
        argc: ::std::os::raw::c_int,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " Call a function using information created by zend_fcall_info_init()/args()."]
    #[doc = " If args is given then those replace the argument info in fci is temporarily."]
    pub fn zend_fcall_info_call(
        fci: *mut zend_fcall_info,
        fcc: *mut zend_fcall_info_cache,
        retval: *mut zval,
        args: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_call_function(
        fci: *mut zend_fcall_info,
        fci_cache: *mut zend_fcall_info_cache,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_set_hash_symbol(
        symbol: *mut zval,
        name: *const ::std::os::raw::c_char,
        name_length: ::std::os::raw::c_int,
        is_ref: zend_bool,
        num_symbol_tables: ::std::os::raw::c_int,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_delete_global_variable(name: *mut zend_string) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_rebuild_symbol_table() -> *mut zend_array;
}
extern "C" {
    pub fn zend_attach_symbol_table(execute_data: *mut zend_execute_data);
}
extern "C" {
    pub fn zend_detach_symbol_table(execute_data: *mut zend_execute_data);
}
extern "C" {
    pub fn zend_set_local_var(
        name: *mut zend_string,
        value: *mut zval,
        force: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_set_local_var_str(
        name: *const ::std::os::raw::c_char,
        len: size_t,
        value: *mut zval,
        force: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_forbid_dynamic_call(
        func_name: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_find_alias_name(
        ce: *mut zend_class_entry,
        name: *mut zend_string,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_resolve_method_name(
        ce: *mut zend_class_entry,
        f: *mut zend_function,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn zend_get_object_type(ce: *const zend_class_entry) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_is_iterable(iterable: *mut zval) -> zend_bool;
}
extern "C" {
    pub fn zend_is_countable(countable: *mut zval) -> zend_bool;
}
pub const _zend_expected_type_Z_EXPECTED_LONG: _zend_expected_type = 0;
pub const _zend_expected_type_Z_EXPECTED_BOOL: _zend_expected_type = 1;
pub const _zend_expected_type_Z_EXPECTED_STRING: _zend_expected_type = 2;
pub const _zend_expected_type_Z_EXPECTED_ARRAY: _zend_expected_type = 3;
pub const _zend_expected_type_Z_EXPECTED_FUNC: _zend_expected_type = 4;
pub const _zend_expected_type_Z_EXPECTED_RESOURCE: _zend_expected_type = 5;
pub const _zend_expected_type_Z_EXPECTED_PATH: _zend_expected_type = 6;
pub const _zend_expected_type_Z_EXPECTED_OBJECT: _zend_expected_type = 7;
pub const _zend_expected_type_Z_EXPECTED_DOUBLE: _zend_expected_type = 8;
pub const _zend_expected_type_Z_EXPECTED_LAST: _zend_expected_type = 9;
pub type _zend_expected_type = ::std::os::raw::c_uint;
pub use self::_zend_expected_type as zend_expected_type;
extern "C" {
    pub fn zend_wrong_parameters_none_error() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_wrong_parameters_none_exception() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_wrong_parameters_count_error(
        min_num_args: ::std::os::raw::c_int,
        max_num_args: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_wrong_parameters_count_exception(
        min_num_args: ::std::os::raw::c_int,
        max_num_args: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_wrong_parameter_type_error(
        num: ::std::os::raw::c_int,
        expected_type: zend_expected_type,
        arg: *mut zval,
    );
}
extern "C" {
    pub fn zend_wrong_parameter_type_exception(
        num: ::std::os::raw::c_int,
        expected_type: zend_expected_type,
        arg: *mut zval,
    );
}
extern "C" {
    pub fn zend_wrong_parameter_class_error(
        num: ::std::os::raw::c_int,
        name: *mut ::std::os::raw::c_char,
        arg: *mut zval,
    );
}
extern "C" {
    pub fn zend_wrong_parameter_class_exception(
        num: ::std::os::raw::c_int,
        name: *mut ::std::os::raw::c_char,
        arg: *mut zval,
    );
}
extern "C" {
    pub fn zend_wrong_callback_error(
        num: ::std::os::raw::c_int,
        error: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn zend_wrong_callback_deprecated(
        num: ::std::os::raw::c_int,
        error: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn zend_wrong_callback_exception(
        num: ::std::os::raw::c_int,
        error: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn zend_parse_arg_class(
        arg: *mut zval,
        pce: *mut *mut zend_class_entry,
        num: ::std::os::raw::c_int,
        check_null: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_bool_slow(arg: *mut zval, dest: *mut zend_bool) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_bool_weak(arg: *mut zval, dest: *mut zend_bool) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_long_slow(arg: *mut zval, dest: *mut zend_long) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_long_weak(arg: *mut zval, dest: *mut zend_long) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_long_cap_slow(
        arg: *mut zval,
        dest: *mut zend_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_long_cap_weak(
        arg: *mut zval,
        dest: *mut zend_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_double_slow(arg: *mut zval, dest: *mut f64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_double_weak(arg: *mut zval, dest: *mut f64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_str_slow(
        arg: *mut zval,
        dest: *mut *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_arg_str_weak(
        arg: *mut zval,
        dest: *mut *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_strlcpy(
        dst: *mut ::std::os::raw::c_char,
        src: *const ::std::os::raw::c_char,
        siz: size_t,
    ) -> size_t;
}
extern "C" {
    pub fn php_strlcat(
        dst: *mut ::std::os::raw::c_char,
        src: *const ::std::os::raw::c_char,
        siz: size_t,
    ) -> size_t;
}
extern "C" {
    pub fn php_explicit_bzero(dst: *mut ::std::os::raw::c_void, siz: size_t);
}
pub type socklen_t = __socklen_t;
pub type bool_int = ::std::os::raw::c_int;
pub const boolean_e_NO: boolean_e = 0;
pub const boolean_e_YES: boolean_e = 1;
pub type boolean_e = ::std::os::raw::c_uint;
extern "C" {
    pub fn php_sprintf(
        s: *mut ::std::os::raw::c_char,
        format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_gcvt(
        value: f64,
        ndigit: ::std::os::raw::c_int,
        dec_point: ::std::os::raw::c_char,
        exponent: ::std::os::raw::c_char,
        buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn php_0cvt(
        value: f64,
        ndigit: ::std::os::raw::c_int,
        dec_point: ::std::os::raw::c_char,
        exponent: ::std::os::raw::c_char,
        buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn php_conv_fp(
        format: ::std::os::raw::c_char,
        num: f64,
        add_dp: boolean_e,
        precision: ::std::os::raw::c_int,
        dec_point: ::std::os::raw::c_char,
        is_negative: *mut bool_int,
        buf: *mut ::std::os::raw::c_char,
        len: *mut size_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn php_printf_to_smart_string(
        buf: *mut smart_string,
        format: *const ::std::os::raw::c_char,
        ap: *mut __va_list_tag,
    );
}
extern "C" {
    pub fn php_printf_to_smart_str(
        buf: *mut smart_str,
        format: *const ::std::os::raw::c_char,
        ap: *mut __va_list_tag,
    );
}
extern "C" {
    pub fn php_write(buf: *mut ::std::os::raw::c_void, size: size_t) -> size_t;
}
extern "C" {
    pub fn php_printf(format: *const ::std::os::raw::c_char, ...) -> size_t;
}
extern "C" {
    pub fn php_get_module_initialized() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_syslog(arg1: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
}
extern "C" {
    pub fn php_openlog(
        arg1: *const ::std::os::raw::c_char,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn php_log_err_with_severity(
        log_message: *mut ::std::os::raw::c_char,
        syslog_type_int: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn php_verror(
        docref: *const ::std::os::raw::c_char,
        params: *const ::std::os::raw::c_char,
        type_: ::std::os::raw::c_int,
        format: *const ::std::os::raw::c_char,
        args: *mut __va_list_tag,
    );
}
extern "C" {
    pub fn php_error_docref0(
        docref: *const ::std::os::raw::c_char,
        type_: ::std::os::raw::c_int,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn php_error_docref1(
        docref: *const ::std::os::raw::c_char,
        param1: *const ::std::os::raw::c_char,
        type_: ::std::os::raw::c_int,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn php_error_docref2(
        docref: *const ::std::os::raw::c_char,
        param1: *const ::std::os::raw::c_char,
        param2: *const ::std::os::raw::c_char,
        type_: ::std::os::raw::c_int,
        format: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub static mut php_register_internal_extensions_func:
        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
}
extern "C" {
    pub fn php_register_internal_extensions() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_mergesort(
        base: *mut ::std::os::raw::c_void,
        nmemb: size_t,
        size: size_t,
        cmp: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *const ::std::os::raw::c_void,
                arg2: *const ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_register_pre_request_shutdown(
        func: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
        userdata: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn php_com_initialize();
}
extern "C" {
    pub fn php_get_current_user() -> *mut ::std::os::raw::c_char;
}
pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ: _php_output_handler_hook_t =
    0;
pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_FLAGS: _php_output_handler_hook_t =
    1;
pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_GET_LEVEL: _php_output_handler_hook_t =
    2;
pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE: _php_output_handler_hook_t =
    3;
pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_DISABLE: _php_output_handler_hook_t =
    4;
pub const _php_output_handler_hook_t_PHP_OUTPUT_HANDLER_HOOK_LAST: _php_output_handler_hook_t = 5;
pub type _php_output_handler_hook_t = ::std::os::raw::c_uint;
pub use self::_php_output_handler_hook_t as php_output_handler_hook_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_output_buffer {
    pub data: *mut ::std::os::raw::c_char,
    pub size: size_t,
    pub used: size_t,
    pub _bitfield_align_1: [u32; 0],
    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
    pub __bindgen_padding_0: u32,
}
#[test]
fn bindgen_test_layout__php_output_buffer() {
    assert_eq!(
        ::std::mem::size_of::<_php_output_buffer>(),
        32usize,
        concat!("Size of: ", stringify!(_php_output_buffer))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_output_buffer>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_output_buffer))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_buffer),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).size as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_buffer),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_buffer>())).used as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_buffer),
            "::",
            stringify!(used)
        )
    );
}
impl _php_output_buffer {
    #[inline]
    pub fn free(&self) -> u32 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
    }
    #[inline]
    pub fn set_free(&mut self, val: u32) {
        unsafe {
            let val: u32 = ::std::mem::transmute(val);
            self._bitfield_1.set(0usize, 1u8, val as u64)
        }
    }
    #[inline]
    pub fn _reserved(&self) -> u32 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
    }
    #[inline]
    pub fn set__reserved(&mut self, val: u32) {
        unsafe {
            let val: u32 = ::std::mem::transmute(val);
            self._bitfield_1.set(1usize, 31u8, val as u64)
        }
    }
    #[inline]
    pub fn new_bitfield_1(free: u32, _reserved: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
        __bindgen_bitfield_unit.set(0usize, 1u8, {
            let free: u32 = unsafe { ::std::mem::transmute(free) };
            free as u64
        });
        __bindgen_bitfield_unit.set(1usize, 31u8, {
            let _reserved: u32 = unsafe { ::std::mem::transmute(_reserved) };
            _reserved as u64
        });
        __bindgen_bitfield_unit
    }
}
pub type php_output_buffer = _php_output_buffer;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_output_context {
    pub op: ::std::os::raw::c_int,
    pub in_: php_output_buffer,
    pub out: php_output_buffer,
}
#[test]
fn bindgen_test_layout__php_output_context() {
    assert_eq!(
        ::std::mem::size_of::<_php_output_context>(),
        72usize,
        concat!("Size of: ", stringify!(_php_output_context))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_output_context>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_output_context))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_context>())).op as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_context),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_context>())).in_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_context),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_context>())).out as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_context),
            "::",
            stringify!(out)
        )
    );
}
pub type php_output_context = _php_output_context;
pub type php_output_handler_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        output: *mut ::std::os::raw::c_char,
        output_len: size_t,
        handled_output: *mut *mut ::std::os::raw::c_char,
        handled_output_len: *mut size_t,
        mode: ::std::os::raw::c_int,
    ),
>;
pub type php_output_handler_context_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        handler_context: *mut *mut ::std::os::raw::c_void,
        output_context: *mut php_output_context,
    ) -> ::std::os::raw::c_int,
>;
pub type php_output_handler_conflict_check_t = ::std::option::Option<
    unsafe extern "C" fn(
        handler_name: *const ::std::os::raw::c_char,
        handler_name_len: size_t,
    ) -> ::std::os::raw::c_int,
>;
pub type php_output_handler_alias_ctor_t = ::std::option::Option<
    unsafe extern "C" fn(
        handler_name: *const ::std::os::raw::c_char,
        handler_name_len: size_t,
        chunk_size: size_t,
        flags: ::std::os::raw::c_int,
    ) -> *mut _php_output_handler,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _php_output_handler_user_func_t {
    pub fci: zend_fcall_info,
    pub fcc: zend_fcall_info_cache,
    pub zoh: zval,
}
#[test]
fn bindgen_test_layout__php_output_handler_user_func_t() {
    assert_eq!(
        ::std::mem::size_of::<_php_output_handler_user_func_t>(),
        104usize,
        concat!("Size of: ", stringify!(_php_output_handler_user_func_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_output_handler_user_func_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_output_handler_user_func_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).fci as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler_user_func_t),
            "::",
            stringify!(fci)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).fcc as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler_user_func_t),
            "::",
            stringify!(fcc)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_output_handler_user_func_t>())).zoh as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler_user_func_t),
            "::",
            stringify!(zoh)
        )
    );
}
pub type php_output_handler_user_func_t = _php_output_handler_user_func_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _php_output_handler {
    pub name: *mut zend_string,
    pub flags: ::std::os::raw::c_int,
    pub level: ::std::os::raw::c_int,
    pub size: size_t,
    pub buffer: php_output_buffer,
    pub opaq: *mut ::std::os::raw::c_void,
    pub dtor: ::std::option::Option<unsafe extern "C" fn(opaq: *mut ::std::os::raw::c_void)>,
    pub func: _php_output_handler__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _php_output_handler__bindgen_ty_1 {
    pub user: *mut php_output_handler_user_func_t,
    pub internal: php_output_handler_context_func_t,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__php_output_handler__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_php_output_handler__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_php_output_handler__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_output_handler__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_php_output_handler__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_output_handler__bindgen_ty_1>())).user as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler__bindgen_ty_1),
            "::",
            stringify!(user)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_output_handler__bindgen_ty_1>())).internal as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler__bindgen_ty_1),
            "::",
            stringify!(internal)
        )
    );
}
#[test]
fn bindgen_test_layout__php_output_handler() {
    assert_eq!(
        ::std::mem::size_of::<_php_output_handler>(),
        80usize,
        concat!("Size of: ", stringify!(_php_output_handler))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_output_handler>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_output_handler))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).flags as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).level as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(level)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).size as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).buffer as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(buffer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).opaq as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(opaq)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).dtor as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(dtor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_output_handler>())).func as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_output_handler),
            "::",
            stringify!(func)
        )
    );
}
pub type php_output_handler = _php_output_handler;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_output_globals {
    pub handlers: zend_stack,
    pub active: *mut php_output_handler,
    pub running: *mut php_output_handler,
    pub output_start_filename: *const ::std::os::raw::c_char,
    pub output_start_lineno: ::std::os::raw::c_int,
    pub flags: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__zend_output_globals() {
    assert_eq!(
        ::std::mem::size_of::<_zend_output_globals>(),
        56usize,
        concat!("Size of: ", stringify!(_zend_output_globals))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_output_globals>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_output_globals))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).handlers as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_output_globals),
            "::",
            stringify!(handlers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).active as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_output_globals),
            "::",
            stringify!(active)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).running as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_output_globals),
            "::",
            stringify!(running)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_output_globals>())).output_start_filename as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_output_globals),
            "::",
            stringify!(output_start_filename)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_output_globals>())).output_start_lineno as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_output_globals),
            "::",
            stringify!(output_start_lineno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_output_globals>())).flags as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_output_globals),
            "::",
            stringify!(flags)
        )
    );
}
pub type zend_output_globals = _zend_output_globals;
extern "C" {
    pub static mut output_globals: zend_output_globals;
}
extern "C" {
    pub static php_output_default_handler_name: [::std::os::raw::c_char; 23usize];
}
extern "C" {
    pub static php_output_devnull_handler_name: [::std::os::raw::c_char; 20usize];
}
extern "C" {
    pub fn php_output_startup();
}
extern "C" {
    pub fn php_output_shutdown();
}
extern "C" {
    pub fn php_output_register_constants();
}
extern "C" {
    pub fn php_output_activate() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_deactivate();
}
extern "C" {
    pub fn php_output_set_status(status: ::std::os::raw::c_int);
}
extern "C" {
    pub fn php_output_get_status() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_set_implicit_flush(flush: ::std::os::raw::c_int);
}
extern "C" {
    pub fn php_output_get_start_filename() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn php_output_get_start_lineno() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_write_unbuffered(str_: *const ::std::os::raw::c_char, len: size_t) -> size_t;
}
extern "C" {
    pub fn php_output_write(str_: *const ::std::os::raw::c_char, len: size_t) -> size_t;
}
extern "C" {
    pub fn php_output_flush() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_flush_all();
}
extern "C" {
    pub fn php_output_clean() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_clean_all();
}
extern "C" {
    pub fn php_output_end() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_end_all();
}
extern "C" {
    pub fn php_output_discard() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_discard_all();
}
extern "C" {
    pub fn php_output_get_contents(p: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_get_length(p: *mut zval) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_get_level() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_get_active_handler() -> *mut php_output_handler;
}
extern "C" {
    pub fn php_output_start_default() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_start_devnull() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_start_user(
        output_handler: *mut zval,
        chunk_size: size_t,
        flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_start_internal(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        output_handler: php_output_handler_func_t,
        chunk_size: size_t,
        flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_handler_create_user(
        handler: *mut zval,
        chunk_size: size_t,
        flags: ::std::os::raw::c_int,
    ) -> *mut php_output_handler;
}
extern "C" {
    pub fn php_output_handler_create_internal(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        handler: php_output_handler_context_func_t,
        chunk_size: size_t,
        flags: ::std::os::raw::c_int,
    ) -> *mut php_output_handler;
}
extern "C" {
    pub fn php_output_handler_set_context(
        handler: *mut php_output_handler,
        opaq: *mut ::std::os::raw::c_void,
        dtor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    );
}
extern "C" {
    pub fn php_output_handler_start(handler: *mut php_output_handler) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_handler_started(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_handler_hook(
        type_: php_output_handler_hook_t,
        arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_handler_dtor(handler: *mut php_output_handler);
}
extern "C" {
    pub fn php_output_handler_free(handler: *mut *mut php_output_handler);
}
extern "C" {
    pub fn php_output_handler_conflict(
        handler_new: *const ::std::os::raw::c_char,
        handler_new_len: size_t,
        handler_set: *const ::std::os::raw::c_char,
        handler_set_len: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_handler_conflict_register(
        handler_name: *const ::std::os::raw::c_char,
        handler_name_len: size_t,
        check_func: php_output_handler_conflict_check_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_handler_reverse_conflict_register(
        handler_name: *const ::std::os::raw::c_char,
        handler_name_len: size_t,
        check_func: php_output_handler_conflict_check_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_output_handler_alias(
        handler_name: *const ::std::os::raw::c_char,
        handler_name_len: size_t,
    ) -> php_output_handler_alias_ctor_t;
}
extern "C" {
    pub fn php_output_handler_alias_register(
        handler_name: *const ::std::os::raw::c_char,
        handler_name_len: size_t,
        func: php_output_handler_alias_ctor_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_file_le_stream() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_file_le_pstream() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_file_le_stream_filter() -> ::std::os::raw::c_int;
}
pub type php_stream = _php_stream;
pub type php_stream_wrapper = _php_stream_wrapper;
pub type php_stream_context = _php_stream_context;
pub type php_stream_filter = _php_stream_filter;
pub type php_stream_notification_func = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut php_stream_context,
        notifycode: ::std::os::raw::c_int,
        severity: ::std::os::raw::c_int,
        xmsg: *mut ::std::os::raw::c_char,
        xcode: ::std::os::raw::c_int,
        bytes_sofar: size_t,
        bytes_max: size_t,
        ptr: *mut ::std::os::raw::c_void,
    ),
>;
pub type php_stream_notifier = _php_stream_notifier;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _php_stream_notifier {
    pub func: php_stream_notification_func,
    pub dtor: ::std::option::Option<unsafe extern "C" fn(notifier: *mut php_stream_notifier)>,
    pub ptr: zval,
    pub mask: ::std::os::raw::c_int,
    pub progress: size_t,
    pub progress_max: size_t,
}
#[test]
fn bindgen_test_layout__php_stream_notifier() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_notifier>(),
        56usize,
        concat!("Size of: ", stringify!(_php_stream_notifier))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_notifier>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_notifier))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).func as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_notifier),
            "::",
            stringify!(func)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).dtor as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_notifier),
            "::",
            stringify!(dtor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).ptr as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_notifier),
            "::",
            stringify!(ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).mask as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_notifier),
            "::",
            stringify!(mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_notifier>())).progress as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_notifier),
            "::",
            stringify!(progress)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_notifier>())).progress_max as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_notifier),
            "::",
            stringify!(progress_max)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _php_stream_context {
    pub notifier: *mut php_stream_notifier,
    pub options: zval,
    pub res: *mut zend_resource,
}
#[test]
fn bindgen_test_layout__php_stream_context() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_context>(),
        32usize,
        concat!("Size of: ", stringify!(_php_stream_context))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_context>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_context))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).notifier as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_context),
            "::",
            stringify!(notifier)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).options as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_context),
            "::",
            stringify!(options)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_context>())).res as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_context),
            "::",
            stringify!(res)
        )
    );
}
extern "C" {
    pub fn php_stream_context_free(context: *mut php_stream_context);
}
extern "C" {
    pub fn php_stream_context_alloc() -> *mut php_stream_context;
}
extern "C" {
    pub fn php_stream_context_get_option(
        context: *mut php_stream_context,
        wrappername: *const ::std::os::raw::c_char,
        optionname: *const ::std::os::raw::c_char,
    ) -> *mut zval;
}
extern "C" {
    pub fn php_stream_context_set_option(
        context: *mut php_stream_context,
        wrappername: *const ::std::os::raw::c_char,
        optionname: *const ::std::os::raw::c_char,
        optionvalue: *mut zval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_notification_alloc() -> *mut php_stream_notifier;
}
extern "C" {
    pub fn php_stream_notification_free(notifier: *mut php_stream_notifier);
}
extern "C" {
    pub fn php_stream_notification_notify(
        context: *mut php_stream_context,
        notifycode: ::std::os::raw::c_int,
        severity: ::std::os::raw::c_int,
        xmsg: *mut ::std::os::raw::c_char,
        xcode: ::std::os::raw::c_int,
        bytes_sofar: size_t,
        bytes_max: size_t,
        ptr: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn php_stream_context_set(
        stream: *mut php_stream,
        context: *mut php_stream_context,
    ) -> *mut php_stream_context;
}
pub type php_stream_bucket = _php_stream_bucket;
pub type php_stream_bucket_brigade = _php_stream_bucket_brigade;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_bucket {
    pub next: *mut php_stream_bucket,
    pub prev: *mut php_stream_bucket,
    pub brigade: *mut php_stream_bucket_brigade,
    pub buf: *mut ::std::os::raw::c_char,
    pub buflen: size_t,
    pub own_buf: u8,
    pub is_persistent: u8,
    pub refcount: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__php_stream_bucket() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_bucket>(),
        48usize,
        concat!("Size of: ", stringify!(_php_stream_bucket))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_bucket>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_bucket))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).next as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).prev as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(prev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).brigade as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(brigade)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).buf as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(buf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).buflen as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(buflen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).own_buf as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(own_buf)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_bucket>())).is_persistent as *const _ as usize
        },
        41usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(is_persistent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket>())).refcount as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket),
            "::",
            stringify!(refcount)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_bucket_brigade {
    pub head: *mut php_stream_bucket,
    pub tail: *mut php_stream_bucket,
}
#[test]
fn bindgen_test_layout__php_stream_bucket_brigade() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_bucket_brigade>(),
        16usize,
        concat!("Size of: ", stringify!(_php_stream_bucket_brigade))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_bucket_brigade>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_bucket_brigade))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket_brigade>())).head as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket_brigade),
            "::",
            stringify!(head)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_bucket_brigade>())).tail as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_bucket_brigade),
            "::",
            stringify!(tail)
        )
    );
}
pub const php_stream_filter_status_t_PSFS_ERR_FATAL: php_stream_filter_status_t = 0;
pub const php_stream_filter_status_t_PSFS_FEED_ME: php_stream_filter_status_t = 1;
pub const php_stream_filter_status_t_PSFS_PASS_ON: php_stream_filter_status_t = 2;
pub type php_stream_filter_status_t = ::std::os::raw::c_uint;
extern "C" {
    pub fn php_stream_bucket_new(
        stream: *mut php_stream,
        buf: *mut ::std::os::raw::c_char,
        buflen: size_t,
        own_buf: u8,
        buf_persistent: u8,
    ) -> *mut php_stream_bucket;
}
extern "C" {
    pub fn php_stream_bucket_split(
        in_: *mut php_stream_bucket,
        left: *mut *mut php_stream_bucket,
        right: *mut *mut php_stream_bucket,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_bucket_delref(bucket: *mut php_stream_bucket);
}
extern "C" {
    pub fn php_stream_bucket_prepend(
        brigade: *mut php_stream_bucket_brigade,
        bucket: *mut php_stream_bucket,
    );
}
extern "C" {
    pub fn php_stream_bucket_append(
        brigade: *mut php_stream_bucket_brigade,
        bucket: *mut php_stream_bucket,
    );
}
extern "C" {
    pub fn php_stream_bucket_unlink(bucket: *mut php_stream_bucket);
}
extern "C" {
    pub fn php_stream_bucket_make_writeable(
        bucket: *mut php_stream_bucket,
    ) -> *mut php_stream_bucket;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_filter_ops {
    pub filter: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            thisfilter: *mut php_stream_filter,
            buckets_in: *mut php_stream_bucket_brigade,
            buckets_out: *mut php_stream_bucket_brigade,
            bytes_consumed: *mut size_t,
            flags: ::std::os::raw::c_int,
        ) -> php_stream_filter_status_t,
    >,
    pub dtor: ::std::option::Option<unsafe extern "C" fn(thisfilter: *mut php_stream_filter)>,
    pub label: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__php_stream_filter_ops() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_filter_ops>(),
        24usize,
        concat!("Size of: ", stringify!(_php_stream_filter_ops))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_filter_ops>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_filter_ops))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).filter as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter_ops),
            "::",
            stringify!(filter)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).dtor as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter_ops),
            "::",
            stringify!(dtor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter_ops>())).label as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter_ops),
            "::",
            stringify!(label)
        )
    );
}
pub type php_stream_filter_ops = _php_stream_filter_ops;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_filter_chain {
    pub head: *mut php_stream_filter,
    pub tail: *mut php_stream_filter,
    pub stream: *mut php_stream,
}
#[test]
fn bindgen_test_layout__php_stream_filter_chain() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_filter_chain>(),
        24usize,
        concat!("Size of: ", stringify!(_php_stream_filter_chain))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_filter_chain>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_filter_chain))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).head as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter_chain),
            "::",
            stringify!(head)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).tail as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter_chain),
            "::",
            stringify!(tail)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter_chain>())).stream as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter_chain),
            "::",
            stringify!(stream)
        )
    );
}
pub type php_stream_filter_chain = _php_stream_filter_chain;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _php_stream_filter {
    pub fops: *const php_stream_filter_ops,
    pub abstract_: zval,
    pub next: *mut php_stream_filter,
    pub prev: *mut php_stream_filter,
    pub is_persistent: ::std::os::raw::c_int,
    pub chain: *mut php_stream_filter_chain,
    pub buffer: php_stream_bucket_brigade,
    pub res: *mut zend_resource,
}
#[test]
fn bindgen_test_layout__php_stream_filter() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_filter>(),
        80usize,
        concat!("Size of: ", stringify!(_php_stream_filter))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_filter>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_filter))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).fops as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(fops)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).abstract_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(abstract_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).next as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).prev as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(prev)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_filter>())).is_persistent as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(is_persistent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).chain as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(chain)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).buffer as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(buffer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_filter>())).res as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter),
            "::",
            stringify!(res)
        )
    );
}
extern "C" {
    pub fn php_stream_filter_prepend_ex(
        chain: *mut php_stream_filter_chain,
        filter: *mut php_stream_filter,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_filter_append_ex(
        chain: *mut php_stream_filter_chain,
        filter: *mut php_stream_filter,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_filter_remove(
        filter: *mut php_stream_filter,
        call_dtor: ::std::os::raw::c_int,
    ) -> *mut php_stream_filter;
}
extern "C" {
    pub fn php_stream_filter_free(filter: *mut php_stream_filter);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_filter_factory {
    pub create_filter: ::std::option::Option<
        unsafe extern "C" fn(
            filtername: *const ::std::os::raw::c_char,
            filterparams: *mut zval,
            persistent: u8,
        ) -> *mut php_stream_filter,
    >,
}
#[test]
fn bindgen_test_layout__php_stream_filter_factory() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_filter_factory>(),
        8usize,
        concat!("Size of: ", stringify!(_php_stream_filter_factory))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_filter_factory>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_filter_factory))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_filter_factory>())).create_filter as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_filter_factory),
            "::",
            stringify!(create_filter)
        )
    );
}
pub type php_stream_filter_factory = _php_stream_filter_factory;
extern "C" {
    pub fn php_stream_filter_register_factory(
        filterpattern: *const ::std::os::raw::c_char,
        factory: *const php_stream_filter_factory,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_filter_unregister_factory(
        filterpattern: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_filter_register_factory_volatile(
        filterpattern: *mut zend_string,
        factory: *const php_stream_filter_factory,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_filter_create(
        filtername: *const ::std::os::raw::c_char,
        filterparams: *mut zval,
        persistent: u8,
    ) -> *mut php_stream_filter;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_statbuf {
    pub sb: zend_stat_t,
}
#[test]
fn bindgen_test_layout__php_stream_statbuf() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_statbuf>(),
        144usize,
        concat!("Size of: ", stringify!(_php_stream_statbuf))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_statbuf>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_statbuf))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_statbuf>())).sb as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_statbuf),
            "::",
            stringify!(sb)
        )
    );
}
pub type php_stream_statbuf = _php_stream_statbuf;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_ops {
    pub write: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            buf: *const ::std::os::raw::c_char,
            count: size_t,
        ) -> size_t,
    >,
    pub read: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            buf: *mut ::std::os::raw::c_char,
            count: size_t,
        ) -> size_t,
    >,
    pub close: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            close_handle: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >,
    pub flush: ::std::option::Option<
        unsafe extern "C" fn(stream: *mut php_stream) -> ::std::os::raw::c_int,
    >,
    pub label: *const ::std::os::raw::c_char,
    pub seek: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            offset: zend_off_t,
            whence: ::std::os::raw::c_int,
            newoffset: *mut zend_off_t,
        ) -> ::std::os::raw::c_int,
    >,
    pub cast: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            castas: ::std::os::raw::c_int,
            ret: *mut *mut ::std::os::raw::c_void,
        ) -> ::std::os::raw::c_int,
    >,
    pub stat: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            ssb: *mut php_stream_statbuf,
        ) -> ::std::os::raw::c_int,
    >,
    pub set_option: ::std::option::Option<
        unsafe extern "C" fn(
            stream: *mut php_stream,
            option: ::std::os::raw::c_int,
            value: ::std::os::raw::c_int,
            ptrparam: *mut ::std::os::raw::c_void,
        ) -> ::std::os::raw::c_int,
    >,
}
#[test]
fn bindgen_test_layout__php_stream_ops() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_ops>(),
        72usize,
        concat!("Size of: ", stringify!(_php_stream_ops))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_ops>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_ops))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).write as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(write)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).read as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(read)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).close as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(close)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).flush as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(flush)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).label as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(label)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).seek as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(seek)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).cast as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(cast)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).stat as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(stat)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_ops>())).set_option as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_ops),
            "::",
            stringify!(set_option)
        )
    );
}
pub type php_stream_ops = _php_stream_ops;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_wrapper_ops {
    pub stream_opener: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            filename: *const ::std::os::raw::c_char,
            mode: *const ::std::os::raw::c_char,
            options: ::std::os::raw::c_int,
            opened_path: *mut *mut zend_string,
            context: *mut php_stream_context,
        ) -> *mut php_stream,
    >,
    pub stream_closer: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            stream: *mut php_stream,
        ) -> ::std::os::raw::c_int,
    >,
    pub stream_stat: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            stream: *mut php_stream,
            ssb: *mut php_stream_statbuf,
        ) -> ::std::os::raw::c_int,
    >,
    pub url_stat: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            url: *const ::std::os::raw::c_char,
            flags: ::std::os::raw::c_int,
            ssb: *mut php_stream_statbuf,
            context: *mut php_stream_context,
        ) -> ::std::os::raw::c_int,
    >,
    pub dir_opener: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            filename: *const ::std::os::raw::c_char,
            mode: *const ::std::os::raw::c_char,
            options: ::std::os::raw::c_int,
            opened_path: *mut *mut zend_string,
            context: *mut php_stream_context,
        ) -> *mut php_stream,
    >,
    pub label: *const ::std::os::raw::c_char,
    pub unlink: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            url: *const ::std::os::raw::c_char,
            options: ::std::os::raw::c_int,
            context: *mut php_stream_context,
        ) -> ::std::os::raw::c_int,
    >,
    pub rename: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            url_from: *const ::std::os::raw::c_char,
            url_to: *const ::std::os::raw::c_char,
            options: ::std::os::raw::c_int,
            context: *mut php_stream_context,
        ) -> ::std::os::raw::c_int,
    >,
    pub stream_mkdir: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            url: *const ::std::os::raw::c_char,
            mode: ::std::os::raw::c_int,
            options: ::std::os::raw::c_int,
            context: *mut php_stream_context,
        ) -> ::std::os::raw::c_int,
    >,
    pub stream_rmdir: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            url: *const ::std::os::raw::c_char,
            options: ::std::os::raw::c_int,
            context: *mut php_stream_context,
        ) -> ::std::os::raw::c_int,
    >,
    pub stream_metadata: ::std::option::Option<
        unsafe extern "C" fn(
            wrapper: *mut php_stream_wrapper,
            url: *const ::std::os::raw::c_char,
            options: ::std::os::raw::c_int,
            value: *mut ::std::os::raw::c_void,
            context: *mut php_stream_context,
        ) -> ::std::os::raw::c_int,
    >,
}
#[test]
fn bindgen_test_layout__php_stream_wrapper_ops() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_wrapper_ops>(),
        88usize,
        concat!("Size of: ", stringify!(_php_stream_wrapper_ops))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_wrapper_ops>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_wrapper_ops))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_opener as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(stream_opener)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_closer as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(stream_closer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_stat as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(stream_stat)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).url_stat as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(url_stat)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).dir_opener as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(dir_opener)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).label as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(label)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).unlink as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(unlink)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).rename as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(rename)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_mkdir as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(stream_mkdir)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_rmdir as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(stream_rmdir)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_stream_wrapper_ops>())).stream_metadata as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper_ops),
            "::",
            stringify!(stream_metadata)
        )
    );
}
pub type php_stream_wrapper_ops = _php_stream_wrapper_ops;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _php_stream_wrapper {
    pub wops: *const php_stream_wrapper_ops,
    pub abstract_: *mut ::std::os::raw::c_void,
    pub is_url: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__php_stream_wrapper() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream_wrapper>(),
        24usize,
        concat!("Size of: ", stringify!(_php_stream_wrapper))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream_wrapper>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream_wrapper))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).wops as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper),
            "::",
            stringify!(wops)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).abstract_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper),
            "::",
            stringify!(abstract_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream_wrapper>())).is_url as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream_wrapper),
            "::",
            stringify!(is_url)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _php_stream {
    pub ops: *const php_stream_ops,
    pub abstract_: *mut ::std::os::raw::c_void,
    pub readfilters: php_stream_filter_chain,
    pub writefilters: php_stream_filter_chain,
    pub wrapper: *mut php_stream_wrapper,
    pub wrapperthis: *mut ::std::os::raw::c_void,
    pub wrapperdata: zval,
    pub _bitfield_align_1: [u8; 0],
    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
    pub fgetss_state: u8,
    pub mode: [::std::os::raw::c_char; 16usize],
    pub flags: u32,
    pub res: *mut zend_resource,
    pub stdiocast: *mut FILE,
    pub orig_path: *mut ::std::os::raw::c_char,
    pub ctx: *mut zend_resource,
    pub position: zend_off_t,
    pub readbuf: *mut ::std::os::raw::c_uchar,
    pub readbuflen: size_t,
    pub readpos: zend_off_t,
    pub writepos: zend_off_t,
    pub chunk_size: size_t,
    pub enclosing_stream: *mut _php_stream,
}
#[test]
fn bindgen_test_layout__php_stream() {
    assert_eq!(
        ::std::mem::size_of::<_php_stream>(),
        208usize,
        concat!("Size of: ", stringify!(_php_stream))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_stream>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_stream))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).ops as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(ops)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).abstract_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(abstract_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).readfilters as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(readfilters)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).writefilters as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(writefilters)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapper as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(wrapper)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapperthis as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(wrapperthis)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).wrapperdata as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(wrapperdata)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).fgetss_state as *const _ as usize },
        97usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(fgetss_state)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).mode as *const _ as usize },
        98usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).flags as *const _ as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).res as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(res)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).stdiocast as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(stdiocast)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).orig_path as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(orig_path)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).ctx as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(ctx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).position as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(position)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).readbuf as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(readbuf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).readbuflen as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(readbuflen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).readpos as *const _ as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(readpos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).writepos as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(writepos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).chunk_size as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(chunk_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_stream>())).enclosing_stream as *const _ as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_stream),
            "::",
            stringify!(enclosing_stream)
        )
    );
}
impl _php_stream {
    #[inline]
    pub fn is_persistent(&self) -> u8 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
    }
    #[inline]
    pub fn set_is_persistent(&mut self, val: u8) {
        unsafe {
            let val: u8 = ::std::mem::transmute(val);
            self._bitfield_1.set(0usize, 1u8, val as u64)
        }
    }
    #[inline]
    pub fn in_free(&self) -> u8 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 2u8) as u8) }
    }
    #[inline]
    pub fn set_in_free(&mut self, val: u8) {
        unsafe {
            let val: u8 = ::std::mem::transmute(val);
            self._bitfield_1.set(1usize, 2u8, val as u64)
        }
    }
    #[inline]
    pub fn eof(&self) -> u8 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
    }
    #[inline]
    pub fn set_eof(&mut self, val: u8) {
        unsafe {
            let val: u8 = ::std::mem::transmute(val);
            self._bitfield_1.set(3usize, 1u8, val as u64)
        }
    }
    #[inline]
    pub fn __exposed(&self) -> u8 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
    }
    #[inline]
    pub fn set___exposed(&mut self, val: u8) {
        unsafe {
            let val: u8 = ::std::mem::transmute(val);
            self._bitfield_1.set(4usize, 1u8, val as u64)
        }
    }
    #[inline]
    pub fn fclose_stdiocast(&self) -> u8 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 2u8) as u8) }
    }
    #[inline]
    pub fn set_fclose_stdiocast(&mut self, val: u8) {
        unsafe {
            let val: u8 = ::std::mem::transmute(val);
            self._bitfield_1.set(5usize, 2u8, val as u64)
        }
    }
    #[inline]
    pub fn new_bitfield_1(
        is_persistent: u8,
        in_free: u8,
        eof: u8,
        __exposed: u8,
        fclose_stdiocast: u8,
    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
        __bindgen_bitfield_unit.set(0usize, 1u8, {
            let is_persistent: u8 = unsafe { ::std::mem::transmute(is_persistent) };
            is_persistent as u64
        });
        __bindgen_bitfield_unit.set(1usize, 2u8, {
            let in_free: u8 = unsafe { ::std::mem::transmute(in_free) };
            in_free as u64
        });
        __bindgen_bitfield_unit.set(3usize, 1u8, {
            let eof: u8 = unsafe { ::std::mem::transmute(eof) };
            eof as u64
        });
        __bindgen_bitfield_unit.set(4usize, 1u8, {
            let __exposed: u8 = unsafe { ::std::mem::transmute(__exposed) };
            __exposed as u64
        });
        __bindgen_bitfield_unit.set(5usize, 2u8, {
            let fclose_stdiocast: u8 = unsafe { ::std::mem::transmute(fclose_stdiocast) };
            fclose_stdiocast as u64
        });
        __bindgen_bitfield_unit
    }
}
extern "C" {
    pub fn php_stream_encloses(
        enclosing: *mut php_stream,
        enclosed: *mut php_stream,
    ) -> *mut php_stream;
}
extern "C" {
    pub fn php_stream_from_persistent_id(
        persistent_id: *const ::std::os::raw::c_char,
        stream: *mut *mut php_stream,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_get_record(
        stream: *mut php_stream,
        maxlen: size_t,
        delim: *const ::std::os::raw::c_char,
        delim_len: size_t,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn php_stream_dirent_alphasort(
        a: *mut *const zend_string,
        b: *mut *const zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_dirent_alphasortr(
        a: *mut *const zend_string,
        b: *mut *const zend_string,
    ) -> ::std::os::raw::c_int;
}
pub type php_stream_transport_factory_func = ::std::option::Option<
    unsafe extern "C" fn(
        proto: *const ::std::os::raw::c_char,
        protolen: size_t,
        resourcename: *const ::std::os::raw::c_char,
        resourcenamelen: size_t,
        persistent_id: *const ::std::os::raw::c_char,
        options: ::std::os::raw::c_int,
        flags: ::std::os::raw::c_int,
        timeout: *mut timeval,
        context: *mut php_stream_context,
    ) -> *mut php_stream,
>;
pub type php_stream_transport_factory = php_stream_transport_factory_func;
extern "C" {
    pub fn php_stream_xport_register(
        protocol: *const ::std::os::raw::c_char,
        factory: php_stream_transport_factory,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_unregister(
        protocol: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_bind(
        stream: *mut php_stream,
        name: *const ::std::os::raw::c_char,
        namelen: size_t,
        error_text: *mut *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_connect(
        stream: *mut php_stream,
        name: *const ::std::os::raw::c_char,
        namelen: size_t,
        asynchronous: ::std::os::raw::c_int,
        timeout: *mut timeval,
        error_text: *mut *mut zend_string,
        error_code: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_listen(
        stream: *mut php_stream,
        backlog: ::std::os::raw::c_int,
        error_text: *mut *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_accept(
        stream: *mut php_stream,
        client: *mut *mut php_stream,
        textaddr: *mut *mut zend_string,
        addr: *mut *mut ::std::os::raw::c_void,
        addrlen: *mut socklen_t,
        timeout: *mut timeval,
        error_text: *mut *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_get_name(
        stream: *mut php_stream,
        want_peer: ::std::os::raw::c_int,
        textaddr: *mut *mut zend_string,
        addr: *mut *mut ::std::os::raw::c_void,
        addrlen: *mut socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_recvfrom(
        stream: *mut php_stream,
        buf: *mut ::std::os::raw::c_char,
        buflen: size_t,
        flags: ::std::os::raw::c_int,
        addr: *mut *mut ::std::os::raw::c_void,
        addrlen: *mut socklen_t,
        textaddr: *mut *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_sendto(
        stream: *mut php_stream,
        buf: *const ::std::os::raw::c_char,
        buflen: size_t,
        flags: ::std::os::raw::c_int,
        addr: *mut ::std::os::raw::c_void,
        addrlen: socklen_t,
    ) -> ::std::os::raw::c_int;
}
pub const stream_shutdown_t_STREAM_SHUT_RD: stream_shutdown_t = 0;
pub const stream_shutdown_t_STREAM_SHUT_WR: stream_shutdown_t = 1;
pub const stream_shutdown_t_STREAM_SHUT_RDWR: stream_shutdown_t = 2;
pub type stream_shutdown_t = ::std::os::raw::c_uint;
extern "C" {
    pub fn php_stream_xport_shutdown(
        stream: *mut php_stream,
        how: stream_shutdown_t,
    ) -> ::std::os::raw::c_int;
}
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv2_CLIENT:
    php_stream_xport_crypt_method_t = 3;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv3_CLIENT:
    php_stream_xport_crypt_method_t = 5;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv23_CLIENT:
    php_stream_xport_crypt_method_t = 57;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT:
    php_stream_xport_crypt_method_t = 9;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT:
    php_stream_xport_crypt_method_t = 17;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT:
    php_stream_xport_crypt_method_t = 33;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_CLIENT:
    php_stream_xport_crypt_method_t = 57;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_ANY_CLIENT:
    php_stream_xport_crypt_method_t = 57;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_ANY_CLIENT:
    php_stream_xport_crypt_method_t = 63;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv2_SERVER:
    php_stream_xport_crypt_method_t = 2;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv3_SERVER:
    php_stream_xport_crypt_method_t = 4;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_SSLv23_SERVER:
    php_stream_xport_crypt_method_t = 56;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_0_SERVER:
    php_stream_xport_crypt_method_t = 8;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_1_SERVER:
    php_stream_xport_crypt_method_t = 16;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLSv1_2_SERVER:
    php_stream_xport_crypt_method_t = 32;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_SERVER:
    php_stream_xport_crypt_method_t = 56;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_TLS_ANY_SERVER:
    php_stream_xport_crypt_method_t = 56;
pub const php_stream_xport_crypt_method_t_STREAM_CRYPTO_METHOD_ANY_SERVER:
    php_stream_xport_crypt_method_t = 62;
pub type php_stream_xport_crypt_method_t = ::std::os::raw::c_uint;
extern "C" {
    pub fn php_stream_xport_crypto_setup(
        stream: *mut php_stream,
        crypto_method: php_stream_xport_crypt_method_t,
        session_stream: *mut php_stream,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_crypto_enable(
        stream: *mut php_stream,
        activate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_xport_get_hash() -> *mut HashTable;
}
extern "C" {
    pub fn php_stream_generic_socket_factory(
        proto: *const ::std::os::raw::c_char,
        protolen: size_t,
        resourcename: *const ::std::os::raw::c_char,
        resourcenamelen: size_t,
        persistent_id: *const ::std::os::raw::c_char,
        options: ::std::os::raw::c_int,
        flags: ::std::os::raw::c_int,
        timeout: *mut timeval,
        context: *mut php_stream_context,
    ) -> *mut php_stream;
}
extern "C" {
    pub static mut php_stream_stdio_ops: php_stream_ops;
}
extern "C" {
    pub static mut php_plain_files_wrapper: php_stream_wrapper;
}
extern "C" {
    pub fn php_stream_parse_fopen_modes(
        mode: *const ::std::os::raw::c_char,
        open_flags: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub static php_glob_stream_wrapper: php_stream_wrapper;
}
extern "C" {
    pub static php_glob_stream_ops: php_stream_ops;
}
extern "C" {
    pub static php_stream_userspace_ops: php_stream_ops;
}
extern "C" {
    pub static php_stream_userspace_dir_ops: php_stream_ops;
}
extern "C" {
    pub fn php_init_stream_wrappers(module_number: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_shutdown_stream_wrappers(
        module_number: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_shutdown_stream_hashes();
}
extern "C" {
    pub fn php_register_url_stream_wrapper(
        protocol: *const ::std::os::raw::c_char,
        wrapper: *const php_stream_wrapper,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_unregister_url_stream_wrapper(
        protocol: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_register_url_stream_wrapper_volatile(
        protocol: *mut zend_string,
        wrapper: *mut php_stream_wrapper,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_unregister_url_stream_wrapper_volatile(
        protocol: *mut zend_string,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_stream_locate_url_wrapper(
        path: *const ::std::os::raw::c_char,
        path_for_open: *mut *const ::std::os::raw::c_char,
        options: ::std::os::raw::c_int,
    ) -> *mut php_stream_wrapper;
}
extern "C" {
    pub fn php_stream_locate_eol(
        stream: *mut php_stream,
        buf: *mut zend_string,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn php_stream_wrapper_log_error(
        wrapper: *const php_stream_wrapper,
        options: ::std::os::raw::c_int,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn php_stream_get_url_stream_wrappers_hash_global() -> *mut HashTable;
}
extern "C" {
    pub fn php_get_stream_filters_hash_global() -> *mut HashTable;
}
extern "C" {
    pub static mut php_stream_user_wrapper_ops: *const php_stream_wrapper_ops;
}
extern "C" {
    pub fn php_stream_mode_from_str(mode: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub static php_stream_memory_ops: php_stream_ops;
}
extern "C" {
    pub static php_stream_temp_ops: php_stream_ops;
}
extern "C" {
    pub static php_stream_rfc2397_ops: php_stream_ops;
}
extern "C" {
    pub static php_stream_rfc2397_wrapper: php_stream_wrapper;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _php_core_globals {
    pub implicit_flush: zend_bool,
    pub output_buffering: zend_long,
    pub enable_dl: zend_bool,
    pub output_handler: *mut ::std::os::raw::c_char,
    pub unserialize_callback_func: *mut ::std::os::raw::c_char,
    pub serialize_precision: zend_long,
    pub memory_limit: zend_long,
    pub max_input_time: zend_long,
    pub track_errors: zend_bool,
    pub display_errors: zend_bool,
    pub display_startup_errors: zend_bool,
    pub log_errors: zend_bool,
    pub log_errors_max_len: zend_long,
    pub ignore_repeated_errors: zend_bool,
    pub ignore_repeated_source: zend_bool,
    pub report_memleaks: zend_bool,
    pub error_log: *mut ::std::os::raw::c_char,
    pub doc_root: *mut ::std::os::raw::c_char,
    pub user_dir: *mut ::std::os::raw::c_char,
    pub include_path: *mut ::std::os::raw::c_char,
    pub open_basedir: *mut ::std::os::raw::c_char,
    pub extension_dir: *mut ::std::os::raw::c_char,
    pub php_binary: *mut ::std::os::raw::c_char,
    pub sys_temp_dir: *mut ::std::os::raw::c_char,
    pub upload_tmp_dir: *mut ::std::os::raw::c_char,
    pub upload_max_filesize: zend_long,
    pub error_append_string: *mut ::std::os::raw::c_char,
    pub error_prepend_string: *mut ::std::os::raw::c_char,
    pub auto_prepend_file: *mut ::std::os::raw::c_char,
    pub auto_append_file: *mut ::std::os::raw::c_char,
    pub input_encoding: *mut ::std::os::raw::c_char,
    pub internal_encoding: *mut ::std::os::raw::c_char,
    pub output_encoding: *mut ::std::os::raw::c_char,
    pub arg_separator: arg_separators,
    pub variables_order: *mut ::std::os::raw::c_char,
    pub rfc1867_protected_variables: HashTable,
    pub connection_status: ::std::os::raw::c_short,
    pub ignore_user_abort: zend_bool,
    pub header_is_being_sent: ::std::os::raw::c_uchar,
    pub tick_functions: zend_llist,
    pub http_globals: [zval; 6usize],
    pub expose_php: zend_bool,
    pub register_argc_argv: zend_bool,
    pub auto_globals_jit: zend_bool,
    pub docref_root: *mut ::std::os::raw::c_char,
    pub docref_ext: *mut ::std::os::raw::c_char,
    pub html_errors: zend_bool,
    pub xmlrpc_errors: zend_bool,
    pub xmlrpc_error_number: zend_long,
    pub activated_auto_globals: [zend_bool; 8usize],
    pub modules_activated: zend_bool,
    pub file_uploads: zend_bool,
    pub during_request_startup: zend_bool,
    pub allow_url_fopen: zend_bool,
    pub enable_post_data_reading: zend_bool,
    pub report_zend_debug: zend_bool,
    pub last_error_type: ::std::os::raw::c_int,
    pub last_error_message: *mut ::std::os::raw::c_char,
    pub last_error_file: *mut ::std::os::raw::c_char,
    pub last_error_lineno: ::std::os::raw::c_int,
    pub php_sys_temp_dir: *mut ::std::os::raw::c_char,
    pub disable_functions: *mut ::std::os::raw::c_char,
    pub disable_classes: *mut ::std::os::raw::c_char,
    pub allow_url_include: zend_bool,
    pub max_input_nesting_level: zend_long,
    pub max_input_vars: zend_long,
    pub in_user_include: zend_bool,
    pub user_ini_filename: *mut ::std::os::raw::c_char,
    pub user_ini_cache_ttl: zend_long,
    pub request_order: *mut ::std::os::raw::c_char,
    pub mail_x_header: zend_bool,
    pub mail_log: *mut ::std::os::raw::c_char,
    pub in_error_log: zend_bool,
    pub syslog_facility: zend_long,
    pub syslog_ident: *mut ::std::os::raw::c_char,
    pub have_called_openlog: zend_bool,
    pub syslog_filter: zend_long,
}
#[test]
fn bindgen_test_layout__php_core_globals() {
    assert_eq!(
        ::std::mem::size_of::<_php_core_globals>(),
        688usize,
        concat!("Size of: ", stringify!(_php_core_globals))
    );
    assert_eq!(
        ::std::mem::align_of::<_php_core_globals>(),
        8usize,
        concat!("Alignment of ", stringify!(_php_core_globals))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).implicit_flush as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(implicit_flush)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).output_buffering as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(output_buffering)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).enable_dl as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(enable_dl)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).output_handler as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(output_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).unserialize_callback_func as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(unserialize_callback_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).serialize_precision as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(serialize_precision)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).memory_limit as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(memory_limit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).max_input_time as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(max_input_time)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).track_errors as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(track_errors)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).display_errors as *const _ as usize
        },
        65usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(display_errors)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).display_startup_errors as *const _
                as usize
        },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(display_startup_errors)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).log_errors as *const _ as usize },
        67usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(log_errors)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).log_errors_max_len as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(log_errors_max_len)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).ignore_repeated_errors as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(ignore_repeated_errors)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).ignore_repeated_source as *const _
                as usize
        },
        81usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(ignore_repeated_source)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).report_memleaks as *const _ as usize
        },
        82usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(report_memleaks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).error_log as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(error_log)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).doc_root as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(doc_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).user_dir as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(user_dir)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).include_path as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(include_path)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).open_basedir as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(open_basedir)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).extension_dir as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(extension_dir)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).php_binary as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(php_binary)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).sys_temp_dir as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(sys_temp_dir)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).upload_tmp_dir as *const _ as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(upload_tmp_dir)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).upload_max_filesize as *const _ as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(upload_max_filesize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).error_append_string as *const _ as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(error_append_string)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).error_prepend_string as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(error_prepend_string)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).auto_prepend_file as *const _ as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(auto_prepend_file)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).auto_append_file as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(auto_append_file)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).input_encoding as *const _ as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(input_encoding)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).internal_encoding as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(internal_encoding)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).output_encoding as *const _ as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(output_encoding)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).arg_separator as *const _ as usize },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(arg_separator)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).variables_order as *const _ as usize
        },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(variables_order)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).rfc1867_protected_variables as *const _
                as usize
        },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(rfc1867_protected_variables)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).connection_status as *const _ as usize
        },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(connection_status)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).ignore_user_abort as *const _ as usize
        },
        306usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(ignore_user_abort)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).header_is_being_sent as *const _ as usize
        },
        307usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(header_is_being_sent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).tick_functions as *const _ as usize
        },
        312usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(tick_functions)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).http_globals as *const _ as usize },
        368usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(http_globals)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).expose_php as *const _ as usize },
        464usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(expose_php)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).register_argc_argv as *const _ as usize
        },
        465usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(register_argc_argv)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).auto_globals_jit as *const _ as usize
        },
        466usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(auto_globals_jit)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).docref_root as *const _ as usize },
        472usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(docref_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).docref_ext as *const _ as usize },
        480usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(docref_ext)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).html_errors as *const _ as usize },
        488usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(html_errors)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).xmlrpc_errors as *const _ as usize },
        489usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(xmlrpc_errors)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).xmlrpc_error_number as *const _ as usize
        },
        496usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(xmlrpc_error_number)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).activated_auto_globals as *const _
                as usize
        },
        504usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(activated_auto_globals)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).modules_activated as *const _ as usize
        },
        512usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(modules_activated)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).file_uploads as *const _ as usize },
        513usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(file_uploads)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).during_request_startup as *const _
                as usize
        },
        514usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(during_request_startup)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).allow_url_fopen as *const _ as usize
        },
        515usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(allow_url_fopen)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).enable_post_data_reading as *const _
                as usize
        },
        516usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(enable_post_data_reading)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).report_zend_debug as *const _ as usize
        },
        517usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(report_zend_debug)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).last_error_type as *const _ as usize
        },
        520usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(last_error_type)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).last_error_message as *const _ as usize
        },
        528usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(last_error_message)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).last_error_file as *const _ as usize
        },
        536usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(last_error_file)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).last_error_lineno as *const _ as usize
        },
        544usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(last_error_lineno)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).php_sys_temp_dir as *const _ as usize
        },
        552usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(php_sys_temp_dir)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).disable_functions as *const _ as usize
        },
        560usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(disable_functions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).disable_classes as *const _ as usize
        },
        568usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(disable_classes)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).allow_url_include as *const _ as usize
        },
        576usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(allow_url_include)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).max_input_nesting_level as *const _
                as usize
        },
        584usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(max_input_nesting_level)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).max_input_vars as *const _ as usize
        },
        592usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(max_input_vars)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).in_user_include as *const _ as usize
        },
        600usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(in_user_include)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).user_ini_filename as *const _ as usize
        },
        608usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(user_ini_filename)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).user_ini_cache_ttl as *const _ as usize
        },
        616usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(user_ini_cache_ttl)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).request_order as *const _ as usize },
        624usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(request_order)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).mail_x_header as *const _ as usize },
        632usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(mail_x_header)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).mail_log as *const _ as usize },
        640usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(mail_log)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).in_error_log as *const _ as usize },
        648usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(in_error_log)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).syslog_facility as *const _ as usize
        },
        656usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(syslog_facility)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).syslog_ident as *const _ as usize },
        664usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(syslog_ident)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_php_core_globals>())).have_called_openlog as *const _ as usize
        },
        672usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(have_called_openlog)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_php_core_globals>())).syslog_filter as *const _ as usize },
        680usize,
        concat!(
            "Offset of field: ",
            stringify!(_php_core_globals),
            "::",
            stringify!(syslog_filter)
        )
    );
}
extern "C" {
    pub static mut core_globals: _php_core_globals;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _arg_separators {
    pub output: *mut ::std::os::raw::c_char,
    pub input: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__arg_separators() {
    assert_eq!(
        ::std::mem::size_of::<_arg_separators>(),
        16usize,
        concat!("Size of: ", stringify!(_arg_separators))
    );
    assert_eq!(
        ::std::mem::align_of::<_arg_separators>(),
        8usize,
        concat!("Alignment of ", stringify!(_arg_separators))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_arg_separators>())).output as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_arg_separators),
            "::",
            stringify!(output)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_arg_separators>())).input as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_arg_separators),
            "::",
            stringify!(input)
        )
    );
}
pub type arg_separators = _arg_separators;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ini_entry_def {
    pub name: *const ::std::os::raw::c_char,
    pub on_modify: ::std::option::Option<
        unsafe extern "C" fn(
            entry: *mut zend_ini_entry,
            new_value: *mut zend_string,
            mh_arg1: *mut ::std::os::raw::c_void,
            mh_arg2: *mut ::std::os::raw::c_void,
            mh_arg3: *mut ::std::os::raw::c_void,
            stage: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >,
    pub mh_arg1: *mut ::std::os::raw::c_void,
    pub mh_arg2: *mut ::std::os::raw::c_void,
    pub mh_arg3: *mut ::std::os::raw::c_void,
    pub value: *const ::std::os::raw::c_char,
    pub displayer: ::std::option::Option<
        unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
    >,
    pub value_length: u32,
    pub name_length: u16,
    pub modifiable: u8,
}
#[test]
fn bindgen_test_layout__zend_ini_entry_def() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ini_entry_def>(),
        64usize,
        concat!("Size of: ", stringify!(_zend_ini_entry_def))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ini_entry_def>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ini_entry_def))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).on_modify as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(on_modify)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).mh_arg1 as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(mh_arg1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).mh_arg2 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(mh_arg2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).mh_arg3 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(mh_arg3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).value as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).displayer as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(displayer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_entry_def>())).value_length as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(value_length)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).name_length as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(name_length)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry_def>())).modifiable as *const _ as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry_def),
            "::",
            stringify!(modifiable)
        )
    );
}
pub type zend_ini_entry_def = _zend_ini_entry_def;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ini_entry {
    pub name: *mut zend_string,
    pub on_modify: ::std::option::Option<
        unsafe extern "C" fn(
            entry: *mut zend_ini_entry,
            new_value: *mut zend_string,
            mh_arg1: *mut ::std::os::raw::c_void,
            mh_arg2: *mut ::std::os::raw::c_void,
            mh_arg3: *mut ::std::os::raw::c_void,
            stage: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >,
    pub mh_arg1: *mut ::std::os::raw::c_void,
    pub mh_arg2: *mut ::std::os::raw::c_void,
    pub mh_arg3: *mut ::std::os::raw::c_void,
    pub value: *mut zend_string,
    pub orig_value: *mut zend_string,
    pub displayer: ::std::option::Option<
        unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
    >,
    pub module_number: ::std::os::raw::c_int,
    pub modifiable: u8,
    pub orig_modifiable: u8,
    pub modified: u8,
}
#[test]
fn bindgen_test_layout__zend_ini_entry() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ini_entry>(),
        72usize,
        concat!("Size of: ", stringify!(_zend_ini_entry))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ini_entry>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ini_entry))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).on_modify as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(on_modify)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg1 as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(mh_arg1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg2 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(mh_arg2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).mh_arg3 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(mh_arg3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).value as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).orig_value as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(orig_value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).displayer as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(displayer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).module_number as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(module_number)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).modifiable as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(modifiable)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).orig_modifiable as *const _ as usize },
        69usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(orig_modifiable)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_entry>())).modified as *const _ as usize },
        70usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_entry),
            "::",
            stringify!(modified)
        )
    );
}
extern "C" {
    pub fn zend_ini_startup() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ini_shutdown() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ini_global_shutdown() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ini_deactivate() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ini_dtor(ini_directives: *mut HashTable);
}
extern "C" {
    pub fn zend_copy_ini_directives() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ini_sort_entries();
}
extern "C" {
    pub fn zend_register_ini_entries(
        ini_entry: *const zend_ini_entry_def,
        module_number: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_unregister_ini_entries(module_number: ::std::os::raw::c_int);
}
extern "C" {
    pub fn zend_ini_refresh_caches(stage: ::std::os::raw::c_int);
}
extern "C" {
    pub fn zend_alter_ini_entry(
        name: *mut zend_string,
        new_value: *mut zend_string,
        modify_type: ::std::os::raw::c_int,
        stage: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_alter_ini_entry_ex(
        name: *mut zend_string,
        new_value: *mut zend_string,
        modify_type: ::std::os::raw::c_int,
        stage: ::std::os::raw::c_int,
        force_change: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_alter_ini_entry_chars(
        name: *mut zend_string,
        value: *const ::std::os::raw::c_char,
        value_length: size_t,
        modify_type: ::std::os::raw::c_int,
        stage: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_alter_ini_entry_chars_ex(
        name: *mut zend_string,
        value: *const ::std::os::raw::c_char,
        value_length: size_t,
        modify_type: ::std::os::raw::c_int,
        stage: ::std::os::raw::c_int,
        force_change: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_restore_ini_entry(
        name: *mut zend_string,
        stage: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ini_long(
        name: *mut ::std::os::raw::c_char,
        name_length: size_t,
        orig: ::std::os::raw::c_int,
    ) -> zend_long;
}
extern "C" {
    pub fn zend_ini_double(
        name: *mut ::std::os::raw::c_char,
        name_length: size_t,
        orig: ::std::os::raw::c_int,
    ) -> f64;
}
extern "C" {
    pub fn zend_ini_string(
        name: *mut ::std::os::raw::c_char,
        name_length: size_t,
        orig: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_ini_string_ex(
        name: *mut ::std::os::raw::c_char,
        name_length: size_t,
        orig: ::std::os::raw::c_int,
        exists: *mut zend_bool,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn zend_ini_get_value(name: *mut zend_string) -> *mut zend_string;
}
extern "C" {
    pub fn zend_ini_parse_bool(str_: *mut zend_string) -> zend_bool;
}
extern "C" {
    pub fn zend_ini_register_displayer(
        name: *mut ::std::os::raw::c_char,
        name_length: u32,
        displayer: ::std::option::Option<
            unsafe extern "C" fn(ini_entry: *mut zend_ini_entry, type_: ::std::os::raw::c_int),
        >,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_ini_boolean_displayer_cb(
        ini_entry: *mut zend_ini_entry,
        type_: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_ini_color_displayer_cb(
        ini_entry: *mut zend_ini_entry,
        type_: ::std::os::raw::c_int,
    );
}
pub type zend_ini_parser_cb_t = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut zval,
        arg2: *mut zval,
        arg3: *mut zval,
        callback_type: ::std::os::raw::c_int,
        arg: *mut ::std::os::raw::c_void,
    ),
>;
extern "C" {
    pub fn zend_parse_ini_file(
        fh: *mut zend_file_handle,
        unbuffered_errors: zend_bool,
        scanner_mode: ::std::os::raw::c_int,
        ini_parser_cb: zend_ini_parser_cb_t,
        arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_parse_ini_string(
        str_: *mut ::std::os::raw::c_char,
        unbuffered_errors: zend_bool,
        scanner_mode: ::std::os::raw::c_int,
        ini_parser_cb: zend_ini_parser_cb_t,
        arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_ini_parser_param {
    pub ini_parser_cb: zend_ini_parser_cb_t,
    pub arg: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__zend_ini_parser_param() {
    assert_eq!(
        ::std::mem::size_of::<_zend_ini_parser_param>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_ini_parser_param))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_ini_parser_param>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_ini_parser_param))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_ini_parser_param>())).ini_parser_cb as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_parser_param),
            "::",
            stringify!(ini_parser_cb)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_ini_parser_param>())).arg as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_ini_parser_param),
            "::",
            stringify!(arg)
        )
    );
}
pub type zend_ini_parser_param = _zend_ini_parser_param;
extern "C" {
    pub fn php_init_config() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_shutdown_config() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_ini_register_extensions();
}
extern "C" {
    pub fn php_parse_user_ini_file(
        dirname: *const ::std::os::raw::c_char,
        ini_filename: *mut ::std::os::raw::c_char,
        target_hash: *mut HashTable,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_ini_activate_config(
        source_hash: *mut HashTable,
        modify_type: ::std::os::raw::c_int,
        stage: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn php_ini_has_per_dir_config() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_ini_has_per_host_config() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_ini_activate_per_dir_config(path: *mut ::std::os::raw::c_char, path_len: size_t);
}
extern "C" {
    pub fn php_ini_activate_per_host_config(host: *const ::std::os::raw::c_char, host_len: size_t);
}
extern "C" {
    pub fn php_ini_get_configuration_hash() -> *mut HashTable;
}
extern "C" {
    pub fn php_fopen_primary_script(file_handle: *mut zend_file_handle) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_check_open_basedir(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_check_open_basedir_ex(
        path: *const ::std::os::raw::c_char,
        warn: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_check_specific_open_basedir(
        basedir: *const ::std::os::raw::c_char,
        path: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_check_safe_mode_include_dir(
        path: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_resolve_path(
        filename: *const ::std::os::raw::c_char,
        filename_len: size_t,
        path: *const ::std::os::raw::c_char,
    ) -> *mut zend_string;
}
extern "C" {
    pub fn php_fopen_with_path(
        filename: *const ::std::os::raw::c_char,
        mode: *const ::std::os::raw::c_char,
        path: *const ::std::os::raw::c_char,
        opened_path: *mut *mut zend_string,
    ) -> *mut FILE;
}
extern "C" {
    pub fn php_strip_url_passwd(path: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cwd_state {
    pub cwd: *mut ::std::os::raw::c_char,
    pub cwd_length: size_t,
}
#[test]
fn bindgen_test_layout__cwd_state() {
    assert_eq!(
        ::std::mem::size_of::<_cwd_state>(),
        16usize,
        concat!("Size of: ", stringify!(_cwd_state))
    );
    assert_eq!(
        ::std::mem::align_of::<_cwd_state>(),
        8usize,
        concat!("Alignment of ", stringify!(_cwd_state))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_cwd_state>())).cwd as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_cwd_state),
            "::",
            stringify!(cwd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_cwd_state>())).cwd_length as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_cwd_state),
            "::",
            stringify!(cwd_length)
        )
    );
}
pub type cwd_state = _cwd_state;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _realpath_cache_bucket {
    pub key: zend_ulong,
    pub path: *mut ::std::os::raw::c_char,
    pub realpath: *mut ::std::os::raw::c_char,
    pub next: *mut _realpath_cache_bucket,
    pub expires: time_t,
    pub path_len: u16,
    pub realpath_len: u16,
    pub _bitfield_align_1: [u8; 0],
    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
    pub __bindgen_padding_0: [u8; 3usize],
}
#[test]
fn bindgen_test_layout__realpath_cache_bucket() {
    assert_eq!(
        ::std::mem::size_of::<_realpath_cache_bucket>(),
        48usize,
        concat!("Size of: ", stringify!(_realpath_cache_bucket))
    );
    assert_eq!(
        ::std::mem::align_of::<_realpath_cache_bucket>(),
        8usize,
        concat!("Alignment of ", stringify!(_realpath_cache_bucket))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).key as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_realpath_cache_bucket),
            "::",
            stringify!(key)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).path as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_realpath_cache_bucket),
            "::",
            stringify!(path)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).realpath as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_realpath_cache_bucket),
            "::",
            stringify!(realpath)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).next as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_realpath_cache_bucket),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).expires as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_realpath_cache_bucket),
            "::",
            stringify!(expires)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_realpath_cache_bucket>())).path_len as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_realpath_cache_bucket),
            "::",
            stringify!(path_len)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_realpath_cache_bucket>())).realpath_len as *const _ as usize
        },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(_realpath_cache_bucket),
            "::",
            stringify!(realpath_len)
        )
    );
}
impl _realpath_cache_bucket {
    #[inline]
    pub fn is_dir(&self) -> u8 {
        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
    }
    #[inline]
    pub fn set_is_dir(&mut self, val: u8) {
        unsafe {
            let val: u8 = ::std::mem::transmute(val);
            self._bitfield_1.set(0usize, 1u8, val as u64)
        }
    }
    #[inline]
    pub fn new_bitfield_1(is_dir: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
        __bindgen_bitfield_unit.set(0usize, 1u8, {
            let is_dir: u8 = unsafe { ::std::mem::transmute(is_dir) };
            is_dir as u64
        });
        __bindgen_bitfield_unit
    }
}
pub type realpath_cache_bucket = _realpath_cache_bucket;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _virtual_cwd_globals {
    pub cwd: cwd_state,
    pub realpath_cache_size: zend_long,
    pub realpath_cache_size_limit: zend_long,
    pub realpath_cache_ttl: zend_long,
    pub realpath_cache: [*mut realpath_cache_bucket; 1024usize],
}
#[test]
fn bindgen_test_layout__virtual_cwd_globals() {
    assert_eq!(
        ::std::mem::size_of::<_virtual_cwd_globals>(),
        8232usize,
        concat!("Size of: ", stringify!(_virtual_cwd_globals))
    );
    assert_eq!(
        ::std::mem::align_of::<_virtual_cwd_globals>(),
        8usize,
        concat!("Alignment of ", stringify!(_virtual_cwd_globals))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_virtual_cwd_globals>())).cwd as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_virtual_cwd_globals),
            "::",
            stringify!(cwd)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_size as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_virtual_cwd_globals),
            "::",
            stringify!(realpath_cache_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_size_limit as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_virtual_cwd_globals),
            "::",
            stringify!(realpath_cache_size_limit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache_ttl as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_virtual_cwd_globals),
            "::",
            stringify!(realpath_cache_ttl)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_virtual_cwd_globals>())).realpath_cache as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_virtual_cwd_globals),
            "::",
            stringify!(realpath_cache)
        )
    );
}
pub type virtual_cwd_globals = _virtual_cwd_globals;
extern "C" {
    pub static mut cwd_globals: virtual_cwd_globals;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _zend_constant {
    pub value: zval,
    pub name: *mut zend_string,
}
#[test]
fn bindgen_test_layout__zend_constant() {
    assert_eq!(
        ::std::mem::size_of::<_zend_constant>(),
        24usize,
        concat!("Size of: ", stringify!(_zend_constant))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_constant>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_constant))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_constant>())).value as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_constant),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_constant>())).name as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_constant),
            "::",
            stringify!(name)
        )
    );
}
pub type zend_constant = _zend_constant;
extern "C" {
    pub fn zend_startup_constants() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_shutdown_constants() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_register_standard_constants();
}
extern "C" {
    pub fn zend_verify_const_access(
        c: *mut zend_class_constant,
        ce: *mut zend_class_entry,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_get_constant(name: *mut zend_string) -> *mut zval;
}
extern "C" {
    pub fn zend_get_constant_str(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_get_constant_ex(
        name: *mut zend_string,
        scope: *mut zend_class_entry,
        flags: u32,
    ) -> *mut zval;
}
extern "C" {
    pub fn zend_register_bool_constant(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        bval: zend_bool,
        flags: ::std::os::raw::c_int,
        module_number: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_register_null_constant(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        flags: ::std::os::raw::c_int,
        module_number: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_register_long_constant(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        lval: zend_long,
        flags: ::std::os::raw::c_int,
        module_number: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_register_double_constant(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        dval: f64,
        flags: ::std::os::raw::c_int,
        module_number: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_register_string_constant(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        strval: *mut ::std::os::raw::c_char,
        flags: ::std::os::raw::c_int,
        module_number: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_register_stringl_constant(
        name: *const ::std::os::raw::c_char,
        name_len: size_t,
        strval: *mut ::std::os::raw::c_char,
        strlen: size_t,
        flags: ::std::os::raw::c_int,
        module_number: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn zend_register_constant(c: *mut zend_constant) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn php_info_html_esc(string: *mut ::std::os::raw::c_char) -> *mut zend_string;
}
extern "C" {
    pub fn php_info_html_esc_write(
        string: *mut ::std::os::raw::c_char,
        str_len: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn php_print_info_htmlhead();
}
extern "C" {
    pub fn php_print_info(flag: ::std::os::raw::c_int);
}
extern "C" {
    pub fn php_print_style();
}
extern "C" {
    pub fn php_info_print_style();
}
extern "C" {
    pub fn php_info_print_table_colspan_header(
        num_cols: ::std::os::raw::c_int,
        header: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn php_info_print_table_header(num_cols: ::std::os::raw::c_int, ...);
}
extern "C" {
    pub fn php_info_print_table_row(num_cols: ::std::os::raw::c_int, ...);
}
extern "C" {
    pub fn php_info_print_table_row_ex(
        num_cols: ::std::os::raw::c_int,
        arg1: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn php_info_print_table_start();
}
extern "C" {
    pub fn php_info_print_table_end();
}
extern "C" {
    pub fn php_info_print_box_start(bg: ::std::os::raw::c_int);
}
extern "C" {
    pub fn php_info_print_box_end();
}
extern "C" {
    pub fn php_info_print_hr();
}
extern "C" {
    pub fn php_info_print_module(module: *mut zend_module_entry);
}
extern "C" {
    pub fn php_get_uname(mode: ::std::os::raw::c_char) -> *mut zend_string;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_extension_version_info {
    pub zend_extension_api_no: ::std::os::raw::c_int,
    pub build_id: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__zend_extension_version_info() {
    assert_eq!(
        ::std::mem::size_of::<_zend_extension_version_info>(),
        16usize,
        concat!("Size of: ", stringify!(_zend_extension_version_info))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_extension_version_info>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_extension_version_info))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension_version_info>())).zend_extension_api_no
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension_version_info),
            "::",
            stringify!(zend_extension_api_no)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension_version_info>())).build_id as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension_version_info),
            "::",
            stringify!(build_id)
        )
    );
}
pub type zend_extension_version_info = _zend_extension_version_info;
pub type zend_extension = _zend_extension;
pub type startup_func_t = ::std::option::Option<
    unsafe extern "C" fn(extension: *mut zend_extension) -> ::std::os::raw::c_int,
>;
pub type shutdown_func_t =
    ::std::option::Option<unsafe extern "C" fn(extension: *mut zend_extension)>;
pub type activate_func_t = ::std::option::Option<unsafe extern "C" fn()>;
pub type deactivate_func_t = ::std::option::Option<unsafe extern "C" fn()>;
pub type message_handler_func_t = ::std::option::Option<
    unsafe extern "C" fn(message: ::std::os::raw::c_int, arg: *mut ::std::os::raw::c_void),
>;
pub type op_array_handler_func_t =
    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
pub type statement_handler_func_t =
    ::std::option::Option<unsafe extern "C" fn(frame: *mut zend_execute_data)>;
pub type fcall_begin_handler_func_t =
    ::std::option::Option<unsafe extern "C" fn(frame: *mut zend_execute_data)>;
pub type fcall_end_handler_func_t =
    ::std::option::Option<unsafe extern "C" fn(frame: *mut zend_execute_data)>;
pub type op_array_ctor_func_t =
    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
pub type op_array_dtor_func_t =
    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array)>;
pub type op_array_persist_calc_func_t =
    ::std::option::Option<unsafe extern "C" fn(op_array: *mut zend_op_array) -> size_t>;
pub type op_array_persist_func_t = ::std::option::Option<
    unsafe extern "C" fn(op_array: *mut zend_op_array, mem: *mut ::std::os::raw::c_void) -> size_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_extension {
    pub name: *mut ::std::os::raw::c_char,
    pub version: *mut ::std::os::raw::c_char,
    pub author: *mut ::std::os::raw::c_char,
    pub URL: *mut ::std::os::raw::c_char,
    pub copyright: *mut ::std::os::raw::c_char,
    pub startup: startup_func_t,
    pub shutdown: shutdown_func_t,
    pub activate: activate_func_t,
    pub deactivate: deactivate_func_t,
    pub message_handler: message_handler_func_t,
    pub op_array_handler: op_array_handler_func_t,
    pub statement_handler: statement_handler_func_t,
    pub fcall_begin_handler: fcall_begin_handler_func_t,
    pub fcall_end_handler: fcall_end_handler_func_t,
    pub op_array_ctor: op_array_ctor_func_t,
    pub op_array_dtor: op_array_dtor_func_t,
    pub api_no_check: ::std::option::Option<
        unsafe extern "C" fn(api_no: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
    >,
    pub build_id_check: ::std::option::Option<
        unsafe extern "C" fn(build_id: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
    >,
    pub op_array_persist_calc: op_array_persist_calc_func_t,
    pub op_array_persist: op_array_persist_func_t,
    pub reserved5: *mut ::std::os::raw::c_void,
    pub reserved6: *mut ::std::os::raw::c_void,
    pub reserved7: *mut ::std::os::raw::c_void,
    pub reserved8: *mut ::std::os::raw::c_void,
    pub handle: *mut ::std::os::raw::c_void,
    pub resource_number: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__zend_extension() {
    assert_eq!(
        ::std::mem::size_of::<_zend_extension>(),
        208usize,
        concat!("Size of: ", stringify!(_zend_extension))
    );
    assert_eq!(
        ::std::mem::align_of::<_zend_extension>(),
        8usize,
        concat!("Alignment of ", stringify!(_zend_extension))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).version as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).author as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(author)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).URL as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(URL)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).copyright as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(copyright)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).startup as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(startup)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).shutdown as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(shutdown)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).activate as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(activate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).deactivate as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(deactivate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).message_handler as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(message_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension>())).op_array_handler as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(op_array_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension>())).statement_handler as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(statement_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension>())).fcall_begin_handler as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(fcall_begin_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension>())).fcall_end_handler as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(fcall_end_handler)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).op_array_ctor as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(op_array_ctor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).op_array_dtor as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(op_array_dtor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).api_no_check as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(api_no_check)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).build_id_check as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(build_id_check)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension>())).op_array_persist_calc as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(op_array_persist_calc)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_zend_extension>())).op_array_persist as *const _ as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(op_array_persist)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved5 as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(reserved5)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved6 as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(reserved6)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved7 as *const _ as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(reserved7)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).reserved8 as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(reserved8)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).handle as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_zend_extension>())).resource_number as *const _ as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_zend_extension),
            "::",
            stringify!(resource_number)
        )
    );
}
extern "C" {
    pub fn zend_get_resource_handle(extension: *mut zend_extension) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_extension_dispatch_message(
        message: ::std::os::raw::c_int,
        arg: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub static mut zend_extensions: zend_llist;
}
extern "C" {
    pub static mut zend_extension_flags: u32;
}
extern "C" {
    pub fn zend_extension_dtor(extension: *mut zend_extension);
}
extern "C" {
    pub fn zend_append_version_info(extension: *const zend_extension);
}
extern "C" {
    pub fn zend_startup_extensions_mechanism() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_startup_extensions() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_shutdown_extensions();
}
extern "C" {
    pub fn zend_load_extension(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_load_extension_handle(
        handle: *mut ::std::os::raw::c_void,
        path: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_register_extension(
        new_extension: *mut zend_extension,
        handle: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn zend_get_extension(extension_name: *const ::std::os::raw::c_char)
        -> *mut zend_extension;
}
extern "C" {
    pub fn zend_extensions_op_array_persist_calc(op_array: *mut zend_op_array) -> size_t;
}
extern "C" {
    pub fn zend_extensions_op_array_persist(
        op_array: *mut zend_op_array,
        mem: *mut ::std::os::raw::c_void,
    ) -> size_t;
}
pub const ZEND_MODULE_BUILD_ID_: &'static [u8; 16usize] = b"API20180731,NTS\0";
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
    pub gp_offset: ::std::os::raw::c_uint,
    pub fp_offset: ::std::os::raw::c_uint,
    pub overflow_arg_area: *mut ::std::os::raw::c_void,
    pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
    assert_eq!(
        ::std::mem::size_of::<__va_list_tag>(),
        24usize,
        concat!("Size of: ", stringify!(__va_list_tag))
    );
    assert_eq!(
        ::std::mem::align_of::<__va_list_tag>(),
        8usize,
        concat!("Alignment of ", stringify!(__va_list_tag))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(gp_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(fp_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(overflow_arg_area)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(reg_save_area)
        )
    );
}
