/* automatically generated by rust-bindgen 0.65.1 */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit { storage: Storage, } impl __BindgenBitfieldUnit { #[inline] pub const fn new(storage: Storage) -> Self { Self { storage } } } impl __BindgenBitfieldUnit 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 ZEND_DEBUG: u32 = 1; pub const _ZEND_TYPE_NAME_BIT: u32 = 16777216; pub const _ZEND_TYPE_NULLABLE_BIT: u32 = 2; pub const HT_MIN_SIZE: u32 = 8; 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_CALLABLE: u32 = 12; pub const IS_VOID: u32 = 14; pub const IS_MIXED: u32 = 16; pub const IS_PTR: u32 = 13; pub const _IS_BOOL: u32 = 18; pub const Z_TYPE_FLAGS_SHIFT: u32 = 8; pub const IS_TYPE_REFCOUNTED: u32 = 1; pub const IS_TYPE_COLLECTABLE: u32 = 2; pub const IS_INTERNED_STRING_EX: u32 = 6; pub const IS_STRING_EX: u32 = 262; pub const IS_ARRAY_EX: u32 = 775; pub const IS_OBJECT_EX: u32 = 776; pub const IS_RESOURCE_EX: u32 = 265; pub const IS_REFERENCE_EX: u32 = 266; pub const IS_CONSTANT_AST_EX: u32 = 267; pub const E_ERROR: u32 = 1; pub const E_WARNING: u32 = 2; pub const E_PARSE: u32 = 4; pub const E_NOTICE: u32 = 8; pub const E_CORE_ERROR: u32 = 16; pub const E_CORE_WARNING: u32 = 32; pub const E_COMPILE_ERROR: u32 = 64; pub const E_COMPILE_WARNING: u32 = 128; pub const E_USER_ERROR: u32 = 256; pub const E_USER_WARNING: u32 = 512; pub const E_USER_NOTICE: u32 = 1024; pub const E_STRICT: u32 = 2048; pub const E_RECOVERABLE_ERROR: u32 = 4096; pub const E_DEPRECATED: u32 = 8192; pub const E_USER_DEPRECATED: u32 = 16384; pub const ZEND_PROPERTY_ISSET: u32 = 0; pub const ZEND_PROPERTY_EXISTS: u32 = 2; pub const ZEND_ACC_PUBLIC: u32 = 1; pub const ZEND_ACC_PROTECTED: u32 = 2; pub const ZEND_ACC_PRIVATE: u32 = 4; pub const ZEND_ACC_CHANGED: u32 = 8; pub const ZEND_ACC_STATIC: u32 = 16; pub const ZEND_ACC_PROMOTED: u32 = 32; pub const ZEND_ACC_FINAL: u32 = 32; pub const ZEND_ACC_ABSTRACT: u32 = 64; pub const ZEND_ACC_IMMUTABLE: u32 = 128; pub const ZEND_ACC_HAS_TYPE_HINTS: u32 = 256; pub const ZEND_ACC_TOP_LEVEL: u32 = 512; pub const ZEND_ACC_PRELOADED: u32 = 1024; pub const ZEND_ACC_INTERFACE: u32 = 1; pub const ZEND_ACC_TRAIT: u32 = 2; pub const ZEND_ACC_ANON_CLASS: u32 = 4; pub const ZEND_ACC_LINKED: u32 = 8; pub const ZEND_ACC_IMPLICIT_ABSTRACT_CLASS: u32 = 16; pub const ZEND_ACC_USE_GUARDS: u32 = 2048; pub const ZEND_ACC_CONSTANTS_UPDATED: u32 = 4096; pub const ZEND_ACC_NO_DYNAMIC_PROPERTIES: u32 = 8192; pub const ZEND_HAS_STATIC_IN_METHODS: u32 = 16384; pub const ZEND_ACC_RESOLVED_PARENT: u32 = 131072; pub const ZEND_ACC_RESOLVED_INTERFACES: u32 = 262144; pub const ZEND_ACC_UNRESOLVED_VARIANCE: u32 = 524288; pub const ZEND_ACC_NEARLY_LINKED: u32 = 1048576; pub const ZEND_ACC_NOT_SERIALIZABLE: u32 = 536870912; pub const ZEND_ACC_DEPRECATED: u32 = 2048; pub const ZEND_ACC_RETURN_REFERENCE: u32 = 4096; pub const ZEND_ACC_HAS_RETURN_TYPE: u32 = 8192; pub const ZEND_ACC_VARIADIC: u32 = 16384; pub const ZEND_ACC_HAS_FINALLY_BLOCK: u32 = 32768; pub const ZEND_ACC_EARLY_BINDING: u32 = 65536; pub const ZEND_ACC_USES_THIS: u32 = 131072; pub const ZEND_ACC_CALL_VIA_TRAMPOLINE: u32 = 262144; pub const ZEND_ACC_NEVER_CACHE: u32 = 524288; pub const ZEND_ACC_TRAIT_CLONE: u32 = 1048576; pub const ZEND_ACC_CTOR: u32 = 2097152; pub const ZEND_ACC_CLOSURE: u32 = 4194304; pub const ZEND_ACC_FAKE_CLOSURE: u32 = 8388608; pub const ZEND_ACC_GENERATOR: u32 = 16777216; pub const ZEND_ACC_DONE_PASS_TWO: u32 = 33554432; pub const ZEND_ACC_HEAP_RT_CACHE: u32 = 67108864; pub const ZEND_ACC_STRICT_TYPES: u32 = 2147483648; pub const ZEND_ISEMPTY: u32 = 1; pub const _ZEND_SEND_MODE_SHIFT: u32 = 25; pub const _ZEND_IS_VARIADIC_BIT: u32 = 134217728; pub const ZEND_MODULE_API_NO: u32 = 20220829; pub const USING_ZTS: u32 = 0; pub const MAY_BE_BOOL: u32 = 12; pub const MAY_BE_ANY: u32 = 1022; pub const TRACK_VARS_POST: u32 = 0; pub const TRACK_VARS_GET: u32 = 1; pub const TRACK_VARS_COOKIE: u32 = 2; pub const TRACK_VARS_SERVER: u32 = 3; pub const TRACK_VARS_ENV: u32 = 4; pub const TRACK_VARS_FILES: u32 = 5; pub const TRACK_VARS_REQUEST: u32 = 6; pub const CONST_CS: u32 = 0; pub const CONST_PERSISTENT: u32 = 1; pub const CONST_NO_FILE_CACHE: u32 = 2; pub const CONST_DEPRECATED: u32 = 4; pub type __uint16_t = ::std::os::raw::c_ushort; pub type __int32_t = ::std::os::raw::c_int; pub type __uint32_t = ::std::os::raw::c_uint; pub type __int64_t = ::std::os::raw::c_longlong; pub type __uint64_t = ::std::os::raw::c_ulonglong; pub type __darwin_time_t = ::std::os::raw::c_long; pub type __darwin_blkcnt_t = __int64_t; pub type __darwin_blksize_t = __int32_t; pub type __darwin_dev_t = __int32_t; pub type __darwin_gid_t = __uint32_t; pub type __darwin_ino64_t = __uint64_t; pub type __darwin_mode_t = __uint16_t; pub type __darwin_off_t = __int64_t; pub type __darwin_uid_t = __uint32_t; pub type uid_t = __darwin_uid_t; pub type dev_t = __darwin_dev_t; pub type mode_t = __darwin_mode_t; pub type blkcnt_t = __darwin_blkcnt_t; pub type blksize_t = __darwin_blksize_t; pub type gid_t = __darwin_gid_t; pub type nlink_t = __uint16_t; pub type off_t = __darwin_off_t; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct timespec { pub tv_sec: __darwin_time_t, pub tv_nsec: ::std::os::raw::c_long, } pub type fpos_t = __darwin_off_t; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __sbuf { pub _base: *mut ::std::os::raw::c_uchar, pub _size: ::std::os::raw::c_int, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __sFILEX { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __sFILE { pub _p: *mut ::std::os::raw::c_uchar, pub _r: ::std::os::raw::c_int, pub _w: ::std::os::raw::c_int, pub _flags: ::std::os::raw::c_short, pub _file: ::std::os::raw::c_short, pub _bf: __sbuf, pub _lbfsize: ::std::os::raw::c_int, pub _cookie: *mut ::std::os::raw::c_void, pub _close: ::std::option::Option< unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, >, pub _read: ::std::option::Option< unsafe extern "C" fn( arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_char, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >, pub _seek: ::std::option::Option< unsafe extern "C" fn( arg1: *mut ::std::os::raw::c_void, arg2: fpos_t, arg3: ::std::os::raw::c_int, ) -> fpos_t, >, pub _write: ::std::option::Option< unsafe extern "C" fn( arg1: *mut ::std::os::raw::c_void, arg2: *const ::std::os::raw::c_char, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >, pub _ub: __sbuf, pub _extra: *mut __sFILEX, pub _ur: ::std::os::raw::c_int, pub _ubuf: [::std::os::raw::c_uchar; 3usize], pub _nbuf: [::std::os::raw::c_uchar; 1usize], pub _lb: __sbuf, pub _blksize: ::std::os::raw::c_int, pub _offset: fpos_t, } pub type FILE = __sFILE; pub type zend_long = i64; pub type zend_ulong = u64; pub type zend_off_t = i64; 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 use self::ZEND_RESULT_CODE as zend_result; 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 dtor_func_t = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct zend_type { pub ptr: *mut ::std::os::raw::c_void, pub type_mask: u32, } #[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, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_value__bindgen_ty_1 { pub w1: u32, pub w2: u32, } pub type zend_value = _zend_value; #[repr(C)] 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 type_info: u32, pub v: _zval_struct__bindgen_ty_1__bindgen_ty_1, } #[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 extra: u16, } #[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 property_guard: u32, pub constant_flags: u32, pub extra: u32, } #[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, } pub type zend_refcounted_h = _zend_refcounted_h; #[repr(C)] #[derive(Copy, Clone)] pub struct _zend_refcounted { pub gc: zend_refcounted_h, } #[repr(C)] pub struct _zend_string { pub gc: zend_refcounted_h, pub h: zend_ulong, pub len: usize, pub val: [::std::os::raw::c_char; 1usize], } #[repr(C)] pub struct _Bucket { pub val: zval, pub h: zend_ulong, pub key: *mut zend_string, } pub type Bucket = _Bucket; pub type HashTable = _zend_array; #[repr(C)] pub struct _zend_array { pub gc: zend_refcounted_h, pub u: _zend_array__bindgen_ty_1, pub nTableMask: u32, pub __bindgen_anon_1: _zend_array__bindgen_ty_2, 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, } #[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, } #[repr(C)] #[derive(Copy, Clone)] pub union _zend_array__bindgen_ty_2 { pub arHash: *mut u32, pub arData: *mut Bucket, pub arPacked: *mut zval, } pub type HashPosition = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _HashTableIterator { pub ht: *mut HashTable, pub pos: HashPosition, } pub type HashTableIterator = _HashTableIterator; #[repr(C)] 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], } #[repr(C)] #[derive(Copy, Clone)] pub struct _zend_resource { pub gc: zend_refcounted_h, pub handle: zend_long, pub type_: ::std::os::raw::c_int, pub ptr: *mut ::std::os::raw::c_void, } #[repr(C)] #[derive(Copy, Clone)] pub union zend_property_info_source_list { pub ptr: *mut _zend_property_info, pub list: usize, } #[repr(C)] pub struct _zend_reference { pub gc: zend_refcounted_h, pub val: zval, pub sources: zend_property_info_source_list, } #[repr(C)] #[derive(Copy, Clone)] pub struct _zend_ast_ref { pub gc: zend_refcounted_h, } extern "C" { pub fn _emalloc( size: usize, __zend_filename: *const ::std::os::raw::c_char, __zend_lineno: u32, __zend_orig_filename: *const ::std::os::raw::c_char, __zend_orig_lineno: u32, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn _efree( ptr: *mut ::std::os::raw::c_void, __zend_filename: *const ::std::os::raw::c_char, __zend_lineno: u32, __zend_orig_filename: *const ::std::os::raw::c_char, __zend_orig_lineno: u32, ); } extern "C" { pub fn __zend_malloc(len: usize) -> *mut ::std::os::raw::c_void; } #[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], } pub type zend_llist_element = _zend_llist_element; pub type llist_dtor_func_t = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_llist { pub head: *mut zend_llist_element, pub tail: *mut zend_llist_element, pub count: usize, pub size: usize, pub dtor: llist_dtor_func_t, pub persistent: ::std::os::raw::c_uchar, pub traverse_ptr: *mut zend_llist_element, } pub type zend_llist = _zend_llist; pub type zend_llist_position = *mut zend_llist_element; 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_init_interned_func_t = ::std::option::Option< unsafe extern "C" fn( str_: *const ::std::os::raw::c_char, size: usize, permanent: bool, ) -> *mut zend_string, >; extern "C" { pub static mut zend_string_init_interned: zend_string_init_interned_func_t; } extern "C" { pub fn zend_hash_clean(ht: *mut HashTable); } extern "C" { pub fn zend_hash_str_update( ht: *mut HashTable, key: *const ::std::os::raw::c_char, len: usize, 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_str_del( ht: *mut HashTable, key: *const ::std::os::raw::c_char, len: usize, ) -> zend_result; } extern "C" { pub fn zend_hash_index_del(ht: *mut HashTable, h: zend_ulong) -> zend_result; } extern "C" { pub fn zend_hash_str_find( ht: *const HashTable, key: *const ::std::os::raw::c_char, len: usize, ) -> *mut zval; } extern "C" { pub fn zend_hash_index_find(ht: *const HashTable, h: zend_ulong) -> *mut zval; } extern "C" { pub fn zend_hash_move_forward_ex(ht: *mut HashTable, pos: *mut HashPosition) -> zend_result; } extern "C" { pub fn zend_hash_move_backwards_ex(ht: *mut HashTable, pos: *mut HashPosition) -> zend_result; } extern "C" { pub fn zend_hash_get_current_key_zval_ex( ht: *const HashTable, key: *mut zval, pos: *const 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_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 gc_possible_root(ref_: *mut zend_refcounted); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct zend_get_gc_buffer { pub cur: *mut zval, pub end: *mut zval, pub start: *mut zval, } extern "C" { pub fn zval_ptr_dtor(zval_ptr: *mut zval); } 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, 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 *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, pub rewind: ::std::option::Option, pub invalidate_current: ::std::option::Option, pub get_gc: ::std::option::Option< unsafe extern "C" fn( iter: *mut zend_object_iterator, table: *mut *mut zval, n: *mut ::std::os::raw::c_int, ) -> *mut HashTable, >, } pub type zend_object_iterator_funcs = _zend_object_iterator_funcs; #[repr(C)] pub struct _zend_object_iterator { pub std: zend_object, pub data: zval, pub funcs: *const zend_object_iterator_funcs, pub index: zend_ulong, } #[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, } pub type zend_class_iterator_funcs = _zend_class_iterator_funcs; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_class_arrayaccess_funcs { pub zf_offsetget: *mut zend_function, pub zf_offsetexists: *mut zend_function, pub zf_offsetset: *mut zend_function, pub zf_offsetunset: *mut zend_function, } pub type zend_class_arrayaccess_funcs = _zend_class_arrayaccess_funcs; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct stat { pub st_dev: dev_t, pub st_mode: mode_t, pub st_nlink: nlink_t, pub st_ino: __darwin_ino64_t, pub st_uid: uid_t, pub st_gid: gid_t, pub st_rdev: dev_t, pub st_atimespec: timespec, pub st_mtimespec: timespec, pub st_ctimespec: timespec, pub st_birthtimespec: timespec, pub st_size: off_t, pub st_blocks: blkcnt_t, pub st_blksize: blksize_t, pub st_flags: __uint32_t, pub st_gen: __uint32_t, pub st_lspare: __int32_t, pub st_qspare: [__int64_t; 2usize], } pub type zend_stat_t = stat; #[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_class_name { pub name: *mut zend_string, pub lc_name: *mut zend_string, } pub type zend_class_name = _zend_class_name; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_trait_method_reference { pub method_name: *mut zend_string, pub class_name: *mut zend_string, } 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], } 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, } pub type zend_trait_alias = _zend_trait_alias; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_class_mutable_data { pub default_properties_table: *mut zval, pub constants_table: *mut HashTable, pub ce_flags: u32, pub backed_enum_table: *mut HashTable, } pub type zend_class_mutable_data = _zend_class_mutable_data; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_class_dependency { pub name: *mut zend_string, pub ce: *mut zend_class_entry, } pub type zend_class_dependency = _zend_class_dependency; pub type zend_inheritance_cache_entry = _zend_inheritance_cache_entry; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_error_info { pub type_: ::std::os::raw::c_int, pub lineno: u32, pub filename: *mut zend_string, pub message: *mut zend_string, } pub type zend_error_info = _zend_error_info; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_inheritance_cache_entry { pub next: *mut zend_inheritance_cache_entry, pub ce: *mut zend_class_entry, pub parent: *mut zend_class_entry, pub dependencies: *mut zend_class_dependency, pub dependencies_count: u32, pub num_warnings: u32, pub warnings: *mut *mut zend_error_info, pub traits_and_interfaces: [*mut zend_class_entry; 1usize], } #[repr(C)] pub struct _zend_class_entry { pub type_: ::std::os::raw::c_char, pub name: *mut zend_string, pub __bindgen_anon_1: _zend_class_entry__bindgen_ty_1, 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__ptr: *mut zval, pub function_table: HashTable, pub properties_info: HashTable, pub constants_table: HashTable, pub mutable_data__ptr: *mut zend_class_mutable_data, pub inheritance_cache: *mut zend_inheritance_cache_entry, pub properties_info_table: *mut *mut _zend_property_info, 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: *mut zend_function, pub __unserialize: *mut zend_function, pub iterator_funcs_ptr: *mut zend_class_iterator_funcs, pub arrayaccess_funcs_ptr: *mut zend_class_arrayaccess_funcs, pub __bindgen_anon_2: _zend_class_entry__bindgen_ty_2, 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 usize, 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: usize, data: *mut zend_unserialize_data, ) -> ::std::os::raw::c_int, >, pub num_interfaces: u32, pub num_traits: u32, pub __bindgen_anon_3: _zend_class_entry__bindgen_ty_3, pub trait_names: *mut zend_class_name, pub trait_aliases: *mut *mut zend_trait_alias, pub trait_precedences: *mut *mut zend_trait_precedence, pub attributes: *mut HashTable, pub enum_backing_type: u32, pub backed_enum_table: *mut HashTable, pub info: _zend_class_entry__bindgen_ty_4, } #[repr(C)] #[derive(Copy, Clone)] pub union _zend_class_entry__bindgen_ty_1 { pub parent: *mut zend_class_entry, pub parent_name: *mut zend_string, } #[repr(C)] #[derive(Copy, Clone)] pub union _zend_class_entry__bindgen_ty_2 { 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, >, } #[repr(C)] #[derive(Copy, Clone)] pub union _zend_class_entry__bindgen_ty_3 { pub interfaces: *mut *mut zend_class_entry, pub interface_names: *mut zend_class_name, } #[repr(C)] #[derive(Copy, Clone)] pub union _zend_class_entry__bindgen_ty_4 { pub user: _zend_class_entry__bindgen_ty_4__bindgen_ty_1, pub internal: _zend_class_entry__bindgen_ty_4__bindgen_ty_2, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_class_entry__bindgen_ty_4__bindgen_ty_1 { pub filename: *mut zend_string, pub line_start: u32, pub line_end: u32, pub doc_comment: *mut zend_string, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_class_entry__bindgen_ty_4__bindgen_ty_2 { pub builtin_functions: *const _zend_function_entry, pub module: *mut _zend_module_entry, } extern "C" { pub static mut zend_standard_class_def: *mut zend_class_entry; } 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; pub type zend_object_read_property_t = ::std::option::Option< unsafe extern "C" fn( object: *mut zend_object, member: *mut zend_string, 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 zend_object, 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 zend_object, member: *mut zend_string, value: *mut zval, cache_slot: *mut *mut ::std::os::raw::c_void, ) -> *mut zval, >; pub type zend_object_write_dimension_t = ::std::option::Option< unsafe extern "C" fn(object: *mut zend_object, offset: *mut zval, value: *mut zval), >; pub type zend_object_get_property_ptr_ptr_t = ::std::option::Option< unsafe extern "C" fn( object: *mut zend_object, member: *mut zend_string, type_: ::std::os::raw::c_int, cache_slot: *mut *mut ::std::os::raw::c_void, ) -> *mut zval, >; pub type zend_object_has_property_t = ::std::option::Option< unsafe extern "C" fn( object: *mut zend_object, member: *mut zend_string, 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 zend_object, 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 zend_object, member: *mut zend_string, cache_slot: *mut *mut ::std::os::raw::c_void, ), >; pub type zend_object_unset_dimension_t = ::std::option::Option; pub type zend_object_get_properties_t = ::std::option::Option *mut HashTable>; pub type zend_object_get_debug_info_t = ::std::option::Option< unsafe extern "C" fn( object: *mut zend_object, is_temp: *mut ::std::os::raw::c_int, ) -> *mut HashTable, >; pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_DEBUG: _zend_prop_purpose = 0; pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_ARRAY_CAST: _zend_prop_purpose = 1; pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_SERIALIZE: _zend_prop_purpose = 2; pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_VAR_EXPORT: _zend_prop_purpose = 3; pub const _zend_prop_purpose_ZEND_PROP_PURPOSE_JSON: _zend_prop_purpose = 4; pub const _zend_prop_purpose__ZEND_PROP_PURPOSE_NON_EXHAUSTIVE_ENUM: _zend_prop_purpose = 5; pub type _zend_prop_purpose = ::std::os::raw::c_uint; pub use self::_zend_prop_purpose as zend_prop_purpose; pub type zend_object_get_properties_for_t = ::std::option::Option< unsafe extern "C" fn(object: *mut zend_object, purpose: zend_prop_purpose) -> *mut zend_array, >; 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 *mut zend_function>; pub type zend_object_free_obj_t = ::std::option::Option; pub type zend_object_dtor_obj_t = ::std::option::Option; pub type zend_object_clone_obj_t = ::std::option::Option *mut zend_object>; pub type zend_object_get_class_name_t = ::std::option::Option *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_cast_t = ::std::option::Option< unsafe extern "C" fn( readobj: *mut zend_object, retval: *mut zval, type_: ::std::os::raw::c_int, ) -> zend_result, >; pub type zend_object_count_elements_t = ::std::option::Option< unsafe extern "C" fn(object: *mut zend_object, count: *mut zend_long) -> zend_result, >; pub type zend_object_get_closure_t = ::std::option::Option< unsafe extern "C" fn( obj: *mut zend_object, ce_ptr: *mut *mut zend_class_entry, fptr_ptr: *mut *mut zend_function, obj_ptr: *mut *mut zend_object, check_only: bool, ) -> zend_result, >; pub type zend_object_get_gc_t = ::std::option::Option< unsafe extern "C" fn( object: *mut zend_object, 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, ) -> zend_result, >; #[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 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 get_constructor: zend_object_get_constructor_t, pub get_class_name: zend_object_get_class_name_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_t, pub get_properties_for: zend_object_get_properties_for_t, } extern "C" { pub static std_object_handlers: zend_object_handlers; } extern "C" { pub fn zend_std_get_properties(object: *mut zend_object) -> *mut HashTable; } extern "C" { pub fn zend_std_read_property( object: *mut zend_object, member: *mut zend_string, 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 zend_object, member: *mut zend_string, value: *mut zval, cache_slot: *mut *mut ::std::os::raw::c_void, ) -> *mut zval; } extern "C" { pub fn zend_std_has_property( object: *mut zend_object, member: *mut zend_string, 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_is_identical(op1: *mut zval, op2: *mut zval) -> bool; } extern "C" { pub fn zend_is_true(op: *mut zval) -> ::std::os::raw::c_int; } 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, } pub type znode_op = _znode_op; #[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, } #[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, } 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, } pub type zend_live_range = _zend_live_range; #[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 attributes: *mut HashTable, pub ce: *mut zend_class_entry, pub type_: zend_type, } #[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 default_value: *const ::std::os::raw::c_char, } 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 default_value: *mut zend_string, } pub type zend_arg_info = _zend_arg_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 attributes: *mut HashTable, pub T: u32, pub run_time_cache__ptr: *mut *mut ::std::os::raw::c_void, pub cache_size: ::std::os::raw::c_int, pub last_var: ::std::os::raw::c_int, pub last: u32, pub opcodes: *mut zend_op, pub static_variables_ptr__ptr: *mut HashTable, 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 num_dynamic_func_defs: u32, pub literals: *mut zval, pub dynamic_func_defs: *mut *mut zend_op_array, pub reserved: [*mut ::std::os::raw::c_void; 6usize], } 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 attributes: *mut HashTable, pub T: u32, pub run_time_cache__ptr: *mut *mut ::std::os::raw::c_void, pub handler: zif_handler, pub module: *mut _zend_module_entry, pub reserved: [*mut ::std::os::raw::c_void; 6usize], } 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, } #[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, pub attributes: *mut HashTable, pub T: u32, pub run_time_cache__ptr: *mut *mut ::std::os::raw::c_void, } #[repr(C)] 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, pub extra_named_params: *mut zend_array, } pub type sigjmp_buf = [::std::os::raw::c_int; 49usize]; pub type zend_executor_globals = _zend_executor_globals; extern "C" { pub static mut executor_globals: zend_executor_globals; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct zend_atomic_bool_s { pub value: u8, } pub type zend_atomic_bool = zend_atomic_bool_s; #[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, } pub type zend_stack = _zend_stack; 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); } #[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, } pub type zend_objects_store = _zend_objects_store; extern "C" { pub fn zend_objects_store_del(object: *mut zend_object); } pub type zend_vm_stack = *mut _zend_vm_stack; pub type zend_ini_entry = _zend_ini_entry; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_fiber_context { _unused: [u8; 0], } pub type zend_fiber_context = _zend_fiber_context; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_fiber { _unused: [u8; 0], } pub type zend_fiber = _zend_fiber; #[repr(C)] 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 sigjmp_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: usize, pub current_execute_data: *mut _zend_execute_data, pub fake_scope: *mut zend_class_entry, pub jit_trace_num: u32, 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 full_tables_cleanup: bool, pub no_extensions: bool, pub vm_interrupt: zend_atomic_bool, pub timed_out: zend_atomic_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 capture_warnings_during_sccp: ::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: 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 trampoline: zend_function, pub call_trampoline_op: zend_op, pub weakrefs: HashTable, pub exception_ignore_args: bool, pub exception_string_param_max_len: zend_long, pub get_gc_buffer: zend_get_gc_buffer, pub main_fiber_context: *mut zend_fiber_context, pub current_fiber_context: *mut zend_fiber_context, pub active_fiber: *mut zend_fiber, pub fiber_stack_size: zend_long, pub record_errors: bool, pub num_errors: u32, pub errors: *mut *mut zend_error_info, pub filename_override: *mut zend_string, pub lineno_override: zend_long, pub reserved: [*mut ::std::os::raw::c_void; 6usize], } extern "C" { pub fn zend_is_auto_global(name: *mut zend_string) -> bool; } pub type zend_module_entry = _zend_module_entry; #[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, ) -> zend_result, >, pub module_shutdown_func: ::std::option::Option< unsafe extern "C" fn( type_: ::std::os::raw::c_int, module_number: ::std::os::raw::c_int, ) -> zend_result, >, pub request_startup_func: ::std::option::Option< unsafe extern "C" fn( type_: ::std::os::raw::c_int, module_number: ::std::os::raw::c_int, ) -> zend_result, >, pub request_shutdown_func: ::std::option::Option< unsafe extern "C" fn( type_: ::std::os::raw::c_int, module_number: ::std::os::raw::c_int, ) -> zend_result, >, pub info_func: ::std::option::Option, pub version: *const ::std::os::raw::c_char, pub globals_size: usize, pub globals_ptr: *mut ::std::os::raw::c_void, pub globals_ctor: ::std::option::Option, pub globals_dtor: ::std::option::Option, pub post_deactivate_func: ::std::option::Option zend_result>, 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, } #[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, } extern "C" { pub fn zend_lookup_class_ex( name: *mut zend_string, lcname: *mut zend_string, flags: u32, ) -> *mut zend_class_entry; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _zend_vm_stack { pub top: *mut zval, pub end: *mut zval, pub prev: zend_vm_stack, } #[repr(C)] #[derive(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, } pub type zend_function_entry = _zend_function_entry; #[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, } pub type zend_fcall_info_cache = _zend_fcall_info_cache; 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_is_callable( callable: *mut zval, check_flags: u32, callable_name: *mut *mut zend_string, ) -> bool; } extern "C" { pub fn zend_declare_property( ce: *mut zend_class_entry, name: *const ::std::os::raw::c_char, name_length: usize, property: *mut zval, access_type: ::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: usize, value: *mut zval, ); } extern "C" { pub fn object_properties_init(object: *mut zend_object, class_type: *mut zend_class_entry); } extern "C" { pub fn _call_user_function_impl( object: *mut zval, function_name: *mut zval, retval_ptr: *mut zval, param_count: u32, params: *mut zval, named_params: *mut HashTable, ) -> zend_result; } extern "C" { pub fn zend_call_known_function( fn_: *mut zend_function, object: *mut zend_object, called_scope: *mut zend_class_entry, retval_ptr: *mut zval, param_count: u32, params: *mut zval, named_params: *mut HashTable, ); } pub const _zend_expected_type_Z_EXPECTED_LONG: _zend_expected_type = 0; pub const _zend_expected_type_Z_EXPECTED_LONG_OR_NULL: _zend_expected_type = 1; pub const _zend_expected_type_Z_EXPECTED_BOOL: _zend_expected_type = 2; pub const _zend_expected_type_Z_EXPECTED_BOOL_OR_NULL: _zend_expected_type = 3; pub const _zend_expected_type_Z_EXPECTED_STRING: _zend_expected_type = 4; pub const _zend_expected_type_Z_EXPECTED_STRING_OR_NULL: _zend_expected_type = 5; pub const _zend_expected_type_Z_EXPECTED_ARRAY: _zend_expected_type = 6; pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_NULL: _zend_expected_type = 7; pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_LONG: _zend_expected_type = 8; pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_LONG_OR_NULL: _zend_expected_type = 9; pub const _zend_expected_type_Z_EXPECTED_ITERABLE: _zend_expected_type = 10; pub const _zend_expected_type_Z_EXPECTED_ITERABLE_OR_NULL: _zend_expected_type = 11; pub const _zend_expected_type_Z_EXPECTED_FUNC: _zend_expected_type = 12; pub const _zend_expected_type_Z_EXPECTED_FUNC_OR_NULL: _zend_expected_type = 13; pub const _zend_expected_type_Z_EXPECTED_RESOURCE: _zend_expected_type = 14; pub const _zend_expected_type_Z_EXPECTED_RESOURCE_OR_NULL: _zend_expected_type = 15; pub const _zend_expected_type_Z_EXPECTED_PATH: _zend_expected_type = 16; pub const _zend_expected_type_Z_EXPECTED_PATH_OR_NULL: _zend_expected_type = 17; pub const _zend_expected_type_Z_EXPECTED_OBJECT: _zend_expected_type = 18; pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_NULL: _zend_expected_type = 19; pub const _zend_expected_type_Z_EXPECTED_DOUBLE: _zend_expected_type = 20; pub const _zend_expected_type_Z_EXPECTED_DOUBLE_OR_NULL: _zend_expected_type = 21; pub const _zend_expected_type_Z_EXPECTED_NUMBER: _zend_expected_type = 22; pub const _zend_expected_type_Z_EXPECTED_NUMBER_OR_NULL: _zend_expected_type = 23; pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_STRING: _zend_expected_type = 24; pub const _zend_expected_type_Z_EXPECTED_ARRAY_OR_STRING_OR_NULL: _zend_expected_type = 25; pub const _zend_expected_type_Z_EXPECTED_STRING_OR_LONG: _zend_expected_type = 26; pub const _zend_expected_type_Z_EXPECTED_STRING_OR_LONG_OR_NULL: _zend_expected_type = 27; pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_CLASS_NAME: _zend_expected_type = 28; pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_CLASS_NAME_OR_NULL: _zend_expected_type = 29; pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_STRING: _zend_expected_type = 30; pub const _zend_expected_type_Z_EXPECTED_OBJECT_OR_STRING_OR_NULL: _zend_expected_type = 31; pub const _zend_expected_type_Z_EXPECTED_LAST: _zend_expected_type = 32; pub type _zend_expected_type = ::std::os::raw::c_uint; extern "C" { pub fn zend_wrong_parameters_count_error(min_num_args: u32, max_num_args: u32); } extern "C" { pub fn php_printf(format: *const ::std::os::raw::c_char, ...) -> usize; } extern "C" { pub fn php_error_docref( docref: *const ::std::os::raw::c_char, type_: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ... ); } 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: usize, bytes_max: usize, ptr: *mut ::std::os::raw::c_void, ), >; pub type php_stream_notifier = _php_stream_notifier; #[repr(C)] pub struct _php_stream_notifier { pub func: php_stream_notification_func, pub dtor: ::std::option::Option, pub ptr: zval, pub mask: ::std::os::raw::c_int, pub progress: usize, pub progress_max: usize, } #[repr(C)] pub struct _php_stream_context { pub notifier: *mut php_stream_notifier, pub options: zval, pub res: *mut zend_resource, } 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: usize, pub own_buf: u8, pub is_persistent: u8, pub refcount: ::std::os::raw::c_int, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _php_stream_bucket_brigade { pub head: *mut php_stream_bucket, pub tail: *mut php_stream_bucket, } 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; #[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 usize, flags: ::std::os::raw::c_int, ) -> php_stream_filter_status_t, >, pub dtor: ::std::option::Option, pub label: *const ::std::os::raw::c_char, } 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, } pub type php_stream_filter_chain = _php_stream_filter_chain; #[repr(C)] 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, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _php_stream_statbuf { pub sb: zend_stat_t, } 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: usize, ) -> isize, >, pub read: ::std::option::Option< unsafe extern "C" fn( stream: *mut php_stream, buf: *mut ::std::os::raw::c_char, count: usize, ) -> isize, >, 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, >, } 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, __php_stream_call_depth: ::std::os::raw::c_int, __zend_filename: *const ::std::os::raw::c_char, __zend_lineno: u32, __zend_orig_filename: *const ::std::os::raw::c_char, __zend_orig_lineno: u32, ) -> *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, __php_stream_call_depth: ::std::os::raw::c_int, __zend_filename: *const ::std::os::raw::c_char, __zend_lineno: u32, __zend_orig_filename: *const ::std::os::raw::c_char, __zend_orig_lineno: u32, ) -> *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, >, } 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, } #[repr(C)] 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 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: usize, pub readpos: zend_off_t, pub writepos: zend_off_t, pub chunk_size: usize, pub open_filename: *const ::std::os::raw::c_char, pub open_lineno: u32, pub enclosing_stream: *mut _php_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 } } pub type php_core_globals = _php_core_globals; #[repr(C)] pub struct _php_core_globals { pub implicit_flush: bool, pub output_buffering: zend_long, pub enable_dl: 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 display_errors: zend_uchar, pub display_startup_errors: bool, pub log_errors: bool, pub ignore_repeated_errors: bool, pub ignore_repeated_source: bool, pub report_memleaks: 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: bool, pub header_is_being_sent: ::std::os::raw::c_uchar, pub tick_functions: zend_llist, pub http_globals: [zval; 6usize], pub expose_php: bool, pub register_argc_argv: bool, pub auto_globals_jit: bool, pub docref_root: *mut ::std::os::raw::c_char, pub docref_ext: *mut ::std::os::raw::c_char, pub html_errors: bool, pub xmlrpc_errors: bool, pub xmlrpc_error_number: zend_long, pub activated_auto_globals: [bool; 8usize], pub modules_activated: bool, pub file_uploads: bool, pub during_request_startup: bool, pub allow_url_fopen: bool, pub enable_post_data_reading: bool, pub report_zend_debug: bool, pub last_error_type: ::std::os::raw::c_int, pub last_error_message: *mut zend_string, pub last_error_file: *mut zend_string, pub last_error_lineno: ::std::os::raw::c_int, pub php_sys_temp_dir: *mut ::std::os::raw::c_char, pub disable_classes: *mut ::std::os::raw::c_char, pub allow_url_include: bool, pub max_input_nesting_level: zend_long, pub max_input_vars: zend_long, pub in_user_include: 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: bool, pub mail_mixed_lf_and_crlf: bool, pub mail_log: *mut ::std::os::raw::c_char, pub in_error_log: bool, pub syslog_facility: zend_long, pub syslog_ident: *mut ::std::os::raw::c_char, pub have_called_openlog: bool, pub syslog_filter: zend_long, pub error_log_mode: zend_long, } 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, } pub type arg_separators = _arg_separators; #[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, } extern "C" { pub fn zend_register_bool_constant( name: *const ::std::os::raw::c_char, name_len: usize, bval: bool, 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: usize, 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: usize, 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: usize, strval: *const ::std::os::raw::c_char, flags: ::std::os::raw::c_int, module_number: ::std::os::raw::c_int, ); } 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_start(); } extern "C" { pub fn php_info_print_table_end(); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct php_file_globals { pub pclose_ret: ::std::os::raw::c_int, pub def_chunk_size: usize, pub auto_detect_line_endings: bool, pub default_socket_timeout: zend_long, pub user_agent: *mut ::std::os::raw::c_char, pub from_address: *mut ::std::os::raw::c_char, pub user_stream_current_filename: *const ::std::os::raw::c_char, pub default_context: *mut php_stream_context, pub stream_wrappers: *mut HashTable, pub stream_filters: *mut HashTable, pub wrapper_errors: *mut HashTable, pub pclose_wait: ::std::os::raw::c_int, } extern "C" { pub static mut file_globals: php_file_globals; } extern "C" { pub static mut zend_ce_throwable: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_exception: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_error_exception: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_compile_error: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_parse_error: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_type_error: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_argument_count_error: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_value_error: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_arithmetic_error: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_division_by_zero_error: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_unhandled_match_error: *mut zend_class_entry; } extern "C" { pub fn zend_throw_exception_ex( exception_ce: *mut zend_class_entry, code: zend_long, format: *const ::std::os::raw::c_char, ... ) -> *mut zend_object; } extern "C" { pub fn zend_do_implement_interface(ce: *mut zend_class_entry, iface: *mut zend_class_entry); } extern "C" { pub static mut zend_ce_traversable: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_aggregate: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_iterator: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_arrayaccess: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_serializable: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_countable: *mut zend_class_entry; } extern "C" { pub static mut zend_ce_stringable: *mut zend_class_entry; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct sapi_header_struct { pub header: *mut ::std::os::raw::c_char, pub header_len: usize, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct sapi_headers_struct { pub headers: zend_llist, pub http_response_code: ::std::os::raw::c_int, pub send_default_content_type: ::std::os::raw::c_uchar, pub mimetype: *mut ::std::os::raw::c_char, pub http_status_line: *mut ::std::os::raw::c_char, } pub type sapi_post_entry = _sapi_post_entry; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct sapi_request_info { pub request_method: *const ::std::os::raw::c_char, pub query_string: *mut ::std::os::raw::c_char, pub cookie_data: *mut ::std::os::raw::c_char, pub content_length: zend_long, pub path_translated: *mut ::std::os::raw::c_char, pub request_uri: *mut ::std::os::raw::c_char, pub request_body: *mut _php_stream, pub content_type: *const ::std::os::raw::c_char, pub headers_only: bool, pub no_headers: bool, pub headers_read: bool, pub post_entry: *mut sapi_post_entry, pub content_type_dup: *mut ::std::os::raw::c_char, pub auth_user: *mut ::std::os::raw::c_char, pub auth_password: *mut ::std::os::raw::c_char, pub auth_digest: *mut ::std::os::raw::c_char, pub argv0: *mut ::std::os::raw::c_char, pub current_user: *mut ::std::os::raw::c_char, pub current_user_length: ::std::os::raw::c_int, pub argc: ::std::os::raw::c_int, pub argv: *mut *mut ::std::os::raw::c_char, pub proto_num: ::std::os::raw::c_int, } #[repr(C)] pub struct _sapi_globals_struct { pub server_context: *mut ::std::os::raw::c_void, pub request_info: sapi_request_info, pub sapi_headers: sapi_headers_struct, pub read_post_bytes: i64, pub post_read: ::std::os::raw::c_uchar, pub headers_sent: ::std::os::raw::c_uchar, pub global_stat: zend_stat_t, pub default_mimetype: *mut ::std::os::raw::c_char, pub default_charset: *mut ::std::os::raw::c_char, pub rfc1867_uploaded_files: *mut HashTable, pub post_max_size: zend_long, pub options: ::std::os::raw::c_int, pub sapi_started: bool, pub global_request_time: f64, pub known_post_content_types: HashTable, pub callback_func: zval, pub fci_cache: zend_fcall_info_cache, } pub type sapi_globals_struct = _sapi_globals_struct; extern "C" { pub static mut sapi_globals: sapi_globals_struct; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _sapi_post_entry { pub content_type: *mut ::std::os::raw::c_char, pub content_type_len: u32, pub post_reader: ::std::option::Option, pub post_handler: ::std::option::Option< unsafe extern "C" fn( content_type_dup: *mut ::std::os::raw::c_char, arg: *mut ::std::os::raw::c_void, ), >, }