2023-05-16 22:49:57 +02:00
|
|
|
/* automatically generated by rust-bindgen 0.65.1 */
|
2021-09-05 08:18:09 +02:00
|
|
|
|
2023-07-13 20:52:49 +02:00
|
|
|
#[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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-07-13 21:04:51 +02:00
|
|
|
pub const ZEND_DEBUG: u32 = 1;
|
2023-07-12 20:05:37 +02:00
|
|
|
pub const _ZEND_TYPE_NAME_BIT: u32 = 8388608;
|
2021-09-05 08:18:09 +02:00
|
|
|
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;
|
2021-09-27 14:31:55 +02:00
|
|
|
pub const IS_PTR: u32 = 13;
|
2023-07-12 20:05:37 +02:00
|
|
|
pub const _IS_BOOL: u32 = 17;
|
2021-09-05 08:18:09 +02:00
|
|
|
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 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;
|
2023-07-12 20:05:37 +02:00
|
|
|
pub const ZEND_ACC_PROPERTY_TYPES_RESOLVED: u32 = 32768;
|
|
|
|
pub const ZEND_ACC_REUSE_GET_ITERATOR: u32 = 65536;
|
2021-09-05 08:18:09 +02:00
|
|
|
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;
|
2023-07-12 20:05:37 +02:00
|
|
|
pub const ZEND_ACC_HAS_UNLINKED_USES: u32 = 2097152;
|
2021-09-05 08:18:09 +02:00
|
|
|
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;
|
2023-07-12 20:05:37 +02:00
|
|
|
pub const _ZEND_SEND_MODE_SHIFT: u32 = 24;
|
|
|
|
pub const _ZEND_IS_VARIADIC_BIT: u32 = 67108864;
|
|
|
|
pub const ZEND_MODULE_API_NO: u32 = 20200930;
|
2021-09-05 08:18:09 +02:00
|
|
|
pub const USING_ZTS: u32 = 0;
|
|
|
|
pub const MAY_BE_BOOL: u32 = 12;
|
|
|
|
pub const MAY_BE_ANY: u32 = 1022;
|
2023-07-07 14:41:44 +02:00
|
|
|
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;
|
2021-09-05 08:18:09 +02:00
|
|
|
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;
|
2023-07-13 20:52:49 +02:00
|
|
|
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;
|
2021-09-05 08:18:09 +02:00
|
|
|
pub type zend_long = i64;
|
|
|
|
pub type zend_ulong = u64;
|
2023-07-13 20:52:49 +02:00
|
|
|
pub type zend_off_t = i64;
|
2023-07-07 14:41:44 +02:00
|
|
|
pub type zend_bool = bool;
|
2021-09-05 08:18:09 +02:00
|
|
|
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<unsafe extern "C" fn(pDest: *mut zval)>;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct zend_type {
|
|
|
|
pub ptr: *mut ::std::os::raw::c_void,
|
|
|
|
pub type_mask: u32,
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
2022-02-21 23:24:39 +01:00
|
|
|
#[derive(Copy, Clone)]
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub access_flags: u32,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
pub len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub arData: *mut Bucket,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
|
|
|
}
|
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub handle: ::std::os::raw::c_int,
|
2021-09-05 08:18:09 +02:00
|
|
|
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" {
|
2023-07-13 21:04:51 +02:00
|
|
|
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;
|
2023-07-12 20:05:37 +02:00
|
|
|
}
|
|
|
|
extern "C" {
|
2023-07-13 21:04:51 +02:00
|
|
|
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,
|
|
|
|
);
|
2021-09-05 08:18:09 +02:00
|
|
|
}
|
2022-03-06 04:01:27 +01:00
|
|
|
extern "C" {
|
2022-12-11 22:10:25 +01:00
|
|
|
pub fn __zend_malloc(len: usize) -> *mut ::std::os::raw::c_void;
|
2022-03-06 04:01:27 +01:00
|
|
|
}
|
2023-07-07 14:41:44 +02:00
|
|
|
#[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<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: 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;
|
2023-07-13 20:52:49 +02:00
|
|
|
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;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
pub type zend_string_init_interned_func_t = ::std::option::Option<
|
|
|
|
unsafe extern "C" fn(
|
|
|
|
str_: *const ::std::os::raw::c_char,
|
2022-12-11 22:10:25 +01:00
|
|
|
size: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
) -> 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,
|
2022-12-11 22:10:25 +01:00
|
|
|
len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
) -> *mut zval;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn zend_hash_index_find(ht: *const HashTable, h: zend_ulong) -> *mut zval;
|
|
|
|
}
|
2023-05-16 22:33:45 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pos: *mut HashPosition,
|
2023-05-16 22:33:45 +02:00
|
|
|
);
|
|
|
|
}
|
|
|
|
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;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn _zend_new_array(size: u32) -> *mut HashTable;
|
|
|
|
}
|
2023-05-16 22:33:45 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_array_count(ht: *mut HashTable) -> u32;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_array_dup(source: *mut HashTable) -> *mut HashTable;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn zend_array_destroy(ht: *mut HashTable);
|
|
|
|
}
|
2022-02-21 23:24:39 +01:00
|
|
|
extern "C" {
|
|
|
|
pub fn gc_possible_root(ref_: *mut zend_refcounted);
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct zend_get_gc_buffer {
|
|
|
|
pub cur: *mut zval,
|
|
|
|
pub end: *mut zval,
|
|
|
|
pub start: *mut zval,
|
|
|
|
}
|
2021-09-27 14:31:55 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zval_ptr_dtor(zval_ptr: *mut zval);
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
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)>,
|
|
|
|
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)]
|
2023-07-13 20:52:49 +02:00
|
|
|
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)]
|
2021-09-05 08:18:09 +02:00
|
|
|
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)]
|
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub static_members_table__ptr: *mut *mut zval,
|
2021-09-05 08:18:09 +02:00
|
|
|
pub function_table: HashTable,
|
|
|
|
pub properties_info: HashTable,
|
|
|
|
pub constants_table: HashTable,
|
|
|
|
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 __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,
|
2022-12-11 22:10:25 +01:00
|
|
|
buf_len: *mut usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
buf_len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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 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,
|
|
|
|
}
|
2021-10-06 17:22:50 +02:00
|
|
|
extern "C" {
|
|
|
|
pub static mut zend_standard_class_def: *mut zend_class_entry;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
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<unsafe extern "C" fn(object: *mut zend_object, offset: *mut zval)>;
|
|
|
|
pub type zend_object_get_properties_t =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(object: *mut zend_object) -> *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<unsafe extern "C" fn(object: *mut zend_object) -> *mut zend_function>;
|
2022-02-21 23:24:39 +01:00
|
|
|
pub type zend_object_dtor_obj_t =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(object: *mut zend_object)>;
|
2023-07-12 20:05:37 +02:00
|
|
|
pub type zend_object_free_obj_t =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(object: *mut zend_object)>;
|
2021-09-05 08:18:09 +02:00
|
|
|
pub type zend_object_clone_obj_t =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(object: *mut zend_object) -> *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_cast_t = ::std::option::Option<
|
|
|
|
unsafe extern "C" fn(
|
|
|
|
readobj: *mut zend_object,
|
|
|
|
retval: *mut zval,
|
|
|
|
type_: ::std::os::raw::c_int,
|
2023-07-12 20:05:37 +02:00
|
|
|
) -> ::std::os::raw::c_int,
|
2021-09-05 08:18:09 +02:00
|
|
|
>;
|
|
|
|
pub type zend_object_count_elements_t = ::std::option::Option<
|
2023-07-12 20:05:37 +02:00
|
|
|
unsafe extern "C" fn(object: *mut zend_object, count: *mut zend_long) -> ::std::os::raw::c_int,
|
2021-09-05 08:18:09 +02:00
|
|
|
>;
|
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
check_only: zend_bool,
|
|
|
|
) -> ::std::os::raw::c_int,
|
2021-09-05 08:18:09 +02:00
|
|
|
>;
|
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
) -> ::std::os::raw::c_int,
|
2021-09-05 08:18:09 +02:00
|
|
|
>;
|
|
|
|
#[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;
|
|
|
|
}
|
2021-09-27 13:54:23 +02:00
|
|
|
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;
|
|
|
|
}
|
2023-01-19 12:40:24 +01:00
|
|
|
extern "C" {
|
2023-07-12 20:05:37 +02:00
|
|
|
pub fn zend_is_identical(op1: *mut zval, op2: *mut zval) -> zend_bool;
|
2023-01-19 12:40:24 +01:00
|
|
|
}
|
2021-09-27 13:54:23 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_is_true(op: *mut zval) -> ::std::os::raw::c_int;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
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 cache_size: ::std::os::raw::c_int,
|
|
|
|
pub last_var: ::std::os::raw::c_int,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub T: u32,
|
2021-09-05 08:18:09 +02:00
|
|
|
pub last: u32,
|
|
|
|
pub opcodes: *mut zend_op,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub run_time_cache__ptr: *mut *mut *mut ::std::os::raw::c_void,
|
|
|
|
pub static_variables_ptr__ptr: *mut *mut HashTable,
|
2021-09-05 08:18:09 +02:00
|
|
|
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],
|
|
|
|
}
|
|
|
|
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 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,
|
|
|
|
}
|
|
|
|
#[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,
|
|
|
|
}
|
2023-05-16 22:49:57 +02:00
|
|
|
pub type sigjmp_buf = [::std::os::raw::c_int; 49usize];
|
2021-09-05 08:18:09 +02:00
|
|
|
pub type zend_executor_globals = _zend_executor_globals;
|
2022-02-21 23:24:39 +01:00
|
|
|
extern "C" {
|
|
|
|
pub static mut executor_globals: zend_executor_globals;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
#[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);
|
|
|
|
}
|
2021-10-06 17:22:50 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_objects_new(ce: *mut zend_class_entry) -> *mut zend_object;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_objects_clone_members(new_object: *mut zend_object, old_object: *mut zend_object);
|
|
|
|
}
|
2021-09-27 13:54:23 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_object_std_dtor(object: *mut zend_object);
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
#[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;
|
2022-02-21 23:24:39 +01:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_objects_store_del(object: *mut zend_object);
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
pub type zend_vm_stack = *mut _zend_vm_stack;
|
|
|
|
pub type zend_ini_entry = _zend_ini_entry;
|
|
|
|
#[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,
|
2023-05-16 22:49:57 +02:00
|
|
|
pub bailout: *mut sigjmp_buf,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
pub vm_stack_page_size: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub full_tables_cleanup: zend_bool,
|
|
|
|
pub no_extensions: zend_bool,
|
|
|
|
pub vm_interrupt: zend_bool,
|
|
|
|
pub timed_out: zend_bool,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub lambda_count: ::std::os::raw::c_int,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub active: zend_bool,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
pub exception_ignore_args: zend_bool,
|
2021-09-05 08:18:09 +02:00
|
|
|
pub exception_string_param_max_len: zend_long,
|
|
|
|
pub get_gc_buffer: zend_get_gc_buffer,
|
|
|
|
pub reserved: [*mut ::std::os::raw::c_void; 6usize],
|
|
|
|
}
|
2023-07-13 20:52:49 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_is_auto_global(name: *mut zend_string) -> zend_bool;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
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<unsafe extern "C" fn(zend_module: *mut zend_module_entry)>,
|
|
|
|
pub version: *const ::std::os::raw::c_char,
|
2022-12-11 22:10:25 +01:00
|
|
|
pub globals_size: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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() -> 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)]
|
2022-10-16 01:49:02 +02:00
|
|
|
#[derive(Copy, Clone)]
|
2021-09-05 08:18:09 +02:00
|
|
|
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;
|
2023-07-13 20:52:49 +02:00
|
|
|
#[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;
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2023-07-12 20:05:37 +02:00
|
|
|
) -> zend_bool;
|
2021-09-05 08:18:09 +02:00
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn zend_declare_property(
|
|
|
|
ce: *mut zend_class_entry,
|
|
|
|
name: *const ::std::os::raw::c_char,
|
2022-12-11 22:10:25 +01:00
|
|
|
name_length: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
name_length: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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;
|
|
|
|
}
|
2021-10-06 17:22:50 +02:00
|
|
|
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,
|
|
|
|
);
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
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);
|
|
|
|
}
|
2022-02-24 10:47:56 +01:00
|
|
|
extern "C" {
|
2022-12-11 22:10:25 +01:00
|
|
|
pub fn php_printf(format: *const ::std::os::raw::c_char, ...) -> usize;
|
2022-02-24 10:47:56 +01:00
|
|
|
}
|
2023-07-13 20:52:49 +02:00
|
|
|
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<unsafe extern "C" fn(notifier: *mut php_stream_notifier)>,
|
|
|
|
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<unsafe extern "C" fn(thisfilter: *mut php_stream_filter)>,
|
|
|
|
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,
|
2023-07-13 21:04:51 +02:00
|
|
|
__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,
|
2023-07-13 20:52:49 +02:00
|
|
|
) -> *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,
|
2023-07-13 21:04:51 +02:00
|
|
|
__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,
|
2023-07-13 20:52:49 +02:00
|
|
|
) -> *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 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: usize,
|
|
|
|
pub readpos: zend_off_t,
|
|
|
|
pub writepos: zend_off_t,
|
|
|
|
pub chunk_size: usize,
|
2023-07-13 21:04:51 +02:00
|
|
|
pub open_filename: *const ::std::os::raw::c_char,
|
|
|
|
pub open_lineno: u32,
|
2023-07-13 20:52:49 +02:00
|
|
|
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
|
|
|
|
}
|
|
|
|
}
|
2023-07-07 13:58:49 +02:00
|
|
|
pub type php_core_globals = _php_core_globals;
|
|
|
|
#[repr(C)]
|
|
|
|
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 display_errors: zend_uchar,
|
|
|
|
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 zend_string,
|
|
|
|
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_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,
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub static mut core_globals: _php_core_globals;
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
2023-07-07 14:41:44 +02:00
|
|
|
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)]
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
name_len: usize,
|
2023-07-12 20:05:37 +02:00
|
|
|
bval: zend_bool,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
name_len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
name_len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-11 22:10:25 +01:00
|
|
|
name_len: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
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();
|
|
|
|
}
|
|
|
|
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);
|
|
|
|
}
|
2022-10-16 02:13:09 +02:00
|
|
|
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;
|
|
|
|
}
|
2023-07-12 20:05:37 +02:00
|
|
|
extern "C" {
|
|
|
|
pub fn zend_class_serialize_deny(
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn zend_class_unserialize_deny(
|
|
|
|
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;
|
|
|
|
}
|
2023-07-13 20:52:49 +02:00
|
|
|
#[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: zend_bool,
|
|
|
|
pub no_headers: zend_bool,
|
|
|
|
pub headers_read: zend_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: zend_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<unsafe extern "C" fn()>,
|
|
|
|
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,
|
|
|
|
),
|
|
|
|
>,
|
|
|
|
}
|