pub const _IOC_NRMASK: u32 = 255;
pub const _IOC_SIZEMASK: u32 = 16383;
pub const _IOC_NRSHIFT: u32 = 0;
pub const _IOC_SIZESHIFT: u32 = 16;
pub const B_TYPE_LARGE: u32 = 133;
pub const BINDER_CURRENT_PROTOCOL_VERSION: u32 = 8;
pub const BINDERFS_MAX_NAME: u32 = 255;
pub type __u8 = ::std::os::raw::c_uchar;
pub type __s32 = ::std::os::raw::c_int;
pub type __u32 = ::std::os::raw::c_uint;
pub type __u64 = ::std::os::raw::c_ulonglong;
pub type __kernel_pid_t = ::std::os::raw::c_int;
pub type __kernel_uid32_t = ::std::os::raw::c_uint;
pub const BINDER_TYPE_BINDER: _bindgen_ty_1 = 1935813253;
pub const BINDER_TYPE_WEAK_BINDER: _bindgen_ty_1 = 2002922117;
pub const BINDER_TYPE_HANDLE: _bindgen_ty_1 = 1936206469;
pub const BINDER_TYPE_WEAK_HANDLE: _bindgen_ty_1 = 2003315333;
pub const BINDER_TYPE_FD: _bindgen_ty_1 = 1717840517;
pub const BINDER_TYPE_FDA: _bindgen_ty_1 = 1717854597;
pub const BINDER_TYPE_PTR: _bindgen_ty_1 = 1886661253;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
pub const FLAT_BINDER_FLAG_SCHED_POLICY_SHIFT: flat_binder_object_shifts = 9;
pub type flat_binder_object_shifts = ::std::os::raw::c_uint;
pub const FLAT_BINDER_FLAG_PRIORITY_MASK: flat_binder_object_flags = 255;
pub const FLAT_BINDER_FLAG_ACCEPTS_FDS: flat_binder_object_flags = 256;
pub const FLAT_BINDER_FLAG_SCHED_POLICY_MASK: flat_binder_object_flags = 1536;
pub const FLAT_BINDER_FLAG_INHERIT_RT: flat_binder_object_flags = 2048;
pub const FLAT_BINDER_FLAG_TXN_SECURITY_CTX: flat_binder_object_flags = 4096;
pub type flat_binder_object_flags = ::std::os::raw::c_uint;
pub type binder_size_t = __u64;
pub type binder_uintptr_t = __u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_object_header {
pub type_: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct flat_binder_object {
pub hdr: binder_object_header,
pub flags: __u32,
pub __bindgen_anon_1: flat_binder_object__bindgen_ty_1,
pub cookie: binder_uintptr_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union flat_binder_object__bindgen_ty_1 {
pub binder: binder_uintptr_t,
pub handle: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct binder_fd_object {
pub hdr: binder_object_header,
pub pad_flags: __u32,
pub __bindgen_anon_1: binder_fd_object__bindgen_ty_1,
pub cookie: binder_uintptr_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union binder_fd_object__bindgen_ty_1 {
pub pad_binder: binder_uintptr_t,
pub fd: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_buffer_object {
pub hdr: binder_object_header,
pub flags: __u32,
pub buffer: binder_uintptr_t,
pub length: binder_size_t,
pub parent: binder_size_t,
pub parent_offset: binder_size_t,
}
pub const BINDER_BUFFER_FLAG_HAS_PARENT: _bindgen_ty_2 = 1;
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_fd_array_object {
pub hdr: binder_object_header,
pub pad: __u32,
pub num_fds: binder_size_t,
pub parent: binder_size_t,
pub parent_offset: binder_size_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_write_read {
pub write_size: binder_size_t,
pub write_consumed: binder_size_t,
pub write_buffer: binder_uintptr_t,
pub read_size: binder_size_t,
pub read_consumed: binder_size_t,
pub read_buffer: binder_uintptr_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_version {
pub protocol_version: __s32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_node_debug_info {
pub ptr: binder_uintptr_t,
pub cookie: binder_uintptr_t,
pub has_strong_ref: __u32,
pub has_weak_ref: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_node_info_for_ref {
pub handle: __u32,
pub strong_count: __u32,
pub weak_count: __u32,
pub reserved1: __u32,
pub reserved2: __u32,
pub reserved3: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_freeze_info {
pub pid: __u32,
pub enable: __u32,
pub timeout_ms: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_frozen_status_info {
pub pid: __u32,
pub sync_recv: __u32,
pub async_recv: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_frozen_state_info {
pub cookie: binder_uintptr_t,
pub is_frozen: __u32,
pub reserved: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_extended_error {
pub id: __u32,
pub command: __u32,
pub param: __s32,
}
pub const BINDER_WRITE_READ: _bindgen_ty_3 = 3224396289;
pub const BINDER_SET_IDLE_TIMEOUT: _bindgen_ty_3 = 1074291203;
pub const BINDER_SET_MAX_THREADS: _bindgen_ty_3 = 1074029061;
pub const BINDER_SET_IDLE_PRIORITY: _bindgen_ty_3 = 1074029062;
pub const BINDER_SET_CONTEXT_MGR: _bindgen_ty_3 = 1074029063;
pub const BINDER_THREAD_EXIT: _bindgen_ty_3 = 1074029064;
pub const BINDER_VERSION: _bindgen_ty_3 = 3221512713;
pub const BINDER_GET_NODE_DEBUG_INFO: _bindgen_ty_3 = 3222823435;
pub const BINDER_GET_NODE_INFO_FOR_REF: _bindgen_ty_3 = 3222823436;
pub const BINDER_SET_CONTEXT_MGR_EXT: _bindgen_ty_3 = 1075339789;
pub const BINDER_FREEZE: _bindgen_ty_3 = 1074553358;
pub const BINDER_GET_FROZEN_INFO: _bindgen_ty_3 = 3222037007;
pub const BINDER_ENABLE_ONEWAY_SPAM_DETECTION: _bindgen_ty_3 = 1074029072;
pub const BINDER_GET_EXTENDED_ERROR: _bindgen_ty_3 = 3222037009;
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
pub const TF_ONE_WAY: transaction_flags = 1;
pub const TF_ROOT_OBJECT: transaction_flags = 4;
pub const TF_STATUS_CODE: transaction_flags = 8;
pub const TF_ACCEPT_FDS: transaction_flags = 16;
pub const TF_CLEAR_BUF: transaction_flags = 32;
pub const TF_UPDATE_TXN: transaction_flags = 64;
pub const TF_DEFER_COMPLETE: transaction_flags = 128;
pub type transaction_flags = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct binder_transaction_data {
pub target: binder_transaction_data__bindgen_ty_1,
pub cookie: binder_uintptr_t,
pub code: __u32,
pub flags: __u32,
pub sender_pid: __kernel_pid_t,
pub sender_euid: __kernel_uid32_t,
pub data_size: binder_size_t,
pub offsets_size: binder_size_t,
pub data: binder_transaction_data__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union binder_transaction_data__bindgen_ty_1 {
pub handle: __u32,
pub ptr: binder_uintptr_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union binder_transaction_data__bindgen_ty_2 {
pub ptr: binder_transaction_data__bindgen_ty_2__bindgen_ty_1,
pub buf: [__u8; 8usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_transaction_data__bindgen_ty_2__bindgen_ty_1 {
pub buffer: binder_uintptr_t,
pub offsets: binder_uintptr_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct binder_transaction_data_secctx {
pub transaction_data: binder_transaction_data,
pub secctx: binder_uintptr_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct binder_transaction_data_sg {
pub transaction_data: binder_transaction_data,
pub buffers_size: binder_size_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_ptr_cookie {
pub ptr: binder_uintptr_t,
pub cookie: binder_uintptr_t,
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct binder_handle_cookie {
pub handle: __u32,
pub cookie: binder_uintptr_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_pri_desc {
pub priority: __s32,
pub desc: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binder_pri_ptr_cookie {
pub priority: __s32,
pub ptr: binder_uintptr_t,
pub cookie: binder_uintptr_t,
}
pub const BR_ERROR: binder_driver_return_protocol = 2147774976;
pub const BR_OK: binder_driver_return_protocol = 29185;
pub const BR_TRANSACTION_SEC_CTX: binder_driver_return_protocol = 2152231426;
pub const BR_TRANSACTION: binder_driver_return_protocol = 2151707138;
pub const BR_REPLY: binder_driver_return_protocol = 2151707139;
pub const BR_ACQUIRE_RESULT: binder_driver_return_protocol = 2147774980;
pub const BR_DEAD_REPLY: binder_driver_return_protocol = 29189;
pub const BR_TRANSACTION_COMPLETE: binder_driver_return_protocol = 29190;
pub const BR_INCREFS: binder_driver_return_protocol = 2148561415;
pub const BR_ACQUIRE: binder_driver_return_protocol = 2148561416;
pub const BR_RELEASE: binder_driver_return_protocol = 2148561417;
pub const BR_DECREFS: binder_driver_return_protocol = 2148561418;
pub const BR_ATTEMPT_ACQUIRE: binder_driver_return_protocol = 2149085707;
pub const BR_NOOP: binder_driver_return_protocol = 29196;
pub const BR_SPAWN_LOOPER: binder_driver_return_protocol = 29197;
pub const BR_FINISHED: binder_driver_return_protocol = 29198;
pub const BR_DEAD_BINDER: binder_driver_return_protocol = 2148037135;
pub const BR_CLEAR_DEATH_NOTIFICATION_DONE: binder_driver_return_protocol = 2148037136;
pub const BR_FAILED_REPLY: binder_driver_return_protocol = 29201;
pub const BR_FROZEN_REPLY: binder_driver_return_protocol = 29202;
pub const BR_ONEWAY_SPAM_SUSPECT: binder_driver_return_protocol = 29203;
pub const BR_TRANSACTION_PENDING_FROZEN: binder_driver_return_protocol = 29204;
pub const BR_FROZEN_BINDER: binder_driver_return_protocol = 2148561429;
pub const BR_CLEAR_FREEZE_NOTIFICATION_DONE: binder_driver_return_protocol = 2148037142;
pub type binder_driver_return_protocol = ::std::os::raw::c_uint;
pub const BC_TRANSACTION: binder_driver_command_protocol = 1077961472;
pub const BC_REPLY: binder_driver_command_protocol = 1077961473;
pub const BC_ACQUIRE_RESULT: binder_driver_command_protocol = 1074029314;
pub const BC_FREE_BUFFER: binder_driver_command_protocol = 1074291459;
pub const BC_INCREFS: binder_driver_command_protocol = 1074029316;
pub const BC_ACQUIRE: binder_driver_command_protocol = 1074029317;
pub const BC_RELEASE: binder_driver_command_protocol = 1074029318;
pub const BC_DECREFS: binder_driver_command_protocol = 1074029319;
pub const BC_INCREFS_DONE: binder_driver_command_protocol = 1074815752;
pub const BC_ACQUIRE_DONE: binder_driver_command_protocol = 1074815753;
pub const BC_ATTEMPT_ACQUIRE: binder_driver_command_protocol = 1074291466;
pub const BC_REGISTER_LOOPER: binder_driver_command_protocol = 25355;
pub const BC_ENTER_LOOPER: binder_driver_command_protocol = 25356;
pub const BC_EXIT_LOOPER: binder_driver_command_protocol = 25357;
pub const BC_REQUEST_DEATH_NOTIFICATION: binder_driver_command_protocol = 1074553614;
pub const BC_CLEAR_DEATH_NOTIFICATION: binder_driver_command_protocol = 1074553615;
pub const BC_DEAD_BINDER_DONE: binder_driver_command_protocol = 1074291472;
pub const BC_TRANSACTION_SG: binder_driver_command_protocol = 1078485777;
pub const BC_REPLY_SG: binder_driver_command_protocol = 1078485778;
pub const BC_REQUEST_FREEZE_NOTIFICATION: binder_driver_command_protocol = 1074553619;
pub const BC_CLEAR_FREEZE_NOTIFICATION: binder_driver_command_protocol = 1074553620;
pub const BC_FREEZE_NOTIFICATION_DONE: binder_driver_command_protocol = 1074291477;
pub type binder_driver_command_protocol = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct binderfs_device {
pub name: [::std::os::raw::c_char; 256usize],
pub major: __u32,
pub minor: __u32,
}