Update bindings

This commit is contained in:
Joe Hoyle 2023-07-13 20:52:49 +02:00
parent aee2625ccb
commit 910c55217a

View File

@ -1,5 +1,85 @@
/* automatically generated by rust-bindgen 0.65.1 */
#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage }
}
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val {
*byte |= mask;
} else {
*byte &= !mask;
}
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
}
pub const ZEND_DEBUG: u32 = 0;
pub const _ZEND_TYPE_NAME_BIT: u32 = 8388608;
pub const _ZEND_TYPE_NULLABLE_BIT: u32 = 2;
@ -96,8 +176,94 @@ pub const CONST_CS: u32 = 0;
pub const CONST_PERSISTENT: u32 = 1;
pub const CONST_NO_FILE_CACHE: u32 = 2;
pub const CONST_DEPRECATED: u32 = 4;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_longlong;
pub type __uint64_t = ::std::os::raw::c_ulonglong;
pub type __darwin_time_t = ::std::os::raw::c_long;
pub type __darwin_blkcnt_t = __int64_t;
pub type __darwin_blksize_t = __int32_t;
pub type __darwin_dev_t = __int32_t;
pub type __darwin_gid_t = __uint32_t;
pub type __darwin_ino64_t = __uint64_t;
pub type __darwin_mode_t = __uint16_t;
pub type __darwin_off_t = __int64_t;
pub type __darwin_uid_t = __uint32_t;
pub type uid_t = __darwin_uid_t;
pub type dev_t = __darwin_dev_t;
pub type mode_t = __darwin_mode_t;
pub type blkcnt_t = __darwin_blkcnt_t;
pub type blksize_t = __darwin_blksize_t;
pub type gid_t = __darwin_gid_t;
pub type nlink_t = __uint16_t;
pub type off_t = __darwin_off_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __darwin_time_t,
pub tv_nsec: ::std::os::raw::c_long,
}
pub type fpos_t = __darwin_off_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sbuf {
pub _base: *mut ::std::os::raw::c_uchar,
pub _size: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sFILEX {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sFILE {
pub _p: *mut ::std::os::raw::c_uchar,
pub _r: ::std::os::raw::c_int,
pub _w: ::std::os::raw::c_int,
pub _flags: ::std::os::raw::c_short,
pub _file: ::std::os::raw::c_short,
pub _bf: __sbuf,
pub _lbfsize: ::std::os::raw::c_int,
pub _cookie: *mut ::std::os::raw::c_void,
pub _close: ::std::option::Option<
unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
>,
pub _read: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: *mut ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub _seek: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: fpos_t,
arg3: ::std::os::raw::c_int,
) -> fpos_t,
>,
pub _write: ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: *const ::std::os::raw::c_char,
arg3: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub _ub: __sbuf,
pub _extra: *mut __sFILEX,
pub _ur: ::std::os::raw::c_int,
pub _ubuf: [::std::os::raw::c_uchar; 3usize],
pub _nbuf: [::std::os::raw::c_uchar; 1usize],
pub _lb: __sbuf,
pub _blksize: ::std::os::raw::c_int,
pub _offset: fpos_t,
}
pub type FILE = __sFILE;
pub type zend_long = i64;
pub type zend_ulong = u64;
pub type zend_off_t = i64;
pub type zend_bool = bool;
pub type zend_uchar = ::std::os::raw::c_uchar;
pub const ZEND_RESULT_CODE_SUCCESS: ZEND_RESULT_CODE = 0;
@ -319,6 +485,19 @@ pub struct _zend_llist {
pub traverse_ptr: *mut zend_llist_element,
}
pub type zend_llist = _zend_llist;
pub type zend_llist_position = *mut zend_llist_element;
extern "C" {
pub fn zend_llist_get_next_ex(
l: *mut zend_llist,
pos: *mut zend_llist_position,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn zend_llist_get_prev_ex(
l: *mut zend_llist,
pos: *mut zend_llist_position,
) -> *mut ::std::os::raw::c_void;
}
pub type zend_string_init_interned_func_t = ::std::option::Option<
unsafe extern "C" fn(
str_: *const ::std::os::raw::c_char,
@ -460,6 +639,29 @@ pub struct _zend_class_iterator_funcs {
pub type zend_class_iterator_funcs = _zend_class_iterator_funcs;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct stat {
pub st_dev: dev_t,
pub st_mode: mode_t,
pub st_nlink: nlink_t,
pub st_ino: __darwin_ino64_t,
pub st_uid: uid_t,
pub st_gid: gid_t,
pub st_rdev: dev_t,
pub st_atimespec: timespec,
pub st_mtimespec: timespec,
pub st_ctimespec: timespec,
pub st_birthtimespec: timespec,
pub st_size: off_t,
pub st_blocks: blkcnt_t,
pub st_blksize: blksize_t,
pub st_flags: __uint32_t,
pub st_gen: __uint32_t,
pub st_lspare: __int32_t,
pub st_qspare: [__int64_t; 2usize],
}
pub type zend_stat_t = stat;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_serialize_data {
_unused: [u8; 0],
}
@ -1093,6 +1295,9 @@ pub struct _zend_executor_globals {
pub get_gc_buffer: zend_get_gc_buffer,
pub reserved: [*mut ::std::os::raw::c_void; 6usize],
}
extern "C" {
pub fn zend_is_auto_global(name: *mut zend_string) -> zend_bool;
}
pub type zend_module_entry = _zend_module_entry;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@ -1176,6 +1381,15 @@ pub struct _zend_function_entry {
pub flags: u32,
}
pub type zend_function_entry = _zend_function_entry;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _zend_fcall_info_cache {
pub function_handler: *mut zend_function,
pub calling_scope: *mut zend_class_entry,
pub called_scope: *mut zend_class_entry,
pub object: *mut zend_object,
}
pub type zend_fcall_info_cache = _zend_fcall_info_cache;
extern "C" {
pub fn zend_register_internal_class_ex(
class_entry: *mut zend_class_entry,
@ -1270,6 +1484,374 @@ extern "C" {
extern "C" {
pub fn php_printf(format: *const ::std::os::raw::c_char, ...) -> usize;
}
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,
) -> *mut php_stream,
>,
pub stream_closer: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
stream: *mut php_stream,
) -> ::std::os::raw::c_int,
>,
pub stream_stat: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
stream: *mut php_stream,
ssb: *mut php_stream_statbuf,
) -> ::std::os::raw::c_int,
>,
pub url_stat: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
url: *const ::std::os::raw::c_char,
flags: ::std::os::raw::c_int,
ssb: *mut php_stream_statbuf,
context: *mut php_stream_context,
) -> ::std::os::raw::c_int,
>,
pub dir_opener: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
filename: *const ::std::os::raw::c_char,
mode: *const ::std::os::raw::c_char,
options: ::std::os::raw::c_int,
opened_path: *mut *mut zend_string,
context: *mut php_stream_context,
) -> *mut php_stream,
>,
pub label: *const ::std::os::raw::c_char,
pub unlink: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
url: *const ::std::os::raw::c_char,
options: ::std::os::raw::c_int,
context: *mut php_stream_context,
) -> ::std::os::raw::c_int,
>,
pub rename: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
url_from: *const ::std::os::raw::c_char,
url_to: *const ::std::os::raw::c_char,
options: ::std::os::raw::c_int,
context: *mut php_stream_context,
) -> ::std::os::raw::c_int,
>,
pub stream_mkdir: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
url: *const ::std::os::raw::c_char,
mode: ::std::os::raw::c_int,
options: ::std::os::raw::c_int,
context: *mut php_stream_context,
) -> ::std::os::raw::c_int,
>,
pub stream_rmdir: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
url: *const ::std::os::raw::c_char,
options: ::std::os::raw::c_int,
context: *mut php_stream_context,
) -> ::std::os::raw::c_int,
>,
pub stream_metadata: ::std::option::Option<
unsafe extern "C" fn(
wrapper: *mut php_stream_wrapper,
url: *const ::std::os::raw::c_char,
options: ::std::os::raw::c_int,
value: *mut ::std::os::raw::c_void,
context: *mut php_stream_context,
) -> ::std::os::raw::c_int,
>,
}
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,
pub enclosing_stream: *mut _php_stream,
}
impl _php_stream {
#[inline]
pub fn is_persistent(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
}
#[inline]
pub fn set_is_persistent(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn in_free(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 2u8) as u8) }
}
#[inline]
pub fn set_in_free(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 2u8, val as u64)
}
}
#[inline]
pub fn eof(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
}
#[inline]
pub fn set_eof(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn __exposed(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
}
#[inline]
pub fn set___exposed(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub fn fclose_stdiocast(&self) -> u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 2u8) as u8) }
}
#[inline]
pub fn set_fclose_stdiocast(&mut self, val: u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(5usize, 2u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
is_persistent: u8,
in_free: u8,
eof: u8,
__exposed: u8,
fclose_stdiocast: u8,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let is_persistent: u8 = unsafe { ::std::mem::transmute(is_persistent) };
is_persistent as u64
});
__bindgen_bitfield_unit.set(1usize, 2u8, {
let in_free: u8 = unsafe { ::std::mem::transmute(in_free) };
in_free as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let eof: u8 = unsafe { ::std::mem::transmute(eof) };
eof as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let __exposed: u8 = unsafe { ::std::mem::transmute(__exposed) };
__exposed as u64
});
__bindgen_bitfield_unit.set(5usize, 2u8, {
let fclose_stdiocast: u8 = unsafe { ::std::mem::transmute(fclose_stdiocast) };
fclose_stdiocast as u64
});
__bindgen_bitfield_unit
}
}
pub type php_core_globals = _php_core_globals;
#[repr(C)]
pub struct _php_core_globals {
@ -1516,3 +2098,82 @@ extern "C" {
data: *mut zend_unserialize_data,
) -> ::std::os::raw::c_int;
}
#[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,
),
>,
}