2023-05-16 22:49:57 +02:00
|
|
|
/* automatically generated by rust-bindgen 0.65.1 */
|
2021-09-05 08:18:09 +02:00
|
|
|
|
|
|
|
pub const ZEND_DEBUG: u32 = 1;
|
2022-02-21 23:24:39 +01:00
|
|
|
pub const _ZEND_TYPE_NAME_BIT: u32 = 16777216;
|
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;
|
2022-02-21 23:24:39 +01:00
|
|
|
pub const _IS_BOOL: u32 = 18;
|
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;
|
|
|
|
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;
|
2022-02-21 23:24:39 +01:00
|
|
|
pub const ZEND_ACC_NOT_SERIALIZABLE: u32 = 536870912;
|
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;
|
2022-02-21 23:24:39 +01:00
|
|
|
pub const _ZEND_SEND_MODE_SHIFT: u32 = 25;
|
|
|
|
pub const _ZEND_IS_VARIADIC_BIT: u32 = 134217728;
|
2022-12-20 17:11:35 +01:00
|
|
|
pub const ZEND_MODULE_API_NO: u32 = 20220829;
|
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;
|
|
|
|
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 zend_long = i64;
|
|
|
|
pub type zend_ulong = u64;
|
|
|
|
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,
|
|
|
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub __bindgen_anon_1: _zend_array__bindgen_ty_2,
|
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,
|
|
|
|
}
|
2022-12-20 17:11:35 +01:00
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy, Clone)]
|
|
|
|
pub union _zend_array__bindgen_ty_2 {
|
|
|
|
pub arHash: *mut u32,
|
|
|
|
pub arData: *mut Bucket,
|
|
|
|
pub arPacked: *mut zval,
|
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub handle: zend_long,
|
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" {
|
|
|
|
pub fn _emalloc(
|
2022-12-11 22:10:25 +01:00
|
|
|
size: usize,
|
2021-09-05 08:18:09 +02:00
|
|
|
__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,
|
|
|
|
);
|
|
|
|
}
|
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
|
|
|
}
|
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,
|
|
|
|
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;
|
|
|
|
}
|
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)]
|
2022-12-20 17:11:35 +01:00
|
|
|
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)]
|
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)]
|
2022-02-21 23:24:39 +01:00
|
|
|
#[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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub backed_enum_table: *mut HashTable,
|
2022-02-21 23:24:39 +01:00
|
|
|
}
|
|
|
|
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)]
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub static_members_table__ptr: *mut zval,
|
2021-09-05 08:18:09 +02:00
|
|
|
pub function_table: HashTable,
|
|
|
|
pub properties_info: HashTable,
|
|
|
|
pub constants_table: HashTable,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub mutable_data__ptr: *mut zend_class_mutable_data,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub inheritance_cache: *mut zend_inheritance_cache_entry,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub arrayaccess_funcs_ptr: *mut zend_class_arrayaccess_funcs,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub enum_backing_type: u32,
|
|
|
|
pub backed_enum_table: *mut HashTable,
|
2021-09-05 08:18:09 +02:00
|
|
|
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>;
|
|
|
|
pub type zend_object_free_obj_t =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(object: *mut zend_object)>;
|
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)>;
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
) -> zend_result,
|
2021-09-05 08:18:09 +02:00
|
|
|
>;
|
|
|
|
pub type zend_object_count_elements_t = ::std::option::Option<
|
2022-12-20 17:11:35 +01:00
|
|
|
unsafe extern "C" fn(object: *mut zend_object, count: *mut zend_long) -> zend_result,
|
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,
|
2022-02-21 23:24:39 +01:00
|
|
|
check_only: bool,
|
2022-12-20 17:11:35 +01:00
|
|
|
) -> zend_result,
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
) -> zend_result,
|
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" {
|
|
|
|
pub fn zend_is_identical(op1: *mut zval, op2: *mut zval) -> bool;
|
|
|
|
}
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub T: u32,
|
|
|
|
pub run_time_cache__ptr: *mut *mut ::std::os::raw::c_void,
|
2021-09-05 08:18:09 +02:00
|
|
|
pub cache_size: ::std::os::raw::c_int,
|
|
|
|
pub last_var: ::std::os::raw::c_int,
|
|
|
|
pub last: u32,
|
|
|
|
pub opcodes: *mut zend_op,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub static_variables_ptr__ptr: *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,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub num_dynamic_func_defs: u32,
|
2021-09-05 08:18:09 +02:00
|
|
|
pub literals: *mut zval,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub dynamic_func_defs: *mut *mut zend_op_array,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub T: u32,
|
|
|
|
pub run_time_cache__ptr: *mut *mut ::std::os::raw::c_void,
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub T: u32,
|
|
|
|
pub run_time_cache__ptr: *mut *mut ::std::os::raw::c_void,
|
2021-09-05 08:18:09 +02:00
|
|
|
}
|
|
|
|
#[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)]
|
2022-12-20 17:11:35 +01:00
|
|
|
pub struct zend_atomic_bool_s {
|
|
|
|
pub value: u8,
|
|
|
|
}
|
|
|
|
pub type zend_atomic_bool = zend_atomic_bool_s;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
2021-09-05 08:18:09 +02:00
|
|
|
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)]
|
2022-02-21 23:24:39 +01:00
|
|
|
#[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)]
|
2021-09-05 08:18:09 +02:00
|
|
|
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,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub full_tables_cleanup: bool,
|
|
|
|
pub no_extensions: bool,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub vm_interrupt: zend_atomic_bool,
|
|
|
|
pub timed_out: zend_atomic_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,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub capture_warnings_during_sccp: ::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,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub active: 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,
|
2022-02-21 23:24:39 +01:00
|
|
|
pub exception_ignore_args: 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,
|
2022-02-21 23:24:39 +01:00
|
|
|
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,
|
2022-12-20 17:11:35 +01:00
|
|
|
pub filename_override: *mut zend_string,
|
|
|
|
pub lineno_override: zend_long,
|
2021-09-05 08:18:09 +02:00
|
|
|
pub reserved: [*mut ::std::os::raw::c_void; 6usize],
|
|
|
|
}
|
|
|
|
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;
|
|
|
|
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,
|
2022-02-21 23:24:39 +01:00
|
|
|
) -> 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
|
|
|
}
|
2021-09-05 08:18:09 +02:00
|
|
|
#[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,
|
2022-12-11 22:10:25 +01:00
|
|
|
name_len: usize,
|
2022-02-21 23:24:39 +01:00
|
|
|
bval: 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;
|
|
|
|
}
|