diff --git a/core/src/components/conntracker/src/bindings.rs b/core/src/components/conntracker/src/bindings.rs new file mode 100644 index 0000000..e73ac86 --- /dev/null +++ b/core/src/components/conntracker/src/bindings.rs @@ -0,0 +1,111665 @@ +/* automatically generated by rust-bindgen 0.72.0 */ + +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { + storage: Storage, +} +impl __BindgenBitfieldUnit { + #[inline] + pub const fn new(storage: Storage) -> Self { + Self { storage } + } +} +impl __BindgenBitfieldUnit +where + Storage: AsRef<[u8]> + AsMut<[u8]>, +{ + #[inline] + fn extract_bit(byte: u8, index: usize) -> bool { + 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 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]; + Self::extract_bit(byte, index) + } + #[inline] + pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool { + debug_assert!(index / 8 < core::mem::size_of::()); + let byte_index = index / 8; + let byte = unsafe { + *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize) + }; + Self::extract_bit(byte, index) + } + #[inline] + fn change_bit(byte: u8, index: usize, val: bool) -> u8 { + 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 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]; + *byte = Self::change_bit(*byte, index, val); + } + #[inline] + pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) { + debug_assert!(index / 8 < core::mem::size_of::()); + let byte_index = index / 8; + let byte = unsafe { + (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize) + }; + unsafe { *byte = Self::change_bit(*byte, index, val) }; + } + #[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 unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < core::mem::size_of::()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); + let mut val = 0; + for i in 0..(bit_width as usize) { + if unsafe { Self::raw_get_bit(this, 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); + } + } + #[inline] + pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < core::mem::size_of::()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::()); + 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 + }; + unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) }; + } + } +} +#[repr(C)] +#[derive(Default)] +pub struct __IncompleteArrayField(::core::marker::PhantomData, [T; 0]); +impl __IncompleteArrayField { + #[inline] + pub const fn new() -> Self { + __IncompleteArrayField(::core::marker::PhantomData, []) + } + #[inline] + pub fn as_ptr(&self) -> *const T { + self as *const _ as *const T + } + #[inline] + pub fn as_mut_ptr(&mut self) -> *mut T { + self as *mut _ as *mut T + } + #[inline] + pub unsafe fn as_slice(&self, len: usize) -> &[T] { + ::core::slice::from_raw_parts(self.as_ptr(), len) + } + #[inline] + pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { + ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) + } +} +impl ::core::fmt::Debug for __IncompleteArrayField { + fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + fmt.write_str("__IncompleteArrayField") + } +} +#[repr(C)] +pub struct __BindgenUnionField(::core::marker::PhantomData); +impl __BindgenUnionField { + #[inline] + pub const fn new() -> Self { + __BindgenUnionField(::core::marker::PhantomData) + } + #[inline] + pub unsafe fn as_ref(&self) -> &T { + ::core::mem::transmute(self) + } + #[inline] + pub unsafe fn as_mut(&mut self) -> &mut T { + ::core::mem::transmute(self) + } +} +impl ::core::default::Default for __BindgenUnionField { + #[inline] + fn default() -> Self { + Self::new() + } +} +impl ::core::clone::Clone for __BindgenUnionField { + #[inline] + fn clone(&self) -> Self { + *self + } +} +impl ::core::marker::Copy for __BindgenUnionField {} +impl ::core::fmt::Debug for __BindgenUnionField { + fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + fmt.write_str("__BindgenUnionField") + } +} +impl ::core::hash::Hash for __BindgenUnionField { + fn hash(&self, _state: &mut H) {} +} +impl ::core::cmp::PartialEq for __BindgenUnionField { + fn eq(&self, _other: &__BindgenUnionField) -> bool { + true + } +} +impl ::core::cmp::Eq for __BindgenUnionField {} +pub const phy_interface_t_PHY_INTERFACE_MODE_NA: phy_interface_t = 0; +pub const phy_interface_t_PHY_INTERFACE_MODE_INTERNAL: phy_interface_t = 1; +pub const phy_interface_t_PHY_INTERFACE_MODE_MII: phy_interface_t = 2; +pub const phy_interface_t_PHY_INTERFACE_MODE_GMII: phy_interface_t = 3; +pub const phy_interface_t_PHY_INTERFACE_MODE_SGMII: phy_interface_t = 4; +pub const phy_interface_t_PHY_INTERFACE_MODE_TBI: phy_interface_t = 5; +pub const phy_interface_t_PHY_INTERFACE_MODE_REVMII: phy_interface_t = 6; +pub const phy_interface_t_PHY_INTERFACE_MODE_RMII: phy_interface_t = 7; +pub const phy_interface_t_PHY_INTERFACE_MODE_REVRMII: phy_interface_t = 8; +pub const phy_interface_t_PHY_INTERFACE_MODE_RGMII: phy_interface_t = 9; +pub const phy_interface_t_PHY_INTERFACE_MODE_RGMII_ID: phy_interface_t = 10; +pub const phy_interface_t_PHY_INTERFACE_MODE_RGMII_RXID: phy_interface_t = 11; +pub const phy_interface_t_PHY_INTERFACE_MODE_RGMII_TXID: phy_interface_t = 12; +pub const phy_interface_t_PHY_INTERFACE_MODE_RTBI: phy_interface_t = 13; +pub const phy_interface_t_PHY_INTERFACE_MODE_SMII: phy_interface_t = 14; +pub const phy_interface_t_PHY_INTERFACE_MODE_XGMII: phy_interface_t = 15; +pub const phy_interface_t_PHY_INTERFACE_MODE_XLGMII: phy_interface_t = 16; +pub const phy_interface_t_PHY_INTERFACE_MODE_MOCA: phy_interface_t = 17; +pub const phy_interface_t_PHY_INTERFACE_MODE_PSGMII: phy_interface_t = 18; +pub const phy_interface_t_PHY_INTERFACE_MODE_QSGMII: phy_interface_t = 19; +pub const phy_interface_t_PHY_INTERFACE_MODE_TRGMII: phy_interface_t = 20; +pub const phy_interface_t_PHY_INTERFACE_MODE_100BASEX: phy_interface_t = 21; +pub const phy_interface_t_PHY_INTERFACE_MODE_1000BASEX: phy_interface_t = 22; +pub const phy_interface_t_PHY_INTERFACE_MODE_2500BASEX: phy_interface_t = 23; +pub const phy_interface_t_PHY_INTERFACE_MODE_5GBASER: phy_interface_t = 24; +pub const phy_interface_t_PHY_INTERFACE_MODE_RXAUI: phy_interface_t = 25; +pub const phy_interface_t_PHY_INTERFACE_MODE_XAUI: phy_interface_t = 26; +pub const phy_interface_t_PHY_INTERFACE_MODE_10GBASER: phy_interface_t = 27; +pub const phy_interface_t_PHY_INTERFACE_MODE_25GBASER: phy_interface_t = 28; +pub const phy_interface_t_PHY_INTERFACE_MODE_USXGMII: phy_interface_t = 29; +pub const phy_interface_t_PHY_INTERFACE_MODE_10GKR: phy_interface_t = 30; +pub const phy_interface_t_PHY_INTERFACE_MODE_QUSGMII: phy_interface_t = 31; +pub const phy_interface_t_PHY_INTERFACE_MODE_1000BASEKX: phy_interface_t = 32; +pub const phy_interface_t_PHY_INTERFACE_MODE_10G_QXGMII: phy_interface_t = 33; +pub const phy_interface_t_PHY_INTERFACE_MODE_MAX: phy_interface_t = 34; +pub type phy_interface_t = ::core::ffi::c_uint; +pub const socket_state_SS_FREE: socket_state = 0; +pub const socket_state_SS_UNCONNECTED: socket_state = 1; +pub const socket_state_SS_CONNECTING: socket_state = 2; +pub const socket_state_SS_CONNECTED: socket_state = 3; +pub const socket_state_SS_DISCONNECTING: socket_state = 4; +pub type socket_state = ::core::ffi::c_uint; +pub const audit_state_AUDIT_STATE_DISABLED: audit_state = 0; +pub const audit_state_AUDIT_STATE_BUILD: audit_state = 1; +pub const audit_state_AUDIT_STATE_RECORD: audit_state = 2; +pub type audit_state = ::core::ffi::c_uint; +pub const blk_crypto_mode_num_BLK_ENCRYPTION_MODE_INVALID: blk_crypto_mode_num = 0; +pub const blk_crypto_mode_num_BLK_ENCRYPTION_MODE_AES_256_XTS: blk_crypto_mode_num = 1; +pub const blk_crypto_mode_num_BLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV: blk_crypto_mode_num = 2; +pub const blk_crypto_mode_num_BLK_ENCRYPTION_MODE_ADIANTUM: blk_crypto_mode_num = 3; +pub const blk_crypto_mode_num_BLK_ENCRYPTION_MODE_SM4_XTS: blk_crypto_mode_num = 4; +pub const blk_crypto_mode_num_BLK_ENCRYPTION_MODE_MAX: blk_crypto_mode_num = 5; +pub type blk_crypto_mode_num = ::core::ffi::c_uint; +pub const blk_eh_timer_return_BLK_EH_DONE: blk_eh_timer_return = 0; +pub const blk_eh_timer_return_BLK_EH_RESET_TIMER: blk_eh_timer_return = 1; +pub type blk_eh_timer_return = ::core::ffi::c_uint; +pub const blk_integrity_checksum_BLK_INTEGRITY_CSUM_NONE: blk_integrity_checksum = 0; +pub const blk_integrity_checksum_BLK_INTEGRITY_CSUM_IP: blk_integrity_checksum = 1; +pub const blk_integrity_checksum_BLK_INTEGRITY_CSUM_CRC: blk_integrity_checksum = 2; +pub const blk_integrity_checksum_BLK_INTEGRITY_CSUM_CRC64: blk_integrity_checksum = 3; +pub type blk_integrity_checksum = ::core::ffi::c_schar; +pub const blk_unique_id_BLK_UID_T10: blk_unique_id = 1; +pub const blk_unique_id_BLK_UID_EUI64: blk_unique_id = 2; +pub const blk_unique_id_BLK_UID_NAA: blk_unique_id = 3; +pub type blk_unique_id = ::core::ffi::c_uint; +pub const bpf_access_type_BPF_READ: bpf_access_type = 1; +pub const bpf_access_type_BPF_WRITE: bpf_access_type = 2; +pub type bpf_access_type = ::core::ffi::c_uint; +pub const bpf_arg_type_ARG_DONTCARE: bpf_arg_type = 0; +pub const bpf_arg_type_ARG_CONST_MAP_PTR: bpf_arg_type = 1; +pub const bpf_arg_type_ARG_PTR_TO_MAP_KEY: bpf_arg_type = 2; +pub const bpf_arg_type_ARG_PTR_TO_MAP_VALUE: bpf_arg_type = 3; +pub const bpf_arg_type_ARG_PTR_TO_MEM: bpf_arg_type = 4; +pub const bpf_arg_type_ARG_PTR_TO_ARENA: bpf_arg_type = 5; +pub const bpf_arg_type_ARG_CONST_SIZE: bpf_arg_type = 6; +pub const bpf_arg_type_ARG_CONST_SIZE_OR_ZERO: bpf_arg_type = 7; +pub const bpf_arg_type_ARG_PTR_TO_CTX: bpf_arg_type = 8; +pub const bpf_arg_type_ARG_ANYTHING: bpf_arg_type = 9; +pub const bpf_arg_type_ARG_PTR_TO_SPIN_LOCK: bpf_arg_type = 10; +pub const bpf_arg_type_ARG_PTR_TO_SOCK_COMMON: bpf_arg_type = 11; +pub const bpf_arg_type_ARG_PTR_TO_SOCKET: bpf_arg_type = 12; +pub const bpf_arg_type_ARG_PTR_TO_BTF_ID: bpf_arg_type = 13; +pub const bpf_arg_type_ARG_PTR_TO_RINGBUF_MEM: bpf_arg_type = 14; +pub const bpf_arg_type_ARG_CONST_ALLOC_SIZE_OR_ZERO: bpf_arg_type = 15; +pub const bpf_arg_type_ARG_PTR_TO_BTF_ID_SOCK_COMMON: bpf_arg_type = 16; +pub const bpf_arg_type_ARG_PTR_TO_PERCPU_BTF_ID: bpf_arg_type = 17; +pub const bpf_arg_type_ARG_PTR_TO_FUNC: bpf_arg_type = 18; +pub const bpf_arg_type_ARG_PTR_TO_STACK: bpf_arg_type = 19; +pub const bpf_arg_type_ARG_PTR_TO_CONST_STR: bpf_arg_type = 20; +pub const bpf_arg_type_ARG_PTR_TO_TIMER: bpf_arg_type = 21; +pub const bpf_arg_type_ARG_KPTR_XCHG_DEST: bpf_arg_type = 22; +pub const bpf_arg_type_ARG_PTR_TO_DYNPTR: bpf_arg_type = 23; +pub const bpf_arg_type___BPF_ARG_TYPE_MAX: bpf_arg_type = 24; +pub const bpf_arg_type_ARG_PTR_TO_MAP_VALUE_OR_NULL: bpf_arg_type = 259; +pub const bpf_arg_type_ARG_PTR_TO_MEM_OR_NULL: bpf_arg_type = 260; +pub const bpf_arg_type_ARG_PTR_TO_CTX_OR_NULL: bpf_arg_type = 264; +pub const bpf_arg_type_ARG_PTR_TO_SOCKET_OR_NULL: bpf_arg_type = 268; +pub const bpf_arg_type_ARG_PTR_TO_STACK_OR_NULL: bpf_arg_type = 275; +pub const bpf_arg_type_ARG_PTR_TO_BTF_ID_OR_NULL: bpf_arg_type = 269; +pub const bpf_arg_type_ARG_PTR_TO_UNINIT_MEM: bpf_arg_type = 67141636; +pub const bpf_arg_type_ARG_PTR_TO_FIXED_SIZE_MEM: bpf_arg_type = 262148; +pub const bpf_arg_type___BPF_ARG_TYPE_LIMIT: bpf_arg_type = 134217727; +pub type bpf_arg_type = ::core::ffi::c_uint; +pub const bpf_attach_type_BPF_CGROUP_INET_INGRESS: bpf_attach_type = 0; +pub const bpf_attach_type_BPF_CGROUP_INET_EGRESS: bpf_attach_type = 1; +pub const bpf_attach_type_BPF_CGROUP_INET_SOCK_CREATE: bpf_attach_type = 2; +pub const bpf_attach_type_BPF_CGROUP_SOCK_OPS: bpf_attach_type = 3; +pub const bpf_attach_type_BPF_SK_SKB_STREAM_PARSER: bpf_attach_type = 4; +pub const bpf_attach_type_BPF_SK_SKB_STREAM_VERDICT: bpf_attach_type = 5; +pub const bpf_attach_type_BPF_CGROUP_DEVICE: bpf_attach_type = 6; +pub const bpf_attach_type_BPF_SK_MSG_VERDICT: bpf_attach_type = 7; +pub const bpf_attach_type_BPF_CGROUP_INET4_BIND: bpf_attach_type = 8; +pub const bpf_attach_type_BPF_CGROUP_INET6_BIND: bpf_attach_type = 9; +pub const bpf_attach_type_BPF_CGROUP_INET4_CONNECT: bpf_attach_type = 10; +pub const bpf_attach_type_BPF_CGROUP_INET6_CONNECT: bpf_attach_type = 11; +pub const bpf_attach_type_BPF_CGROUP_INET4_POST_BIND: bpf_attach_type = 12; +pub const bpf_attach_type_BPF_CGROUP_INET6_POST_BIND: bpf_attach_type = 13; +pub const bpf_attach_type_BPF_CGROUP_UDP4_SENDMSG: bpf_attach_type = 14; +pub const bpf_attach_type_BPF_CGROUP_UDP6_SENDMSG: bpf_attach_type = 15; +pub const bpf_attach_type_BPF_LIRC_MODE2: bpf_attach_type = 16; +pub const bpf_attach_type_BPF_FLOW_DISSECTOR: bpf_attach_type = 17; +pub const bpf_attach_type_BPF_CGROUP_SYSCTL: bpf_attach_type = 18; +pub const bpf_attach_type_BPF_CGROUP_UDP4_RECVMSG: bpf_attach_type = 19; +pub const bpf_attach_type_BPF_CGROUP_UDP6_RECVMSG: bpf_attach_type = 20; +pub const bpf_attach_type_BPF_CGROUP_GETSOCKOPT: bpf_attach_type = 21; +pub const bpf_attach_type_BPF_CGROUP_SETSOCKOPT: bpf_attach_type = 22; +pub const bpf_attach_type_BPF_TRACE_RAW_TP: bpf_attach_type = 23; +pub const bpf_attach_type_BPF_TRACE_FENTRY: bpf_attach_type = 24; +pub const bpf_attach_type_BPF_TRACE_FEXIT: bpf_attach_type = 25; +pub const bpf_attach_type_BPF_MODIFY_RETURN: bpf_attach_type = 26; +pub const bpf_attach_type_BPF_LSM_MAC: bpf_attach_type = 27; +pub const bpf_attach_type_BPF_TRACE_ITER: bpf_attach_type = 28; +pub const bpf_attach_type_BPF_CGROUP_INET4_GETPEERNAME: bpf_attach_type = 29; +pub const bpf_attach_type_BPF_CGROUP_INET6_GETPEERNAME: bpf_attach_type = 30; +pub const bpf_attach_type_BPF_CGROUP_INET4_GETSOCKNAME: bpf_attach_type = 31; +pub const bpf_attach_type_BPF_CGROUP_INET6_GETSOCKNAME: bpf_attach_type = 32; +pub const bpf_attach_type_BPF_XDP_DEVMAP: bpf_attach_type = 33; +pub const bpf_attach_type_BPF_CGROUP_INET_SOCK_RELEASE: bpf_attach_type = 34; +pub const bpf_attach_type_BPF_XDP_CPUMAP: bpf_attach_type = 35; +pub const bpf_attach_type_BPF_SK_LOOKUP: bpf_attach_type = 36; +pub const bpf_attach_type_BPF_XDP: bpf_attach_type = 37; +pub const bpf_attach_type_BPF_SK_SKB_VERDICT: bpf_attach_type = 38; +pub const bpf_attach_type_BPF_SK_REUSEPORT_SELECT: bpf_attach_type = 39; +pub const bpf_attach_type_BPF_SK_REUSEPORT_SELECT_OR_MIGRATE: bpf_attach_type = 40; +pub const bpf_attach_type_BPF_PERF_EVENT: bpf_attach_type = 41; +pub const bpf_attach_type_BPF_TRACE_KPROBE_MULTI: bpf_attach_type = 42; +pub const bpf_attach_type_BPF_LSM_CGROUP: bpf_attach_type = 43; +pub const bpf_attach_type_BPF_STRUCT_OPS: bpf_attach_type = 44; +pub const bpf_attach_type_BPF_NETFILTER: bpf_attach_type = 45; +pub const bpf_attach_type_BPF_TCX_INGRESS: bpf_attach_type = 46; +pub const bpf_attach_type_BPF_TCX_EGRESS: bpf_attach_type = 47; +pub const bpf_attach_type_BPF_TRACE_UPROBE_MULTI: bpf_attach_type = 48; +pub const bpf_attach_type_BPF_CGROUP_UNIX_CONNECT: bpf_attach_type = 49; +pub const bpf_attach_type_BPF_CGROUP_UNIX_SENDMSG: bpf_attach_type = 50; +pub const bpf_attach_type_BPF_CGROUP_UNIX_RECVMSG: bpf_attach_type = 51; +pub const bpf_attach_type_BPF_CGROUP_UNIX_GETPEERNAME: bpf_attach_type = 52; +pub const bpf_attach_type_BPF_CGROUP_UNIX_GETSOCKNAME: bpf_attach_type = 53; +pub const bpf_attach_type_BPF_NETKIT_PRIMARY: bpf_attach_type = 54; +pub const bpf_attach_type_BPF_NETKIT_PEER: bpf_attach_type = 55; +pub const bpf_attach_type_BPF_TRACE_KPROBE_SESSION: bpf_attach_type = 56; +pub const bpf_attach_type___MAX_BPF_ATTACH_TYPE: bpf_attach_type = 57; +pub type bpf_attach_type = ::core::ffi::c_uint; +pub const bpf_cgroup_iter_order_BPF_CGROUP_ITER_ORDER_UNSPEC: bpf_cgroup_iter_order = 0; +pub const bpf_cgroup_iter_order_BPF_CGROUP_ITER_SELF_ONLY: bpf_cgroup_iter_order = 1; +pub const bpf_cgroup_iter_order_BPF_CGROUP_ITER_DESCENDANTS_PRE: bpf_cgroup_iter_order = 2; +pub const bpf_cgroup_iter_order_BPF_CGROUP_ITER_DESCENDANTS_POST: bpf_cgroup_iter_order = 3; +pub const bpf_cgroup_iter_order_BPF_CGROUP_ITER_ANCESTORS_UP: bpf_cgroup_iter_order = 4; +pub type bpf_cgroup_iter_order = ::core::ffi::c_uint; +pub const bpf_dynptr_type_BPF_DYNPTR_TYPE_INVALID: bpf_dynptr_type = 0; +pub const bpf_dynptr_type_BPF_DYNPTR_TYPE_LOCAL: bpf_dynptr_type = 1; +pub const bpf_dynptr_type_BPF_DYNPTR_TYPE_RINGBUF: bpf_dynptr_type = 2; +pub const bpf_dynptr_type_BPF_DYNPTR_TYPE_SKB: bpf_dynptr_type = 3; +pub const bpf_dynptr_type_BPF_DYNPTR_TYPE_XDP: bpf_dynptr_type = 4; +pub type bpf_dynptr_type = ::core::ffi::c_uint; +pub const bpf_func_id_BPF_FUNC_unspec: bpf_func_id = 0; +pub const bpf_func_id_BPF_FUNC_map_lookup_elem: bpf_func_id = 1; +pub const bpf_func_id_BPF_FUNC_map_update_elem: bpf_func_id = 2; +pub const bpf_func_id_BPF_FUNC_map_delete_elem: bpf_func_id = 3; +pub const bpf_func_id_BPF_FUNC_probe_read: bpf_func_id = 4; +pub const bpf_func_id_BPF_FUNC_ktime_get_ns: bpf_func_id = 5; +pub const bpf_func_id_BPF_FUNC_trace_printk: bpf_func_id = 6; +pub const bpf_func_id_BPF_FUNC_get_prandom_u32: bpf_func_id = 7; +pub const bpf_func_id_BPF_FUNC_get_smp_processor_id: bpf_func_id = 8; +pub const bpf_func_id_BPF_FUNC_skb_store_bytes: bpf_func_id = 9; +pub const bpf_func_id_BPF_FUNC_l3_csum_replace: bpf_func_id = 10; +pub const bpf_func_id_BPF_FUNC_l4_csum_replace: bpf_func_id = 11; +pub const bpf_func_id_BPF_FUNC_tail_call: bpf_func_id = 12; +pub const bpf_func_id_BPF_FUNC_clone_redirect: bpf_func_id = 13; +pub const bpf_func_id_BPF_FUNC_get_current_pid_tgid: bpf_func_id = 14; +pub const bpf_func_id_BPF_FUNC_get_current_uid_gid: bpf_func_id = 15; +pub const bpf_func_id_BPF_FUNC_get_current_comm: bpf_func_id = 16; +pub const bpf_func_id_BPF_FUNC_get_cgroup_classid: bpf_func_id = 17; +pub const bpf_func_id_BPF_FUNC_skb_vlan_push: bpf_func_id = 18; +pub const bpf_func_id_BPF_FUNC_skb_vlan_pop: bpf_func_id = 19; +pub const bpf_func_id_BPF_FUNC_skb_get_tunnel_key: bpf_func_id = 20; +pub const bpf_func_id_BPF_FUNC_skb_set_tunnel_key: bpf_func_id = 21; +pub const bpf_func_id_BPF_FUNC_perf_event_read: bpf_func_id = 22; +pub const bpf_func_id_BPF_FUNC_redirect: bpf_func_id = 23; +pub const bpf_func_id_BPF_FUNC_get_route_realm: bpf_func_id = 24; +pub const bpf_func_id_BPF_FUNC_perf_event_output: bpf_func_id = 25; +pub const bpf_func_id_BPF_FUNC_skb_load_bytes: bpf_func_id = 26; +pub const bpf_func_id_BPF_FUNC_get_stackid: bpf_func_id = 27; +pub const bpf_func_id_BPF_FUNC_csum_diff: bpf_func_id = 28; +pub const bpf_func_id_BPF_FUNC_skb_get_tunnel_opt: bpf_func_id = 29; +pub const bpf_func_id_BPF_FUNC_skb_set_tunnel_opt: bpf_func_id = 30; +pub const bpf_func_id_BPF_FUNC_skb_change_proto: bpf_func_id = 31; +pub const bpf_func_id_BPF_FUNC_skb_change_type: bpf_func_id = 32; +pub const bpf_func_id_BPF_FUNC_skb_under_cgroup: bpf_func_id = 33; +pub const bpf_func_id_BPF_FUNC_get_hash_recalc: bpf_func_id = 34; +pub const bpf_func_id_BPF_FUNC_get_current_task: bpf_func_id = 35; +pub const bpf_func_id_BPF_FUNC_probe_write_user: bpf_func_id = 36; +pub const bpf_func_id_BPF_FUNC_current_task_under_cgroup: bpf_func_id = 37; +pub const bpf_func_id_BPF_FUNC_skb_change_tail: bpf_func_id = 38; +pub const bpf_func_id_BPF_FUNC_skb_pull_data: bpf_func_id = 39; +pub const bpf_func_id_BPF_FUNC_csum_update: bpf_func_id = 40; +pub const bpf_func_id_BPF_FUNC_set_hash_invalid: bpf_func_id = 41; +pub const bpf_func_id_BPF_FUNC_get_numa_node_id: bpf_func_id = 42; +pub const bpf_func_id_BPF_FUNC_skb_change_head: bpf_func_id = 43; +pub const bpf_func_id_BPF_FUNC_xdp_adjust_head: bpf_func_id = 44; +pub const bpf_func_id_BPF_FUNC_probe_read_str: bpf_func_id = 45; +pub const bpf_func_id_BPF_FUNC_get_socket_cookie: bpf_func_id = 46; +pub const bpf_func_id_BPF_FUNC_get_socket_uid: bpf_func_id = 47; +pub const bpf_func_id_BPF_FUNC_set_hash: bpf_func_id = 48; +pub const bpf_func_id_BPF_FUNC_setsockopt: bpf_func_id = 49; +pub const bpf_func_id_BPF_FUNC_skb_adjust_room: bpf_func_id = 50; +pub const bpf_func_id_BPF_FUNC_redirect_map: bpf_func_id = 51; +pub const bpf_func_id_BPF_FUNC_sk_redirect_map: bpf_func_id = 52; +pub const bpf_func_id_BPF_FUNC_sock_map_update: bpf_func_id = 53; +pub const bpf_func_id_BPF_FUNC_xdp_adjust_meta: bpf_func_id = 54; +pub const bpf_func_id_BPF_FUNC_perf_event_read_value: bpf_func_id = 55; +pub const bpf_func_id_BPF_FUNC_perf_prog_read_value: bpf_func_id = 56; +pub const bpf_func_id_BPF_FUNC_getsockopt: bpf_func_id = 57; +pub const bpf_func_id_BPF_FUNC_override_return: bpf_func_id = 58; +pub const bpf_func_id_BPF_FUNC_sock_ops_cb_flags_set: bpf_func_id = 59; +pub const bpf_func_id_BPF_FUNC_msg_redirect_map: bpf_func_id = 60; +pub const bpf_func_id_BPF_FUNC_msg_apply_bytes: bpf_func_id = 61; +pub const bpf_func_id_BPF_FUNC_msg_cork_bytes: bpf_func_id = 62; +pub const bpf_func_id_BPF_FUNC_msg_pull_data: bpf_func_id = 63; +pub const bpf_func_id_BPF_FUNC_bind: bpf_func_id = 64; +pub const bpf_func_id_BPF_FUNC_xdp_adjust_tail: bpf_func_id = 65; +pub const bpf_func_id_BPF_FUNC_skb_get_xfrm_state: bpf_func_id = 66; +pub const bpf_func_id_BPF_FUNC_get_stack: bpf_func_id = 67; +pub const bpf_func_id_BPF_FUNC_skb_load_bytes_relative: bpf_func_id = 68; +pub const bpf_func_id_BPF_FUNC_fib_lookup: bpf_func_id = 69; +pub const bpf_func_id_BPF_FUNC_sock_hash_update: bpf_func_id = 70; +pub const bpf_func_id_BPF_FUNC_msg_redirect_hash: bpf_func_id = 71; +pub const bpf_func_id_BPF_FUNC_sk_redirect_hash: bpf_func_id = 72; +pub const bpf_func_id_BPF_FUNC_lwt_push_encap: bpf_func_id = 73; +pub const bpf_func_id_BPF_FUNC_lwt_seg6_store_bytes: bpf_func_id = 74; +pub const bpf_func_id_BPF_FUNC_lwt_seg6_adjust_srh: bpf_func_id = 75; +pub const bpf_func_id_BPF_FUNC_lwt_seg6_action: bpf_func_id = 76; +pub const bpf_func_id_BPF_FUNC_rc_repeat: bpf_func_id = 77; +pub const bpf_func_id_BPF_FUNC_rc_keydown: bpf_func_id = 78; +pub const bpf_func_id_BPF_FUNC_skb_cgroup_id: bpf_func_id = 79; +pub const bpf_func_id_BPF_FUNC_get_current_cgroup_id: bpf_func_id = 80; +pub const bpf_func_id_BPF_FUNC_get_local_storage: bpf_func_id = 81; +pub const bpf_func_id_BPF_FUNC_sk_select_reuseport: bpf_func_id = 82; +pub const bpf_func_id_BPF_FUNC_skb_ancestor_cgroup_id: bpf_func_id = 83; +pub const bpf_func_id_BPF_FUNC_sk_lookup_tcp: bpf_func_id = 84; +pub const bpf_func_id_BPF_FUNC_sk_lookup_udp: bpf_func_id = 85; +pub const bpf_func_id_BPF_FUNC_sk_release: bpf_func_id = 86; +pub const bpf_func_id_BPF_FUNC_map_push_elem: bpf_func_id = 87; +pub const bpf_func_id_BPF_FUNC_map_pop_elem: bpf_func_id = 88; +pub const bpf_func_id_BPF_FUNC_map_peek_elem: bpf_func_id = 89; +pub const bpf_func_id_BPF_FUNC_msg_push_data: bpf_func_id = 90; +pub const bpf_func_id_BPF_FUNC_msg_pop_data: bpf_func_id = 91; +pub const bpf_func_id_BPF_FUNC_rc_pointer_rel: bpf_func_id = 92; +pub const bpf_func_id_BPF_FUNC_spin_lock: bpf_func_id = 93; +pub const bpf_func_id_BPF_FUNC_spin_unlock: bpf_func_id = 94; +pub const bpf_func_id_BPF_FUNC_sk_fullsock: bpf_func_id = 95; +pub const bpf_func_id_BPF_FUNC_tcp_sock: bpf_func_id = 96; +pub const bpf_func_id_BPF_FUNC_skb_ecn_set_ce: bpf_func_id = 97; +pub const bpf_func_id_BPF_FUNC_get_listener_sock: bpf_func_id = 98; +pub const bpf_func_id_BPF_FUNC_skc_lookup_tcp: bpf_func_id = 99; +pub const bpf_func_id_BPF_FUNC_tcp_check_syncookie: bpf_func_id = 100; +pub const bpf_func_id_BPF_FUNC_sysctl_get_name: bpf_func_id = 101; +pub const bpf_func_id_BPF_FUNC_sysctl_get_current_value: bpf_func_id = 102; +pub const bpf_func_id_BPF_FUNC_sysctl_get_new_value: bpf_func_id = 103; +pub const bpf_func_id_BPF_FUNC_sysctl_set_new_value: bpf_func_id = 104; +pub const bpf_func_id_BPF_FUNC_strtol: bpf_func_id = 105; +pub const bpf_func_id_BPF_FUNC_strtoul: bpf_func_id = 106; +pub const bpf_func_id_BPF_FUNC_sk_storage_get: bpf_func_id = 107; +pub const bpf_func_id_BPF_FUNC_sk_storage_delete: bpf_func_id = 108; +pub const bpf_func_id_BPF_FUNC_send_signal: bpf_func_id = 109; +pub const bpf_func_id_BPF_FUNC_tcp_gen_syncookie: bpf_func_id = 110; +pub const bpf_func_id_BPF_FUNC_skb_output: bpf_func_id = 111; +pub const bpf_func_id_BPF_FUNC_probe_read_user: bpf_func_id = 112; +pub const bpf_func_id_BPF_FUNC_probe_read_kernel: bpf_func_id = 113; +pub const bpf_func_id_BPF_FUNC_probe_read_user_str: bpf_func_id = 114; +pub const bpf_func_id_BPF_FUNC_probe_read_kernel_str: bpf_func_id = 115; +pub const bpf_func_id_BPF_FUNC_tcp_send_ack: bpf_func_id = 116; +pub const bpf_func_id_BPF_FUNC_send_signal_thread: bpf_func_id = 117; +pub const bpf_func_id_BPF_FUNC_jiffies64: bpf_func_id = 118; +pub const bpf_func_id_BPF_FUNC_read_branch_records: bpf_func_id = 119; +pub const bpf_func_id_BPF_FUNC_get_ns_current_pid_tgid: bpf_func_id = 120; +pub const bpf_func_id_BPF_FUNC_xdp_output: bpf_func_id = 121; +pub const bpf_func_id_BPF_FUNC_get_netns_cookie: bpf_func_id = 122; +pub const bpf_func_id_BPF_FUNC_get_current_ancestor_cgroup_id: bpf_func_id = 123; +pub const bpf_func_id_BPF_FUNC_sk_assign: bpf_func_id = 124; +pub const bpf_func_id_BPF_FUNC_ktime_get_boot_ns: bpf_func_id = 125; +pub const bpf_func_id_BPF_FUNC_seq_printf: bpf_func_id = 126; +pub const bpf_func_id_BPF_FUNC_seq_write: bpf_func_id = 127; +pub const bpf_func_id_BPF_FUNC_sk_cgroup_id: bpf_func_id = 128; +pub const bpf_func_id_BPF_FUNC_sk_ancestor_cgroup_id: bpf_func_id = 129; +pub const bpf_func_id_BPF_FUNC_ringbuf_output: bpf_func_id = 130; +pub const bpf_func_id_BPF_FUNC_ringbuf_reserve: bpf_func_id = 131; +pub const bpf_func_id_BPF_FUNC_ringbuf_submit: bpf_func_id = 132; +pub const bpf_func_id_BPF_FUNC_ringbuf_discard: bpf_func_id = 133; +pub const bpf_func_id_BPF_FUNC_ringbuf_query: bpf_func_id = 134; +pub const bpf_func_id_BPF_FUNC_csum_level: bpf_func_id = 135; +pub const bpf_func_id_BPF_FUNC_skc_to_tcp6_sock: bpf_func_id = 136; +pub const bpf_func_id_BPF_FUNC_skc_to_tcp_sock: bpf_func_id = 137; +pub const bpf_func_id_BPF_FUNC_skc_to_tcp_timewait_sock: bpf_func_id = 138; +pub const bpf_func_id_BPF_FUNC_skc_to_tcp_request_sock: bpf_func_id = 139; +pub const bpf_func_id_BPF_FUNC_skc_to_udp6_sock: bpf_func_id = 140; +pub const bpf_func_id_BPF_FUNC_get_task_stack: bpf_func_id = 141; +pub const bpf_func_id_BPF_FUNC_load_hdr_opt: bpf_func_id = 142; +pub const bpf_func_id_BPF_FUNC_store_hdr_opt: bpf_func_id = 143; +pub const bpf_func_id_BPF_FUNC_reserve_hdr_opt: bpf_func_id = 144; +pub const bpf_func_id_BPF_FUNC_inode_storage_get: bpf_func_id = 145; +pub const bpf_func_id_BPF_FUNC_inode_storage_delete: bpf_func_id = 146; +pub const bpf_func_id_BPF_FUNC_d_path: bpf_func_id = 147; +pub const bpf_func_id_BPF_FUNC_copy_from_user: bpf_func_id = 148; +pub const bpf_func_id_BPF_FUNC_snprintf_btf: bpf_func_id = 149; +pub const bpf_func_id_BPF_FUNC_seq_printf_btf: bpf_func_id = 150; +pub const bpf_func_id_BPF_FUNC_skb_cgroup_classid: bpf_func_id = 151; +pub const bpf_func_id_BPF_FUNC_redirect_neigh: bpf_func_id = 152; +pub const bpf_func_id_BPF_FUNC_per_cpu_ptr: bpf_func_id = 153; +pub const bpf_func_id_BPF_FUNC_this_cpu_ptr: bpf_func_id = 154; +pub const bpf_func_id_BPF_FUNC_redirect_peer: bpf_func_id = 155; +pub const bpf_func_id_BPF_FUNC_task_storage_get: bpf_func_id = 156; +pub const bpf_func_id_BPF_FUNC_task_storage_delete: bpf_func_id = 157; +pub const bpf_func_id_BPF_FUNC_get_current_task_btf: bpf_func_id = 158; +pub const bpf_func_id_BPF_FUNC_bprm_opts_set: bpf_func_id = 159; +pub const bpf_func_id_BPF_FUNC_ktime_get_coarse_ns: bpf_func_id = 160; +pub const bpf_func_id_BPF_FUNC_ima_inode_hash: bpf_func_id = 161; +pub const bpf_func_id_BPF_FUNC_sock_from_file: bpf_func_id = 162; +pub const bpf_func_id_BPF_FUNC_check_mtu: bpf_func_id = 163; +pub const bpf_func_id_BPF_FUNC_for_each_map_elem: bpf_func_id = 164; +pub const bpf_func_id_BPF_FUNC_snprintf: bpf_func_id = 165; +pub const bpf_func_id_BPF_FUNC_sys_bpf: bpf_func_id = 166; +pub const bpf_func_id_BPF_FUNC_btf_find_by_name_kind: bpf_func_id = 167; +pub const bpf_func_id_BPF_FUNC_sys_close: bpf_func_id = 168; +pub const bpf_func_id_BPF_FUNC_timer_init: bpf_func_id = 169; +pub const bpf_func_id_BPF_FUNC_timer_set_callback: bpf_func_id = 170; +pub const bpf_func_id_BPF_FUNC_timer_start: bpf_func_id = 171; +pub const bpf_func_id_BPF_FUNC_timer_cancel: bpf_func_id = 172; +pub const bpf_func_id_BPF_FUNC_get_func_ip: bpf_func_id = 173; +pub const bpf_func_id_BPF_FUNC_get_attach_cookie: bpf_func_id = 174; +pub const bpf_func_id_BPF_FUNC_task_pt_regs: bpf_func_id = 175; +pub const bpf_func_id_BPF_FUNC_get_branch_snapshot: bpf_func_id = 176; +pub const bpf_func_id_BPF_FUNC_trace_vprintk: bpf_func_id = 177; +pub const bpf_func_id_BPF_FUNC_skc_to_unix_sock: bpf_func_id = 178; +pub const bpf_func_id_BPF_FUNC_kallsyms_lookup_name: bpf_func_id = 179; +pub const bpf_func_id_BPF_FUNC_find_vma: bpf_func_id = 180; +pub const bpf_func_id_BPF_FUNC_loop: bpf_func_id = 181; +pub const bpf_func_id_BPF_FUNC_strncmp: bpf_func_id = 182; +pub const bpf_func_id_BPF_FUNC_get_func_arg: bpf_func_id = 183; +pub const bpf_func_id_BPF_FUNC_get_func_ret: bpf_func_id = 184; +pub const bpf_func_id_BPF_FUNC_get_func_arg_cnt: bpf_func_id = 185; +pub const bpf_func_id_BPF_FUNC_get_retval: bpf_func_id = 186; +pub const bpf_func_id_BPF_FUNC_set_retval: bpf_func_id = 187; +pub const bpf_func_id_BPF_FUNC_xdp_get_buff_len: bpf_func_id = 188; +pub const bpf_func_id_BPF_FUNC_xdp_load_bytes: bpf_func_id = 189; +pub const bpf_func_id_BPF_FUNC_xdp_store_bytes: bpf_func_id = 190; +pub const bpf_func_id_BPF_FUNC_copy_from_user_task: bpf_func_id = 191; +pub const bpf_func_id_BPF_FUNC_skb_set_tstamp: bpf_func_id = 192; +pub const bpf_func_id_BPF_FUNC_ima_file_hash: bpf_func_id = 193; +pub const bpf_func_id_BPF_FUNC_kptr_xchg: bpf_func_id = 194; +pub const bpf_func_id_BPF_FUNC_map_lookup_percpu_elem: bpf_func_id = 195; +pub const bpf_func_id_BPF_FUNC_skc_to_mptcp_sock: bpf_func_id = 196; +pub const bpf_func_id_BPF_FUNC_dynptr_from_mem: bpf_func_id = 197; +pub const bpf_func_id_BPF_FUNC_ringbuf_reserve_dynptr: bpf_func_id = 198; +pub const bpf_func_id_BPF_FUNC_ringbuf_submit_dynptr: bpf_func_id = 199; +pub const bpf_func_id_BPF_FUNC_ringbuf_discard_dynptr: bpf_func_id = 200; +pub const bpf_func_id_BPF_FUNC_dynptr_read: bpf_func_id = 201; +pub const bpf_func_id_BPF_FUNC_dynptr_write: bpf_func_id = 202; +pub const bpf_func_id_BPF_FUNC_dynptr_data: bpf_func_id = 203; +pub const bpf_func_id_BPF_FUNC_tcp_raw_gen_syncookie_ipv4: bpf_func_id = 204; +pub const bpf_func_id_BPF_FUNC_tcp_raw_gen_syncookie_ipv6: bpf_func_id = 205; +pub const bpf_func_id_BPF_FUNC_tcp_raw_check_syncookie_ipv4: bpf_func_id = 206; +pub const bpf_func_id_BPF_FUNC_tcp_raw_check_syncookie_ipv6: bpf_func_id = 207; +pub const bpf_func_id_BPF_FUNC_ktime_get_tai_ns: bpf_func_id = 208; +pub const bpf_func_id_BPF_FUNC_user_ringbuf_drain: bpf_func_id = 209; +pub const bpf_func_id_BPF_FUNC_cgrp_storage_get: bpf_func_id = 210; +pub const bpf_func_id_BPF_FUNC_cgrp_storage_delete: bpf_func_id = 211; +pub const bpf_func_id___BPF_FUNC_MAX_ID: bpf_func_id = 212; +pub type bpf_func_id = ::core::ffi::c_uint; +pub const bpf_iter_state_BPF_ITER_STATE_INVALID: bpf_iter_state = 0; +pub const bpf_iter_state_BPF_ITER_STATE_ACTIVE: bpf_iter_state = 1; +pub const bpf_iter_state_BPF_ITER_STATE_DRAINED: bpf_iter_state = 2; +pub type bpf_iter_state = ::core::ffi::c_uint; +pub const bpf_iter_task_type_BPF_TASK_ITER_ALL: bpf_iter_task_type = 0; +pub const bpf_iter_task_type_BPF_TASK_ITER_TID: bpf_iter_task_type = 1; +pub const bpf_iter_task_type_BPF_TASK_ITER_TGID: bpf_iter_task_type = 2; +pub type bpf_iter_task_type = ::core::ffi::c_uint; +pub const bpf_link_type_BPF_LINK_TYPE_UNSPEC: bpf_link_type = 0; +pub const bpf_link_type_BPF_LINK_TYPE_RAW_TRACEPOINT: bpf_link_type = 1; +pub const bpf_link_type_BPF_LINK_TYPE_TRACING: bpf_link_type = 2; +pub const bpf_link_type_BPF_LINK_TYPE_CGROUP: bpf_link_type = 3; +pub const bpf_link_type_BPF_LINK_TYPE_ITER: bpf_link_type = 4; +pub const bpf_link_type_BPF_LINK_TYPE_NETNS: bpf_link_type = 5; +pub const bpf_link_type_BPF_LINK_TYPE_XDP: bpf_link_type = 6; +pub const bpf_link_type_BPF_LINK_TYPE_PERF_EVENT: bpf_link_type = 7; +pub const bpf_link_type_BPF_LINK_TYPE_KPROBE_MULTI: bpf_link_type = 8; +pub const bpf_link_type_BPF_LINK_TYPE_STRUCT_OPS: bpf_link_type = 9; +pub const bpf_link_type_BPF_LINK_TYPE_NETFILTER: bpf_link_type = 10; +pub const bpf_link_type_BPF_LINK_TYPE_TCX: bpf_link_type = 11; +pub const bpf_link_type_BPF_LINK_TYPE_UPROBE_MULTI: bpf_link_type = 12; +pub const bpf_link_type_BPF_LINK_TYPE_NETKIT: bpf_link_type = 13; +pub const bpf_link_type_BPF_LINK_TYPE_SOCKMAP: bpf_link_type = 14; +pub const bpf_link_type___MAX_BPF_LINK_TYPE: bpf_link_type = 15; +pub type bpf_link_type = ::core::ffi::c_uint; +pub const bpf_map_type_BPF_MAP_TYPE_UNSPEC: bpf_map_type = 0; +pub const bpf_map_type_BPF_MAP_TYPE_HASH: bpf_map_type = 1; +pub const bpf_map_type_BPF_MAP_TYPE_ARRAY: bpf_map_type = 2; +pub const bpf_map_type_BPF_MAP_TYPE_PROG_ARRAY: bpf_map_type = 3; +pub const bpf_map_type_BPF_MAP_TYPE_PERF_EVENT_ARRAY: bpf_map_type = 4; +pub const bpf_map_type_BPF_MAP_TYPE_PERCPU_HASH: bpf_map_type = 5; +pub const bpf_map_type_BPF_MAP_TYPE_PERCPU_ARRAY: bpf_map_type = 6; +pub const bpf_map_type_BPF_MAP_TYPE_STACK_TRACE: bpf_map_type = 7; +pub const bpf_map_type_BPF_MAP_TYPE_CGROUP_ARRAY: bpf_map_type = 8; +pub const bpf_map_type_BPF_MAP_TYPE_LRU_HASH: bpf_map_type = 9; +pub const bpf_map_type_BPF_MAP_TYPE_LRU_PERCPU_HASH: bpf_map_type = 10; +pub const bpf_map_type_BPF_MAP_TYPE_LPM_TRIE: bpf_map_type = 11; +pub const bpf_map_type_BPF_MAP_TYPE_ARRAY_OF_MAPS: bpf_map_type = 12; +pub const bpf_map_type_BPF_MAP_TYPE_HASH_OF_MAPS: bpf_map_type = 13; +pub const bpf_map_type_BPF_MAP_TYPE_DEVMAP: bpf_map_type = 14; +pub const bpf_map_type_BPF_MAP_TYPE_SOCKMAP: bpf_map_type = 15; +pub const bpf_map_type_BPF_MAP_TYPE_CPUMAP: bpf_map_type = 16; +pub const bpf_map_type_BPF_MAP_TYPE_XSKMAP: bpf_map_type = 17; +pub const bpf_map_type_BPF_MAP_TYPE_SOCKHASH: bpf_map_type = 18; +pub const bpf_map_type_BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: bpf_map_type = 19; +pub const bpf_map_type_BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type = 19; +pub const bpf_map_type_BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: bpf_map_type = 20; +pub const bpf_map_type_BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED: bpf_map_type = 21; +pub const bpf_map_type_BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: bpf_map_type = 21; +pub const bpf_map_type_BPF_MAP_TYPE_QUEUE: bpf_map_type = 22; +pub const bpf_map_type_BPF_MAP_TYPE_STACK: bpf_map_type = 23; +pub const bpf_map_type_BPF_MAP_TYPE_SK_STORAGE: bpf_map_type = 24; +pub const bpf_map_type_BPF_MAP_TYPE_DEVMAP_HASH: bpf_map_type = 25; +pub const bpf_map_type_BPF_MAP_TYPE_STRUCT_OPS: bpf_map_type = 26; +pub const bpf_map_type_BPF_MAP_TYPE_RINGBUF: bpf_map_type = 27; +pub const bpf_map_type_BPF_MAP_TYPE_INODE_STORAGE: bpf_map_type = 28; +pub const bpf_map_type_BPF_MAP_TYPE_TASK_STORAGE: bpf_map_type = 29; +pub const bpf_map_type_BPF_MAP_TYPE_BLOOM_FILTER: bpf_map_type = 30; +pub const bpf_map_type_BPF_MAP_TYPE_USER_RINGBUF: bpf_map_type = 31; +pub const bpf_map_type_BPF_MAP_TYPE_CGRP_STORAGE: bpf_map_type = 32; +pub const bpf_map_type_BPF_MAP_TYPE_ARENA: bpf_map_type = 33; +pub const bpf_map_type___MAX_BPF_MAP_TYPE: bpf_map_type = 34; +pub type bpf_map_type = ::core::ffi::c_uint; +pub const bpf_netdev_command_XDP_SETUP_PROG: bpf_netdev_command = 0; +pub const bpf_netdev_command_XDP_SETUP_PROG_HW: bpf_netdev_command = 1; +pub const bpf_netdev_command_BPF_OFFLOAD_MAP_ALLOC: bpf_netdev_command = 2; +pub const bpf_netdev_command_BPF_OFFLOAD_MAP_FREE: bpf_netdev_command = 3; +pub const bpf_netdev_command_XDP_SETUP_XSK_POOL: bpf_netdev_command = 4; +pub type bpf_netdev_command = ::core::ffi::c_uint; +pub const bpf_prog_type_BPF_PROG_TYPE_UNSPEC: bpf_prog_type = 0; +pub const bpf_prog_type_BPF_PROG_TYPE_SOCKET_FILTER: bpf_prog_type = 1; +pub const bpf_prog_type_BPF_PROG_TYPE_KPROBE: bpf_prog_type = 2; +pub const bpf_prog_type_BPF_PROG_TYPE_SCHED_CLS: bpf_prog_type = 3; +pub const bpf_prog_type_BPF_PROG_TYPE_SCHED_ACT: bpf_prog_type = 4; +pub const bpf_prog_type_BPF_PROG_TYPE_TRACEPOINT: bpf_prog_type = 5; +pub const bpf_prog_type_BPF_PROG_TYPE_XDP: bpf_prog_type = 6; +pub const bpf_prog_type_BPF_PROG_TYPE_PERF_EVENT: bpf_prog_type = 7; +pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SKB: bpf_prog_type = 8; +pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SOCK: bpf_prog_type = 9; +pub const bpf_prog_type_BPF_PROG_TYPE_LWT_IN: bpf_prog_type = 10; +pub const bpf_prog_type_BPF_PROG_TYPE_LWT_OUT: bpf_prog_type = 11; +pub const bpf_prog_type_BPF_PROG_TYPE_LWT_XMIT: bpf_prog_type = 12; +pub const bpf_prog_type_BPF_PROG_TYPE_SOCK_OPS: bpf_prog_type = 13; +pub const bpf_prog_type_BPF_PROG_TYPE_SK_SKB: bpf_prog_type = 14; +pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_DEVICE: bpf_prog_type = 15; +pub const bpf_prog_type_BPF_PROG_TYPE_SK_MSG: bpf_prog_type = 16; +pub const bpf_prog_type_BPF_PROG_TYPE_RAW_TRACEPOINT: bpf_prog_type = 17; +pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SOCK_ADDR: bpf_prog_type = 18; +pub const bpf_prog_type_BPF_PROG_TYPE_LWT_SEG6LOCAL: bpf_prog_type = 19; +pub const bpf_prog_type_BPF_PROG_TYPE_LIRC_MODE2: bpf_prog_type = 20; +pub const bpf_prog_type_BPF_PROG_TYPE_SK_REUSEPORT: bpf_prog_type = 21; +pub const bpf_prog_type_BPF_PROG_TYPE_FLOW_DISSECTOR: bpf_prog_type = 22; +pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SYSCTL: bpf_prog_type = 23; +pub const bpf_prog_type_BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: bpf_prog_type = 24; +pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SOCKOPT: bpf_prog_type = 25; +pub const bpf_prog_type_BPF_PROG_TYPE_TRACING: bpf_prog_type = 26; +pub const bpf_prog_type_BPF_PROG_TYPE_STRUCT_OPS: bpf_prog_type = 27; +pub const bpf_prog_type_BPF_PROG_TYPE_EXT: bpf_prog_type = 28; +pub const bpf_prog_type_BPF_PROG_TYPE_LSM: bpf_prog_type = 29; +pub const bpf_prog_type_BPF_PROG_TYPE_SK_LOOKUP: bpf_prog_type = 30; +pub const bpf_prog_type_BPF_PROG_TYPE_SYSCALL: bpf_prog_type = 31; +pub const bpf_prog_type_BPF_PROG_TYPE_NETFILTER: bpf_prog_type = 32; +pub const bpf_prog_type___MAX_BPF_PROG_TYPE: bpf_prog_type = 33; +pub type bpf_prog_type = ::core::ffi::c_uint; +pub const bpf_reg_liveness_REG_LIVE_NONE: bpf_reg_liveness = 0; +pub const bpf_reg_liveness_REG_LIVE_READ32: bpf_reg_liveness = 1; +pub const bpf_reg_liveness_REG_LIVE_READ64: bpf_reg_liveness = 2; +pub const bpf_reg_liveness_REG_LIVE_READ: bpf_reg_liveness = 3; +pub const bpf_reg_liveness_REG_LIVE_WRITTEN: bpf_reg_liveness = 4; +pub const bpf_reg_liveness_REG_LIVE_DONE: bpf_reg_liveness = 8; +pub type bpf_reg_liveness = ::core::ffi::c_uint; +pub const bpf_reg_type_NOT_INIT: bpf_reg_type = 0; +pub const bpf_reg_type_SCALAR_VALUE: bpf_reg_type = 1; +pub const bpf_reg_type_PTR_TO_CTX: bpf_reg_type = 2; +pub const bpf_reg_type_CONST_PTR_TO_MAP: bpf_reg_type = 3; +pub const bpf_reg_type_PTR_TO_MAP_VALUE: bpf_reg_type = 4; +pub const bpf_reg_type_PTR_TO_MAP_KEY: bpf_reg_type = 5; +pub const bpf_reg_type_PTR_TO_STACK: bpf_reg_type = 6; +pub const bpf_reg_type_PTR_TO_PACKET_META: bpf_reg_type = 7; +pub const bpf_reg_type_PTR_TO_PACKET: bpf_reg_type = 8; +pub const bpf_reg_type_PTR_TO_PACKET_END: bpf_reg_type = 9; +pub const bpf_reg_type_PTR_TO_FLOW_KEYS: bpf_reg_type = 10; +pub const bpf_reg_type_PTR_TO_SOCKET: bpf_reg_type = 11; +pub const bpf_reg_type_PTR_TO_SOCK_COMMON: bpf_reg_type = 12; +pub const bpf_reg_type_PTR_TO_TCP_SOCK: bpf_reg_type = 13; +pub const bpf_reg_type_PTR_TO_TP_BUFFER: bpf_reg_type = 14; +pub const bpf_reg_type_PTR_TO_XDP_SOCK: bpf_reg_type = 15; +pub const bpf_reg_type_PTR_TO_BTF_ID: bpf_reg_type = 16; +pub const bpf_reg_type_PTR_TO_MEM: bpf_reg_type = 17; +pub const bpf_reg_type_PTR_TO_ARENA: bpf_reg_type = 18; +pub const bpf_reg_type_PTR_TO_BUF: bpf_reg_type = 19; +pub const bpf_reg_type_PTR_TO_FUNC: bpf_reg_type = 20; +pub const bpf_reg_type_CONST_PTR_TO_DYNPTR: bpf_reg_type = 21; +pub const bpf_reg_type___BPF_REG_TYPE_MAX: bpf_reg_type = 22; +pub const bpf_reg_type_PTR_TO_MAP_VALUE_OR_NULL: bpf_reg_type = 260; +pub const bpf_reg_type_PTR_TO_SOCKET_OR_NULL: bpf_reg_type = 267; +pub const bpf_reg_type_PTR_TO_SOCK_COMMON_OR_NULL: bpf_reg_type = 268; +pub const bpf_reg_type_PTR_TO_TCP_SOCK_OR_NULL: bpf_reg_type = 269; +pub const bpf_reg_type_PTR_TO_BTF_ID_OR_NULL: bpf_reg_type = 272; +pub const bpf_reg_type___BPF_REG_TYPE_LIMIT: bpf_reg_type = 134217727; +pub type bpf_reg_type = ::core::ffi::c_uint; +pub const bpf_return_type_RET_INTEGER: bpf_return_type = 0; +pub const bpf_return_type_RET_VOID: bpf_return_type = 1; +pub const bpf_return_type_RET_PTR_TO_MAP_VALUE: bpf_return_type = 2; +pub const bpf_return_type_RET_PTR_TO_SOCKET: bpf_return_type = 3; +pub const bpf_return_type_RET_PTR_TO_TCP_SOCK: bpf_return_type = 4; +pub const bpf_return_type_RET_PTR_TO_SOCK_COMMON: bpf_return_type = 5; +pub const bpf_return_type_RET_PTR_TO_MEM: bpf_return_type = 6; +pub const bpf_return_type_RET_PTR_TO_MEM_OR_BTF_ID: bpf_return_type = 7; +pub const bpf_return_type_RET_PTR_TO_BTF_ID: bpf_return_type = 8; +pub const bpf_return_type___BPF_RET_TYPE_MAX: bpf_return_type = 9; +pub const bpf_return_type_RET_PTR_TO_MAP_VALUE_OR_NULL: bpf_return_type = 258; +pub const bpf_return_type_RET_PTR_TO_SOCKET_OR_NULL: bpf_return_type = 259; +pub const bpf_return_type_RET_PTR_TO_TCP_SOCK_OR_NULL: bpf_return_type = 260; +pub const bpf_return_type_RET_PTR_TO_SOCK_COMMON_OR_NULL: bpf_return_type = 261; +pub const bpf_return_type_RET_PTR_TO_RINGBUF_MEM_OR_NULL: bpf_return_type = 1286; +pub const bpf_return_type_RET_PTR_TO_DYNPTR_MEM_OR_NULL: bpf_return_type = 262; +pub const bpf_return_type_RET_PTR_TO_BTF_ID_OR_NULL: bpf_return_type = 264; +pub const bpf_return_type_RET_PTR_TO_BTF_ID_TRUSTED: bpf_return_type = 1048584; +pub const bpf_return_type___BPF_RET_TYPE_LIMIT: bpf_return_type = 134217727; +pub type bpf_return_type = ::core::ffi::c_uint; +pub const btf_field_type_BPF_SPIN_LOCK: btf_field_type = 1; +pub const btf_field_type_BPF_TIMER: btf_field_type = 2; +pub const btf_field_type_BPF_KPTR_UNREF: btf_field_type = 4; +pub const btf_field_type_BPF_KPTR_REF: btf_field_type = 8; +pub const btf_field_type_BPF_KPTR_PERCPU: btf_field_type = 16; +pub const btf_field_type_BPF_KPTR: btf_field_type = 28; +pub const btf_field_type_BPF_LIST_HEAD: btf_field_type = 32; +pub const btf_field_type_BPF_LIST_NODE: btf_field_type = 64; +pub const btf_field_type_BPF_RB_ROOT: btf_field_type = 128; +pub const btf_field_type_BPF_RB_NODE: btf_field_type = 256; +pub const btf_field_type_BPF_GRAPH_NODE: btf_field_type = 320; +pub const btf_field_type_BPF_GRAPH_ROOT: btf_field_type = 160; +pub const btf_field_type_BPF_REFCOUNT: btf_field_type = 512; +pub const btf_field_type_BPF_WORKQUEUE: btf_field_type = 1024; +pub type btf_field_type = ::core::ffi::c_uint; +pub const cfg80211_signal_type_CFG80211_SIGNAL_TYPE_NONE: cfg80211_signal_type = 0; +pub const cfg80211_signal_type_CFG80211_SIGNAL_TYPE_MBM: cfg80211_signal_type = 1; +pub const cfg80211_signal_type_CFG80211_SIGNAL_TYPE_UNSPEC: cfg80211_signal_type = 2; +pub type cfg80211_signal_type = ::core::ffi::c_uint; +pub const class_map_type_DD_CLASS_TYPE_DISJOINT_BITS: class_map_type = 0; +pub const class_map_type_DD_CLASS_TYPE_LEVEL_NUM: class_map_type = 1; +pub const class_map_type_DD_CLASS_TYPE_DISJOINT_NAMES: class_map_type = 2; +pub const class_map_type_DD_CLASS_TYPE_LEVEL_NAMES: class_map_type = 3; +pub type class_map_type = ::core::ffi::c_uint; +pub const d_real_type_D_REAL_DATA: d_real_type = 0; +pub const d_real_type_D_REAL_METADATA: d_real_type = 1; +pub type d_real_type = ::core::ffi::c_uint; +pub const dax_access_mode_DAX_ACCESS: dax_access_mode = 0; +pub const dax_access_mode_DAX_RECOVERY_WRITE: dax_access_mode = 1; +pub type dax_access_mode = ::core::ffi::c_uint; +pub const dev_dma_attr_DEV_DMA_NOT_SUPPORTED: dev_dma_attr = 0; +pub const dev_dma_attr_DEV_DMA_NON_COHERENT: dev_dma_attr = 1; +pub const dev_dma_attr_DEV_DMA_COHERENT: dev_dma_attr = 2; +pub type dev_dma_attr = ::core::ffi::c_uint; +pub const dev_pm_qos_req_type_DEV_PM_QOS_RESUME_LATENCY: dev_pm_qos_req_type = 1; +pub const dev_pm_qos_req_type_DEV_PM_QOS_LATENCY_TOLERANCE: dev_pm_qos_req_type = 2; +pub const dev_pm_qos_req_type_DEV_PM_QOS_MIN_FREQUENCY: dev_pm_qos_req_type = 3; +pub const dev_pm_qos_req_type_DEV_PM_QOS_MAX_FREQUENCY: dev_pm_qos_req_type = 4; +pub const dev_pm_qos_req_type_DEV_PM_QOS_FLAGS: dev_pm_qos_req_type = 5; +pub type dev_pm_qos_req_type = ::core::ffi::c_uint; +pub const device_link_state_DL_STATE_NONE: device_link_state = -1; +pub const device_link_state_DL_STATE_DORMANT: device_link_state = 0; +pub const device_link_state_DL_STATE_AVAILABLE: device_link_state = 1; +pub const device_link_state_DL_STATE_CONSUMER_PROBE: device_link_state = 2; +pub const device_link_state_DL_STATE_ACTIVE: device_link_state = 3; +pub const device_link_state_DL_STATE_SUPPLIER_UNBIND: device_link_state = 4; +pub type device_link_state = ::core::ffi::c_int; +pub const device_physical_location_horizontal_position_DEVICE_HORI_POS_LEFT: + device_physical_location_horizontal_position = 0; +pub const device_physical_location_horizontal_position_DEVICE_HORI_POS_CENTER: + device_physical_location_horizontal_position = 1; +pub const device_physical_location_horizontal_position_DEVICE_HORI_POS_RIGHT: + device_physical_location_horizontal_position = 2; +pub type device_physical_location_horizontal_position = ::core::ffi::c_uint; +pub const device_physical_location_panel_DEVICE_PANEL_TOP: device_physical_location_panel = 0; +pub const device_physical_location_panel_DEVICE_PANEL_BOTTOM: device_physical_location_panel = 1; +pub const device_physical_location_panel_DEVICE_PANEL_LEFT: device_physical_location_panel = 2; +pub const device_physical_location_panel_DEVICE_PANEL_RIGHT: device_physical_location_panel = 3; +pub const device_physical_location_panel_DEVICE_PANEL_FRONT: device_physical_location_panel = 4; +pub const device_physical_location_panel_DEVICE_PANEL_BACK: device_physical_location_panel = 5; +pub const device_physical_location_panel_DEVICE_PANEL_UNKNOWN: device_physical_location_panel = 6; +pub type device_physical_location_panel = ::core::ffi::c_uint; +pub const device_physical_location_vertical_position_DEVICE_VERT_POS_UPPER: + device_physical_location_vertical_position = 0; +pub const device_physical_location_vertical_position_DEVICE_VERT_POS_CENTER: + device_physical_location_vertical_position = 1; +pub const device_physical_location_vertical_position_DEVICE_VERT_POS_LOWER: + device_physical_location_vertical_position = 2; +pub type device_physical_location_vertical_position = ::core::ffi::c_uint; +pub const device_removable_DEVICE_REMOVABLE_NOT_SUPPORTED: device_removable = 0; +pub const device_removable_DEVICE_REMOVABLE_UNKNOWN: device_removable = 1; +pub const device_removable_DEVICE_FIXED: device_removable = 2; +pub const device_removable_DEVICE_REMOVABLE: device_removable = 3; +pub type device_removable = ::core::ffi::c_uint; +pub const devlink_dpipe_field_mapping_type_DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE: + devlink_dpipe_field_mapping_type = 0; +pub const devlink_dpipe_field_mapping_type_DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX: + devlink_dpipe_field_mapping_type = 1; +pub type devlink_dpipe_field_mapping_type = ::core::ffi::c_uint; +pub const devlink_eswitch_encap_mode_DEVLINK_ESWITCH_ENCAP_MODE_NONE: devlink_eswitch_encap_mode = + 0; +pub const devlink_eswitch_encap_mode_DEVLINK_ESWITCH_ENCAP_MODE_BASIC: devlink_eswitch_encap_mode = + 1; +pub type devlink_eswitch_encap_mode = ::core::ffi::c_uint; +pub const devlink_info_version_type_DEVLINK_INFO_VERSION_TYPE_NONE: devlink_info_version_type = 0; +pub const devlink_info_version_type_DEVLINK_INFO_VERSION_TYPE_COMPONENT: devlink_info_version_type = + 1; +pub type devlink_info_version_type = ::core::ffi::c_uint; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_UNSPEC: devlink_linecard_state = 0; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_UNPROVISIONED: devlink_linecard_state = 1; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_UNPROVISIONING: devlink_linecard_state = 2; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_PROVISIONING: devlink_linecard_state = 3; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_PROVISIONING_FAILED: + devlink_linecard_state = 4; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_PROVISIONED: devlink_linecard_state = 5; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_ACTIVE: devlink_linecard_state = 6; +pub const devlink_linecard_state___DEVLINK_LINECARD_STATE_MAX: devlink_linecard_state = 7; +pub const devlink_linecard_state_DEVLINK_LINECARD_STATE_MAX: devlink_linecard_state = 6; +pub type devlink_linecard_state = ::core::ffi::c_uint; +pub const devlink_param_cmode_DEVLINK_PARAM_CMODE_RUNTIME: devlink_param_cmode = 0; +pub const devlink_param_cmode_DEVLINK_PARAM_CMODE_DRIVERINIT: devlink_param_cmode = 1; +pub const devlink_param_cmode_DEVLINK_PARAM_CMODE_PERMANENT: devlink_param_cmode = 2; +pub const devlink_param_cmode___DEVLINK_PARAM_CMODE_MAX: devlink_param_cmode = 3; +pub const devlink_param_cmode_DEVLINK_PARAM_CMODE_MAX: devlink_param_cmode = 2; +pub type devlink_param_cmode = ::core::ffi::c_uint; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_PHYSICAL: devlink_port_flavour = 0; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_CPU: devlink_port_flavour = 1; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_DSA: devlink_port_flavour = 2; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_PCI_PF: devlink_port_flavour = 3; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_PCI_VF: devlink_port_flavour = 4; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_VIRTUAL: devlink_port_flavour = 5; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_UNUSED: devlink_port_flavour = 6; +pub const devlink_port_flavour_DEVLINK_PORT_FLAVOUR_PCI_SF: devlink_port_flavour = 7; +pub type devlink_port_flavour = ::core::ffi::c_uint; +pub const devlink_port_fn_opstate_DEVLINK_PORT_FN_OPSTATE_DETACHED: devlink_port_fn_opstate = 0; +pub const devlink_port_fn_opstate_DEVLINK_PORT_FN_OPSTATE_ATTACHED: devlink_port_fn_opstate = 1; +pub type devlink_port_fn_opstate = ::core::ffi::c_uint; +pub const devlink_port_fn_state_DEVLINK_PORT_FN_STATE_INACTIVE: devlink_port_fn_state = 0; +pub const devlink_port_fn_state_DEVLINK_PORT_FN_STATE_ACTIVE: devlink_port_fn_state = 1; +pub type devlink_port_fn_state = ::core::ffi::c_uint; +pub const devlink_port_type_DEVLINK_PORT_TYPE_NOTSET: devlink_port_type = 0; +pub const devlink_port_type_DEVLINK_PORT_TYPE_AUTO: devlink_port_type = 1; +pub const devlink_port_type_DEVLINK_PORT_TYPE_ETH: devlink_port_type = 2; +pub const devlink_port_type_DEVLINK_PORT_TYPE_IB: devlink_port_type = 3; +pub type devlink_port_type = ::core::ffi::c_uint; +pub const devlink_rate_type_DEVLINK_RATE_TYPE_LEAF: devlink_rate_type = 0; +pub const devlink_rate_type_DEVLINK_RATE_TYPE_NODE: devlink_rate_type = 1; +pub type devlink_rate_type = ::core::ffi::c_uint; +pub const devlink_reload_action_DEVLINK_RELOAD_ACTION_UNSPEC: devlink_reload_action = 0; +pub const devlink_reload_action_DEVLINK_RELOAD_ACTION_DRIVER_REINIT: devlink_reload_action = 1; +pub const devlink_reload_action_DEVLINK_RELOAD_ACTION_FW_ACTIVATE: devlink_reload_action = 2; +pub const devlink_reload_action___DEVLINK_RELOAD_ACTION_MAX: devlink_reload_action = 3; +pub const devlink_reload_action_DEVLINK_RELOAD_ACTION_MAX: devlink_reload_action = 2; +pub type devlink_reload_action = ::core::ffi::c_uint; +pub const devlink_reload_limit_DEVLINK_RELOAD_LIMIT_UNSPEC: devlink_reload_limit = 0; +pub const devlink_reload_limit_DEVLINK_RELOAD_LIMIT_NO_RESET: devlink_reload_limit = 1; +pub const devlink_reload_limit___DEVLINK_RELOAD_LIMIT_MAX: devlink_reload_limit = 2; +pub const devlink_reload_limit_DEVLINK_RELOAD_LIMIT_MAX: devlink_reload_limit = 1; +pub type devlink_reload_limit = ::core::ffi::c_uint; +pub const devlink_sb_pool_type_DEVLINK_SB_POOL_TYPE_INGRESS: devlink_sb_pool_type = 0; +pub const devlink_sb_pool_type_DEVLINK_SB_POOL_TYPE_EGRESS: devlink_sb_pool_type = 1; +pub type devlink_sb_pool_type = ::core::ffi::c_uint; +pub const devlink_sb_threshold_type_DEVLINK_SB_THRESHOLD_TYPE_STATIC: devlink_sb_threshold_type = 0; +pub const devlink_sb_threshold_type_DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC: devlink_sb_threshold_type = + 1; +pub type devlink_sb_threshold_type = ::core::ffi::c_uint; +pub const devlink_selftest_status_DEVLINK_SELFTEST_STATUS_SKIP: devlink_selftest_status = 0; +pub const devlink_selftest_status_DEVLINK_SELFTEST_STATUS_PASS: devlink_selftest_status = 1; +pub const devlink_selftest_status_DEVLINK_SELFTEST_STATUS_FAIL: devlink_selftest_status = 2; +pub type devlink_selftest_status = ::core::ffi::c_uint; +pub const devlink_trap_action_DEVLINK_TRAP_ACTION_DROP: devlink_trap_action = 0; +pub const devlink_trap_action_DEVLINK_TRAP_ACTION_TRAP: devlink_trap_action = 1; +pub const devlink_trap_action_DEVLINK_TRAP_ACTION_MIRROR: devlink_trap_action = 2; +pub type devlink_trap_action = ::core::ffi::c_uint; +pub const devlink_trap_type_DEVLINK_TRAP_TYPE_DROP: devlink_trap_type = 0; +pub const devlink_trap_type_DEVLINK_TRAP_TYPE_EXCEPTION: devlink_trap_type = 1; +pub const devlink_trap_type_DEVLINK_TRAP_TYPE_CONTROL: devlink_trap_type = 2; +pub type devlink_trap_type = ::core::ffi::c_uint; +pub const dl_dev_state_DL_DEV_NO_DRIVER: dl_dev_state = 0; +pub const dl_dev_state_DL_DEV_PROBING: dl_dev_state = 1; +pub const dl_dev_state_DL_DEV_DRIVER_BOUND: dl_dev_state = 2; +pub const dl_dev_state_DL_DEV_UNBINDING: dl_dev_state = 3; +pub type dl_dev_state = ::core::ffi::c_uint; +pub const dma_data_direction_DMA_BIDIRECTIONAL: dma_data_direction = 0; +pub const dma_data_direction_DMA_TO_DEVICE: dma_data_direction = 1; +pub const dma_data_direction_DMA_FROM_DEVICE: dma_data_direction = 2; +pub const dma_data_direction_DMA_NONE: dma_data_direction = 3; +pub type dma_data_direction = ::core::ffi::c_uint; +pub const dpll_pin_type_DPLL_PIN_TYPE_MUX: dpll_pin_type = 1; +pub const dpll_pin_type_DPLL_PIN_TYPE_EXT: dpll_pin_type = 2; +pub const dpll_pin_type_DPLL_PIN_TYPE_SYNCE_ETH_PORT: dpll_pin_type = 3; +pub const dpll_pin_type_DPLL_PIN_TYPE_INT_OSCILLATOR: dpll_pin_type = 4; +pub const dpll_pin_type_DPLL_PIN_TYPE_GNSS: dpll_pin_type = 5; +pub const dpll_pin_type___DPLL_PIN_TYPE_MAX: dpll_pin_type = 6; +pub const dpll_pin_type_DPLL_PIN_TYPE_MAX: dpll_pin_type = 5; +pub type dpll_pin_type = ::core::ffi::c_uint; +pub const dsa_db_type_DSA_DB_PORT: dsa_db_type = 0; +pub const dsa_db_type_DSA_DB_LAG: dsa_db_type = 1; +pub const dsa_db_type_DSA_DB_BRIDGE: dsa_db_type = 2; +pub type dsa_db_type = ::core::ffi::c_uint; +pub const dsa_tag_protocol_DSA_TAG_PROTO_NONE: dsa_tag_protocol = 0; +pub const dsa_tag_protocol_DSA_TAG_PROTO_BRCM: dsa_tag_protocol = 1; +pub const dsa_tag_protocol_DSA_TAG_PROTO_BRCM_LEGACY: dsa_tag_protocol = 22; +pub const dsa_tag_protocol_DSA_TAG_PROTO_BRCM_PREPEND: dsa_tag_protocol = 2; +pub const dsa_tag_protocol_DSA_TAG_PROTO_DSA: dsa_tag_protocol = 3; +pub const dsa_tag_protocol_DSA_TAG_PROTO_EDSA: dsa_tag_protocol = 4; +pub const dsa_tag_protocol_DSA_TAG_PROTO_GSWIP: dsa_tag_protocol = 5; +pub const dsa_tag_protocol_DSA_TAG_PROTO_KSZ9477: dsa_tag_protocol = 6; +pub const dsa_tag_protocol_DSA_TAG_PROTO_KSZ9893: dsa_tag_protocol = 7; +pub const dsa_tag_protocol_DSA_TAG_PROTO_LAN9303: dsa_tag_protocol = 8; +pub const dsa_tag_protocol_DSA_TAG_PROTO_MTK: dsa_tag_protocol = 9; +pub const dsa_tag_protocol_DSA_TAG_PROTO_QCA: dsa_tag_protocol = 10; +pub const dsa_tag_protocol_DSA_TAG_PROTO_TRAILER: dsa_tag_protocol = 11; +pub const dsa_tag_protocol_DSA_TAG_PROTO_8021Q: dsa_tag_protocol = 12; +pub const dsa_tag_protocol_DSA_TAG_PROTO_SJA1105: dsa_tag_protocol = 13; +pub const dsa_tag_protocol_DSA_TAG_PROTO_KSZ8795: dsa_tag_protocol = 14; +pub const dsa_tag_protocol_DSA_TAG_PROTO_OCELOT: dsa_tag_protocol = 15; +pub const dsa_tag_protocol_DSA_TAG_PROTO_AR9331: dsa_tag_protocol = 16; +pub const dsa_tag_protocol_DSA_TAG_PROTO_RTL4_A: dsa_tag_protocol = 17; +pub const dsa_tag_protocol_DSA_TAG_PROTO_HELLCREEK: dsa_tag_protocol = 18; +pub const dsa_tag_protocol_DSA_TAG_PROTO_XRS700X: dsa_tag_protocol = 19; +pub const dsa_tag_protocol_DSA_TAG_PROTO_OCELOT_8021Q: dsa_tag_protocol = 20; +pub const dsa_tag_protocol_DSA_TAG_PROTO_SEVILLE: dsa_tag_protocol = 21; +pub const dsa_tag_protocol_DSA_TAG_PROTO_SJA1110: dsa_tag_protocol = 23; +pub const dsa_tag_protocol_DSA_TAG_PROTO_RTL8_4: dsa_tag_protocol = 24; +pub const dsa_tag_protocol_DSA_TAG_PROTO_RTL8_4T: dsa_tag_protocol = 25; +pub const dsa_tag_protocol_DSA_TAG_PROTO_RZN1_A5PSW: dsa_tag_protocol = 26; +pub const dsa_tag_protocol_DSA_TAG_PROTO_LAN937X: dsa_tag_protocol = 27; +pub const dsa_tag_protocol_DSA_TAG_PROTO_VSC73XX_8021Q: dsa_tag_protocol = 28; +pub type dsa_tag_protocol = ::core::ffi::c_uint; +pub const elv_merge_ELEVATOR_NO_MERGE: elv_merge = 0; +pub const elv_merge_ELEVATOR_FRONT_MERGE: elv_merge = 1; +pub const elv_merge_ELEVATOR_BACK_MERGE: elv_merge = 2; +pub const elv_merge_ELEVATOR_DISCARD_MERGE: elv_merge = 3; +pub type elv_merge = ::core::ffi::c_uint; +pub const environment_cap_ENVIRON_ANY: environment_cap = 0; +pub const environment_cap_ENVIRON_INDOOR: environment_cap = 1; +pub const environment_cap_ENVIRON_OUTDOOR: environment_cap = 2; +pub type environment_cap = ::core::ffi::c_uint; +pub const ethtool_c33_pse_admin_state_ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN: + ethtool_c33_pse_admin_state = 1; +pub const ethtool_c33_pse_admin_state_ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED: + ethtool_c33_pse_admin_state = 2; +pub const ethtool_c33_pse_admin_state_ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED: + ethtool_c33_pse_admin_state = 3; +pub type ethtool_c33_pse_admin_state = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION: + ethtool_c33_pse_ext_state = 1; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID: + ethtool_c33_pse_ext_state = 2; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE: + ethtool_c33_pse_ext_state = 3; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED: + ethtool_c33_pse_ext_state = 4; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM: + ethtool_c33_pse_ext_state = 5; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED: + ethtool_c33_pse_ext_state = 6; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE: + ethtool_c33_pse_ext_state = 7; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE: + ethtool_c33_pse_ext_state = 8; +pub const ethtool_c33_pse_ext_state_ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED: + ethtool_c33_pse_ext_state = 9; +pub type ethtool_c33_pse_ext_state = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT : ethtool_c33_pse_ext_substate_error_condition = 1 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT : ethtool_c33_pse_ext_substate_error_condition = 2 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT : ethtool_c33_pse_ext_substate_error_condition = 3 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON : ethtool_c33_pse_ext_substate_error_condition = 4 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS : ethtool_c33_pse_ext_substate_error_condition = 5 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF : ethtool_c33_pse_ext_substate_error_condition = 6 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN : ethtool_c33_pse_ext_substate_error_condition = 7 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE : ethtool_c33_pse_ext_substate_error_condition = 8 ; +pub const ethtool_c33_pse_ext_substate_error_condition_ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP : ethtool_c33_pse_ext_substate_error_condition = 9 ; +pub type ethtool_c33_pse_ext_substate_error_condition = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_substate_mr_pse_enable_ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE : ethtool_c33_pse_ext_substate_mr_pse_enable = 1 ; +pub type ethtool_c33_pse_ext_substate_mr_pse_enable = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_substate_option_detect_ted_ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS : ethtool_c33_pse_ext_substate_option_detect_ted = 1 ; +pub const ethtool_c33_pse_ext_substate_option_detect_ted_ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR : ethtool_c33_pse_ext_substate_option_detect_ted = 2 ; +pub type ethtool_c33_pse_ext_substate_option_detect_ted = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_substate_option_vport_lim_ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE : ethtool_c33_pse_ext_substate_option_vport_lim = 1 ; +pub const ethtool_c33_pse_ext_substate_option_vport_lim_ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE : ethtool_c33_pse_ext_substate_option_vport_lim = 2 ; +pub const ethtool_c33_pse_ext_substate_option_vport_lim_ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION : ethtool_c33_pse_ext_substate_option_vport_lim = 3 ; +pub type ethtool_c33_pse_ext_substate_option_vport_lim = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_substate_ovld_detected_ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD : ethtool_c33_pse_ext_substate_ovld_detected = 1 ; +pub type ethtool_c33_pse_ext_substate_ovld_detected = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_substate_power_not_available_ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED : ethtool_c33_pse_ext_substate_power_not_available = 1 ; +pub const ethtool_c33_pse_ext_substate_power_not_available_ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET : ethtool_c33_pse_ext_substate_power_not_available = 2 ; +pub const ethtool_c33_pse_ext_substate_power_not_available_ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT : ethtool_c33_pse_ext_substate_power_not_available = 3 ; +pub const ethtool_c33_pse_ext_substate_power_not_available_ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT : ethtool_c33_pse_ext_substate_power_not_available = 4 ; +pub type ethtool_c33_pse_ext_substate_power_not_available = ::core::ffi::c_uint; +pub const ethtool_c33_pse_ext_substate_short_detected_ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION : ethtool_c33_pse_ext_substate_short_detected = 1 ; +pub type ethtool_c33_pse_ext_substate_short_detected = ::core::ffi::c_uint; +pub const ethtool_c33_pse_pw_d_status_ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN: + ethtool_c33_pse_pw_d_status = 1; +pub const ethtool_c33_pse_pw_d_status_ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED: + ethtool_c33_pse_pw_d_status = 2; +pub const ethtool_c33_pse_pw_d_status_ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING: + ethtool_c33_pse_pw_d_status = 3; +pub const ethtool_c33_pse_pw_d_status_ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING: + ethtool_c33_pse_pw_d_status = 4; +pub const ethtool_c33_pse_pw_d_status_ETHTOOL_C33_PSE_PW_D_STATUS_TEST: + ethtool_c33_pse_pw_d_status = 5; +pub const ethtool_c33_pse_pw_d_status_ETHTOOL_C33_PSE_PW_D_STATUS_FAULT: + ethtool_c33_pse_pw_d_status = 6; +pub const ethtool_c33_pse_pw_d_status_ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT: + ethtool_c33_pse_pw_d_status = 7; +pub type ethtool_c33_pse_pw_d_status = ::core::ffi::c_uint; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_AUTONEG: ethtool_link_ext_state = 0; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE: + ethtool_link_ext_state = 1; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH: + ethtool_link_ext_state = 2; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY: + ethtool_link_ext_state = 3; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_NO_CABLE: ethtool_link_ext_state = 4; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE: ethtool_link_ext_state = 5; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE: ethtool_link_ext_state = 6; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE: + ethtool_link_ext_state = 7; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED: + ethtool_link_ext_state = 8; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_OVERHEAT: ethtool_link_ext_state = 9; +pub const ethtool_link_ext_state_ETHTOOL_LINK_EXT_STATE_MODULE: ethtool_link_ext_state = 10; +pub type ethtool_link_ext_state = ::core::ffi::c_uint; +pub const ethtool_link_ext_substate_autoneg_ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED: + ethtool_link_ext_substate_autoneg = 1; +pub const ethtool_link_ext_substate_autoneg_ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED: + ethtool_link_ext_substate_autoneg = 2; +pub const ethtool_link_ext_substate_autoneg_ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED : ethtool_link_ext_substate_autoneg = 3 ; +pub const ethtool_link_ext_substate_autoneg_ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE : ethtool_link_ext_substate_autoneg = 4 ; +pub const ethtool_link_ext_substate_autoneg_ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE : ethtool_link_ext_substate_autoneg = 5 ; +pub const ethtool_link_ext_substate_autoneg_ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD: + ethtool_link_ext_substate_autoneg = 6; +pub type ethtool_link_ext_substate_autoneg = ::core::ffi::c_uint; +pub const ethtool_link_ext_substate_bad_signal_integrity_ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS : ethtool_link_ext_substate_bad_signal_integrity = 1 ; +pub const ethtool_link_ext_substate_bad_signal_integrity_ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE : ethtool_link_ext_substate_bad_signal_integrity = 2 ; +pub const ethtool_link_ext_substate_bad_signal_integrity_ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST : ethtool_link_ext_substate_bad_signal_integrity = 3 ; +pub const ethtool_link_ext_substate_bad_signal_integrity_ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS : ethtool_link_ext_substate_bad_signal_integrity = 4 ; +pub type ethtool_link_ext_substate_bad_signal_integrity = ::core::ffi::c_uint; +pub const ethtool_link_ext_substate_cable_issue_ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE: + ethtool_link_ext_substate_cable_issue = 1; +pub const ethtool_link_ext_substate_cable_issue_ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE: + ethtool_link_ext_substate_cable_issue = 2; +pub type ethtool_link_ext_substate_cable_issue = ::core::ffi::c_uint; +pub const ethtool_link_ext_substate_link_logical_mismatch_ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK : ethtool_link_ext_substate_link_logical_mismatch = 1 ; +pub const ethtool_link_ext_substate_link_logical_mismatch_ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK : ethtool_link_ext_substate_link_logical_mismatch = 2 ; +pub const ethtool_link_ext_substate_link_logical_mismatch_ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS : ethtool_link_ext_substate_link_logical_mismatch = 3 ; +pub const ethtool_link_ext_substate_link_logical_mismatch_ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED : ethtool_link_ext_substate_link_logical_mismatch = 4 ; +pub const ethtool_link_ext_substate_link_logical_mismatch_ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED : ethtool_link_ext_substate_link_logical_mismatch = 5 ; +pub type ethtool_link_ext_substate_link_logical_mismatch = ::core::ffi::c_uint; +pub const ethtool_link_ext_substate_link_training_ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED : ethtool_link_ext_substate_link_training = 1 ; +pub const ethtool_link_ext_substate_link_training_ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT : ethtool_link_ext_substate_link_training = 2 ; +pub const ethtool_link_ext_substate_link_training_ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY : ethtool_link_ext_substate_link_training = 3 ; +pub const ethtool_link_ext_substate_link_training_ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT: + ethtool_link_ext_substate_link_training = 4; +pub type ethtool_link_ext_substate_link_training = ::core::ffi::c_uint; +pub const ethtool_link_ext_substate_module_ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY: + ethtool_link_ext_substate_module = 1; +pub type ethtool_link_ext_substate_module = ::core::ffi::c_uint; +pub const ethtool_mac_stats_src_ETHTOOL_MAC_STATS_SRC_AGGREGATE: ethtool_mac_stats_src = 0; +pub const ethtool_mac_stats_src_ETHTOOL_MAC_STATS_SRC_EMAC: ethtool_mac_stats_src = 1; +pub const ethtool_mac_stats_src_ETHTOOL_MAC_STATS_SRC_PMAC: ethtool_mac_stats_src = 2; +pub type ethtool_mac_stats_src = ::core::ffi::c_uint; +pub const ethtool_mm_verify_status_ETHTOOL_MM_VERIFY_STATUS_UNKNOWN: ethtool_mm_verify_status = 0; +pub const ethtool_mm_verify_status_ETHTOOL_MM_VERIFY_STATUS_INITIAL: ethtool_mm_verify_status = 1; +pub const ethtool_mm_verify_status_ETHTOOL_MM_VERIFY_STATUS_VERIFYING: ethtool_mm_verify_status = 2; +pub const ethtool_mm_verify_status_ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED: ethtool_mm_verify_status = 3; +pub const ethtool_mm_verify_status_ETHTOOL_MM_VERIFY_STATUS_FAILED: ethtool_mm_verify_status = 4; +pub const ethtool_mm_verify_status_ETHTOOL_MM_VERIFY_STATUS_DISABLED: ethtool_mm_verify_status = 5; +pub type ethtool_mm_verify_status = ::core::ffi::c_uint; +pub const ethtool_module_power_mode_ETHTOOL_MODULE_POWER_MODE_LOW: ethtool_module_power_mode = 1; +pub const ethtool_module_power_mode_ETHTOOL_MODULE_POWER_MODE_HIGH: ethtool_module_power_mode = 2; +pub type ethtool_module_power_mode = ::core::ffi::c_uint; +pub const ethtool_module_power_mode_policy_ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH: + ethtool_module_power_mode_policy = 1; +pub const ethtool_module_power_mode_policy_ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO: + ethtool_module_power_mode_policy = 2; +pub type ethtool_module_power_mode_policy = ::core::ffi::c_uint; +pub const ethtool_phys_id_state_ETHTOOL_ID_INACTIVE: ethtool_phys_id_state = 0; +pub const ethtool_phys_id_state_ETHTOOL_ID_ACTIVE: ethtool_phys_id_state = 1; +pub const ethtool_phys_id_state_ETHTOOL_ID_ON: ethtool_phys_id_state = 2; +pub const ethtool_phys_id_state_ETHTOOL_ID_OFF: ethtool_phys_id_state = 3; +pub type ethtool_phys_id_state = ::core::ffi::c_uint; +pub const ethtool_podl_pse_admin_state_ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN: + ethtool_podl_pse_admin_state = 1; +pub const ethtool_podl_pse_admin_state_ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED: + ethtool_podl_pse_admin_state = 2; +pub const ethtool_podl_pse_admin_state_ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED: + ethtool_podl_pse_admin_state = 3; +pub type ethtool_podl_pse_admin_state = ::core::ffi::c_uint; +pub const ethtool_podl_pse_pw_d_status_ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN: + ethtool_podl_pse_pw_d_status = 1; +pub const ethtool_podl_pse_pw_d_status_ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED: + ethtool_podl_pse_pw_d_status = 2; +pub const ethtool_podl_pse_pw_d_status_ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING: + ethtool_podl_pse_pw_d_status = 3; +pub const ethtool_podl_pse_pw_d_status_ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING: + ethtool_podl_pse_pw_d_status = 4; +pub const ethtool_podl_pse_pw_d_status_ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP: + ethtool_podl_pse_pw_d_status = 5; +pub const ethtool_podl_pse_pw_d_status_ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE: + ethtool_podl_pse_pw_d_status = 6; +pub const ethtool_podl_pse_pw_d_status_ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR: + ethtool_podl_pse_pw_d_status = 7; +pub type ethtool_podl_pse_pw_d_status = ::core::ffi::c_uint; +pub const ethtool_pse_types_ETHTOOL_PSE_UNKNOWN: ethtool_pse_types = 1; +pub const ethtool_pse_types_ETHTOOL_PSE_PODL: ethtool_pse_types = 2; +pub const ethtool_pse_types_ETHTOOL_PSE_C33: ethtool_pse_types = 4; +pub type ethtool_pse_types = ::core::ffi::c_uint; +pub const fault_flag_FAULT_FLAG_WRITE: fault_flag = 1; +pub const fault_flag_FAULT_FLAG_MKWRITE: fault_flag = 2; +pub const fault_flag_FAULT_FLAG_ALLOW_RETRY: fault_flag = 4; +pub const fault_flag_FAULT_FLAG_RETRY_NOWAIT: fault_flag = 8; +pub const fault_flag_FAULT_FLAG_KILLABLE: fault_flag = 16; +pub const fault_flag_FAULT_FLAG_TRIED: fault_flag = 32; +pub const fault_flag_FAULT_FLAG_USER: fault_flag = 64; +pub const fault_flag_FAULT_FLAG_REMOTE: fault_flag = 128; +pub const fault_flag_FAULT_FLAG_INSTRUCTION: fault_flag = 256; +pub const fault_flag_FAULT_FLAG_INTERRUPTIBLE: fault_flag = 512; +pub const fault_flag_FAULT_FLAG_UNSHARE: fault_flag = 1024; +pub const fault_flag_FAULT_FLAG_ORIG_PTE_VALID: fault_flag = 2048; +pub const fault_flag_FAULT_FLAG_VMA_LOCK: fault_flag = 4096; +pub type fault_flag = ::core::ffi::c_uint; +pub const filter_pred_fn_FILTER_PRED_FN_NOP: filter_pred_fn = 0; +pub const filter_pred_fn_FILTER_PRED_FN_64: filter_pred_fn = 1; +pub const filter_pred_fn_FILTER_PRED_FN_64_CPUMASK: filter_pred_fn = 2; +pub const filter_pred_fn_FILTER_PRED_FN_S64: filter_pred_fn = 3; +pub const filter_pred_fn_FILTER_PRED_FN_U64: filter_pred_fn = 4; +pub const filter_pred_fn_FILTER_PRED_FN_32: filter_pred_fn = 5; +pub const filter_pred_fn_FILTER_PRED_FN_32_CPUMASK: filter_pred_fn = 6; +pub const filter_pred_fn_FILTER_PRED_FN_S32: filter_pred_fn = 7; +pub const filter_pred_fn_FILTER_PRED_FN_U32: filter_pred_fn = 8; +pub const filter_pred_fn_FILTER_PRED_FN_16: filter_pred_fn = 9; +pub const filter_pred_fn_FILTER_PRED_FN_16_CPUMASK: filter_pred_fn = 10; +pub const filter_pred_fn_FILTER_PRED_FN_S16: filter_pred_fn = 11; +pub const filter_pred_fn_FILTER_PRED_FN_U16: filter_pred_fn = 12; +pub const filter_pred_fn_FILTER_PRED_FN_8: filter_pred_fn = 13; +pub const filter_pred_fn_FILTER_PRED_FN_8_CPUMASK: filter_pred_fn = 14; +pub const filter_pred_fn_FILTER_PRED_FN_S8: filter_pred_fn = 15; +pub const filter_pred_fn_FILTER_PRED_FN_U8: filter_pred_fn = 16; +pub const filter_pred_fn_FILTER_PRED_FN_COMM: filter_pred_fn = 17; +pub const filter_pred_fn_FILTER_PRED_FN_STRING: filter_pred_fn = 18; +pub const filter_pred_fn_FILTER_PRED_FN_STRLOC: filter_pred_fn = 19; +pub const filter_pred_fn_FILTER_PRED_FN_STRRELLOC: filter_pred_fn = 20; +pub const filter_pred_fn_FILTER_PRED_FN_PCHAR_USER: filter_pred_fn = 21; +pub const filter_pred_fn_FILTER_PRED_FN_PCHAR: filter_pred_fn = 22; +pub const filter_pred_fn_FILTER_PRED_FN_CPU: filter_pred_fn = 23; +pub const filter_pred_fn_FILTER_PRED_FN_CPU_CPUMASK: filter_pred_fn = 24; +pub const filter_pred_fn_FILTER_PRED_FN_CPUMASK: filter_pred_fn = 25; +pub const filter_pred_fn_FILTER_PRED_FN_CPUMASK_CPU: filter_pred_fn = 26; +pub const filter_pred_fn_FILTER_PRED_FN_FUNCTION: filter_pred_fn = 27; +pub const filter_pred_fn_FILTER_PRED_FN_: filter_pred_fn = 28; +pub const filter_pred_fn_FILTER_PRED_TEST_VISITED: filter_pred_fn = 29; +pub type filter_pred_fn = ::core::ffi::c_uint; +pub const flow_action_hw_stats_FLOW_ACTION_HW_STATS_IMMEDIATE: flow_action_hw_stats = 1; +pub const flow_action_hw_stats_FLOW_ACTION_HW_STATS_DELAYED: flow_action_hw_stats = 2; +pub const flow_action_hw_stats_FLOW_ACTION_HW_STATS_ANY: flow_action_hw_stats = 3; +pub const flow_action_hw_stats_FLOW_ACTION_HW_STATS_DISABLED: flow_action_hw_stats = 4; +pub const flow_action_hw_stats_FLOW_ACTION_HW_STATS_DONT_CARE: flow_action_hw_stats = 7; +pub type flow_action_hw_stats = ::core::ffi::c_uint; +pub const flow_action_id_FLOW_ACTION_ACCEPT: flow_action_id = 0; +pub const flow_action_id_FLOW_ACTION_DROP: flow_action_id = 1; +pub const flow_action_id_FLOW_ACTION_TRAP: flow_action_id = 2; +pub const flow_action_id_FLOW_ACTION_GOTO: flow_action_id = 3; +pub const flow_action_id_FLOW_ACTION_REDIRECT: flow_action_id = 4; +pub const flow_action_id_FLOW_ACTION_MIRRED: flow_action_id = 5; +pub const flow_action_id_FLOW_ACTION_REDIRECT_INGRESS: flow_action_id = 6; +pub const flow_action_id_FLOW_ACTION_MIRRED_INGRESS: flow_action_id = 7; +pub const flow_action_id_FLOW_ACTION_VLAN_PUSH: flow_action_id = 8; +pub const flow_action_id_FLOW_ACTION_VLAN_POP: flow_action_id = 9; +pub const flow_action_id_FLOW_ACTION_VLAN_MANGLE: flow_action_id = 10; +pub const flow_action_id_FLOW_ACTION_TUNNEL_ENCAP: flow_action_id = 11; +pub const flow_action_id_FLOW_ACTION_TUNNEL_DECAP: flow_action_id = 12; +pub const flow_action_id_FLOW_ACTION_MANGLE: flow_action_id = 13; +pub const flow_action_id_FLOW_ACTION_ADD: flow_action_id = 14; +pub const flow_action_id_FLOW_ACTION_CSUM: flow_action_id = 15; +pub const flow_action_id_FLOW_ACTION_MARK: flow_action_id = 16; +pub const flow_action_id_FLOW_ACTION_PTYPE: flow_action_id = 17; +pub const flow_action_id_FLOW_ACTION_PRIORITY: flow_action_id = 18; +pub const flow_action_id_FLOW_ACTION_RX_QUEUE_MAPPING: flow_action_id = 19; +pub const flow_action_id_FLOW_ACTION_WAKE: flow_action_id = 20; +pub const flow_action_id_FLOW_ACTION_QUEUE: flow_action_id = 21; +pub const flow_action_id_FLOW_ACTION_SAMPLE: flow_action_id = 22; +pub const flow_action_id_FLOW_ACTION_POLICE: flow_action_id = 23; +pub const flow_action_id_FLOW_ACTION_CT: flow_action_id = 24; +pub const flow_action_id_FLOW_ACTION_CT_METADATA: flow_action_id = 25; +pub const flow_action_id_FLOW_ACTION_MPLS_PUSH: flow_action_id = 26; +pub const flow_action_id_FLOW_ACTION_MPLS_POP: flow_action_id = 27; +pub const flow_action_id_FLOW_ACTION_MPLS_MANGLE: flow_action_id = 28; +pub const flow_action_id_FLOW_ACTION_GATE: flow_action_id = 29; +pub const flow_action_id_FLOW_ACTION_PPPOE_PUSH: flow_action_id = 30; +pub const flow_action_id_FLOW_ACTION_JUMP: flow_action_id = 31; +pub const flow_action_id_FLOW_ACTION_PIPE: flow_action_id = 32; +pub const flow_action_id_FLOW_ACTION_VLAN_PUSH_ETH: flow_action_id = 33; +pub const flow_action_id_FLOW_ACTION_VLAN_POP_ETH: flow_action_id = 34; +pub const flow_action_id_FLOW_ACTION_CONTINUE: flow_action_id = 35; +pub const flow_action_id_NUM_FLOW_ACTIONS: flow_action_id = 36; +pub type flow_action_id = ::core::ffi::c_uint; +pub const flow_action_mangle_base_FLOW_ACT_MANGLE_UNSPEC: flow_action_mangle_base = 0; +pub const flow_action_mangle_base_FLOW_ACT_MANGLE_HDR_TYPE_ETH: flow_action_mangle_base = 1; +pub const flow_action_mangle_base_FLOW_ACT_MANGLE_HDR_TYPE_IP4: flow_action_mangle_base = 2; +pub const flow_action_mangle_base_FLOW_ACT_MANGLE_HDR_TYPE_IP6: flow_action_mangle_base = 3; +pub const flow_action_mangle_base_FLOW_ACT_MANGLE_HDR_TYPE_TCP: flow_action_mangle_base = 4; +pub const flow_action_mangle_base_FLOW_ACT_MANGLE_HDR_TYPE_UDP: flow_action_mangle_base = 5; +pub type flow_action_mangle_base = ::core::ffi::c_uint; +pub const flow_cls_command_FLOW_CLS_REPLACE: flow_cls_command = 0; +pub const flow_cls_command_FLOW_CLS_DESTROY: flow_cls_command = 1; +pub const flow_cls_command_FLOW_CLS_STATS: flow_cls_command = 2; +pub const flow_cls_command_FLOW_CLS_TMPLT_CREATE: flow_cls_command = 3; +pub const flow_cls_command_FLOW_CLS_TMPLT_DESTROY: flow_cls_command = 4; +pub type flow_cls_command = ::core::ffi::c_uint; +pub const freeze_holder_FREEZE_HOLDER_KERNEL: freeze_holder = 1; +pub const freeze_holder_FREEZE_HOLDER_USERSPACE: freeze_holder = 2; +pub const freeze_holder_FREEZE_MAY_NEST: freeze_holder = 4; +pub type freeze_holder = ::core::ffi::c_uint; +pub const freq_qos_req_type_FREQ_QOS_MIN: freq_qos_req_type = 1; +pub const freq_qos_req_type_FREQ_QOS_MAX: freq_qos_req_type = 2; +pub type freq_qos_req_type = ::core::ffi::c_uint; +pub const fs_context_phase_FS_CONTEXT_CREATE_PARAMS: fs_context_phase = 0; +pub const fs_context_phase_FS_CONTEXT_CREATING: fs_context_phase = 1; +pub const fs_context_phase_FS_CONTEXT_AWAITING_MOUNT: fs_context_phase = 2; +pub const fs_context_phase_FS_CONTEXT_AWAITING_RECONF: fs_context_phase = 3; +pub const fs_context_phase_FS_CONTEXT_RECONF_PARAMS: fs_context_phase = 4; +pub const fs_context_phase_FS_CONTEXT_RECONFIGURING: fs_context_phase = 5; +pub const fs_context_phase_FS_CONTEXT_FAILED: fs_context_phase = 6; +pub type fs_context_phase = ::core::ffi::c_uint; +pub const fs_context_purpose_FS_CONTEXT_FOR_MOUNT: fs_context_purpose = 0; +pub const fs_context_purpose_FS_CONTEXT_FOR_SUBMOUNT: fs_context_purpose = 1; +pub const fs_context_purpose_FS_CONTEXT_FOR_RECONFIGURE: fs_context_purpose = 2; +pub type fs_context_purpose = ::core::ffi::c_uint; +pub const fs_value_type_fs_value_is_undefined: fs_value_type = 0; +pub const fs_value_type_fs_value_is_flag: fs_value_type = 1; +pub const fs_value_type_fs_value_is_string: fs_value_type = 2; +pub const fs_value_type_fs_value_is_blob: fs_value_type = 3; +pub const fs_value_type_fs_value_is_filename: fs_value_type = 4; +pub const fs_value_type_fs_value_is_file: fs_value_type = 5; +pub type fs_value_type = ::core::ffi::c_uint; +pub const fsnotify_group_prio_FSNOTIFY_PRIO_NORMAL: fsnotify_group_prio = 0; +pub const fsnotify_group_prio_FSNOTIFY_PRIO_CONTENT: fsnotify_group_prio = 1; +pub const fsnotify_group_prio_FSNOTIFY_PRIO_PRE_CONTENT: fsnotify_group_prio = 2; +pub const fsnotify_group_prio___FSNOTIFY_PRIO_NUM: fsnotify_group_prio = 3; +pub type fsnotify_group_prio = ::core::ffi::c_uint; +pub const ftrace_ops_cmd_FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_SELF: ftrace_ops_cmd = 0; +pub const ftrace_ops_cmd_FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_PEER: ftrace_ops_cmd = 1; +pub const ftrace_ops_cmd_FTRACE_OPS_CMD_DISABLE_SHARE_IPMODIFY_PEER: ftrace_ops_cmd = 2; +pub type ftrace_ops_cmd = ::core::ffi::c_uint; +pub const hash_algo_HASH_ALGO_MD4: hash_algo = 0; +pub const hash_algo_HASH_ALGO_MD5: hash_algo = 1; +pub const hash_algo_HASH_ALGO_SHA1: hash_algo = 2; +pub const hash_algo_HASH_ALGO_RIPE_MD_160: hash_algo = 3; +pub const hash_algo_HASH_ALGO_SHA256: hash_algo = 4; +pub const hash_algo_HASH_ALGO_SHA384: hash_algo = 5; +pub const hash_algo_HASH_ALGO_SHA512: hash_algo = 6; +pub const hash_algo_HASH_ALGO_SHA224: hash_algo = 7; +pub const hash_algo_HASH_ALGO_RIPE_MD_128: hash_algo = 8; +pub const hash_algo_HASH_ALGO_RIPE_MD_256: hash_algo = 9; +pub const hash_algo_HASH_ALGO_RIPE_MD_320: hash_algo = 10; +pub const hash_algo_HASH_ALGO_WP_256: hash_algo = 11; +pub const hash_algo_HASH_ALGO_WP_384: hash_algo = 12; +pub const hash_algo_HASH_ALGO_WP_512: hash_algo = 13; +pub const hash_algo_HASH_ALGO_TGR_128: hash_algo = 14; +pub const hash_algo_HASH_ALGO_TGR_160: hash_algo = 15; +pub const hash_algo_HASH_ALGO_TGR_192: hash_algo = 16; +pub const hash_algo_HASH_ALGO_SM3_256: hash_algo = 17; +pub const hash_algo_HASH_ALGO_STREEBOG_256: hash_algo = 18; +pub const hash_algo_HASH_ALGO_STREEBOG_512: hash_algo = 19; +pub const hash_algo_HASH_ALGO_SHA3_256: hash_algo = 20; +pub const hash_algo_HASH_ALGO_SHA3_384: hash_algo = 21; +pub const hash_algo_HASH_ALGO_SHA3_512: hash_algo = 22; +pub const hash_algo_HASH_ALGO__LAST: hash_algo = 23; +pub type hash_algo = ::core::ffi::c_uint; +pub const hrtimer_restart_HRTIMER_NORESTART: hrtimer_restart = 0; +pub const hrtimer_restart_HRTIMER_RESTART: hrtimer_restart = 1; +pub type hrtimer_restart = ::core::ffi::c_uint; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_NONE: hwtstamp_rx_filters = 0; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_ALL: hwtstamp_rx_filters = 1; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_SOME: hwtstamp_rx_filters = 2; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V1_L4_EVENT: hwtstamp_rx_filters = 3; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V1_L4_SYNC: hwtstamp_rx_filters = 4; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ: hwtstamp_rx_filters = 5; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_L4_EVENT: hwtstamp_rx_filters = 6; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_L4_SYNC: hwtstamp_rx_filters = 7; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ: hwtstamp_rx_filters = 8; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_L2_EVENT: hwtstamp_rx_filters = 9; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_L2_SYNC: hwtstamp_rx_filters = 10; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ: hwtstamp_rx_filters = 11; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_EVENT: hwtstamp_rx_filters = 12; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_SYNC: hwtstamp_rx_filters = 13; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_PTP_V2_DELAY_REQ: hwtstamp_rx_filters = 14; +pub const hwtstamp_rx_filters_HWTSTAMP_FILTER_NTP_ALL: hwtstamp_rx_filters = 15; +pub const hwtstamp_rx_filters___HWTSTAMP_FILTER_CNT: hwtstamp_rx_filters = 16; +pub type hwtstamp_rx_filters = ::core::ffi::c_uint; +pub const hwtstamp_source_HWTSTAMP_SOURCE_UNSPEC: hwtstamp_source = 0; +pub const hwtstamp_source_HWTSTAMP_SOURCE_NETDEV: hwtstamp_source = 1; +pub const hwtstamp_source_HWTSTAMP_SOURCE_PHYLIB: hwtstamp_source = 2; +pub type hwtstamp_source = ::core::ffi::c_uint; +pub const hwtstamp_tx_types_HWTSTAMP_TX_OFF: hwtstamp_tx_types = 0; +pub const hwtstamp_tx_types_HWTSTAMP_TX_ON: hwtstamp_tx_types = 1; +pub const hwtstamp_tx_types_HWTSTAMP_TX_ONESTEP_SYNC: hwtstamp_tx_types = 2; +pub const hwtstamp_tx_types_HWTSTAMP_TX_ONESTEP_P2P: hwtstamp_tx_types = 3; +pub const hwtstamp_tx_types___HWTSTAMP_TX_CNT: hwtstamp_tx_types = 4; +pub type hwtstamp_tx_types = ::core::ffi::c_uint; +pub const ib_atomic_cap_IB_ATOMIC_NONE: ib_atomic_cap = 0; +pub const ib_atomic_cap_IB_ATOMIC_HCA: ib_atomic_cap = 1; +pub const ib_atomic_cap_IB_ATOMIC_GLOB: ib_atomic_cap = 2; +pub type ib_atomic_cap = ::core::ffi::c_uint; +pub const ib_cq_notify_flags_IB_CQ_SOLICITED: ib_cq_notify_flags = 1; +pub const ib_cq_notify_flags_IB_CQ_NEXT_COMP: ib_cq_notify_flags = 2; +pub const ib_cq_notify_flags_IB_CQ_SOLICITED_MASK: ib_cq_notify_flags = 3; +pub const ib_cq_notify_flags_IB_CQ_REPORT_MISSED_EVENTS: ib_cq_notify_flags = 4; +pub type ib_cq_notify_flags = ::core::ffi::c_uint; +pub const ib_event_type_IB_EVENT_CQ_ERR: ib_event_type = 0; +pub const ib_event_type_IB_EVENT_QP_FATAL: ib_event_type = 1; +pub const ib_event_type_IB_EVENT_QP_REQ_ERR: ib_event_type = 2; +pub const ib_event_type_IB_EVENT_QP_ACCESS_ERR: ib_event_type = 3; +pub const ib_event_type_IB_EVENT_COMM_EST: ib_event_type = 4; +pub const ib_event_type_IB_EVENT_SQ_DRAINED: ib_event_type = 5; +pub const ib_event_type_IB_EVENT_PATH_MIG: ib_event_type = 6; +pub const ib_event_type_IB_EVENT_PATH_MIG_ERR: ib_event_type = 7; +pub const ib_event_type_IB_EVENT_DEVICE_FATAL: ib_event_type = 8; +pub const ib_event_type_IB_EVENT_PORT_ACTIVE: ib_event_type = 9; +pub const ib_event_type_IB_EVENT_PORT_ERR: ib_event_type = 10; +pub const ib_event_type_IB_EVENT_LID_CHANGE: ib_event_type = 11; +pub const ib_event_type_IB_EVENT_PKEY_CHANGE: ib_event_type = 12; +pub const ib_event_type_IB_EVENT_SM_CHANGE: ib_event_type = 13; +pub const ib_event_type_IB_EVENT_SRQ_ERR: ib_event_type = 14; +pub const ib_event_type_IB_EVENT_SRQ_LIMIT_REACHED: ib_event_type = 15; +pub const ib_event_type_IB_EVENT_QP_LAST_WQE_REACHED: ib_event_type = 16; +pub const ib_event_type_IB_EVENT_CLIENT_REREGISTER: ib_event_type = 17; +pub const ib_event_type_IB_EVENT_GID_CHANGE: ib_event_type = 18; +pub const ib_event_type_IB_EVENT_WQ_FATAL: ib_event_type = 19; +pub type ib_event_type = ::core::ffi::c_uint; +pub const ib_flow_action_type_IB_FLOW_ACTION_UNSPECIFIED: ib_flow_action_type = 0; +pub const ib_flow_action_type_IB_FLOW_ACTION_ESP: ib_flow_action_type = 1; +pub type ib_flow_action_type = ::core::ffi::c_uint; +pub const ib_flow_attr_type_IB_FLOW_ATTR_NORMAL: ib_flow_attr_type = 0; +pub const ib_flow_attr_type_IB_FLOW_ATTR_ALL_DEFAULT: ib_flow_attr_type = 1; +pub const ib_flow_attr_type_IB_FLOW_ATTR_MC_DEFAULT: ib_flow_attr_type = 2; +pub const ib_flow_attr_type_IB_FLOW_ATTR_SNIFFER: ib_flow_attr_type = 3; +pub type ib_flow_attr_type = ::core::ffi::c_uint; +pub const ib_flow_spec_type_IB_FLOW_SPEC_ETH: ib_flow_spec_type = 32; +pub const ib_flow_spec_type_IB_FLOW_SPEC_IB: ib_flow_spec_type = 34; +pub const ib_flow_spec_type_IB_FLOW_SPEC_IPV4: ib_flow_spec_type = 48; +pub const ib_flow_spec_type_IB_FLOW_SPEC_IPV6: ib_flow_spec_type = 49; +pub const ib_flow_spec_type_IB_FLOW_SPEC_ESP: ib_flow_spec_type = 52; +pub const ib_flow_spec_type_IB_FLOW_SPEC_TCP: ib_flow_spec_type = 64; +pub const ib_flow_spec_type_IB_FLOW_SPEC_UDP: ib_flow_spec_type = 65; +pub const ib_flow_spec_type_IB_FLOW_SPEC_VXLAN_TUNNEL: ib_flow_spec_type = 80; +pub const ib_flow_spec_type_IB_FLOW_SPEC_GRE: ib_flow_spec_type = 81; +pub const ib_flow_spec_type_IB_FLOW_SPEC_MPLS: ib_flow_spec_type = 96; +pub const ib_flow_spec_type_IB_FLOW_SPEC_INNER: ib_flow_spec_type = 256; +pub const ib_flow_spec_type_IB_FLOW_SPEC_ACTION_TAG: ib_flow_spec_type = 4096; +pub const ib_flow_spec_type_IB_FLOW_SPEC_ACTION_DROP: ib_flow_spec_type = 4097; +pub const ib_flow_spec_type_IB_FLOW_SPEC_ACTION_HANDLE: ib_flow_spec_type = 4098; +pub const ib_flow_spec_type_IB_FLOW_SPEC_ACTION_COUNT: ib_flow_spec_type = 4099; +pub type ib_flow_spec_type = ::core::ffi::c_uint; +pub const ib_gid_type_IB_GID_TYPE_IB: ib_gid_type = 0; +pub const ib_gid_type_IB_GID_TYPE_ROCE: ib_gid_type = 1; +pub const ib_gid_type_IB_GID_TYPE_ROCE_UDP_ENCAP: ib_gid_type = 2; +pub const ib_gid_type_IB_GID_TYPE_SIZE: ib_gid_type = 3; +pub type ib_gid_type = ::core::ffi::c_uint; +pub const ib_mig_state_IB_MIG_MIGRATED: ib_mig_state = 0; +pub const ib_mig_state_IB_MIG_REARM: ib_mig_state = 1; +pub const ib_mig_state_IB_MIG_ARMED: ib_mig_state = 2; +pub type ib_mig_state = ::core::ffi::c_uint; +pub const ib_mr_type_IB_MR_TYPE_MEM_REG: ib_mr_type = 0; +pub const ib_mr_type_IB_MR_TYPE_SG_GAPS: ib_mr_type = 1; +pub const ib_mr_type_IB_MR_TYPE_DM: ib_mr_type = 2; +pub const ib_mr_type_IB_MR_TYPE_USER: ib_mr_type = 3; +pub const ib_mr_type_IB_MR_TYPE_DMA: ib_mr_type = 4; +pub const ib_mr_type_IB_MR_TYPE_INTEGRITY: ib_mr_type = 5; +pub type ib_mr_type = ::core::ffi::c_uint; +pub const ib_mtu_IB_MTU_256: ib_mtu = 1; +pub const ib_mtu_IB_MTU_512: ib_mtu = 2; +pub const ib_mtu_IB_MTU_1024: ib_mtu = 3; +pub const ib_mtu_IB_MTU_2048: ib_mtu = 4; +pub const ib_mtu_IB_MTU_4096: ib_mtu = 5; +pub type ib_mtu = ::core::ffi::c_uint; +pub const ib_mw_type_IB_MW_TYPE_1: ib_mw_type = 1; +pub const ib_mw_type_IB_MW_TYPE_2: ib_mw_type = 2; +pub type ib_mw_type = ::core::ffi::c_uint; +pub const ib_poll_context_IB_POLL_SOFTIRQ: ib_poll_context = 0; +pub const ib_poll_context_IB_POLL_WORKQUEUE: ib_poll_context = 1; +pub const ib_poll_context_IB_POLL_UNBOUND_WORKQUEUE: ib_poll_context = 2; +pub const ib_poll_context_IB_POLL_LAST_POOL_TYPE: ib_poll_context = 2; +pub const ib_poll_context_IB_POLL_DIRECT: ib_poll_context = 3; +pub type ib_poll_context = ::core::ffi::c_uint; +pub const ib_port_state_IB_PORT_NOP: ib_port_state = 0; +pub const ib_port_state_IB_PORT_DOWN: ib_port_state = 1; +pub const ib_port_state_IB_PORT_INIT: ib_port_state = 2; +pub const ib_port_state_IB_PORT_ARMED: ib_port_state = 3; +pub const ib_port_state_IB_PORT_ACTIVE: ib_port_state = 4; +pub const ib_port_state_IB_PORT_ACTIVE_DEFER: ib_port_state = 5; +pub type ib_port_state = ::core::ffi::c_uint; +pub const ib_qp_state_IB_QPS_RESET: ib_qp_state = 0; +pub const ib_qp_state_IB_QPS_INIT: ib_qp_state = 1; +pub const ib_qp_state_IB_QPS_RTR: ib_qp_state = 2; +pub const ib_qp_state_IB_QPS_RTS: ib_qp_state = 3; +pub const ib_qp_state_IB_QPS_SQD: ib_qp_state = 4; +pub const ib_qp_state_IB_QPS_SQE: ib_qp_state = 5; +pub const ib_qp_state_IB_QPS_ERR: ib_qp_state = 6; +pub type ib_qp_state = ::core::ffi::c_uint; +pub const ib_qp_type_IB_QPT_SMI: ib_qp_type = 0; +pub const ib_qp_type_IB_QPT_GSI: ib_qp_type = 1; +pub const ib_qp_type_IB_QPT_RC: ib_qp_type = 2; +pub const ib_qp_type_IB_QPT_UC: ib_qp_type = 3; +pub const ib_qp_type_IB_QPT_UD: ib_qp_type = 4; +pub const ib_qp_type_IB_QPT_RAW_IPV6: ib_qp_type = 5; +pub const ib_qp_type_IB_QPT_RAW_ETHERTYPE: ib_qp_type = 6; +pub const ib_qp_type_IB_QPT_RAW_PACKET: ib_qp_type = 8; +pub const ib_qp_type_IB_QPT_XRC_INI: ib_qp_type = 9; +pub const ib_qp_type_IB_QPT_XRC_TGT: ib_qp_type = 10; +pub const ib_qp_type_IB_QPT_MAX: ib_qp_type = 11; +pub const ib_qp_type_IB_QPT_DRIVER: ib_qp_type = 255; +pub const ib_qp_type_IB_QPT_RESERVED1: ib_qp_type = 4096; +pub const ib_qp_type_IB_QPT_RESERVED2: ib_qp_type = 4097; +pub const ib_qp_type_IB_QPT_RESERVED3: ib_qp_type = 4098; +pub const ib_qp_type_IB_QPT_RESERVED4: ib_qp_type = 4099; +pub const ib_qp_type_IB_QPT_RESERVED5: ib_qp_type = 4100; +pub const ib_qp_type_IB_QPT_RESERVED6: ib_qp_type = 4101; +pub const ib_qp_type_IB_QPT_RESERVED7: ib_qp_type = 4102; +pub const ib_qp_type_IB_QPT_RESERVED8: ib_qp_type = 4103; +pub const ib_qp_type_IB_QPT_RESERVED9: ib_qp_type = 4104; +pub const ib_qp_type_IB_QPT_RESERVED10: ib_qp_type = 4105; +pub type ib_qp_type = ::core::ffi::c_uint; +pub const ib_sig_err_type_IB_SIG_BAD_GUARD: ib_sig_err_type = 0; +pub const ib_sig_err_type_IB_SIG_BAD_REFTAG: ib_sig_err_type = 1; +pub const ib_sig_err_type_IB_SIG_BAD_APPTAG: ib_sig_err_type = 2; +pub type ib_sig_err_type = ::core::ffi::c_uint; +pub const ib_sig_type_IB_SIGNAL_ALL_WR: ib_sig_type = 0; +pub const ib_sig_type_IB_SIGNAL_REQ_WR: ib_sig_type = 1; +pub type ib_sig_type = ::core::ffi::c_uint; +pub const ib_signature_type_IB_SIG_TYPE_NONE: ib_signature_type = 0; +pub const ib_signature_type_IB_SIG_TYPE_T10_DIF: ib_signature_type = 1; +pub type ib_signature_type = ::core::ffi::c_uint; +pub const ib_srq_attr_mask_IB_SRQ_MAX_WR: ib_srq_attr_mask = 1; +pub const ib_srq_attr_mask_IB_SRQ_LIMIT: ib_srq_attr_mask = 2; +pub type ib_srq_attr_mask = ::core::ffi::c_uint; +pub const ib_srq_type_IB_SRQT_BASIC: ib_srq_type = 0; +pub const ib_srq_type_IB_SRQT_XRC: ib_srq_type = 1; +pub const ib_srq_type_IB_SRQT_TM: ib_srq_type = 2; +pub type ib_srq_type = ::core::ffi::c_uint; +pub const ib_t10_dif_bg_type_IB_T10DIF_CRC: ib_t10_dif_bg_type = 0; +pub const ib_t10_dif_bg_type_IB_T10DIF_CSUM: ib_t10_dif_bg_type = 1; +pub type ib_t10_dif_bg_type = ::core::ffi::c_uint; +pub const ib_uverbs_advise_mr_advice_IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH: + ib_uverbs_advise_mr_advice = 0; +pub const ib_uverbs_advise_mr_advice_IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE: + ib_uverbs_advise_mr_advice = 1; +pub const ib_uverbs_advise_mr_advice_IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT: + ib_uverbs_advise_mr_advice = 2; +pub type ib_uverbs_advise_mr_advice = ::core::ffi::c_uint; +pub const ib_wc_opcode_IB_WC_SEND: ib_wc_opcode = 0; +pub const ib_wc_opcode_IB_WC_RDMA_WRITE: ib_wc_opcode = 1; +pub const ib_wc_opcode_IB_WC_RDMA_READ: ib_wc_opcode = 2; +pub const ib_wc_opcode_IB_WC_COMP_SWAP: ib_wc_opcode = 3; +pub const ib_wc_opcode_IB_WC_FETCH_ADD: ib_wc_opcode = 4; +pub const ib_wc_opcode_IB_WC_BIND_MW: ib_wc_opcode = 5; +pub const ib_wc_opcode_IB_WC_LOCAL_INV: ib_wc_opcode = 6; +pub const ib_wc_opcode_IB_WC_LSO: ib_wc_opcode = 7; +pub const ib_wc_opcode_IB_WC_ATOMIC_WRITE: ib_wc_opcode = 9; +pub const ib_wc_opcode_IB_WC_REG_MR: ib_wc_opcode = 10; +pub const ib_wc_opcode_IB_WC_MASKED_COMP_SWAP: ib_wc_opcode = 11; +pub const ib_wc_opcode_IB_WC_MASKED_FETCH_ADD: ib_wc_opcode = 12; +pub const ib_wc_opcode_IB_WC_FLUSH: ib_wc_opcode = 8; +pub const ib_wc_opcode_IB_WC_RECV: ib_wc_opcode = 128; +pub const ib_wc_opcode_IB_WC_RECV_RDMA_WITH_IMM: ib_wc_opcode = 129; +pub type ib_wc_opcode = ::core::ffi::c_uint; +pub const ib_wc_status_IB_WC_SUCCESS: ib_wc_status = 0; +pub const ib_wc_status_IB_WC_LOC_LEN_ERR: ib_wc_status = 1; +pub const ib_wc_status_IB_WC_LOC_QP_OP_ERR: ib_wc_status = 2; +pub const ib_wc_status_IB_WC_LOC_EEC_OP_ERR: ib_wc_status = 3; +pub const ib_wc_status_IB_WC_LOC_PROT_ERR: ib_wc_status = 4; +pub const ib_wc_status_IB_WC_WR_FLUSH_ERR: ib_wc_status = 5; +pub const ib_wc_status_IB_WC_MW_BIND_ERR: ib_wc_status = 6; +pub const ib_wc_status_IB_WC_BAD_RESP_ERR: ib_wc_status = 7; +pub const ib_wc_status_IB_WC_LOC_ACCESS_ERR: ib_wc_status = 8; +pub const ib_wc_status_IB_WC_REM_INV_REQ_ERR: ib_wc_status = 9; +pub const ib_wc_status_IB_WC_REM_ACCESS_ERR: ib_wc_status = 10; +pub const ib_wc_status_IB_WC_REM_OP_ERR: ib_wc_status = 11; +pub const ib_wc_status_IB_WC_RETRY_EXC_ERR: ib_wc_status = 12; +pub const ib_wc_status_IB_WC_RNR_RETRY_EXC_ERR: ib_wc_status = 13; +pub const ib_wc_status_IB_WC_LOC_RDD_VIOL_ERR: ib_wc_status = 14; +pub const ib_wc_status_IB_WC_REM_INV_RD_REQ_ERR: ib_wc_status = 15; +pub const ib_wc_status_IB_WC_REM_ABORT_ERR: ib_wc_status = 16; +pub const ib_wc_status_IB_WC_INV_EECN_ERR: ib_wc_status = 17; +pub const ib_wc_status_IB_WC_INV_EEC_STATE_ERR: ib_wc_status = 18; +pub const ib_wc_status_IB_WC_FATAL_ERR: ib_wc_status = 19; +pub const ib_wc_status_IB_WC_RESP_TIMEOUT_ERR: ib_wc_status = 20; +pub const ib_wc_status_IB_WC_GENERAL_ERR: ib_wc_status = 21; +pub type ib_wc_status = ::core::ffi::c_uint; +pub const ib_wq_state_IB_WQS_RESET: ib_wq_state = 0; +pub const ib_wq_state_IB_WQS_RDY: ib_wq_state = 1; +pub const ib_wq_state_IB_WQS_ERR: ib_wq_state = 2; +pub type ib_wq_state = ::core::ffi::c_uint; +pub const ib_wq_type_IB_WQT_RQ: ib_wq_type = 0; +pub type ib_wq_type = ::core::ffi::c_uint; +pub const ib_wr_opcode_IB_WR_RDMA_WRITE: ib_wr_opcode = 0; +pub const ib_wr_opcode_IB_WR_RDMA_WRITE_WITH_IMM: ib_wr_opcode = 1; +pub const ib_wr_opcode_IB_WR_SEND: ib_wr_opcode = 2; +pub const ib_wr_opcode_IB_WR_SEND_WITH_IMM: ib_wr_opcode = 3; +pub const ib_wr_opcode_IB_WR_RDMA_READ: ib_wr_opcode = 4; +pub const ib_wr_opcode_IB_WR_ATOMIC_CMP_AND_SWP: ib_wr_opcode = 5; +pub const ib_wr_opcode_IB_WR_ATOMIC_FETCH_AND_ADD: ib_wr_opcode = 6; +pub const ib_wr_opcode_IB_WR_BIND_MW: ib_wr_opcode = 8; +pub const ib_wr_opcode_IB_WR_LSO: ib_wr_opcode = 10; +pub const ib_wr_opcode_IB_WR_SEND_WITH_INV: ib_wr_opcode = 9; +pub const ib_wr_opcode_IB_WR_RDMA_READ_WITH_INV: ib_wr_opcode = 11; +pub const ib_wr_opcode_IB_WR_LOCAL_INV: ib_wr_opcode = 7; +pub const ib_wr_opcode_IB_WR_MASKED_ATOMIC_CMP_AND_SWP: ib_wr_opcode = 12; +pub const ib_wr_opcode_IB_WR_MASKED_ATOMIC_FETCH_AND_ADD: ib_wr_opcode = 13; +pub const ib_wr_opcode_IB_WR_FLUSH: ib_wr_opcode = 14; +pub const ib_wr_opcode_IB_WR_ATOMIC_WRITE: ib_wr_opcode = 15; +pub const ib_wr_opcode_IB_WR_REG_MR: ib_wr_opcode = 32; +pub const ib_wr_opcode_IB_WR_REG_MR_INTEGRITY: ib_wr_opcode = 33; +pub const ib_wr_opcode_IB_WR_RESERVED1: ib_wr_opcode = 240; +pub const ib_wr_opcode_IB_WR_RESERVED2: ib_wr_opcode = 241; +pub const ib_wr_opcode_IB_WR_RESERVED3: ib_wr_opcode = 242; +pub const ib_wr_opcode_IB_WR_RESERVED4: ib_wr_opcode = 243; +pub const ib_wr_opcode_IB_WR_RESERVED5: ib_wr_opcode = 244; +pub const ib_wr_opcode_IB_WR_RESERVED6: ib_wr_opcode = 245; +pub const ib_wr_opcode_IB_WR_RESERVED7: ib_wr_opcode = 246; +pub const ib_wr_opcode_IB_WR_RESERVED8: ib_wr_opcode = 247; +pub const ib_wr_opcode_IB_WR_RESERVED9: ib_wr_opcode = 248; +pub const ib_wr_opcode_IB_WR_RESERVED10: ib_wr_opcode = 249; +pub type ib_wr_opcode = ::core::ffi::c_uint; +pub const ieee80211_bss_type_IEEE80211_BSS_TYPE_ESS: ieee80211_bss_type = 0; +pub const ieee80211_bss_type_IEEE80211_BSS_TYPE_PBSS: ieee80211_bss_type = 1; +pub const ieee80211_bss_type_IEEE80211_BSS_TYPE_IBSS: ieee80211_bss_type = 2; +pub const ieee80211_bss_type_IEEE80211_BSS_TYPE_MBSS: ieee80211_bss_type = 3; +pub const ieee80211_bss_type_IEEE80211_BSS_TYPE_ANY: ieee80211_bss_type = 4; +pub type ieee80211_bss_type = ::core::ffi::c_uint; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_4: ieee80211_edmg_bw_config = 4; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_5: ieee80211_edmg_bw_config = 5; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_6: ieee80211_edmg_bw_config = 6; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_7: ieee80211_edmg_bw_config = 7; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_8: ieee80211_edmg_bw_config = 8; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_9: ieee80211_edmg_bw_config = 9; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_10: ieee80211_edmg_bw_config = 10; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_11: ieee80211_edmg_bw_config = 11; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_12: ieee80211_edmg_bw_config = 12; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_13: ieee80211_edmg_bw_config = 13; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_14: ieee80211_edmg_bw_config = 14; +pub const ieee80211_edmg_bw_config_IEEE80211_EDMG_BW_CONFIG_15: ieee80211_edmg_bw_config = 15; +pub type ieee80211_edmg_bw_config = ::core::ffi::c_uint; +pub const ieee802154_filtering_level_IEEE802154_FILTERING_NONE: ieee802154_filtering_level = 0; +pub const ieee802154_filtering_level_IEEE802154_FILTERING_1_FCS: ieee802154_filtering_level = 1; +pub const ieee802154_filtering_level_IEEE802154_FILTERING_2_PROMISCUOUS: + ieee802154_filtering_level = 2; +pub const ieee802154_filtering_level_IEEE802154_FILTERING_3_SCAN: ieee802154_filtering_level = 3; +pub const ieee802154_filtering_level_IEEE802154_FILTERING_4_FRAME_FIELDS: + ieee802154_filtering_level = 4; +pub type ieee802154_filtering_level = ::core::ffi::c_uint; +pub const iommu_cap_IOMMU_CAP_CACHE_COHERENCY: iommu_cap = 0; +pub const iommu_cap_IOMMU_CAP_NOEXEC: iommu_cap = 1; +pub const iommu_cap_IOMMU_CAP_PRE_BOOT_PROTECTION: iommu_cap = 2; +pub const iommu_cap_IOMMU_CAP_ENFORCE_CACHE_COHERENCY: iommu_cap = 3; +pub const iommu_cap_IOMMU_CAP_DEFERRED_FLUSH: iommu_cap = 4; +pub const iommu_cap_IOMMU_CAP_DIRTY_TRACKING: iommu_cap = 5; +pub type iommu_cap = ::core::ffi::c_uint; +pub const iommu_dev_features_IOMMU_DEV_FEAT_SVA: iommu_dev_features = 0; +pub const iommu_dev_features_IOMMU_DEV_FEAT_IOPF: iommu_dev_features = 1; +pub type iommu_dev_features = ::core::ffi::c_uint; +pub const iommu_dma_cookie_type_IOMMU_DMA_IOVA_COOKIE: iommu_dma_cookie_type = 0; +pub const iommu_dma_cookie_type_IOMMU_DMA_MSI_COOKIE: iommu_dma_cookie_type = 1; +pub type iommu_dma_cookie_type = ::core::ffi::c_uint; +pub const iommu_dma_queue_type_IOMMU_DMA_OPTS_PER_CPU_QUEUE: iommu_dma_queue_type = 0; +pub const iommu_dma_queue_type_IOMMU_DMA_OPTS_SINGLE_QUEUE: iommu_dma_queue_type = 1; +pub type iommu_dma_queue_type = ::core::ffi::c_uint; +pub const ip_conntrack_dir_IP_CT_DIR_ORIGINAL: ip_conntrack_dir = 0; +pub const ip_conntrack_dir_IP_CT_DIR_REPLY: ip_conntrack_dir = 1; +pub const ip_conntrack_dir_IP_CT_DIR_MAX: ip_conntrack_dir = 2; +pub type ip_conntrack_dir = ::core::ffi::c_uint; +pub const irq_alloc_type_X86_IRQ_ALLOC_TYPE_IOAPIC: irq_alloc_type = 1; +pub const irq_alloc_type_X86_IRQ_ALLOC_TYPE_HPET: irq_alloc_type = 2; +pub const irq_alloc_type_X86_IRQ_ALLOC_TYPE_PCI_MSI: irq_alloc_type = 3; +pub const irq_alloc_type_X86_IRQ_ALLOC_TYPE_PCI_MSIX: irq_alloc_type = 4; +pub const irq_alloc_type_X86_IRQ_ALLOC_TYPE_DMAR: irq_alloc_type = 5; +pub const irq_alloc_type_X86_IRQ_ALLOC_TYPE_AMDVI: irq_alloc_type = 6; +pub const irq_alloc_type_X86_IRQ_ALLOC_TYPE_UV: irq_alloc_type = 7; +pub type irq_alloc_type = ::core::ffi::c_uint; +pub const irq_domain_bus_token_DOMAIN_BUS_ANY: irq_domain_bus_token = 0; +pub const irq_domain_bus_token_DOMAIN_BUS_WIRED: irq_domain_bus_token = 1; +pub const irq_domain_bus_token_DOMAIN_BUS_GENERIC_MSI: irq_domain_bus_token = 2; +pub const irq_domain_bus_token_DOMAIN_BUS_PCI_MSI: irq_domain_bus_token = 3; +pub const irq_domain_bus_token_DOMAIN_BUS_PLATFORM_MSI: irq_domain_bus_token = 4; +pub const irq_domain_bus_token_DOMAIN_BUS_NEXUS: irq_domain_bus_token = 5; +pub const irq_domain_bus_token_DOMAIN_BUS_IPI: irq_domain_bus_token = 6; +pub const irq_domain_bus_token_DOMAIN_BUS_FSL_MC_MSI: irq_domain_bus_token = 7; +pub const irq_domain_bus_token_DOMAIN_BUS_TI_SCI_INTA_MSI: irq_domain_bus_token = 8; +pub const irq_domain_bus_token_DOMAIN_BUS_WAKEUP: irq_domain_bus_token = 9; +pub const irq_domain_bus_token_DOMAIN_BUS_VMD_MSI: irq_domain_bus_token = 10; +pub const irq_domain_bus_token_DOMAIN_BUS_PCI_DEVICE_MSI: irq_domain_bus_token = 11; +pub const irq_domain_bus_token_DOMAIN_BUS_PCI_DEVICE_MSIX: irq_domain_bus_token = 12; +pub const irq_domain_bus_token_DOMAIN_BUS_DMAR: irq_domain_bus_token = 13; +pub const irq_domain_bus_token_DOMAIN_BUS_AMDVI: irq_domain_bus_token = 14; +pub const irq_domain_bus_token_DOMAIN_BUS_DEVICE_MSI: irq_domain_bus_token = 15; +pub const irq_domain_bus_token_DOMAIN_BUS_WIRED_TO_MSI: irq_domain_bus_token = 16; +pub type irq_domain_bus_token = ::core::ffi::c_uint; +pub const irq_gc_flags_IRQ_GC_INIT_MASK_CACHE: irq_gc_flags = 1; +pub const irq_gc_flags_IRQ_GC_INIT_NESTED_LOCK: irq_gc_flags = 2; +pub const irq_gc_flags_IRQ_GC_MASK_CACHE_PER_TYPE: irq_gc_flags = 4; +pub const irq_gc_flags_IRQ_GC_NO_MASK: irq_gc_flags = 8; +pub const irq_gc_flags_IRQ_GC_BE_IO: irq_gc_flags = 16; +pub type irq_gc_flags = ::core::ffi::c_uint; +pub const irqchip_irq_state_IRQCHIP_STATE_PENDING: irqchip_irq_state = 0; +pub const irqchip_irq_state_IRQCHIP_STATE_ACTIVE: irqchip_irq_state = 1; +pub const irqchip_irq_state_IRQCHIP_STATE_MASKED: irqchip_irq_state = 2; +pub const irqchip_irq_state_IRQCHIP_STATE_LINE_LEVEL: irqchip_irq_state = 3; +pub type irqchip_irq_state = ::core::ffi::c_uint; +pub const irqreturn_IRQ_NONE: irqreturn = 0; +pub const irqreturn_IRQ_HANDLED: irqreturn = 1; +pub const irqreturn_IRQ_WAKE_THREAD: irqreturn = 2; +pub type irqreturn = ::core::ffi::c_uint; +pub use self::irqreturn as irqreturn_t; +pub const kernel_pkey_operation_kernel_pkey_encrypt: kernel_pkey_operation = 0; +pub const kernel_pkey_operation_kernel_pkey_decrypt: kernel_pkey_operation = 1; +pub const kernel_pkey_operation_kernel_pkey_sign: kernel_pkey_operation = 2; +pub const kernel_pkey_operation_kernel_pkey_verify: kernel_pkey_operation = 3; +pub type kernel_pkey_operation = ::core::ffi::c_uint; +pub const kobj_ns_type_KOBJ_NS_TYPE_NONE: kobj_ns_type = 0; +pub const kobj_ns_type_KOBJ_NS_TYPE_NET: kobj_ns_type = 1; +pub const kobj_ns_type_KOBJ_NS_TYPES: kobj_ns_type = 2; +pub type kobj_ns_type = ::core::ffi::c_uint; +pub const led_brightness_LED_OFF: led_brightness = 0; +pub const led_brightness_LED_ON: led_brightness = 1; +pub const led_brightness_LED_HALF: led_brightness = 127; +pub const led_brightness_LED_FULL: led_brightness = 255; +pub type led_brightness = ::core::ffi::c_uint; +pub const macsec_offload_MACSEC_OFFLOAD_OFF: macsec_offload = 0; +pub const macsec_offload_MACSEC_OFFLOAD_PHY: macsec_offload = 1; +pub const macsec_offload_MACSEC_OFFLOAD_MAC: macsec_offload = 2; +pub const macsec_offload___MACSEC_OFFLOAD_END: macsec_offload = 3; +pub const macsec_offload_MACSEC_OFFLOAD_MAX: macsec_offload = 2; +pub type macsec_offload = ::core::ffi::c_uint; +pub const macsec_validation_type_MACSEC_VALIDATE_DISABLED: macsec_validation_type = 0; +pub const macsec_validation_type_MACSEC_VALIDATE_CHECK: macsec_validation_type = 1; +pub const macsec_validation_type_MACSEC_VALIDATE_STRICT: macsec_validation_type = 2; +pub const macsec_validation_type___MACSEC_VALIDATE_END: macsec_validation_type = 3; +pub const macsec_validation_type_MACSEC_VALIDATE_MAX: macsec_validation_type = 2; +pub type macsec_validation_type = ::core::ffi::c_uint; +pub const memory_type_MEMORY_DEVICE_PRIVATE: memory_type = 1; +pub const memory_type_MEMORY_DEVICE_COHERENT: memory_type = 2; +pub const memory_type_MEMORY_DEVICE_FS_DAX: memory_type = 3; +pub const memory_type_MEMORY_DEVICE_GENERIC: memory_type = 4; +pub const memory_type_MEMORY_DEVICE_PCI_P2PDMA: memory_type = 5; +pub type memory_type = ::core::ffi::c_uint; +pub const metadata_type_METADATA_IP_TUNNEL: metadata_type = 0; +pub const metadata_type_METADATA_HW_PORT_MUX: metadata_type = 1; +pub const metadata_type_METADATA_MACSEC: metadata_type = 2; +pub const metadata_type_METADATA_XFRM: metadata_type = 3; +pub type metadata_type = ::core::ffi::c_uint; +pub const migrate_mode_MIGRATE_ASYNC: migrate_mode = 0; +pub const migrate_mode_MIGRATE_SYNC_LIGHT: migrate_mode = 1; +pub const migrate_mode_MIGRATE_SYNC: migrate_mode = 2; +pub type migrate_mode = ::core::ffi::c_uint; +pub const module_state_MODULE_STATE_LIVE: module_state = 0; +pub const module_state_MODULE_STATE_COMING: module_state = 1; +pub const module_state_MODULE_STATE_GOING: module_state = 2; +pub const module_state_MODULE_STATE_UNFORMED: module_state = 3; +pub type module_state = ::core::ffi::c_uint; +pub const mq_rq_state_MQ_RQ_IDLE: mq_rq_state = 0; +pub const mq_rq_state_MQ_RQ_IN_FLIGHT: mq_rq_state = 1; +pub const mq_rq_state_MQ_RQ_COMPLETE: mq_rq_state = 2; +pub type mq_rq_state = ::core::ffi::c_uint; +pub const net_device_path_type_DEV_PATH_ETHERNET: net_device_path_type = 0; +pub const net_device_path_type_DEV_PATH_VLAN: net_device_path_type = 1; +pub const net_device_path_type_DEV_PATH_BRIDGE: net_device_path_type = 2; +pub const net_device_path_type_DEV_PATH_PPPOE: net_device_path_type = 3; +pub const net_device_path_type_DEV_PATH_DSA: net_device_path_type = 4; +pub const net_device_path_type_DEV_PATH_MTK_WDMA: net_device_path_type = 5; +pub type net_device_path_type = ::core::ffi::c_uint; +pub const netdev_lag_hash_NETDEV_LAG_HASH_NONE: netdev_lag_hash = 0; +pub const netdev_lag_hash_NETDEV_LAG_HASH_L2: netdev_lag_hash = 1; +pub const netdev_lag_hash_NETDEV_LAG_HASH_L34: netdev_lag_hash = 2; +pub const netdev_lag_hash_NETDEV_LAG_HASH_L23: netdev_lag_hash = 3; +pub const netdev_lag_hash_NETDEV_LAG_HASH_E23: netdev_lag_hash = 4; +pub const netdev_lag_hash_NETDEV_LAG_HASH_E34: netdev_lag_hash = 5; +pub const netdev_lag_hash_NETDEV_LAG_HASH_VLAN_SRCMAC: netdev_lag_hash = 6; +pub const netdev_lag_hash_NETDEV_LAG_HASH_UNKNOWN: netdev_lag_hash = 7; +pub type netdev_lag_hash = ::core::ffi::c_uint; +pub const netdev_lag_tx_type_NETDEV_LAG_TX_TYPE_UNKNOWN: netdev_lag_tx_type = 0; +pub const netdev_lag_tx_type_NETDEV_LAG_TX_TYPE_RANDOM: netdev_lag_tx_type = 1; +pub const netdev_lag_tx_type_NETDEV_LAG_TX_TYPE_BROADCAST: netdev_lag_tx_type = 2; +pub const netdev_lag_tx_type_NETDEV_LAG_TX_TYPE_ROUNDROBIN: netdev_lag_tx_type = 3; +pub const netdev_lag_tx_type_NETDEV_LAG_TX_TYPE_ACTIVEBACKUP: netdev_lag_tx_type = 4; +pub const netdev_lag_tx_type_NETDEV_LAG_TX_TYPE_HASH: netdev_lag_tx_type = 5; +pub type netdev_lag_tx_type = ::core::ffi::c_uint; +pub const netdev_ml_priv_type_ML_PRIV_NONE: netdev_ml_priv_type = 0; +pub const netdev_ml_priv_type_ML_PRIV_CAN: netdev_ml_priv_type = 1; +pub type netdev_ml_priv_type = ::core::ffi::c_uint; +pub const netdev_stat_type_NETDEV_PCPU_STAT_NONE: netdev_stat_type = 0; +pub const netdev_stat_type_NETDEV_PCPU_STAT_LSTATS: netdev_stat_type = 1; +pub const netdev_stat_type_NETDEV_PCPU_STAT_TSTATS: netdev_stat_type = 2; +pub const netdev_stat_type_NETDEV_PCPU_STAT_DSTATS: netdev_stat_type = 3; +pub type netdev_stat_type = ::core::ffi::c_uint; +pub const netdev_tx___NETDEV_TX_MIN: netdev_tx = -2147483648; +pub const netdev_tx_NETDEV_TX_OK: netdev_tx = 0; +pub const netdev_tx_NETDEV_TX_BUSY: netdev_tx = 16; +pub type netdev_tx = ::core::ffi::c_int; +pub use self::netdev_tx as netdev_tx_t; +pub const nf_log_type_NF_LOG_TYPE_LOG: nf_log_type = 0; +pub const nf_log_type_NF_LOG_TYPE_ULOG: nf_log_type = 1; +pub const nf_log_type_NF_LOG_TYPE_MAX: nf_log_type = 2; +pub type nf_log_type = ::core::ffi::c_uint; +pub const nfs3_stable_how_NFS_UNSTABLE: nfs3_stable_how = 0; +pub const nfs3_stable_how_NFS_DATA_SYNC: nfs3_stable_how = 1; +pub const nfs3_stable_how_NFS_FILE_SYNC: nfs3_stable_how = 2; +pub const nfs3_stable_how_NFS_INVALID_STABLE_HOW: nfs3_stable_how = -1; +pub type nfs3_stable_how = ::core::ffi::c_int; +pub const nfs4_change_attr_type_NFS4_CHANGE_TYPE_IS_MONOTONIC_INCR: nfs4_change_attr_type = 0; +pub const nfs4_change_attr_type_NFS4_CHANGE_TYPE_IS_VERSION_COUNTER: nfs4_change_attr_type = 1; +pub const nfs4_change_attr_type_NFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS: nfs4_change_attr_type = + 2; +pub const nfs4_change_attr_type_NFS4_CHANGE_TYPE_IS_TIME_METADATA: nfs4_change_attr_type = 3; +pub const nfs4_change_attr_type_NFS4_CHANGE_TYPE_IS_UNDEFINED: nfs4_change_attr_type = 4; +pub type nfs4_change_attr_type = ::core::ffi::c_uint; +pub const nl80211_auth_type_NL80211_AUTHTYPE_OPEN_SYSTEM: nl80211_auth_type = 0; +pub const nl80211_auth_type_NL80211_AUTHTYPE_SHARED_KEY: nl80211_auth_type = 1; +pub const nl80211_auth_type_NL80211_AUTHTYPE_FT: nl80211_auth_type = 2; +pub const nl80211_auth_type_NL80211_AUTHTYPE_NETWORK_EAP: nl80211_auth_type = 3; +pub const nl80211_auth_type_NL80211_AUTHTYPE_SAE: nl80211_auth_type = 4; +pub const nl80211_auth_type_NL80211_AUTHTYPE_FILS_SK: nl80211_auth_type = 5; +pub const nl80211_auth_type_NL80211_AUTHTYPE_FILS_SK_PFS: nl80211_auth_type = 6; +pub const nl80211_auth_type_NL80211_AUTHTYPE_FILS_PK: nl80211_auth_type = 7; +pub const nl80211_auth_type___NL80211_AUTHTYPE_NUM: nl80211_auth_type = 8; +pub const nl80211_auth_type_NL80211_AUTHTYPE_MAX: nl80211_auth_type = 7; +pub const nl80211_auth_type_NL80211_AUTHTYPE_AUTOMATIC: nl80211_auth_type = 8; +pub type nl80211_auth_type = ::core::ffi::c_uint; +pub const nl80211_band_NL80211_BAND_2GHZ: nl80211_band = 0; +pub const nl80211_band_NL80211_BAND_5GHZ: nl80211_band = 1; +pub const nl80211_band_NL80211_BAND_60GHZ: nl80211_band = 2; +pub const nl80211_band_NL80211_BAND_6GHZ: nl80211_band = 3; +pub const nl80211_band_NL80211_BAND_S1GHZ: nl80211_band = 4; +pub const nl80211_band_NL80211_BAND_LC: nl80211_band = 5; +pub const nl80211_band_NUM_NL80211_BANDS: nl80211_band = 6; +pub type nl80211_band = ::core::ffi::c_uint; +pub const nl80211_bss_select_attr___NL80211_BSS_SELECT_ATTR_INVALID: nl80211_bss_select_attr = 0; +pub const nl80211_bss_select_attr_NL80211_BSS_SELECT_ATTR_RSSI: nl80211_bss_select_attr = 1; +pub const nl80211_bss_select_attr_NL80211_BSS_SELECT_ATTR_BAND_PREF: nl80211_bss_select_attr = 2; +pub const nl80211_bss_select_attr_NL80211_BSS_SELECT_ATTR_RSSI_ADJUST: nl80211_bss_select_attr = 3; +pub const nl80211_bss_select_attr___NL80211_BSS_SELECT_ATTR_AFTER_LAST: nl80211_bss_select_attr = 4; +pub const nl80211_bss_select_attr_NL80211_BSS_SELECT_ATTR_MAX: nl80211_bss_select_attr = 3; +pub type nl80211_bss_select_attr = ::core::ffi::c_uint; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_20_NOHT: nl80211_chan_width = 0; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_20: nl80211_chan_width = 1; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_40: nl80211_chan_width = 2; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_80: nl80211_chan_width = 3; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_80P80: nl80211_chan_width = 4; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_160: nl80211_chan_width = 5; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_5: nl80211_chan_width = 6; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_10: nl80211_chan_width = 7; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_1: nl80211_chan_width = 8; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_2: nl80211_chan_width = 9; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_4: nl80211_chan_width = 10; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_8: nl80211_chan_width = 11; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_16: nl80211_chan_width = 12; +pub const nl80211_chan_width_NL80211_CHAN_WIDTH_320: nl80211_chan_width = 13; +pub type nl80211_chan_width = ::core::ffi::c_uint; +pub const nl80211_dfs_regions_NL80211_DFS_UNSET: nl80211_dfs_regions = 0; +pub const nl80211_dfs_regions_NL80211_DFS_FCC: nl80211_dfs_regions = 1; +pub const nl80211_dfs_regions_NL80211_DFS_ETSI: nl80211_dfs_regions = 2; +pub const nl80211_dfs_regions_NL80211_DFS_JP: nl80211_dfs_regions = 3; +pub type nl80211_dfs_regions = ::core::ffi::c_uint; +pub const nl80211_dfs_state_NL80211_DFS_USABLE: nl80211_dfs_state = 0; +pub const nl80211_dfs_state_NL80211_DFS_UNAVAILABLE: nl80211_dfs_state = 1; +pub const nl80211_dfs_state_NL80211_DFS_AVAILABLE: nl80211_dfs_state = 2; +pub type nl80211_dfs_state = ::core::ffi::c_uint; +pub const nl80211_iftype_NL80211_IFTYPE_UNSPECIFIED: nl80211_iftype = 0; +pub const nl80211_iftype_NL80211_IFTYPE_ADHOC: nl80211_iftype = 1; +pub const nl80211_iftype_NL80211_IFTYPE_STATION: nl80211_iftype = 2; +pub const nl80211_iftype_NL80211_IFTYPE_AP: nl80211_iftype = 3; +pub const nl80211_iftype_NL80211_IFTYPE_AP_VLAN: nl80211_iftype = 4; +pub const nl80211_iftype_NL80211_IFTYPE_WDS: nl80211_iftype = 5; +pub const nl80211_iftype_NL80211_IFTYPE_MONITOR: nl80211_iftype = 6; +pub const nl80211_iftype_NL80211_IFTYPE_MESH_POINT: nl80211_iftype = 7; +pub const nl80211_iftype_NL80211_IFTYPE_P2P_CLIENT: nl80211_iftype = 8; +pub const nl80211_iftype_NL80211_IFTYPE_P2P_GO: nl80211_iftype = 9; +pub const nl80211_iftype_NL80211_IFTYPE_P2P_DEVICE: nl80211_iftype = 10; +pub const nl80211_iftype_NL80211_IFTYPE_OCB: nl80211_iftype = 11; +pub const nl80211_iftype_NL80211_IFTYPE_NAN: nl80211_iftype = 12; +pub const nl80211_iftype_NUM_NL80211_IFTYPES: nl80211_iftype = 13; +pub const nl80211_iftype_NL80211_IFTYPE_MAX: nl80211_iftype = 12; +pub type nl80211_iftype = ::core::ffi::c_uint; +pub const nl80211_key_mode_NL80211_KEY_RX_TX: nl80211_key_mode = 0; +pub const nl80211_key_mode_NL80211_KEY_NO_TX: nl80211_key_mode = 1; +pub const nl80211_key_mode_NL80211_KEY_SET_TX: nl80211_key_mode = 2; +pub type nl80211_key_mode = ::core::ffi::c_uint; +pub const nl80211_mfp_NL80211_MFP_NO: nl80211_mfp = 0; +pub const nl80211_mfp_NL80211_MFP_REQUIRED: nl80211_mfp = 1; +pub const nl80211_mfp_NL80211_MFP_OPTIONAL: nl80211_mfp = 2; +pub type nl80211_mfp = ::core::ffi::c_uint; +pub const nl80211_reg_initiator_NL80211_REGDOM_SET_BY_CORE: nl80211_reg_initiator = 0; +pub const nl80211_reg_initiator_NL80211_REGDOM_SET_BY_USER: nl80211_reg_initiator = 1; +pub const nl80211_reg_initiator_NL80211_REGDOM_SET_BY_DRIVER: nl80211_reg_initiator = 2; +pub const nl80211_reg_initiator_NL80211_REGDOM_SET_BY_COUNTRY_IE: nl80211_reg_initiator = 3; +pub type nl80211_reg_initiator = ::core::ffi::c_uint; +pub const nl80211_sae_pwe_mechanism_NL80211_SAE_PWE_UNSPECIFIED: nl80211_sae_pwe_mechanism = 0; +pub const nl80211_sae_pwe_mechanism_NL80211_SAE_PWE_HUNT_AND_PECK: nl80211_sae_pwe_mechanism = 1; +pub const nl80211_sae_pwe_mechanism_NL80211_SAE_PWE_HASH_TO_ELEMENT: nl80211_sae_pwe_mechanism = 2; +pub const nl80211_sae_pwe_mechanism_NL80211_SAE_PWE_BOTH: nl80211_sae_pwe_mechanism = 3; +pub type nl80211_sae_pwe_mechanism = ::core::ffi::c_uint; +pub const nl80211_sar_type_NL80211_SAR_TYPE_POWER: nl80211_sar_type = 0; +pub const nl80211_sar_type_NUM_NL80211_SAR_TYPE: nl80211_sar_type = 1; +pub type nl80211_sar_type = ::core::ffi::c_uint; +pub const nl80211_user_reg_hint_type_NL80211_USER_REG_HINT_USER: nl80211_user_reg_hint_type = 0; +pub const nl80211_user_reg_hint_type_NL80211_USER_REG_HINT_CELL_BASE: nl80211_user_reg_hint_type = + 1; +pub const nl80211_user_reg_hint_type_NL80211_USER_REG_HINT_INDOOR: nl80211_user_reg_hint_type = 2; +pub type nl80211_user_reg_hint_type = ::core::ffi::c_uint; +pub const nl802154_cca_modes___NL802154_CCA_INVALID: nl802154_cca_modes = 0; +pub const nl802154_cca_modes_NL802154_CCA_ENERGY: nl802154_cca_modes = 1; +pub const nl802154_cca_modes_NL802154_CCA_CARRIER: nl802154_cca_modes = 2; +pub const nl802154_cca_modes_NL802154_CCA_ENERGY_CARRIER: nl802154_cca_modes = 3; +pub const nl802154_cca_modes_NL802154_CCA_ALOHA: nl802154_cca_modes = 4; +pub const nl802154_cca_modes_NL802154_CCA_UWB_SHR: nl802154_cca_modes = 5; +pub const nl802154_cca_modes_NL802154_CCA_UWB_MULTIPLEXED: nl802154_cca_modes = 6; +pub const nl802154_cca_modes___NL802154_CCA_ATTR_AFTER_LAST: nl802154_cca_modes = 7; +pub const nl802154_cca_modes_NL802154_CCA_ATTR_MAX: nl802154_cca_modes = 6; +pub type nl802154_cca_modes = ::core::ffi::c_uint; +pub const nl802154_cca_opts_NL802154_CCA_OPT_ENERGY_CARRIER_AND: nl802154_cca_opts = 0; +pub const nl802154_cca_opts_NL802154_CCA_OPT_ENERGY_CARRIER_OR: nl802154_cca_opts = 1; +pub const nl802154_cca_opts___NL802154_CCA_OPT_ATTR_AFTER_LAST: nl802154_cca_opts = 2; +pub const nl802154_cca_opts_NL802154_CCA_OPT_ATTR_MAX: nl802154_cca_opts = 1; +pub type nl802154_cca_opts = ::core::ffi::c_uint; +pub const nl802154_supported_bool_states_NL802154_SUPPORTED_BOOL_FALSE: + nl802154_supported_bool_states = 0; +pub const nl802154_supported_bool_states_NL802154_SUPPORTED_BOOL_TRUE: + nl802154_supported_bool_states = 1; +pub const nl802154_supported_bool_states___NL802154_SUPPORTED_BOOL_INVALD: + nl802154_supported_bool_states = 2; +pub const nl802154_supported_bool_states_NL802154_SUPPORTED_BOOL_BOTH: + nl802154_supported_bool_states = 3; +pub const nl802154_supported_bool_states___NL802154_SUPPORTED_BOOL_AFTER_LAST: + nl802154_supported_bool_states = 4; +pub const nl802154_supported_bool_states_NL802154_SUPPORTED_BOOL_MAX: + nl802154_supported_bool_states = 3; +pub type nl802154_supported_bool_states = ::core::ffi::c_uint; +pub const perf_event_state_PERF_EVENT_STATE_DEAD: perf_event_state = -4; +pub const perf_event_state_PERF_EVENT_STATE_EXIT: perf_event_state = -3; +pub const perf_event_state_PERF_EVENT_STATE_ERROR: perf_event_state = -2; +pub const perf_event_state_PERF_EVENT_STATE_OFF: perf_event_state = -1; +pub const perf_event_state_PERF_EVENT_STATE_INACTIVE: perf_event_state = 0; +pub const perf_event_state_PERF_EVENT_STATE_ACTIVE: perf_event_state = 1; +pub type perf_event_state = ::core::ffi::c_int; +pub const phy_state_PHY_DOWN: phy_state = 0; +pub const phy_state_PHY_READY: phy_state = 1; +pub const phy_state_PHY_HALTED: phy_state = 2; +pub const phy_state_PHY_ERROR: phy_state = 3; +pub const phy_state_PHY_UP: phy_state = 4; +pub const phy_state_PHY_RUNNING: phy_state = 5; +pub const phy_state_PHY_NOLINK: phy_state = 6; +pub const phy_state_PHY_CABLETEST: phy_state = 7; +pub type phy_state = ::core::ffi::c_uint; +pub const phylink_op_type_PHYLINK_NETDEV: phylink_op_type = 0; +pub const phylink_op_type_PHYLINK_DEV: phylink_op_type = 1; +pub type phylink_op_type = ::core::ffi::c_uint; +pub const pid_type_PIDTYPE_PID: pid_type = 0; +pub const pid_type_PIDTYPE_TGID: pid_type = 1; +pub const pid_type_PIDTYPE_PGID: pid_type = 2; +pub const pid_type_PIDTYPE_SID: pid_type = 3; +pub const pid_type_PIDTYPE_MAX: pid_type = 4; +pub type pid_type = ::core::ffi::c_uint; +pub const pm_qos_type_PM_QOS_UNITIALIZED: pm_qos_type = 0; +pub const pm_qos_type_PM_QOS_MAX: pm_qos_type = 1; +pub const pm_qos_type_PM_QOS_MIN: pm_qos_type = 2; +pub type pm_qos_type = ::core::ffi::c_uint; +pub const port_pkey_state_IB_PORT_PKEY_NOT_VALID: port_pkey_state = 0; +pub const port_pkey_state_IB_PORT_PKEY_VALID: port_pkey_state = 1; +pub const port_pkey_state_IB_PORT_PKEY_LISTED: port_pkey_state = 2; +pub type port_pkey_state = ::core::ffi::c_uint; +pub const pr_type_PR_WRITE_EXCLUSIVE: pr_type = 1; +pub const pr_type_PR_EXCLUSIVE_ACCESS: pr_type = 2; +pub const pr_type_PR_WRITE_EXCLUSIVE_REG_ONLY: pr_type = 3; +pub const pr_type_PR_EXCLUSIVE_ACCESS_REG_ONLY: pr_type = 4; +pub const pr_type_PR_WRITE_EXCLUSIVE_ALL_REGS: pr_type = 5; +pub const pr_type_PR_EXCLUSIVE_ACCESS_ALL_REGS: pr_type = 6; +pub type pr_type = ::core::ffi::c_uint; +pub const print_line_t_TRACE_TYPE_PARTIAL_LINE: print_line_t = 0; +pub const print_line_t_TRACE_TYPE_HANDLED: print_line_t = 1; +pub const print_line_t_TRACE_TYPE_UNHANDLED: print_line_t = 2; +pub const print_line_t_TRACE_TYPE_NO_CONSUME: print_line_t = 3; +pub type print_line_t = ::core::ffi::c_uint; +pub const probe_type_PROBE_DEFAULT_STRATEGY: probe_type = 0; +pub const probe_type_PROBE_PREFER_ASYNCHRONOUS: probe_type = 1; +pub const probe_type_PROBE_FORCE_SYNCHRONOUS: probe_type = 2; +pub type probe_type = ::core::ffi::c_uint; +pub const pse_pi_pairset_pinout_ALTERNATIVE_A: pse_pi_pairset_pinout = 0; +pub const pse_pi_pairset_pinout_ALTERNATIVE_B: pse_pi_pairset_pinout = 1; +pub type pse_pi_pairset_pinout = ::core::ffi::c_uint; +pub const quota_type_USRQUOTA: quota_type = 0; +pub const quota_type_GRPQUOTA: quota_type = 1; +pub const quota_type_PRJQUOTA: quota_type = 2; +pub type quota_type = ::core::ffi::c_uint; +pub const rdma_ah_attr_type_RDMA_AH_ATTR_TYPE_UNDEFINED: rdma_ah_attr_type = 0; +pub const rdma_ah_attr_type_RDMA_AH_ATTR_TYPE_IB: rdma_ah_attr_type = 1; +pub const rdma_ah_attr_type_RDMA_AH_ATTR_TYPE_ROCE: rdma_ah_attr_type = 2; +pub const rdma_ah_attr_type_RDMA_AH_ATTR_TYPE_OPA: rdma_ah_attr_type = 3; +pub type rdma_ah_attr_type = ::core::ffi::c_uint; +pub const rdma_driver_id_RDMA_DRIVER_UNKNOWN: rdma_driver_id = 0; +pub const rdma_driver_id_RDMA_DRIVER_MLX5: rdma_driver_id = 1; +pub const rdma_driver_id_RDMA_DRIVER_MLX4: rdma_driver_id = 2; +pub const rdma_driver_id_RDMA_DRIVER_CXGB3: rdma_driver_id = 3; +pub const rdma_driver_id_RDMA_DRIVER_CXGB4: rdma_driver_id = 4; +pub const rdma_driver_id_RDMA_DRIVER_MTHCA: rdma_driver_id = 5; +pub const rdma_driver_id_RDMA_DRIVER_BNXT_RE: rdma_driver_id = 6; +pub const rdma_driver_id_RDMA_DRIVER_OCRDMA: rdma_driver_id = 7; +pub const rdma_driver_id_RDMA_DRIVER_NES: rdma_driver_id = 8; +pub const rdma_driver_id_RDMA_DRIVER_I40IW: rdma_driver_id = 9; +pub const rdma_driver_id_RDMA_DRIVER_IRDMA: rdma_driver_id = 9; +pub const rdma_driver_id_RDMA_DRIVER_VMW_PVRDMA: rdma_driver_id = 10; +pub const rdma_driver_id_RDMA_DRIVER_QEDR: rdma_driver_id = 11; +pub const rdma_driver_id_RDMA_DRIVER_HNS: rdma_driver_id = 12; +pub const rdma_driver_id_RDMA_DRIVER_USNIC: rdma_driver_id = 13; +pub const rdma_driver_id_RDMA_DRIVER_RXE: rdma_driver_id = 14; +pub const rdma_driver_id_RDMA_DRIVER_HFI1: rdma_driver_id = 15; +pub const rdma_driver_id_RDMA_DRIVER_QIB: rdma_driver_id = 16; +pub const rdma_driver_id_RDMA_DRIVER_EFA: rdma_driver_id = 17; +pub const rdma_driver_id_RDMA_DRIVER_SIW: rdma_driver_id = 18; +pub const rdma_driver_id_RDMA_DRIVER_ERDMA: rdma_driver_id = 19; +pub const rdma_driver_id_RDMA_DRIVER_MANA: rdma_driver_id = 20; +pub type rdma_driver_id = ::core::ffi::c_uint; +pub const rdma_link_layer_IB_LINK_LAYER_UNSPECIFIED: rdma_link_layer = 0; +pub const rdma_link_layer_IB_LINK_LAYER_INFINIBAND: rdma_link_layer = 1; +pub const rdma_link_layer_IB_LINK_LAYER_ETHERNET: rdma_link_layer = 2; +pub type rdma_link_layer = ::core::ffi::c_uint; +pub const rdma_netdev_t_RDMA_NETDEV_OPA_VNIC: rdma_netdev_t = 0; +pub const rdma_netdev_t_RDMA_NETDEV_IPOIB: rdma_netdev_t = 1; +pub type rdma_netdev_t = ::core::ffi::c_uint; +pub const rdma_nl_counter_mask_RDMA_COUNTER_MASK_QP_TYPE: rdma_nl_counter_mask = 1; +pub const rdma_nl_counter_mask_RDMA_COUNTER_MASK_PID: rdma_nl_counter_mask = 2; +pub type rdma_nl_counter_mask = ::core::ffi::c_uint; +pub const rdma_nl_counter_mode_RDMA_COUNTER_MODE_NONE: rdma_nl_counter_mode = 0; +pub const rdma_nl_counter_mode_RDMA_COUNTER_MODE_AUTO: rdma_nl_counter_mode = 1; +pub const rdma_nl_counter_mode_RDMA_COUNTER_MODE_MANUAL: rdma_nl_counter_mode = 2; +pub const rdma_nl_counter_mode_RDMA_COUNTER_MODE_MAX: rdma_nl_counter_mode = 3; +pub type rdma_nl_counter_mode = ::core::ffi::c_uint; +pub const rdma_nl_dev_type_RDMA_DEVICE_TYPE_SMI: rdma_nl_dev_type = 1; +pub type rdma_nl_dev_type = ::core::ffi::c_uint; +pub const rdma_nl_name_assign_type_RDMA_NAME_ASSIGN_TYPE_UNKNOWN: rdma_nl_name_assign_type = 0; +pub const rdma_nl_name_assign_type_RDMA_NAME_ASSIGN_TYPE_USER: rdma_nl_name_assign_type = 1; +pub type rdma_nl_name_assign_type = ::core::ffi::c_uint; +pub const rdma_restrack_type_RDMA_RESTRACK_PD: rdma_restrack_type = 0; +pub const rdma_restrack_type_RDMA_RESTRACK_CQ: rdma_restrack_type = 1; +pub const rdma_restrack_type_RDMA_RESTRACK_QP: rdma_restrack_type = 2; +pub const rdma_restrack_type_RDMA_RESTRACK_CM_ID: rdma_restrack_type = 3; +pub const rdma_restrack_type_RDMA_RESTRACK_MR: rdma_restrack_type = 4; +pub const rdma_restrack_type_RDMA_RESTRACK_CTX: rdma_restrack_type = 5; +pub const rdma_restrack_type_RDMA_RESTRACK_COUNTER: rdma_restrack_type = 6; +pub const rdma_restrack_type_RDMA_RESTRACK_SRQ: rdma_restrack_type = 7; +pub const rdma_restrack_type_RDMA_RESTRACK_MAX: rdma_restrack_type = 8; +pub type rdma_restrack_type = ::core::ffi::c_uint; +pub const regcache_type_REGCACHE_NONE: regcache_type = 0; +pub const regcache_type_REGCACHE_RBTREE: regcache_type = 1; +pub const regcache_type_REGCACHE_FLAT: regcache_type = 2; +pub const regcache_type_REGCACHE_MAPLE: regcache_type = 3; +pub type regcache_type = ::core::ffi::c_uint; +pub const regmap_endian_REGMAP_ENDIAN_DEFAULT: regmap_endian = 0; +pub const regmap_endian_REGMAP_ENDIAN_BIG: regmap_endian = 1; +pub const regmap_endian_REGMAP_ENDIAN_LITTLE: regmap_endian = 2; +pub const regmap_endian_REGMAP_ENDIAN_NATIVE: regmap_endian = 3; +pub type regmap_endian = ::core::ffi::c_uint; +pub const regulator_type_REGULATOR_VOLTAGE: regulator_type = 0; +pub const regulator_type_REGULATOR_CURRENT: regulator_type = 1; +pub type regulator_type = ::core::ffi::c_uint; +pub const rpm_request_RPM_REQ_NONE: rpm_request = 0; +pub const rpm_request_RPM_REQ_IDLE: rpm_request = 1; +pub const rpm_request_RPM_REQ_SUSPEND: rpm_request = 2; +pub const rpm_request_RPM_REQ_AUTOSUSPEND: rpm_request = 3; +pub const rpm_request_RPM_REQ_RESUME: rpm_request = 4; +pub type rpm_request = ::core::ffi::c_uint; +pub const rpm_status_RPM_INVALID: rpm_status = -1; +pub const rpm_status_RPM_ACTIVE: rpm_status = 0; +pub const rpm_status_RPM_RESUMING: rpm_status = 1; +pub const rpm_status_RPM_SUSPENDED: rpm_status = 2; +pub const rpm_status_RPM_SUSPENDING: rpm_status = 3; +pub type rpm_status = ::core::ffi::c_int; +pub const rq_end_io_ret_RQ_END_IO_NONE: rq_end_io_ret = 0; +pub const rq_end_io_ret_RQ_END_IO_FREE: rq_end_io_ret = 1; +pub type rq_end_io_ret = ::core::ffi::c_uint; +pub const rq_qos_id_RQ_QOS_WBT: rq_qos_id = 0; +pub const rq_qos_id_RQ_QOS_LATENCY: rq_qos_id = 1; +pub const rq_qos_id_RQ_QOS_COST: rq_qos_id = 2; +pub type rq_qos_id = ::core::ffi::c_uint; +pub const rw_hint_WRITE_LIFE_NOT_SET: rw_hint = 0; +pub const rw_hint_WRITE_LIFE_NONE: rw_hint = 1; +pub const rw_hint_WRITE_LIFE_SHORT: rw_hint = 2; +pub const rw_hint_WRITE_LIFE_MEDIUM: rw_hint = 3; +pub const rw_hint_WRITE_LIFE_LONG: rw_hint = 4; +pub const rw_hint_WRITE_LIFE_EXTREME: rw_hint = 5; +pub type rw_hint = ::core::ffi::c_schar; +pub const rx_handler_result_RX_HANDLER_CONSUMED: rx_handler_result = 0; +pub const rx_handler_result_RX_HANDLER_ANOTHER: rx_handler_result = 1; +pub const rx_handler_result_RX_HANDLER_EXACT: rx_handler_result = 2; +pub const rx_handler_result_RX_HANDLER_PASS: rx_handler_result = 3; +pub type rx_handler_result = ::core::ffi::c_uint; +pub use self::rx_handler_result as rx_handler_result_t; +pub const sctp_conntrack_SCTP_CONNTRACK_NONE: sctp_conntrack = 0; +pub const sctp_conntrack_SCTP_CONNTRACK_CLOSED: sctp_conntrack = 1; +pub const sctp_conntrack_SCTP_CONNTRACK_COOKIE_WAIT: sctp_conntrack = 2; +pub const sctp_conntrack_SCTP_CONNTRACK_COOKIE_ECHOED: sctp_conntrack = 3; +pub const sctp_conntrack_SCTP_CONNTRACK_ESTABLISHED: sctp_conntrack = 4; +pub const sctp_conntrack_SCTP_CONNTRACK_SHUTDOWN_SENT: sctp_conntrack = 5; +pub const sctp_conntrack_SCTP_CONNTRACK_SHUTDOWN_RECD: sctp_conntrack = 6; +pub const sctp_conntrack_SCTP_CONNTRACK_SHUTDOWN_ACK_SENT: sctp_conntrack = 7; +pub const sctp_conntrack_SCTP_CONNTRACK_HEARTBEAT_SENT: sctp_conntrack = 8; +pub const sctp_conntrack_SCTP_CONNTRACK_HEARTBEAT_ACKED: sctp_conntrack = 9; +pub const sctp_conntrack_SCTP_CONNTRACK_MAX: sctp_conntrack = 10; +pub type sctp_conntrack = ::core::ffi::c_uint; +pub const sk_rst_reason_SK_RST_REASON_NOT_SPECIFIED: sk_rst_reason = 0; +pub const sk_rst_reason_SK_RST_REASON_NO_SOCKET: sk_rst_reason = 1; +pub const sk_rst_reason_SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE: sk_rst_reason = 2; +pub const sk_rst_reason_SK_RST_REASON_TCP_RFC7323_PAWS: sk_rst_reason = 3; +pub const sk_rst_reason_SK_RST_REASON_TCP_TOO_OLD_ACK: sk_rst_reason = 4; +pub const sk_rst_reason_SK_RST_REASON_TCP_ACK_UNSENT_DATA: sk_rst_reason = 5; +pub const sk_rst_reason_SK_RST_REASON_TCP_FLAGS: sk_rst_reason = 6; +pub const sk_rst_reason_SK_RST_REASON_TCP_OLD_ACK: sk_rst_reason = 7; +pub const sk_rst_reason_SK_RST_REASON_TCP_ABORT_ON_DATA: sk_rst_reason = 8; +pub const sk_rst_reason_SK_RST_REASON_TCP_TIMEWAIT_SOCKET: sk_rst_reason = 9; +pub const sk_rst_reason_SK_RST_REASON_INVALID_SYN: sk_rst_reason = 10; +pub const sk_rst_reason_SK_RST_REASON_TCP_ABORT_ON_CLOSE: sk_rst_reason = 11; +pub const sk_rst_reason_SK_RST_REASON_TCP_ABORT_ON_LINGER: sk_rst_reason = 12; +pub const sk_rst_reason_SK_RST_REASON_TCP_ABORT_ON_MEMORY: sk_rst_reason = 13; +pub const sk_rst_reason_SK_RST_REASON_TCP_STATE: sk_rst_reason = 14; +pub const sk_rst_reason_SK_RST_REASON_TCP_KEEPALIVE_TIMEOUT: sk_rst_reason = 15; +pub const sk_rst_reason_SK_RST_REASON_TCP_DISCONNECT_WITH_DATA: sk_rst_reason = 16; +pub const sk_rst_reason_SK_RST_REASON_MPTCP_RST_EUNSPEC: sk_rst_reason = 17; +pub const sk_rst_reason_SK_RST_REASON_MPTCP_RST_EMPTCP: sk_rst_reason = 18; +pub const sk_rst_reason_SK_RST_REASON_MPTCP_RST_ERESOURCE: sk_rst_reason = 19; +pub const sk_rst_reason_SK_RST_REASON_MPTCP_RST_EPROHIBIT: sk_rst_reason = 20; +pub const sk_rst_reason_SK_RST_REASON_MPTCP_RST_EWQ2BIG: sk_rst_reason = 21; +pub const sk_rst_reason_SK_RST_REASON_MPTCP_RST_EBADPERF: sk_rst_reason = 22; +pub const sk_rst_reason_SK_RST_REASON_MPTCP_RST_EMIDDLEBOX: sk_rst_reason = 23; +pub const sk_rst_reason_SK_RST_REASON_ERROR: sk_rst_reason = 24; +pub const sk_rst_reason_SK_RST_REASON_MAX: sk_rst_reason = 25; +pub type sk_rst_reason = ::core::ffi::c_uint; +pub const svc_auth_status_SVC_GARBAGE: svc_auth_status = 1; +pub const svc_auth_status_SVC_SYSERR: svc_auth_status = 2; +pub const svc_auth_status_SVC_VALID: svc_auth_status = 3; +pub const svc_auth_status_SVC_NEGATIVE: svc_auth_status = 4; +pub const svc_auth_status_SVC_OK: svc_auth_status = 5; +pub const svc_auth_status_SVC_DROP: svc_auth_status = 6; +pub const svc_auth_status_SVC_CLOSE: svc_auth_status = 7; +pub const svc_auth_status_SVC_DENIED: svc_auth_status = 8; +pub const svc_auth_status_SVC_PENDING: svc_auth_status = 9; +pub const svc_auth_status_SVC_COMPLETE: svc_auth_status = 10; +pub type svc_auth_status = ::core::ffi::c_uint; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_UNDEFINED: switchdev_obj_id = 0; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_PORT_VLAN: switchdev_obj_id = 1; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_PORT_MDB: switchdev_obj_id = 2; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_HOST_MDB: switchdev_obj_id = 3; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_MRP: switchdev_obj_id = 4; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_RING_TEST_MRP: switchdev_obj_id = 5; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_RING_ROLE_MRP: switchdev_obj_id = 6; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_RING_STATE_MRP: switchdev_obj_id = 7; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_IN_TEST_MRP: switchdev_obj_id = 8; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_IN_ROLE_MRP: switchdev_obj_id = 9; +pub const switchdev_obj_id_SWITCHDEV_OBJ_ID_IN_STATE_MRP: switchdev_obj_id = 10; +pub type switchdev_obj_id = ::core::ffi::c_uint; +pub const task_work_notify_mode_TWA_NONE: task_work_notify_mode = 0; +pub const task_work_notify_mode_TWA_RESUME: task_work_notify_mode = 1; +pub const task_work_notify_mode_TWA_SIGNAL: task_work_notify_mode = 2; +pub const task_work_notify_mode_TWA_SIGNAL_NO_IPI: task_work_notify_mode = 3; +pub const task_work_notify_mode_TWA_NMI_CURRENT: task_work_notify_mode = 4; +pub const task_work_notify_mode_TWA_FLAGS: task_work_notify_mode = 65280; +pub const task_work_notify_mode_TWAF_NO_ALLOC: task_work_notify_mode = 256; +pub type task_work_notify_mode = ::core::ffi::c_uint; +pub const tc_setup_type_TC_QUERY_CAPS: tc_setup_type = 0; +pub const tc_setup_type_TC_SETUP_QDISC_MQPRIO: tc_setup_type = 1; +pub const tc_setup_type_TC_SETUP_CLSU32: tc_setup_type = 2; +pub const tc_setup_type_TC_SETUP_CLSFLOWER: tc_setup_type = 3; +pub const tc_setup_type_TC_SETUP_CLSMATCHALL: tc_setup_type = 4; +pub const tc_setup_type_TC_SETUP_CLSBPF: tc_setup_type = 5; +pub const tc_setup_type_TC_SETUP_BLOCK: tc_setup_type = 6; +pub const tc_setup_type_TC_SETUP_QDISC_CBS: tc_setup_type = 7; +pub const tc_setup_type_TC_SETUP_QDISC_RED: tc_setup_type = 8; +pub const tc_setup_type_TC_SETUP_QDISC_PRIO: tc_setup_type = 9; +pub const tc_setup_type_TC_SETUP_QDISC_MQ: tc_setup_type = 10; +pub const tc_setup_type_TC_SETUP_QDISC_ETF: tc_setup_type = 11; +pub const tc_setup_type_TC_SETUP_ROOT_QDISC: tc_setup_type = 12; +pub const tc_setup_type_TC_SETUP_QDISC_GRED: tc_setup_type = 13; +pub const tc_setup_type_TC_SETUP_QDISC_TAPRIO: tc_setup_type = 14; +pub const tc_setup_type_TC_SETUP_FT: tc_setup_type = 15; +pub const tc_setup_type_TC_SETUP_QDISC_ETS: tc_setup_type = 16; +pub const tc_setup_type_TC_SETUP_QDISC_TBF: tc_setup_type = 17; +pub const tc_setup_type_TC_SETUP_QDISC_FIFO: tc_setup_type = 18; +pub const tc_setup_type_TC_SETUP_QDISC_HTB: tc_setup_type = 19; +pub const tc_setup_type_TC_SETUP_ACT: tc_setup_type = 20; +pub type tc_setup_type = ::core::ffi::c_uint; +pub const tca_id_TCA_ID_UNSPEC: tca_id = 0; +pub const tca_id_TCA_ID_POLICE: tca_id = 1; +pub const tca_id_TCA_ID_GACT: tca_id = 5; +pub const tca_id_TCA_ID_IPT: tca_id = 6; +pub const tca_id_TCA_ID_PEDIT: tca_id = 7; +pub const tca_id_TCA_ID_MIRRED: tca_id = 8; +pub const tca_id_TCA_ID_NAT: tca_id = 9; +pub const tca_id_TCA_ID_XT: tca_id = 10; +pub const tca_id_TCA_ID_SKBEDIT: tca_id = 11; +pub const tca_id_TCA_ID_VLAN: tca_id = 12; +pub const tca_id_TCA_ID_BPF: tca_id = 13; +pub const tca_id_TCA_ID_CONNMARK: tca_id = 14; +pub const tca_id_TCA_ID_SKBMOD: tca_id = 15; +pub const tca_id_TCA_ID_CSUM: tca_id = 16; +pub const tca_id_TCA_ID_TUNNEL_KEY: tca_id = 17; +pub const tca_id_TCA_ID_SIMP: tca_id = 22; +pub const tca_id_TCA_ID_IFE: tca_id = 25; +pub const tca_id_TCA_ID_SAMPLE: tca_id = 26; +pub const tca_id_TCA_ID_CTINFO: tca_id = 27; +pub const tca_id_TCA_ID_MPLS: tca_id = 28; +pub const tca_id_TCA_ID_CT: tca_id = 29; +pub const tca_id_TCA_ID_GATE: tca_id = 30; +pub const tca_id___TCA_ID_MAX: tca_id = 255; +pub type tca_id = ::core::ffi::c_uint; +pub const tcp_ca_event_CA_EVENT_TX_START: tcp_ca_event = 0; +pub const tcp_ca_event_CA_EVENT_CWND_RESTART: tcp_ca_event = 1; +pub const tcp_ca_event_CA_EVENT_COMPLETE_CWR: tcp_ca_event = 2; +pub const tcp_ca_event_CA_EVENT_LOSS: tcp_ca_event = 3; +pub const tcp_ca_event_CA_EVENT_ECN_NO_CE: tcp_ca_event = 4; +pub const tcp_ca_event_CA_EVENT_ECN_IS_CE: tcp_ca_event = 5; +pub type tcp_ca_event = ::core::ffi::c_uint; +pub const timespec_type_TT_NONE: timespec_type = 0; +pub const timespec_type_TT_NATIVE: timespec_type = 1; +pub const timespec_type_TT_COMPAT: timespec_type = 2; +pub type timespec_type = ::core::ffi::c_uint; +pub const tk_offsets_TK_OFFS_REAL: tk_offsets = 0; +pub const tk_offsets_TK_OFFS_BOOT: tk_offsets = 1; +pub const tk_offsets_TK_OFFS_TAI: tk_offsets = 2; +pub const tk_offsets_TK_OFFS_MAX: tk_offsets = 3; +pub type tk_offsets = ::core::ffi::c_uint; +pub const tls_offload_ctx_dir_TLS_OFFLOAD_CTX_DIR_RX: tls_offload_ctx_dir = 0; +pub const tls_offload_ctx_dir_TLS_OFFLOAD_CTX_DIR_TX: tls_offload_ctx_dir = 1; +pub type tls_offload_ctx_dir = ::core::ffi::c_uint; +pub const trace_reg_TRACE_REG_REGISTER: trace_reg = 0; +pub const trace_reg_TRACE_REG_UNREGISTER: trace_reg = 1; +pub const trace_reg_TRACE_REG_PERF_REGISTER: trace_reg = 2; +pub const trace_reg_TRACE_REG_PERF_UNREGISTER: trace_reg = 3; +pub const trace_reg_TRACE_REG_PERF_OPEN: trace_reg = 4; +pub const trace_reg_TRACE_REG_PERF_CLOSE: trace_reg = 5; +pub const trace_reg_TRACE_REG_PERF_ADD: trace_reg = 6; +pub const trace_reg_TRACE_REG_PERF_DEL: trace_reg = 7; +pub type trace_reg = ::core::ffi::c_uint; +pub const uprobe_task_state_UTASK_RUNNING: uprobe_task_state = 0; +pub const uprobe_task_state_UTASK_SSTEP: uprobe_task_state = 1; +pub const uprobe_task_state_UTASK_SSTEP_ACK: uprobe_task_state = 2; +pub const uprobe_task_state_UTASK_SSTEP_TRAPPED: uprobe_task_state = 3; +pub type uprobe_task_state = ::core::ffi::c_uint; +pub const vtime_state_VTIME_INACTIVE: vtime_state = 0; +pub const vtime_state_VTIME_IDLE: vtime_state = 1; +pub const vtime_state_VTIME_SYS: vtime_state = 2; +pub const vtime_state_VTIME_USER: vtime_state = 3; +pub const vtime_state_VTIME_GUEST: vtime_state = 4; +pub type vtime_state = ::core::ffi::c_uint; +pub const watch_notification_type_WATCH_TYPE_META: watch_notification_type = 0; +pub const watch_notification_type_WATCH_TYPE_KEY_NOTIFY: watch_notification_type = 1; +pub const watch_notification_type_WATCH_TYPE__NR: watch_notification_type = 2; +pub type watch_notification_type = ::core::ffi::c_uint; +pub const wb_reason_WB_REASON_BACKGROUND: wb_reason = 0; +pub const wb_reason_WB_REASON_VMSCAN: wb_reason = 1; +pub const wb_reason_WB_REASON_SYNC: wb_reason = 2; +pub const wb_reason_WB_REASON_PERIODIC: wb_reason = 3; +pub const wb_reason_WB_REASON_LAPTOP_TIMER: wb_reason = 4; +pub const wb_reason_WB_REASON_FS_FREE_SPACE: wb_reason = 5; +pub const wb_reason_WB_REASON_FORKER_THREAD: wb_reason = 6; +pub const wb_reason_WB_REASON_FOREIGN_FLUSH: wb_reason = 7; +pub const wb_reason_WB_REASON_MAX: wb_reason = 8; +pub type wb_reason = ::core::ffi::c_uint; +pub const wq_affn_scope_WQ_AFFN_DFL: wq_affn_scope = 0; +pub const wq_affn_scope_WQ_AFFN_CPU: wq_affn_scope = 1; +pub const wq_affn_scope_WQ_AFFN_SMT: wq_affn_scope = 2; +pub const wq_affn_scope_WQ_AFFN_CACHE: wq_affn_scope = 3; +pub const wq_affn_scope_WQ_AFFN_NUMA: wq_affn_scope = 4; +pub const wq_affn_scope_WQ_AFFN_SYSTEM: wq_affn_scope = 5; +pub const wq_affn_scope_WQ_AFFN_NR_TYPES: wq_affn_scope = 6; +pub type wq_affn_scope = ::core::ffi::c_uint; +pub const writeback_sync_modes_WB_SYNC_NONE: writeback_sync_modes = 0; +pub const writeback_sync_modes_WB_SYNC_ALL: writeback_sync_modes = 1; +pub type writeback_sync_modes = ::core::ffi::c_uint; +pub const xdp_rss_hash_type_XDP_RSS_L3_IPV4: xdp_rss_hash_type = 1; +pub const xdp_rss_hash_type_XDP_RSS_L3_IPV6: xdp_rss_hash_type = 2; +pub const xdp_rss_hash_type_XDP_RSS_L3_DYNHDR: xdp_rss_hash_type = 4; +pub const xdp_rss_hash_type_XDP_RSS_L4: xdp_rss_hash_type = 8; +pub const xdp_rss_hash_type_XDP_RSS_L4_TCP: xdp_rss_hash_type = 16; +pub const xdp_rss_hash_type_XDP_RSS_L4_UDP: xdp_rss_hash_type = 32; +pub const xdp_rss_hash_type_XDP_RSS_L4_SCTP: xdp_rss_hash_type = 64; +pub const xdp_rss_hash_type_XDP_RSS_L4_IPSEC: xdp_rss_hash_type = 128; +pub const xdp_rss_hash_type_XDP_RSS_L4_ICMP: xdp_rss_hash_type = 256; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_NONE: xdp_rss_hash_type = 0; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L2: xdp_rss_hash_type = 0; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L3_IPV4: xdp_rss_hash_type = 1; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L3_IPV6: xdp_rss_hash_type = 2; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L3_IPV4_OPT: xdp_rss_hash_type = 5; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L3_IPV6_EX: xdp_rss_hash_type = 6; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_ANY: xdp_rss_hash_type = 8; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV4_TCP: xdp_rss_hash_type = 25; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV4_UDP: xdp_rss_hash_type = 41; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV4_SCTP: xdp_rss_hash_type = 73; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV4_IPSEC: xdp_rss_hash_type = 137; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV4_ICMP: xdp_rss_hash_type = 265; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_TCP: xdp_rss_hash_type = 26; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_UDP: xdp_rss_hash_type = 42; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_SCTP: xdp_rss_hash_type = 74; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_IPSEC: xdp_rss_hash_type = 138; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_ICMP: xdp_rss_hash_type = 266; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_TCP_EX: xdp_rss_hash_type = 30; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_UDP_EX: xdp_rss_hash_type = 46; +pub const xdp_rss_hash_type_XDP_RSS_TYPE_L4_IPV6_SCTP_EX: xdp_rss_hash_type = 78; +pub type xdp_rss_hash_type = ::core::ffi::c_uint; +pub const xfrm_replay_mode_XFRM_REPLAY_MODE_LEGACY: xfrm_replay_mode = 0; +pub const xfrm_replay_mode_XFRM_REPLAY_MODE_BMP: xfrm_replay_mode = 1; +pub const xfrm_replay_mode_XFRM_REPLAY_MODE_ESN: xfrm_replay_mode = 2; +pub type xfrm_replay_mode = ::core::ffi::c_uint; +pub const xprtsec_policies_RPC_XPRTSEC_NONE: xprtsec_policies = 0; +pub const xprtsec_policies_RPC_XPRTSEC_TLS_ANON: xprtsec_policies = 1; +pub const xprtsec_policies_RPC_XPRTSEC_TLS_X509: xprtsec_policies = 2; +pub type xprtsec_policies = ::core::ffi::c_uint; +pub const zone_type_ZONE_DMA: zone_type = 0; +pub const zone_type_ZONE_DMA32: zone_type = 1; +pub const zone_type_ZONE_NORMAL: zone_type = 2; +pub const zone_type_ZONE_MOVABLE: zone_type = 3; +pub const zone_type_ZONE_DEVICE: zone_type = 4; +pub const zone_type___MAX_NR_ZONES: zone_type = 5; +pub type zone_type = ::core::ffi::c_uint; +pub type bool_ = bool; +pub type __u128 = u128; +pub type u128_ = __u128; +pub type freelist_full_t = u128_; +pub type __kernel_clockid_t = ::core::ffi::c_int; +pub type __kernel_mqd_t = ::core::ffi::c_int; +pub type __kernel_pid_t = ::core::ffi::c_int; +pub type __kernel_timer_t = ::core::ffi::c_int; +pub type __s32 = ::core::ffi::c_int; +pub type clockid_t = __kernel_clockid_t; +pub type s32 = __s32; +pub type compat_long_t = s32; +pub type key_serial_t = i32; +pub type mqd_t = __kernel_mqd_t; +pub type old_time32_t = s32; +pub type pid_t = __kernel_pid_t; +pub type suspend_state_t = ::core::ffi::c_int; +pub type __kernel_long_t = ::core::ffi::c_long; +pub type __kernel_clock_t = __kernel_long_t; +pub type __s64 = ::core::ffi::c_longlong; +pub type __kernel_loff_t = ::core::ffi::c_longlong; +pub type __kernel_time64_t = ::core::ffi::c_longlong; +pub type s64 = __s64; +pub type ktime_t = s64; +pub type loff_t = __kernel_loff_t; +pub type qsize_t = ::core::ffi::c_longlong; +pub type time64_t = __s64; +pub type __u64 = ::core::ffi::c_ulonglong; +pub type Elf64_Addr = __u64; +pub type Elf64_Xword = __u64; +pub type u64_ = __u64; +pub type __addrpair = __u64; +pub type __be64 = __u64; +pub type __le64 = __u64; +pub type blkcnt_t = u64_; +pub type dma_addr_t = u64_; +pub type io_req_flags_t = u64_; +pub type netdev_features_t = u64_; +pub type phys_addr_t = u64_; +pub type sci_t = u64_; +pub type sector_t = u64_; +pub type u_int64_t = u64_; +pub type __kernel_ulong_t = ::core::ffi::c_ulong; +pub type __kernel_size_t = __kernel_ulong_t; +pub type irq_hw_number_t = ::core::ffi::c_ulong; +pub type kernel_ulong_t = ::core::ffi::c_ulong; +pub type netmem_ref = ::core::ffi::c_ulong; +pub type pgdval_t = ::core::ffi::c_ulong; +pub type pgprotval_t = ::core::ffi::c_ulong; +pub type pmdval_t = ::core::ffi::c_ulong; +pub type pteval_t = ::core::ffi::c_ulong; +pub type pudval_t = ::core::ffi::c_ulong; +pub type vm_flags_t = ::core::ffi::c_ulong; +pub type __s16 = ::core::ffi::c_short; +pub type s16 = __s16; +pub type __u16 = ::core::ffi::c_ushort; +pub type Elf64_Half = __u16; +pub type u16_ = __u16; +pub type __be16 = __u16; +pub type __kernel_sa_family_t = ::core::ffi::c_ushort; +pub type __le16 = __u16; +pub type __sum16 = __u16; +pub type sa_family_t = __kernel_sa_family_t; +pub type u_int16_t = u16_; +pub type umode_t = ::core::ffi::c_ushort; +pub type __s8 = ::core::ffi::c_schar; +pub type s8 = __s8; +pub type __u8 = ::core::ffi::c_uchar; +pub type u8_ = __u8; +pub type blk_status_t = u8_; +pub type cc_t = ::core::ffi::c_uchar; +pub type mctp_eid_t = __u8; +pub type u_char = ::core::ffi::c_uchar; +pub type u_int8_t = u8_; +pub type __u32 = ::core::ffi::c_uint; +pub type Elf64_Word = __u32; +pub type u32_ = __u32; +pub type __be32 = __u32; +pub type __kernel_dev_t = u32_; +pub type __kernel_gid32_t = ::core::ffi::c_uint; +pub type __kernel_uid32_t = ::core::ffi::c_uint; +pub type __le32 = __u32; +pub type __poll_t = ::core::ffi::c_uint; +pub type __portpair = __u32; +pub type __wsum = __u32; +pub type blk_features_t = ::core::ffi::c_uint; +pub type blk_flags_t = ::core::ffi::c_uint; +pub type blk_insert_t = ::core::ffi::c_uint; +pub type blk_mode_t = ::core::ffi::c_uint; +pub type blk_mq_req_flags_t = __u32; +pub type blk_opf_t = __u32; +pub type blk_qc_t = ::core::ffi::c_uint; +pub type compat_uptr_t = u32_; +pub type dev_t = __kernel_dev_t; +pub type errseq_t = u32_; +pub type fmode_t = ::core::ffi::c_uint; +pub type fop_flags_t = ::core::ffi::c_uint; +pub type gfp_t = ::core::ffi::c_uint; +pub type gid_t = __kernel_gid32_t; +pub type ioasid_t = ::core::ffi::c_uint; +pub type key_perm_t = u32; +pub type nlink_t = u32_; +pub type phandle = u32_; +pub type projid_t = __kernel_uid32_t; +pub type req_flags_t = __u32; +pub type rpc_authflavor_t = u32_; +pub type sk_buff_data_t = ::core::ffi::c_uint; +pub type slab_flags_t = ::core::ffi::c_uint; +pub type speed_t = ::core::ffi::c_uint; +pub type ssci_t = u32_; +pub type tcflag_t = ::core::ffi::c_uint; +pub type u_int32_t = u32_; +pub type uid_t = __kernel_uid32_t; +pub type vm_fault_t = ::core::ffi::c_uint; +pub type xdp_features_t = u32_; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct list_head { + pub next: *mut list_head, + pub prev: *mut list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of list_head"][::core::mem::size_of::() - 16usize]; + ["Alignment of list_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: list_head::next"][::core::mem::offset_of!(list_head, next) - 0usize]; + ["Offset of field: list_head::prev"][::core::mem::offset_of!(list_head, prev) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct atomic_t { + pub counter: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of atomic_t"][::core::mem::size_of::() - 4usize]; + ["Alignment of atomic_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: atomic_t::counter"][::core::mem::offset_of!(atomic_t, counter) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct refcount_struct { + pub refs: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of refcount_struct"][::core::mem::size_of::() - 4usize]; + ["Alignment of refcount_struct"][::core::mem::align_of::() - 4usize]; + ["Offset of field: refcount_struct::refs"] + [::core::mem::offset_of!(refcount_struct, refs) - 0usize]; +}; +pub type refcount_t = refcount_struct; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __kernel_fsid_t { + pub val: [::core::ffi::c_int; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __kernel_fsid_t"][::core::mem::size_of::<__kernel_fsid_t>() - 8usize]; + ["Alignment of __kernel_fsid_t"][::core::mem::align_of::<__kernel_fsid_t>() - 4usize]; + ["Offset of field: __kernel_fsid_t::val"] + [::core::mem::offset_of!(__kernel_fsid_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct atomic64_t { + pub counter: s64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of atomic64_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of atomic64_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: atomic64_t::counter"][::core::mem::offset_of!(atomic64_t, counter) - 0usize]; +}; +pub type atomic_long_t = atomic64_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hlist_node { + pub next: *mut hlist_node, + pub pprev: *mut *mut hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hlist_node"][::core::mem::size_of::() - 16usize]; + ["Alignment of hlist_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hlist_node::next"][::core::mem::offset_of!(hlist_node, next) - 0usize]; + ["Offset of field: hlist_node::pprev"][::core::mem::offset_of!(hlist_node, pprev) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timer_list { + pub entry: hlist_node, + pub expires: ::core::ffi::c_ulong, + pub function: ::core::option::Option, + pub flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of timer_list"][::core::mem::size_of::() - 40usize]; + ["Alignment of timer_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: timer_list::entry"][::core::mem::offset_of!(timer_list, entry) - 0usize]; + ["Offset of field: timer_list::expires"] + [::core::mem::offset_of!(timer_list, expires) - 16usize]; + ["Offset of field: timer_list::function"] + [::core::mem::offset_of!(timer_list, function) - 24usize]; + ["Offset of field: timer_list::flags"][::core::mem::offset_of!(timer_list, flags) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ax25_dama_info { + pub slave: ::core::ffi::c_char, + pub slave_timer: timer_list, + pub slave_timeout: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ax25_dama_info"][::core::mem::size_of::() - 56usize]; + ["Alignment of ax25_dama_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ax25_dama_info::slave"] + [::core::mem::offset_of!(ax25_dama_info, slave) - 0usize]; + ["Offset of field: ax25_dama_info::slave_timer"] + [::core::mem::offset_of!(ax25_dama_info, slave_timer) - 8usize]; + ["Offset of field: ax25_dama_info::slave_timeout"] + [::core::mem::offset_of!(ax25_dama_info, slave_timeout) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sockptr_t { + pub __bindgen_anon_1: sockptr_t__bindgen_ty_1, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sockptr_t__bindgen_ty_1 { + pub kernel: *mut ::core::ffi::c_void, + pub user: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sockptr_t__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of sockptr_t__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sockptr_t__bindgen_ty_1::kernel"] + [::core::mem::offset_of!(sockptr_t__bindgen_ty_1, kernel) - 0usize]; + ["Offset of field: sockptr_t__bindgen_ty_1::user"] + [::core::mem::offset_of!(sockptr_t__bindgen_ty_1, user) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sockptr_t"][::core::mem::size_of::() - 16usize]; + ["Alignment of sockptr_t"][::core::mem::align_of::() - 8usize]; +}; +impl sockptr_t { + #[inline] + pub fn is_kernel(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_kernel(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_kernel_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_kernel_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(is_kernel: bool_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_kernel: u8 = unsafe { ::core::mem::transmute(is_kernel) }; + is_kernel as u64 + }); + __bindgen_bitfield_unit + } +} +pub type bpfptr_t = sockptr_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cisco_proto { + pub interval: ::core::ffi::c_uint, + pub timeout: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cisco_proto"][::core::mem::size_of::() - 8usize]; + ["Alignment of cisco_proto"][::core::mem::align_of::() - 4usize]; + ["Offset of field: cisco_proto::interval"] + [::core::mem::offset_of!(cisco_proto, interval) - 0usize]; + ["Offset of field: cisco_proto::timeout"] + [::core::mem::offset_of!(cisco_proto, timeout) - 4usize]; +}; +pub type raw_spinlock_t = raw_spinlock; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct qspinlock { + pub __bindgen_anon_1: qspinlock__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union qspinlock__bindgen_ty_1 { + pub val: atomic_t, + pub __bindgen_anon_1: qspinlock__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: qspinlock__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qspinlock__bindgen_ty_1__bindgen_ty_1 { + pub locked: u8_, + pub pending: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qspinlock__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of qspinlock__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: qspinlock__bindgen_ty_1__bindgen_ty_1::locked"] + [::core::mem::offset_of!(qspinlock__bindgen_ty_1__bindgen_ty_1, locked) - 0usize]; + ["Offset of field: qspinlock__bindgen_ty_1__bindgen_ty_1::pending"] + [::core::mem::offset_of!(qspinlock__bindgen_ty_1__bindgen_ty_1, pending) - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qspinlock__bindgen_ty_1__bindgen_ty_2 { + pub locked_pending: u16_, + pub tail: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qspinlock__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of qspinlock__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: qspinlock__bindgen_ty_1__bindgen_ty_2::locked_pending"] + [::core::mem::offset_of!(qspinlock__bindgen_ty_1__bindgen_ty_2, locked_pending) - 0usize]; + ["Offset of field: qspinlock__bindgen_ty_1__bindgen_ty_2::tail"] + [::core::mem::offset_of!(qspinlock__bindgen_ty_1__bindgen_ty_2, tail) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qspinlock__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of qspinlock__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: qspinlock__bindgen_ty_1::val"] + [::core::mem::offset_of!(qspinlock__bindgen_ty_1, val) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qspinlock"][::core::mem::size_of::() - 4usize]; + ["Alignment of qspinlock"][::core::mem::align_of::() - 4usize]; +}; +pub type arch_spinlock_t = qspinlock; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct qrwlock { + pub __bindgen_anon_1: qrwlock__bindgen_ty_1, + pub wait_lock: arch_spinlock_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union qrwlock__bindgen_ty_1 { + pub cnts: atomic_t, + pub __bindgen_anon_1: qrwlock__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qrwlock__bindgen_ty_1__bindgen_ty_1 { + pub wlocked: u8_, + pub __lstate: [u8_; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qrwlock__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of qrwlock__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: qrwlock__bindgen_ty_1__bindgen_ty_1::wlocked"] + [::core::mem::offset_of!(qrwlock__bindgen_ty_1__bindgen_ty_1, wlocked) - 0usize]; + ["Offset of field: qrwlock__bindgen_ty_1__bindgen_ty_1::__lstate"] + [::core::mem::offset_of!(qrwlock__bindgen_ty_1__bindgen_ty_1, __lstate) - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qrwlock__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of qrwlock__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: qrwlock__bindgen_ty_1::cnts"] + [::core::mem::offset_of!(qrwlock__bindgen_ty_1, cnts) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qrwlock"][::core::mem::size_of::() - 8usize]; + ["Alignment of qrwlock"][::core::mem::align_of::() - 4usize]; + ["Offset of field: qrwlock::wait_lock"][::core::mem::offset_of!(qrwlock, wait_lock) - 4usize]; +}; +pub type arch_rwlock_t = qrwlock; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rwlock_t { + pub raw_lock: arch_rwlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rwlock_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of rwlock_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rwlock_t::raw_lock"][::core::mem::offset_of!(rwlock_t, raw_lock) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pin_cookie {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pin_cookie"][::core::mem::size_of::() - 0usize]; + ["Alignment of pin_cookie"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rq_flags { + pub flags: ::core::ffi::c_ulong, + pub cookie: pin_cookie, + pub clock_update_flags: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rq_flags"][::core::mem::size_of::() - 16usize]; + ["Alignment of rq_flags"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rq_flags::flags"][::core::mem::offset_of!(rq_flags, flags) - 0usize]; + ["Offset of field: rq_flags::cookie"][::core::mem::offset_of!(rq_flags, cookie) - 8usize]; + ["Offset of field: rq_flags::clock_update_flags"] + [::core::mem::offset_of!(rq_flags, clock_update_flags) - 8usize]; +}; +pub type spinlock_t = spinlock; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fr_proto { + pub t391: ::core::ffi::c_uint, + pub t392: ::core::ffi::c_uint, + pub n391: ::core::ffi::c_uint, + pub n392: ::core::ffi::c_uint, + pub n393: ::core::ffi::c_uint, + pub lmi: ::core::ffi::c_ushort, + pub dce: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fr_proto"][::core::mem::size_of::() - 24usize]; + ["Alignment of fr_proto"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fr_proto::t391"][::core::mem::offset_of!(fr_proto, t391) - 0usize]; + ["Offset of field: fr_proto::t392"][::core::mem::offset_of!(fr_proto, t392) - 4usize]; + ["Offset of field: fr_proto::n391"][::core::mem::offset_of!(fr_proto, n391) - 8usize]; + ["Offset of field: fr_proto::n392"][::core::mem::offset_of!(fr_proto, n392) - 12usize]; + ["Offset of field: fr_proto::n393"][::core::mem::offset_of!(fr_proto, n393) - 16usize]; + ["Offset of field: fr_proto::lmi"][::core::mem::offset_of!(fr_proto, lmi) - 20usize]; + ["Offset of field: fr_proto::dce"][::core::mem::offset_of!(fr_proto, dce) - 22usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fr_proto_pvc { + pub dlci: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fr_proto_pvc"][::core::mem::size_of::() - 4usize]; + ["Alignment of fr_proto_pvc"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fr_proto_pvc::dlci"][::core::mem::offset_of!(fr_proto_pvc, dlci) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fr_proto_pvc_info { + pub dlci: ::core::ffi::c_uint, + pub master: [::core::ffi::c_char; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fr_proto_pvc_info"][::core::mem::size_of::() - 20usize]; + ["Alignment of fr_proto_pvc_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fr_proto_pvc_info::dlci"] + [::core::mem::offset_of!(fr_proto_pvc_info, dlci) - 0usize]; + ["Offset of field: fr_proto_pvc_info::master"] + [::core::mem::offset_of!(fr_proto_pvc_info, master) - 4usize]; +}; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union freelist_aba_t { + pub __bindgen_anon_1: freelist_aba_t__bindgen_ty_1, + pub full: freelist_full_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct freelist_aba_t__bindgen_ty_1 { + pub freelist: *mut ::core::ffi::c_void, + pub counter: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of freelist_aba_t__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of freelist_aba_t__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: freelist_aba_t__bindgen_ty_1::freelist"] + [::core::mem::offset_of!(freelist_aba_t__bindgen_ty_1, freelist) - 0usize]; + ["Offset of field: freelist_aba_t__bindgen_ty_1::counter"] + [::core::mem::offset_of!(freelist_aba_t__bindgen_ty_1, counter) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of freelist_aba_t"][::core::mem::size_of::() - 16usize]; + ["Alignment of freelist_aba_t"][::core::mem::align_of::() - 16usize]; + ["Offset of field: freelist_aba_t::full"] + [::core::mem::offset_of!(freelist_aba_t, full) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct freeptr_t { + pub v: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of freeptr_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of freeptr_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: freeptr_t::v"][::core::mem::offset_of!(freeptr_t, v) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_cap_t { + pub val: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_cap_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of kernel_cap_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernel_cap_t::val"][::core::mem::offset_of!(kernel_cap_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kgid_t { + pub val: gid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kgid_t"][::core::mem::size_of::() - 4usize]; + ["Alignment of kgid_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kgid_t::val"][::core::mem::offset_of!(kgid_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kuid_t { + pub val: uid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kuid_t"][::core::mem::size_of::() - 4usize]; + ["Alignment of kuid_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kuid_t::val"][::core::mem::offset_of!(kuid_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kprojid_t { + pub val: projid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kprojid_t"][::core::mem::size_of::() - 4usize]; + ["Alignment of kprojid_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kprojid_t::val"][::core::mem::offset_of!(kprojid_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct local_t { + pub a: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of local_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of local_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: local_t::a"][::core::mem::offset_of!(local_t, a) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct local64_t { + pub a: local_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of local64_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of local64_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: local64_t::a"][::core::mem::offset_of!(local64_t, a) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct local_lock_t {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of local_lock_t"][::core::mem::size_of::() - 0usize]; + ["Alignment of local_lock_t"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lockdep_map_p {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lockdep_map_p"][::core::mem::size_of::() - 0usize]; + ["Alignment of lockdep_map_p"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct optimistic_spin_queue { + pub tail: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of optimistic_spin_queue"][::core::mem::size_of::() - 4usize]; + ["Alignment of optimistic_spin_queue"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: optimistic_spin_queue::tail"] + [::core::mem::offset_of!(optimistic_spin_queue, tail) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct raw_spinlock { + pub raw_lock: arch_spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of raw_spinlock"][::core::mem::size_of::() - 4usize]; + ["Alignment of raw_spinlock"][::core::mem::align_of::() - 4usize]; + ["Offset of field: raw_spinlock::raw_lock"] + [::core::mem::offset_of!(raw_spinlock, raw_lock) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rw_semaphore { + pub count: atomic_long_t, + pub owner: atomic_long_t, + pub osq: optimistic_spin_queue, + pub wait_lock: raw_spinlock_t, + pub wait_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rw_semaphore"][::core::mem::size_of::() - 40usize]; + ["Alignment of rw_semaphore"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rw_semaphore::count"][::core::mem::offset_of!(rw_semaphore, count) - 0usize]; + ["Offset of field: rw_semaphore::owner"][::core::mem::offset_of!(rw_semaphore, owner) - 8usize]; + ["Offset of field: rw_semaphore::osq"][::core::mem::offset_of!(rw_semaphore, osq) - 16usize]; + ["Offset of field: rw_semaphore::wait_lock"] + [::core::mem::offset_of!(rw_semaphore, wait_lock) - 20usize]; + ["Offset of field: rw_semaphore::wait_list"] + [::core::mem::offset_of!(rw_semaphore, wait_list) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mutex { + pub owner: atomic_long_t, + pub wait_lock: raw_spinlock_t, + pub osq: optimistic_spin_queue, + pub wait_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mutex"][::core::mem::size_of::() - 32usize]; + ["Alignment of mutex"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mutex::owner"][::core::mem::offset_of!(mutex, owner) - 0usize]; + ["Offset of field: mutex::wait_lock"][::core::mem::offset_of!(mutex, wait_lock) - 8usize]; + ["Offset of field: mutex::osq"][::core::mem::offset_of!(mutex, osq) - 12usize]; + ["Offset of field: mutex::wait_list"][::core::mem::offset_of!(mutex, wait_list) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mm_context_t { + pub ctx_id: u64_, + pub tlb_gen: atomic64_t, + pub next_trim_cpumask: ::core::ffi::c_ulong, + pub ldt_usr_sem: rw_semaphore, + pub ldt: *mut ldt_struct, + pub flags: ::core::ffi::c_ulong, + pub lock: mutex, + pub vdso: *mut ::core::ffi::c_void, + pub vdso_image: *const vdso_image, + pub perf_rdpmc_allowed: atomic_t, + pub pkey_allocation_map: u16_, + pub execute_only_pkey: s16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mm_context_t"][::core::mem::size_of::() - 136usize]; + ["Alignment of mm_context_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mm_context_t::ctx_id"] + [::core::mem::offset_of!(mm_context_t, ctx_id) - 0usize]; + ["Offset of field: mm_context_t::tlb_gen"] + [::core::mem::offset_of!(mm_context_t, tlb_gen) - 8usize]; + ["Offset of field: mm_context_t::next_trim_cpumask"] + [::core::mem::offset_of!(mm_context_t, next_trim_cpumask) - 16usize]; + ["Offset of field: mm_context_t::ldt_usr_sem"] + [::core::mem::offset_of!(mm_context_t, ldt_usr_sem) - 24usize]; + ["Offset of field: mm_context_t::ldt"][::core::mem::offset_of!(mm_context_t, ldt) - 64usize]; + ["Offset of field: mm_context_t::flags"] + [::core::mem::offset_of!(mm_context_t, flags) - 72usize]; + ["Offset of field: mm_context_t::lock"][::core::mem::offset_of!(mm_context_t, lock) - 80usize]; + ["Offset of field: mm_context_t::vdso"][::core::mem::offset_of!(mm_context_t, vdso) - 112usize]; + ["Offset of field: mm_context_t::vdso_image"] + [::core::mem::offset_of!(mm_context_t, vdso_image) - 120usize]; + ["Offset of field: mm_context_t::perf_rdpmc_allowed"] + [::core::mem::offset_of!(mm_context_t, perf_rdpmc_allowed) - 128usize]; + ["Offset of field: mm_context_t::pkey_allocation_map"] + [::core::mem::offset_of!(mm_context_t, pkey_allocation_map) - 132usize]; + ["Offset of field: mm_context_t::execute_only_pkey"] + [::core::mem::offset_of!(mm_context_t, execute_only_pkey) - 134usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdevice_tracker {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdevice_tracker"][::core::mem::size_of::() - 0usize]; + ["Alignment of netdevice_tracker"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_tracker {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_tracker"][::core::mem::size_of::() - 0usize]; + ["Alignment of netns_tracker"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_verifier { + pub data: [::core::ffi::c_char; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_verifier"][::core::mem::size_of::() - 8usize]; + ["Alignment of nfs4_verifier"][::core::mem::align_of::() - 1usize]; + ["Offset of field: nfs4_verifier::data"][::core::mem::offset_of!(nfs4_verifier, data) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uuid_t { + pub b: [__u8; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uuid_t"][::core::mem::size_of::() - 16usize]; + ["Alignment of uuid_t"][::core::mem::align_of::() - 1usize]; + ["Offset of field: uuid_t::b"][::core::mem::offset_of!(uuid_t, b) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_uuid_t { + pub uuid: uuid_t, + pub list: list_head, + pub net: *mut net, + pub dom: *mut auth_domain, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_uuid_t"][::core::mem::size_of::() - 48usize]; + ["Alignment of nfs_uuid_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_uuid_t::uuid"][::core::mem::offset_of!(nfs_uuid_t, uuid) - 0usize]; + ["Offset of field: nfs_uuid_t::list"][::core::mem::offset_of!(nfs_uuid_t, list) - 16usize]; + ["Offset of field: nfs_uuid_t::net"][::core::mem::offset_of!(nfs_uuid_t, net) - 32usize]; + ["Offset of field: nfs_uuid_t::dom"][::core::mem::offset_of!(nfs_uuid_t, dom) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nodemask_t { + pub bits: [::core::ffi::c_ulong; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nodemask_t"][::core::mem::size_of::() - 128usize]; + ["Alignment of nodemask_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nodemask_t::bits"][::core::mem::offset_of!(nodemask_t, bits) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pfn_t { + pub val: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pfn_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of pfn_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pfn_t::val"][::core::mem::offset_of!(pfn_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pgd_t { + pub pgd: pgdval_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pgd_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of pgd_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pgd_t::pgd"][::core::mem::offset_of!(pgd_t, pgd) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pmd_t { + pub pmd: pmdval_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pmd_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of pmd_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pmd_t::pmd"][::core::mem::offset_of!(pmd_t, pmd) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct possible_net_t { + pub net: *mut net, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of possible_net_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of possible_net_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: possible_net_t::net"][::core::mem::offset_of!(possible_net_t, net) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pte_t { + pub pte: pteval_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pte_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of pte_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pte_t::pte"][::core::mem::offset_of!(pte_t, pte) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pud_t { + pub pud: pudval_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pud_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of pud_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pud_t::pud"][::core::mem::offset_of!(pud_t, pud) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct raw_hdlc_proto { + pub encoding: ::core::ffi::c_ushort, + pub parity: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of raw_hdlc_proto"][::core::mem::size_of::() - 4usize]; + ["Alignment of raw_hdlc_proto"][::core::mem::align_of::() - 2usize]; + ["Offset of field: raw_hdlc_proto::encoding"] + [::core::mem::offset_of!(raw_hdlc_proto, encoding) - 0usize]; + ["Offset of field: raw_hdlc_proto::parity"] + [::core::mem::offset_of!(raw_hdlc_proto, parity) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rcuref_t { + pub refcnt: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcuref_t"][::core::mem::size_of::() - 4usize]; + ["Alignment of rcuref_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rcuref_t::refcnt"][::core::mem::offset_of!(rcuref_t, refcnt) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct read_descriptor_t { + pub written: usize, + pub count: usize, + pub arg: read_descriptor_t__bindgen_ty_1, + pub error: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union read_descriptor_t__bindgen_ty_1 { + pub buf: *mut ::core::ffi::c_char, + pub data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of read_descriptor_t__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of read_descriptor_t__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: read_descriptor_t__bindgen_ty_1::buf"] + [::core::mem::offset_of!(read_descriptor_t__bindgen_ty_1, buf) - 0usize]; + ["Offset of field: read_descriptor_t__bindgen_ty_1::data"] + [::core::mem::offset_of!(read_descriptor_t__bindgen_ty_1, data) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of read_descriptor_t"][::core::mem::size_of::() - 32usize]; + ["Alignment of read_descriptor_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: read_descriptor_t::written"] + [::core::mem::offset_of!(read_descriptor_t, written) - 0usize]; + ["Offset of field: read_descriptor_t::count"] + [::core::mem::offset_of!(read_descriptor_t, count) - 8usize]; + ["Offset of field: read_descriptor_t::arg"] + [::core::mem::offset_of!(read_descriptor_t, arg) - 16usize]; + ["Offset of field: read_descriptor_t::error"] + [::core::mem::offset_of!(read_descriptor_t, error) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct seqcount { + pub sequence: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seqcount"][::core::mem::size_of::() - 4usize]; + ["Alignment of seqcount"][::core::mem::align_of::() - 4usize]; + ["Offset of field: seqcount::sequence"][::core::mem::offset_of!(seqcount, sequence) - 0usize]; +}; +pub type seqcount_t = seqcount; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct seqcount_spinlock { + pub seqcount: seqcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seqcount_spinlock"][::core::mem::size_of::() - 4usize]; + ["Alignment of seqcount_spinlock"][::core::mem::align_of::() - 4usize]; + ["Offset of field: seqcount_spinlock::seqcount"] + [::core::mem::offset_of!(seqcount_spinlock, seqcount) - 0usize]; +}; +pub type seqcount_spinlock_t = seqcount_spinlock; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct spinlock { + pub __bindgen_anon_1: spinlock__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union spinlock__bindgen_ty_1 { + pub rlock: raw_spinlock, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of spinlock__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of spinlock__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: spinlock__bindgen_ty_1::rlock"] + [::core::mem::offset_of!(spinlock__bindgen_ty_1, rlock) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of spinlock"][::core::mem::size_of::() - 4usize]; + ["Alignment of spinlock"][::core::mem::align_of::() - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct seqlock_t { + pub seqcount: seqcount_spinlock_t, + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seqlock_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of seqlock_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: seqlock_t::seqcount"][::core::mem::offset_of!(seqlock_t, seqcount) - 0usize]; + ["Offset of field: seqlock_t::lock"][::core::mem::offset_of!(seqlock_t, lock) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigset_t { + pub sig: [::core::ffi::c_ulong; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sigset_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of sigset_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sigset_t::sig"][::core::mem::offset_of!(sigset_t, sig) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct siphash_key_t { + pub key: [u64_; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of siphash_key_t"][::core::mem::size_of::() - 16usize]; + ["Alignment of siphash_key_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: siphash_key_t::key"][::core::mem::offset_of!(siphash_key_t, key) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wait_queue_head { + pub lock: spinlock_t, + pub head: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wait_queue_head"][::core::mem::size_of::() - 24usize]; + ["Alignment of wait_queue_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wait_queue_head::lock"] + [::core::mem::offset_of!(wait_queue_head, lock) - 0usize]; + ["Offset of field: wait_queue_head::head"] + [::core::mem::offset_of!(wait_queue_head, head) - 8usize]; +}; +pub type wait_queue_head_t = wait_queue_head; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct socket_lock_t { + pub slock: spinlock_t, + pub owned: ::core::ffi::c_int, + pub wq: wait_queue_head_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of socket_lock_t"][::core::mem::size_of::() - 32usize]; + ["Alignment of socket_lock_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: socket_lock_t::slock"] + [::core::mem::offset_of!(socket_lock_t, slock) - 0usize]; + ["Offset of field: socket_lock_t::owned"] + [::core::mem::offset_of!(socket_lock_t, owned) - 4usize]; + ["Offset of field: socket_lock_t::wq"][::core::mem::offset_of!(socket_lock_t, wq) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct swp_entry_t { + pub val: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of swp_entry_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of swp_entry_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: swp_entry_t::val"][::core::mem::offset_of!(swp_entry_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sync_serial_settings { + pub clock_rate: ::core::ffi::c_uint, + pub clock_type: ::core::ffi::c_uint, + pub loopback: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sync_serial_settings"][::core::mem::size_of::() - 12usize]; + ["Alignment of sync_serial_settings"][::core::mem::align_of::() - 4usize]; + ["Offset of field: sync_serial_settings::clock_rate"] + [::core::mem::offset_of!(sync_serial_settings, clock_rate) - 0usize]; + ["Offset of field: sync_serial_settings::clock_type"] + [::core::mem::offset_of!(sync_serial_settings, clock_type) - 4usize]; + ["Offset of field: sync_serial_settings::loopback"] + [::core::mem::offset_of!(sync_serial_settings, loopback) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct te1_settings { + pub clock_rate: ::core::ffi::c_uint, + pub clock_type: ::core::ffi::c_uint, + pub loopback: ::core::ffi::c_ushort, + pub slot_map: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of te1_settings"][::core::mem::size_of::() - 16usize]; + ["Alignment of te1_settings"][::core::mem::align_of::() - 4usize]; + ["Offset of field: te1_settings::clock_rate"] + [::core::mem::offset_of!(te1_settings, clock_rate) - 0usize]; + ["Offset of field: te1_settings::clock_type"] + [::core::mem::offset_of!(te1_settings, clock_type) - 4usize]; + ["Offset of field: te1_settings::loopback"] + [::core::mem::offset_of!(te1_settings, loopback) - 8usize]; + ["Offset of field: te1_settings::slot_map"] + [::core::mem::offset_of!(te1_settings, slot_map) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct u64_stats_t { + pub v: local64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of u64_stats_t"][::core::mem::size_of::() - 8usize]; + ["Alignment of u64_stats_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: u64_stats_t::v"][::core::mem::offset_of!(u64_stats_t, v) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vfsgid_t { + pub val: gid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vfsgid_t"][::core::mem::size_of::() - 4usize]; + ["Alignment of vfsgid_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: vfsgid_t::val"][::core::mem::offset_of!(vfsgid_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vfsuid_t { + pub val: uid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vfsuid_t"][::core::mem::size_of::() - 4usize]; + ["Alignment of vfsuid_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: vfsuid_t::val"][::core::mem::offset_of!(vfsuid_t, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct x25_hdlc_proto { + pub dce: ::core::ffi::c_ushort, + pub modulo: ::core::ffi::c_uint, + pub window: ::core::ffi::c_uint, + pub t1: ::core::ffi::c_uint, + pub t2: ::core::ffi::c_uint, + pub n2: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x25_hdlc_proto"][::core::mem::size_of::() - 24usize]; + ["Alignment of x25_hdlc_proto"][::core::mem::align_of::() - 4usize]; + ["Offset of field: x25_hdlc_proto::dce"][::core::mem::offset_of!(x25_hdlc_proto, dce) - 0usize]; + ["Offset of field: x25_hdlc_proto::modulo"] + [::core::mem::offset_of!(x25_hdlc_proto, modulo) - 4usize]; + ["Offset of field: x25_hdlc_proto::window"] + [::core::mem::offset_of!(x25_hdlc_proto, window) - 8usize]; + ["Offset of field: x25_hdlc_proto::t1"][::core::mem::offset_of!(x25_hdlc_proto, t1) - 12usize]; + ["Offset of field: x25_hdlc_proto::t2"][::core::mem::offset_of!(x25_hdlc_proto, t2) - 16usize]; + ["Offset of field: x25_hdlc_proto::n2"][::core::mem::offset_of!(x25_hdlc_proto, n2) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in6_addr { + pub in6_u: in6_addr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union in6_addr__bindgen_ty_1 { + pub u6_addr8: [__u8; 16usize], + pub u6_addr16: [__be16; 8usize], + pub u6_addr32: [__be32; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of in6_addr__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of in6_addr__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: in6_addr__bindgen_ty_1::u6_addr8"] + [::core::mem::offset_of!(in6_addr__bindgen_ty_1, u6_addr8) - 0usize]; + ["Offset of field: in6_addr__bindgen_ty_1::u6_addr16"] + [::core::mem::offset_of!(in6_addr__bindgen_ty_1, u6_addr16) - 0usize]; + ["Offset of field: in6_addr__bindgen_ty_1::u6_addr32"] + [::core::mem::offset_of!(in6_addr__bindgen_ty_1, u6_addr32) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of in6_addr"][::core::mem::size_of::() - 16usize]; + ["Alignment of in6_addr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: in6_addr::in6_u"][::core::mem::offset_of!(in6_addr, in6_u) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union xfrm_address_t { + pub a4: __be32, + pub a6: [__be32; 4usize], + pub in6: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_address_t"][::core::mem::size_of::() - 16usize]; + ["Alignment of xfrm_address_t"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_address_t::a4"][::core::mem::offset_of!(xfrm_address_t, a4) - 0usize]; + ["Offset of field: xfrm_address_t::a6"][::core::mem::offset_of!(xfrm_address_t, a6) - 0usize]; + ["Offset of field: xfrm_address_t::in6"][::core::mem::offset_of!(xfrm_address_t, in6) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_buff_list { + pub next: *mut sk_buff, + pub prev: *mut sk_buff, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff_list"][::core::mem::size_of::() - 16usize]; + ["Alignment of sk_buff_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff_list::next"][::core::mem::offset_of!(sk_buff_list, next) - 0usize]; + ["Offset of field: sk_buff_list::prev"][::core::mem::offset_of!(sk_buff_list, prev) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sk_buff_head { + pub __bindgen_anon_1: sk_buff_head__bindgen_ty_1, + pub qlen: __u32, + pub lock: spinlock_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff_head__bindgen_ty_1 { + pub __bindgen_anon_1: sk_buff_head__bindgen_ty_1__bindgen_ty_1, + pub list: sk_buff_list, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_buff_head__bindgen_ty_1__bindgen_ty_1 { + pub next: *mut sk_buff, + pub prev: *mut sk_buff, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff_head__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of sk_buff_head__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff_head__bindgen_ty_1__bindgen_ty_1::next"] + [::core::mem::offset_of!(sk_buff_head__bindgen_ty_1__bindgen_ty_1, next) - 0usize]; + ["Offset of field: sk_buff_head__bindgen_ty_1__bindgen_ty_1::prev"] + [::core::mem::offset_of!(sk_buff_head__bindgen_ty_1__bindgen_ty_1, prev) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff_head__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of sk_buff_head__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff_head__bindgen_ty_1::list"] + [::core::mem::offset_of!(sk_buff_head__bindgen_ty_1, list) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff_head"][::core::mem::size_of::() - 24usize]; + ["Alignment of sk_buff_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff_head::qlen"][::core::mem::offset_of!(sk_buff_head, qlen) - 16usize]; + ["Offset of field: sk_buff_head::lock"][::core::mem::offset_of!(sk_buff_head, lock) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct qdisc_skb_head { + pub head: *mut sk_buff, + pub tail: *mut sk_buff, + pub qlen: __u32, + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qdisc_skb_head"][::core::mem::size_of::() - 24usize]; + ["Alignment of qdisc_skb_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qdisc_skb_head::head"] + [::core::mem::offset_of!(qdisc_skb_head, head) - 0usize]; + ["Offset of field: qdisc_skb_head::tail"] + [::core::mem::offset_of!(qdisc_skb_head, tail) - 8usize]; + ["Offset of field: qdisc_skb_head::qlen"] + [::core::mem::offset_of!(qdisc_skb_head, qlen) - 16usize]; + ["Offset of field: qdisc_skb_head::lock"] + [::core::mem::offset_of!(qdisc_skb_head, lock) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct u64_stats_sync {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of u64_stats_sync"][::core::mem::size_of::() - 0usize]; + ["Alignment of u64_stats_sync"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gnet_stats_basic_sync { + pub bytes: u64_stats_t, + pub packets: u64_stats_t, + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gnet_stats_basic_sync"][::core::mem::size_of::() - 16usize]; + ["Alignment of gnet_stats_basic_sync"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: gnet_stats_basic_sync::bytes"] + [::core::mem::offset_of!(gnet_stats_basic_sync, bytes) - 0usize]; + ["Offset of field: gnet_stats_basic_sync::packets"] + [::core::mem::offset_of!(gnet_stats_basic_sync, packets) - 8usize]; + ["Offset of field: gnet_stats_basic_sync::syncp"] + [::core::mem::offset_of!(gnet_stats_basic_sync, syncp) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gnet_stats_queue { + pub qlen: __u32, + pub backlog: __u32, + pub drops: __u32, + pub requeues: __u32, + pub overlimits: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gnet_stats_queue"][::core::mem::size_of::() - 20usize]; + ["Alignment of gnet_stats_queue"][::core::mem::align_of::() - 4usize]; + ["Offset of field: gnet_stats_queue::qlen"] + [::core::mem::offset_of!(gnet_stats_queue, qlen) - 0usize]; + ["Offset of field: gnet_stats_queue::backlog"] + [::core::mem::offset_of!(gnet_stats_queue, backlog) - 4usize]; + ["Offset of field: gnet_stats_queue::drops"] + [::core::mem::offset_of!(gnet_stats_queue, drops) - 8usize]; + ["Offset of field: gnet_stats_queue::requeues"] + [::core::mem::offset_of!(gnet_stats_queue, requeues) - 12usize]; + ["Offset of field: gnet_stats_queue::overlimits"] + [::core::mem::offset_of!(gnet_stats_queue, overlimits) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct callback_head { + pub next: *mut callback_head, + pub func: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of callback_head"][::core::mem::size_of::() - 16usize]; + ["Alignment of callback_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: callback_head::next"][::core::mem::offset_of!(callback_head, next) - 0usize]; + ["Offset of field: callback_head::func"][::core::mem::offset_of!(callback_head, func) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lock_class_key {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lock_class_key"][::core::mem::size_of::() - 0usize]; + ["Alignment of lock_class_key"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +pub struct Qdisc { + pub enqueue: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut Qdisc, + arg3: *mut *mut sk_buff, + ) -> ::core::ffi::c_int, + >, + pub dequeue: ::core::option::Option *mut sk_buff>, + pub flags: ::core::ffi::c_uint, + pub limit: u32_, + pub ops: *const Qdisc_ops, + pub stab: *mut qdisc_size_table, + pub hash: hlist_node, + pub handle: u32_, + pub parent: u32_, + pub dev_queue: *mut netdev_queue, + pub rate_est: *mut net_rate_estimator, + pub cpu_bstats: *mut gnet_stats_basic_sync, + pub cpu_qstats: *mut gnet_stats_queue, + pub pad: ::core::ffi::c_int, + pub refcnt: refcount_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub gso_skb: sk_buff_head, + pub q: qdisc_skb_head, + pub bstats: gnet_stats_basic_sync, + pub qstats: gnet_stats_queue, + pub owner: ::core::ffi::c_int, + pub state: ::core::ffi::c_ulong, + pub state2: ::core::ffi::c_ulong, + pub next_sched: *mut Qdisc, + pub skb_bad_txq: sk_buff_head, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, + pub busylock: spinlock_t, + pub seqlock: spinlock_t, + pub rcu: callback_head, + pub dev_tracker: netdevice_tracker, + pub root_lock_key: lock_class_key, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 40usize]>, + pub privdata: __IncompleteArrayField<::core::ffi::c_long>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of Qdisc"][::core::mem::size_of::() - 384usize]; + ["Alignment of Qdisc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: Qdisc::enqueue"][::core::mem::offset_of!(Qdisc, enqueue) - 0usize]; + ["Offset of field: Qdisc::dequeue"][::core::mem::offset_of!(Qdisc, dequeue) - 8usize]; + ["Offset of field: Qdisc::flags"][::core::mem::offset_of!(Qdisc, flags) - 16usize]; + ["Offset of field: Qdisc::limit"][::core::mem::offset_of!(Qdisc, limit) - 20usize]; + ["Offset of field: Qdisc::ops"][::core::mem::offset_of!(Qdisc, ops) - 24usize]; + ["Offset of field: Qdisc::stab"][::core::mem::offset_of!(Qdisc, stab) - 32usize]; + ["Offset of field: Qdisc::hash"][::core::mem::offset_of!(Qdisc, hash) - 40usize]; + ["Offset of field: Qdisc::handle"][::core::mem::offset_of!(Qdisc, handle) - 56usize]; + ["Offset of field: Qdisc::parent"][::core::mem::offset_of!(Qdisc, parent) - 60usize]; + ["Offset of field: Qdisc::dev_queue"][::core::mem::offset_of!(Qdisc, dev_queue) - 64usize]; + ["Offset of field: Qdisc::rate_est"][::core::mem::offset_of!(Qdisc, rate_est) - 72usize]; + ["Offset of field: Qdisc::cpu_bstats"][::core::mem::offset_of!(Qdisc, cpu_bstats) - 80usize]; + ["Offset of field: Qdisc::cpu_qstats"][::core::mem::offset_of!(Qdisc, cpu_qstats) - 88usize]; + ["Offset of field: Qdisc::pad"][::core::mem::offset_of!(Qdisc, pad) - 96usize]; + ["Offset of field: Qdisc::refcnt"][::core::mem::offset_of!(Qdisc, refcnt) - 100usize]; + ["Offset of field: Qdisc::gso_skb"][::core::mem::offset_of!(Qdisc, gso_skb) - 128usize]; + ["Offset of field: Qdisc::q"][::core::mem::offset_of!(Qdisc, q) - 152usize]; + ["Offset of field: Qdisc::bstats"][::core::mem::offset_of!(Qdisc, bstats) - 176usize]; + ["Offset of field: Qdisc::qstats"][::core::mem::offset_of!(Qdisc, qstats) - 192usize]; + ["Offset of field: Qdisc::owner"][::core::mem::offset_of!(Qdisc, owner) - 212usize]; + ["Offset of field: Qdisc::state"][::core::mem::offset_of!(Qdisc, state) - 216usize]; + ["Offset of field: Qdisc::state2"][::core::mem::offset_of!(Qdisc, state2) - 224usize]; + ["Offset of field: Qdisc::next_sched"][::core::mem::offset_of!(Qdisc, next_sched) - 232usize]; + ["Offset of field: Qdisc::skb_bad_txq"][::core::mem::offset_of!(Qdisc, skb_bad_txq) - 240usize]; + ["Offset of field: Qdisc::busylock"][::core::mem::offset_of!(Qdisc, busylock) - 320usize]; + ["Offset of field: Qdisc::seqlock"][::core::mem::offset_of!(Qdisc, seqlock) - 324usize]; + ["Offset of field: Qdisc::rcu"][::core::mem::offset_of!(Qdisc, rcu) - 328usize]; + ["Offset of field: Qdisc::dev_tracker"][::core::mem::offset_of!(Qdisc, dev_tracker) - 344usize]; + ["Offset of field: Qdisc::root_lock_key"] + [::core::mem::offset_of!(Qdisc, root_lock_key) - 344usize]; + ["Offset of field: Qdisc::privdata"][::core::mem::offset_of!(Qdisc, privdata) - 384usize]; +}; +impl Qdisc { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Qdisc_class_ops { + pub flags: ::core::ffi::c_uint, + pub select_queue: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut Qdisc, arg2: *mut tcmsg) -> *mut netdev_queue, + >, + pub graft: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: ::core::ffi::c_ulong, + arg3: *mut Qdisc, + arg4: *mut *mut Qdisc, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub leaf: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut Qdisc, arg2: ::core::ffi::c_ulong) -> *mut Qdisc, + >, + pub qlen_notify: + ::core::option::Option, + pub find: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut Qdisc, arg2: u32_) -> ::core::ffi::c_ulong, + >, + pub change: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: u32_, + arg3: u32_, + arg4: *mut *mut nlattr, + arg5: *mut ::core::ffi::c_ulong, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub delete: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: ::core::ffi::c_ulong, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub walk: + ::core::option::Option, + pub tcf_block: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: ::core::ffi::c_ulong, + arg3: *mut netlink_ext_ack, + ) -> *mut tcf_block, + >, + pub bind_tcf: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: ::core::ffi::c_ulong, + arg3: u32_, + ) -> ::core::ffi::c_ulong, + >, + pub unbind_tcf: + ::core::option::Option, + pub dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: ::core::ffi::c_ulong, + arg3: *mut sk_buff, + arg4: *mut tcmsg, + ) -> ::core::ffi::c_int, + >, + pub dump_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: ::core::ffi::c_ulong, + arg3: *mut gnet_dump, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of Qdisc_class_ops"][::core::mem::size_of::() - 112usize]; + ["Alignment of Qdisc_class_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: Qdisc_class_ops::flags"] + [::core::mem::offset_of!(Qdisc_class_ops, flags) - 0usize]; + ["Offset of field: Qdisc_class_ops::select_queue"] + [::core::mem::offset_of!(Qdisc_class_ops, select_queue) - 8usize]; + ["Offset of field: Qdisc_class_ops::graft"] + [::core::mem::offset_of!(Qdisc_class_ops, graft) - 16usize]; + ["Offset of field: Qdisc_class_ops::leaf"] + [::core::mem::offset_of!(Qdisc_class_ops, leaf) - 24usize]; + ["Offset of field: Qdisc_class_ops::qlen_notify"] + [::core::mem::offset_of!(Qdisc_class_ops, qlen_notify) - 32usize]; + ["Offset of field: Qdisc_class_ops::find"] + [::core::mem::offset_of!(Qdisc_class_ops, find) - 40usize]; + ["Offset of field: Qdisc_class_ops::change"] + [::core::mem::offset_of!(Qdisc_class_ops, change) - 48usize]; + ["Offset of field: Qdisc_class_ops::delete"] + [::core::mem::offset_of!(Qdisc_class_ops, delete) - 56usize]; + ["Offset of field: Qdisc_class_ops::walk"] + [::core::mem::offset_of!(Qdisc_class_ops, walk) - 64usize]; + ["Offset of field: Qdisc_class_ops::tcf_block"] + [::core::mem::offset_of!(Qdisc_class_ops, tcf_block) - 72usize]; + ["Offset of field: Qdisc_class_ops::bind_tcf"] + [::core::mem::offset_of!(Qdisc_class_ops, bind_tcf) - 80usize]; + ["Offset of field: Qdisc_class_ops::unbind_tcf"] + [::core::mem::offset_of!(Qdisc_class_ops, unbind_tcf) - 88usize]; + ["Offset of field: Qdisc_class_ops::dump"] + [::core::mem::offset_of!(Qdisc_class_ops, dump) - 96usize]; + ["Offset of field: Qdisc_class_ops::dump_stats"] + [::core::mem::offset_of!(Qdisc_class_ops, dump_stats) - 104usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct Qdisc_ops { + pub next: *mut Qdisc_ops, + pub cl_ops: *const Qdisc_class_ops, + pub id: [::core::ffi::c_char; 16usize], + pub priv_size: ::core::ffi::c_int, + pub static_flags: ::core::ffi::c_uint, + pub enqueue: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut Qdisc, + arg3: *mut *mut sk_buff, + ) -> ::core::ffi::c_int, + >, + pub dequeue: ::core::option::Option *mut sk_buff>, + pub peek: ::core::option::Option *mut sk_buff>, + pub init: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: *mut nlattr, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub reset: ::core::option::Option, + pub destroy: ::core::option::Option, + pub change: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: *mut nlattr, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub attach: ::core::option::Option, + pub change_tx_queue_len: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut Qdisc, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub change_real_num_tx: + ::core::option::Option, + pub dump: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut Qdisc, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub dump_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut Qdisc, arg2: *mut gnet_dump) -> ::core::ffi::c_int, + >, + pub ingress_block_set: + ::core::option::Option, + pub egress_block_set: + ::core::option::Option, + pub ingress_block_get: ::core::option::Option u32_>, + pub egress_block_get: ::core::option::Option u32_>, + pub owner: *mut module, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of Qdisc_ops"][::core::mem::size_of::() - 176usize]; + ["Alignment of Qdisc_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: Qdisc_ops::next"][::core::mem::offset_of!(Qdisc_ops, next) - 0usize]; + ["Offset of field: Qdisc_ops::cl_ops"][::core::mem::offset_of!(Qdisc_ops, cl_ops) - 8usize]; + ["Offset of field: Qdisc_ops::id"][::core::mem::offset_of!(Qdisc_ops, id) - 16usize]; + ["Offset of field: Qdisc_ops::priv_size"] + [::core::mem::offset_of!(Qdisc_ops, priv_size) - 32usize]; + ["Offset of field: Qdisc_ops::static_flags"] + [::core::mem::offset_of!(Qdisc_ops, static_flags) - 36usize]; + ["Offset of field: Qdisc_ops::enqueue"][::core::mem::offset_of!(Qdisc_ops, enqueue) - 40usize]; + ["Offset of field: Qdisc_ops::dequeue"][::core::mem::offset_of!(Qdisc_ops, dequeue) - 48usize]; + ["Offset of field: Qdisc_ops::peek"][::core::mem::offset_of!(Qdisc_ops, peek) - 56usize]; + ["Offset of field: Qdisc_ops::init"][::core::mem::offset_of!(Qdisc_ops, init) - 64usize]; + ["Offset of field: Qdisc_ops::reset"][::core::mem::offset_of!(Qdisc_ops, reset) - 72usize]; + ["Offset of field: Qdisc_ops::destroy"][::core::mem::offset_of!(Qdisc_ops, destroy) - 80usize]; + ["Offset of field: Qdisc_ops::change"][::core::mem::offset_of!(Qdisc_ops, change) - 88usize]; + ["Offset of field: Qdisc_ops::attach"][::core::mem::offset_of!(Qdisc_ops, attach) - 96usize]; + ["Offset of field: Qdisc_ops::change_tx_queue_len"] + [::core::mem::offset_of!(Qdisc_ops, change_tx_queue_len) - 104usize]; + ["Offset of field: Qdisc_ops::change_real_num_tx"] + [::core::mem::offset_of!(Qdisc_ops, change_real_num_tx) - 112usize]; + ["Offset of field: Qdisc_ops::dump"][::core::mem::offset_of!(Qdisc_ops, dump) - 120usize]; + ["Offset of field: Qdisc_ops::dump_stats"] + [::core::mem::offset_of!(Qdisc_ops, dump_stats) - 128usize]; + ["Offset of field: Qdisc_ops::ingress_block_set"] + [::core::mem::offset_of!(Qdisc_ops, ingress_block_set) - 136usize]; + ["Offset of field: Qdisc_ops::egress_block_set"] + [::core::mem::offset_of!(Qdisc_ops, egress_block_set) - 144usize]; + ["Offset of field: Qdisc_ops::ingress_block_get"] + [::core::mem::offset_of!(Qdisc_ops, ingress_block_get) - 152usize]; + ["Offset of field: Qdisc_ops::egress_block_get"] + [::core::mem::offset_of!(Qdisc_ops, egress_block_get) - 160usize]; + ["Offset of field: Qdisc_ops::owner"][::core::mem::offset_of!(Qdisc_ops, owner) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kref { + pub refcount: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kref"][::core::mem::size_of::() - 4usize]; + ["Alignment of kref"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kref::refcount"][::core::mem::offset_of!(kref, refcount) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct swait_queue_head { + pub lock: raw_spinlock_t, + pub task_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of swait_queue_head"][::core::mem::size_of::() - 24usize]; + ["Alignment of swait_queue_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: swait_queue_head::lock"] + [::core::mem::offset_of!(swait_queue_head, lock) - 0usize]; + ["Offset of field: swait_queue_head::task_list"] + [::core::mem::offset_of!(swait_queue_head, task_list) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct completion { + pub done: ::core::ffi::c_uint, + pub wait: swait_queue_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of completion"][::core::mem::size_of::() - 32usize]; + ["Alignment of completion"][::core::mem::align_of::() - 8usize]; + ["Offset of field: completion::done"][::core::mem::offset_of!(completion, done) - 0usize]; + ["Offset of field: completion::wait"][::core::mem::offset_of!(completion, wait) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_mq_queue_map { + pub mq_map: *mut ::core::ffi::c_uint, + pub nr_queues: ::core::ffi::c_uint, + pub queue_offset: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_queue_map"][::core::mem::size_of::() - 16usize]; + ["Alignment of blk_mq_queue_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_queue_map::mq_map"] + [::core::mem::offset_of!(blk_mq_queue_map, mq_map) - 0usize]; + ["Offset of field: blk_mq_queue_map::nr_queues"] + [::core::mem::offset_of!(blk_mq_queue_map, nr_queues) - 8usize]; + ["Offset of field: blk_mq_queue_map::queue_offset"] + [::core::mem::offset_of!(blk_mq_queue_map, queue_offset) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_mq_tag_set { + pub ops: *const blk_mq_ops, + pub map: [blk_mq_queue_map; 3usize], + pub nr_maps: ::core::ffi::c_uint, + pub nr_hw_queues: ::core::ffi::c_uint, + pub queue_depth: ::core::ffi::c_uint, + pub reserved_tags: ::core::ffi::c_uint, + pub cmd_size: ::core::ffi::c_uint, + pub numa_node: ::core::ffi::c_int, + pub timeout: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_uint, + pub driver_data: *mut ::core::ffi::c_void, + pub tags: *mut *mut blk_mq_tags, + pub shared_tags: *mut blk_mq_tags, + pub tag_list_lock: mutex, + pub tag_list: list_head, + pub srcu: *mut srcu_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_tag_set"][::core::mem::size_of::() - 168usize]; + ["Alignment of blk_mq_tag_set"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_tag_set::ops"][::core::mem::offset_of!(blk_mq_tag_set, ops) - 0usize]; + ["Offset of field: blk_mq_tag_set::map"][::core::mem::offset_of!(blk_mq_tag_set, map) - 8usize]; + ["Offset of field: blk_mq_tag_set::nr_maps"] + [::core::mem::offset_of!(blk_mq_tag_set, nr_maps) - 56usize]; + ["Offset of field: blk_mq_tag_set::nr_hw_queues"] + [::core::mem::offset_of!(blk_mq_tag_set, nr_hw_queues) - 60usize]; + ["Offset of field: blk_mq_tag_set::queue_depth"] + [::core::mem::offset_of!(blk_mq_tag_set, queue_depth) - 64usize]; + ["Offset of field: blk_mq_tag_set::reserved_tags"] + [::core::mem::offset_of!(blk_mq_tag_set, reserved_tags) - 68usize]; + ["Offset of field: blk_mq_tag_set::cmd_size"] + [::core::mem::offset_of!(blk_mq_tag_set, cmd_size) - 72usize]; + ["Offset of field: blk_mq_tag_set::numa_node"] + [::core::mem::offset_of!(blk_mq_tag_set, numa_node) - 76usize]; + ["Offset of field: blk_mq_tag_set::timeout"] + [::core::mem::offset_of!(blk_mq_tag_set, timeout) - 80usize]; + ["Offset of field: blk_mq_tag_set::flags"] + [::core::mem::offset_of!(blk_mq_tag_set, flags) - 84usize]; + ["Offset of field: blk_mq_tag_set::driver_data"] + [::core::mem::offset_of!(blk_mq_tag_set, driver_data) - 88usize]; + ["Offset of field: blk_mq_tag_set::tags"] + [::core::mem::offset_of!(blk_mq_tag_set, tags) - 96usize]; + ["Offset of field: blk_mq_tag_set::shared_tags"] + [::core::mem::offset_of!(blk_mq_tag_set, shared_tags) - 104usize]; + ["Offset of field: blk_mq_tag_set::tag_list_lock"] + [::core::mem::offset_of!(blk_mq_tag_set, tag_list_lock) - 112usize]; + ["Offset of field: blk_mq_tag_set::tag_list"] + [::core::mem::offset_of!(blk_mq_tag_set, tag_list) - 144usize]; + ["Offset of field: blk_mq_tag_set::srcu"] + [::core::mem::offset_of!(blk_mq_tag_set, srcu) - 160usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kobject { + pub name: *const ::core::ffi::c_char, + pub entry: list_head, + pub parent: *mut kobject, + pub kset: *mut kset, + pub ktype: *const kobj_type, + pub sd: *mut kernfs_node, + pub kref: kref, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kobject"][::core::mem::size_of::() - 64usize]; + ["Alignment of kobject"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kobject::name"][::core::mem::offset_of!(kobject, name) - 0usize]; + ["Offset of field: kobject::entry"][::core::mem::offset_of!(kobject, entry) - 8usize]; + ["Offset of field: kobject::parent"][::core::mem::offset_of!(kobject, parent) - 24usize]; + ["Offset of field: kobject::kset"][::core::mem::offset_of!(kobject, kset) - 32usize]; + ["Offset of field: kobject::ktype"][::core::mem::offset_of!(kobject, ktype) - 40usize]; + ["Offset of field: kobject::sd"][::core::mem::offset_of!(kobject, sd) - 48usize]; + ["Offset of field: kobject::kref"][::core::mem::offset_of!(kobject, kref) - 56usize]; +}; +impl kobject { + #[inline] + pub fn state_initialized(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_state_initialized(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn state_initialized_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_state_initialized_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn state_in_sysfs(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_state_in_sysfs(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn state_in_sysfs_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_state_in_sysfs_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn state_add_uevent_sent(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_state_add_uevent_sent(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn state_add_uevent_sent_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_state_add_uevent_sent_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn state_remove_uevent_sent(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_state_remove_uevent_sent(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn state_remove_uevent_sent_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_state_remove_uevent_sent_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn uevent_suppress(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_uevent_suppress(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn uevent_suppress_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_uevent_suppress_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + state_initialized: ::core::ffi::c_uint, + state_in_sysfs: ::core::ffi::c_uint, + state_add_uevent_sent: ::core::ffi::c_uint, + state_remove_uevent_sent: ::core::ffi::c_uint, + uevent_suppress: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let state_initialized: u32 = unsafe { ::core::mem::transmute(state_initialized) }; + state_initialized as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let state_in_sysfs: u32 = unsafe { ::core::mem::transmute(state_in_sysfs) }; + state_in_sysfs as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let state_add_uevent_sent: u32 = + unsafe { ::core::mem::transmute(state_add_uevent_sent) }; + state_add_uevent_sent as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let state_remove_uevent_sent: u32 = + unsafe { ::core::mem::transmute(state_remove_uevent_sent) }; + state_remove_uevent_sent as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let uevent_suppress: u32 = unsafe { ::core::mem::transmute(uevent_suppress) }; + uevent_suppress as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_links_info { + pub suppliers: list_head, + pub consumers: list_head, + pub defer_sync: list_head, + pub status: dl_dev_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_links_info"][::core::mem::size_of::() - 56usize]; + ["Alignment of dev_links_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_links_info::suppliers"] + [::core::mem::offset_of!(dev_links_info, suppliers) - 0usize]; + ["Offset of field: dev_links_info::consumers"] + [::core::mem::offset_of!(dev_links_info, consumers) - 16usize]; + ["Offset of field: dev_links_info::defer_sync"] + [::core::mem::offset_of!(dev_links_info, defer_sync) - 32usize]; + ["Offset of field: dev_links_info::status"] + [::core::mem::offset_of!(dev_links_info, status) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_message { + pub event: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pm_message"][::core::mem::size_of::() - 4usize]; + ["Alignment of pm_message"][::core::mem::align_of::() - 4usize]; + ["Offset of field: pm_message::event"][::core::mem::offset_of!(pm_message, event) - 0usize]; +}; +pub type pm_message_t = pm_message; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rb_node { + pub __rb_parent_color: ::core::ffi::c_ulong, + pub rb_right: *mut rb_node, + pub rb_left: *mut rb_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rb_node"][::core::mem::size_of::() - 24usize]; + ["Alignment of rb_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rb_node::__rb_parent_color"] + [::core::mem::offset_of!(rb_node, __rb_parent_color) - 0usize]; + ["Offset of field: rb_node::rb_right"][::core::mem::offset_of!(rb_node, rb_right) - 8usize]; + ["Offset of field: rb_node::rb_left"][::core::mem::offset_of!(rb_node, rb_left) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timerqueue_node { + pub node: rb_node, + pub expires: ktime_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of timerqueue_node"][::core::mem::size_of::() - 32usize]; + ["Alignment of timerqueue_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: timerqueue_node::node"] + [::core::mem::offset_of!(timerqueue_node, node) - 0usize]; + ["Offset of field: timerqueue_node::expires"] + [::core::mem::offset_of!(timerqueue_node, expires) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hrtimer { + pub node: timerqueue_node, + pub _softexpires: ktime_t, + pub function: + ::core::option::Option hrtimer_restart>, + pub base: *mut hrtimer_clock_base, + pub state: u8_, + pub is_rel: u8_, + pub is_soft: u8_, + pub is_hard: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hrtimer"][::core::mem::size_of::() - 64usize]; + ["Alignment of hrtimer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hrtimer::node"][::core::mem::offset_of!(hrtimer, node) - 0usize]; + ["Offset of field: hrtimer::_softexpires"] + [::core::mem::offset_of!(hrtimer, _softexpires) - 32usize]; + ["Offset of field: hrtimer::function"][::core::mem::offset_of!(hrtimer, function) - 40usize]; + ["Offset of field: hrtimer::base"][::core::mem::offset_of!(hrtimer, base) - 48usize]; + ["Offset of field: hrtimer::state"][::core::mem::offset_of!(hrtimer, state) - 56usize]; + ["Offset of field: hrtimer::is_rel"][::core::mem::offset_of!(hrtimer, is_rel) - 57usize]; + ["Offset of field: hrtimer::is_soft"][::core::mem::offset_of!(hrtimer, is_soft) - 58usize]; + ["Offset of field: hrtimer::is_hard"][::core::mem::offset_of!(hrtimer, is_hard) - 59usize]; +}; +pub type work_func_t = ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct work_struct { + pub data: atomic_long_t, + pub entry: list_head, + pub func: work_func_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of work_struct"][::core::mem::size_of::() - 32usize]; + ["Alignment of work_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: work_struct::data"][::core::mem::offset_of!(work_struct, data) - 0usize]; + ["Offset of field: work_struct::entry"][::core::mem::offset_of!(work_struct, entry) - 8usize]; + ["Offset of field: work_struct::func"][::core::mem::offset_of!(work_struct, func) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dev_pm_info { + pub power_state: pm_message_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub driver_flags: u32_, + pub lock: spinlock_t, + pub entry: list_head, + pub completion: completion, + pub wakeup: *mut wakeup_source, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>, + pub suspend_timer: hrtimer, + pub timer_expires: u64_, + pub work: work_struct, + pub wait_queue: wait_queue_head_t, + pub wakeirq: *mut wake_irq, + pub usage_count: atomic_t, + pub child_count: atomic_t, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 2usize]>, + pub links_count: ::core::ffi::c_uint, + pub request: rpm_request, + pub runtime_status: rpm_status, + pub last_status: rpm_status, + pub runtime_error: ::core::ffi::c_int, + pub autosuspend_delay: ::core::ffi::c_int, + pub last_busy: u64_, + pub active_time: u64_, + pub suspended_time: u64_, + pub accounting_timestamp: u64_, + pub subsys_data: *mut pm_subsys_data, + pub set_latency_tolerance: + ::core::option::Option, + pub qos: *mut dev_pm_qos, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pm_info"][::core::mem::size_of::() - 312usize]; + ["Alignment of dev_pm_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pm_info::power_state"] + [::core::mem::offset_of!(dev_pm_info, power_state) - 0usize]; + ["Offset of field: dev_pm_info::driver_flags"] + [::core::mem::offset_of!(dev_pm_info, driver_flags) - 8usize]; + ["Offset of field: dev_pm_info::lock"][::core::mem::offset_of!(dev_pm_info, lock) - 12usize]; + ["Offset of field: dev_pm_info::entry"][::core::mem::offset_of!(dev_pm_info, entry) - 16usize]; + ["Offset of field: dev_pm_info::completion"] + [::core::mem::offset_of!(dev_pm_info, completion) - 32usize]; + ["Offset of field: dev_pm_info::wakeup"] + [::core::mem::offset_of!(dev_pm_info, wakeup) - 64usize]; + ["Offset of field: dev_pm_info::suspend_timer"] + [::core::mem::offset_of!(dev_pm_info, suspend_timer) - 80usize]; + ["Offset of field: dev_pm_info::timer_expires"] + [::core::mem::offset_of!(dev_pm_info, timer_expires) - 144usize]; + ["Offset of field: dev_pm_info::work"][::core::mem::offset_of!(dev_pm_info, work) - 152usize]; + ["Offset of field: dev_pm_info::wait_queue"] + [::core::mem::offset_of!(dev_pm_info, wait_queue) - 184usize]; + ["Offset of field: dev_pm_info::wakeirq"] + [::core::mem::offset_of!(dev_pm_info, wakeirq) - 208usize]; + ["Offset of field: dev_pm_info::usage_count"] + [::core::mem::offset_of!(dev_pm_info, usage_count) - 216usize]; + ["Offset of field: dev_pm_info::child_count"] + [::core::mem::offset_of!(dev_pm_info, child_count) - 220usize]; + ["Offset of field: dev_pm_info::links_count"] + [::core::mem::offset_of!(dev_pm_info, links_count) - 228usize]; + ["Offset of field: dev_pm_info::request"] + [::core::mem::offset_of!(dev_pm_info, request) - 232usize]; + ["Offset of field: dev_pm_info::runtime_status"] + [::core::mem::offset_of!(dev_pm_info, runtime_status) - 236usize]; + ["Offset of field: dev_pm_info::last_status"] + [::core::mem::offset_of!(dev_pm_info, last_status) - 240usize]; + ["Offset of field: dev_pm_info::runtime_error"] + [::core::mem::offset_of!(dev_pm_info, runtime_error) - 244usize]; + ["Offset of field: dev_pm_info::autosuspend_delay"] + [::core::mem::offset_of!(dev_pm_info, autosuspend_delay) - 248usize]; + ["Offset of field: dev_pm_info::last_busy"] + [::core::mem::offset_of!(dev_pm_info, last_busy) - 256usize]; + ["Offset of field: dev_pm_info::active_time"] + [::core::mem::offset_of!(dev_pm_info, active_time) - 264usize]; + ["Offset of field: dev_pm_info::suspended_time"] + [::core::mem::offset_of!(dev_pm_info, suspended_time) - 272usize]; + ["Offset of field: dev_pm_info::accounting_timestamp"] + [::core::mem::offset_of!(dev_pm_info, accounting_timestamp) - 280usize]; + ["Offset of field: dev_pm_info::subsys_data"] + [::core::mem::offset_of!(dev_pm_info, subsys_data) - 288usize]; + ["Offset of field: dev_pm_info::set_latency_tolerance"] + [::core::mem::offset_of!(dev_pm_info, set_latency_tolerance) - 296usize]; + ["Offset of field: dev_pm_info::qos"][::core::mem::offset_of!(dev_pm_info, qos) - 304usize]; +}; +impl dev_pm_info { + #[inline] + pub fn can_wakeup(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_can_wakeup(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn can_wakeup_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_can_wakeup_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn async_suspend(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_async_suspend(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn async_suspend_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_async_suspend_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_dpm_list(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_in_dpm_list(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_dpm_list_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_in_dpm_list_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_prepared(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_prepared(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_prepared_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_prepared_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_suspended(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_suspended(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_suspended_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_suspended_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_noirq_suspended(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_noirq_suspended(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_noirq_suspended_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_noirq_suspended_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_late_suspended(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_late_suspended(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_late_suspended_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_late_suspended_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn no_pm(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_no_pm(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_pm_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_no_pm_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn early_init(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_early_init(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn early_init_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_early_init_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn direct_complete(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) } + } + #[inline] + pub fn set_direct_complete(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn direct_complete_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_direct_complete_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + can_wakeup: bool_, + async_suspend: bool_, + in_dpm_list: bool_, + is_prepared: bool_, + is_suspended: bool_, + is_noirq_suspended: bool_, + is_late_suspended: bool_, + no_pm: bool_, + early_init: bool_, + direct_complete: bool_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let can_wakeup: u8 = unsafe { ::core::mem::transmute(can_wakeup) }; + can_wakeup as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let async_suspend: u8 = unsafe { ::core::mem::transmute(async_suspend) }; + async_suspend as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let in_dpm_list: u8 = unsafe { ::core::mem::transmute(in_dpm_list) }; + in_dpm_list as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let is_prepared: u8 = unsafe { ::core::mem::transmute(is_prepared) }; + is_prepared as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let is_suspended: u8 = unsafe { ::core::mem::transmute(is_suspended) }; + is_suspended as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let is_noirq_suspended: u8 = unsafe { ::core::mem::transmute(is_noirq_suspended) }; + is_noirq_suspended as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let is_late_suspended: u8 = unsafe { ::core::mem::transmute(is_late_suspended) }; + is_late_suspended as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let no_pm: u8 = unsafe { ::core::mem::transmute(no_pm) }; + no_pm as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let early_init: u8 = unsafe { ::core::mem::transmute(early_init) }; + early_init as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let direct_complete: u8 = unsafe { ::core::mem::transmute(direct_complete) }; + direct_complete as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn wakeup_path(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_wakeup_path(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wakeup_path_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_wakeup_path_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn syscore(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_syscore(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn syscore_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_syscore_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn no_pm_callbacks(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_no_pm_callbacks(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_pm_callbacks_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_no_pm_callbacks_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn async_in_progress(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_async_in_progress(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn async_in_progress_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_async_in_progress_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn must_resume(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_must_resume(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn must_resume_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_must_resume_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn may_skip_resume(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_may_skip_resume(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn may_skip_resume_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_may_skip_resume_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2( + wakeup_path: bool_, + syscore: bool_, + no_pm_callbacks: bool_, + async_in_progress: bool_, + must_resume: bool_, + may_skip_resume: bool_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let wakeup_path: u8 = unsafe { ::core::mem::transmute(wakeup_path) }; + wakeup_path as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let syscore: u8 = unsafe { ::core::mem::transmute(syscore) }; + syscore as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let no_pm_callbacks: u8 = unsafe { ::core::mem::transmute(no_pm_callbacks) }; + no_pm_callbacks as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let async_in_progress: u8 = unsafe { ::core::mem::transmute(async_in_progress) }; + async_in_progress as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let must_resume: u8 = unsafe { ::core::mem::transmute(must_resume) }; + must_resume as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let may_skip_resume: u8 = unsafe { ::core::mem::transmute(may_skip_resume) }; + may_skip_resume as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn disable_depth(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_3.get(0usize, 3u8) as u32) } + } + #[inline] + pub fn set_disable_depth(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_3.set(0usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn disable_depth_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 0usize, + 3u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_disable_depth_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 0usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn idle_notification(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_idle_notification(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn idle_notification_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_idle_notification_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn request_pending(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_request_pending(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn request_pending_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_request_pending_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn deferred_resume(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_deferred_resume(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn deferred_resume_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_deferred_resume_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn needs_force_resume(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_needs_force_resume(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn needs_force_resume_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_needs_force_resume_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn runtime_auto(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_runtime_auto(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn runtime_auto_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_runtime_auto_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ignore_children(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_ignore_children(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ignore_children_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ignore_children_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn no_callbacks(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(9usize, 1u8) as u8) } + } + #[inline] + pub fn set_no_callbacks(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_callbacks_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 9usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_no_callbacks_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn irq_safe(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(10usize, 1u8) as u8) } + } + #[inline] + pub fn set_irq_safe(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn irq_safe_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 10usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_irq_safe_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn use_autosuspend(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(11usize, 1u8) as u8) } + } + #[inline] + pub fn set_use_autosuspend(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn use_autosuspend_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 11usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_use_autosuspend_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn timer_autosuspends(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(12usize, 1u8) as u8) } + } + #[inline] + pub fn set_timer_autosuspends(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn timer_autosuspends_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 12usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_timer_autosuspends_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn memalloc_noio(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_3.get(13usize, 1u8) as u8) } + } + #[inline] + pub fn set_memalloc_noio(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_3.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn memalloc_noio_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 13usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_memalloc_noio_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 13usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_3( + disable_depth: ::core::ffi::c_uint, + idle_notification: bool_, + request_pending: bool_, + deferred_resume: bool_, + needs_force_resume: bool_, + runtime_auto: bool_, + ignore_children: bool_, + no_callbacks: bool_, + irq_safe: bool_, + use_autosuspend: bool_, + timer_autosuspends: bool_, + memalloc_noio: bool_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 3u8, { + let disable_depth: u32 = unsafe { ::core::mem::transmute(disable_depth) }; + disable_depth as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let idle_notification: u8 = unsafe { ::core::mem::transmute(idle_notification) }; + idle_notification as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let request_pending: u8 = unsafe { ::core::mem::transmute(request_pending) }; + request_pending as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let deferred_resume: u8 = unsafe { ::core::mem::transmute(deferred_resume) }; + deferred_resume as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let needs_force_resume: u8 = unsafe { ::core::mem::transmute(needs_force_resume) }; + needs_force_resume as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let runtime_auto: u8 = unsafe { ::core::mem::transmute(runtime_auto) }; + runtime_auto as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let ignore_children: u8 = unsafe { ::core::mem::transmute(ignore_children) }; + ignore_children as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let no_callbacks: u8 = unsafe { ::core::mem::transmute(no_callbacks) }; + no_callbacks as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let irq_safe: u8 = unsafe { ::core::mem::transmute(irq_safe) }; + irq_safe as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let use_autosuspend: u8 = unsafe { ::core::mem::transmute(use_autosuspend) }; + use_autosuspend as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let timer_autosuspends: u8 = unsafe { ::core::mem::transmute(timer_autosuspends) }; + timer_autosuspends as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let memalloc_noio: u8 = unsafe { ::core::mem::transmute(memalloc_noio) }; + memalloc_noio as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_msi_info { + pub domain: *mut irq_domain, + pub data: *mut msi_device_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_msi_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of dev_msi_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_msi_info::domain"] + [::core::mem::offset_of!(dev_msi_info, domain) - 0usize]; + ["Offset of field: dev_msi_info::data"][::core::mem::offset_of!(dev_msi_info, data) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_archdata {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_archdata"][::core::mem::size_of::() - 0usize]; + ["Alignment of dev_archdata"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct device { + pub kobj: kobject, + pub parent: *mut device, + pub p: *mut device_private, + pub init_name: *const ::core::ffi::c_char, + pub type_: *const device_type, + pub bus: *const bus_type, + pub driver: *mut device_driver, + pub platform_data: *mut ::core::ffi::c_void, + pub driver_data: *mut ::core::ffi::c_void, + pub mutex: mutex, + pub links: dev_links_info, + pub power: dev_pm_info, + pub pm_domain: *mut dev_pm_domain, + pub em_pd: *mut em_perf_domain, + pub pins: *mut dev_pin_info, + pub msi: dev_msi_info, + pub dma_ops: *const dma_map_ops, + pub dma_mask: *mut u64_, + pub coherent_dma_mask: u64_, + pub bus_dma_limit: u64_, + pub dma_range_map: *const bus_dma_region, + pub dma_parms: *mut device_dma_parameters, + pub dma_pools: list_head, + pub cma_area: *mut cma, + pub dma_io_tlb_mem: *mut io_tlb_mem, + pub archdata: dev_archdata, + pub of_node: *mut device_node, + pub fwnode: *mut fwnode_handle, + pub numa_node: ::core::ffi::c_int, + pub devt: dev_t, + pub id: u32_, + pub devres_lock: spinlock_t, + pub devres_head: list_head, + pub class: *const class, + pub groups: *mut *const attribute_group, + pub release: ::core::option::Option, + pub iommu_group: *mut iommu_group, + pub iommu: *mut dev_iommu, + pub physical_location: *mut device_physical_location, + pub removable: device_removable, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device"][::core::mem::size_of::() - 752usize]; + ["Alignment of device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: device::kobj"][::core::mem::offset_of!(device, kobj) - 0usize]; + ["Offset of field: device::parent"][::core::mem::offset_of!(device, parent) - 64usize]; + ["Offset of field: device::p"][::core::mem::offset_of!(device, p) - 72usize]; + ["Offset of field: device::init_name"][::core::mem::offset_of!(device, init_name) - 80usize]; + ["Offset of field: device::type_"][::core::mem::offset_of!(device, type_) - 88usize]; + ["Offset of field: device::bus"][::core::mem::offset_of!(device, bus) - 96usize]; + ["Offset of field: device::driver"][::core::mem::offset_of!(device, driver) - 104usize]; + ["Offset of field: device::platform_data"] + [::core::mem::offset_of!(device, platform_data) - 112usize]; + ["Offset of field: device::driver_data"] + [::core::mem::offset_of!(device, driver_data) - 120usize]; + ["Offset of field: device::mutex"][::core::mem::offset_of!(device, mutex) - 128usize]; + ["Offset of field: device::links"][::core::mem::offset_of!(device, links) - 160usize]; + ["Offset of field: device::power"][::core::mem::offset_of!(device, power) - 216usize]; + ["Offset of field: device::pm_domain"][::core::mem::offset_of!(device, pm_domain) - 528usize]; + ["Offset of field: device::em_pd"][::core::mem::offset_of!(device, em_pd) - 536usize]; + ["Offset of field: device::pins"][::core::mem::offset_of!(device, pins) - 544usize]; + ["Offset of field: device::msi"][::core::mem::offset_of!(device, msi) - 552usize]; + ["Offset of field: device::dma_ops"][::core::mem::offset_of!(device, dma_ops) - 568usize]; + ["Offset of field: device::dma_mask"][::core::mem::offset_of!(device, dma_mask) - 576usize]; + ["Offset of field: device::coherent_dma_mask"] + [::core::mem::offset_of!(device, coherent_dma_mask) - 584usize]; + ["Offset of field: device::bus_dma_limit"] + [::core::mem::offset_of!(device, bus_dma_limit) - 592usize]; + ["Offset of field: device::dma_range_map"] + [::core::mem::offset_of!(device, dma_range_map) - 600usize]; + ["Offset of field: device::dma_parms"][::core::mem::offset_of!(device, dma_parms) - 608usize]; + ["Offset of field: device::dma_pools"][::core::mem::offset_of!(device, dma_pools) - 616usize]; + ["Offset of field: device::cma_area"][::core::mem::offset_of!(device, cma_area) - 632usize]; + ["Offset of field: device::dma_io_tlb_mem"] + [::core::mem::offset_of!(device, dma_io_tlb_mem) - 640usize]; + ["Offset of field: device::archdata"][::core::mem::offset_of!(device, archdata) - 648usize]; + ["Offset of field: device::of_node"][::core::mem::offset_of!(device, of_node) - 648usize]; + ["Offset of field: device::fwnode"][::core::mem::offset_of!(device, fwnode) - 656usize]; + ["Offset of field: device::numa_node"][::core::mem::offset_of!(device, numa_node) - 664usize]; + ["Offset of field: device::devt"][::core::mem::offset_of!(device, devt) - 668usize]; + ["Offset of field: device::id"][::core::mem::offset_of!(device, id) - 672usize]; + ["Offset of field: device::devres_lock"] + [::core::mem::offset_of!(device, devres_lock) - 676usize]; + ["Offset of field: device::devres_head"] + [::core::mem::offset_of!(device, devres_head) - 680usize]; + ["Offset of field: device::class"][::core::mem::offset_of!(device, class) - 696usize]; + ["Offset of field: device::groups"][::core::mem::offset_of!(device, groups) - 704usize]; + ["Offset of field: device::release"][::core::mem::offset_of!(device, release) - 712usize]; + ["Offset of field: device::iommu_group"] + [::core::mem::offset_of!(device, iommu_group) - 720usize]; + ["Offset of field: device::iommu"][::core::mem::offset_of!(device, iommu) - 728usize]; + ["Offset of field: device::physical_location"] + [::core::mem::offset_of!(device, physical_location) - 736usize]; + ["Offset of field: device::removable"][::core::mem::offset_of!(device, removable) - 744usize]; +}; +impl device { + #[inline] + pub fn offline_disabled(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_offline_disabled(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn offline_disabled_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_offline_disabled_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn offline(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_offline(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn offline_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_offline_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn of_node_reused(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_of_node_reused(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn of_node_reused_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_of_node_reused_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn state_synced(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_state_synced(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn state_synced_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_state_synced_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn can_match(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_can_match(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn can_match_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_can_match_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dma_skip_sync(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_dma_skip_sync(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dma_skip_sync_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dma_skip_sync_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dma_iommu(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_dma_iommu(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dma_iommu_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dma_iommu_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + offline_disabled: bool_, + offline: bool_, + of_node_reused: bool_, + state_synced: bool_, + can_match: bool_, + dma_skip_sync: bool_, + dma_iommu: bool_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let offline_disabled: u8 = unsafe { ::core::mem::transmute(offline_disabled) }; + offline_disabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let offline: u8 = unsafe { ::core::mem::transmute(offline) }; + offline as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let of_node_reused: u8 = unsafe { ::core::mem::transmute(of_node_reused) }; + of_node_reused as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let state_synced: u8 = unsafe { ::core::mem::transmute(state_synced) }; + state_synced as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let can_match: u8 = unsafe { ::core::mem::transmute(can_match) }; + can_match as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let dma_skip_sync: u8 = unsafe { ::core::mem::transmute(dma_skip_sync) }; + dma_skip_sync as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let dma_iommu: u8 = unsafe { ::core::mem::transmute(dma_iommu) }; + dma_iommu as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct llist_node { + pub next: *mut llist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of llist_node"][::core::mem::size_of::() - 8usize]; + ["Alignment of llist_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: llist_node::next"][::core::mem::offset_of!(llist_node, next) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __call_single_node { + pub llist: llist_node, + pub __bindgen_anon_1: __call_single_node__bindgen_ty_1, + pub src: u16_, + pub dst: u16_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __call_single_node__bindgen_ty_1 { + pub u_flags: ::core::ffi::c_uint, + pub a_flags: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __call_single_node__bindgen_ty_1"] + [::core::mem::size_of::<__call_single_node__bindgen_ty_1>() - 4usize]; + ["Alignment of __call_single_node__bindgen_ty_1"] + [::core::mem::align_of::<__call_single_node__bindgen_ty_1>() - 4usize]; + ["Offset of field: __call_single_node__bindgen_ty_1::u_flags"] + [::core::mem::offset_of!(__call_single_node__bindgen_ty_1, u_flags) - 0usize]; + ["Offset of field: __call_single_node__bindgen_ty_1::a_flags"] + [::core::mem::offset_of!(__call_single_node__bindgen_ty_1, a_flags) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __call_single_node"][::core::mem::size_of::<__call_single_node>() - 16usize]; + ["Alignment of __call_single_node"][::core::mem::align_of::<__call_single_node>() - 8usize]; + ["Offset of field: __call_single_node::llist"] + [::core::mem::offset_of!(__call_single_node, llist) - 0usize]; + ["Offset of field: __call_single_node::src"] + [::core::mem::offset_of!(__call_single_node, src) - 12usize]; + ["Offset of field: __call_single_node::dst"] + [::core::mem::offset_of!(__call_single_node, dst) - 14usize]; +}; +pub type smp_call_func_t = + ::core::option::Option; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __call_single_data { + pub node: __call_single_node, + pub func: smp_call_func_t, + pub info: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __call_single_data"][::core::mem::size_of::<__call_single_data>() - 32usize]; + ["Alignment of __call_single_data"][::core::mem::align_of::<__call_single_data>() - 8usize]; + ["Offset of field: __call_single_data::node"] + [::core::mem::offset_of!(__call_single_data, node) - 0usize]; + ["Offset of field: __call_single_data::func"] + [::core::mem::offset_of!(__call_single_data, func) - 16usize]; + ["Offset of field: __call_single_data::info"] + [::core::mem::offset_of!(__call_single_data, info) - 24usize]; +}; +pub type call_single_data_t = __call_single_data; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __kernel_timespec { + pub tv_sec: __kernel_time64_t, + pub tv_nsec: ::core::ffi::c_longlong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __kernel_timespec"][::core::mem::size_of::<__kernel_timespec>() - 16usize]; + ["Alignment of __kernel_timespec"][::core::mem::align_of::<__kernel_timespec>() - 8usize]; + ["Offset of field: __kernel_timespec::tv_sec"] + [::core::mem::offset_of!(__kernel_timespec, tv_sec) - 0usize]; + ["Offset of field: __kernel_timespec::tv_nsec"] + [::core::mem::offset_of!(__kernel_timespec, tv_nsec) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __kernel_sockaddr_storage { + pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __kernel_sockaddr_storage__bindgen_ty_1 { + pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1, + pub __align: *mut ::core::ffi::c_void, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1 { + pub ss_family: __kernel_sa_family_t, + pub __data: [::core::ffi::c_char; 126usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1, + >() - 128usize]; + ["Alignment of __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::<__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1>() - 2usize]; + ["Offset of field: __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1::ss_family"][::core::mem::offset_of!( + __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1, + ss_family + ) + - 0usize]; + ["Offset of field: __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1::__data"][::core::mem::offset_of!( + __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1, + __data + ) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __kernel_sockaddr_storage__bindgen_ty_1"] + [::core::mem::size_of::<__kernel_sockaddr_storage__bindgen_ty_1>() - 128usize]; + ["Alignment of __kernel_sockaddr_storage__bindgen_ty_1"] + [::core::mem::align_of::<__kernel_sockaddr_storage__bindgen_ty_1>() - 8usize]; + ["Offset of field: __kernel_sockaddr_storage__bindgen_ty_1::__align"] + [::core::mem::offset_of!(__kernel_sockaddr_storage__bindgen_ty_1, __align) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __kernel_sockaddr_storage"] + [::core::mem::size_of::<__kernel_sockaddr_storage>() - 128usize]; + ["Alignment of __kernel_sockaddr_storage"] + [::core::mem::align_of::<__kernel_sockaddr_storage>() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __kfifo { + pub in_: ::core::ffi::c_uint, + pub out: ::core::ffi::c_uint, + pub mask: ::core::ffi::c_uint, + pub esize: ::core::ffi::c_uint, + pub data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __kfifo"][::core::mem::size_of::<__kfifo>() - 24usize]; + ["Alignment of __kfifo"][::core::mem::align_of::<__kfifo>() - 8usize]; + ["Offset of field: __kfifo::in_"][::core::mem::offset_of!(__kfifo, in_) - 0usize]; + ["Offset of field: __kfifo::out"][::core::mem::offset_of!(__kfifo, out) - 4usize]; + ["Offset of field: __kfifo::mask"][::core::mem::offset_of!(__kfifo, mask) - 8usize]; + ["Offset of field: __kfifo::esize"][::core::mem::offset_of!(__kfifo, esize) - 12usize]; + ["Offset of field: __kfifo::data"][::core::mem::offset_of!(__kfifo, data) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sigval { + pub sival_int: ::core::ffi::c_int, + pub sival_ptr: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sigval"][::core::mem::size_of::() - 8usize]; + ["Alignment of sigval"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sigval::sival_int"][::core::mem::offset_of!(sigval, sival_int) - 0usize]; + ["Offset of field: sigval::sival_ptr"][::core::mem::offset_of!(sigval, sival_ptr) - 0usize]; +}; +pub type sigval_t = sigval; +#[repr(C)] +#[derive(Copy, Clone)] +pub union __sifields { + pub _kill: __sifields__bindgen_ty_1, + pub _timer: __sifields__bindgen_ty_2, + pub _rt: __sifields__bindgen_ty_3, + pub _sigchld: __sifields__bindgen_ty_4, + pub _sigfault: __sifields__bindgen_ty_5, + pub _sigpoll: __sifields__bindgen_ty_6, + pub _sigsys: __sifields__bindgen_ty_7, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sifields__bindgen_ty_1 { + pub _pid: __kernel_pid_t, + pub _uid: __kernel_uid32_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_1"] + [::core::mem::size_of::<__sifields__bindgen_ty_1>() - 8usize]; + ["Alignment of __sifields__bindgen_ty_1"] + [::core::mem::align_of::<__sifields__bindgen_ty_1>() - 4usize]; + ["Offset of field: __sifields__bindgen_ty_1::_pid"] + [::core::mem::offset_of!(__sifields__bindgen_ty_1, _pid) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_1::_uid"] + [::core::mem::offset_of!(__sifields__bindgen_ty_1, _uid) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __sifields__bindgen_ty_2 { + pub _tid: __kernel_timer_t, + pub _overrun: ::core::ffi::c_int, + pub _sigval: sigval_t, + pub _sys_private: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_2"] + [::core::mem::size_of::<__sifields__bindgen_ty_2>() - 24usize]; + ["Alignment of __sifields__bindgen_ty_2"] + [::core::mem::align_of::<__sifields__bindgen_ty_2>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_2::_tid"] + [::core::mem::offset_of!(__sifields__bindgen_ty_2, _tid) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_2::_overrun"] + [::core::mem::offset_of!(__sifields__bindgen_ty_2, _overrun) - 4usize]; + ["Offset of field: __sifields__bindgen_ty_2::_sigval"] + [::core::mem::offset_of!(__sifields__bindgen_ty_2, _sigval) - 8usize]; + ["Offset of field: __sifields__bindgen_ty_2::_sys_private"] + [::core::mem::offset_of!(__sifields__bindgen_ty_2, _sys_private) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __sifields__bindgen_ty_3 { + pub _pid: __kernel_pid_t, + pub _uid: __kernel_uid32_t, + pub _sigval: sigval_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_3"] + [::core::mem::size_of::<__sifields__bindgen_ty_3>() - 16usize]; + ["Alignment of __sifields__bindgen_ty_3"] + [::core::mem::align_of::<__sifields__bindgen_ty_3>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_3::_pid"] + [::core::mem::offset_of!(__sifields__bindgen_ty_3, _pid) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_3::_uid"] + [::core::mem::offset_of!(__sifields__bindgen_ty_3, _uid) - 4usize]; + ["Offset of field: __sifields__bindgen_ty_3::_sigval"] + [::core::mem::offset_of!(__sifields__bindgen_ty_3, _sigval) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sifields__bindgen_ty_4 { + pub _pid: __kernel_pid_t, + pub _uid: __kernel_uid32_t, + pub _status: ::core::ffi::c_int, + pub _utime: __kernel_clock_t, + pub _stime: __kernel_clock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_4"] + [::core::mem::size_of::<__sifields__bindgen_ty_4>() - 32usize]; + ["Alignment of __sifields__bindgen_ty_4"] + [::core::mem::align_of::<__sifields__bindgen_ty_4>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_4::_pid"] + [::core::mem::offset_of!(__sifields__bindgen_ty_4, _pid) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_4::_uid"] + [::core::mem::offset_of!(__sifields__bindgen_ty_4, _uid) - 4usize]; + ["Offset of field: __sifields__bindgen_ty_4::_status"] + [::core::mem::offset_of!(__sifields__bindgen_ty_4, _status) - 8usize]; + ["Offset of field: __sifields__bindgen_ty_4::_utime"] + [::core::mem::offset_of!(__sifields__bindgen_ty_4, _utime) - 16usize]; + ["Offset of field: __sifields__bindgen_ty_4::_stime"] + [::core::mem::offset_of!(__sifields__bindgen_ty_4, _stime) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __sifields__bindgen_ty_5 { + pub _addr: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __sifields__bindgen_ty_5__bindgen_ty_1 { + pub _trapno: ::core::ffi::c_int, + pub _addr_lsb: ::core::ffi::c_short, + pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1, + pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2, + pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 { + pub _dummy_bnd: [::core::ffi::c_char; 8usize], + pub _lower: *mut ::core::ffi::c_void, + pub _upper: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>() - 24usize]; + ["Alignment of __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1::_dummy_bnd"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1, + _dummy_bnd + ) + - 0usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1::_lower"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1, + _lower + ) - 8usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1::_upper"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1, + _upper + ) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 { + pub _dummy_pkey: [::core::ffi::c_char; 8usize], + pub _pkey: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>() - 12usize]; + ["Alignment of __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>() - 4usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2::_dummy_pkey"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2, + _dummy_pkey + ) + - 0usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2::_pkey"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2, + _pkey + ) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 { + pub _data: ::core::ffi::c_ulong, + pub _type: __u32, + pub _flags: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>() - 16usize]; + ["Alignment of __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3::_data"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3, + _data + ) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3::_type"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3, + _type + ) - 8usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3::_flags"][::core::mem::offset_of!( + __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3, + _flags + ) - 12usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_5__bindgen_ty_1"] + [::core::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>() - 24usize]; + ["Alignment of __sifields__bindgen_ty_5__bindgen_ty_1"] + [::core::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1::_trapno"] + [::core::mem::offset_of!(__sifields__bindgen_ty_5__bindgen_ty_1, _trapno) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1::_addr_lsb"] + [::core::mem::offset_of!(__sifields__bindgen_ty_5__bindgen_ty_1, _addr_lsb) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1::_addr_bnd"] + [::core::mem::offset_of!(__sifields__bindgen_ty_5__bindgen_ty_1, _addr_bnd) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1::_addr_pkey"] + [::core::mem::offset_of!(__sifields__bindgen_ty_5__bindgen_ty_1, _addr_pkey) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_5__bindgen_ty_1::_perf"] + [::core::mem::offset_of!(__sifields__bindgen_ty_5__bindgen_ty_1, _perf) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_5"] + [::core::mem::size_of::<__sifields__bindgen_ty_5>() - 32usize]; + ["Alignment of __sifields__bindgen_ty_5"] + [::core::mem::align_of::<__sifields__bindgen_ty_5>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_5::_addr"] + [::core::mem::offset_of!(__sifields__bindgen_ty_5, _addr) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sifields__bindgen_ty_6 { + pub _band: ::core::ffi::c_long, + pub _fd: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_6"] + [::core::mem::size_of::<__sifields__bindgen_ty_6>() - 16usize]; + ["Alignment of __sifields__bindgen_ty_6"] + [::core::mem::align_of::<__sifields__bindgen_ty_6>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_6::_band"] + [::core::mem::offset_of!(__sifields__bindgen_ty_6, _band) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_6::_fd"] + [::core::mem::offset_of!(__sifields__bindgen_ty_6, _fd) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sifields__bindgen_ty_7 { + pub _call_addr: *mut ::core::ffi::c_void, + pub _syscall: ::core::ffi::c_int, + pub _arch: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields__bindgen_ty_7"] + [::core::mem::size_of::<__sifields__bindgen_ty_7>() - 16usize]; + ["Alignment of __sifields__bindgen_ty_7"] + [::core::mem::align_of::<__sifields__bindgen_ty_7>() - 8usize]; + ["Offset of field: __sifields__bindgen_ty_7::_call_addr"] + [::core::mem::offset_of!(__sifields__bindgen_ty_7, _call_addr) - 0usize]; + ["Offset of field: __sifields__bindgen_ty_7::_syscall"] + [::core::mem::offset_of!(__sifields__bindgen_ty_7, _syscall) - 8usize]; + ["Offset of field: __sifields__bindgen_ty_7::_arch"] + [::core::mem::offset_of!(__sifields__bindgen_ty_7, _arch) - 12usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of __sifields"][::core::mem::size_of::<__sifields>() - 32usize]; + ["Alignment of __sifields"][::core::mem::align_of::<__sifields>() - 8usize]; + ["Offset of field: __sifields::_kill"][::core::mem::offset_of!(__sifields, _kill) - 0usize]; + ["Offset of field: __sifields::_timer"][::core::mem::offset_of!(__sifields, _timer) - 0usize]; + ["Offset of field: __sifields::_rt"][::core::mem::offset_of!(__sifields, _rt) - 0usize]; + ["Offset of field: __sifields::_sigchld"] + [::core::mem::offset_of!(__sifields, _sigchld) - 0usize]; + ["Offset of field: __sifields::_sigfault"] + [::core::mem::offset_of!(__sifields, _sigfault) - 0usize]; + ["Offset of field: __sifields::_sigpoll"] + [::core::mem::offset_of!(__sifields, _sigpoll) - 0usize]; + ["Offset of field: __sifields::_sigsys"][::core::mem::offset_of!(__sifields, _sigsys) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct static_key { + pub enabled: atomic_t, + pub __bindgen_anon_1: static_key__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union static_key__bindgen_ty_1 { + pub type_: ::core::ffi::c_ulong, + pub entries: *mut jump_entry, + pub next: *mut static_key_mod, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_key__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of static_key__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: static_key__bindgen_ty_1::type_"] + [::core::mem::offset_of!(static_key__bindgen_ty_1, type_) - 0usize]; + ["Offset of field: static_key__bindgen_ty_1::entries"] + [::core::mem::offset_of!(static_key__bindgen_ty_1, entries) - 0usize]; + ["Offset of field: static_key__bindgen_ty_1::next"] + [::core::mem::offset_of!(static_key__bindgen_ty_1, next) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_key"][::core::mem::size_of::() - 16usize]; + ["Alignment of static_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: static_key::enabled"][::core::mem::offset_of!(static_key, enabled) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct static_key_true { + pub key: static_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_key_true"][::core::mem::size_of::() - 16usize]; + ["Alignment of static_key_true"][::core::mem::align_of::() - 8usize]; + ["Offset of field: static_key_true::key"] + [::core::mem::offset_of!(static_key_true, key) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct static_key_false { + pub key: static_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_key_false"][::core::mem::size_of::() - 16usize]; + ["Alignment of static_key_false"][::core::mem::align_of::() - 8usize]; + ["Offset of field: static_key_false::key"] + [::core::mem::offset_of!(static_key_false, key) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ddebug { + pub modname: *const ::core::ffi::c_char, + pub function: *const ::core::ffi::c_char, + pub filename: *const ::core::ffi::c_char, + pub format: *const ::core::ffi::c_char, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub key: _ddebug__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _ddebug__bindgen_ty_1 { + pub dd_key_true: static_key_true, + pub dd_key_false: static_key_false, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of _ddebug__bindgen_ty_1"][::core::mem::size_of::<_ddebug__bindgen_ty_1>() - 16usize]; + ["Alignment of _ddebug__bindgen_ty_1"] + [::core::mem::align_of::<_ddebug__bindgen_ty_1>() - 8usize]; + ["Offset of field: _ddebug__bindgen_ty_1::dd_key_true"] + [::core::mem::offset_of!(_ddebug__bindgen_ty_1, dd_key_true) - 0usize]; + ["Offset of field: _ddebug__bindgen_ty_1::dd_key_false"] + [::core::mem::offset_of!(_ddebug__bindgen_ty_1, dd_key_false) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of _ddebug"][::core::mem::size_of::<_ddebug>() - 56usize]; + ["Alignment of _ddebug"][::core::mem::align_of::<_ddebug>() - 8usize]; + ["Offset of field: _ddebug::modname"][::core::mem::offset_of!(_ddebug, modname) - 0usize]; + ["Offset of field: _ddebug::function"][::core::mem::offset_of!(_ddebug, function) - 8usize]; + ["Offset of field: _ddebug::filename"][::core::mem::offset_of!(_ddebug, filename) - 16usize]; + ["Offset of field: _ddebug::format"][::core::mem::offset_of!(_ddebug, format) - 24usize]; + ["Offset of field: _ddebug::key"][::core::mem::offset_of!(_ddebug, key) - 40usize]; +}; +impl _ddebug { + #[inline] + pub fn lineno(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 18u8) as u32) } + } + #[inline] + pub fn set_lineno(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 18u8, val as u64) + } + } + #[inline] + pub unsafe fn lineno_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 18u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_lineno_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 18u8, + val as u64, + ) + } + } + #[inline] + pub fn class_id(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 6u8) as u32) } + } + #[inline] + pub fn set_class_id(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 6u8, val as u64) + } + } + #[inline] + pub unsafe fn class_id_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 18usize, + 6u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_class_id_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 18usize, + 6u8, + val as u64, + ) + } + } + #[inline] + pub fn flags(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_flags(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn flags_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 24usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_flags_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 24usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + lineno: ::core::ffi::c_uint, + class_id: ::core::ffi::c_uint, + flags: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 18u8, { + let lineno: u32 = unsafe { ::core::mem::transmute(lineno) }; + lineno as u64 + }); + __bindgen_bitfield_unit.set(18usize, 6u8, { + let class_id: u32 = unsafe { ::core::mem::transmute(class_id) }; + class_id as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let flags: u32 = unsafe { ::core::mem::transmute(flags) }; + flags as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ddebug_info { + pub descs: *mut _ddebug, + pub classes: *mut ddebug_class_map, + pub num_descs: ::core::ffi::c_uint, + pub num_classes: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of _ddebug_info"][::core::mem::size_of::<_ddebug_info>() - 24usize]; + ["Alignment of _ddebug_info"][::core::mem::align_of::<_ddebug_info>() - 8usize]; + ["Offset of field: _ddebug_info::descs"][::core::mem::offset_of!(_ddebug_info, descs) - 0usize]; + ["Offset of field: _ddebug_info::classes"] + [::core::mem::offset_of!(_ddebug_info, classes) - 8usize]; + ["Offset of field: _ddebug_info::num_descs"] + [::core::mem::offset_of!(_ddebug_info, num_descs) - 16usize]; + ["Offset of field: _ddebug_info::num_classes"] + [::core::mem::offset_of!(_ddebug_info, num_classes) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct delayed_work { + pub work: work_struct, + pub timer: timer_list, + pub wq: *mut workqueue_struct, + pub cpu: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of delayed_work"][::core::mem::size_of::() - 88usize]; + ["Alignment of delayed_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: delayed_work::work"][::core::mem::offset_of!(delayed_work, work) - 0usize]; + ["Offset of field: delayed_work::timer"] + [::core::mem::offset_of!(delayed_work, timer) - 32usize]; + ["Offset of field: delayed_work::wq"][::core::mem::offset_of!(delayed_work, wq) - 72usize]; + ["Offset of field: delayed_work::cpu"][::core::mem::offset_of!(delayed_work, cpu) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rhash_head { + pub next: *mut rhash_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rhash_head"][::core::mem::size_of::() - 8usize]; + ["Alignment of rhash_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rhash_head::next"][::core::mem::offset_of!(rhash_head, next) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rb_root { + pub rb_node: *mut rb_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rb_root"][::core::mem::size_of::() - 8usize]; + ["Alignment of rb_root"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rb_root::rb_node"][::core::mem::offset_of!(rb_root, rb_node) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rlimit { + pub rlim_cur: __kernel_ulong_t, + pub rlim_max: __kernel_ulong_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rlimit"][::core::mem::size_of::() - 16usize]; + ["Alignment of rlimit"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rlimit::rlim_cur"][::core::mem::offset_of!(rlimit, rlim_cur) - 0usize]; + ["Offset of field: rlimit::rlim_max"][::core::mem::offset_of!(rlimit, rlim_max) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ack_sample { + pub pkts_acked: u32_, + pub rtt_us: s32, + pub in_flight: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ack_sample"][::core::mem::size_of::() - 12usize]; + ["Alignment of ack_sample"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ack_sample::pkts_acked"] + [::core::mem::offset_of!(ack_sample, pkts_acked) - 0usize]; + ["Offset of field: ack_sample::rtt_us"][::core::mem::offset_of!(ack_sample, rtt_us) - 4usize]; + ["Offset of field: ack_sample::in_flight"] + [::core::mem::offset_of!(ack_sample, in_flight) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cipher_alg { + pub cia_min_keysize: ::core::ffi::c_uint, + pub cia_max_keysize: ::core::ffi::c_uint, + pub cia_setkey: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut crypto_tfm, + arg2: *const u8_, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub cia_encrypt: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut crypto_tfm, arg2: *mut u8_, arg3: *const u8_), + >, + pub cia_decrypt: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut crypto_tfm, arg2: *mut u8_, arg3: *const u8_), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cipher_alg"][::core::mem::size_of::() - 32usize]; + ["Alignment of cipher_alg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cipher_alg::cia_min_keysize"] + [::core::mem::offset_of!(cipher_alg, cia_min_keysize) - 0usize]; + ["Offset of field: cipher_alg::cia_max_keysize"] + [::core::mem::offset_of!(cipher_alg, cia_max_keysize) - 4usize]; + ["Offset of field: cipher_alg::cia_setkey"] + [::core::mem::offset_of!(cipher_alg, cia_setkey) - 8usize]; + ["Offset of field: cipher_alg::cia_encrypt"] + [::core::mem::offset_of!(cipher_alg, cia_encrypt) - 16usize]; + ["Offset of field: cipher_alg::cia_decrypt"] + [::core::mem::offset_of!(cipher_alg, cia_decrypt) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct compress_alg { + pub coa_compress: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut crypto_tfm, + arg2: *const u8_, + arg3: ::core::ffi::c_uint, + arg4: *mut u8_, + arg5: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub coa_decompress: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut crypto_tfm, + arg2: *const u8_, + arg3: ::core::ffi::c_uint, + arg4: *mut u8_, + arg5: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of compress_alg"][::core::mem::size_of::() - 16usize]; + ["Alignment of compress_alg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: compress_alg::coa_compress"] + [::core::mem::offset_of!(compress_alg, coa_compress) - 0usize]; + ["Offset of field: compress_alg::coa_decompress"] + [::core::mem::offset_of!(compress_alg, coa_decompress) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct crypto_alg { + pub cra_list: list_head, + pub cra_users: list_head, + pub cra_flags: u32_, + pub cra_blocksize: ::core::ffi::c_uint, + pub cra_ctxsize: ::core::ffi::c_uint, + pub cra_alignmask: ::core::ffi::c_uint, + pub cra_priority: ::core::ffi::c_int, + pub cra_refcnt: refcount_t, + pub cra_name: [::core::ffi::c_char; 128usize], + pub cra_driver_name: [::core::ffi::c_char; 128usize], + pub cra_type: *const crypto_type, + pub cra_u: crypto_alg__bindgen_ty_1, + pub cra_init: + ::core::option::Option ::core::ffi::c_int>, + pub cra_exit: ::core::option::Option, + pub cra_destroy: ::core::option::Option, + pub cra_module: *mut module, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union crypto_alg__bindgen_ty_1 { + pub cipher: cipher_alg, + pub compress: compress_alg, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_alg__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of crypto_alg__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_alg__bindgen_ty_1::cipher"] + [::core::mem::offset_of!(crypto_alg__bindgen_ty_1, cipher) - 0usize]; + ["Offset of field: crypto_alg__bindgen_ty_1::compress"] + [::core::mem::offset_of!(crypto_alg__bindgen_ty_1, compress) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_alg"][::core::mem::size_of::() - 384usize]; + ["Alignment of crypto_alg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_alg::cra_list"] + [::core::mem::offset_of!(crypto_alg, cra_list) - 0usize]; + ["Offset of field: crypto_alg::cra_users"] + [::core::mem::offset_of!(crypto_alg, cra_users) - 16usize]; + ["Offset of field: crypto_alg::cra_flags"] + [::core::mem::offset_of!(crypto_alg, cra_flags) - 32usize]; + ["Offset of field: crypto_alg::cra_blocksize"] + [::core::mem::offset_of!(crypto_alg, cra_blocksize) - 36usize]; + ["Offset of field: crypto_alg::cra_ctxsize"] + [::core::mem::offset_of!(crypto_alg, cra_ctxsize) - 40usize]; + ["Offset of field: crypto_alg::cra_alignmask"] + [::core::mem::offset_of!(crypto_alg, cra_alignmask) - 44usize]; + ["Offset of field: crypto_alg::cra_priority"] + [::core::mem::offset_of!(crypto_alg, cra_priority) - 48usize]; + ["Offset of field: crypto_alg::cra_refcnt"] + [::core::mem::offset_of!(crypto_alg, cra_refcnt) - 52usize]; + ["Offset of field: crypto_alg::cra_name"] + [::core::mem::offset_of!(crypto_alg, cra_name) - 56usize]; + ["Offset of field: crypto_alg::cra_driver_name"] + [::core::mem::offset_of!(crypto_alg, cra_driver_name) - 184usize]; + ["Offset of field: crypto_alg::cra_type"] + [::core::mem::offset_of!(crypto_alg, cra_type) - 312usize]; + ["Offset of field: crypto_alg::cra_u"][::core::mem::offset_of!(crypto_alg, cra_u) - 320usize]; + ["Offset of field: crypto_alg::cra_init"] + [::core::mem::offset_of!(crypto_alg, cra_init) - 352usize]; + ["Offset of field: crypto_alg::cra_exit"] + [::core::mem::offset_of!(crypto_alg, cra_exit) - 360usize]; + ["Offset of field: crypto_alg::cra_destroy"] + [::core::mem::offset_of!(crypto_alg, cra_destroy) - 368usize]; + ["Offset of field: crypto_alg::cra_module"] + [::core::mem::offset_of!(crypto_alg, cra_module) - 376usize]; +}; +pub type notifier_fn_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut notifier_block, + arg2: ::core::ffi::c_ulong, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct notifier_block { + pub notifier_call: notifier_fn_t, + pub next: *mut notifier_block, + pub priority: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of notifier_block"][::core::mem::size_of::() - 24usize]; + ["Alignment of notifier_block"][::core::mem::align_of::() - 8usize]; + ["Offset of field: notifier_block::notifier_call"] + [::core::mem::offset_of!(notifier_block, notifier_call) - 0usize]; + ["Offset of field: notifier_block::next"] + [::core::mem::offset_of!(notifier_block, next) - 8usize]; + ["Offset of field: notifier_block::priority"] + [::core::mem::offset_of!(notifier_block, priority) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct attribute { + pub name: *const ::core::ffi::c_char, + pub mode: umode_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of attribute"][::core::mem::size_of::() - 16usize]; + ["Alignment of attribute"][::core::mem::align_of::() - 8usize]; + ["Offset of field: attribute::name"][::core::mem::offset_of!(attribute, name) - 0usize]; + ["Offset of field: attribute::mode"][::core::mem::offset_of!(attribute, mode) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bin_attribute { + pub attr: attribute, + pub size: usize, + pub private: *mut ::core::ffi::c_void, + pub f_mapping: ::core::option::Option *mut address_space>, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut kobject, + arg3: *mut bin_attribute, + arg4: *mut ::core::ffi::c_char, + arg5: loff_t, + arg6: usize, + ) -> isize, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut kobject, + arg3: *mut bin_attribute, + arg4: *mut ::core::ffi::c_char, + arg5: loff_t, + arg6: usize, + ) -> isize, + >, + pub llseek: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut kobject, + arg3: *mut bin_attribute, + arg4: loff_t, + arg5: ::core::ffi::c_int, + ) -> loff_t, + >, + pub mmap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut kobject, + arg3: *mut bin_attribute, + arg4: *mut vm_area_struct, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bin_attribute"][::core::mem::size_of::() - 72usize]; + ["Alignment of bin_attribute"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bin_attribute::attr"][::core::mem::offset_of!(bin_attribute, attr) - 0usize]; + ["Offset of field: bin_attribute::size"] + [::core::mem::offset_of!(bin_attribute, size) - 16usize]; + ["Offset of field: bin_attribute::private"] + [::core::mem::offset_of!(bin_attribute, private) - 24usize]; + ["Offset of field: bin_attribute::f_mapping"] + [::core::mem::offset_of!(bin_attribute, f_mapping) - 32usize]; + ["Offset of field: bin_attribute::read"] + [::core::mem::offset_of!(bin_attribute, read) - 40usize]; + ["Offset of field: bin_attribute::write"] + [::core::mem::offset_of!(bin_attribute, write) - 48usize]; + ["Offset of field: bin_attribute::llseek"] + [::core::mem::offset_of!(bin_attribute, llseek) - 56usize]; + ["Offset of field: bin_attribute::mmap"] + [::core::mem::offset_of!(bin_attribute, mmap) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fwnode_handle { + pub secondary: *mut fwnode_handle, + pub ops: *const fwnode_operations, + pub dev: *mut device, + pub suppliers: list_head, + pub consumers: list_head, + pub flags: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fwnode_handle"][::core::mem::size_of::() - 64usize]; + ["Alignment of fwnode_handle"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fwnode_handle::secondary"] + [::core::mem::offset_of!(fwnode_handle, secondary) - 0usize]; + ["Offset of field: fwnode_handle::ops"][::core::mem::offset_of!(fwnode_handle, ops) - 8usize]; + ["Offset of field: fwnode_handle::dev"][::core::mem::offset_of!(fwnode_handle, dev) - 16usize]; + ["Offset of field: fwnode_handle::suppliers"] + [::core::mem::offset_of!(fwnode_handle, suppliers) - 24usize]; + ["Offset of field: fwnode_handle::consumers"] + [::core::mem::offset_of!(fwnode_handle, consumers) - 40usize]; + ["Offset of field: fwnode_handle::flags"] + [::core::mem::offset_of!(fwnode_handle, flags) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct acpi_device_id { + pub id: [__u8; 16usize], + pub driver_data: kernel_ulong_t, + pub cls: __u32, + pub cls_msk: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of acpi_device_id"][::core::mem::size_of::() - 32usize]; + ["Alignment of acpi_device_id"][::core::mem::align_of::() - 8usize]; + ["Offset of field: acpi_device_id::id"][::core::mem::offset_of!(acpi_device_id, id) - 0usize]; + ["Offset of field: acpi_device_id::driver_data"] + [::core::mem::offset_of!(acpi_device_id, driver_data) - 16usize]; + ["Offset of field: acpi_device_id::cls"] + [::core::mem::offset_of!(acpi_device_id, cls) - 24usize]; + ["Offset of field: acpi_device_id::cls_msk"] + [::core::mem::offset_of!(acpi_device_id, cls_msk) - 28usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xarray { + pub xa_lock: spinlock_t, + pub xa_flags: gfp_t, + pub xa_head: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xarray"][::core::mem::size_of::() - 16usize]; + ["Alignment of xarray"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xarray::xa_lock"][::core::mem::offset_of!(xarray, xa_lock) - 0usize]; + ["Offset of field: xarray::xa_flags"][::core::mem::offset_of!(xarray, xa_flags) - 4usize]; + ["Offset of field: xarray::xa_head"][::core::mem::offset_of!(xarray, xa_head) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ida { + pub xa: xarray, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ida"][::core::mem::size_of::() - 16usize]; + ["Alignment of ida"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ida::xa"][::core::mem::offset_of!(ida, xa) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct device_driver { + pub name: *const ::core::ffi::c_char, + pub bus: *const bus_type, + pub owner: *mut module, + pub mod_name: *const ::core::ffi::c_char, + pub suppress_bind_attrs: bool_, + pub probe_type: probe_type, + pub of_match_table: *const of_device_id, + pub acpi_match_table: *const acpi_device_id, + pub probe: + ::core::option::Option ::core::ffi::c_int>, + pub sync_state: ::core::option::Option, + pub remove: + ::core::option::Option ::core::ffi::c_int>, + pub shutdown: ::core::option::Option, + pub suspend: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: pm_message_t) -> ::core::ffi::c_int, + >, + pub resume: + ::core::option::Option ::core::ffi::c_int>, + pub groups: *mut *const attribute_group, + pub dev_groups: *mut *const attribute_group, + pub pm: *const dev_pm_ops, + pub coredump: ::core::option::Option, + pub p: *mut driver_private, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_driver"][::core::mem::size_of::() - 144usize]; + ["Alignment of device_driver"][::core::mem::align_of::() - 8usize]; + ["Offset of field: device_driver::name"][::core::mem::offset_of!(device_driver, name) - 0usize]; + ["Offset of field: device_driver::bus"][::core::mem::offset_of!(device_driver, bus) - 8usize]; + ["Offset of field: device_driver::owner"] + [::core::mem::offset_of!(device_driver, owner) - 16usize]; + ["Offset of field: device_driver::mod_name"] + [::core::mem::offset_of!(device_driver, mod_name) - 24usize]; + ["Offset of field: device_driver::suppress_bind_attrs"] + [::core::mem::offset_of!(device_driver, suppress_bind_attrs) - 32usize]; + ["Offset of field: device_driver::probe_type"] + [::core::mem::offset_of!(device_driver, probe_type) - 36usize]; + ["Offset of field: device_driver::of_match_table"] + [::core::mem::offset_of!(device_driver, of_match_table) - 40usize]; + ["Offset of field: device_driver::acpi_match_table"] + [::core::mem::offset_of!(device_driver, acpi_match_table) - 48usize]; + ["Offset of field: device_driver::probe"] + [::core::mem::offset_of!(device_driver, probe) - 56usize]; + ["Offset of field: device_driver::sync_state"] + [::core::mem::offset_of!(device_driver, sync_state) - 64usize]; + ["Offset of field: device_driver::remove"] + [::core::mem::offset_of!(device_driver, remove) - 72usize]; + ["Offset of field: device_driver::shutdown"] + [::core::mem::offset_of!(device_driver, shutdown) - 80usize]; + ["Offset of field: device_driver::suspend"] + [::core::mem::offset_of!(device_driver, suspend) - 88usize]; + ["Offset of field: device_driver::resume"] + [::core::mem::offset_of!(device_driver, resume) - 96usize]; + ["Offset of field: device_driver::groups"] + [::core::mem::offset_of!(device_driver, groups) - 104usize]; + ["Offset of field: device_driver::dev_groups"] + [::core::mem::offset_of!(device_driver, dev_groups) - 112usize]; + ["Offset of field: device_driver::pm"][::core::mem::offset_of!(device_driver, pm) - 120usize]; + ["Offset of field: device_driver::coredump"] + [::core::mem::offset_of!(device_driver, coredump) - 128usize]; + ["Offset of field: device_driver::p"][::core::mem::offset_of!(device_driver, p) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct device_attribute { + pub attr: attribute, + pub show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut device_attribute, + arg3: *mut ::core::ffi::c_char, + ) -> isize, + >, + pub store: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut device_attribute, + arg3: *const ::core::ffi::c_char, + arg4: usize, + ) -> isize, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_attribute"][::core::mem::size_of::() - 32usize]; + ["Alignment of device_attribute"][::core::mem::align_of::() - 8usize]; + ["Offset of field: device_attribute::attr"] + [::core::mem::offset_of!(device_attribute, attr) - 0usize]; + ["Offset of field: device_attribute::show"] + [::core::mem::offset_of!(device_attribute, show) - 16usize]; + ["Offset of field: device_attribute::store"] + [::core::mem::offset_of!(device_attribute, store) - 24usize]; +}; +pub type irq_handler_t = ::core::option::Option< + unsafe extern "C" fn(arg1: ::core::ffi::c_int, arg2: *mut ::core::ffi::c_void) -> irqreturn_t, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rcu_work { + pub work: work_struct, + pub rcu: callback_head, + pub wq: *mut workqueue_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcu_work"][::core::mem::size_of::() - 56usize]; + ["Alignment of rcu_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rcu_work::work"][::core::mem::offset_of!(rcu_work, work) - 0usize]; + ["Offset of field: rcu_work::rcu"][::core::mem::offset_of!(rcu_work, rcu) - 32usize]; + ["Offset of field: rcu_work::wq"][::core::mem::offset_of!(rcu_work, wq) - 48usize]; +}; +pub type cpumask_var_t = *mut cpumask; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct plist_node { + pub prio: ::core::ffi::c_int, + pub prio_list: list_head, + pub node_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of plist_node"][::core::mem::size_of::() - 40usize]; + ["Alignment of plist_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: plist_node::prio"][::core::mem::offset_of!(plist_node, prio) - 0usize]; + ["Offset of field: plist_node::prio_list"] + [::core::mem::offset_of!(plist_node, prio_list) - 8usize]; + ["Offset of field: plist_node::node_list"] + [::core::mem::offset_of!(plist_node, node_list) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct freq_qos_request { + pub type_: freq_qos_req_type, + pub pnode: plist_node, + pub qos: *mut freq_constraints, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of freq_qos_request"][::core::mem::size_of::() - 56usize]; + ["Alignment of freq_qos_request"][::core::mem::align_of::() - 8usize]; + ["Offset of field: freq_qos_request::type_"] + [::core::mem::offset_of!(freq_qos_request, type_) - 0usize]; + ["Offset of field: freq_qos_request::pnode"] + [::core::mem::offset_of!(freq_qos_request, pnode) - 8usize]; + ["Offset of field: freq_qos_request::qos"] + [::core::mem::offset_of!(freq_qos_request, qos) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct action_cache { + pub allow_native: [::core::ffi::c_ulong; 8usize], + pub allow_compat: [::core::ffi::c_ulong; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of action_cache"][::core::mem::size_of::() - 128usize]; + ["Alignment of action_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: action_cache::allow_native"] + [::core::mem::offset_of!(action_cache, allow_native) - 0usize]; + ["Offset of field: action_cache::allow_compat"] + [::core::mem::offset_of!(action_cache, allow_compat) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct action_gate_entry { + pub gate_state: u8_, + pub interval: u32_, + pub ipv: s32, + pub maxoctets: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of action_gate_entry"][::core::mem::size_of::() - 16usize]; + ["Alignment of action_gate_entry"][::core::mem::align_of::() - 4usize]; + ["Offset of field: action_gate_entry::gate_state"] + [::core::mem::offset_of!(action_gate_entry, gate_state) - 0usize]; + ["Offset of field: action_gate_entry::interval"] + [::core::mem::offset_of!(action_gate_entry, interval) - 4usize]; + ["Offset of field: action_gate_entry::ipv"] + [::core::mem::offset_of!(action_gate_entry, ipv) - 8usize]; + ["Offset of field: action_gate_entry::maxoctets"] + [::core::mem::offset_of!(action_gate_entry, maxoctets) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rb_root_cached { + pub rb_root: rb_root, + pub rb_leftmost: *mut rb_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rb_root_cached"][::core::mem::size_of::() - 16usize]; + ["Alignment of rb_root_cached"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rb_root_cached::rb_root"] + [::core::mem::offset_of!(rb_root_cached, rb_root) - 0usize]; + ["Offset of field: rb_root_cached::rb_leftmost"] + [::core::mem::offset_of!(rb_root_cached, rb_leftmost) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct address_space { + pub host: *mut inode, + pub i_pages: xarray, + pub invalidate_lock: rw_semaphore, + pub gfp_mask: gfp_t, + pub i_mmap_writable: atomic_t, + pub nr_thps: atomic_t, + pub i_mmap: rb_root_cached, + pub nrpages: ::core::ffi::c_ulong, + pub writeback_index: ::core::ffi::c_ulong, + pub a_ops: *const address_space_operations, + pub flags: ::core::ffi::c_ulong, + pub wb_err: errseq_t, + pub i_private_lock: spinlock_t, + pub i_private_list: list_head, + pub i_mmap_rwsem: rw_semaphore, + pub i_private_data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of address_space"][::core::mem::size_of::() - 200usize]; + ["Alignment of address_space"][::core::mem::align_of::() - 8usize]; + ["Offset of field: address_space::host"][::core::mem::offset_of!(address_space, host) - 0usize]; + ["Offset of field: address_space::i_pages"] + [::core::mem::offset_of!(address_space, i_pages) - 8usize]; + ["Offset of field: address_space::invalidate_lock"] + [::core::mem::offset_of!(address_space, invalidate_lock) - 24usize]; + ["Offset of field: address_space::gfp_mask"] + [::core::mem::offset_of!(address_space, gfp_mask) - 64usize]; + ["Offset of field: address_space::i_mmap_writable"] + [::core::mem::offset_of!(address_space, i_mmap_writable) - 68usize]; + ["Offset of field: address_space::nr_thps"] + [::core::mem::offset_of!(address_space, nr_thps) - 72usize]; + ["Offset of field: address_space::i_mmap"] + [::core::mem::offset_of!(address_space, i_mmap) - 80usize]; + ["Offset of field: address_space::nrpages"] + [::core::mem::offset_of!(address_space, nrpages) - 96usize]; + ["Offset of field: address_space::writeback_index"] + [::core::mem::offset_of!(address_space, writeback_index) - 104usize]; + ["Offset of field: address_space::a_ops"] + [::core::mem::offset_of!(address_space, a_ops) - 112usize]; + ["Offset of field: address_space::flags"] + [::core::mem::offset_of!(address_space, flags) - 120usize]; + ["Offset of field: address_space::wb_err"] + [::core::mem::offset_of!(address_space, wb_err) - 128usize]; + ["Offset of field: address_space::i_private_lock"] + [::core::mem::offset_of!(address_space, i_private_lock) - 132usize]; + ["Offset of field: address_space::i_private_list"] + [::core::mem::offset_of!(address_space, i_private_list) - 136usize]; + ["Offset of field: address_space::i_mmap_rwsem"] + [::core::mem::offset_of!(address_space, i_mmap_rwsem) - 152usize]; + ["Offset of field: address_space::i_private_data"] + [::core::mem::offset_of!(address_space, i_private_data) - 192usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct address_space_operations { + pub writepage: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut page, arg2: *mut writeback_control) -> ::core::ffi::c_int, + >, + pub read_folio: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: *mut folio) -> ::core::ffi::c_int, + >, + pub writepages: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut address_space, + arg2: *mut writeback_control, + ) -> ::core::ffi::c_int, + >, + pub dirty_folio: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut address_space, arg2: *mut folio) -> bool_, + >, + pub readahead: ::core::option::Option, + pub write_begin: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut address_space, + arg3: loff_t, + arg4: ::core::ffi::c_uint, + arg5: *mut *mut folio, + arg6: *mut *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub write_end: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut address_space, + arg3: loff_t, + arg4: ::core::ffi::c_uint, + arg5: ::core::ffi::c_uint, + arg6: *mut folio, + arg7: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub bmap: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut address_space, arg2: sector_t) -> sector_t, + >, + pub invalidate_folio: + ::core::option::Option, + pub release_folio: + ::core::option::Option bool_>, + pub free_folio: ::core::option::Option, + pub direct_IO: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kiocb, arg2: *mut iov_iter) -> isize, + >, + pub migrate_folio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut address_space, + arg2: *mut folio, + arg3: *mut folio, + arg4: migrate_mode, + ) -> ::core::ffi::c_int, + >, + pub launder_folio: + ::core::option::Option ::core::ffi::c_int>, + pub is_partially_uptodate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut folio, arg2: usize, arg3: usize) -> bool_, + >, + pub is_dirty_writeback: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut folio, arg2: *mut bool_, arg3: *mut bool_), + >, + pub error_remove_folio: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut address_space, arg2: *mut folio) -> ::core::ffi::c_int, + >, + pub swap_activate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut swap_info_struct, + arg2: *mut file, + arg3: *mut sector_t, + ) -> ::core::ffi::c_int, + >, + pub swap_deactivate: ::core::option::Option, + pub swap_rw: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kiocb, arg2: *mut iov_iter) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of address_space_operations"] + [::core::mem::size_of::() - 160usize]; + ["Alignment of address_space_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: address_space_operations::writepage"] + [::core::mem::offset_of!(address_space_operations, writepage) - 0usize]; + ["Offset of field: address_space_operations::read_folio"] + [::core::mem::offset_of!(address_space_operations, read_folio) - 8usize]; + ["Offset of field: address_space_operations::writepages"] + [::core::mem::offset_of!(address_space_operations, writepages) - 16usize]; + ["Offset of field: address_space_operations::dirty_folio"] + [::core::mem::offset_of!(address_space_operations, dirty_folio) - 24usize]; + ["Offset of field: address_space_operations::readahead"] + [::core::mem::offset_of!(address_space_operations, readahead) - 32usize]; + ["Offset of field: address_space_operations::write_begin"] + [::core::mem::offset_of!(address_space_operations, write_begin) - 40usize]; + ["Offset of field: address_space_operations::write_end"] + [::core::mem::offset_of!(address_space_operations, write_end) - 48usize]; + ["Offset of field: address_space_operations::bmap"] + [::core::mem::offset_of!(address_space_operations, bmap) - 56usize]; + ["Offset of field: address_space_operations::invalidate_folio"] + [::core::mem::offset_of!(address_space_operations, invalidate_folio) - 64usize]; + ["Offset of field: address_space_operations::release_folio"] + [::core::mem::offset_of!(address_space_operations, release_folio) - 72usize]; + ["Offset of field: address_space_operations::free_folio"] + [::core::mem::offset_of!(address_space_operations, free_folio) - 80usize]; + ["Offset of field: address_space_operations::direct_IO"] + [::core::mem::offset_of!(address_space_operations, direct_IO) - 88usize]; + ["Offset of field: address_space_operations::migrate_folio"] + [::core::mem::offset_of!(address_space_operations, migrate_folio) - 96usize]; + ["Offset of field: address_space_operations::launder_folio"] + [::core::mem::offset_of!(address_space_operations, launder_folio) - 104usize]; + ["Offset of field: address_space_operations::is_partially_uptodate"] + [::core::mem::offset_of!(address_space_operations, is_partially_uptodate) - 112usize]; + ["Offset of field: address_space_operations::is_dirty_writeback"] + [::core::mem::offset_of!(address_space_operations, is_dirty_writeback) - 120usize]; + ["Offset of field: address_space_operations::error_remove_folio"] + [::core::mem::offset_of!(address_space_operations, error_remove_folio) - 128usize]; + ["Offset of field: address_space_operations::swap_activate"] + [::core::mem::offset_of!(address_space_operations, swap_activate) - 136usize]; + ["Offset of field: address_space_operations::swap_deactivate"] + [::core::mem::offset_of!(address_space_operations, swap_deactivate) - 144usize]; + ["Offset of field: address_space_operations::swap_rw"] + [::core::mem::offset_of!(address_space_operations, swap_rw) - 152usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blocking_notifier_head { + pub rwsem: rw_semaphore, + pub head: *mut notifier_block, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blocking_notifier_head"][::core::mem::size_of::() - 48usize]; + ["Alignment of blocking_notifier_head"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: blocking_notifier_head::rwsem"] + [::core::mem::offset_of!(blocking_notifier_head, rwsem) - 0usize]; + ["Offset of field: blocking_notifier_head::head"] + [::core::mem::offset_of!(blocking_notifier_head, head) - 40usize]; +}; +#[repr(C)] +pub struct crypto_instance { + pub alg: crypto_alg, + pub tmpl: *mut crypto_template, + pub __bindgen_anon_1: crypto_instance__bindgen_ty_1, + pub free_work: work_struct, + pub __ctx: __IncompleteArrayField<*mut ::core::ffi::c_void>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union crypto_instance__bindgen_ty_1 { + pub list: hlist_node, + pub spawns: *mut crypto_spawn, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_instance__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of crypto_instance__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_instance__bindgen_ty_1::list"] + [::core::mem::offset_of!(crypto_instance__bindgen_ty_1, list) - 0usize]; + ["Offset of field: crypto_instance__bindgen_ty_1::spawns"] + [::core::mem::offset_of!(crypto_instance__bindgen_ty_1, spawns) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_instance"][::core::mem::size_of::() - 440usize]; + ["Alignment of crypto_instance"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_instance::alg"] + [::core::mem::offset_of!(crypto_instance, alg) - 0usize]; + ["Offset of field: crypto_instance::tmpl"] + [::core::mem::offset_of!(crypto_instance, tmpl) - 384usize]; + ["Offset of field: crypto_instance::free_work"] + [::core::mem::offset_of!(crypto_instance, free_work) - 408usize]; + ["Offset of field: crypto_instance::__ctx"] + [::core::mem::offset_of!(crypto_instance, __ctx) - 440usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct affinity_context { + pub new_mask: *const cpumask, + pub user_mask: *mut cpumask, + pub flags: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of affinity_context"][::core::mem::size_of::() - 24usize]; + ["Alignment of affinity_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: affinity_context::new_mask"] + [::core::mem::offset_of!(affinity_context, new_mask) - 0usize]; + ["Offset of field: affinity_context::user_mask"] + [::core::mem::offset_of!(affinity_context, user_mask) - 8usize]; + ["Offset of field: affinity_context::flags"] + [::core::mem::offset_of!(affinity_context, flags) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kiocb { + pub ki_filp: *mut file, + pub ki_pos: loff_t, + pub ki_complete: + ::core::option::Option, + pub private: *mut ::core::ffi::c_void, + pub ki_flags: ::core::ffi::c_int, + pub ki_ioprio: u16_, + pub __bindgen_anon_1: kiocb__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union kiocb__bindgen_ty_1 { + pub ki_waitq: *mut wait_page_queue, + pub dio_complete: + ::core::option::Option isize>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kiocb__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of kiocb__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kiocb__bindgen_ty_1::ki_waitq"] + [::core::mem::offset_of!(kiocb__bindgen_ty_1, ki_waitq) - 0usize]; + ["Offset of field: kiocb__bindgen_ty_1::dio_complete"] + [::core::mem::offset_of!(kiocb__bindgen_ty_1, dio_complete) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kiocb"][::core::mem::size_of::() - 48usize]; + ["Alignment of kiocb"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kiocb::ki_filp"][::core::mem::offset_of!(kiocb, ki_filp) - 0usize]; + ["Offset of field: kiocb::ki_pos"][::core::mem::offset_of!(kiocb, ki_pos) - 8usize]; + ["Offset of field: kiocb::ki_complete"][::core::mem::offset_of!(kiocb, ki_complete) - 16usize]; + ["Offset of field: kiocb::private"][::core::mem::offset_of!(kiocb, private) - 24usize]; + ["Offset of field: kiocb::ki_flags"][::core::mem::offset_of!(kiocb, ki_flags) - 32usize]; + ["Offset of field: kiocb::ki_ioprio"][::core::mem::offset_of!(kiocb, ki_ioprio) - 36usize]; +}; +pub type wait_queue_func_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut wait_queue_entry, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_int, + arg4: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wait_queue_entry { + pub flags: ::core::ffi::c_uint, + pub private: *mut ::core::ffi::c_void, + pub func: wait_queue_func_t, + pub entry: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wait_queue_entry"][::core::mem::size_of::() - 40usize]; + ["Alignment of wait_queue_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wait_queue_entry::flags"] + [::core::mem::offset_of!(wait_queue_entry, flags) - 0usize]; + ["Offset of field: wait_queue_entry::private"] + [::core::mem::offset_of!(wait_queue_entry, private) - 8usize]; + ["Offset of field: wait_queue_entry::func"] + [::core::mem::offset_of!(wait_queue_entry, func) - 16usize]; + ["Offset of field: wait_queue_entry::entry"] + [::core::mem::offset_of!(wait_queue_entry, entry) - 24usize]; +}; +pub type poll_queue_proc = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut wait_queue_head_t, + arg3: *mut poll_table_struct, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct poll_table_struct { + pub _qproc: poll_queue_proc, + pub _key: __poll_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of poll_table_struct"][::core::mem::size_of::() - 16usize]; + ["Alignment of poll_table_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: poll_table_struct::_qproc"] + [::core::mem::offset_of!(poll_table_struct, _qproc) - 0usize]; + ["Offset of field: poll_table_struct::_key"] + [::core::mem::offset_of!(poll_table_struct, _key) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timerqueue_head { + pub rb_root: rb_root_cached, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of timerqueue_head"][::core::mem::size_of::() - 16usize]; + ["Alignment of timerqueue_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: timerqueue_head::rb_root"] + [::core::mem::offset_of!(timerqueue_head, rb_root) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_domain_ops { + pub match_: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut device_node, + arg3: irq_domain_bus_token, + ) -> ::core::ffi::c_int, + >, + pub select: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut irq_fwspec, + arg3: irq_domain_bus_token, + ) -> ::core::ffi::c_int, + >, + pub map: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: ::core::ffi::c_uint, + arg3: irq_hw_number_t, + ) -> ::core::ffi::c_int, + >, + pub unmap: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut irq_domain, arg2: ::core::ffi::c_uint), + >, + pub xlate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut device_node, + arg3: *const u32_, + arg4: ::core::ffi::c_uint, + arg5: *mut ::core::ffi::c_ulong, + arg6: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub alloc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + arg4: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub free: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ), + >, + pub activate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut irq_data, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub deactivate: + ::core::option::Option, + pub translate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut irq_fwspec, + arg3: *mut ::core::ffi::c_ulong, + arg4: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_domain_ops"][::core::mem::size_of::() - 80usize]; + ["Alignment of irq_domain_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_domain_ops::match_"] + [::core::mem::offset_of!(irq_domain_ops, match_) - 0usize]; + ["Offset of field: irq_domain_ops::select"] + [::core::mem::offset_of!(irq_domain_ops, select) - 8usize]; + ["Offset of field: irq_domain_ops::map"] + [::core::mem::offset_of!(irq_domain_ops, map) - 16usize]; + ["Offset of field: irq_domain_ops::unmap"] + [::core::mem::offset_of!(irq_domain_ops, unmap) - 24usize]; + ["Offset of field: irq_domain_ops::xlate"] + [::core::mem::offset_of!(irq_domain_ops, xlate) - 32usize]; + ["Offset of field: irq_domain_ops::alloc"] + [::core::mem::offset_of!(irq_domain_ops, alloc) - 40usize]; + ["Offset of field: irq_domain_ops::free"] + [::core::mem::offset_of!(irq_domain_ops, free) - 48usize]; + ["Offset of field: irq_domain_ops::activate"] + [::core::mem::offset_of!(irq_domain_ops, activate) - 56usize]; + ["Offset of field: irq_domain_ops::deactivate"] + [::core::mem::offset_of!(irq_domain_ops, deactivate) - 64usize]; + ["Offset of field: irq_domain_ops::translate"] + [::core::mem::offset_of!(irq_domain_ops, translate) - 72usize]; +}; +pub type irq_flow_handler_t = ::core::option::Option; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct gpio_irq_chip { + pub chip: *mut irq_chip, + pub domain: *mut irq_domain, + pub fwnode: *mut fwnode_handle, + pub parent_domain: *mut irq_domain, + pub child_to_parent_hwirq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + arg4: *mut ::core::ffi::c_uint, + arg5: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub populate_parent_alloc_arg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: *mut gpio_irq_fwspec, + arg3: ::core::ffi::c_uint, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub child_offset_to_irq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_uint, + >, + pub child_irq_domain_ops: irq_domain_ops, + pub handler: irq_flow_handler_t, + pub default_type: ::core::ffi::c_uint, + pub lock_key: *mut lock_class_key, + pub request_key: *mut lock_class_key, + pub parent_handler: irq_flow_handler_t, + pub __bindgen_anon_1: gpio_irq_chip__bindgen_ty_1, + pub num_parents: ::core::ffi::c_uint, + pub parents: *mut ::core::ffi::c_uint, + pub map: *mut ::core::ffi::c_uint, + pub threaded: bool_, + pub per_parent_data: bool_, + pub initialized: bool_, + pub domain_is_allocated_externally: bool_, + pub init_hw: + ::core::option::Option ::core::ffi::c_int>, + pub init_valid_mask: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: *mut ::core::ffi::c_ulong, + arg3: ::core::ffi::c_uint, + ), + >, + pub valid_mask: *mut ::core::ffi::c_ulong, + pub first: ::core::ffi::c_uint, + pub irq_enable: ::core::option::Option, + pub irq_disable: ::core::option::Option, + pub irq_unmask: ::core::option::Option, + pub irq_mask: ::core::option::Option, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_irq_chip__bindgen_ty_1 { + pub parent_handler_data: *mut ::core::ffi::c_void, + pub parent_handler_data_array: *mut *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gpio_irq_chip__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of gpio_irq_chip__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: gpio_irq_chip__bindgen_ty_1::parent_handler_data"] + [::core::mem::offset_of!(gpio_irq_chip__bindgen_ty_1, parent_handler_data) - 0usize]; + ["Offset of field: gpio_irq_chip__bindgen_ty_1::parent_handler_data_array"] + [::core::mem::offset_of!(gpio_irq_chip__bindgen_ty_1, parent_handler_data_array) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gpio_irq_chip"][::core::mem::size_of::() - 280usize]; + ["Alignment of gpio_irq_chip"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gpio_irq_chip::chip"][::core::mem::offset_of!(gpio_irq_chip, chip) - 0usize]; + ["Offset of field: gpio_irq_chip::domain"] + [::core::mem::offset_of!(gpio_irq_chip, domain) - 8usize]; + ["Offset of field: gpio_irq_chip::fwnode"] + [::core::mem::offset_of!(gpio_irq_chip, fwnode) - 16usize]; + ["Offset of field: gpio_irq_chip::parent_domain"] + [::core::mem::offset_of!(gpio_irq_chip, parent_domain) - 24usize]; + ["Offset of field: gpio_irq_chip::child_to_parent_hwirq"] + [::core::mem::offset_of!(gpio_irq_chip, child_to_parent_hwirq) - 32usize]; + ["Offset of field: gpio_irq_chip::populate_parent_alloc_arg"] + [::core::mem::offset_of!(gpio_irq_chip, populate_parent_alloc_arg) - 40usize]; + ["Offset of field: gpio_irq_chip::child_offset_to_irq"] + [::core::mem::offset_of!(gpio_irq_chip, child_offset_to_irq) - 48usize]; + ["Offset of field: gpio_irq_chip::child_irq_domain_ops"] + [::core::mem::offset_of!(gpio_irq_chip, child_irq_domain_ops) - 56usize]; + ["Offset of field: gpio_irq_chip::handler"] + [::core::mem::offset_of!(gpio_irq_chip, handler) - 136usize]; + ["Offset of field: gpio_irq_chip::default_type"] + [::core::mem::offset_of!(gpio_irq_chip, default_type) - 144usize]; + ["Offset of field: gpio_irq_chip::lock_key"] + [::core::mem::offset_of!(gpio_irq_chip, lock_key) - 152usize]; + ["Offset of field: gpio_irq_chip::request_key"] + [::core::mem::offset_of!(gpio_irq_chip, request_key) - 160usize]; + ["Offset of field: gpio_irq_chip::parent_handler"] + [::core::mem::offset_of!(gpio_irq_chip, parent_handler) - 168usize]; + ["Offset of field: gpio_irq_chip::num_parents"] + [::core::mem::offset_of!(gpio_irq_chip, num_parents) - 184usize]; + ["Offset of field: gpio_irq_chip::parents"] + [::core::mem::offset_of!(gpio_irq_chip, parents) - 192usize]; + ["Offset of field: gpio_irq_chip::map"][::core::mem::offset_of!(gpio_irq_chip, map) - 200usize]; + ["Offset of field: gpio_irq_chip::threaded"] + [::core::mem::offset_of!(gpio_irq_chip, threaded) - 208usize]; + ["Offset of field: gpio_irq_chip::per_parent_data"] + [::core::mem::offset_of!(gpio_irq_chip, per_parent_data) - 209usize]; + ["Offset of field: gpio_irq_chip::initialized"] + [::core::mem::offset_of!(gpio_irq_chip, initialized) - 210usize]; + ["Offset of field: gpio_irq_chip::domain_is_allocated_externally"] + [::core::mem::offset_of!(gpio_irq_chip, domain_is_allocated_externally) - 211usize]; + ["Offset of field: gpio_irq_chip::init_hw"] + [::core::mem::offset_of!(gpio_irq_chip, init_hw) - 216usize]; + ["Offset of field: gpio_irq_chip::init_valid_mask"] + [::core::mem::offset_of!(gpio_irq_chip, init_valid_mask) - 224usize]; + ["Offset of field: gpio_irq_chip::valid_mask"] + [::core::mem::offset_of!(gpio_irq_chip, valid_mask) - 232usize]; + ["Offset of field: gpio_irq_chip::first"] + [::core::mem::offset_of!(gpio_irq_chip, first) - 240usize]; + ["Offset of field: gpio_irq_chip::irq_enable"] + [::core::mem::offset_of!(gpio_irq_chip, irq_enable) - 248usize]; + ["Offset of field: gpio_irq_chip::irq_disable"] + [::core::mem::offset_of!(gpio_irq_chip, irq_disable) - 256usize]; + ["Offset of field: gpio_irq_chip::irq_unmask"] + [::core::mem::offset_of!(gpio_irq_chip, irq_unmask) - 264usize]; + ["Offset of field: gpio_irq_chip::irq_mask"] + [::core::mem::offset_of!(gpio_irq_chip, irq_mask) - 272usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct gpio_chip { + pub label: *const ::core::ffi::c_char, + pub gpiodev: *mut gpio_device, + pub parent: *mut device, + pub fwnode: *mut fwnode_handle, + pub owner: *mut module, + pub request: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gpio_chip, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub free: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gpio_chip, arg2: ::core::ffi::c_uint), + >, + pub get_direction: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gpio_chip, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub direction_input: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gpio_chip, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub direction_output: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub get: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gpio_chip, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub get_multiple: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: *mut ::core::ffi::c_ulong, + arg3: *mut ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_int, + ), + >, + pub set_multiple: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: *mut ::core::ffi::c_ulong, + arg3: *mut ::core::ffi::c_ulong, + ), + >, + pub set_config: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub to_irq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gpio_chip, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub dbg_show: + ::core::option::Option, + pub init_valid_mask: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: *mut ::core::ffi::c_ulong, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub add_pin_ranges: + ::core::option::Option ::core::ffi::c_int>, + pub en_hw_timestamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: u32_, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub dis_hw_timestamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gpio_chip, + arg2: u32_, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub base: ::core::ffi::c_int, + pub ngpio: u16_, + pub offset: u16_, + pub names: *const *const ::core::ffi::c_char, + pub can_sleep: bool_, + pub read_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_ulong, + >, + pub write_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void, arg2: ::core::ffi::c_ulong), + >, + pub be_bits: bool_, + pub reg_dat: *mut ::core::ffi::c_void, + pub reg_set: *mut ::core::ffi::c_void, + pub reg_clr: *mut ::core::ffi::c_void, + pub reg_dir_out: *mut ::core::ffi::c_void, + pub reg_dir_in: *mut ::core::ffi::c_void, + pub bgpio_dir_unreadable: bool_, + pub bgpio_bits: ::core::ffi::c_int, + pub bgpio_lock: raw_spinlock_t, + pub bgpio_data: ::core::ffi::c_ulong, + pub bgpio_dir: ::core::ffi::c_ulong, + pub irq: gpio_irq_chip, + pub valid_mask: *mut ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gpio_chip"][::core::mem::size_of::() - 576usize]; + ["Alignment of gpio_chip"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gpio_chip::label"][::core::mem::offset_of!(gpio_chip, label) - 0usize]; + ["Offset of field: gpio_chip::gpiodev"][::core::mem::offset_of!(gpio_chip, gpiodev) - 8usize]; + ["Offset of field: gpio_chip::parent"][::core::mem::offset_of!(gpio_chip, parent) - 16usize]; + ["Offset of field: gpio_chip::fwnode"][::core::mem::offset_of!(gpio_chip, fwnode) - 24usize]; + ["Offset of field: gpio_chip::owner"][::core::mem::offset_of!(gpio_chip, owner) - 32usize]; + ["Offset of field: gpio_chip::request"][::core::mem::offset_of!(gpio_chip, request) - 40usize]; + ["Offset of field: gpio_chip::free"][::core::mem::offset_of!(gpio_chip, free) - 48usize]; + ["Offset of field: gpio_chip::get_direction"] + [::core::mem::offset_of!(gpio_chip, get_direction) - 56usize]; + ["Offset of field: gpio_chip::direction_input"] + [::core::mem::offset_of!(gpio_chip, direction_input) - 64usize]; + ["Offset of field: gpio_chip::direction_output"] + [::core::mem::offset_of!(gpio_chip, direction_output) - 72usize]; + ["Offset of field: gpio_chip::get"][::core::mem::offset_of!(gpio_chip, get) - 80usize]; + ["Offset of field: gpio_chip::get_multiple"] + [::core::mem::offset_of!(gpio_chip, get_multiple) - 88usize]; + ["Offset of field: gpio_chip::set"][::core::mem::offset_of!(gpio_chip, set) - 96usize]; + ["Offset of field: gpio_chip::set_multiple"] + [::core::mem::offset_of!(gpio_chip, set_multiple) - 104usize]; + ["Offset of field: gpio_chip::set_config"] + [::core::mem::offset_of!(gpio_chip, set_config) - 112usize]; + ["Offset of field: gpio_chip::to_irq"][::core::mem::offset_of!(gpio_chip, to_irq) - 120usize]; + ["Offset of field: gpio_chip::dbg_show"] + [::core::mem::offset_of!(gpio_chip, dbg_show) - 128usize]; + ["Offset of field: gpio_chip::init_valid_mask"] + [::core::mem::offset_of!(gpio_chip, init_valid_mask) - 136usize]; + ["Offset of field: gpio_chip::add_pin_ranges"] + [::core::mem::offset_of!(gpio_chip, add_pin_ranges) - 144usize]; + ["Offset of field: gpio_chip::en_hw_timestamp"] + [::core::mem::offset_of!(gpio_chip, en_hw_timestamp) - 152usize]; + ["Offset of field: gpio_chip::dis_hw_timestamp"] + [::core::mem::offset_of!(gpio_chip, dis_hw_timestamp) - 160usize]; + ["Offset of field: gpio_chip::base"][::core::mem::offset_of!(gpio_chip, base) - 168usize]; + ["Offset of field: gpio_chip::ngpio"][::core::mem::offset_of!(gpio_chip, ngpio) - 172usize]; + ["Offset of field: gpio_chip::offset"][::core::mem::offset_of!(gpio_chip, offset) - 174usize]; + ["Offset of field: gpio_chip::names"][::core::mem::offset_of!(gpio_chip, names) - 176usize]; + ["Offset of field: gpio_chip::can_sleep"] + [::core::mem::offset_of!(gpio_chip, can_sleep) - 184usize]; + ["Offset of field: gpio_chip::read_reg"] + [::core::mem::offset_of!(gpio_chip, read_reg) - 192usize]; + ["Offset of field: gpio_chip::write_reg"] + [::core::mem::offset_of!(gpio_chip, write_reg) - 200usize]; + ["Offset of field: gpio_chip::be_bits"][::core::mem::offset_of!(gpio_chip, be_bits) - 208usize]; + ["Offset of field: gpio_chip::reg_dat"][::core::mem::offset_of!(gpio_chip, reg_dat) - 216usize]; + ["Offset of field: gpio_chip::reg_set"][::core::mem::offset_of!(gpio_chip, reg_set) - 224usize]; + ["Offset of field: gpio_chip::reg_clr"][::core::mem::offset_of!(gpio_chip, reg_clr) - 232usize]; + ["Offset of field: gpio_chip::reg_dir_out"] + [::core::mem::offset_of!(gpio_chip, reg_dir_out) - 240usize]; + ["Offset of field: gpio_chip::reg_dir_in"] + [::core::mem::offset_of!(gpio_chip, reg_dir_in) - 248usize]; + ["Offset of field: gpio_chip::bgpio_dir_unreadable"] + [::core::mem::offset_of!(gpio_chip, bgpio_dir_unreadable) - 256usize]; + ["Offset of field: gpio_chip::bgpio_bits"] + [::core::mem::offset_of!(gpio_chip, bgpio_bits) - 260usize]; + ["Offset of field: gpio_chip::bgpio_lock"] + [::core::mem::offset_of!(gpio_chip, bgpio_lock) - 264usize]; + ["Offset of field: gpio_chip::bgpio_data"] + [::core::mem::offset_of!(gpio_chip, bgpio_data) - 272usize]; + ["Offset of field: gpio_chip::bgpio_dir"] + [::core::mem::offset_of!(gpio_chip, bgpio_dir) - 280usize]; + ["Offset of field: gpio_chip::irq"][::core::mem::offset_of!(gpio_chip, irq) - 288usize]; + ["Offset of field: gpio_chip::valid_mask"] + [::core::mem::offset_of!(gpio_chip, valid_mask) - 568usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_device { + pub list: list_head, + pub ops: *const iommu_ops, + pub fwnode: *mut fwnode_handle, + pub dev: *mut device, + pub singleton_group: *mut iommu_group, + pub max_pasids: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_device"][::core::mem::size_of::() - 56usize]; + ["Alignment of iommu_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_device::list"][::core::mem::offset_of!(iommu_device, list) - 0usize]; + ["Offset of field: iommu_device::ops"][::core::mem::offset_of!(iommu_device, ops) - 16usize]; + ["Offset of field: iommu_device::fwnode"] + [::core::mem::offset_of!(iommu_device, fwnode) - 24usize]; + ["Offset of field: iommu_device::dev"][::core::mem::offset_of!(iommu_device, dev) - 32usize]; + ["Offset of field: iommu_device::singleton_group"] + [::core::mem::offset_of!(iommu_device, singleton_group) - 40usize]; + ["Offset of field: iommu_device::max_pasids"] + [::core::mem::offset_of!(iommu_device, max_pasids) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct llist_head { + pub first: *mut llist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of llist_head"][::core::mem::size_of::() - 8usize]; + ["Alignment of llist_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: llist_head::first"][::core::mem::offset_of!(llist_head, first) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct x86_msi_addr_lo { + pub __bindgen_anon_1: x86_msi_addr_lo__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union x86_msi_addr_lo__bindgen_ty_1 { + pub __bindgen_anon_1: x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; +}; +impl x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn reserved_0(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_reserved_0(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved_0_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 2u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_reserved_0_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn dest_mode_logical(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_dest_mode_logical(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dest_mode_logical_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dest_mode_logical_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn redirect_hint(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_redirect_hint(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn redirect_hint_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_redirect_hint_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved_1(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_reserved_1(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved_1_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_reserved_1_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn virt_destid_8_14(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 7u8) as u32) } + } + #[inline] + pub fn set_virt_destid_8_14(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 7u8, val as u64) + } + } + #[inline] + pub unsafe fn virt_destid_8_14_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 7u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_virt_destid_8_14_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 7u8, + val as u64, + ) + } + } + #[inline] + pub fn destid_0_7(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 8u8) as u32) } + } + #[inline] + pub fn set_destid_0_7(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn destid_0_7_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_destid_0_7_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn base_address(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_base_address(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub unsafe fn base_address_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 20usize, + 12u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_base_address_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 20usize, + 12u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + reserved_0: u32_, + dest_mode_logical: u32_, + redirect_hint: u32_, + reserved_1: u32_, + virt_destid_8_14: u32_, + destid_0_7: u32_, + base_address: u32_, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let reserved_0: u32 = unsafe { ::core::mem::transmute(reserved_0) }; + reserved_0 as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let dest_mode_logical: u32 = unsafe { ::core::mem::transmute(dest_mode_logical) }; + dest_mode_logical as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let redirect_hint: u32 = unsafe { ::core::mem::transmute(redirect_hint) }; + redirect_hint as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let reserved_1: u32 = unsafe { ::core::mem::transmute(reserved_1) }; + reserved_1 as u64 + }); + __bindgen_bitfield_unit.set(5usize, 7u8, { + let virt_destid_8_14: u32 = unsafe { ::core::mem::transmute(virt_destid_8_14) }; + virt_destid_8_14 as u64 + }); + __bindgen_bitfield_unit.set(12usize, 8u8, { + let destid_0_7: u32 = unsafe { ::core::mem::transmute(destid_0_7) }; + destid_0_7 as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let base_address: u32 = unsafe { ::core::mem::transmute(base_address) }; + base_address as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; +}; +impl x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn dmar_reserved_0(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_dmar_reserved_0(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn dmar_reserved_0_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 2u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dmar_reserved_0_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn dmar_index_15(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_dmar_index_15(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dmar_index_15_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dmar_index_15_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dmar_subhandle_valid(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_dmar_subhandle_valid(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dmar_subhandle_valid_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dmar_subhandle_valid_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dmar_format(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_dmar_format(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dmar_format_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dmar_format_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dmar_index_0_14(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 15u8) as u32) } + } + #[inline] + pub fn set_dmar_index_0_14(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 15u8, val as u64) + } + } + #[inline] + pub unsafe fn dmar_index_0_14_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 15u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dmar_index_0_14_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 15u8, + val as u64, + ) + } + } + #[inline] + pub fn dmar_base_address(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_dmar_base_address(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub unsafe fn dmar_base_address_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 20usize, + 12u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dmar_base_address_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 20usize, + 12u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + dmar_reserved_0: u32_, + dmar_index_15: u32_, + dmar_subhandle_valid: u32_, + dmar_format: u32_, + dmar_index_0_14: u32_, + dmar_base_address: u32_, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let dmar_reserved_0: u32 = unsafe { ::core::mem::transmute(dmar_reserved_0) }; + dmar_reserved_0 as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let dmar_index_15: u32 = unsafe { ::core::mem::transmute(dmar_index_15) }; + dmar_index_15 as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let dmar_subhandle_valid: u32 = unsafe { ::core::mem::transmute(dmar_subhandle_valid) }; + dmar_subhandle_valid as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let dmar_format: u32 = unsafe { ::core::mem::transmute(dmar_format) }; + dmar_format as u64 + }); + __bindgen_bitfield_unit.set(5usize, 15u8, { + let dmar_index_0_14: u32 = unsafe { ::core::mem::transmute(dmar_index_0_14) }; + dmar_index_0_14 as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let dmar_base_address: u32 = unsafe { ::core::mem::transmute(dmar_base_address) }; + dmar_base_address as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_addr_lo__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_addr_lo__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_addr_lo"][::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_addr_lo"][::core::mem::align_of::() - 4usize]; +}; +pub type arch_msi_msg_addr_lo_t = x86_msi_addr_lo; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct x86_msi_addr_hi { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_addr_hi"][::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_addr_hi"][::core::mem::align_of::() - 4usize]; +}; +impl x86_msi_addr_hi { + #[inline] + pub fn reserved(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_reserved_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn destid_8_31(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) } + } + #[inline] + pub fn set_destid_8_31(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 24u8, val as u64) + } + } + #[inline] + pub unsafe fn destid_8_31_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 24u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_destid_8_31_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 24u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + reserved: u32_, + destid_8_31: u32_, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let reserved: u32 = unsafe { ::core::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(8usize, 24u8, { + let destid_8_31: u32 = unsafe { ::core::mem::transmute(destid_8_31) }; + destid_8_31 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type arch_msi_msg_addr_hi_t = x86_msi_addr_hi; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct x86_msi_data { + pub __bindgen_anon_1: x86_msi_data__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union x86_msi_data__bindgen_ty_1 { + pub __bindgen_anon_1: x86_msi_data__bindgen_ty_1__bindgen_ty_1, + pub dmar_subhandle: u32_, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct x86_msi_data__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub __bindgen_padding_0: u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_data__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_data__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; +}; +impl x86_msi_data__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn vector(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_vector(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn vector_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_vector_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn delivery_mode(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 3u8) as u32) } + } + #[inline] + pub fn set_delivery_mode(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn delivery_mode_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 3u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_delivery_mode_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn dest_mode_logical(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_dest_mode_logical(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dest_mode_logical_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dest_mode_logical_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 2u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 2u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_reserved_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn active_low(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_active_low(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn active_low_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 14usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_active_low_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_level(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_level(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_level_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 15usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_level_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 15usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + vector: u32_, + delivery_mode: u32_, + dest_mode_logical: u32_, + reserved: u32_, + active_low: u32_, + is_level: u32_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let vector: u32 = unsafe { ::core::mem::transmute(vector) }; + vector as u64 + }); + __bindgen_bitfield_unit.set(8usize, 3u8, { + let delivery_mode: u32 = unsafe { ::core::mem::transmute(delivery_mode) }; + delivery_mode as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let dest_mode_logical: u32 = unsafe { ::core::mem::transmute(dest_mode_logical) }; + dest_mode_logical as u64 + }); + __bindgen_bitfield_unit.set(12usize, 2u8, { + let reserved: u32 = unsafe { ::core::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let active_low: u32 = unsafe { ::core::mem::transmute(active_low) }; + active_low as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let is_level: u32 = unsafe { ::core::mem::transmute(is_level) }; + is_level as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_data__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_data__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: x86_msi_data__bindgen_ty_1::dmar_subhandle"] + [::core::mem::offset_of!(x86_msi_data__bindgen_ty_1, dmar_subhandle) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of x86_msi_data"][::core::mem::size_of::() - 4usize]; + ["Alignment of x86_msi_data"][::core::mem::align_of::() - 4usize]; +}; +pub type arch_msi_msg_data_t = x86_msi_data; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct msi_msg { + pub __bindgen_anon_1: msi_msg__bindgen_ty_1, + pub __bindgen_anon_2: msi_msg__bindgen_ty_2, + pub __bindgen_anon_3: msi_msg__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union msi_msg__bindgen_ty_1 { + pub address_lo: u32_, + pub arch_addr_lo: arch_msi_msg_addr_lo_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_msg__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of msi_msg__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: msi_msg__bindgen_ty_1::address_lo"] + [::core::mem::offset_of!(msi_msg__bindgen_ty_1, address_lo) - 0usize]; + ["Offset of field: msi_msg__bindgen_ty_1::arch_addr_lo"] + [::core::mem::offset_of!(msi_msg__bindgen_ty_1, arch_addr_lo) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union msi_msg__bindgen_ty_2 { + pub address_hi: u32_, + pub arch_addr_hi: arch_msi_msg_addr_hi_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_msg__bindgen_ty_2"][::core::mem::size_of::() - 4usize]; + ["Alignment of msi_msg__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: msi_msg__bindgen_ty_2::address_hi"] + [::core::mem::offset_of!(msi_msg__bindgen_ty_2, address_hi) - 0usize]; + ["Offset of field: msi_msg__bindgen_ty_2::arch_addr_hi"] + [::core::mem::offset_of!(msi_msg__bindgen_ty_2, arch_addr_hi) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union msi_msg__bindgen_ty_3 { + pub data: u32_, + pub arch_data: arch_msi_msg_data_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_msg__bindgen_ty_3"][::core::mem::size_of::() - 4usize]; + ["Alignment of msi_msg__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: msi_msg__bindgen_ty_3::data"] + [::core::mem::offset_of!(msi_msg__bindgen_ty_3, data) - 0usize]; + ["Offset of field: msi_msg__bindgen_ty_3::arch_data"] + [::core::mem::offset_of!(msi_msg__bindgen_ty_3, arch_data) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_msg"][::core::mem::size_of::() - 12usize]; + ["Alignment of msi_msg"][::core::mem::align_of::() - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct class { + pub name: *const ::core::ffi::c_char, + pub class_groups: *mut *const attribute_group, + pub dev_groups: *mut *const attribute_group, + pub dev_uevent: ::core::option::Option< + unsafe extern "C" fn(arg1: *const device, arg2: *mut kobj_uevent_env) -> ::core::ffi::c_int, + >, + pub devnode: ::core::option::Option< + unsafe extern "C" fn(arg1: *const device, arg2: *mut umode_t) -> *mut ::core::ffi::c_char, + >, + pub class_release: ::core::option::Option, + pub dev_release: ::core::option::Option, + pub shutdown_pre: + ::core::option::Option ::core::ffi::c_int>, + pub ns_type: *const kobj_ns_type_operations, + pub namespace: ::core::option::Option< + unsafe extern "C" fn(arg1: *const device) -> *const ::core::ffi::c_void, + >, + pub get_ownership: ::core::option::Option< + unsafe extern "C" fn(arg1: *const device, arg2: *mut kuid_t, arg3: *mut kgid_t), + >, + pub pm: *const dev_pm_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of class"][::core::mem::size_of::() - 96usize]; + ["Alignment of class"][::core::mem::align_of::() - 8usize]; + ["Offset of field: class::name"][::core::mem::offset_of!(class, name) - 0usize]; + ["Offset of field: class::class_groups"][::core::mem::offset_of!(class, class_groups) - 8usize]; + ["Offset of field: class::dev_groups"][::core::mem::offset_of!(class, dev_groups) - 16usize]; + ["Offset of field: class::dev_uevent"][::core::mem::offset_of!(class, dev_uevent) - 24usize]; + ["Offset of field: class::devnode"][::core::mem::offset_of!(class, devnode) - 32usize]; + ["Offset of field: class::class_release"] + [::core::mem::offset_of!(class, class_release) - 40usize]; + ["Offset of field: class::dev_release"][::core::mem::offset_of!(class, dev_release) - 48usize]; + ["Offset of field: class::shutdown_pre"] + [::core::mem::offset_of!(class, shutdown_pre) - 56usize]; + ["Offset of field: class::ns_type"][::core::mem::offset_of!(class, ns_type) - 64usize]; + ["Offset of field: class::namespace"][::core::mem::offset_of!(class, namespace) - 72usize]; + ["Offset of field: class::get_ownership"] + [::core::mem::offset_of!(class, get_ownership) - 80usize]; + ["Offset of field: class::pm"][::core::mem::offset_of!(class, pm) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct klist { + pub k_lock: spinlock_t, + pub k_list: list_head, + pub get: ::core::option::Option, + pub put: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of klist"][::core::mem::size_of::() - 40usize]; + ["Alignment of klist"][::core::mem::align_of::() - 8usize]; + ["Offset of field: klist::k_lock"][::core::mem::offset_of!(klist, k_lock) - 0usize]; + ["Offset of field: klist::k_list"][::core::mem::offset_of!(klist, k_list) - 8usize]; + ["Offset of field: klist::get"][::core::mem::offset_of!(klist, get) - 24usize]; + ["Offset of field: klist::put"][::core::mem::offset_of!(klist, put) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct anon_vma { + pub root: *mut anon_vma, + pub rwsem: rw_semaphore, + pub refcount: atomic_t, + pub num_children: ::core::ffi::c_ulong, + pub num_active_vmas: ::core::ffi::c_ulong, + pub parent: *mut anon_vma, + pub rb_root: rb_root_cached, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of anon_vma"][::core::mem::size_of::() - 96usize]; + ["Alignment of anon_vma"][::core::mem::align_of::() - 8usize]; + ["Offset of field: anon_vma::root"][::core::mem::offset_of!(anon_vma, root) - 0usize]; + ["Offset of field: anon_vma::rwsem"][::core::mem::offset_of!(anon_vma, rwsem) - 8usize]; + ["Offset of field: anon_vma::refcount"][::core::mem::offset_of!(anon_vma, refcount) - 48usize]; + ["Offset of field: anon_vma::num_children"] + [::core::mem::offset_of!(anon_vma, num_children) - 56usize]; + ["Offset of field: anon_vma::num_active_vmas"] + [::core::mem::offset_of!(anon_vma, num_active_vmas) - 64usize]; + ["Offset of field: anon_vma::parent"][::core::mem::offset_of!(anon_vma, parent) - 72usize]; + ["Offset of field: anon_vma::rb_root"][::core::mem::offset_of!(anon_vma, rb_root) - 80usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct anon_vma_name { + pub kref: kref, + pub name: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of anon_vma_name"][::core::mem::size_of::() - 4usize]; + ["Alignment of anon_vma_name"][::core::mem::align_of::() - 4usize]; + ["Offset of field: anon_vma_name::kref"][::core::mem::offset_of!(anon_vma_name, kref) - 0usize]; + ["Offset of field: anon_vma_name::name"][::core::mem::offset_of!(anon_vma_name, name) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct path { + pub mnt: *mut vfsmount, + pub dentry: *mut dentry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of path"][::core::mem::size_of::() - 16usize]; + ["Alignment of path"][::core::mem::align_of::() - 8usize]; + ["Offset of field: path::mnt"][::core::mem::offset_of!(path, mnt) - 0usize]; + ["Offset of field: path::dentry"][::core::mem::offset_of!(path, dentry) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct arch_hw_breakpoint { + pub address: ::core::ffi::c_ulong, + pub mask: ::core::ffi::c_ulong, + pub len: u8_, + pub type_: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_hw_breakpoint"][::core::mem::size_of::() - 24usize]; + ["Alignment of arch_hw_breakpoint"][::core::mem::align_of::() - 8usize]; + ["Offset of field: arch_hw_breakpoint::address"] + [::core::mem::offset_of!(arch_hw_breakpoint, address) - 0usize]; + ["Offset of field: arch_hw_breakpoint::mask"] + [::core::mem::offset_of!(arch_hw_breakpoint, mask) - 8usize]; + ["Offset of field: arch_hw_breakpoint::len"] + [::core::mem::offset_of!(arch_hw_breakpoint, len) - 16usize]; + ["Offset of field: arch_hw_breakpoint::type_"] + [::core::mem::offset_of!(arch_hw_breakpoint, type_) - 17usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpumask { + pub bits: [::core::ffi::c_ulong; 128usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpumask"][::core::mem::size_of::() - 1024usize]; + ["Alignment of cpumask"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpumask::bits"][::core::mem::offset_of!(cpumask, bits) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct arch_tlbflush_unmap_batch { + pub cpumask: cpumask, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_tlbflush_unmap_batch"] + [::core::mem::size_of::() - 1024usize]; + ["Alignment of arch_tlbflush_unmap_batch"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: arch_tlbflush_unmap_batch::cpumask"] + [::core::mem::offset_of!(arch_tlbflush_unmap_batch, cpumask) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct arch_uprobe { + pub __bindgen_anon_1: arch_uprobe__bindgen_ty_1, + pub ops: *const uprobe_xol_ops, + pub __bindgen_anon_2: arch_uprobe__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union arch_uprobe__bindgen_ty_1 { + pub insn: [u8_; 16usize], + pub ixol: [u8_; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_uprobe__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of arch_uprobe__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: arch_uprobe__bindgen_ty_1::insn"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_1, insn) - 0usize]; + ["Offset of field: arch_uprobe__bindgen_ty_1::ixol"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_1, ixol) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union arch_uprobe__bindgen_ty_2 { + pub branch: arch_uprobe__bindgen_ty_2__bindgen_ty_1, + pub defparam: arch_uprobe__bindgen_ty_2__bindgen_ty_2, + pub push: arch_uprobe__bindgen_ty_2__bindgen_ty_3, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct arch_uprobe__bindgen_ty_2__bindgen_ty_1 { + pub offs: s32, + pub ilen: u8_, + pub opc1: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_uprobe__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of arch_uprobe__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2__bindgen_ty_1::offs"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2__bindgen_ty_1, offs) - 0usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2__bindgen_ty_1::ilen"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2__bindgen_ty_1, ilen) - 4usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2__bindgen_ty_1::opc1"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2__bindgen_ty_1, opc1) - 5usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct arch_uprobe__bindgen_ty_2__bindgen_ty_2 { + pub fixups: u8_, + pub ilen: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_uprobe__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of arch_uprobe__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2__bindgen_ty_2::fixups"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2__bindgen_ty_2, fixups) - 0usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2__bindgen_ty_2::ilen"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2__bindgen_ty_2, ilen) - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct arch_uprobe__bindgen_ty_2__bindgen_ty_3 { + pub reg_offset: u8_, + pub ilen: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_uprobe__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of arch_uprobe__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2__bindgen_ty_3::reg_offset"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2__bindgen_ty_3, reg_offset) - 0usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2__bindgen_ty_3::ilen"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2__bindgen_ty_3, ilen) - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_uprobe__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of arch_uprobe__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2::branch"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2, branch) - 0usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2::defparam"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2, defparam) - 0usize]; + ["Offset of field: arch_uprobe__bindgen_ty_2::push"] + [::core::mem::offset_of!(arch_uprobe__bindgen_ty_2, push) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_uprobe"][::core::mem::size_of::() - 32usize]; + ["Alignment of arch_uprobe"][::core::mem::align_of::() - 8usize]; + ["Offset of field: arch_uprobe::ops"][::core::mem::offset_of!(arch_uprobe, ops) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct arch_uprobe_task { + pub saved_scratch_register: ::core::ffi::c_ulong, + pub saved_trap_nr: ::core::ffi::c_uint, + pub saved_tf: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of arch_uprobe_task"][::core::mem::size_of::() - 16usize]; + ["Alignment of arch_uprobe_task"][::core::mem::align_of::() - 8usize]; + ["Offset of field: arch_uprobe_task::saved_scratch_register"] + [::core::mem::offset_of!(arch_uprobe_task, saved_scratch_register) - 0usize]; + ["Offset of field: arch_uprobe_task::saved_trap_nr"] + [::core::mem::offset_of!(arch_uprobe_task, saved_trap_nr) - 8usize]; + ["Offset of field: arch_uprobe_task::saved_tf"] + [::core::mem::offset_of!(arch_uprobe_task, saved_tf) - 12usize]; +}; +#[repr(C)] +pub struct sockaddr { + pub sa_family: sa_family_t, + pub __bindgen_anon_1: sockaddr__bindgen_ty_1, +} +#[repr(C)] +pub struct sockaddr__bindgen_ty_1 { + pub sa_data_min: __BindgenUnionField<[::core::ffi::c_char; 14usize]>, + pub __bindgen_anon_1: __BindgenUnionField, + pub bindgen_union_field: [u8; 14usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct sockaddr__bindgen_ty_1__bindgen_ty_1 { + pub __empty_sa_data: sockaddr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub sa_data: __IncompleteArrayField<::core::ffi::c_char>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockaddr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sockaddr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of sockaddr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sockaddr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of sockaddr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: sockaddr__bindgen_ty_1__bindgen_ty_1::__empty_sa_data"] + [::core::mem::offset_of!(sockaddr__bindgen_ty_1__bindgen_ty_1, __empty_sa_data) - 0usize]; + ["Offset of field: sockaddr__bindgen_ty_1__bindgen_ty_1::sa_data"] + [::core::mem::offset_of!(sockaddr__bindgen_ty_1__bindgen_ty_1, sa_data) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sockaddr__bindgen_ty_1"][::core::mem::size_of::() - 14usize]; + ["Alignment of sockaddr__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: sockaddr__bindgen_ty_1::sa_data_min"] + [::core::mem::offset_of!(sockaddr__bindgen_ty_1, sa_data_min) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sockaddr"][::core::mem::size_of::() - 16usize]; + ["Alignment of sockaddr"][::core::mem::align_of::() - 2usize]; + ["Offset of field: sockaddr::sa_family"][::core::mem::offset_of!(sockaddr, sa_family) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct array_buffer { + pub tr: *mut trace_array, + pub buffer: *mut trace_buffer, + pub data: *mut trace_array_cpu, + pub time_start: u64_, + pub cpu: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of array_buffer"][::core::mem::size_of::() - 40usize]; + ["Alignment of array_buffer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: array_buffer::tr"][::core::mem::offset_of!(array_buffer, tr) - 0usize]; + ["Offset of field: array_buffer::buffer"] + [::core::mem::offset_of!(array_buffer, buffer) - 8usize]; + ["Offset of field: array_buffer::data"][::core::mem::offset_of!(array_buffer, data) - 16usize]; + ["Offset of field: array_buffer::time_start"] + [::core::mem::offset_of!(array_buffer, time_start) - 24usize]; + ["Offset of field: array_buffer::cpu"][::core::mem::offset_of!(array_buffer, cpu) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct assoc_array_ptr { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct assoc_array { + pub root: *mut assoc_array_ptr, + pub nr_leaves_on_tree: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of assoc_array"][::core::mem::size_of::() - 16usize]; + ["Alignment of assoc_array"][::core::mem::align_of::() - 8usize]; + ["Offset of field: assoc_array::root"][::core::mem::offset_of!(assoc_array, root) - 0usize]; + ["Offset of field: assoc_array::nr_leaves_on_tree"] + [::core::mem::offset_of!(assoc_array, nr_leaves_on_tree) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_poll { + pub file: *mut file, + pub head: *mut wait_queue_head, + pub events: __poll_t, + pub retries: ::core::ffi::c_int, + pub wait: wait_queue_entry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_poll"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_poll"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_poll::file"][::core::mem::offset_of!(io_poll, file) - 0usize]; + ["Offset of field: io_poll::head"][::core::mem::offset_of!(io_poll, head) - 8usize]; + ["Offset of field: io_poll::events"][::core::mem::offset_of!(io_poll, events) - 16usize]; + ["Offset of field: io_poll::retries"][::core::mem::offset_of!(io_poll, retries) - 20usize]; + ["Offset of field: io_poll::wait"][::core::mem::offset_of!(io_poll, wait) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct async_poll { + pub poll: io_poll, + pub double_poll: *mut io_poll, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of async_poll"][::core::mem::size_of::() - 72usize]; + ["Alignment of async_poll"][::core::mem::align_of::() - 8usize]; + ["Offset of field: async_poll::poll"][::core::mem::offset_of!(async_poll, poll) - 0usize]; + ["Offset of field: async_poll::double_poll"] + [::core::mem::offset_of!(async_poll, double_poll) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct scatterlist { + pub page_link: ::core::ffi::c_ulong, + pub offset: ::core::ffi::c_uint, + pub length: ::core::ffi::c_uint, + pub dma_address: dma_addr_t, + pub dma_length: ::core::ffi::c_uint, + pub dma_flags: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of scatterlist"][::core::mem::size_of::() - 32usize]; + ["Alignment of scatterlist"][::core::mem::align_of::() - 8usize]; + ["Offset of field: scatterlist::page_link"] + [::core::mem::offset_of!(scatterlist, page_link) - 0usize]; + ["Offset of field: scatterlist::offset"][::core::mem::offset_of!(scatterlist, offset) - 8usize]; + ["Offset of field: scatterlist::length"] + [::core::mem::offset_of!(scatterlist, length) - 12usize]; + ["Offset of field: scatterlist::dma_address"] + [::core::mem::offset_of!(scatterlist, dma_address) - 16usize]; + ["Offset of field: scatterlist::dma_length"] + [::core::mem::offset_of!(scatterlist, dma_length) - 24usize]; + ["Offset of field: scatterlist::dma_flags"] + [::core::mem::offset_of!(scatterlist, dma_flags) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct attribute_group { + pub name: *const ::core::ffi::c_char, + pub is_visible: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kobject, + arg2: *mut attribute, + arg3: ::core::ffi::c_int, + ) -> umode_t, + >, + pub is_bin_visible: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kobject, + arg2: *mut bin_attribute, + arg3: ::core::ffi::c_int, + ) -> umode_t, + >, + pub attrs: *mut *mut attribute, + pub bin_attrs: *mut *mut bin_attribute, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of attribute_group"][::core::mem::size_of::() - 40usize]; + ["Alignment of attribute_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: attribute_group::name"] + [::core::mem::offset_of!(attribute_group, name) - 0usize]; + ["Offset of field: attribute_group::is_visible"] + [::core::mem::offset_of!(attribute_group, is_visible) - 8usize]; + ["Offset of field: attribute_group::is_bin_visible"] + [::core::mem::offset_of!(attribute_group, is_bin_visible) - 16usize]; + ["Offset of field: attribute_group::attrs"] + [::core::mem::offset_of!(attribute_group, attrs) - 24usize]; + ["Offset of field: attribute_group::bin_attrs"] + [::core::mem::offset_of!(attribute_group, bin_attrs) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_aux_data { + pub next: *mut audit_aux_data, + pub type_: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_aux_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of audit_aux_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_aux_data::next"] + [::core::mem::offset_of!(audit_aux_data, next) - 0usize]; + ["Offset of field: audit_aux_data::type_"] + [::core::mem::offset_of!(audit_aux_data, type_) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct audit_cap_data { + pub permitted: kernel_cap_t, + pub inheritable: kernel_cap_t, + pub __bindgen_anon_1: audit_cap_data__bindgen_ty_1, + pub ambient: kernel_cap_t, + pub rootid: kuid_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union audit_cap_data__bindgen_ty_1 { + pub fE: ::core::ffi::c_uint, + pub effective: kernel_cap_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_cap_data__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of audit_cap_data__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_cap_data__bindgen_ty_1::fE"] + [::core::mem::offset_of!(audit_cap_data__bindgen_ty_1, fE) - 0usize]; + ["Offset of field: audit_cap_data__bindgen_ty_1::effective"] + [::core::mem::offset_of!(audit_cap_data__bindgen_ty_1, effective) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_cap_data"][::core::mem::size_of::() - 40usize]; + ["Alignment of audit_cap_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_cap_data::permitted"] + [::core::mem::offset_of!(audit_cap_data, permitted) - 0usize]; + ["Offset of field: audit_cap_data::inheritable"] + [::core::mem::offset_of!(audit_cap_data, inheritable) - 8usize]; + ["Offset of field: audit_cap_data::ambient"] + [::core::mem::offset_of!(audit_cap_data, ambient) - 24usize]; + ["Offset of field: audit_cap_data::rootid"] + [::core::mem::offset_of!(audit_cap_data, rootid) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_node { + pub list: list_head, + pub owner: *mut audit_tree, + pub index: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_node"][::core::mem::size_of::() - 32usize]; + ["Alignment of audit_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_node::list"][::core::mem::offset_of!(audit_node, list) - 0usize]; + ["Offset of field: audit_node::owner"][::core::mem::offset_of!(audit_node, owner) - 16usize]; + ["Offset of field: audit_node::index"][::core::mem::offset_of!(audit_node, index) - 24usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct audit_chunk { + pub hash: list_head, + pub key: ::core::ffi::c_ulong, + pub mark: *mut fsnotify_mark, + pub trees: list_head, + pub count: ::core::ffi::c_int, + pub refs: atomic_long_t, + pub head: callback_head, + pub owners: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_chunk"][::core::mem::size_of::() - 80usize]; + ["Alignment of audit_chunk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_chunk::hash"][::core::mem::offset_of!(audit_chunk, hash) - 0usize]; + ["Offset of field: audit_chunk::key"][::core::mem::offset_of!(audit_chunk, key) - 16usize]; + ["Offset of field: audit_chunk::mark"][::core::mem::offset_of!(audit_chunk, mark) - 24usize]; + ["Offset of field: audit_chunk::trees"][::core::mem::offset_of!(audit_chunk, trees) - 32usize]; + ["Offset of field: audit_chunk::count"][::core::mem::offset_of!(audit_chunk, count) - 48usize]; + ["Offset of field: audit_chunk::refs"][::core::mem::offset_of!(audit_chunk, refs) - 56usize]; + ["Offset of field: audit_chunk::head"][::core::mem::offset_of!(audit_chunk, head) - 64usize]; + ["Offset of field: audit_chunk::owners"] + [::core::mem::offset_of!(audit_chunk, owners) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec64 { + pub tv_sec: time64_t, + pub tv_nsec: ::core::ffi::c_long, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of timespec64"][::core::mem::size_of::() - 16usize]; + ["Alignment of timespec64"][::core::mem::align_of::() - 8usize]; + ["Offset of field: timespec64::tv_sec"][::core::mem::offset_of!(timespec64, tv_sec) - 0usize]; + ["Offset of field: timespec64::tv_nsec"][::core::mem::offset_of!(timespec64, tv_nsec) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct audit_names { + pub list: list_head, + pub name: *mut filename, + pub name_len: ::core::ffi::c_int, + pub hidden: bool_, + pub ino: ::core::ffi::c_ulong, + pub dev: dev_t, + pub mode: umode_t, + pub uid: kuid_t, + pub gid: kgid_t, + pub rdev: dev_t, + pub osid: u32_, + pub fcap: audit_cap_data, + pub fcap_ver: ::core::ffi::c_uint, + pub type_: ::core::ffi::c_uchar, + pub should_free: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_names"][::core::mem::size_of::() - 112usize]; + ["Alignment of audit_names"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_names::list"][::core::mem::offset_of!(audit_names, list) - 0usize]; + ["Offset of field: audit_names::name"][::core::mem::offset_of!(audit_names, name) - 16usize]; + ["Offset of field: audit_names::name_len"] + [::core::mem::offset_of!(audit_names, name_len) - 24usize]; + ["Offset of field: audit_names::hidden"] + [::core::mem::offset_of!(audit_names, hidden) - 28usize]; + ["Offset of field: audit_names::ino"][::core::mem::offset_of!(audit_names, ino) - 32usize]; + ["Offset of field: audit_names::dev"][::core::mem::offset_of!(audit_names, dev) - 40usize]; + ["Offset of field: audit_names::mode"][::core::mem::offset_of!(audit_names, mode) - 44usize]; + ["Offset of field: audit_names::uid"][::core::mem::offset_of!(audit_names, uid) - 48usize]; + ["Offset of field: audit_names::gid"][::core::mem::offset_of!(audit_names, gid) - 52usize]; + ["Offset of field: audit_names::rdev"][::core::mem::offset_of!(audit_names, rdev) - 56usize]; + ["Offset of field: audit_names::osid"][::core::mem::offset_of!(audit_names, osid) - 60usize]; + ["Offset of field: audit_names::fcap"][::core::mem::offset_of!(audit_names, fcap) - 64usize]; + ["Offset of field: audit_names::fcap_ver"] + [::core::mem::offset_of!(audit_names, fcap_ver) - 104usize]; + ["Offset of field: audit_names::type_"][::core::mem::offset_of!(audit_names, type_) - 108usize]; + ["Offset of field: audit_names::should_free"] + [::core::mem::offset_of!(audit_names, should_free) - 109usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mq_attr { + pub mq_flags: __kernel_long_t, + pub mq_maxmsg: __kernel_long_t, + pub mq_msgsize: __kernel_long_t, + pub mq_curmsgs: __kernel_long_t, + pub __reserved: [__kernel_long_t; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mq_attr"][::core::mem::size_of::() - 64usize]; + ["Alignment of mq_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mq_attr::mq_flags"][::core::mem::offset_of!(mq_attr, mq_flags) - 0usize]; + ["Offset of field: mq_attr::mq_maxmsg"][::core::mem::offset_of!(mq_attr, mq_maxmsg) - 8usize]; + ["Offset of field: mq_attr::mq_msgsize"] + [::core::mem::offset_of!(mq_attr, mq_msgsize) - 16usize]; + ["Offset of field: mq_attr::mq_curmsgs"] + [::core::mem::offset_of!(mq_attr, mq_curmsgs) - 24usize]; + ["Offset of field: mq_attr::__reserved"] + [::core::mem::offset_of!(mq_attr, __reserved) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct open_how { + pub flags: __u64, + pub mode: __u64, + pub resolve: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of open_how"][::core::mem::size_of::() - 24usize]; + ["Alignment of open_how"][::core::mem::align_of::() - 8usize]; + ["Offset of field: open_how::flags"][::core::mem::offset_of!(open_how, flags) - 0usize]; + ["Offset of field: open_how::mode"][::core::mem::offset_of!(open_how, mode) - 8usize]; + ["Offset of field: open_how::resolve"][::core::mem::offset_of!(open_how, resolve) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_ntp_val { + pub oldval: ::core::ffi::c_longlong, + pub newval: ::core::ffi::c_longlong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_ntp_val"][::core::mem::size_of::() - 16usize]; + ["Alignment of audit_ntp_val"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_ntp_val::oldval"] + [::core::mem::offset_of!(audit_ntp_val, oldval) - 0usize]; + ["Offset of field: audit_ntp_val::newval"] + [::core::mem::offset_of!(audit_ntp_val, newval) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_ntp_data { + pub vals: [audit_ntp_val; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_ntp_data"][::core::mem::size_of::() - 96usize]; + ["Alignment of audit_ntp_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_ntp_data::vals"] + [::core::mem::offset_of!(audit_ntp_data, vals) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_proctitle { + pub len: ::core::ffi::c_int, + pub value: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_proctitle"][::core::mem::size_of::() - 16usize]; + ["Alignment of audit_proctitle"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_proctitle::len"] + [::core::mem::offset_of!(audit_proctitle, len) - 0usize]; + ["Offset of field: audit_proctitle::value"] + [::core::mem::offset_of!(audit_proctitle, value) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct audit_context { + pub dummy: ::core::ffi::c_int, + pub context: audit_context__bindgen_ty_1, + pub state: audit_state, + pub current_state: audit_state, + pub serial: ::core::ffi::c_uint, + pub major: ::core::ffi::c_int, + pub uring_op: ::core::ffi::c_int, + pub ctime: timespec64, + pub argv: [::core::ffi::c_ulong; 4usize], + pub return_code: ::core::ffi::c_long, + pub prio: u64_, + pub return_valid: ::core::ffi::c_int, + pub preallocated_names: [audit_names; 5usize], + pub name_count: ::core::ffi::c_int, + pub names_list: list_head, + pub filterkey: *mut ::core::ffi::c_char, + pub pwd: path, + pub aux: *mut audit_aux_data, + pub aux_pids: *mut audit_aux_data, + pub sockaddr: *mut __kernel_sockaddr_storage, + pub sockaddr_len: usize, + pub ppid: pid_t, + pub uid: kuid_t, + pub euid: kuid_t, + pub suid: kuid_t, + pub fsuid: kuid_t, + pub gid: kgid_t, + pub egid: kgid_t, + pub sgid: kgid_t, + pub fsgid: kgid_t, + pub personality: ::core::ffi::c_ulong, + pub arch: ::core::ffi::c_int, + pub target_pid: pid_t, + pub target_auid: kuid_t, + pub target_uid: kuid_t, + pub target_sessionid: ::core::ffi::c_uint, + pub target_sid: u32_, + pub target_comm: [::core::ffi::c_char; 16usize], + pub trees: *mut audit_tree_refs, + pub first_trees: *mut audit_tree_refs, + pub killed_trees: list_head, + pub tree_count: ::core::ffi::c_int, + pub type_: ::core::ffi::c_int, + pub __bindgen_anon_1: audit_context__bindgen_ty_2, + pub fds: [::core::ffi::c_int; 2usize], + pub proctitle: audit_proctitle, +} +pub const audit_context_AUDIT_CTX_UNUSED: audit_context__bindgen_ty_1 = 0; +pub const audit_context_AUDIT_CTX_SYSCALL: audit_context__bindgen_ty_1 = 1; +pub const audit_context_AUDIT_CTX_URING: audit_context__bindgen_ty_1 = 2; +pub type audit_context__bindgen_ty_1 = ::core::ffi::c_uint; +#[repr(C)] +#[derive(Copy, Clone)] +pub union audit_context__bindgen_ty_2 { + pub socketcall: audit_context__bindgen_ty_2__bindgen_ty_1, + pub ipc: audit_context__bindgen_ty_2__bindgen_ty_2, + pub mq_getsetattr: audit_context__bindgen_ty_2__bindgen_ty_3, + pub mq_notify: audit_context__bindgen_ty_2__bindgen_ty_4, + pub mq_sendrecv: audit_context__bindgen_ty_2__bindgen_ty_5, + pub mq_open: audit_context__bindgen_ty_2__bindgen_ty_6, + pub capset: audit_context__bindgen_ty_2__bindgen_ty_7, + pub mmap: audit_context__bindgen_ty_2__bindgen_ty_8, + pub openat2: open_how, + pub execve: audit_context__bindgen_ty_2__bindgen_ty_9, + pub module: audit_context__bindgen_ty_2__bindgen_ty_10, + pub time: audit_context__bindgen_ty_2__bindgen_ty_11, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_1 { + pub nargs: ::core::ffi::c_int, + pub args: [::core::ffi::c_long; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_1::nargs"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_1, nargs) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_1::args"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_1, args) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_2 { + pub uid: kuid_t, + pub gid: kgid_t, + pub mode: umode_t, + pub osid: u32_, + pub has_perm: ::core::ffi::c_int, + pub perm_uid: uid_t, + pub perm_gid: gid_t, + pub perm_mode: umode_t, + pub qbytes: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::uid"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, uid) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::gid"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, gid) - 4usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::mode"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, mode) - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::osid"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, osid) - 12usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::has_perm"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, has_perm) - 16usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::perm_uid"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, perm_uid) - 20usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::perm_gid"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, perm_gid) - 24usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::perm_mode"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, perm_mode) - 28usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_2::qbytes"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_2, qbytes) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_3 { + pub mqdes: mqd_t, + pub mqstat: mq_attr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::size_of::() - 72usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_3::mqdes"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_3, mqdes) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_3::mqstat"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_3, mqstat) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_4 { + pub mqdes: mqd_t, + pub sigev_signo: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_4"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_4"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_4::mqdes"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_4, mqdes) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_4::sigev_signo"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_4, sigev_signo) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_5 { + pub mqdes: mqd_t, + pub msg_len: usize, + pub msg_prio: ::core::ffi::c_uint, + pub abs_timeout: timespec64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_5"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_5::mqdes"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_5, mqdes) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_5::msg_len"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_5, msg_len) - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_5::msg_prio"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_5, msg_prio) - 16usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_5::abs_timeout"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_5, abs_timeout) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_6 { + pub oflag: ::core::ffi::c_int, + pub mode: umode_t, + pub attr: mq_attr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_6"] + [::core::mem::size_of::() - 72usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_6::oflag"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_6, oflag) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_6::mode"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_6, mode) - 4usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_6::attr"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_6, attr) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_7 { + pub pid: pid_t, + pub cap: audit_cap_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_7"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_7"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_7::pid"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_7, pid) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_7::cap"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_7, cap) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_8 { + pub fd: ::core::ffi::c_int, + pub flags: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_8"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_8"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_8::fd"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_8, fd) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_8::flags"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_8, flags) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_9 { + pub argc: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_9"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_9"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_9::argc"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_9, argc) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_10 { + pub name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_10"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_10"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_10::name"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_10, name) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_context__bindgen_ty_2__bindgen_ty_11 { + pub ntp_data: audit_ntp_data, + pub tk_injoffset: timespec64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2__bindgen_ty_11"] + [::core::mem::size_of::() - 112usize]; + ["Alignment of audit_context__bindgen_ty_2__bindgen_ty_11"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_11::ntp_data"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2__bindgen_ty_11, ntp_data) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2__bindgen_ty_11::tk_injoffset"][::core::mem::offset_of!( + audit_context__bindgen_ty_2__bindgen_ty_11, + tk_injoffset + ) - 96usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context__bindgen_ty_2"] + [::core::mem::size_of::() - 112usize]; + ["Alignment of audit_context__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context__bindgen_ty_2::socketcall"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, socketcall) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::ipc"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, ipc) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::mq_getsetattr"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, mq_getsetattr) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::mq_notify"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, mq_notify) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::mq_sendrecv"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, mq_sendrecv) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::mq_open"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, mq_open) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::capset"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, capset) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::mmap"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, mmap) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::openat2"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, openat2) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::execve"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, execve) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::module"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, module) - 0usize]; + ["Offset of field: audit_context__bindgen_ty_2::time"] + [::core::mem::offset_of!(audit_context__bindgen_ty_2, time) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_context"][::core::mem::size_of::() - 1008usize]; + ["Alignment of audit_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_context::dummy"] + [::core::mem::offset_of!(audit_context, dummy) - 0usize]; + ["Offset of field: audit_context::context"] + [::core::mem::offset_of!(audit_context, context) - 4usize]; + ["Offset of field: audit_context::state"] + [::core::mem::offset_of!(audit_context, state) - 8usize]; + ["Offset of field: audit_context::current_state"] + [::core::mem::offset_of!(audit_context, current_state) - 12usize]; + ["Offset of field: audit_context::serial"] + [::core::mem::offset_of!(audit_context, serial) - 16usize]; + ["Offset of field: audit_context::major"] + [::core::mem::offset_of!(audit_context, major) - 20usize]; + ["Offset of field: audit_context::uring_op"] + [::core::mem::offset_of!(audit_context, uring_op) - 24usize]; + ["Offset of field: audit_context::ctime"] + [::core::mem::offset_of!(audit_context, ctime) - 32usize]; + ["Offset of field: audit_context::argv"] + [::core::mem::offset_of!(audit_context, argv) - 48usize]; + ["Offset of field: audit_context::return_code"] + [::core::mem::offset_of!(audit_context, return_code) - 80usize]; + ["Offset of field: audit_context::prio"] + [::core::mem::offset_of!(audit_context, prio) - 88usize]; + ["Offset of field: audit_context::return_valid"] + [::core::mem::offset_of!(audit_context, return_valid) - 96usize]; + ["Offset of field: audit_context::preallocated_names"] + [::core::mem::offset_of!(audit_context, preallocated_names) - 104usize]; + ["Offset of field: audit_context::name_count"] + [::core::mem::offset_of!(audit_context, name_count) - 664usize]; + ["Offset of field: audit_context::names_list"] + [::core::mem::offset_of!(audit_context, names_list) - 672usize]; + ["Offset of field: audit_context::filterkey"] + [::core::mem::offset_of!(audit_context, filterkey) - 688usize]; + ["Offset of field: audit_context::pwd"][::core::mem::offset_of!(audit_context, pwd) - 696usize]; + ["Offset of field: audit_context::aux"][::core::mem::offset_of!(audit_context, aux) - 712usize]; + ["Offset of field: audit_context::aux_pids"] + [::core::mem::offset_of!(audit_context, aux_pids) - 720usize]; + ["Offset of field: audit_context::sockaddr"] + [::core::mem::offset_of!(audit_context, sockaddr) - 728usize]; + ["Offset of field: audit_context::sockaddr_len"] + [::core::mem::offset_of!(audit_context, sockaddr_len) - 736usize]; + ["Offset of field: audit_context::ppid"] + [::core::mem::offset_of!(audit_context, ppid) - 744usize]; + ["Offset of field: audit_context::uid"][::core::mem::offset_of!(audit_context, uid) - 748usize]; + ["Offset of field: audit_context::euid"] + [::core::mem::offset_of!(audit_context, euid) - 752usize]; + ["Offset of field: audit_context::suid"] + [::core::mem::offset_of!(audit_context, suid) - 756usize]; + ["Offset of field: audit_context::fsuid"] + [::core::mem::offset_of!(audit_context, fsuid) - 760usize]; + ["Offset of field: audit_context::gid"][::core::mem::offset_of!(audit_context, gid) - 764usize]; + ["Offset of field: audit_context::egid"] + [::core::mem::offset_of!(audit_context, egid) - 768usize]; + ["Offset of field: audit_context::sgid"] + [::core::mem::offset_of!(audit_context, sgid) - 772usize]; + ["Offset of field: audit_context::fsgid"] + [::core::mem::offset_of!(audit_context, fsgid) - 776usize]; + ["Offset of field: audit_context::personality"] + [::core::mem::offset_of!(audit_context, personality) - 784usize]; + ["Offset of field: audit_context::arch"] + [::core::mem::offset_of!(audit_context, arch) - 792usize]; + ["Offset of field: audit_context::target_pid"] + [::core::mem::offset_of!(audit_context, target_pid) - 796usize]; + ["Offset of field: audit_context::target_auid"] + [::core::mem::offset_of!(audit_context, target_auid) - 800usize]; + ["Offset of field: audit_context::target_uid"] + [::core::mem::offset_of!(audit_context, target_uid) - 804usize]; + ["Offset of field: audit_context::target_sessionid"] + [::core::mem::offset_of!(audit_context, target_sessionid) - 808usize]; + ["Offset of field: audit_context::target_sid"] + [::core::mem::offset_of!(audit_context, target_sid) - 812usize]; + ["Offset of field: audit_context::target_comm"] + [::core::mem::offset_of!(audit_context, target_comm) - 816usize]; + ["Offset of field: audit_context::trees"] + [::core::mem::offset_of!(audit_context, trees) - 832usize]; + ["Offset of field: audit_context::first_trees"] + [::core::mem::offset_of!(audit_context, first_trees) - 840usize]; + ["Offset of field: audit_context::killed_trees"] + [::core::mem::offset_of!(audit_context, killed_trees) - 848usize]; + ["Offset of field: audit_context::tree_count"] + [::core::mem::offset_of!(audit_context, tree_count) - 864usize]; + ["Offset of field: audit_context::type_"] + [::core::mem::offset_of!(audit_context, type_) - 868usize]; + ["Offset of field: audit_context::fds"][::core::mem::offset_of!(audit_context, fds) - 984usize]; + ["Offset of field: audit_context::proctitle"] + [::core::mem::offset_of!(audit_context, proctitle) - 992usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fsnotify_mark { + pub mask: __u32, + pub refcnt: refcount_t, + pub group: *mut fsnotify_group, + pub g_list: list_head, + pub lock: spinlock_t, + pub obj_list: hlist_node, + pub connector: *mut fsnotify_mark_connector, + pub ignore_mask: __u32, + pub flags: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_mark"][::core::mem::size_of::() - 72usize]; + ["Alignment of fsnotify_mark"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_mark::mask"][::core::mem::offset_of!(fsnotify_mark, mask) - 0usize]; + ["Offset of field: fsnotify_mark::refcnt"] + [::core::mem::offset_of!(fsnotify_mark, refcnt) - 4usize]; + ["Offset of field: fsnotify_mark::group"] + [::core::mem::offset_of!(fsnotify_mark, group) - 8usize]; + ["Offset of field: fsnotify_mark::g_list"] + [::core::mem::offset_of!(fsnotify_mark, g_list) - 16usize]; + ["Offset of field: fsnotify_mark::lock"] + [::core::mem::offset_of!(fsnotify_mark, lock) - 32usize]; + ["Offset of field: fsnotify_mark::obj_list"] + [::core::mem::offset_of!(fsnotify_mark, obj_list) - 40usize]; + ["Offset of field: fsnotify_mark::connector"] + [::core::mem::offset_of!(fsnotify_mark, connector) - 56usize]; + ["Offset of field: fsnotify_mark::ignore_mask"] + [::core::mem::offset_of!(fsnotify_mark, ignore_mask) - 64usize]; + ["Offset of field: fsnotify_mark::flags"] + [::core::mem::offset_of!(fsnotify_mark, flags) - 68usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct audit_tree { + pub count: refcount_t, + pub goner: ::core::ffi::c_int, + pub root: *mut audit_chunk, + pub chunks: list_head, + pub rules: list_head, + pub list: list_head, + pub same_root: list_head, + pub head: callback_head, + pub pathname: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_tree"][::core::mem::size_of::() - 96usize]; + ["Alignment of audit_tree"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_tree::count"][::core::mem::offset_of!(audit_tree, count) - 0usize]; + ["Offset of field: audit_tree::goner"][::core::mem::offset_of!(audit_tree, goner) - 4usize]; + ["Offset of field: audit_tree::root"][::core::mem::offset_of!(audit_tree, root) - 8usize]; + ["Offset of field: audit_tree::chunks"][::core::mem::offset_of!(audit_tree, chunks) - 16usize]; + ["Offset of field: audit_tree::rules"][::core::mem::offset_of!(audit_tree, rules) - 32usize]; + ["Offset of field: audit_tree::list"][::core::mem::offset_of!(audit_tree, list) - 48usize]; + ["Offset of field: audit_tree::same_root"] + [::core::mem::offset_of!(audit_tree, same_root) - 64usize]; + ["Offset of field: audit_tree::head"][::core::mem::offset_of!(audit_tree, head) - 80usize]; + ["Offset of field: audit_tree::pathname"] + [::core::mem::offset_of!(audit_tree, pathname) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct audit_tree_refs { + pub next: *mut audit_tree_refs, + pub c: [*mut audit_chunk; 31usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of audit_tree_refs"][::core::mem::size_of::() - 256usize]; + ["Alignment of audit_tree_refs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: audit_tree_refs::next"] + [::core::mem::offset_of!(audit_tree_refs, next) - 0usize]; + ["Offset of field: audit_tree_refs::c"][::core::mem::offset_of!(audit_tree_refs, c) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct auth_cred { + pub cred: *const cred, + pub principal: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of auth_cred"][::core::mem::size_of::() - 16usize]; + ["Alignment of auth_cred"][::core::mem::align_of::() - 8usize]; + ["Offset of field: auth_cred::cred"][::core::mem::offset_of!(auth_cred, cred) - 0usize]; + ["Offset of field: auth_cred::principal"] + [::core::mem::offset_of!(auth_cred, principal) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct auth_domain { + pub ref_: kref, + pub hash: hlist_node, + pub name: *mut ::core::ffi::c_char, + pub flavour: *mut auth_ops, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of auth_domain"][::core::mem::size_of::() - 56usize]; + ["Alignment of auth_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: auth_domain::ref_"][::core::mem::offset_of!(auth_domain, ref_) - 0usize]; + ["Offset of field: auth_domain::hash"][::core::mem::offset_of!(auth_domain, hash) - 8usize]; + ["Offset of field: auth_domain::name"][::core::mem::offset_of!(auth_domain, name) - 24usize]; + ["Offset of field: auth_domain::flavour"] + [::core::mem::offset_of!(auth_domain, flavour) - 32usize]; + ["Offset of field: auth_domain::callback_head"] + [::core::mem::offset_of!(auth_domain, callback_head) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct auth_ops { + pub name: *mut ::core::ffi::c_char, + pub owner: *mut module, + pub flavour: ::core::ffi::c_int, + pub accept: + ::core::option::Option svc_auth_status>, + pub release: + ::core::option::Option ::core::ffi::c_int>, + pub domain_release: ::core::option::Option, + pub set_client: + ::core::option::Option svc_auth_status>, + pub pseudoflavor: + ::core::option::Option rpc_authflavor_t>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of auth_ops"][::core::mem::size_of::() - 64usize]; + ["Alignment of auth_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: auth_ops::name"][::core::mem::offset_of!(auth_ops, name) - 0usize]; + ["Offset of field: auth_ops::owner"][::core::mem::offset_of!(auth_ops, owner) - 8usize]; + ["Offset of field: auth_ops::flavour"][::core::mem::offset_of!(auth_ops, flavour) - 16usize]; + ["Offset of field: auth_ops::accept"][::core::mem::offset_of!(auth_ops, accept) - 24usize]; + ["Offset of field: auth_ops::release"][::core::mem::offset_of!(auth_ops, release) - 32usize]; + ["Offset of field: auth_ops::domain_release"] + [::core::mem::offset_of!(auth_ops, domain_release) - 40usize]; + ["Offset of field: auth_ops::set_client"] + [::core::mem::offset_of!(auth_ops, set_client) - 48usize]; + ["Offset of field: auth_ops::pseudoflavor"] + [::core::mem::offset_of!(auth_ops, pseudoflavor) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct auto_mode_param { + pub qp_type: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of auto_mode_param"][::core::mem::size_of::() - 4usize]; + ["Alignment of auto_mode_param"][::core::mem::align_of::() - 4usize]; + ["Offset of field: auto_mode_param::qp_type"] + [::core::mem::offset_of!(auto_mode_param, qp_type) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct qstr { + pub __bindgen_anon_1: qstr__bindgen_ty_1, + pub name: *const ::core::ffi::c_uchar, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union qstr__bindgen_ty_1 { + pub __bindgen_anon_1: qstr__bindgen_ty_1__bindgen_ty_1, + pub hash_len: u64_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qstr__bindgen_ty_1__bindgen_ty_1 { + pub hash: u32_, + pub len: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qstr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of qstr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: qstr__bindgen_ty_1__bindgen_ty_1::hash"] + [::core::mem::offset_of!(qstr__bindgen_ty_1__bindgen_ty_1, hash) - 0usize]; + ["Offset of field: qstr__bindgen_ty_1__bindgen_ty_1::len"] + [::core::mem::offset_of!(qstr__bindgen_ty_1__bindgen_ty_1, len) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qstr__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of qstr__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qstr__bindgen_ty_1::hash_len"] + [::core::mem::offset_of!(qstr__bindgen_ty_1, hash_len) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qstr"][::core::mem::size_of::() - 16usize]; + ["Alignment of qstr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qstr::name"][::core::mem::offset_of!(qstr, name) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct autogroup { + pub kref: kref, + pub tg: *mut task_group, + pub lock: rw_semaphore, + pub id: ::core::ffi::c_ulong, + pub nice: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of autogroup"][::core::mem::size_of::() - 72usize]; + ["Alignment of autogroup"][::core::mem::align_of::() - 8usize]; + ["Offset of field: autogroup::kref"][::core::mem::offset_of!(autogroup, kref) - 0usize]; + ["Offset of field: autogroup::tg"][::core::mem::offset_of!(autogroup, tg) - 8usize]; + ["Offset of field: autogroup::lock"][::core::mem::offset_of!(autogroup, lock) - 16usize]; + ["Offset of field: autogroup::id"][::core::mem::offset_of!(autogroup, id) - 56usize]; + ["Offset of field: autogroup::nice"][::core::mem::offset_of!(autogroup, nice) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hlist_head { + pub first: *mut hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hlist_head"][::core::mem::size_of::() - 8usize]; + ["Alignment of hlist_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hlist_head::first"][::core::mem::offset_of!(hlist_head, first) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ax25_dev { + pub list: list_head, + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub forward: *mut net_device, + pub sysheader: *mut ctl_table_header, + pub values: [::core::ffi::c_int; 14usize], + pub dama: ax25_dama_info, + pub refcount: refcount_t, + pub device_up: bool_, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ax25_dev"][::core::mem::size_of::() - 176usize]; + ["Alignment of ax25_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ax25_dev::list"][::core::mem::offset_of!(ax25_dev, list) - 0usize]; + ["Offset of field: ax25_dev::dev"][::core::mem::offset_of!(ax25_dev, dev) - 16usize]; + ["Offset of field: ax25_dev::dev_tracker"] + [::core::mem::offset_of!(ax25_dev, dev_tracker) - 24usize]; + ["Offset of field: ax25_dev::forward"][::core::mem::offset_of!(ax25_dev, forward) - 24usize]; + ["Offset of field: ax25_dev::sysheader"] + [::core::mem::offset_of!(ax25_dev, sysheader) - 32usize]; + ["Offset of field: ax25_dev::values"][::core::mem::offset_of!(ax25_dev, values) - 40usize]; + ["Offset of field: ax25_dev::dama"][::core::mem::offset_of!(ax25_dev, dama) - 96usize]; + ["Offset of field: ax25_dev::refcount"][::core::mem::offset_of!(ax25_dev, refcount) - 152usize]; + ["Offset of field: ax25_dev::device_up"] + [::core::mem::offset_of!(ax25_dev, device_up) - 156usize]; + ["Offset of field: ax25_dev::rcu"][::core::mem::offset_of!(ax25_dev, rcu) - 160usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct percpu_counter { + pub lock: raw_spinlock_t, + pub count: s64, + pub list: list_head, + pub counters: *mut s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of percpu_counter"][::core::mem::size_of::() - 40usize]; + ["Alignment of percpu_counter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: percpu_counter::lock"] + [::core::mem::offset_of!(percpu_counter, lock) - 0usize]; + ["Offset of field: percpu_counter::count"] + [::core::mem::offset_of!(percpu_counter, count) - 8usize]; + ["Offset of field: percpu_counter::list"] + [::core::mem::offset_of!(percpu_counter, list) - 16usize]; + ["Offset of field: percpu_counter::counters"] + [::core::mem::offset_of!(percpu_counter, counters) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fprop_local_percpu { + pub events: percpu_counter, + pub period: ::core::ffi::c_uint, + pub lock: raw_spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fprop_local_percpu"][::core::mem::size_of::() - 48usize]; + ["Alignment of fprop_local_percpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fprop_local_percpu::events"] + [::core::mem::offset_of!(fprop_local_percpu, events) - 0usize]; + ["Offset of field: fprop_local_percpu::period"] + [::core::mem::offset_of!(fprop_local_percpu, period) - 40usize]; + ["Offset of field: fprop_local_percpu::lock"] + [::core::mem::offset_of!(fprop_local_percpu, lock) - 44usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct percpu_ref { + pub percpu_count_ptr: ::core::ffi::c_ulong, + pub data: *mut percpu_ref_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of percpu_ref"][::core::mem::size_of::() - 16usize]; + ["Alignment of percpu_ref"][::core::mem::align_of::() - 8usize]; + ["Offset of field: percpu_ref::percpu_count_ptr"] + [::core::mem::offset_of!(percpu_ref, percpu_count_ptr) - 0usize]; + ["Offset of field: percpu_ref::data"][::core::mem::offset_of!(percpu_ref, data) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bdi_writeback { + pub bdi: *mut backing_dev_info, + pub state: ::core::ffi::c_ulong, + pub last_old_flush: ::core::ffi::c_ulong, + pub b_dirty: list_head, + pub b_io: list_head, + pub b_more_io: list_head, + pub b_dirty_time: list_head, + pub list_lock: spinlock_t, + pub writeback_inodes: atomic_t, + pub stat: [percpu_counter; 4usize], + pub bw_time_stamp: ::core::ffi::c_ulong, + pub dirtied_stamp: ::core::ffi::c_ulong, + pub written_stamp: ::core::ffi::c_ulong, + pub write_bandwidth: ::core::ffi::c_ulong, + pub avg_write_bandwidth: ::core::ffi::c_ulong, + pub dirty_ratelimit: ::core::ffi::c_ulong, + pub balanced_dirty_ratelimit: ::core::ffi::c_ulong, + pub completions: fprop_local_percpu, + pub dirty_exceeded: ::core::ffi::c_int, + pub start_all_reason: wb_reason, + pub work_lock: spinlock_t, + pub work_list: list_head, + pub dwork: delayed_work, + pub bw_dwork: delayed_work, + pub bdi_node: list_head, + pub refcnt: percpu_ref, + pub memcg_completions: fprop_local_percpu, + pub memcg_css: *mut cgroup_subsys_state, + pub blkcg_css: *mut cgroup_subsys_state, + pub memcg_node: list_head, + pub blkcg_node: list_head, + pub b_attached: list_head, + pub offline_node: list_head, + pub __bindgen_anon_1: bdi_writeback__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bdi_writeback__bindgen_ty_1 { + pub release_work: work_struct, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bdi_writeback__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of bdi_writeback__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bdi_writeback__bindgen_ty_1::release_work"] + [::core::mem::offset_of!(bdi_writeback__bindgen_ty_1, release_work) - 0usize]; + ["Offset of field: bdi_writeback__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(bdi_writeback__bindgen_ty_1, rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bdi_writeback"][::core::mem::size_of::() - 760usize]; + ["Alignment of bdi_writeback"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bdi_writeback::bdi"][::core::mem::offset_of!(bdi_writeback, bdi) - 0usize]; + ["Offset of field: bdi_writeback::state"] + [::core::mem::offset_of!(bdi_writeback, state) - 8usize]; + ["Offset of field: bdi_writeback::last_old_flush"] + [::core::mem::offset_of!(bdi_writeback, last_old_flush) - 16usize]; + ["Offset of field: bdi_writeback::b_dirty"] + [::core::mem::offset_of!(bdi_writeback, b_dirty) - 24usize]; + ["Offset of field: bdi_writeback::b_io"] + [::core::mem::offset_of!(bdi_writeback, b_io) - 40usize]; + ["Offset of field: bdi_writeback::b_more_io"] + [::core::mem::offset_of!(bdi_writeback, b_more_io) - 56usize]; + ["Offset of field: bdi_writeback::b_dirty_time"] + [::core::mem::offset_of!(bdi_writeback, b_dirty_time) - 72usize]; + ["Offset of field: bdi_writeback::list_lock"] + [::core::mem::offset_of!(bdi_writeback, list_lock) - 88usize]; + ["Offset of field: bdi_writeback::writeback_inodes"] + [::core::mem::offset_of!(bdi_writeback, writeback_inodes) - 92usize]; + ["Offset of field: bdi_writeback::stat"] + [::core::mem::offset_of!(bdi_writeback, stat) - 96usize]; + ["Offset of field: bdi_writeback::bw_time_stamp"] + [::core::mem::offset_of!(bdi_writeback, bw_time_stamp) - 256usize]; + ["Offset of field: bdi_writeback::dirtied_stamp"] + [::core::mem::offset_of!(bdi_writeback, dirtied_stamp) - 264usize]; + ["Offset of field: bdi_writeback::written_stamp"] + [::core::mem::offset_of!(bdi_writeback, written_stamp) - 272usize]; + ["Offset of field: bdi_writeback::write_bandwidth"] + [::core::mem::offset_of!(bdi_writeback, write_bandwidth) - 280usize]; + ["Offset of field: bdi_writeback::avg_write_bandwidth"] + [::core::mem::offset_of!(bdi_writeback, avg_write_bandwidth) - 288usize]; + ["Offset of field: bdi_writeback::dirty_ratelimit"] + [::core::mem::offset_of!(bdi_writeback, dirty_ratelimit) - 296usize]; + ["Offset of field: bdi_writeback::balanced_dirty_ratelimit"] + [::core::mem::offset_of!(bdi_writeback, balanced_dirty_ratelimit) - 304usize]; + ["Offset of field: bdi_writeback::completions"] + [::core::mem::offset_of!(bdi_writeback, completions) - 312usize]; + ["Offset of field: bdi_writeback::dirty_exceeded"] + [::core::mem::offset_of!(bdi_writeback, dirty_exceeded) - 360usize]; + ["Offset of field: bdi_writeback::start_all_reason"] + [::core::mem::offset_of!(bdi_writeback, start_all_reason) - 364usize]; + ["Offset of field: bdi_writeback::work_lock"] + [::core::mem::offset_of!(bdi_writeback, work_lock) - 368usize]; + ["Offset of field: bdi_writeback::work_list"] + [::core::mem::offset_of!(bdi_writeback, work_list) - 376usize]; + ["Offset of field: bdi_writeback::dwork"] + [::core::mem::offset_of!(bdi_writeback, dwork) - 392usize]; + ["Offset of field: bdi_writeback::bw_dwork"] + [::core::mem::offset_of!(bdi_writeback, bw_dwork) - 480usize]; + ["Offset of field: bdi_writeback::bdi_node"] + [::core::mem::offset_of!(bdi_writeback, bdi_node) - 568usize]; + ["Offset of field: bdi_writeback::refcnt"] + [::core::mem::offset_of!(bdi_writeback, refcnt) - 584usize]; + ["Offset of field: bdi_writeback::memcg_completions"] + [::core::mem::offset_of!(bdi_writeback, memcg_completions) - 600usize]; + ["Offset of field: bdi_writeback::memcg_css"] + [::core::mem::offset_of!(bdi_writeback, memcg_css) - 648usize]; + ["Offset of field: bdi_writeback::blkcg_css"] + [::core::mem::offset_of!(bdi_writeback, blkcg_css) - 656usize]; + ["Offset of field: bdi_writeback::memcg_node"] + [::core::mem::offset_of!(bdi_writeback, memcg_node) - 664usize]; + ["Offset of field: bdi_writeback::blkcg_node"] + [::core::mem::offset_of!(bdi_writeback, blkcg_node) - 680usize]; + ["Offset of field: bdi_writeback::b_attached"] + [::core::mem::offset_of!(bdi_writeback, b_attached) - 696usize]; + ["Offset of field: bdi_writeback::offline_node"] + [::core::mem::offset_of!(bdi_writeback, offline_node) - 712usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct backing_dev_info { + pub id: u64_, + pub rb_node: rb_node, + pub bdi_list: list_head, + pub ra_pages: ::core::ffi::c_ulong, + pub io_pages: ::core::ffi::c_ulong, + pub refcnt: kref, + pub capabilities: ::core::ffi::c_uint, + pub min_ratio: ::core::ffi::c_uint, + pub max_ratio: ::core::ffi::c_uint, + pub max_prop_frac: ::core::ffi::c_uint, + pub tot_write_bandwidth: atomic_long_t, + pub last_bdp_sleep: ::core::ffi::c_ulong, + pub wb: bdi_writeback, + pub wb_list: list_head, + pub cgwb_tree: xarray, + pub cgwb_release_mutex: mutex, + pub wb_switch_rwsem: rw_semaphore, + pub wb_waitq: wait_queue_head_t, + pub dev: *mut device, + pub dev_name: [::core::ffi::c_char; 64usize], + pub owner: *mut device, + pub laptop_mode_wb_timer: timer_list, + pub debug_dir: *mut dentry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of backing_dev_info"][::core::mem::size_of::() - 1120usize]; + ["Alignment of backing_dev_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: backing_dev_info::id"] + [::core::mem::offset_of!(backing_dev_info, id) - 0usize]; + ["Offset of field: backing_dev_info::rb_node"] + [::core::mem::offset_of!(backing_dev_info, rb_node) - 8usize]; + ["Offset of field: backing_dev_info::bdi_list"] + [::core::mem::offset_of!(backing_dev_info, bdi_list) - 32usize]; + ["Offset of field: backing_dev_info::ra_pages"] + [::core::mem::offset_of!(backing_dev_info, ra_pages) - 48usize]; + ["Offset of field: backing_dev_info::io_pages"] + [::core::mem::offset_of!(backing_dev_info, io_pages) - 56usize]; + ["Offset of field: backing_dev_info::refcnt"] + [::core::mem::offset_of!(backing_dev_info, refcnt) - 64usize]; + ["Offset of field: backing_dev_info::capabilities"] + [::core::mem::offset_of!(backing_dev_info, capabilities) - 68usize]; + ["Offset of field: backing_dev_info::min_ratio"] + [::core::mem::offset_of!(backing_dev_info, min_ratio) - 72usize]; + ["Offset of field: backing_dev_info::max_ratio"] + [::core::mem::offset_of!(backing_dev_info, max_ratio) - 76usize]; + ["Offset of field: backing_dev_info::max_prop_frac"] + [::core::mem::offset_of!(backing_dev_info, max_prop_frac) - 80usize]; + ["Offset of field: backing_dev_info::tot_write_bandwidth"] + [::core::mem::offset_of!(backing_dev_info, tot_write_bandwidth) - 88usize]; + ["Offset of field: backing_dev_info::last_bdp_sleep"] + [::core::mem::offset_of!(backing_dev_info, last_bdp_sleep) - 96usize]; + ["Offset of field: backing_dev_info::wb"] + [::core::mem::offset_of!(backing_dev_info, wb) - 104usize]; + ["Offset of field: backing_dev_info::wb_list"] + [::core::mem::offset_of!(backing_dev_info, wb_list) - 864usize]; + ["Offset of field: backing_dev_info::cgwb_tree"] + [::core::mem::offset_of!(backing_dev_info, cgwb_tree) - 880usize]; + ["Offset of field: backing_dev_info::cgwb_release_mutex"] + [::core::mem::offset_of!(backing_dev_info, cgwb_release_mutex) - 896usize]; + ["Offset of field: backing_dev_info::wb_switch_rwsem"] + [::core::mem::offset_of!(backing_dev_info, wb_switch_rwsem) - 928usize]; + ["Offset of field: backing_dev_info::wb_waitq"] + [::core::mem::offset_of!(backing_dev_info, wb_waitq) - 968usize]; + ["Offset of field: backing_dev_info::dev"] + [::core::mem::offset_of!(backing_dev_info, dev) - 992usize]; + ["Offset of field: backing_dev_info::dev_name"] + [::core::mem::offset_of!(backing_dev_info, dev_name) - 1000usize]; + ["Offset of field: backing_dev_info::owner"] + [::core::mem::offset_of!(backing_dev_info, owner) - 1064usize]; + ["Offset of field: backing_dev_info::laptop_mode_wb_timer"] + [::core::mem::offset_of!(backing_dev_info, laptop_mode_wb_timer) - 1072usize]; + ["Offset of field: backing_dev_info::debug_dir"] + [::core::mem::offset_of!(backing_dev_info, debug_dir) - 1112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_ra_state { + pub start: ::core::ffi::c_ulong, + pub size: ::core::ffi::c_uint, + pub async_size: ::core::ffi::c_uint, + pub ra_pages: ::core::ffi::c_uint, + pub mmap_miss: ::core::ffi::c_uint, + pub prev_pos: loff_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_ra_state"][::core::mem::size_of::() - 32usize]; + ["Alignment of file_ra_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_ra_state::start"] + [::core::mem::offset_of!(file_ra_state, start) - 0usize]; + ["Offset of field: file_ra_state::size"][::core::mem::offset_of!(file_ra_state, size) - 8usize]; + ["Offset of field: file_ra_state::async_size"] + [::core::mem::offset_of!(file_ra_state, async_size) - 12usize]; + ["Offset of field: file_ra_state::ra_pages"] + [::core::mem::offset_of!(file_ra_state, ra_pages) - 16usize]; + ["Offset of field: file_ra_state::mmap_miss"] + [::core::mem::offset_of!(file_ra_state, mmap_miss) - 20usize]; + ["Offset of field: file_ra_state::prev_pos"] + [::core::mem::offset_of!(file_ra_state, prev_pos) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct file { + pub f_count: atomic_long_t, + pub f_lock: spinlock_t, + pub f_mode: fmode_t, + pub f_op: *const file_operations, + pub f_mapping: *mut address_space, + pub private_data: *mut ::core::ffi::c_void, + pub f_inode: *mut inode, + pub f_flags: ::core::ffi::c_uint, + pub f_iocb_flags: ::core::ffi::c_uint, + pub f_cred: *const cred, + pub f_path: path, + pub __bindgen_anon_1: file__bindgen_ty_1, + pub f_pos: loff_t, + pub f_security: *mut ::core::ffi::c_void, + pub f_owner: *mut fown_struct, + pub f_wb_err: errseq_t, + pub f_sb_err: errseq_t, + pub f_ep: *mut hlist_head, + pub __bindgen_anon_2: file__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union file__bindgen_ty_1 { + pub f_pos_lock: mutex, + pub f_pipe: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file__bindgen_ty_1"][::core::mem::size_of::() - 32usize]; + ["Alignment of file__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file__bindgen_ty_1::f_pos_lock"] + [::core::mem::offset_of!(file__bindgen_ty_1, f_pos_lock) - 0usize]; + ["Offset of field: file__bindgen_ty_1::f_pipe"] + [::core::mem::offset_of!(file__bindgen_ty_1, f_pipe) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union file__bindgen_ty_2 { + pub f_task_work: callback_head, + pub f_llist: llist_node, + pub f_ra: file_ra_state, + pub f_freeptr: freeptr_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file__bindgen_ty_2"][::core::mem::size_of::() - 32usize]; + ["Alignment of file__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file__bindgen_ty_2::f_task_work"] + [::core::mem::offset_of!(file__bindgen_ty_2, f_task_work) - 0usize]; + ["Offset of field: file__bindgen_ty_2::f_llist"] + [::core::mem::offset_of!(file__bindgen_ty_2, f_llist) - 0usize]; + ["Offset of field: file__bindgen_ty_2::f_ra"] + [::core::mem::offset_of!(file__bindgen_ty_2, f_ra) - 0usize]; + ["Offset of field: file__bindgen_ty_2::f_freeptr"] + [::core::mem::offset_of!(file__bindgen_ty_2, f_freeptr) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file"][::core::mem::size_of::() - 184usize]; + ["Alignment of file"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file::f_count"][::core::mem::offset_of!(file, f_count) - 0usize]; + ["Offset of field: file::f_lock"][::core::mem::offset_of!(file, f_lock) - 8usize]; + ["Offset of field: file::f_mode"][::core::mem::offset_of!(file, f_mode) - 12usize]; + ["Offset of field: file::f_op"][::core::mem::offset_of!(file, f_op) - 16usize]; + ["Offset of field: file::f_mapping"][::core::mem::offset_of!(file, f_mapping) - 24usize]; + ["Offset of field: file::private_data"][::core::mem::offset_of!(file, private_data) - 32usize]; + ["Offset of field: file::f_inode"][::core::mem::offset_of!(file, f_inode) - 40usize]; + ["Offset of field: file::f_flags"][::core::mem::offset_of!(file, f_flags) - 48usize]; + ["Offset of field: file::f_iocb_flags"][::core::mem::offset_of!(file, f_iocb_flags) - 52usize]; + ["Offset of field: file::f_cred"][::core::mem::offset_of!(file, f_cred) - 56usize]; + ["Offset of field: file::f_path"][::core::mem::offset_of!(file, f_path) - 64usize]; + ["Offset of field: file::f_pos"][::core::mem::offset_of!(file, f_pos) - 112usize]; + ["Offset of field: file::f_security"][::core::mem::offset_of!(file, f_security) - 120usize]; + ["Offset of field: file::f_owner"][::core::mem::offset_of!(file, f_owner) - 128usize]; + ["Offset of field: file::f_wb_err"][::core::mem::offset_of!(file, f_wb_err) - 136usize]; + ["Offset of field: file::f_sb_err"][::core::mem::offset_of!(file, f_sb_err) - 140usize]; + ["Offset of field: file::f_ep"][::core::mem::offset_of!(file, f_ep) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct backtrack_state { + pub env: *mut bpf_verifier_env, + pub frame: u32_, + pub reg_masks: [u32_; 8usize], + pub stack_masks: [u64_; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of backtrack_state"][::core::mem::size_of::() - 112usize]; + ["Alignment of backtrack_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: backtrack_state::env"] + [::core::mem::offset_of!(backtrack_state, env) - 0usize]; + ["Offset of field: backtrack_state::frame"] + [::core::mem::offset_of!(backtrack_state, frame) - 8usize]; + ["Offset of field: backtrack_state::reg_masks"] + [::core::mem::offset_of!(backtrack_state, reg_masks) - 12usize]; + ["Offset of field: backtrack_state::stack_masks"] + [::core::mem::offset_of!(backtrack_state, stack_masks) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct badblocks { + pub dev: *mut device, + pub count: ::core::ffi::c_int, + pub unacked_exist: ::core::ffi::c_int, + pub shift: ::core::ffi::c_int, + pub page: *mut u64_, + pub changed: ::core::ffi::c_int, + pub lock: seqlock_t, + pub sector: sector_t, + pub size: sector_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of badblocks"][::core::mem::size_of::() - 64usize]; + ["Alignment of badblocks"][::core::mem::align_of::() - 8usize]; + ["Offset of field: badblocks::dev"][::core::mem::offset_of!(badblocks, dev) - 0usize]; + ["Offset of field: badblocks::count"][::core::mem::offset_of!(badblocks, count) - 8usize]; + ["Offset of field: badblocks::unacked_exist"] + [::core::mem::offset_of!(badblocks, unacked_exist) - 12usize]; + ["Offset of field: badblocks::shift"][::core::mem::offset_of!(badblocks, shift) - 16usize]; + ["Offset of field: badblocks::page"][::core::mem::offset_of!(badblocks, page) - 24usize]; + ["Offset of field: badblocks::changed"][::core::mem::offset_of!(badblocks, changed) - 32usize]; + ["Offset of field: badblocks::lock"][::core::mem::offset_of!(badblocks, lock) - 36usize]; + ["Offset of field: badblocks::sector"][::core::mem::offset_of!(badblocks, sector) - 48usize]; + ["Offset of field: badblocks::size"][::core::mem::offset_of!(badblocks, size) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct balance_callback { + pub next: *mut balance_callback, + pub func: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of balance_callback"][::core::mem::size_of::() - 16usize]; + ["Alignment of balance_callback"][::core::mem::align_of::() - 8usize]; + ["Offset of field: balance_callback::next"] + [::core::mem::offset_of!(balance_callback, next) - 0usize]; + ["Offset of field: balance_callback::func"] + [::core::mem::offset_of!(balance_callback, func) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct block_device { + pub bd_start_sect: sector_t, + pub bd_nr_sectors: sector_t, + pub bd_disk: *mut gendisk, + pub bd_queue: *mut request_queue, + pub bd_stats: *mut disk_stats, + pub bd_stamp: ::core::ffi::c_ulong, + pub __bd_flags: atomic_t, + pub bd_dev: dev_t, + pub bd_mapping: *mut address_space, + pub bd_openers: atomic_t, + pub bd_size_lock: spinlock_t, + pub bd_claiming: *mut ::core::ffi::c_void, + pub bd_holder: *mut ::core::ffi::c_void, + pub bd_holder_ops: *const blk_holder_ops, + pub bd_holder_lock: mutex, + pub bd_holders: ::core::ffi::c_int, + pub bd_holder_dir: *mut kobject, + pub bd_fsfreeze_count: atomic_t, + pub bd_fsfreeze_mutex: mutex, + pub bd_meta_info: *mut partition_meta_info, + pub bd_writers: ::core::ffi::c_int, + pub bd_security: *mut ::core::ffi::c_void, + pub bd_device: device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of block_device"][::core::mem::size_of::() - 960usize]; + ["Alignment of block_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: block_device::bd_start_sect"] + [::core::mem::offset_of!(block_device, bd_start_sect) - 0usize]; + ["Offset of field: block_device::bd_nr_sectors"] + [::core::mem::offset_of!(block_device, bd_nr_sectors) - 8usize]; + ["Offset of field: block_device::bd_disk"] + [::core::mem::offset_of!(block_device, bd_disk) - 16usize]; + ["Offset of field: block_device::bd_queue"] + [::core::mem::offset_of!(block_device, bd_queue) - 24usize]; + ["Offset of field: block_device::bd_stats"] + [::core::mem::offset_of!(block_device, bd_stats) - 32usize]; + ["Offset of field: block_device::bd_stamp"] + [::core::mem::offset_of!(block_device, bd_stamp) - 40usize]; + ["Offset of field: block_device::__bd_flags"] + [::core::mem::offset_of!(block_device, __bd_flags) - 48usize]; + ["Offset of field: block_device::bd_dev"] + [::core::mem::offset_of!(block_device, bd_dev) - 52usize]; + ["Offset of field: block_device::bd_mapping"] + [::core::mem::offset_of!(block_device, bd_mapping) - 56usize]; + ["Offset of field: block_device::bd_openers"] + [::core::mem::offset_of!(block_device, bd_openers) - 64usize]; + ["Offset of field: block_device::bd_size_lock"] + [::core::mem::offset_of!(block_device, bd_size_lock) - 68usize]; + ["Offset of field: block_device::bd_claiming"] + [::core::mem::offset_of!(block_device, bd_claiming) - 72usize]; + ["Offset of field: block_device::bd_holder"] + [::core::mem::offset_of!(block_device, bd_holder) - 80usize]; + ["Offset of field: block_device::bd_holder_ops"] + [::core::mem::offset_of!(block_device, bd_holder_ops) - 88usize]; + ["Offset of field: block_device::bd_holder_lock"] + [::core::mem::offset_of!(block_device, bd_holder_lock) - 96usize]; + ["Offset of field: block_device::bd_holders"] + [::core::mem::offset_of!(block_device, bd_holders) - 128usize]; + ["Offset of field: block_device::bd_holder_dir"] + [::core::mem::offset_of!(block_device, bd_holder_dir) - 136usize]; + ["Offset of field: block_device::bd_fsfreeze_count"] + [::core::mem::offset_of!(block_device, bd_fsfreeze_count) - 144usize]; + ["Offset of field: block_device::bd_fsfreeze_mutex"] + [::core::mem::offset_of!(block_device, bd_fsfreeze_mutex) - 152usize]; + ["Offset of field: block_device::bd_meta_info"] + [::core::mem::offset_of!(block_device, bd_meta_info) - 184usize]; + ["Offset of field: block_device::bd_writers"] + [::core::mem::offset_of!(block_device, bd_writers) - 192usize]; + ["Offset of field: block_device::bd_security"] + [::core::mem::offset_of!(block_device, bd_security) - 200usize]; + ["Offset of field: block_device::bd_device"] + [::core::mem::offset_of!(block_device, bd_device) - 208usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct inode { + pub i_mode: umode_t, + pub i_opflags: ::core::ffi::c_ushort, + pub i_uid: kuid_t, + pub i_gid: kgid_t, + pub i_flags: ::core::ffi::c_uint, + pub i_acl: *mut posix_acl, + pub i_default_acl: *mut posix_acl, + pub i_op: *const inode_operations, + pub i_sb: *mut super_block, + pub i_mapping: *mut address_space, + pub i_security: *mut ::core::ffi::c_void, + pub i_ino: ::core::ffi::c_ulong, + pub __bindgen_anon_1: inode__bindgen_ty_1, + pub i_rdev: dev_t, + pub i_size: loff_t, + pub i_atime_sec: time64_t, + pub i_mtime_sec: time64_t, + pub i_ctime_sec: time64_t, + pub i_atime_nsec: u32_, + pub i_mtime_nsec: u32_, + pub i_ctime_nsec: u32_, + pub i_generation: u32_, + pub i_lock: spinlock_t, + pub i_bytes: ::core::ffi::c_ushort, + pub i_blkbits: u8_, + pub i_write_hint: rw_hint, + pub i_blocks: blkcnt_t, + pub i_state: u32_, + pub i_rwsem: rw_semaphore, + pub dirtied_when: ::core::ffi::c_ulong, + pub dirtied_time_when: ::core::ffi::c_ulong, + pub i_hash: hlist_node, + pub i_io_list: list_head, + pub i_wb: *mut bdi_writeback, + pub i_wb_frn_winner: ::core::ffi::c_int, + pub i_wb_frn_avg_time: u16_, + pub i_wb_frn_history: u16_, + pub i_lru: list_head, + pub i_sb_list: list_head, + pub i_wb_list: list_head, + pub __bindgen_anon_2: inode__bindgen_ty_2, + pub i_version: atomic64_t, + pub i_sequence: atomic64_t, + pub i_count: atomic_t, + pub i_dio_count: atomic_t, + pub i_writecount: atomic_t, + pub i_readcount: atomic_t, + pub __bindgen_anon_3: inode__bindgen_ty_3, + pub i_flctx: *mut file_lock_context, + pub i_data: address_space, + pub i_devices: list_head, + pub __bindgen_anon_4: inode__bindgen_ty_4, + pub i_fsnotify_mask: __u32, + pub i_fsnotify_marks: *mut fsnotify_mark_connector, + pub i_crypt_info: *mut fscrypt_inode_info, + pub i_verity_info: *mut fsverity_info, + pub i_private: *mut ::core::ffi::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union inode__bindgen_ty_1 { + pub i_nlink: ::core::ffi::c_uint, + pub __i_nlink: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inode__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of inode__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: inode__bindgen_ty_1::i_nlink"] + [::core::mem::offset_of!(inode__bindgen_ty_1, i_nlink) - 0usize]; + ["Offset of field: inode__bindgen_ty_1::__i_nlink"] + [::core::mem::offset_of!(inode__bindgen_ty_1, __i_nlink) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union inode__bindgen_ty_2 { + pub i_dentry: hlist_head, + pub i_rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inode__bindgen_ty_2"][::core::mem::size_of::() - 16usize]; + ["Alignment of inode__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inode__bindgen_ty_2::i_dentry"] + [::core::mem::offset_of!(inode__bindgen_ty_2, i_dentry) - 0usize]; + ["Offset of field: inode__bindgen_ty_2::i_rcu"] + [::core::mem::offset_of!(inode__bindgen_ty_2, i_rcu) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union inode__bindgen_ty_3 { + pub i_fop: *const file_operations, + pub free_inode: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inode__bindgen_ty_3"][::core::mem::size_of::() - 8usize]; + ["Alignment of inode__bindgen_ty_3"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inode__bindgen_ty_3::i_fop"] + [::core::mem::offset_of!(inode__bindgen_ty_3, i_fop) - 0usize]; + ["Offset of field: inode__bindgen_ty_3::free_inode"] + [::core::mem::offset_of!(inode__bindgen_ty_3, free_inode) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union inode__bindgen_ty_4 { + pub i_pipe: *mut pipe_inode_info, + pub i_cdev: *mut cdev, + pub i_link: *mut ::core::ffi::c_char, + pub i_dir_seq: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inode__bindgen_ty_4"][::core::mem::size_of::() - 8usize]; + ["Alignment of inode__bindgen_ty_4"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inode__bindgen_ty_4::i_pipe"] + [::core::mem::offset_of!(inode__bindgen_ty_4, i_pipe) - 0usize]; + ["Offset of field: inode__bindgen_ty_4::i_cdev"] + [::core::mem::offset_of!(inode__bindgen_ty_4, i_cdev) - 0usize]; + ["Offset of field: inode__bindgen_ty_4::i_link"] + [::core::mem::offset_of!(inode__bindgen_ty_4, i_link) - 0usize]; + ["Offset of field: inode__bindgen_ty_4::i_dir_seq"] + [::core::mem::offset_of!(inode__bindgen_ty_4, i_dir_seq) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inode"][::core::mem::size_of::() - 632usize]; + ["Alignment of inode"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inode::i_mode"][::core::mem::offset_of!(inode, i_mode) - 0usize]; + ["Offset of field: inode::i_opflags"][::core::mem::offset_of!(inode, i_opflags) - 2usize]; + ["Offset of field: inode::i_uid"][::core::mem::offset_of!(inode, i_uid) - 4usize]; + ["Offset of field: inode::i_gid"][::core::mem::offset_of!(inode, i_gid) - 8usize]; + ["Offset of field: inode::i_flags"][::core::mem::offset_of!(inode, i_flags) - 12usize]; + ["Offset of field: inode::i_acl"][::core::mem::offset_of!(inode, i_acl) - 16usize]; + ["Offset of field: inode::i_default_acl"] + [::core::mem::offset_of!(inode, i_default_acl) - 24usize]; + ["Offset of field: inode::i_op"][::core::mem::offset_of!(inode, i_op) - 32usize]; + ["Offset of field: inode::i_sb"][::core::mem::offset_of!(inode, i_sb) - 40usize]; + ["Offset of field: inode::i_mapping"][::core::mem::offset_of!(inode, i_mapping) - 48usize]; + ["Offset of field: inode::i_security"][::core::mem::offset_of!(inode, i_security) - 56usize]; + ["Offset of field: inode::i_ino"][::core::mem::offset_of!(inode, i_ino) - 64usize]; + ["Offset of field: inode::i_rdev"][::core::mem::offset_of!(inode, i_rdev) - 76usize]; + ["Offset of field: inode::i_size"][::core::mem::offset_of!(inode, i_size) - 80usize]; + ["Offset of field: inode::i_atime_sec"][::core::mem::offset_of!(inode, i_atime_sec) - 88usize]; + ["Offset of field: inode::i_mtime_sec"][::core::mem::offset_of!(inode, i_mtime_sec) - 96usize]; + ["Offset of field: inode::i_ctime_sec"][::core::mem::offset_of!(inode, i_ctime_sec) - 104usize]; + ["Offset of field: inode::i_atime_nsec"] + [::core::mem::offset_of!(inode, i_atime_nsec) - 112usize]; + ["Offset of field: inode::i_mtime_nsec"] + [::core::mem::offset_of!(inode, i_mtime_nsec) - 116usize]; + ["Offset of field: inode::i_ctime_nsec"] + [::core::mem::offset_of!(inode, i_ctime_nsec) - 120usize]; + ["Offset of field: inode::i_generation"] + [::core::mem::offset_of!(inode, i_generation) - 124usize]; + ["Offset of field: inode::i_lock"][::core::mem::offset_of!(inode, i_lock) - 128usize]; + ["Offset of field: inode::i_bytes"][::core::mem::offset_of!(inode, i_bytes) - 132usize]; + ["Offset of field: inode::i_blkbits"][::core::mem::offset_of!(inode, i_blkbits) - 134usize]; + ["Offset of field: inode::i_write_hint"] + [::core::mem::offset_of!(inode, i_write_hint) - 135usize]; + ["Offset of field: inode::i_blocks"][::core::mem::offset_of!(inode, i_blocks) - 136usize]; + ["Offset of field: inode::i_state"][::core::mem::offset_of!(inode, i_state) - 144usize]; + ["Offset of field: inode::i_rwsem"][::core::mem::offset_of!(inode, i_rwsem) - 152usize]; + ["Offset of field: inode::dirtied_when"] + [::core::mem::offset_of!(inode, dirtied_when) - 192usize]; + ["Offset of field: inode::dirtied_time_when"] + [::core::mem::offset_of!(inode, dirtied_time_when) - 200usize]; + ["Offset of field: inode::i_hash"][::core::mem::offset_of!(inode, i_hash) - 208usize]; + ["Offset of field: inode::i_io_list"][::core::mem::offset_of!(inode, i_io_list) - 224usize]; + ["Offset of field: inode::i_wb"][::core::mem::offset_of!(inode, i_wb) - 240usize]; + ["Offset of field: inode::i_wb_frn_winner"] + [::core::mem::offset_of!(inode, i_wb_frn_winner) - 248usize]; + ["Offset of field: inode::i_wb_frn_avg_time"] + [::core::mem::offset_of!(inode, i_wb_frn_avg_time) - 252usize]; + ["Offset of field: inode::i_wb_frn_history"] + [::core::mem::offset_of!(inode, i_wb_frn_history) - 254usize]; + ["Offset of field: inode::i_lru"][::core::mem::offset_of!(inode, i_lru) - 256usize]; + ["Offset of field: inode::i_sb_list"][::core::mem::offset_of!(inode, i_sb_list) - 272usize]; + ["Offset of field: inode::i_wb_list"][::core::mem::offset_of!(inode, i_wb_list) - 288usize]; + ["Offset of field: inode::i_version"][::core::mem::offset_of!(inode, i_version) - 320usize]; + ["Offset of field: inode::i_sequence"][::core::mem::offset_of!(inode, i_sequence) - 328usize]; + ["Offset of field: inode::i_count"][::core::mem::offset_of!(inode, i_count) - 336usize]; + ["Offset of field: inode::i_dio_count"][::core::mem::offset_of!(inode, i_dio_count) - 340usize]; + ["Offset of field: inode::i_writecount"] + [::core::mem::offset_of!(inode, i_writecount) - 344usize]; + ["Offset of field: inode::i_readcount"][::core::mem::offset_of!(inode, i_readcount) - 348usize]; + ["Offset of field: inode::i_flctx"][::core::mem::offset_of!(inode, i_flctx) - 360usize]; + ["Offset of field: inode::i_data"][::core::mem::offset_of!(inode, i_data) - 368usize]; + ["Offset of field: inode::i_devices"][::core::mem::offset_of!(inode, i_devices) - 568usize]; + ["Offset of field: inode::i_fsnotify_mask"] + [::core::mem::offset_of!(inode, i_fsnotify_mask) - 592usize]; + ["Offset of field: inode::i_fsnotify_marks"] + [::core::mem::offset_of!(inode, i_fsnotify_marks) - 600usize]; + ["Offset of field: inode::i_crypt_info"] + [::core::mem::offset_of!(inode, i_crypt_info) - 608usize]; + ["Offset of field: inode::i_verity_info"] + [::core::mem::offset_of!(inode, i_verity_info) - 616usize]; + ["Offset of field: inode::i_private"][::core::mem::offset_of!(inode, i_private) - 624usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_independent_access_range { + pub kobj: kobject, + pub sector: sector_t, + pub nr_sectors: sector_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_independent_access_range"] + [::core::mem::size_of::() - 80usize]; + ["Alignment of blk_independent_access_range"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_independent_access_range::kobj"] + [::core::mem::offset_of!(blk_independent_access_range, kobj) - 0usize]; + ["Offset of field: blk_independent_access_range::sector"] + [::core::mem::offset_of!(blk_independent_access_range, sector) - 64usize]; + ["Offset of field: blk_independent_access_range::nr_sectors"] + [::core::mem::offset_of!(blk_independent_access_range, nr_sectors) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blkg_policy_data { + pub blkg: *mut blkcg_gq, + pub plid: ::core::ffi::c_int, + pub online: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blkg_policy_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of blkg_policy_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blkg_policy_data::blkg"] + [::core::mem::offset_of!(blkg_policy_data, blkg) - 0usize]; + ["Offset of field: blkg_policy_data::plid"] + [::core::mem::offset_of!(blkg_policy_data, plid) - 8usize]; + ["Offset of field: blkg_policy_data::online"] + [::core::mem::offset_of!(blkg_policy_data, online) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blkcg_policy_data { + pub blkcg: *mut blkcg, + pub plid: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blkcg_policy_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of blkcg_policy_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blkcg_policy_data::blkcg"] + [::core::mem::offset_of!(blkcg_policy_data, blkcg) - 0usize]; + ["Offset of field: blkcg_policy_data::plid"] + [::core::mem::offset_of!(blkcg_policy_data, plid) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_cq { + pub q: *mut request_queue, + pub ioc: *mut io_context, + pub __bindgen_anon_1: io_cq__bindgen_ty_1, + pub __bindgen_anon_2: io_cq__bindgen_ty_2, + pub flags: ::core::ffi::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_cq__bindgen_ty_1 { + pub q_node: list_head, + pub __rcu_icq_cache: *mut kmem_cache, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_cq__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_cq__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_cq__bindgen_ty_1::q_node"] + [::core::mem::offset_of!(io_cq__bindgen_ty_1, q_node) - 0usize]; + ["Offset of field: io_cq__bindgen_ty_1::__rcu_icq_cache"] + [::core::mem::offset_of!(io_cq__bindgen_ty_1, __rcu_icq_cache) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_cq__bindgen_ty_2 { + pub ioc_node: hlist_node, + pub __rcu_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_cq__bindgen_ty_2"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_cq__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_cq__bindgen_ty_2::ioc_node"] + [::core::mem::offset_of!(io_cq__bindgen_ty_2, ioc_node) - 0usize]; + ["Offset of field: io_cq__bindgen_ty_2::__rcu_head"] + [::core::mem::offset_of!(io_cq__bindgen_ty_2, __rcu_head) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_cq"][::core::mem::size_of::() - 56usize]; + ["Alignment of io_cq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_cq::q"][::core::mem::offset_of!(io_cq, q) - 0usize]; + ["Offset of field: io_cq::ioc"][::core::mem::offset_of!(io_cq, ioc) - 8usize]; + ["Offset of field: io_cq::flags"][::core::mem::offset_of!(io_cq, flags) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct binfmt_misc { + pub entries: list_head, + pub entries_lock: rwlock_t, + pub enabled: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of binfmt_misc"][::core::mem::size_of::() - 32usize]; + ["Alignment of binfmt_misc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: binfmt_misc::entries"] + [::core::mem::offset_of!(binfmt_misc, entries) - 0usize]; + ["Offset of field: binfmt_misc::entries_lock"] + [::core::mem::offset_of!(binfmt_misc, entries_lock) - 16usize]; + ["Offset of field: binfmt_misc::enabled"] + [::core::mem::offset_of!(binfmt_misc, enabled) - 24usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct bvec_iter { + pub bi_sector: sector_t, + pub bi_size: ::core::ffi::c_uint, + pub bi_idx: ::core::ffi::c_uint, + pub bi_bvec_done: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bvec_iter"][::core::mem::size_of::() - 20usize]; + ["Alignment of bvec_iter"][::core::mem::align_of::() - 1usize]; + ["Offset of field: bvec_iter::bi_sector"] + [::core::mem::offset_of!(bvec_iter, bi_sector) - 0usize]; + ["Offset of field: bvec_iter::bi_size"][::core::mem::offset_of!(bvec_iter, bi_size) - 8usize]; + ["Offset of field: bvec_iter::bi_idx"][::core::mem::offset_of!(bvec_iter, bi_idx) - 12usize]; + ["Offset of field: bvec_iter::bi_bvec_done"] + [::core::mem::offset_of!(bvec_iter, bi_bvec_done) - 16usize]; +}; +pub type bio_end_io_t = ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bio_issue { + pub value: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio_issue"][::core::mem::size_of::() - 8usize]; + ["Alignment of bio_issue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bio_issue::value"][::core::mem::offset_of!(bio_issue, value) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bio_vec { + pub bv_page: *mut page, + pub bv_len: ::core::ffi::c_uint, + pub bv_offset: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio_vec"][::core::mem::size_of::() - 16usize]; + ["Alignment of bio_vec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bio_vec::bv_page"][::core::mem::offset_of!(bio_vec, bv_page) - 0usize]; + ["Offset of field: bio_vec::bv_len"][::core::mem::offset_of!(bio_vec, bv_len) - 8usize]; + ["Offset of field: bio_vec::bv_offset"][::core::mem::offset_of!(bio_vec, bv_offset) - 12usize]; +}; +#[repr(C)] +pub struct bio { + pub bi_next: *mut bio, + pub bi_bdev: *mut block_device, + pub bi_opf: blk_opf_t, + pub bi_flags: ::core::ffi::c_ushort, + pub bi_ioprio: ::core::ffi::c_ushort, + pub bi_write_hint: rw_hint, + pub bi_status: blk_status_t, + pub __bi_remaining: atomic_t, + pub bi_iter: bvec_iter, + pub __bindgen_anon_1: bio__bindgen_ty_1, + pub bi_end_io: bio_end_io_t, + pub bi_private: *mut ::core::ffi::c_void, + pub bi_blkg: *mut blkcg_gq, + pub bi_issue: bio_issue, + pub bi_iocost_cost: u64_, + pub bi_crypt_context: *mut bio_crypt_ctx, + pub bi_integrity: *mut bio_integrity_payload, + pub bi_vcnt: ::core::ffi::c_ushort, + pub bi_max_vecs: ::core::ffi::c_ushort, + pub __bi_cnt: atomic_t, + pub bi_io_vec: *mut bio_vec, + pub bi_pool: *mut bio_set, + pub bi_inline_vecs: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bio__bindgen_ty_1 { + pub bi_cookie: blk_qc_t, + pub __bi_nr_segments: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of bio__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bio__bindgen_ty_1::bi_cookie"] + [::core::mem::offset_of!(bio__bindgen_ty_1, bi_cookie) - 0usize]; + ["Offset of field: bio__bindgen_ty_1::__bi_nr_segments"] + [::core::mem::offset_of!(bio__bindgen_ty_1, __bi_nr_segments) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio"][::core::mem::size_of::() - 136usize]; + ["Alignment of bio"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bio::bi_next"][::core::mem::offset_of!(bio, bi_next) - 0usize]; + ["Offset of field: bio::bi_bdev"][::core::mem::offset_of!(bio, bi_bdev) - 8usize]; + ["Offset of field: bio::bi_opf"][::core::mem::offset_of!(bio, bi_opf) - 16usize]; + ["Offset of field: bio::bi_flags"][::core::mem::offset_of!(bio, bi_flags) - 20usize]; + ["Offset of field: bio::bi_ioprio"][::core::mem::offset_of!(bio, bi_ioprio) - 22usize]; + ["Offset of field: bio::bi_write_hint"][::core::mem::offset_of!(bio, bi_write_hint) - 24usize]; + ["Offset of field: bio::bi_status"][::core::mem::offset_of!(bio, bi_status) - 25usize]; + ["Offset of field: bio::__bi_remaining"] + [::core::mem::offset_of!(bio, __bi_remaining) - 28usize]; + ["Offset of field: bio::bi_iter"][::core::mem::offset_of!(bio, bi_iter) - 32usize]; + ["Offset of field: bio::bi_end_io"][::core::mem::offset_of!(bio, bi_end_io) - 56usize]; + ["Offset of field: bio::bi_private"][::core::mem::offset_of!(bio, bi_private) - 64usize]; + ["Offset of field: bio::bi_blkg"][::core::mem::offset_of!(bio, bi_blkg) - 72usize]; + ["Offset of field: bio::bi_issue"][::core::mem::offset_of!(bio, bi_issue) - 80usize]; + ["Offset of field: bio::bi_iocost_cost"] + [::core::mem::offset_of!(bio, bi_iocost_cost) - 88usize]; + ["Offset of field: bio::bi_crypt_context"] + [::core::mem::offset_of!(bio, bi_crypt_context) - 96usize]; + ["Offset of field: bio::bi_integrity"][::core::mem::offset_of!(bio, bi_integrity) - 104usize]; + ["Offset of field: bio::bi_vcnt"][::core::mem::offset_of!(bio, bi_vcnt) - 112usize]; + ["Offset of field: bio::bi_max_vecs"][::core::mem::offset_of!(bio, bi_max_vecs) - 114usize]; + ["Offset of field: bio::__bi_cnt"][::core::mem::offset_of!(bio, __bi_cnt) - 116usize]; + ["Offset of field: bio::bi_io_vec"][::core::mem::offset_of!(bio, bi_io_vec) - 120usize]; + ["Offset of field: bio::bi_pool"][::core::mem::offset_of!(bio, bi_pool) - 128usize]; + ["Offset of field: bio::bi_inline_vecs"] + [::core::mem::offset_of!(bio, bi_inline_vecs) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bio_alloc_cache { + pub free_list: *mut bio, + pub free_list_irq: *mut bio, + pub nr: ::core::ffi::c_uint, + pub nr_irq: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio_alloc_cache"][::core::mem::size_of::() - 24usize]; + ["Alignment of bio_alloc_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bio_alloc_cache::free_list"] + [::core::mem::offset_of!(bio_alloc_cache, free_list) - 0usize]; + ["Offset of field: bio_alloc_cache::free_list_irq"] + [::core::mem::offset_of!(bio_alloc_cache, free_list_irq) - 8usize]; + ["Offset of field: bio_alloc_cache::nr"] + [::core::mem::offset_of!(bio_alloc_cache, nr) - 16usize]; + ["Offset of field: bio_alloc_cache::nr_irq"] + [::core::mem::offset_of!(bio_alloc_cache, nr_irq) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bio_crypt_ctx { + pub bc_key: *const blk_crypto_key, + pub bc_dun: [u64_; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio_crypt_ctx"][::core::mem::size_of::() - 40usize]; + ["Alignment of bio_crypt_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bio_crypt_ctx::bc_key"] + [::core::mem::offset_of!(bio_crypt_ctx, bc_key) - 0usize]; + ["Offset of field: bio_crypt_ctx::bc_dun"] + [::core::mem::offset_of!(bio_crypt_ctx, bc_dun) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct bio_integrity_payload { + pub bip_bio: *mut bio, + pub bip_iter: bvec_iter, + pub bip_vcnt: ::core::ffi::c_ushort, + pub bip_max_vcnt: ::core::ffi::c_ushort, + pub bip_flags: ::core::ffi::c_ushort, + pub __bindgen_padding_0: [u8; 2usize], + pub bio_iter: bvec_iter, + pub bip_work: work_struct, + pub bip_vec: *mut bio_vec, + pub bip_inline_vecs: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio_integrity_payload"][::core::mem::size_of::() - 96usize]; + ["Alignment of bio_integrity_payload"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bio_integrity_payload::bip_bio"] + [::core::mem::offset_of!(bio_integrity_payload, bip_bio) - 0usize]; + ["Offset of field: bio_integrity_payload::bip_iter"] + [::core::mem::offset_of!(bio_integrity_payload, bip_iter) - 8usize]; + ["Offset of field: bio_integrity_payload::bip_vcnt"] + [::core::mem::offset_of!(bio_integrity_payload, bip_vcnt) - 28usize]; + ["Offset of field: bio_integrity_payload::bip_max_vcnt"] + [::core::mem::offset_of!(bio_integrity_payload, bip_max_vcnt) - 30usize]; + ["Offset of field: bio_integrity_payload::bip_flags"] + [::core::mem::offset_of!(bio_integrity_payload, bip_flags) - 32usize]; + ["Offset of field: bio_integrity_payload::bio_iter"] + [::core::mem::offset_of!(bio_integrity_payload, bio_iter) - 36usize]; + ["Offset of field: bio_integrity_payload::bip_work"] + [::core::mem::offset_of!(bio_integrity_payload, bip_work) - 56usize]; + ["Offset of field: bio_integrity_payload::bip_vec"] + [::core::mem::offset_of!(bio_integrity_payload, bip_vec) - 88usize]; + ["Offset of field: bio_integrity_payload::bip_inline_vecs"] + [::core::mem::offset_of!(bio_integrity_payload, bip_inline_vecs) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bio_list { + pub head: *mut bio, + pub tail: *mut bio, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio_list"][::core::mem::size_of::() - 16usize]; + ["Alignment of bio_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bio_list::head"][::core::mem::offset_of!(bio_list, head) - 0usize]; + ["Offset of field: bio_list::tail"][::core::mem::offset_of!(bio_list, tail) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iovec { + pub iov_base: *mut ::core::ffi::c_void, + pub iov_len: __kernel_size_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iovec"][::core::mem::size_of::() - 16usize]; + ["Alignment of iovec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iovec::iov_base"][::core::mem::offset_of!(iovec, iov_base) - 0usize]; + ["Offset of field: iovec::iov_len"][::core::mem::offset_of!(iovec, iov_len) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iov_iter { + pub iter_type: u8_, + pub nofault: bool_, + pub data_source: bool_, + pub iov_offset: usize, + pub __bindgen_anon_1: iov_iter__bindgen_ty_1, + pub __bindgen_anon_2: iov_iter__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iov_iter__bindgen_ty_1 { + pub __ubuf_iovec: iovec, + pub __bindgen_anon_1: iov_iter__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iov_iter__bindgen_ty_1__bindgen_ty_1 { + pub __bindgen_anon_1: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub count: usize, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub __iov: *const iovec, + pub kvec: *const kvec, + pub bvec: *const bio_vec, + pub folioq: *const folio_queue, + pub xarray: *mut xarray, + pub ubuf: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::__iov"][::core::mem::offset_of!( + iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + __iov + ) - 0usize]; + ["Offset of field: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::kvec"][::core::mem::offset_of!( + iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + kvec + ) - 0usize]; + ["Offset of field: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::bvec"][::core::mem::offset_of!( + iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + bvec + ) - 0usize]; + ["Offset of field: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::folioq"][::core::mem::offset_of!( + iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + folioq + ) - 0usize]; + ["Offset of field: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::xarray"][::core::mem::offset_of!( + iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + xarray + ) - 0usize]; + ["Offset of field: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::ubuf"][::core::mem::offset_of!( + iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + ubuf + ) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iov_iter__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of iov_iter__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iov_iter__bindgen_ty_1__bindgen_ty_1::count"] + [::core::mem::offset_of!(iov_iter__bindgen_ty_1__bindgen_ty_1, count) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iov_iter__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of iov_iter__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iov_iter__bindgen_ty_1::__ubuf_iovec"] + [::core::mem::offset_of!(iov_iter__bindgen_ty_1, __ubuf_iovec) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union iov_iter__bindgen_ty_2 { + pub nr_segs: ::core::ffi::c_ulong, + pub folioq_slot: u8_, + pub xarray_start: loff_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iov_iter__bindgen_ty_2"][::core::mem::size_of::() - 8usize]; + ["Alignment of iov_iter__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iov_iter__bindgen_ty_2::nr_segs"] + [::core::mem::offset_of!(iov_iter__bindgen_ty_2, nr_segs) - 0usize]; + ["Offset of field: iov_iter__bindgen_ty_2::folioq_slot"] + [::core::mem::offset_of!(iov_iter__bindgen_ty_2, folioq_slot) - 0usize]; + ["Offset of field: iov_iter__bindgen_ty_2::xarray_start"] + [::core::mem::offset_of!(iov_iter__bindgen_ty_2, xarray_start) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iov_iter"][::core::mem::size_of::() - 40usize]; + ["Alignment of iov_iter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iov_iter::iter_type"][::core::mem::offset_of!(iov_iter, iter_type) - 0usize]; + ["Offset of field: iov_iter::nofault"][::core::mem::offset_of!(iov_iter, nofault) - 1usize]; + ["Offset of field: iov_iter::data_source"] + [::core::mem::offset_of!(iov_iter, data_source) - 2usize]; + ["Offset of field: iov_iter::iov_offset"] + [::core::mem::offset_of!(iov_iter, iov_offset) - 8usize]; +}; +pub type mempool_alloc_t = ::core::option::Option< + unsafe extern "C" fn(arg1: gfp_t, arg2: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void, +>; +pub type mempool_free_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void, arg2: *mut ::core::ffi::c_void), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mempool_s { + pub lock: spinlock_t, + pub min_nr: ::core::ffi::c_int, + pub curr_nr: ::core::ffi::c_int, + pub elements: *mut *mut ::core::ffi::c_void, + pub pool_data: *mut ::core::ffi::c_void, + pub alloc: mempool_alloc_t, + pub free: mempool_free_t, + pub wait: wait_queue_head_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mempool_s"][::core::mem::size_of::() - 72usize]; + ["Alignment of mempool_s"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mempool_s::lock"][::core::mem::offset_of!(mempool_s, lock) - 0usize]; + ["Offset of field: mempool_s::min_nr"][::core::mem::offset_of!(mempool_s, min_nr) - 4usize]; + ["Offset of field: mempool_s::curr_nr"][::core::mem::offset_of!(mempool_s, curr_nr) - 8usize]; + ["Offset of field: mempool_s::elements"] + [::core::mem::offset_of!(mempool_s, elements) - 16usize]; + ["Offset of field: mempool_s::pool_data"] + [::core::mem::offset_of!(mempool_s, pool_data) - 24usize]; + ["Offset of field: mempool_s::alloc"][::core::mem::offset_of!(mempool_s, alloc) - 32usize]; + ["Offset of field: mempool_s::free"][::core::mem::offset_of!(mempool_s, free) - 40usize]; + ["Offset of field: mempool_s::wait"][::core::mem::offset_of!(mempool_s, wait) - 48usize]; +}; +pub type mempool_t = mempool_s; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bio_set { + pub bio_slab: *mut kmem_cache, + pub front_pad: ::core::ffi::c_uint, + pub cache: *mut bio_alloc_cache, + pub bio_pool: mempool_t, + pub bvec_pool: mempool_t, + pub bio_integrity_pool: mempool_t, + pub bvec_integrity_pool: mempool_t, + pub back_pad: ::core::ffi::c_uint, + pub rescue_lock: spinlock_t, + pub rescue_list: bio_list, + pub rescue_work: work_struct, + pub rescue_workqueue: *mut workqueue_struct, + pub cpuhp_dead: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bio_set"][::core::mem::size_of::() - 392usize]; + ["Alignment of bio_set"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bio_set::bio_slab"][::core::mem::offset_of!(bio_set, bio_slab) - 0usize]; + ["Offset of field: bio_set::front_pad"][::core::mem::offset_of!(bio_set, front_pad) - 8usize]; + ["Offset of field: bio_set::cache"][::core::mem::offset_of!(bio_set, cache) - 16usize]; + ["Offset of field: bio_set::bio_pool"][::core::mem::offset_of!(bio_set, bio_pool) - 24usize]; + ["Offset of field: bio_set::bvec_pool"][::core::mem::offset_of!(bio_set, bvec_pool) - 96usize]; + ["Offset of field: bio_set::bio_integrity_pool"] + [::core::mem::offset_of!(bio_set, bio_integrity_pool) - 168usize]; + ["Offset of field: bio_set::bvec_integrity_pool"] + [::core::mem::offset_of!(bio_set, bvec_integrity_pool) - 240usize]; + ["Offset of field: bio_set::back_pad"][::core::mem::offset_of!(bio_set, back_pad) - 312usize]; + ["Offset of field: bio_set::rescue_lock"] + [::core::mem::offset_of!(bio_set, rescue_lock) - 316usize]; + ["Offset of field: bio_set::rescue_list"] + [::core::mem::offset_of!(bio_set, rescue_list) - 320usize]; + ["Offset of field: bio_set::rescue_work"] + [::core::mem::offset_of!(bio_set, rescue_work) - 336usize]; + ["Offset of field: bio_set::rescue_workqueue"] + [::core::mem::offset_of!(bio_set, rescue_workqueue) - 368usize]; + ["Offset of field: bio_set::cpuhp_dead"] + [::core::mem::offset_of!(bio_set, cpuhp_dead) - 376usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_crypto_config { + pub crypto_mode: blk_crypto_mode_num, + pub data_unit_size: ::core::ffi::c_uint, + pub dun_bytes: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_crypto_config"][::core::mem::size_of::() - 12usize]; + ["Alignment of blk_crypto_config"][::core::mem::align_of::() - 4usize]; + ["Offset of field: blk_crypto_config::crypto_mode"] + [::core::mem::offset_of!(blk_crypto_config, crypto_mode) - 0usize]; + ["Offset of field: blk_crypto_config::data_unit_size"] + [::core::mem::offset_of!(blk_crypto_config, data_unit_size) - 4usize]; + ["Offset of field: blk_crypto_config::dun_bytes"] + [::core::mem::offset_of!(blk_crypto_config, dun_bytes) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_crypto_key { + pub crypto_cfg: blk_crypto_config, + pub data_unit_size_bits: ::core::ffi::c_uint, + pub size: ::core::ffi::c_uint, + pub raw: [u8_; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_crypto_key"][::core::mem::size_of::() - 84usize]; + ["Alignment of blk_crypto_key"][::core::mem::align_of::() - 4usize]; + ["Offset of field: blk_crypto_key::crypto_cfg"] + [::core::mem::offset_of!(blk_crypto_key, crypto_cfg) - 0usize]; + ["Offset of field: blk_crypto_key::data_unit_size_bits"] + [::core::mem::offset_of!(blk_crypto_key, data_unit_size_bits) - 12usize]; + ["Offset of field: blk_crypto_key::size"] + [::core::mem::offset_of!(blk_crypto_key, size) - 16usize]; + ["Offset of field: blk_crypto_key::raw"] + [::core::mem::offset_of!(blk_crypto_key, raw) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_crypto_keyslot { + pub slot_refs: atomic_t, + pub idle_slot_node: list_head, + pub hash_node: hlist_node, + pub key: *const blk_crypto_key, + pub profile: *mut blk_crypto_profile, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_crypto_keyslot"][::core::mem::size_of::() - 56usize]; + ["Alignment of blk_crypto_keyslot"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_crypto_keyslot::slot_refs"] + [::core::mem::offset_of!(blk_crypto_keyslot, slot_refs) - 0usize]; + ["Offset of field: blk_crypto_keyslot::idle_slot_node"] + [::core::mem::offset_of!(blk_crypto_keyslot, idle_slot_node) - 8usize]; + ["Offset of field: blk_crypto_keyslot::hash_node"] + [::core::mem::offset_of!(blk_crypto_keyslot, hash_node) - 24usize]; + ["Offset of field: blk_crypto_keyslot::key"] + [::core::mem::offset_of!(blk_crypto_keyslot, key) - 40usize]; + ["Offset of field: blk_crypto_keyslot::profile"] + [::core::mem::offset_of!(blk_crypto_keyslot, profile) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_crypto_ll_ops { + pub keyslot_program: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_crypto_profile, + arg2: *const blk_crypto_key, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub keyslot_evict: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_crypto_profile, + arg2: *const blk_crypto_key, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_crypto_ll_ops"][::core::mem::size_of::() - 16usize]; + ["Alignment of blk_crypto_ll_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_crypto_ll_ops::keyslot_program"] + [::core::mem::offset_of!(blk_crypto_ll_ops, keyslot_program) - 0usize]; + ["Offset of field: blk_crypto_ll_ops::keyslot_evict"] + [::core::mem::offset_of!(blk_crypto_ll_ops, keyslot_evict) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_crypto_profile { + pub ll_ops: blk_crypto_ll_ops, + pub max_dun_bytes_supported: ::core::ffi::c_uint, + pub modes_supported: [::core::ffi::c_uint; 5usize], + pub dev: *mut device, + pub num_slots: ::core::ffi::c_uint, + pub lock: rw_semaphore, + pub lockdep_key: lock_class_key, + pub idle_slots_wait_queue: wait_queue_head_t, + pub idle_slots: list_head, + pub idle_slots_lock: spinlock_t, + pub slot_hashtable: *mut hlist_head, + pub log_slot_ht_size: ::core::ffi::c_uint, + pub slots: *mut blk_crypto_keyslot, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_crypto_profile"][::core::mem::size_of::() - 168usize]; + ["Alignment of blk_crypto_profile"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_crypto_profile::ll_ops"] + [::core::mem::offset_of!(blk_crypto_profile, ll_ops) - 0usize]; + ["Offset of field: blk_crypto_profile::max_dun_bytes_supported"] + [::core::mem::offset_of!(blk_crypto_profile, max_dun_bytes_supported) - 16usize]; + ["Offset of field: blk_crypto_profile::modes_supported"] + [::core::mem::offset_of!(blk_crypto_profile, modes_supported) - 20usize]; + ["Offset of field: blk_crypto_profile::dev"] + [::core::mem::offset_of!(blk_crypto_profile, dev) - 40usize]; + ["Offset of field: blk_crypto_profile::num_slots"] + [::core::mem::offset_of!(blk_crypto_profile, num_slots) - 48usize]; + ["Offset of field: blk_crypto_profile::lock"] + [::core::mem::offset_of!(blk_crypto_profile, lock) - 56usize]; + ["Offset of field: blk_crypto_profile::lockdep_key"] + [::core::mem::offset_of!(blk_crypto_profile, lockdep_key) - 96usize]; + ["Offset of field: blk_crypto_profile::idle_slots_wait_queue"] + [::core::mem::offset_of!(blk_crypto_profile, idle_slots_wait_queue) - 96usize]; + ["Offset of field: blk_crypto_profile::idle_slots"] + [::core::mem::offset_of!(blk_crypto_profile, idle_slots) - 120usize]; + ["Offset of field: blk_crypto_profile::idle_slots_lock"] + [::core::mem::offset_of!(blk_crypto_profile, idle_slots_lock) - 136usize]; + ["Offset of field: blk_crypto_profile::slot_hashtable"] + [::core::mem::offset_of!(blk_crypto_profile, slot_hashtable) - 144usize]; + ["Offset of field: blk_crypto_profile::log_slot_ht_size"] + [::core::mem::offset_of!(blk_crypto_profile, log_slot_ht_size) - 152usize]; + ["Offset of field: blk_crypto_profile::slots"] + [::core::mem::offset_of!(blk_crypto_profile, slots) - 160usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_flush_queue { + pub mq_flush_lock: spinlock_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub rq_status: blk_status_t, + pub flush_pending_since: ::core::ffi::c_ulong, + pub flush_queue: [list_head; 2usize], + pub flush_data_in_flight: ::core::ffi::c_ulong, + pub flush_rq: *mut request, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_flush_queue"][::core::mem::size_of::() - 64usize]; + ["Alignment of blk_flush_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_flush_queue::mq_flush_lock"] + [::core::mem::offset_of!(blk_flush_queue, mq_flush_lock) - 0usize]; + ["Offset of field: blk_flush_queue::rq_status"] + [::core::mem::offset_of!(blk_flush_queue, rq_status) - 5usize]; + ["Offset of field: blk_flush_queue::flush_pending_since"] + [::core::mem::offset_of!(blk_flush_queue, flush_pending_since) - 8usize]; + ["Offset of field: blk_flush_queue::flush_queue"] + [::core::mem::offset_of!(blk_flush_queue, flush_queue) - 16usize]; + ["Offset of field: blk_flush_queue::flush_data_in_flight"] + [::core::mem::offset_of!(blk_flush_queue, flush_data_in_flight) - 48usize]; + ["Offset of field: blk_flush_queue::flush_rq"] + [::core::mem::offset_of!(blk_flush_queue, flush_rq) - 56usize]; +}; +impl blk_flush_queue { + #[inline] + pub fn flush_pending_idx(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_flush_pending_idx(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn flush_pending_idx_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_flush_pending_idx_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn flush_running_idx(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_flush_running_idx(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn flush_running_idx_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_flush_running_idx_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + flush_pending_idx: ::core::ffi::c_uint, + flush_running_idx: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let flush_pending_idx: u32 = unsafe { ::core::mem::transmute(flush_pending_idx) }; + flush_pending_idx as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let flush_running_idx: u32 = unsafe { ::core::mem::transmute(flush_running_idx) }; + flush_running_idx as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_holder_ops { + pub mark_dead: + ::core::option::Option, + pub sync: ::core::option::Option, + pub freeze: + ::core::option::Option ::core::ffi::c_int>, + pub thaw: + ::core::option::Option ::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_holder_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of blk_holder_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_holder_ops::mark_dead"] + [::core::mem::offset_of!(blk_holder_ops, mark_dead) - 0usize]; + ["Offset of field: blk_holder_ops::sync"] + [::core::mem::offset_of!(blk_holder_ops, sync) - 8usize]; + ["Offset of field: blk_holder_ops::freeze"] + [::core::mem::offset_of!(blk_holder_ops, freeze) - 16usize]; + ["Offset of field: blk_holder_ops::thaw"] + [::core::mem::offset_of!(blk_holder_ops, thaw) - 24usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct blk_independent_access_ranges { + pub kobj: kobject, + pub sysfs_registered: bool_, + pub nr_ia_ranges: ::core::ffi::c_uint, + pub ia_range: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_independent_access_ranges"] + [::core::mem::size_of::() - 72usize]; + ["Alignment of blk_independent_access_ranges"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_independent_access_ranges::kobj"] + [::core::mem::offset_of!(blk_independent_access_ranges, kobj) - 0usize]; + ["Offset of field: blk_independent_access_ranges::sysfs_registered"] + [::core::mem::offset_of!(blk_independent_access_ranges, sysfs_registered) - 64usize]; + ["Offset of field: blk_independent_access_ranges::nr_ia_ranges"] + [::core::mem::offset_of!(blk_independent_access_ranges, nr_ia_ranges) - 68usize]; + ["Offset of field: blk_independent_access_ranges::ia_range"] + [::core::mem::offset_of!(blk_independent_access_ranges, ia_range) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_integrity { + pub flags: ::core::ffi::c_uchar, + pub csum_type: blk_integrity_checksum, + pub tuple_size: ::core::ffi::c_uchar, + pub pi_offset: ::core::ffi::c_uchar, + pub interval_exp: ::core::ffi::c_uchar, + pub tag_size: ::core::ffi::c_uchar, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_integrity"][::core::mem::size_of::() - 6usize]; + ["Alignment of blk_integrity"][::core::mem::align_of::() - 1usize]; + ["Offset of field: blk_integrity::flags"] + [::core::mem::offset_of!(blk_integrity, flags) - 0usize]; + ["Offset of field: blk_integrity::csum_type"] + [::core::mem::offset_of!(blk_integrity, csum_type) - 1usize]; + ["Offset of field: blk_integrity::tuple_size"] + [::core::mem::offset_of!(blk_integrity, tuple_size) - 2usize]; + ["Offset of field: blk_integrity::pi_offset"] + [::core::mem::offset_of!(blk_integrity, pi_offset) - 3usize]; + ["Offset of field: blk_integrity::interval_exp"] + [::core::mem::offset_of!(blk_integrity, interval_exp) - 4usize]; + ["Offset of field: blk_integrity::tag_size"] + [::core::mem::offset_of!(blk_integrity, tag_size) - 5usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rq_qos { + pub ops: *const rq_qos_ops, + pub disk: *mut gendisk, + pub id: rq_qos_id, + pub next: *mut rq_qos, + pub debugfs_dir: *mut dentry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rq_qos"][::core::mem::size_of::() - 40usize]; + ["Alignment of rq_qos"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rq_qos::ops"][::core::mem::offset_of!(rq_qos, ops) - 0usize]; + ["Offset of field: rq_qos::disk"][::core::mem::offset_of!(rq_qos, disk) - 8usize]; + ["Offset of field: rq_qos::id"][::core::mem::offset_of!(rq_qos, id) - 16usize]; + ["Offset of field: rq_qos::next"][::core::mem::offset_of!(rq_qos, next) - 24usize]; + ["Offset of field: rq_qos::debugfs_dir"] + [::core::mem::offset_of!(rq_qos, debugfs_dir) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_mq_alloc_data { + pub q: *mut request_queue, + pub flags: blk_mq_req_flags_t, + pub shallow_depth: ::core::ffi::c_uint, + pub cmd_flags: blk_opf_t, + pub rq_flags: req_flags_t, + pub nr_tags: ::core::ffi::c_uint, + pub cached_rqs: *mut rq_list, + pub ctx: *mut blk_mq_ctx, + pub hctx: *mut blk_mq_hw_ctx, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_alloc_data"][::core::mem::size_of::() - 56usize]; + ["Alignment of blk_mq_alloc_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_alloc_data::q"] + [::core::mem::offset_of!(blk_mq_alloc_data, q) - 0usize]; + ["Offset of field: blk_mq_alloc_data::flags"] + [::core::mem::offset_of!(blk_mq_alloc_data, flags) - 8usize]; + ["Offset of field: blk_mq_alloc_data::shallow_depth"] + [::core::mem::offset_of!(blk_mq_alloc_data, shallow_depth) - 12usize]; + ["Offset of field: blk_mq_alloc_data::cmd_flags"] + [::core::mem::offset_of!(blk_mq_alloc_data, cmd_flags) - 16usize]; + ["Offset of field: blk_mq_alloc_data::rq_flags"] + [::core::mem::offset_of!(blk_mq_alloc_data, rq_flags) - 20usize]; + ["Offset of field: blk_mq_alloc_data::nr_tags"] + [::core::mem::offset_of!(blk_mq_alloc_data, nr_tags) - 24usize]; + ["Offset of field: blk_mq_alloc_data::cached_rqs"] + [::core::mem::offset_of!(blk_mq_alloc_data, cached_rqs) - 32usize]; + ["Offset of field: blk_mq_alloc_data::ctx"] + [::core::mem::offset_of!(blk_mq_alloc_data, ctx) - 40usize]; + ["Offset of field: blk_mq_alloc_data::hctx"] + [::core::mem::offset_of!(blk_mq_alloc_data, hctx) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_mq_ctx { + pub __bindgen_anon_1: blk_mq_ctx__bindgen_ty_1, + pub cpu: ::core::ffi::c_uint, + pub index_hw: [::core::ffi::c_ushort; 3usize], + pub hctxs: [*mut blk_mq_hw_ctx; 3usize], + pub queue: *mut request_queue, + pub ctxs: *mut blk_mq_ctxs, + pub kobj: kobject, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_mq_ctx__bindgen_ty_1 { + pub lock: spinlock_t, + pub rq_lists: [list_head; 3usize], + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_ctx__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of blk_mq_ctx__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_ctx__bindgen_ty_1::lock"] + [::core::mem::offset_of!(blk_mq_ctx__bindgen_ty_1, lock) - 0usize]; + ["Offset of field: blk_mq_ctx__bindgen_ty_1::rq_lists"] + [::core::mem::offset_of!(blk_mq_ctx__bindgen_ty_1, rq_lists) - 8usize]; +}; +impl blk_mq_ctx__bindgen_ty_1 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_ctx"][::core::mem::size_of::() - 192usize]; + ["Alignment of blk_mq_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_ctx::cpu"][::core::mem::offset_of!(blk_mq_ctx, cpu) - 64usize]; + ["Offset of field: blk_mq_ctx::index_hw"] + [::core::mem::offset_of!(blk_mq_ctx, index_hw) - 68usize]; + ["Offset of field: blk_mq_ctx::hctxs"][::core::mem::offset_of!(blk_mq_ctx, hctxs) - 80usize]; + ["Offset of field: blk_mq_ctx::queue"][::core::mem::offset_of!(blk_mq_ctx, queue) - 104usize]; + ["Offset of field: blk_mq_ctx::ctxs"][::core::mem::offset_of!(blk_mq_ctx, ctxs) - 112usize]; + ["Offset of field: blk_mq_ctx::kobj"][::core::mem::offset_of!(blk_mq_ctx, kobj) - 120usize]; +}; +impl blk_mq_ctx { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_mq_ctxs { + pub kobj: kobject, + pub queue_ctx: *mut blk_mq_ctx, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_ctxs"][::core::mem::size_of::() - 72usize]; + ["Alignment of blk_mq_ctxs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_ctxs::kobj"][::core::mem::offset_of!(blk_mq_ctxs, kobj) - 0usize]; + ["Offset of field: blk_mq_ctxs::queue_ctx"] + [::core::mem::offset_of!(blk_mq_ctxs, queue_ctx) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_mq_debugfs_attr { + pub name: *const ::core::ffi::c_char, + pub mode: umode_t, + pub show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *mut seq_file, + ) -> ::core::ffi::c_int, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_char, + arg3: usize, + arg4: *mut loff_t, + ) -> isize, + >, + pub seq_ops: *const seq_operations, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_debugfs_attr"][::core::mem::size_of::() - 40usize]; + ["Alignment of blk_mq_debugfs_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_debugfs_attr::name"] + [::core::mem::offset_of!(blk_mq_debugfs_attr, name) - 0usize]; + ["Offset of field: blk_mq_debugfs_attr::mode"] + [::core::mem::offset_of!(blk_mq_debugfs_attr, mode) - 8usize]; + ["Offset of field: blk_mq_debugfs_attr::show"] + [::core::mem::offset_of!(blk_mq_debugfs_attr, show) - 16usize]; + ["Offset of field: blk_mq_debugfs_attr::write"] + [::core::mem::offset_of!(blk_mq_debugfs_attr, write) - 24usize]; + ["Offset of field: blk_mq_debugfs_attr::seq_ops"] + [::core::mem::offset_of!(blk_mq_debugfs_attr, seq_ops) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sbitmap { + pub depth: ::core::ffi::c_uint, + pub shift: ::core::ffi::c_uint, + pub map_nr: ::core::ffi::c_uint, + pub round_robin: bool_, + pub map: *mut sbitmap_word, + pub alloc_hint: *mut ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sbitmap"][::core::mem::size_of::() - 32usize]; + ["Alignment of sbitmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sbitmap::depth"][::core::mem::offset_of!(sbitmap, depth) - 0usize]; + ["Offset of field: sbitmap::shift"][::core::mem::offset_of!(sbitmap, shift) - 4usize]; + ["Offset of field: sbitmap::map_nr"][::core::mem::offset_of!(sbitmap, map_nr) - 8usize]; + ["Offset of field: sbitmap::round_robin"] + [::core::mem::offset_of!(sbitmap, round_robin) - 12usize]; + ["Offset of field: sbitmap::map"][::core::mem::offset_of!(sbitmap, map) - 16usize]; + ["Offset of field: sbitmap::alloc_hint"] + [::core::mem::offset_of!(sbitmap, alloc_hint) - 24usize]; +}; +pub type wait_queue_entry_t = wait_queue_entry; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_mq_hw_ctx { + pub __bindgen_anon_1: blk_mq_hw_ctx__bindgen_ty_1, + pub run_work: delayed_work, + pub cpumask: cpumask_var_t, + pub next_cpu: ::core::ffi::c_int, + pub next_cpu_batch: ::core::ffi::c_int, + pub flags: ::core::ffi::c_ulong, + pub sched_data: *mut ::core::ffi::c_void, + pub queue: *mut request_queue, + pub fq: *mut blk_flush_queue, + pub driver_data: *mut ::core::ffi::c_void, + pub ctx_map: sbitmap, + pub dispatch_from: *mut blk_mq_ctx, + pub dispatch_busy: ::core::ffi::c_uint, + pub type_: ::core::ffi::c_ushort, + pub nr_ctx: ::core::ffi::c_ushort, + pub ctxs: *mut *mut blk_mq_ctx, + pub dispatch_wait_lock: spinlock_t, + pub dispatch_wait: wait_queue_entry_t, + pub wait_index: atomic_t, + pub tags: *mut blk_mq_tags, + pub sched_tags: *mut blk_mq_tags, + pub numa_node: ::core::ffi::c_uint, + pub queue_num: ::core::ffi::c_uint, + pub nr_active: atomic_t, + pub cpuhp_online: hlist_node, + pub cpuhp_dead: hlist_node, + pub kobj: kobject, + pub debugfs_dir: *mut dentry, + pub sched_debugfs_dir: *mut dentry, + pub hctx_list: list_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_mq_hw_ctx__bindgen_ty_1 { + pub lock: spinlock_t, + pub dispatch: list_head, + pub state: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_hw_ctx__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of blk_mq_hw_ctx__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_hw_ctx__bindgen_ty_1::lock"] + [::core::mem::offset_of!(blk_mq_hw_ctx__bindgen_ty_1, lock) - 0usize]; + ["Offset of field: blk_mq_hw_ctx__bindgen_ty_1::dispatch"] + [::core::mem::offset_of!(blk_mq_hw_ctx__bindgen_ty_1, dispatch) - 8usize]; + ["Offset of field: blk_mq_hw_ctx__bindgen_ty_1::state"] + [::core::mem::offset_of!(blk_mq_hw_ctx__bindgen_ty_1, state) - 24usize]; +}; +impl blk_mq_hw_ctx__bindgen_ty_1 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_hw_ctx"][::core::mem::size_of::() - 512usize]; + ["Alignment of blk_mq_hw_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_hw_ctx::run_work"] + [::core::mem::offset_of!(blk_mq_hw_ctx, run_work) - 64usize]; + ["Offset of field: blk_mq_hw_ctx::cpumask"] + [::core::mem::offset_of!(blk_mq_hw_ctx, cpumask) - 152usize]; + ["Offset of field: blk_mq_hw_ctx::next_cpu"] + [::core::mem::offset_of!(blk_mq_hw_ctx, next_cpu) - 160usize]; + ["Offset of field: blk_mq_hw_ctx::next_cpu_batch"] + [::core::mem::offset_of!(blk_mq_hw_ctx, next_cpu_batch) - 164usize]; + ["Offset of field: blk_mq_hw_ctx::flags"] + [::core::mem::offset_of!(blk_mq_hw_ctx, flags) - 168usize]; + ["Offset of field: blk_mq_hw_ctx::sched_data"] + [::core::mem::offset_of!(blk_mq_hw_ctx, sched_data) - 176usize]; + ["Offset of field: blk_mq_hw_ctx::queue"] + [::core::mem::offset_of!(blk_mq_hw_ctx, queue) - 184usize]; + ["Offset of field: blk_mq_hw_ctx::fq"][::core::mem::offset_of!(blk_mq_hw_ctx, fq) - 192usize]; + ["Offset of field: blk_mq_hw_ctx::driver_data"] + [::core::mem::offset_of!(blk_mq_hw_ctx, driver_data) - 200usize]; + ["Offset of field: blk_mq_hw_ctx::ctx_map"] + [::core::mem::offset_of!(blk_mq_hw_ctx, ctx_map) - 208usize]; + ["Offset of field: blk_mq_hw_ctx::dispatch_from"] + [::core::mem::offset_of!(blk_mq_hw_ctx, dispatch_from) - 240usize]; + ["Offset of field: blk_mq_hw_ctx::dispatch_busy"] + [::core::mem::offset_of!(blk_mq_hw_ctx, dispatch_busy) - 248usize]; + ["Offset of field: blk_mq_hw_ctx::type_"] + [::core::mem::offset_of!(blk_mq_hw_ctx, type_) - 252usize]; + ["Offset of field: blk_mq_hw_ctx::nr_ctx"] + [::core::mem::offset_of!(blk_mq_hw_ctx, nr_ctx) - 254usize]; + ["Offset of field: blk_mq_hw_ctx::ctxs"] + [::core::mem::offset_of!(blk_mq_hw_ctx, ctxs) - 256usize]; + ["Offset of field: blk_mq_hw_ctx::dispatch_wait_lock"] + [::core::mem::offset_of!(blk_mq_hw_ctx, dispatch_wait_lock) - 264usize]; + ["Offset of field: blk_mq_hw_ctx::dispatch_wait"] + [::core::mem::offset_of!(blk_mq_hw_ctx, dispatch_wait) - 272usize]; + ["Offset of field: blk_mq_hw_ctx::wait_index"] + [::core::mem::offset_of!(blk_mq_hw_ctx, wait_index) - 312usize]; + ["Offset of field: blk_mq_hw_ctx::tags"] + [::core::mem::offset_of!(blk_mq_hw_ctx, tags) - 320usize]; + ["Offset of field: blk_mq_hw_ctx::sched_tags"] + [::core::mem::offset_of!(blk_mq_hw_ctx, sched_tags) - 328usize]; + ["Offset of field: blk_mq_hw_ctx::numa_node"] + [::core::mem::offset_of!(blk_mq_hw_ctx, numa_node) - 336usize]; + ["Offset of field: blk_mq_hw_ctx::queue_num"] + [::core::mem::offset_of!(blk_mq_hw_ctx, queue_num) - 340usize]; + ["Offset of field: blk_mq_hw_ctx::nr_active"] + [::core::mem::offset_of!(blk_mq_hw_ctx, nr_active) - 344usize]; + ["Offset of field: blk_mq_hw_ctx::cpuhp_online"] + [::core::mem::offset_of!(blk_mq_hw_ctx, cpuhp_online) - 352usize]; + ["Offset of field: blk_mq_hw_ctx::cpuhp_dead"] + [::core::mem::offset_of!(blk_mq_hw_ctx, cpuhp_dead) - 368usize]; + ["Offset of field: blk_mq_hw_ctx::kobj"] + [::core::mem::offset_of!(blk_mq_hw_ctx, kobj) - 384usize]; + ["Offset of field: blk_mq_hw_ctx::debugfs_dir"] + [::core::mem::offset_of!(blk_mq_hw_ctx, debugfs_dir) - 448usize]; + ["Offset of field: blk_mq_hw_ctx::sched_debugfs_dir"] + [::core::mem::offset_of!(blk_mq_hw_ctx, sched_debugfs_dir) - 456usize]; + ["Offset of field: blk_mq_hw_ctx::hctx_list"] + [::core::mem::offset_of!(blk_mq_hw_ctx, hctx_list) - 464usize]; +}; +impl blk_mq_hw_ctx { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_mq_ops { + pub queue_rq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_mq_hw_ctx, + arg2: *const blk_mq_queue_data, + ) -> blk_status_t, + >, + pub commit_rqs: ::core::option::Option, + pub queue_rqs: ::core::option::Option, + pub get_budget: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request_queue) -> ::core::ffi::c_int, + >, + pub put_budget: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request_queue, arg2: ::core::ffi::c_int), + >, + pub set_rq_budget_token: + ::core::option::Option, + pub get_rq_budget_token: + ::core::option::Option ::core::ffi::c_int>, + pub timeout: + ::core::option::Option blk_eh_timer_return>, + pub poll: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_mq_hw_ctx, + arg2: *mut io_comp_batch, + ) -> ::core::ffi::c_int, + >, + pub complete: ::core::option::Option, + pub init_hctx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_mq_hw_ctx, + arg2: *mut ::core::ffi::c_void, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub exit_hctx: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut blk_mq_hw_ctx, arg2: ::core::ffi::c_uint), + >, + pub init_request: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_mq_tag_set, + arg2: *mut request, + arg3: ::core::ffi::c_uint, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub exit_request: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_mq_tag_set, + arg2: *mut request, + arg3: ::core::ffi::c_uint, + ), + >, + pub cleanup_rq: ::core::option::Option, + pub busy: ::core::option::Option bool_>, + pub map_queues: ::core::option::Option, + pub show_rq: + ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_ops"][::core::mem::size_of::() - 144usize]; + ["Alignment of blk_mq_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_ops::queue_rq"] + [::core::mem::offset_of!(blk_mq_ops, queue_rq) - 0usize]; + ["Offset of field: blk_mq_ops::commit_rqs"] + [::core::mem::offset_of!(blk_mq_ops, commit_rqs) - 8usize]; + ["Offset of field: blk_mq_ops::queue_rqs"] + [::core::mem::offset_of!(blk_mq_ops, queue_rqs) - 16usize]; + ["Offset of field: blk_mq_ops::get_budget"] + [::core::mem::offset_of!(blk_mq_ops, get_budget) - 24usize]; + ["Offset of field: blk_mq_ops::put_budget"] + [::core::mem::offset_of!(blk_mq_ops, put_budget) - 32usize]; + ["Offset of field: blk_mq_ops::set_rq_budget_token"] + [::core::mem::offset_of!(blk_mq_ops, set_rq_budget_token) - 40usize]; + ["Offset of field: blk_mq_ops::get_rq_budget_token"] + [::core::mem::offset_of!(blk_mq_ops, get_rq_budget_token) - 48usize]; + ["Offset of field: blk_mq_ops::timeout"] + [::core::mem::offset_of!(blk_mq_ops, timeout) - 56usize]; + ["Offset of field: blk_mq_ops::poll"][::core::mem::offset_of!(blk_mq_ops, poll) - 64usize]; + ["Offset of field: blk_mq_ops::complete"] + [::core::mem::offset_of!(blk_mq_ops, complete) - 72usize]; + ["Offset of field: blk_mq_ops::init_hctx"] + [::core::mem::offset_of!(blk_mq_ops, init_hctx) - 80usize]; + ["Offset of field: blk_mq_ops::exit_hctx"] + [::core::mem::offset_of!(blk_mq_ops, exit_hctx) - 88usize]; + ["Offset of field: blk_mq_ops::init_request"] + [::core::mem::offset_of!(blk_mq_ops, init_request) - 96usize]; + ["Offset of field: blk_mq_ops::exit_request"] + [::core::mem::offset_of!(blk_mq_ops, exit_request) - 104usize]; + ["Offset of field: blk_mq_ops::cleanup_rq"] + [::core::mem::offset_of!(blk_mq_ops, cleanup_rq) - 112usize]; + ["Offset of field: blk_mq_ops::busy"][::core::mem::offset_of!(blk_mq_ops, busy) - 120usize]; + ["Offset of field: blk_mq_ops::map_queues"] + [::core::mem::offset_of!(blk_mq_ops, map_queues) - 128usize]; + ["Offset of field: blk_mq_ops::show_rq"] + [::core::mem::offset_of!(blk_mq_ops, show_rq) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_mq_queue_data { + pub rq: *mut request, + pub last: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_queue_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of blk_mq_queue_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_queue_data::rq"] + [::core::mem::offset_of!(blk_mq_queue_data, rq) - 0usize]; + ["Offset of field: blk_mq_queue_data::last"] + [::core::mem::offset_of!(blk_mq_queue_data, last) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sbitmap_queue { + pub sb: sbitmap, + pub wake_batch: ::core::ffi::c_uint, + pub wake_index: atomic_t, + pub ws: *mut sbq_wait_state, + pub ws_active: atomic_t, + pub min_shallow_depth: ::core::ffi::c_uint, + pub completion_cnt: atomic_t, + pub wakeup_cnt: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sbitmap_queue"][::core::mem::size_of::() - 64usize]; + ["Alignment of sbitmap_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sbitmap_queue::sb"][::core::mem::offset_of!(sbitmap_queue, sb) - 0usize]; + ["Offset of field: sbitmap_queue::wake_batch"] + [::core::mem::offset_of!(sbitmap_queue, wake_batch) - 32usize]; + ["Offset of field: sbitmap_queue::wake_index"] + [::core::mem::offset_of!(sbitmap_queue, wake_index) - 36usize]; + ["Offset of field: sbitmap_queue::ws"][::core::mem::offset_of!(sbitmap_queue, ws) - 40usize]; + ["Offset of field: sbitmap_queue::ws_active"] + [::core::mem::offset_of!(sbitmap_queue, ws_active) - 48usize]; + ["Offset of field: sbitmap_queue::min_shallow_depth"] + [::core::mem::offset_of!(sbitmap_queue, min_shallow_depth) - 52usize]; + ["Offset of field: sbitmap_queue::completion_cnt"] + [::core::mem::offset_of!(sbitmap_queue, completion_cnt) - 56usize]; + ["Offset of field: sbitmap_queue::wakeup_cnt"] + [::core::mem::offset_of!(sbitmap_queue, wakeup_cnt) - 60usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_mq_tags { + pub nr_tags: ::core::ffi::c_uint, + pub nr_reserved_tags: ::core::ffi::c_uint, + pub active_queues: ::core::ffi::c_uint, + pub bitmap_tags: sbitmap_queue, + pub breserved_tags: sbitmap_queue, + pub rqs: *mut *mut request, + pub static_rqs: *mut *mut request, + pub page_list: list_head, + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_mq_tags"][::core::mem::size_of::() - 184usize]; + ["Alignment of blk_mq_tags"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_mq_tags::nr_tags"] + [::core::mem::offset_of!(blk_mq_tags, nr_tags) - 0usize]; + ["Offset of field: blk_mq_tags::nr_reserved_tags"] + [::core::mem::offset_of!(blk_mq_tags, nr_reserved_tags) - 4usize]; + ["Offset of field: blk_mq_tags::active_queues"] + [::core::mem::offset_of!(blk_mq_tags, active_queues) - 8usize]; + ["Offset of field: blk_mq_tags::bitmap_tags"] + [::core::mem::offset_of!(blk_mq_tags, bitmap_tags) - 16usize]; + ["Offset of field: blk_mq_tags::breserved_tags"] + [::core::mem::offset_of!(blk_mq_tags, breserved_tags) - 80usize]; + ["Offset of field: blk_mq_tags::rqs"][::core::mem::offset_of!(blk_mq_tags, rqs) - 144usize]; + ["Offset of field: blk_mq_tags::static_rqs"] + [::core::mem::offset_of!(blk_mq_tags, static_rqs) - 152usize]; + ["Offset of field: blk_mq_tags::page_list"] + [::core::mem::offset_of!(blk_mq_tags, page_list) - 160usize]; + ["Offset of field: blk_mq_tags::lock"][::core::mem::offset_of!(blk_mq_tags, lock) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rq_list { + pub head: *mut request, + pub tail: *mut request, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rq_list"][::core::mem::size_of::() - 16usize]; + ["Alignment of rq_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rq_list::head"][::core::mem::offset_of!(rq_list, head) - 0usize]; + ["Offset of field: rq_list::tail"][::core::mem::offset_of!(rq_list, tail) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_plug { + pub mq_list: rq_list, + pub cached_rqs: rq_list, + pub cur_ktime: u64_, + pub nr_ios: ::core::ffi::c_ushort, + pub rq_count: ::core::ffi::c_ushort, + pub multiple_queues: bool_, + pub has_elevator: bool_, + pub cb_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_plug"][::core::mem::size_of::() - 64usize]; + ["Alignment of blk_plug"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_plug::mq_list"][::core::mem::offset_of!(blk_plug, mq_list) - 0usize]; + ["Offset of field: blk_plug::cached_rqs"] + [::core::mem::offset_of!(blk_plug, cached_rqs) - 16usize]; + ["Offset of field: blk_plug::cur_ktime"] + [::core::mem::offset_of!(blk_plug, cur_ktime) - 32usize]; + ["Offset of field: blk_plug::nr_ios"][::core::mem::offset_of!(blk_plug, nr_ios) - 40usize]; + ["Offset of field: blk_plug::rq_count"][::core::mem::offset_of!(blk_plug, rq_count) - 42usize]; + ["Offset of field: blk_plug::multiple_queues"] + [::core::mem::offset_of!(blk_plug, multiple_queues) - 44usize]; + ["Offset of field: blk_plug::has_elevator"] + [::core::mem::offset_of!(blk_plug, has_elevator) - 45usize]; + ["Offset of field: blk_plug::cb_list"][::core::mem::offset_of!(blk_plug, cb_list) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blk_queue_stats { + pub callbacks: list_head, + pub lock: spinlock_t, + pub accounting: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_queue_stats"][::core::mem::size_of::() - 24usize]; + ["Alignment of blk_queue_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_queue_stats::callbacks"] + [::core::mem::offset_of!(blk_queue_stats, callbacks) - 0usize]; + ["Offset of field: blk_queue_stats::lock"] + [::core::mem::offset_of!(blk_queue_stats, lock) - 16usize]; + ["Offset of field: blk_queue_stats::accounting"] + [::core::mem::offset_of!(blk_queue_stats, accounting) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_trace { + pub trace_state: ::core::ffi::c_int, + pub rchan: *mut rchan, + pub sequence: *mut ::core::ffi::c_ulong, + pub msg_data: *mut ::core::ffi::c_uchar, + pub act_mask: u16_, + pub start_lba: u64_, + pub end_lba: u64_, + pub pid: u32_, + pub dev: u32_, + pub dir: *mut dentry, + pub running_list: list_head, + pub dropped: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_trace"][::core::mem::size_of::() - 96usize]; + ["Alignment of blk_trace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_trace::trace_state"] + [::core::mem::offset_of!(blk_trace, trace_state) - 0usize]; + ["Offset of field: blk_trace::rchan"][::core::mem::offset_of!(blk_trace, rchan) - 8usize]; + ["Offset of field: blk_trace::sequence"] + [::core::mem::offset_of!(blk_trace, sequence) - 16usize]; + ["Offset of field: blk_trace::msg_data"] + [::core::mem::offset_of!(blk_trace, msg_data) - 24usize]; + ["Offset of field: blk_trace::act_mask"] + [::core::mem::offset_of!(blk_trace, act_mask) - 32usize]; + ["Offset of field: blk_trace::start_lba"] + [::core::mem::offset_of!(blk_trace, start_lba) - 40usize]; + ["Offset of field: blk_trace::end_lba"][::core::mem::offset_of!(blk_trace, end_lba) - 48usize]; + ["Offset of field: blk_trace::pid"][::core::mem::offset_of!(blk_trace, pid) - 56usize]; + ["Offset of field: blk_trace::dev"][::core::mem::offset_of!(blk_trace, dev) - 60usize]; + ["Offset of field: blk_trace::dir"][::core::mem::offset_of!(blk_trace, dir) - 64usize]; + ["Offset of field: blk_trace::running_list"] + [::core::mem::offset_of!(blk_trace, running_list) - 72usize]; + ["Offset of field: blk_trace::dropped"][::core::mem::offset_of!(blk_trace, dropped) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blk_zone { + pub start: __u64, + pub len: __u64, + pub wp: __u64, + pub type_: __u8, + pub cond: __u8, + pub non_seq: __u8, + pub reset: __u8, + pub resv: [__u8; 4usize], + pub capacity: __u64, + pub reserved: [__u8; 24usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blk_zone"][::core::mem::size_of::() - 64usize]; + ["Alignment of blk_zone"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blk_zone::start"][::core::mem::offset_of!(blk_zone, start) - 0usize]; + ["Offset of field: blk_zone::len"][::core::mem::offset_of!(blk_zone, len) - 8usize]; + ["Offset of field: blk_zone::wp"][::core::mem::offset_of!(blk_zone, wp) - 16usize]; + ["Offset of field: blk_zone::type_"][::core::mem::offset_of!(blk_zone, type_) - 24usize]; + ["Offset of field: blk_zone::cond"][::core::mem::offset_of!(blk_zone, cond) - 25usize]; + ["Offset of field: blk_zone::non_seq"][::core::mem::offset_of!(blk_zone, non_seq) - 26usize]; + ["Offset of field: blk_zone::reset"][::core::mem::offset_of!(blk_zone, reset) - 27usize]; + ["Offset of field: blk_zone::resv"][::core::mem::offset_of!(blk_zone, resv) - 28usize]; + ["Offset of field: blk_zone::capacity"][::core::mem::offset_of!(blk_zone, capacity) - 32usize]; + ["Offset of field: blk_zone::reserved"][::core::mem::offset_of!(blk_zone, reserved) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_subsys_state { + pub cgroup: *mut cgroup, + pub ss: *mut cgroup_subsys, + pub refcnt: percpu_ref, + pub sibling: list_head, + pub children: list_head, + pub rstat_css_node: list_head, + pub id: ::core::ffi::c_int, + pub flags: ::core::ffi::c_uint, + pub serial_nr: u64_, + pub online_cnt: atomic_t, + pub destroy_work: work_struct, + pub destroy_rwork: rcu_work, + pub parent: *mut cgroup_subsys_state, + pub nr_descendants: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_subsys_state"][::core::mem::size_of::() - 208usize]; + ["Alignment of cgroup_subsys_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_subsys_state::cgroup"] + [::core::mem::offset_of!(cgroup_subsys_state, cgroup) - 0usize]; + ["Offset of field: cgroup_subsys_state::ss"] + [::core::mem::offset_of!(cgroup_subsys_state, ss) - 8usize]; + ["Offset of field: cgroup_subsys_state::refcnt"] + [::core::mem::offset_of!(cgroup_subsys_state, refcnt) - 16usize]; + ["Offset of field: cgroup_subsys_state::sibling"] + [::core::mem::offset_of!(cgroup_subsys_state, sibling) - 32usize]; + ["Offset of field: cgroup_subsys_state::children"] + [::core::mem::offset_of!(cgroup_subsys_state, children) - 48usize]; + ["Offset of field: cgroup_subsys_state::rstat_css_node"] + [::core::mem::offset_of!(cgroup_subsys_state, rstat_css_node) - 64usize]; + ["Offset of field: cgroup_subsys_state::id"] + [::core::mem::offset_of!(cgroup_subsys_state, id) - 80usize]; + ["Offset of field: cgroup_subsys_state::flags"] + [::core::mem::offset_of!(cgroup_subsys_state, flags) - 84usize]; + ["Offset of field: cgroup_subsys_state::serial_nr"] + [::core::mem::offset_of!(cgroup_subsys_state, serial_nr) - 88usize]; + ["Offset of field: cgroup_subsys_state::online_cnt"] + [::core::mem::offset_of!(cgroup_subsys_state, online_cnt) - 96usize]; + ["Offset of field: cgroup_subsys_state::destroy_work"] + [::core::mem::offset_of!(cgroup_subsys_state, destroy_work) - 104usize]; + ["Offset of field: cgroup_subsys_state::destroy_rwork"] + [::core::mem::offset_of!(cgroup_subsys_state, destroy_rwork) - 136usize]; + ["Offset of field: cgroup_subsys_state::parent"] + [::core::mem::offset_of!(cgroup_subsys_state, parent) - 192usize]; + ["Offset of field: cgroup_subsys_state::nr_descendants"] + [::core::mem::offset_of!(cgroup_subsys_state, nr_descendants) - 200usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blkcg { + pub css: cgroup_subsys_state, + pub lock: spinlock_t, + pub online_pin: refcount_t, + pub congestion_count: atomic_t, + pub blkg_tree: xarray, + pub blkg_hint: *mut blkcg_gq, + pub blkg_list: hlist_head, + pub cpd: [*mut blkcg_policy_data; 6usize], + pub all_blkcgs_node: list_head, + pub lhead: *mut llist_head, + pub fc_app_id: [::core::ffi::c_char; 129usize], + pub cgwb_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blkcg"][::core::mem::size_of::() - 480usize]; + ["Alignment of blkcg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blkcg::css"][::core::mem::offset_of!(blkcg, css) - 0usize]; + ["Offset of field: blkcg::lock"][::core::mem::offset_of!(blkcg, lock) - 208usize]; + ["Offset of field: blkcg::online_pin"][::core::mem::offset_of!(blkcg, online_pin) - 212usize]; + ["Offset of field: blkcg::congestion_count"] + [::core::mem::offset_of!(blkcg, congestion_count) - 216usize]; + ["Offset of field: blkcg::blkg_tree"][::core::mem::offset_of!(blkcg, blkg_tree) - 224usize]; + ["Offset of field: blkcg::blkg_hint"][::core::mem::offset_of!(blkcg, blkg_hint) - 240usize]; + ["Offset of field: blkcg::blkg_list"][::core::mem::offset_of!(blkcg, blkg_list) - 248usize]; + ["Offset of field: blkcg::cpd"][::core::mem::offset_of!(blkcg, cpd) - 256usize]; + ["Offset of field: blkcg::all_blkcgs_node"] + [::core::mem::offset_of!(blkcg, all_blkcgs_node) - 304usize]; + ["Offset of field: blkcg::lhead"][::core::mem::offset_of!(blkcg, lhead) - 320usize]; + ["Offset of field: blkcg::fc_app_id"][::core::mem::offset_of!(blkcg, fc_app_id) - 328usize]; + ["Offset of field: blkcg::cgwb_list"][::core::mem::offset_of!(blkcg, cgwb_list) - 464usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blkg_iostat { + pub bytes: [u64_; 3usize], + pub ios: [u64_; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blkg_iostat"][::core::mem::size_of::() - 48usize]; + ["Alignment of blkg_iostat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blkg_iostat::bytes"][::core::mem::offset_of!(blkg_iostat, bytes) - 0usize]; + ["Offset of field: blkg_iostat::ios"][::core::mem::offset_of!(blkg_iostat, ios) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct blkg_iostat_set { + pub sync: u64_stats_sync, + pub blkg: *mut blkcg_gq, + pub lnode: llist_node, + pub lqueued: ::core::ffi::c_int, + pub cur: blkg_iostat, + pub last: blkg_iostat, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blkg_iostat_set"][::core::mem::size_of::() - 120usize]; + ["Alignment of blkg_iostat_set"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blkg_iostat_set::sync"] + [::core::mem::offset_of!(blkg_iostat_set, sync) - 0usize]; + ["Offset of field: blkg_iostat_set::blkg"] + [::core::mem::offset_of!(blkg_iostat_set, blkg) - 0usize]; + ["Offset of field: blkg_iostat_set::lnode"] + [::core::mem::offset_of!(blkg_iostat_set, lnode) - 8usize]; + ["Offset of field: blkg_iostat_set::lqueued"] + [::core::mem::offset_of!(blkg_iostat_set, lqueued) - 16usize]; + ["Offset of field: blkg_iostat_set::cur"] + [::core::mem::offset_of!(blkg_iostat_set, cur) - 24usize]; + ["Offset of field: blkg_iostat_set::last"] + [::core::mem::offset_of!(blkg_iostat_set, last) - 72usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct blkcg_gq { + pub q: *mut request_queue, + pub q_node: list_head, + pub blkcg_node: hlist_node, + pub blkcg: *mut blkcg, + pub parent: *mut blkcg_gq, + pub refcnt: percpu_ref, + pub online: bool_, + pub iostat_cpu: *mut blkg_iostat_set, + pub iostat: blkg_iostat_set, + pub pd: [*mut blkg_policy_data; 6usize], + pub async_bio_lock: spinlock_t, + pub async_bios: bio_list, + pub __bindgen_anon_1: blkcg_gq__bindgen_ty_1, + pub use_delay: atomic_t, + pub delay_nsec: atomic64_t, + pub delay_start: atomic64_t, + pub last_delay: u64_, + pub last_use: ::core::ffi::c_int, + pub callback_head: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union blkcg_gq__bindgen_ty_1 { + pub async_bio_work: work_struct, + pub free_work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blkcg_gq__bindgen_ty_1"][::core::mem::size_of::() - 32usize]; + ["Alignment of blkcg_gq__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: blkcg_gq__bindgen_ty_1::async_bio_work"] + [::core::mem::offset_of!(blkcg_gq__bindgen_ty_1, async_bio_work) - 0usize]; + ["Offset of field: blkcg_gq__bindgen_ty_1::free_work"] + [::core::mem::offset_of!(blkcg_gq__bindgen_ty_1, free_work) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of blkcg_gq"][::core::mem::size_of::() - 368usize]; + ["Alignment of blkcg_gq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: blkcg_gq::q"][::core::mem::offset_of!(blkcg_gq, q) - 0usize]; + ["Offset of field: blkcg_gq::q_node"][::core::mem::offset_of!(blkcg_gq, q_node) - 8usize]; + ["Offset of field: blkcg_gq::blkcg_node"] + [::core::mem::offset_of!(blkcg_gq, blkcg_node) - 24usize]; + ["Offset of field: blkcg_gq::blkcg"][::core::mem::offset_of!(blkcg_gq, blkcg) - 40usize]; + ["Offset of field: blkcg_gq::parent"][::core::mem::offset_of!(blkcg_gq, parent) - 48usize]; + ["Offset of field: blkcg_gq::refcnt"][::core::mem::offset_of!(blkcg_gq, refcnt) - 56usize]; + ["Offset of field: blkcg_gq::online"][::core::mem::offset_of!(blkcg_gq, online) - 72usize]; + ["Offset of field: blkcg_gq::iostat_cpu"] + [::core::mem::offset_of!(blkcg_gq, iostat_cpu) - 80usize]; + ["Offset of field: blkcg_gq::iostat"][::core::mem::offset_of!(blkcg_gq, iostat) - 88usize]; + ["Offset of field: blkcg_gq::pd"][::core::mem::offset_of!(blkcg_gq, pd) - 208usize]; + ["Offset of field: blkcg_gq::async_bio_lock"] + [::core::mem::offset_of!(blkcg_gq, async_bio_lock) - 256usize]; + ["Offset of field: blkcg_gq::async_bios"] + [::core::mem::offset_of!(blkcg_gq, async_bios) - 264usize]; + ["Offset of field: blkcg_gq::use_delay"] + [::core::mem::offset_of!(blkcg_gq, use_delay) - 312usize]; + ["Offset of field: blkcg_gq::delay_nsec"] + [::core::mem::offset_of!(blkcg_gq, delay_nsec) - 320usize]; + ["Offset of field: blkcg_gq::delay_start"] + [::core::mem::offset_of!(blkcg_gq, delay_start) - 328usize]; + ["Offset of field: blkcg_gq::last_delay"] + [::core::mem::offset_of!(blkcg_gq, last_delay) - 336usize]; + ["Offset of field: blkcg_gq::last_use"][::core::mem::offset_of!(blkcg_gq, last_use) - 344usize]; + ["Offset of field: blkcg_gq::callback_head"] + [::core::mem::offset_of!(blkcg_gq, callback_head) - 352usize]; +}; +pub type report_zones_cb = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_zone, + arg2: ::core::ffi::c_uint, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct block_device_operations { + pub submit_bio: ::core::option::Option, + pub poll_bio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bio, + arg2: *mut io_comp_batch, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub open: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gendisk, arg2: blk_mode_t) -> ::core::ffi::c_int, + >, + pub release: ::core::option::Option, + pub ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut block_device, + arg2: blk_mode_t, + arg3: ::core::ffi::c_uint, + arg4: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub compat_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut block_device, + arg2: blk_mode_t, + arg3: ::core::ffi::c_uint, + arg4: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub check_events: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gendisk, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_uint, + >, + pub unlock_native_capacity: ::core::option::Option, + pub getgeo: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut block_device, arg2: *mut hd_geometry) -> ::core::ffi::c_int, + >, + pub set_read_only: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut block_device, arg2: bool_) -> ::core::ffi::c_int, + >, + pub free_disk: ::core::option::Option, + pub swap_slot_free_notify: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut block_device, arg2: ::core::ffi::c_ulong), + >, + pub report_zones: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gendisk, + arg2: sector_t, + arg3: ::core::ffi::c_uint, + arg4: report_zones_cb, + arg5: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub devnode: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gendisk, arg2: *mut umode_t) -> *mut ::core::ffi::c_char, + >, + pub get_unique_id: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gendisk, + arg2: *mut u8_, + arg3: blk_unique_id, + ) -> ::core::ffi::c_int, + >, + pub owner: *mut module, + pub pr_ops: *const pr_ops, + pub alternative_gpt_sector: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gendisk, arg2: *mut sector_t) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of block_device_operations"] + [::core::mem::size_of::() - 144usize]; + ["Alignment of block_device_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: block_device_operations::submit_bio"] + [::core::mem::offset_of!(block_device_operations, submit_bio) - 0usize]; + ["Offset of field: block_device_operations::poll_bio"] + [::core::mem::offset_of!(block_device_operations, poll_bio) - 8usize]; + ["Offset of field: block_device_operations::open"] + [::core::mem::offset_of!(block_device_operations, open) - 16usize]; + ["Offset of field: block_device_operations::release"] + [::core::mem::offset_of!(block_device_operations, release) - 24usize]; + ["Offset of field: block_device_operations::ioctl"] + [::core::mem::offset_of!(block_device_operations, ioctl) - 32usize]; + ["Offset of field: block_device_operations::compat_ioctl"] + [::core::mem::offset_of!(block_device_operations, compat_ioctl) - 40usize]; + ["Offset of field: block_device_operations::check_events"] + [::core::mem::offset_of!(block_device_operations, check_events) - 48usize]; + ["Offset of field: block_device_operations::unlock_native_capacity"] + [::core::mem::offset_of!(block_device_operations, unlock_native_capacity) - 56usize]; + ["Offset of field: block_device_operations::getgeo"] + [::core::mem::offset_of!(block_device_operations, getgeo) - 64usize]; + ["Offset of field: block_device_operations::set_read_only"] + [::core::mem::offset_of!(block_device_operations, set_read_only) - 72usize]; + ["Offset of field: block_device_operations::free_disk"] + [::core::mem::offset_of!(block_device_operations, free_disk) - 80usize]; + ["Offset of field: block_device_operations::swap_slot_free_notify"] + [::core::mem::offset_of!(block_device_operations, swap_slot_free_notify) - 88usize]; + ["Offset of field: block_device_operations::report_zones"] + [::core::mem::offset_of!(block_device_operations, report_zones) - 96usize]; + ["Offset of field: block_device_operations::devnode"] + [::core::mem::offset_of!(block_device_operations, devnode) - 104usize]; + ["Offset of field: block_device_operations::get_unique_id"] + [::core::mem::offset_of!(block_device_operations, get_unique_id) - 112usize]; + ["Offset of field: block_device_operations::owner"] + [::core::mem::offset_of!(block_device_operations, owner) - 120usize]; + ["Offset of field: block_device_operations::pr_ops"] + [::core::mem::offset_of!(block_device_operations, pr_ops) - 128usize]; + ["Offset of field: block_device_operations::alternative_gpt_sector"] + [::core::mem::offset_of!(block_device_operations, alternative_gpt_sector) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_active_lock { + pub ptr: *mut ::core::ffi::c_void, + pub id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_active_lock"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_active_lock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_active_lock::ptr"] + [::core::mem::offset_of!(bpf_active_lock, ptr) - 0usize]; + ["Offset of field: bpf_active_lock::id"][::core::mem::offset_of!(bpf_active_lock, id) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_map { + pub ops: *const bpf_map_ops, + pub inner_map_meta: *mut bpf_map, + pub security: *mut ::core::ffi::c_void, + pub map_type: bpf_map_type, + pub key_size: u32_, + pub value_size: u32_, + pub max_entries: u32_, + pub map_extra: u64_, + pub map_flags: u32_, + pub id: u32_, + pub record: *mut btf_record, + pub numa_node: ::core::ffi::c_int, + pub btf_key_type_id: u32_, + pub btf_value_type_id: u32_, + pub btf_vmlinux_value_type_id: u32_, + pub btf: *mut btf, + pub objcg: *mut obj_cgroup, + pub name: [::core::ffi::c_char; 16usize], + pub freeze_mutex: mutex, + pub refcnt: atomic64_t, + pub usercnt: atomic64_t, + pub __bindgen_anon_1: bpf_map__bindgen_ty_1, + pub writecnt: atomic64_t, + pub owner: bpf_map__bindgen_ty_2, + pub bypass_spec_v1: bool_, + pub frozen: bool_, + pub free_after_mult_rcu_gp: bool_, + pub free_after_rcu_gp: bool_, + pub sleepable_refcnt: atomic64_t, + pub elem_count: *mut s64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_map__bindgen_ty_1 { + pub work: work_struct, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_map__bindgen_ty_1"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_map__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_map__bindgen_ty_1::work"] + [::core::mem::offset_of!(bpf_map__bindgen_ty_1, work) - 0usize]; + ["Offset of field: bpf_map__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(bpf_map__bindgen_ty_1, rcu) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_map__bindgen_ty_2 { + pub attach_func_proto: *const btf_type, + pub lock: spinlock_t, + pub type_: bpf_prog_type, + pub jited: bool_, + pub xdp_has_frags: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_map__bindgen_ty_2"][::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_map__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_map__bindgen_ty_2::attach_func_proto"] + [::core::mem::offset_of!(bpf_map__bindgen_ty_2, attach_func_proto) - 0usize]; + ["Offset of field: bpf_map__bindgen_ty_2::lock"] + [::core::mem::offset_of!(bpf_map__bindgen_ty_2, lock) - 8usize]; + ["Offset of field: bpf_map__bindgen_ty_2::type_"] + [::core::mem::offset_of!(bpf_map__bindgen_ty_2, type_) - 12usize]; + ["Offset of field: bpf_map__bindgen_ty_2::jited"] + [::core::mem::offset_of!(bpf_map__bindgen_ty_2, jited) - 16usize]; + ["Offset of field: bpf_map__bindgen_ty_2::xdp_has_frags"] + [::core::mem::offset_of!(bpf_map__bindgen_ty_2, xdp_has_frags) - 17usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_map"][::core::mem::size_of::() - 248usize]; + ["Alignment of bpf_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_map::ops"][::core::mem::offset_of!(bpf_map, ops) - 0usize]; + ["Offset of field: bpf_map::inner_map_meta"] + [::core::mem::offset_of!(bpf_map, inner_map_meta) - 8usize]; + ["Offset of field: bpf_map::security"][::core::mem::offset_of!(bpf_map, security) - 16usize]; + ["Offset of field: bpf_map::map_type"][::core::mem::offset_of!(bpf_map, map_type) - 24usize]; + ["Offset of field: bpf_map::key_size"][::core::mem::offset_of!(bpf_map, key_size) - 28usize]; + ["Offset of field: bpf_map::value_size"] + [::core::mem::offset_of!(bpf_map, value_size) - 32usize]; + ["Offset of field: bpf_map::max_entries"] + [::core::mem::offset_of!(bpf_map, max_entries) - 36usize]; + ["Offset of field: bpf_map::map_extra"][::core::mem::offset_of!(bpf_map, map_extra) - 40usize]; + ["Offset of field: bpf_map::map_flags"][::core::mem::offset_of!(bpf_map, map_flags) - 48usize]; + ["Offset of field: bpf_map::id"][::core::mem::offset_of!(bpf_map, id) - 52usize]; + ["Offset of field: bpf_map::record"][::core::mem::offset_of!(bpf_map, record) - 56usize]; + ["Offset of field: bpf_map::numa_node"][::core::mem::offset_of!(bpf_map, numa_node) - 64usize]; + ["Offset of field: bpf_map::btf_key_type_id"] + [::core::mem::offset_of!(bpf_map, btf_key_type_id) - 68usize]; + ["Offset of field: bpf_map::btf_value_type_id"] + [::core::mem::offset_of!(bpf_map, btf_value_type_id) - 72usize]; + ["Offset of field: bpf_map::btf_vmlinux_value_type_id"] + [::core::mem::offset_of!(bpf_map, btf_vmlinux_value_type_id) - 76usize]; + ["Offset of field: bpf_map::btf"][::core::mem::offset_of!(bpf_map, btf) - 80usize]; + ["Offset of field: bpf_map::objcg"][::core::mem::offset_of!(bpf_map, objcg) - 88usize]; + ["Offset of field: bpf_map::name"][::core::mem::offset_of!(bpf_map, name) - 96usize]; + ["Offset of field: bpf_map::freeze_mutex"] + [::core::mem::offset_of!(bpf_map, freeze_mutex) - 112usize]; + ["Offset of field: bpf_map::refcnt"][::core::mem::offset_of!(bpf_map, refcnt) - 144usize]; + ["Offset of field: bpf_map::usercnt"][::core::mem::offset_of!(bpf_map, usercnt) - 152usize]; + ["Offset of field: bpf_map::writecnt"][::core::mem::offset_of!(bpf_map, writecnt) - 192usize]; + ["Offset of field: bpf_map::owner"][::core::mem::offset_of!(bpf_map, owner) - 200usize]; + ["Offset of field: bpf_map::bypass_spec_v1"] + [::core::mem::offset_of!(bpf_map, bypass_spec_v1) - 224usize]; + ["Offset of field: bpf_map::frozen"][::core::mem::offset_of!(bpf_map, frozen) - 225usize]; + ["Offset of field: bpf_map::free_after_mult_rcu_gp"] + [::core::mem::offset_of!(bpf_map, free_after_mult_rcu_gp) - 226usize]; + ["Offset of field: bpf_map::free_after_rcu_gp"] + [::core::mem::offset_of!(bpf_map, free_after_rcu_gp) - 227usize]; + ["Offset of field: bpf_map::sleepable_refcnt"] + [::core::mem::offset_of!(bpf_map, sleepable_refcnt) - 232usize]; + ["Offset of field: bpf_map::elem_count"] + [::core::mem::offset_of!(bpf_map, elem_count) - 240usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct maple_tree { + pub __bindgen_anon_1: maple_tree__bindgen_ty_1, + pub ma_flags: ::core::ffi::c_uint, + pub ma_root: *mut ::core::ffi::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union maple_tree__bindgen_ty_1 { + pub ma_lock: spinlock_t, + pub ma_external_lock: lockdep_map_p, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of maple_tree__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of maple_tree__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: maple_tree__bindgen_ty_1::ma_lock"] + [::core::mem::offset_of!(maple_tree__bindgen_ty_1, ma_lock) - 0usize]; + ["Offset of field: maple_tree__bindgen_ty_1::ma_external_lock"] + [::core::mem::offset_of!(maple_tree__bindgen_ty_1, ma_external_lock) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of maple_tree"][::core::mem::size_of::() - 16usize]; + ["Alignment of maple_tree"][::core::mem::align_of::() - 8usize]; + ["Offset of field: maple_tree::ma_flags"] + [::core::mem::offset_of!(maple_tree, ma_flags) - 4usize]; + ["Offset of field: maple_tree::ma_root"][::core::mem::offset_of!(maple_tree, ma_root) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_arena { + pub map: bpf_map, + pub user_vm_start: u64_, + pub user_vm_end: u64_, + pub kern_vm: *mut vm_struct, + pub mt: maple_tree, + pub vma_list: list_head, + pub lock: mutex, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_arena"][::core::mem::size_of::() - 336usize]; + ["Alignment of bpf_arena"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_arena::map"][::core::mem::offset_of!(bpf_arena, map) - 0usize]; + ["Offset of field: bpf_arena::user_vm_start"] + [::core::mem::offset_of!(bpf_arena, user_vm_start) - 248usize]; + ["Offset of field: bpf_arena::user_vm_end"] + [::core::mem::offset_of!(bpf_arena, user_vm_end) - 256usize]; + ["Offset of field: bpf_arena::kern_vm"][::core::mem::offset_of!(bpf_arena, kern_vm) - 264usize]; + ["Offset of field: bpf_arena::mt"][::core::mem::offset_of!(bpf_arena, mt) - 272usize]; + ["Offset of field: bpf_arena::vma_list"] + [::core::mem::offset_of!(bpf_arena, vma_list) - 288usize]; + ["Offset of field: bpf_arena::lock"][::core::mem::offset_of!(bpf_arena, lock) - 304usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_func_model { + pub ret_size: u8_, + pub ret_flags: u8_, + pub nr_args: u8_, + pub arg_size: [u8_; 12usize], + pub arg_flags: [u8_; 12usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_func_model"][::core::mem::size_of::() - 27usize]; + ["Alignment of btf_func_model"][::core::mem::align_of::() - 1usize]; + ["Offset of field: btf_func_model::ret_size"] + [::core::mem::offset_of!(btf_func_model, ret_size) - 0usize]; + ["Offset of field: btf_func_model::ret_flags"] + [::core::mem::offset_of!(btf_func_model, ret_flags) - 1usize]; + ["Offset of field: btf_func_model::nr_args"] + [::core::mem::offset_of!(btf_func_model, nr_args) - 2usize]; + ["Offset of field: btf_func_model::arg_size"] + [::core::mem::offset_of!(btf_func_model, arg_size) - 3usize]; + ["Offset of field: btf_func_model::arg_flags"] + [::core::mem::offset_of!(btf_func_model, arg_flags) - 15usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr { + pub __bindgen_anon_1: bpf_attr__bindgen_ty_1, + pub __bindgen_anon_2: bpf_attr__bindgen_ty_2, + pub batch: bpf_attr__bindgen_ty_3, + pub __bindgen_anon_3: bpf_attr__bindgen_ty_4, + pub __bindgen_anon_4: bpf_attr__bindgen_ty_5, + pub __bindgen_anon_5: bpf_attr__bindgen_ty_6, + pub test: bpf_attr__bindgen_ty_7, + pub __bindgen_anon_6: bpf_attr__bindgen_ty_8, + pub info: bpf_attr__bindgen_ty_9, + pub query: bpf_attr__bindgen_ty_10, + pub raw_tracepoint: bpf_attr__bindgen_ty_11, + pub __bindgen_anon_7: bpf_attr__bindgen_ty_12, + pub task_fd_query: bpf_attr__bindgen_ty_13, + pub link_create: bpf_attr__bindgen_ty_14, + pub link_update: bpf_attr__bindgen_ty_15, + pub link_detach: bpf_attr__bindgen_ty_16, + pub enable_stats: bpf_attr__bindgen_ty_17, + pub iter_create: bpf_attr__bindgen_ty_18, + pub prog_bind_map: bpf_attr__bindgen_ty_19, + pub token_create: bpf_attr__bindgen_ty_20, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_1 { + pub map_type: __u32, + pub key_size: __u32, + pub value_size: __u32, + pub max_entries: __u32, + pub map_flags: __u32, + pub inner_map_fd: __u32, + pub numa_node: __u32, + pub map_name: [::core::ffi::c_char; 16usize], + pub map_ifindex: __u32, + pub btf_fd: __u32, + pub btf_key_type_id: __u32, + pub btf_value_type_id: __u32, + pub btf_vmlinux_value_type_id: __u32, + pub map_extra: __u64, + pub value_type_btf_obj_fd: __s32, + pub map_token_fd: __s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_1"][::core::mem::size_of::() - 80usize]; + ["Alignment of bpf_attr__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::map_type"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, map_type) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::key_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, key_size) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::value_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, value_size) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::max_entries"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, max_entries) - 12usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::map_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, map_flags) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::inner_map_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, inner_map_fd) - 20usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::numa_node"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, numa_node) - 24usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::map_name"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, map_name) - 28usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::map_ifindex"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, map_ifindex) - 44usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::btf_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, btf_fd) - 48usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::btf_key_type_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, btf_key_type_id) - 52usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::btf_value_type_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, btf_value_type_id) - 56usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::btf_vmlinux_value_type_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, btf_vmlinux_value_type_id) - 60usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::map_extra"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, map_extra) - 64usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::value_type_btf_obj_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, value_type_btf_obj_fd) - 72usize]; + ["Offset of field: bpf_attr__bindgen_ty_1::map_token_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_1, map_token_fd) - 76usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_2 { + pub map_fd: __u32, + pub key: __u64, + pub __bindgen_anon_1: bpf_attr__bindgen_ty_2__bindgen_ty_1, + pub flags: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_2__bindgen_ty_1 { + pub value: __u64, + pub next_key: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_attr__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_2__bindgen_ty_1::value"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_2__bindgen_ty_1, value) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_2__bindgen_ty_1::next_key"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_2__bindgen_ty_1, next_key) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_2"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_attr__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_2::map_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_2, map_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_2::key"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_2, key) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_2::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_2, flags) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_3 { + pub in_batch: __u64, + pub out_batch: __u64, + pub keys: __u64, + pub values: __u64, + pub count: __u32, + pub map_fd: __u32, + pub elem_flags: __u64, + pub flags: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_3"][::core::mem::size_of::() - 56usize]; + ["Alignment of bpf_attr__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::in_batch"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, in_batch) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::out_batch"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, out_batch) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::keys"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, keys) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::values"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, values) - 24usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::count"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, count) - 32usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::map_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, map_fd) - 36usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::elem_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, elem_flags) - 40usize]; + ["Offset of field: bpf_attr__bindgen_ty_3::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_3, flags) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_4 { + pub prog_type: __u32, + pub insn_cnt: __u32, + pub insns: __u64, + pub license: __u64, + pub log_level: __u32, + pub log_size: __u32, + pub log_buf: __u64, + pub kern_version: __u32, + pub prog_flags: __u32, + pub prog_name: [::core::ffi::c_char; 16usize], + pub prog_ifindex: __u32, + pub expected_attach_type: __u32, + pub prog_btf_fd: __u32, + pub func_info_rec_size: __u32, + pub func_info: __u64, + pub func_info_cnt: __u32, + pub line_info_rec_size: __u32, + pub line_info: __u64, + pub line_info_cnt: __u32, + pub attach_btf_id: __u32, + pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1, + pub core_relo_cnt: __u32, + pub fd_array: __u64, + pub core_relos: __u64, + pub core_relo_rec_size: __u32, + pub log_true_size: __u32, + pub prog_token_fd: __s32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 { + pub attach_prog_fd: __u32, + pub attach_btf_obj_fd: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_4__bindgen_ty_1::attach_prog_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4__bindgen_ty_1, attach_prog_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_4__bindgen_ty_1::attach_btf_obj_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4__bindgen_ty_1, attach_btf_obj_fd) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_4"][::core::mem::size_of::() - 152usize]; + ["Alignment of bpf_attr__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::prog_type"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, prog_type) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::insn_cnt"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, insn_cnt) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::insns"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, insns) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::license"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, license) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::log_level"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, log_level) - 24usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::log_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, log_size) - 28usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::log_buf"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, log_buf) - 32usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::kern_version"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, kern_version) - 40usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::prog_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, prog_flags) - 44usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::prog_name"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, prog_name) - 48usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::prog_ifindex"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, prog_ifindex) - 64usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::expected_attach_type"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, expected_attach_type) - 68usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::prog_btf_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, prog_btf_fd) - 72usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::func_info_rec_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, func_info_rec_size) - 76usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::func_info"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, func_info) - 80usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::func_info_cnt"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, func_info_cnt) - 88usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::line_info_rec_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, line_info_rec_size) - 92usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::line_info"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, line_info) - 96usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::line_info_cnt"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, line_info_cnt) - 104usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::attach_btf_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, attach_btf_id) - 108usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::core_relo_cnt"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, core_relo_cnt) - 116usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::fd_array"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, fd_array) - 120usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::core_relos"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, core_relos) - 128usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::core_relo_rec_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, core_relo_rec_size) - 136usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::log_true_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, log_true_size) - 140usize]; + ["Offset of field: bpf_attr__bindgen_ty_4::prog_token_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_4, prog_token_fd) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_5 { + pub pathname: __u64, + pub bpf_fd: __u32, + pub file_flags: __u32, + pub path_fd: __s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_5"][::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_attr__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_5::pathname"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_5, pathname) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_5::bpf_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_5, bpf_fd) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_5::file_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_5, file_flags) - 12usize]; + ["Offset of field: bpf_attr__bindgen_ty_5::path_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_5, path_fd) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_6 { + pub __bindgen_anon_1: bpf_attr__bindgen_ty_6__bindgen_ty_1, + pub attach_bpf_fd: __u32, + pub attach_type: __u32, + pub attach_flags: __u32, + pub replace_bpf_fd: __u32, + pub __bindgen_anon_2: bpf_attr__bindgen_ty_6__bindgen_ty_2, + pub expected_revision: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_6__bindgen_ty_1 { + pub target_fd: __u32, + pub target_ifindex: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_6__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_6__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_6__bindgen_ty_1::target_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6__bindgen_ty_1, target_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_6__bindgen_ty_1::target_ifindex"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6__bindgen_ty_1, target_ifindex) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_6__bindgen_ty_2 { + pub relative_fd: __u32, + pub relative_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_6__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_6__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_6__bindgen_ty_2::relative_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6__bindgen_ty_2, relative_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_6__bindgen_ty_2::relative_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6__bindgen_ty_2, relative_id) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_6"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_attr__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_6::attach_bpf_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6, attach_bpf_fd) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_6::attach_type"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6, attach_type) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_6::attach_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6, attach_flags) - 12usize]; + ["Offset of field: bpf_attr__bindgen_ty_6::replace_bpf_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6, replace_bpf_fd) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_6::expected_revision"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_6, expected_revision) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_7 { + pub prog_fd: __u32, + pub retval: __u32, + pub data_size_in: __u32, + pub data_size_out: __u32, + pub data_in: __u64, + pub data_out: __u64, + pub repeat: __u32, + pub duration: __u32, + pub ctx_size_in: __u32, + pub ctx_size_out: __u32, + pub ctx_in: __u64, + pub ctx_out: __u64, + pub flags: __u32, + pub cpu: __u32, + pub batch_size: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_7"][::core::mem::size_of::() - 80usize]; + ["Alignment of bpf_attr__bindgen_ty_7"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::prog_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, prog_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::retval"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, retval) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::data_size_in"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, data_size_in) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::data_size_out"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, data_size_out) - 12usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::data_in"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, data_in) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::data_out"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, data_out) - 24usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::repeat"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, repeat) - 32usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::duration"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, duration) - 36usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::ctx_size_in"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, ctx_size_in) - 40usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::ctx_size_out"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, ctx_size_out) - 44usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::ctx_in"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, ctx_in) - 48usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::ctx_out"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, ctx_out) - 56usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, flags) - 64usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::cpu"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, cpu) - 68usize]; + ["Offset of field: bpf_attr__bindgen_ty_7::batch_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_7, batch_size) - 72usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_8 { + pub __bindgen_anon_1: bpf_attr__bindgen_ty_8__bindgen_ty_1, + pub next_id: __u32, + pub open_flags: __u32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_8__bindgen_ty_1 { + pub start_id: __u32, + pub prog_id: __u32, + pub map_id: __u32, + pub btf_id: __u32, + pub link_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_8__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_8__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_8__bindgen_ty_1::start_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_8__bindgen_ty_1, start_id) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_8__bindgen_ty_1::prog_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_8__bindgen_ty_1, prog_id) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_8__bindgen_ty_1::map_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_8__bindgen_ty_1, map_id) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_8__bindgen_ty_1::btf_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_8__bindgen_ty_1, btf_id) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_8__bindgen_ty_1::link_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_8__bindgen_ty_1, link_id) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_8"][::core::mem::size_of::() - 12usize]; + ["Alignment of bpf_attr__bindgen_ty_8"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_8::next_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_8, next_id) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_8::open_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_8, open_flags) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_9 { + pub bpf_fd: __u32, + pub info_len: __u32, + pub info: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_9"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_attr__bindgen_ty_9"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_9::bpf_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_9, bpf_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_9::info_len"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_9, info_len) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_9::info"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_9, info) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_10 { + pub __bindgen_anon_1: bpf_attr__bindgen_ty_10__bindgen_ty_1, + pub attach_type: __u32, + pub query_flags: __u32, + pub attach_flags: __u32, + pub prog_ids: __u64, + pub __bindgen_anon_2: bpf_attr__bindgen_ty_10__bindgen_ty_2, + pub prog_attach_flags: __u64, + pub link_ids: __u64, + pub link_attach_flags: __u64, + pub revision: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_10__bindgen_ty_1 { + pub target_fd: __u32, + pub target_ifindex: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_10__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_10__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_10__bindgen_ty_1::target_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10__bindgen_ty_1, target_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_10__bindgen_ty_1::target_ifindex"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10__bindgen_ty_1, target_ifindex) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_10__bindgen_ty_2 { + pub prog_cnt: __u32, + pub count: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_10__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_10__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_10__bindgen_ty_2::prog_cnt"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10__bindgen_ty_2, prog_cnt) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_10__bindgen_ty_2::count"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10__bindgen_ty_2, count) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_10"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of bpf_attr__bindgen_ty_10"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::attach_type"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, attach_type) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::query_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, query_flags) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::attach_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, attach_flags) - 12usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::prog_ids"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, prog_ids) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::prog_attach_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, prog_attach_flags) - 32usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::link_ids"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, link_ids) - 40usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::link_attach_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, link_attach_flags) - 48usize]; + ["Offset of field: bpf_attr__bindgen_ty_10::revision"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_10, revision) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_11 { + pub name: __u64, + pub prog_fd: __u32, + pub cookie: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_11"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_attr__bindgen_ty_11"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_11::name"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_11, name) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_11::prog_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_11, prog_fd) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_11::cookie"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_11, cookie) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_12 { + pub btf: __u64, + pub btf_log_buf: __u64, + pub btf_size: __u32, + pub btf_log_size: __u32, + pub btf_log_level: __u32, + pub btf_log_true_size: __u32, + pub btf_flags: __u32, + pub btf_token_fd: __s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_12"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of bpf_attr__bindgen_ty_12"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf_log_buf"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf_log_buf) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf_size) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf_log_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf_log_size) - 20usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf_log_level"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf_log_level) - 24usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf_log_true_size"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf_log_true_size) - 28usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf_flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf_flags) - 32usize]; + ["Offset of field: bpf_attr__bindgen_ty_12::btf_token_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_12, btf_token_fd) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_13 { + pub pid: __u32, + pub fd: __u32, + pub flags: __u32, + pub buf_len: __u32, + pub buf: __u64, + pub prog_id: __u32, + pub fd_type: __u32, + pub probe_offset: __u64, + pub probe_addr: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_13"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_attr__bindgen_ty_13"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::pid"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, pid) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, fd) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, flags) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::buf_len"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, buf_len) - 12usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::buf"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, buf) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::prog_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, prog_id) - 24usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::fd_type"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, fd_type) - 28usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::probe_offset"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, probe_offset) - 32usize]; + ["Offset of field: bpf_attr__bindgen_ty_13::probe_addr"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_13, probe_addr) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14 { + pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_1, + pub __bindgen_anon_2: bpf_attr__bindgen_ty_14__bindgen_ty_2, + pub attach_type: __u32, + pub flags: __u32, + pub __bindgen_anon_3: bpf_attr__bindgen_ty_14__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_14__bindgen_ty_1 { + pub prog_fd: __u32, + pub map_fd: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_1::prog_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_1, prog_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_1::map_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_1, map_fd) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_14__bindgen_ty_2 { + pub target_fd: __u32, + pub target_ifindex: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_2::target_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_2, target_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_2::target_ifindex"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_2, target_ifindex) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_14__bindgen_ty_3 { + pub target_btf_id: __u32, + pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1, + pub perf_event: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2, + pub kprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3, + pub tracing: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4, + pub netfilter: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5, + pub tcx: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6, + pub uprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + pub netkit: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1 { + pub iter_info: __u64, + pub iter_info_len: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1::iter_info"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1, + iter_info + ) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1::iter_info_len"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1, + iter_info_len + ) + - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2 { + pub bpf_cookie: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2::bpf_cookie"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2, + bpf_cookie + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3 { + pub flags: __u32, + pub cnt: __u32, + pub syms: __u64, + pub addrs: __u64, + pub cookies: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3::flags"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3, + flags + ) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3::cnt"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3, + cnt + ) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3::syms"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3, + syms + ) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3::addrs"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3, + addrs + ) - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3::cookies"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3, + cookies + ) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4 { + pub target_btf_id: __u32, + pub cookie: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4::target_btf_id"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4, + target_btf_id + ) + - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4::cookie"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4, + cookie + ) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5 { + pub pf: __u32, + pub hooknum: __u32, + pub priority: __s32, + pub flags: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5::pf"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5, pf) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5::hooknum"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5, + hooknum + ) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5::priority"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5, + priority + ) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5::flags"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5, + flags + ) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6 { + pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1, + pub expected_revision: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 { + pub relative_fd: __u32, + pub relative_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1"] + [::core::mem::size_of::( + ) - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1"] + [::core::mem::align_of::( + ) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1::relative_fd"] [:: core :: mem :: offset_of ! (bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 , relative_fd) - 0usize] ; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1::relative_id"] [:: core :: mem :: offset_of ! (bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 , relative_id) - 0usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6::expected_revision"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6, + expected_revision + ) + - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7 { + pub path: __u64, + pub offsets: __u64, + pub ref_ctr_offsets: __u64, + pub cookies: __u64, + pub cnt: __u32, + pub flags: __u32, + pub pid: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7::path"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + path + ) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7::offsets"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + offsets + ) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7::ref_ctr_offsets"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + ref_ctr_offsets + ) + - 16usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7::cookies"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + cookies + ) - 24usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7::cnt"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + cnt + ) - 32usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7::flags"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + flags + ) - 36usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7::pid"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7, + pid + ) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8 { + pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1, + pub expected_revision: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 { + pub relative_fd: __u32, + pub relative_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1"] + [::core::mem::size_of::( + ) - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1"] + [::core::mem::align_of::( + ) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1::relative_fd"] [:: core :: mem :: offset_of ! (bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 , relative_fd) - 0usize] ; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1::relative_id"] [:: core :: mem :: offset_of ! (bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 , relative_id) - 0usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8::expected_revision"][::core::mem::offset_of!( + bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8, + expected_revision + ) + - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14__bindgen_ty_3"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_attr__bindgen_ty_14__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::target_btf_id"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, target_btf_id) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::perf_event"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, perf_event) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::kprobe_multi"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, kprobe_multi) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::tracing"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, tracing) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::netfilter"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, netfilter) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::tcx"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, tcx) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::uprobe_multi"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, uprobe_multi) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_14__bindgen_ty_3::netkit"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14__bindgen_ty_3, netkit) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_14"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of bpf_attr__bindgen_ty_14"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14::attach_type"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14, attach_type) - 8usize]; + ["Offset of field: bpf_attr__bindgen_ty_14::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_14, flags) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_attr__bindgen_ty_15 { + pub link_fd: __u32, + pub __bindgen_anon_1: bpf_attr__bindgen_ty_15__bindgen_ty_1, + pub flags: __u32, + pub __bindgen_anon_2: bpf_attr__bindgen_ty_15__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_15__bindgen_ty_1 { + pub new_prog_fd: __u32, + pub new_map_fd: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_15__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_15__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_15__bindgen_ty_1::new_prog_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_15__bindgen_ty_1, new_prog_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_15__bindgen_ty_1::new_map_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_15__bindgen_ty_1, new_map_fd) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_attr__bindgen_ty_15__bindgen_ty_2 { + pub old_prog_fd: __u32, + pub old_map_fd: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_15__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_15__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_15__bindgen_ty_2::old_prog_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_15__bindgen_ty_2, old_prog_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_15__bindgen_ty_2::old_map_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_15__bindgen_ty_2, old_map_fd) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_15"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_attr__bindgen_ty_15"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_15::link_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_15, link_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_15::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_15, flags) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_16 { + pub link_fd: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_16"][::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_16"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_16::link_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_16, link_fd) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_17 { + pub type_: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_17"][::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_attr__bindgen_ty_17"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_17::type_"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_17, type_) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_18 { + pub link_fd: __u32, + pub flags: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_18"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_attr__bindgen_ty_18"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_18::link_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_18, link_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_18::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_18, flags) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_19 { + pub prog_fd: __u32, + pub map_fd: __u32, + pub flags: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_19"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of bpf_attr__bindgen_ty_19"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_19::prog_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_19, prog_fd) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_19::map_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_19, map_fd) - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_19::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_19, flags) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_attr__bindgen_ty_20 { + pub flags: __u32, + pub bpffs_fd: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr__bindgen_ty_20"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_attr__bindgen_ty_20"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_attr__bindgen_ty_20::flags"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_20, flags) - 0usize]; + ["Offset of field: bpf_attr__bindgen_ty_20::bpffs_fd"] + [::core::mem::offset_of!(bpf_attr__bindgen_ty_20, bpffs_fd) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_attr"][::core::mem::size_of::() - 152usize]; + ["Alignment of bpf_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_attr::batch"][::core::mem::offset_of!(bpf_attr, batch) - 0usize]; + ["Offset of field: bpf_attr::test"][::core::mem::offset_of!(bpf_attr, test) - 0usize]; + ["Offset of field: bpf_attr::info"][::core::mem::offset_of!(bpf_attr, info) - 0usize]; + ["Offset of field: bpf_attr::query"][::core::mem::offset_of!(bpf_attr, query) - 0usize]; + ["Offset of field: bpf_attr::raw_tracepoint"] + [::core::mem::offset_of!(bpf_attr, raw_tracepoint) - 0usize]; + ["Offset of field: bpf_attr::task_fd_query"] + [::core::mem::offset_of!(bpf_attr, task_fd_query) - 0usize]; + ["Offset of field: bpf_attr::link_create"] + [::core::mem::offset_of!(bpf_attr, link_create) - 0usize]; + ["Offset of field: bpf_attr::link_update"] + [::core::mem::offset_of!(bpf_attr, link_update) - 0usize]; + ["Offset of field: bpf_attr::link_detach"] + [::core::mem::offset_of!(bpf_attr, link_detach) - 0usize]; + ["Offset of field: bpf_attr::enable_stats"] + [::core::mem::offset_of!(bpf_attr, enable_stats) - 0usize]; + ["Offset of field: bpf_attr::iter_create"] + [::core::mem::offset_of!(bpf_attr, iter_create) - 0usize]; + ["Offset of field: bpf_attr::prog_bind_map"] + [::core::mem::offset_of!(bpf_attr, prog_bind_map) - 0usize]; + ["Offset of field: bpf_attr::token_create"] + [::core::mem::offset_of!(bpf_attr, token_create) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_run_ctx {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_run_ctx"][::core::mem::size_of::() - 0usize]; + ["Alignment of bpf_run_ctx"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_link { + pub refcnt: atomic64_t, + pub id: u32_, + pub type_: bpf_link_type, + pub ops: *const bpf_link_ops, + pub prog: *mut bpf_prog, + pub __bindgen_anon_1: bpf_link__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_link__bindgen_ty_1 { + pub rcu: callback_head, + pub work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link__bindgen_ty_1"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_link__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(bpf_link__bindgen_ty_1, rcu) - 0usize]; + ["Offset of field: bpf_link__bindgen_ty_1::work"] + [::core::mem::offset_of!(bpf_link__bindgen_ty_1, work) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link"][::core::mem::size_of::() - 64usize]; + ["Alignment of bpf_link"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link::refcnt"][::core::mem::offset_of!(bpf_link, refcnt) - 0usize]; + ["Offset of field: bpf_link::id"][::core::mem::offset_of!(bpf_link, id) - 8usize]; + ["Offset of field: bpf_link::type_"][::core::mem::offset_of!(bpf_link, type_) - 12usize]; + ["Offset of field: bpf_link::ops"][::core::mem::offset_of!(bpf_link, ops) - 16usize]; + ["Offset of field: bpf_link::prog"][::core::mem::offset_of!(bpf_link, prog) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_cgroup_storage_key { + pub cgroup_inode_id: __u64, + pub attach_type: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_cgroup_storage_key"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_cgroup_storage_key"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_cgroup_storage_key::cgroup_inode_id"] + [::core::mem::offset_of!(bpf_cgroup_storage_key, cgroup_inode_id) - 0usize]; + ["Offset of field: bpf_cgroup_storage_key::attach_type"] + [::core::mem::offset_of!(bpf_cgroup_storage_key, attach_type) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_cgroup_storage { + pub __bindgen_anon_1: bpf_cgroup_storage__bindgen_ty_1, + pub map: *mut bpf_cgroup_storage_map, + pub key: bpf_cgroup_storage_key, + pub list_map: list_head, + pub list_cg: list_head, + pub node: rb_node, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_cgroup_storage__bindgen_ty_1 { + pub buf: *mut bpf_storage_buffer, + pub percpu_buf: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_cgroup_storage__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_cgroup_storage__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_cgroup_storage__bindgen_ty_1::buf"] + [::core::mem::offset_of!(bpf_cgroup_storage__bindgen_ty_1, buf) - 0usize]; + ["Offset of field: bpf_cgroup_storage__bindgen_ty_1::percpu_buf"] + [::core::mem::offset_of!(bpf_cgroup_storage__bindgen_ty_1, percpu_buf) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_cgroup_storage"][::core::mem::size_of::() - 104usize]; + ["Alignment of bpf_cgroup_storage"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_cgroup_storage::map"] + [::core::mem::offset_of!(bpf_cgroup_storage, map) - 8usize]; + ["Offset of field: bpf_cgroup_storage::key"] + [::core::mem::offset_of!(bpf_cgroup_storage, key) - 16usize]; + ["Offset of field: bpf_cgroup_storage::list_map"] + [::core::mem::offset_of!(bpf_cgroup_storage, list_map) - 32usize]; + ["Offset of field: bpf_cgroup_storage::list_cg"] + [::core::mem::offset_of!(bpf_cgroup_storage, list_cg) - 48usize]; + ["Offset of field: bpf_cgroup_storage::node"] + [::core::mem::offset_of!(bpf_cgroup_storage, node) - 64usize]; + ["Offset of field: bpf_cgroup_storage::rcu"] + [::core::mem::offset_of!(bpf_cgroup_storage, rcu) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_cgroup_storage_map { + pub map: bpf_map, + pub lock: spinlock_t, + pub root: rb_root, + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_cgroup_storage_map"][::core::mem::size_of::() - 280usize]; + ["Alignment of bpf_cgroup_storage_map"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_cgroup_storage_map::map"] + [::core::mem::offset_of!(bpf_cgroup_storage_map, map) - 0usize]; + ["Offset of field: bpf_cgroup_storage_map::lock"] + [::core::mem::offset_of!(bpf_cgroup_storage_map, lock) - 248usize]; + ["Offset of field: bpf_cgroup_storage_map::root"] + [::core::mem::offset_of!(bpf_cgroup_storage_map, root) - 256usize]; + ["Offset of field: bpf_cgroup_storage_map::list"] + [::core::mem::offset_of!(bpf_cgroup_storage_map, list) - 264usize]; +}; +pub type cpumask_t = cpumask; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_ctx_arg_aux { + pub offset: u32_, + pub reg_type: bpf_reg_type, + pub btf: *mut btf, + pub btf_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_ctx_arg_aux"][::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_ctx_arg_aux"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_ctx_arg_aux::offset"] + [::core::mem::offset_of!(bpf_ctx_arg_aux, offset) - 0usize]; + ["Offset of field: bpf_ctx_arg_aux::reg_type"] + [::core::mem::offset_of!(bpf_ctx_arg_aux, reg_type) - 4usize]; + ["Offset of field: bpf_ctx_arg_aux::btf"] + [::core::mem::offset_of!(bpf_ctx_arg_aux, btf) - 8usize]; + ["Offset of field: bpf_ctx_arg_aux::btf_id"] + [::core::mem::offset_of!(bpf_ctx_arg_aux, btf_id) - 16usize]; +}; +#[repr(C)] +pub struct sk_buff { + pub __bindgen_anon_1: sk_buff__bindgen_ty_1, + pub sk: *mut sock, + pub __bindgen_anon_2: sk_buff__bindgen_ty_2, + pub cb: [::core::ffi::c_char; 48usize], + pub __bindgen_anon_3: sk_buff__bindgen_ty_3, + pub _nfct: ::core::ffi::c_ulong, + pub len: ::core::ffi::c_uint, + pub data_len: ::core::ffi::c_uint, + pub mac_len: __u16, + pub hdr_len: __u16, + pub queue_mapping: __u16, + pub __cloned_offset: __IncompleteArrayField<__u8>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub active_extensions: __u8, + pub __bindgen_anon_4: sk_buff__bindgen_ty_4, + pub tail: sk_buff_data_t, + pub end: sk_buff_data_t, + pub head: *mut ::core::ffi::c_uchar, + pub data: *mut ::core::ffi::c_uchar, + pub truesize: ::core::ffi::c_uint, + pub users: refcount_t, + pub extensions: *mut skb_ext, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_1 { + pub __bindgen_anon_1: sk_buff__bindgen_ty_1__bindgen_ty_1, + pub rbnode: rb_node, + pub list: list_head, + pub ll_node: llist_node, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sk_buff__bindgen_ty_1__bindgen_ty_1 { + pub next: *mut sk_buff, + pub prev: *mut sk_buff, + pub __bindgen_anon_1: sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub dev: *mut net_device, + pub dev_scratch: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::dev"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, dev) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::dev_scratch"][::core::mem::offset_of!( + sk_buff__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + dev_scratch + ) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of sk_buff__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_1__bindgen_ty_1::next"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_1__bindgen_ty_1, next) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_1__bindgen_ty_1::prev"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_1__bindgen_ty_1, prev) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of sk_buff__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_1::rbnode"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_1, rbnode) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_1::list"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_1, list) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_1::ll_node"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_1, ll_node) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_2 { + pub tstamp: ktime_t, + pub skb_mstamp_ns: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_2"][::core::mem::size_of::() - 8usize]; + ["Alignment of sk_buff__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_2::tstamp"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_2, tstamp) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_2::skb_mstamp_ns"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_2, skb_mstamp_ns) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_3 { + pub __bindgen_anon_1: sk_buff__bindgen_ty_3__bindgen_ty_1, + pub tcp_tsorted_anchor: list_head, + pub _sk_redir: ::core::ffi::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_buff__bindgen_ty_3__bindgen_ty_1 { + pub _skb_refdst: ::core::ffi::c_ulong, + pub destructor: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of sk_buff__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_3__bindgen_ty_1::_skb_refdst"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_3__bindgen_ty_1, _skb_refdst) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_3__bindgen_ty_1::destructor"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_3__bindgen_ty_1, destructor) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_3"][::core::mem::size_of::() - 16usize]; + ["Alignment of sk_buff__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_3::tcp_tsorted_anchor"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_3, tcp_tsorted_anchor) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_3::_sk_redir"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_3, _sk_redir) - 0usize]; +}; +#[repr(C)] +pub struct sk_buff__bindgen_ty_4 { + pub __bindgen_anon_1: __BindgenUnionField, + pub headers: __BindgenUnionField, + pub bindgen_union_field: [u32; 15usize], +} +#[repr(C)] +pub struct sk_buff__bindgen_ty_4__bindgen_ty_1 { + pub __pkt_type_offset: __IncompleteArrayField<__u8>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __mono_tc_offset: __IncompleteArrayField<__u8>, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 4usize]>, + pub tc_index: __u16, + pub alloc_cpu: u16_, + pub __bindgen_anon_1: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1, + pub priority: __u32, + pub skb_iif: ::core::ffi::c_int, + pub hash: __u32, + pub __bindgen_anon_2: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2, + pub __bindgen_anon_3: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3, + pub secmark: __u32, + pub __bindgen_anon_4: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4, + pub __bindgen_anon_5: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5, + pub inner_transport_header: __u16, + pub inner_network_header: __u16, + pub inner_mac_header: __u16, + pub protocol: __be16, + pub transport_header: __u16, + pub network_header: __u16, + pub mac_header: __u16, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 { + pub csum: __wsum, + pub __bindgen_anon_1: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub csum_start: __u16, + pub csum_offset: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::( + ) - 2usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::csum_start"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 , csum_start) - 0usize] ; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::csum_offset"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 , csum_offset) - 2usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1::csum"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1, csum) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2 { + pub vlan_all: u32_, + pub __bindgen_anon_1: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { + pub vlan_proto: __be16, + pub vlan_tci: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::core::mem::size_of::< + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + >() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::( + ) - 2usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::vlan_proto"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 , vlan_proto) - 0usize] ; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::vlan_tci"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 , vlan_tci) - 2usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2::vlan_all"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2, + vlan_all + ) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3 { + pub napi_id: ::core::ffi::c_uint, + pub sender_cpu: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3::napi_id"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3, + napi_id + ) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3::sender_cpu"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_3, + sender_cpu + ) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4 { + pub mark: __u32, + pub reserved_tailroom: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4::mark"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4, mark) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4::reserved_tailroom"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_4, + reserved_tailroom + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5 { + pub inner_protocol: __be16, + pub inner_ipproto: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5::inner_protocol"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5, + inner_protocol + ) + - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5::inner_ipproto"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1__bindgen_ty_5, + inner_ipproto + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::size_of::() - 60usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::__pkt_type_offset"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, __pkt_type_offset) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::__mono_tc_offset"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, __mono_tc_offset) - 1usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::tc_index"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, tc_index) - 6usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::alloc_cpu"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, alloc_cpu) - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::priority"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, priority) - 16usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::skb_iif"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, skb_iif) - 20usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::hash"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, hash) - 24usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::secmark"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, secmark) - 36usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::inner_transport_header"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1, + inner_transport_header + ) - 46usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::inner_network_header"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_1, + inner_network_header + ) - 48usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::inner_mac_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, inner_mac_header) - 50usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::protocol"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, protocol) - 52usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::transport_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, transport_header) - 54usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::network_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, network_header) - 56usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_1::mac_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_1, mac_header) - 58usize]; +}; +impl sk_buff__bindgen_ty_4__bindgen_ty_1 { + #[inline] + pub fn pkt_type(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } + } + #[inline] + pub fn set_pkt_type(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn pkt_type_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 3u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_pkt_type_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn ignore_df(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_ignore_df(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ignore_df_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ignore_df_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dst_pending_confirm(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_dst_pending_confirm(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dst_pending_confirm_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dst_pending_confirm_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ip_summed(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 2u8) as u8) } + } + #[inline] + pub fn set_ip_summed(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn ip_summed_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ip_summed_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn ooo_okay(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_ooo_okay(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ooo_okay_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ooo_okay_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + pkt_type: __u8, + ignore_df: __u8, + dst_pending_confirm: __u8, + ip_summed: __u8, + ooo_okay: __u8, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 3u8, { + let pkt_type: u8 = unsafe { ::core::mem::transmute(pkt_type) }; + pkt_type as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let ignore_df: u8 = unsafe { ::core::mem::transmute(ignore_df) }; + ignore_df as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let dst_pending_confirm: u8 = unsafe { ::core::mem::transmute(dst_pending_confirm) }; + dst_pending_confirm as u64 + }); + __bindgen_bitfield_unit.set(5usize, 2u8, { + let ip_summed: u8 = unsafe { ::core::mem::transmute(ip_summed) }; + ip_summed as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let ooo_okay: u8 = unsafe { ::core::mem::transmute(ooo_okay) }; + ooo_okay as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn tstamp_type(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_tstamp_type(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn tstamp_type_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tstamp_type_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn tc_at_ingress(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_tc_at_ingress(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn tc_at_ingress_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tc_at_ingress_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn tc_skip_classify(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_tc_skip_classify(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn tc_skip_classify_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tc_skip_classify_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn remcsum_offload(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_remcsum_offload(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn remcsum_offload_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_remcsum_offload_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_complete_sw(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_csum_complete_sw(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_complete_sw_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_complete_sw_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_level(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(6usize, 2u8) as u8) } + } + #[inline] + pub fn set_csum_level(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(6usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_level_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 6usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_level_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 6usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn inner_protocol_type(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_inner_protocol_type(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn inner_protocol_type_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_inner_protocol_type_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn l4_hash(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(9usize, 1u8) as u8) } + } + #[inline] + pub fn set_l4_hash(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn l4_hash_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 9usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_l4_hash_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sw_hash(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(10usize, 1u8) as u8) } + } + #[inline] + pub fn set_sw_hash(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sw_hash_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 10usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sw_hash_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn wifi_acked_valid(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(11usize, 1u8) as u8) } + } + #[inline] + pub fn set_wifi_acked_valid(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wifi_acked_valid_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 11usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_wifi_acked_valid_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn wifi_acked(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(12usize, 1u8) as u8) } + } + #[inline] + pub fn set_wifi_acked(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wifi_acked_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 12usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_wifi_acked_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn no_fcs(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(13usize, 1u8) as u8) } + } + #[inline] + pub fn set_no_fcs(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_fcs_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 13usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_no_fcs_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 13usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn encapsulation(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(14usize, 1u8) as u8) } + } + #[inline] + pub fn set_encapsulation(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn encapsulation_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 14usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_encapsulation_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn encap_hdr_csum(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(15usize, 1u8) as u8) } + } + #[inline] + pub fn set_encap_hdr_csum(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn encap_hdr_csum_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 15usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_encap_hdr_csum_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 15usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_valid(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(16usize, 1u8) as u8) } + } + #[inline] + pub fn set_csum_valid(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_valid_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 16usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_valid_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 16usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ndisc_nodetype(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(17usize, 2u8) as u8) } + } + #[inline] + pub fn set_ndisc_nodetype(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(17usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn ndisc_nodetype_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 17usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ndisc_nodetype_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 17usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn ipvs_property(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(19usize, 1u8) as u8) } + } + #[inline] + pub fn set_ipvs_property(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ipvs_property_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 19usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ipvs_property_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 19usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nf_trace(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(20usize, 1u8) as u8) } + } + #[inline] + pub fn set_nf_trace(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn nf_trace_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 20usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_nf_trace_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 20usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn offload_fwd_mark(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(21usize, 1u8) as u8) } + } + #[inline] + pub fn set_offload_fwd_mark(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn offload_fwd_mark_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 21usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_offload_fwd_mark_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 21usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn offload_l3_fwd_mark(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(22usize, 1u8) as u8) } + } + #[inline] + pub fn set_offload_l3_fwd_mark(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn offload_l3_fwd_mark_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 22usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_offload_l3_fwd_mark_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 22usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn redirected(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(23usize, 1u8) as u8) } + } + #[inline] + pub fn set_redirected(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn redirected_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 23usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_redirected_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 23usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn from_ingress(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(24usize, 1u8) as u8) } + } + #[inline] + pub fn set_from_ingress(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(24usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn from_ingress_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 24usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_from_ingress_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 24usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nf_skip_egress(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(25usize, 1u8) as u8) } + } + #[inline] + pub fn set_nf_skip_egress(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(25usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn nf_skip_egress_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 25usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_nf_skip_egress_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 25usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn decrypted(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(26usize, 1u8) as u8) } + } + #[inline] + pub fn set_decrypted(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(26usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn decrypted_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 26usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_decrypted_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 26usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn slow_gro(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(27usize, 1u8) as u8) } + } + #[inline] + pub fn set_slow_gro(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(27usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn slow_gro_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 27usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_slow_gro_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 27usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_not_inet(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(28usize, 1u8) as u8) } + } + #[inline] + pub fn set_csum_not_inet(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(28usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_not_inet_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 28usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_not_inet_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 28usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unreadable(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(29usize, 1u8) as u8) } + } + #[inline] + pub fn set_unreadable(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(29usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unreadable_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 29usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unreadable_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 29usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2( + tstamp_type: __u8, + tc_at_ingress: __u8, + tc_skip_classify: __u8, + remcsum_offload: __u8, + csum_complete_sw: __u8, + csum_level: __u8, + inner_protocol_type: __u8, + l4_hash: __u8, + sw_hash: __u8, + wifi_acked_valid: __u8, + wifi_acked: __u8, + no_fcs: __u8, + encapsulation: __u8, + encap_hdr_csum: __u8, + csum_valid: __u8, + ndisc_nodetype: __u8, + ipvs_property: __u8, + nf_trace: __u8, + offload_fwd_mark: __u8, + offload_l3_fwd_mark: __u8, + redirected: __u8, + from_ingress: __u8, + nf_skip_egress: __u8, + decrypted: __u8, + slow_gro: __u8, + csum_not_inet: __u8, + unreadable: __u8, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let tstamp_type: u8 = unsafe { ::core::mem::transmute(tstamp_type) }; + tstamp_type as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let tc_at_ingress: u8 = unsafe { ::core::mem::transmute(tc_at_ingress) }; + tc_at_ingress as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let tc_skip_classify: u8 = unsafe { ::core::mem::transmute(tc_skip_classify) }; + tc_skip_classify as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let remcsum_offload: u8 = unsafe { ::core::mem::transmute(remcsum_offload) }; + remcsum_offload as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let csum_complete_sw: u8 = unsafe { ::core::mem::transmute(csum_complete_sw) }; + csum_complete_sw as u64 + }); + __bindgen_bitfield_unit.set(6usize, 2u8, { + let csum_level: u8 = unsafe { ::core::mem::transmute(csum_level) }; + csum_level as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let inner_protocol_type: u8 = unsafe { ::core::mem::transmute(inner_protocol_type) }; + inner_protocol_type as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let l4_hash: u8 = unsafe { ::core::mem::transmute(l4_hash) }; + l4_hash as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let sw_hash: u8 = unsafe { ::core::mem::transmute(sw_hash) }; + sw_hash as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let wifi_acked_valid: u8 = unsafe { ::core::mem::transmute(wifi_acked_valid) }; + wifi_acked_valid as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let wifi_acked: u8 = unsafe { ::core::mem::transmute(wifi_acked) }; + wifi_acked as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let no_fcs: u8 = unsafe { ::core::mem::transmute(no_fcs) }; + no_fcs as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let encapsulation: u8 = unsafe { ::core::mem::transmute(encapsulation) }; + encapsulation as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let encap_hdr_csum: u8 = unsafe { ::core::mem::transmute(encap_hdr_csum) }; + encap_hdr_csum as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let csum_valid: u8 = unsafe { ::core::mem::transmute(csum_valid) }; + csum_valid as u64 + }); + __bindgen_bitfield_unit.set(17usize, 2u8, { + let ndisc_nodetype: u8 = unsafe { ::core::mem::transmute(ndisc_nodetype) }; + ndisc_nodetype as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let ipvs_property: u8 = unsafe { ::core::mem::transmute(ipvs_property) }; + ipvs_property as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let nf_trace: u8 = unsafe { ::core::mem::transmute(nf_trace) }; + nf_trace as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let offload_fwd_mark: u8 = unsafe { ::core::mem::transmute(offload_fwd_mark) }; + offload_fwd_mark as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let offload_l3_fwd_mark: u8 = unsafe { ::core::mem::transmute(offload_l3_fwd_mark) }; + offload_l3_fwd_mark as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let redirected: u8 = unsafe { ::core::mem::transmute(redirected) }; + redirected as u64 + }); + __bindgen_bitfield_unit.set(24usize, 1u8, { + let from_ingress: u8 = unsafe { ::core::mem::transmute(from_ingress) }; + from_ingress as u64 + }); + __bindgen_bitfield_unit.set(25usize, 1u8, { + let nf_skip_egress: u8 = unsafe { ::core::mem::transmute(nf_skip_egress) }; + nf_skip_egress as u64 + }); + __bindgen_bitfield_unit.set(26usize, 1u8, { + let decrypted: u8 = unsafe { ::core::mem::transmute(decrypted) }; + decrypted as u64 + }); + __bindgen_bitfield_unit.set(27usize, 1u8, { + let slow_gro: u8 = unsafe { ::core::mem::transmute(slow_gro) }; + slow_gro as u64 + }); + __bindgen_bitfield_unit.set(28usize, 1u8, { + let csum_not_inet: u8 = unsafe { ::core::mem::transmute(csum_not_inet) }; + csum_not_inet as u64 + }); + __bindgen_bitfield_unit.set(29usize, 1u8, { + let unreadable: u8 = unsafe { ::core::mem::transmute(unreadable) }; + unreadable as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +pub struct sk_buff__bindgen_ty_4__bindgen_ty_2 { + pub __pkt_type_offset: __IncompleteArrayField<__u8>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __mono_tc_offset: __IncompleteArrayField<__u8>, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 4usize]>, + pub tc_index: __u16, + pub alloc_cpu: u16_, + pub __bindgen_anon_1: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1, + pub priority: __u32, + pub skb_iif: ::core::ffi::c_int, + pub hash: __u32, + pub __bindgen_anon_2: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2, + pub __bindgen_anon_3: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3, + pub secmark: __u32, + pub __bindgen_anon_4: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4, + pub __bindgen_anon_5: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5, + pub inner_transport_header: __u16, + pub inner_network_header: __u16, + pub inner_mac_header: __u16, + pub protocol: __be16, + pub transport_header: __u16, + pub network_header: __u16, + pub mac_header: __u16, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 { + pub csum: __wsum, + pub __bindgen_anon_1: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { + pub csum_start: __u16, + pub csum_offset: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + >() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::( + ) - 2usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::csum_start"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , csum_start) - 0usize] ; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::csum_offset"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , csum_offset) - 2usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1::csum"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1, csum) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 { + pub vlan_all: u32_, + pub __bindgen_anon_1: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1 { + pub vlan_proto: __be16, + pub vlan_tci: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1"][::core::mem::size_of::< + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1, + >() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::( + ) - 2usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1::vlan_proto"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1 , vlan_proto) - 0usize] ; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1::vlan_tci"] [:: core :: mem :: offset_of ! (sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1 , vlan_tci) - 2usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2::vlan_all"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2, + vlan_all + ) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3 { + pub napi_id: ::core::ffi::c_uint, + pub sender_cpu: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3::napi_id"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3, + napi_id + ) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3::sender_cpu"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_3, + sender_cpu + ) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4 { + pub mark: __u32, + pub reserved_tailroom: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4::mark"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4, mark) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4::reserved_tailroom"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_4, + reserved_tailroom + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5 { + pub inner_protocol: __be16, + pub inner_ipproto: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5::inner_protocol"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5, + inner_protocol + ) + - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5::inner_ipproto"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2__bindgen_ty_5, + inner_ipproto + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4__bindgen_ty_2"] + [::core::mem::size_of::() - 60usize]; + ["Alignment of sk_buff__bindgen_ty_4__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::__pkt_type_offset"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, __pkt_type_offset) - 0usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::__mono_tc_offset"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, __mono_tc_offset) - 1usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::tc_index"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, tc_index) - 6usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::alloc_cpu"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, alloc_cpu) - 8usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::priority"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, priority) - 16usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::skb_iif"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, skb_iif) - 20usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::hash"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, hash) - 24usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::secmark"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, secmark) - 36usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::inner_transport_header"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2, + inner_transport_header + ) - 46usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::inner_network_header"][::core::mem::offset_of!( + sk_buff__bindgen_ty_4__bindgen_ty_2, + inner_network_header + ) - 48usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::inner_mac_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, inner_mac_header) - 50usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::protocol"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, protocol) - 52usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::transport_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, transport_header) - 54usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::network_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, network_header) - 56usize]; + ["Offset of field: sk_buff__bindgen_ty_4__bindgen_ty_2::mac_header"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4__bindgen_ty_2, mac_header) - 58usize]; +}; +impl sk_buff__bindgen_ty_4__bindgen_ty_2 { + #[inline] + pub fn pkt_type(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } + } + #[inline] + pub fn set_pkt_type(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn pkt_type_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 3u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_pkt_type_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn ignore_df(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_ignore_df(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ignore_df_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ignore_df_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dst_pending_confirm(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_dst_pending_confirm(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dst_pending_confirm_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dst_pending_confirm_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ip_summed(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 2u8) as u8) } + } + #[inline] + pub fn set_ip_summed(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn ip_summed_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ip_summed_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn ooo_okay(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_ooo_okay(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ooo_okay_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ooo_okay_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + pkt_type: __u8, + ignore_df: __u8, + dst_pending_confirm: __u8, + ip_summed: __u8, + ooo_okay: __u8, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 3u8, { + let pkt_type: u8 = unsafe { ::core::mem::transmute(pkt_type) }; + pkt_type as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let ignore_df: u8 = unsafe { ::core::mem::transmute(ignore_df) }; + ignore_df as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let dst_pending_confirm: u8 = unsafe { ::core::mem::transmute(dst_pending_confirm) }; + dst_pending_confirm as u64 + }); + __bindgen_bitfield_unit.set(5usize, 2u8, { + let ip_summed: u8 = unsafe { ::core::mem::transmute(ip_summed) }; + ip_summed as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let ooo_okay: u8 = unsafe { ::core::mem::transmute(ooo_okay) }; + ooo_okay as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn tstamp_type(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_tstamp_type(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn tstamp_type_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tstamp_type_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn tc_at_ingress(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_tc_at_ingress(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn tc_at_ingress_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tc_at_ingress_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn tc_skip_classify(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_tc_skip_classify(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn tc_skip_classify_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tc_skip_classify_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn remcsum_offload(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_remcsum_offload(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn remcsum_offload_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_remcsum_offload_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_complete_sw(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_csum_complete_sw(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_complete_sw_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_complete_sw_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_level(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(6usize, 2u8) as u8) } + } + #[inline] + pub fn set_csum_level(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(6usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_level_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 6usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_level_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 6usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn inner_protocol_type(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_inner_protocol_type(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn inner_protocol_type_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_inner_protocol_type_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn l4_hash(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(9usize, 1u8) as u8) } + } + #[inline] + pub fn set_l4_hash(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn l4_hash_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 9usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_l4_hash_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sw_hash(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(10usize, 1u8) as u8) } + } + #[inline] + pub fn set_sw_hash(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sw_hash_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 10usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sw_hash_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn wifi_acked_valid(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(11usize, 1u8) as u8) } + } + #[inline] + pub fn set_wifi_acked_valid(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wifi_acked_valid_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 11usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_wifi_acked_valid_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn wifi_acked(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(12usize, 1u8) as u8) } + } + #[inline] + pub fn set_wifi_acked(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wifi_acked_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 12usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_wifi_acked_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn no_fcs(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(13usize, 1u8) as u8) } + } + #[inline] + pub fn set_no_fcs(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_fcs_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 13usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_no_fcs_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 13usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn encapsulation(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(14usize, 1u8) as u8) } + } + #[inline] + pub fn set_encapsulation(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn encapsulation_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 14usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_encapsulation_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn encap_hdr_csum(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(15usize, 1u8) as u8) } + } + #[inline] + pub fn set_encap_hdr_csum(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn encap_hdr_csum_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 15usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_encap_hdr_csum_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 15usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_valid(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(16usize, 1u8) as u8) } + } + #[inline] + pub fn set_csum_valid(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_valid_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 16usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_valid_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 16usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ndisc_nodetype(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(17usize, 2u8) as u8) } + } + #[inline] + pub fn set_ndisc_nodetype(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(17usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn ndisc_nodetype_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 17usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ndisc_nodetype_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 17usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn ipvs_property(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(19usize, 1u8) as u8) } + } + #[inline] + pub fn set_ipvs_property(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ipvs_property_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 19usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ipvs_property_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 19usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nf_trace(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(20usize, 1u8) as u8) } + } + #[inline] + pub fn set_nf_trace(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn nf_trace_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 20usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_nf_trace_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 20usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn offload_fwd_mark(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(21usize, 1u8) as u8) } + } + #[inline] + pub fn set_offload_fwd_mark(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn offload_fwd_mark_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 21usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_offload_fwd_mark_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 21usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn offload_l3_fwd_mark(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(22usize, 1u8) as u8) } + } + #[inline] + pub fn set_offload_l3_fwd_mark(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn offload_l3_fwd_mark_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 22usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_offload_l3_fwd_mark_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 22usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn redirected(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(23usize, 1u8) as u8) } + } + #[inline] + pub fn set_redirected(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn redirected_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 23usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_redirected_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 23usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn from_ingress(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(24usize, 1u8) as u8) } + } + #[inline] + pub fn set_from_ingress(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(24usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn from_ingress_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 24usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_from_ingress_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 24usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nf_skip_egress(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(25usize, 1u8) as u8) } + } + #[inline] + pub fn set_nf_skip_egress(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(25usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn nf_skip_egress_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 25usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_nf_skip_egress_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 25usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn decrypted(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(26usize, 1u8) as u8) } + } + #[inline] + pub fn set_decrypted(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(26usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn decrypted_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 26usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_decrypted_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 26usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn slow_gro(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(27usize, 1u8) as u8) } + } + #[inline] + pub fn set_slow_gro(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(27usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn slow_gro_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 27usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_slow_gro_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 27usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn csum_not_inet(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(28usize, 1u8) as u8) } + } + #[inline] + pub fn set_csum_not_inet(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(28usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn csum_not_inet_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 28usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_csum_not_inet_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 28usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unreadable(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(29usize, 1u8) as u8) } + } + #[inline] + pub fn set_unreadable(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(29usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unreadable_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 29usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unreadable_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 29usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2( + tstamp_type: __u8, + tc_at_ingress: __u8, + tc_skip_classify: __u8, + remcsum_offload: __u8, + csum_complete_sw: __u8, + csum_level: __u8, + inner_protocol_type: __u8, + l4_hash: __u8, + sw_hash: __u8, + wifi_acked_valid: __u8, + wifi_acked: __u8, + no_fcs: __u8, + encapsulation: __u8, + encap_hdr_csum: __u8, + csum_valid: __u8, + ndisc_nodetype: __u8, + ipvs_property: __u8, + nf_trace: __u8, + offload_fwd_mark: __u8, + offload_l3_fwd_mark: __u8, + redirected: __u8, + from_ingress: __u8, + nf_skip_egress: __u8, + decrypted: __u8, + slow_gro: __u8, + csum_not_inet: __u8, + unreadable: __u8, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let tstamp_type: u8 = unsafe { ::core::mem::transmute(tstamp_type) }; + tstamp_type as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let tc_at_ingress: u8 = unsafe { ::core::mem::transmute(tc_at_ingress) }; + tc_at_ingress as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let tc_skip_classify: u8 = unsafe { ::core::mem::transmute(tc_skip_classify) }; + tc_skip_classify as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let remcsum_offload: u8 = unsafe { ::core::mem::transmute(remcsum_offload) }; + remcsum_offload as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let csum_complete_sw: u8 = unsafe { ::core::mem::transmute(csum_complete_sw) }; + csum_complete_sw as u64 + }); + __bindgen_bitfield_unit.set(6usize, 2u8, { + let csum_level: u8 = unsafe { ::core::mem::transmute(csum_level) }; + csum_level as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let inner_protocol_type: u8 = unsafe { ::core::mem::transmute(inner_protocol_type) }; + inner_protocol_type as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let l4_hash: u8 = unsafe { ::core::mem::transmute(l4_hash) }; + l4_hash as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let sw_hash: u8 = unsafe { ::core::mem::transmute(sw_hash) }; + sw_hash as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let wifi_acked_valid: u8 = unsafe { ::core::mem::transmute(wifi_acked_valid) }; + wifi_acked_valid as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let wifi_acked: u8 = unsafe { ::core::mem::transmute(wifi_acked) }; + wifi_acked as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let no_fcs: u8 = unsafe { ::core::mem::transmute(no_fcs) }; + no_fcs as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let encapsulation: u8 = unsafe { ::core::mem::transmute(encapsulation) }; + encapsulation as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let encap_hdr_csum: u8 = unsafe { ::core::mem::transmute(encap_hdr_csum) }; + encap_hdr_csum as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let csum_valid: u8 = unsafe { ::core::mem::transmute(csum_valid) }; + csum_valid as u64 + }); + __bindgen_bitfield_unit.set(17usize, 2u8, { + let ndisc_nodetype: u8 = unsafe { ::core::mem::transmute(ndisc_nodetype) }; + ndisc_nodetype as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let ipvs_property: u8 = unsafe { ::core::mem::transmute(ipvs_property) }; + ipvs_property as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let nf_trace: u8 = unsafe { ::core::mem::transmute(nf_trace) }; + nf_trace as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let offload_fwd_mark: u8 = unsafe { ::core::mem::transmute(offload_fwd_mark) }; + offload_fwd_mark as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let offload_l3_fwd_mark: u8 = unsafe { ::core::mem::transmute(offload_l3_fwd_mark) }; + offload_l3_fwd_mark as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let redirected: u8 = unsafe { ::core::mem::transmute(redirected) }; + redirected as u64 + }); + __bindgen_bitfield_unit.set(24usize, 1u8, { + let from_ingress: u8 = unsafe { ::core::mem::transmute(from_ingress) }; + from_ingress as u64 + }); + __bindgen_bitfield_unit.set(25usize, 1u8, { + let nf_skip_egress: u8 = unsafe { ::core::mem::transmute(nf_skip_egress) }; + nf_skip_egress as u64 + }); + __bindgen_bitfield_unit.set(26usize, 1u8, { + let decrypted: u8 = unsafe { ::core::mem::transmute(decrypted) }; + decrypted as u64 + }); + __bindgen_bitfield_unit.set(27usize, 1u8, { + let slow_gro: u8 = unsafe { ::core::mem::transmute(slow_gro) }; + slow_gro as u64 + }); + __bindgen_bitfield_unit.set(28usize, 1u8, { + let csum_not_inet: u8 = unsafe { ::core::mem::transmute(csum_not_inet) }; + csum_not_inet as u64 + }); + __bindgen_bitfield_unit.set(29usize, 1u8, { + let unreadable: u8 = unsafe { ::core::mem::transmute(unreadable) }; + unreadable as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff__bindgen_ty_4"][::core::mem::size_of::() - 60usize]; + ["Alignment of sk_buff__bindgen_ty_4"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_buff__bindgen_ty_4::headers"] + [::core::mem::offset_of!(sk_buff__bindgen_ty_4, headers) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_buff"][::core::mem::size_of::() - 232usize]; + ["Alignment of sk_buff"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_buff::sk"][::core::mem::offset_of!(sk_buff, sk) - 24usize]; + ["Offset of field: sk_buff::cb"][::core::mem::offset_of!(sk_buff, cb) - 40usize]; + ["Offset of field: sk_buff::_nfct"][::core::mem::offset_of!(sk_buff, _nfct) - 104usize]; + ["Offset of field: sk_buff::len"][::core::mem::offset_of!(sk_buff, len) - 112usize]; + ["Offset of field: sk_buff::data_len"][::core::mem::offset_of!(sk_buff, data_len) - 116usize]; + ["Offset of field: sk_buff::mac_len"][::core::mem::offset_of!(sk_buff, mac_len) - 120usize]; + ["Offset of field: sk_buff::hdr_len"][::core::mem::offset_of!(sk_buff, hdr_len) - 122usize]; + ["Offset of field: sk_buff::queue_mapping"] + [::core::mem::offset_of!(sk_buff, queue_mapping) - 124usize]; + ["Offset of field: sk_buff::__cloned_offset"] + [::core::mem::offset_of!(sk_buff, __cloned_offset) - 126usize]; + ["Offset of field: sk_buff::active_extensions"] + [::core::mem::offset_of!(sk_buff, active_extensions) - 127usize]; + ["Offset of field: sk_buff::tail"][::core::mem::offset_of!(sk_buff, tail) - 188usize]; + ["Offset of field: sk_buff::end"][::core::mem::offset_of!(sk_buff, end) - 192usize]; + ["Offset of field: sk_buff::head"][::core::mem::offset_of!(sk_buff, head) - 200usize]; + ["Offset of field: sk_buff::data"][::core::mem::offset_of!(sk_buff, data) - 208usize]; + ["Offset of field: sk_buff::truesize"][::core::mem::offset_of!(sk_buff, truesize) - 216usize]; + ["Offset of field: sk_buff::users"][::core::mem::offset_of!(sk_buff, users) - 220usize]; + ["Offset of field: sk_buff::extensions"] + [::core::mem::offset_of!(sk_buff, extensions) - 224usize]; +}; +impl sk_buff { + #[inline] + pub fn cloned(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_cloned(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cloned_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_cloned_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nohdr(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_nohdr(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn nohdr_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_nohdr_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fclone(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u8) } + } + #[inline] + pub fn set_fclone(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn fclone_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fclone_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn peeked(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_peeked(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn peeked_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_peeked_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn head_frag(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_head_frag(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn head_frag_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_head_frag_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn pfmemalloc(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_pfmemalloc(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn pfmemalloc_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_pfmemalloc_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn pp_recycle(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_pp_recycle(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn pp_recycle_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_pp_recycle_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + cloned: __u8, + nohdr: __u8, + fclone: __u8, + peeked: __u8, + head_frag: __u8, + pfmemalloc: __u8, + pp_recycle: __u8, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let cloned: u8 = unsafe { ::core::mem::transmute(cloned) }; + cloned as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let nohdr: u8 = unsafe { ::core::mem::transmute(nohdr) }; + nohdr as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let fclone: u8 = unsafe { ::core::mem::transmute(fclone) }; + fclone as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let peeked: u8 = unsafe { ::core::mem::transmute(peeked) }; + peeked as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let head_frag: u8 = unsafe { ::core::mem::transmute(head_frag) }; + head_frag as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let pfmemalloc: u8 = unsafe { ::core::mem::transmute(pfmemalloc) }; + pfmemalloc as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let pp_recycle: u8 = unsafe { ::core::mem::transmute(pp_recycle) }; + pp_recycle as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_md { + pub data: __u32, + pub data_end: __u32, + pub data_meta: __u32, + pub ingress_ifindex: __u32, + pub rx_queue_index: __u32, + pub egress_ifindex: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_md"][::core::mem::size_of::() - 24usize]; + ["Alignment of xdp_md"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xdp_md::data"][::core::mem::offset_of!(xdp_md, data) - 0usize]; + ["Offset of field: xdp_md::data_end"][::core::mem::offset_of!(xdp_md, data_end) - 4usize]; + ["Offset of field: xdp_md::data_meta"][::core::mem::offset_of!(xdp_md, data_meta) - 8usize]; + ["Offset of field: xdp_md::ingress_ifindex"] + [::core::mem::offset_of!(xdp_md, ingress_ifindex) - 12usize]; + ["Offset of field: xdp_md::rx_queue_index"] + [::core::mem::offset_of!(xdp_md, rx_queue_index) - 16usize]; + ["Offset of field: xdp_md::egress_ifindex"] + [::core::mem::offset_of!(xdp_md, egress_ifindex) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_buff { + pub data: *mut ::core::ffi::c_void, + pub data_end: *mut ::core::ffi::c_void, + pub data_meta: *mut ::core::ffi::c_void, + pub data_hard_start: *mut ::core::ffi::c_void, + pub rxq: *mut xdp_rxq_info, + pub txq: *mut xdp_txq_info, + pub frame_sz: u32_, + pub flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_buff"][::core::mem::size_of::() - 56usize]; + ["Alignment of xdp_buff"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_buff::data"][::core::mem::offset_of!(xdp_buff, data) - 0usize]; + ["Offset of field: xdp_buff::data_end"][::core::mem::offset_of!(xdp_buff, data_end) - 8usize]; + ["Offset of field: xdp_buff::data_meta"] + [::core::mem::offset_of!(xdp_buff, data_meta) - 16usize]; + ["Offset of field: xdp_buff::data_hard_start"] + [::core::mem::offset_of!(xdp_buff, data_hard_start) - 24usize]; + ["Offset of field: xdp_buff::rxq"][::core::mem::offset_of!(xdp_buff, rxq) - 32usize]; + ["Offset of field: xdp_buff::txq"][::core::mem::offset_of!(xdp_buff, txq) - 40usize]; + ["Offset of field: xdp_buff::frame_sz"][::core::mem::offset_of!(xdp_buff, frame_sz) - 48usize]; + ["Offset of field: xdp_buff::flags"][::core::mem::offset_of!(xdp_buff, flags) - 52usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hlist_nulls_node { + pub next: *mut hlist_nulls_node, + pub pprev: *mut *mut hlist_nulls_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hlist_nulls_node"][::core::mem::size_of::() - 16usize]; + ["Alignment of hlist_nulls_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hlist_nulls_node::next"] + [::core::mem::offset_of!(hlist_nulls_node, next) - 0usize]; + ["Offset of field: hlist_nulls_node::pprev"] + [::core::mem::offset_of!(hlist_nulls_node, pprev) - 8usize]; +}; +#[repr(C)] +pub struct sock_common { + pub __bindgen_anon_1: sock_common__bindgen_ty_1, + pub __bindgen_anon_2: sock_common__bindgen_ty_2, + pub __bindgen_anon_3: sock_common__bindgen_ty_3, + pub skc_family: ::core::ffi::c_ushort, + pub skc_state: ::core::ffi::c_uchar, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub skc_bound_dev_if: ::core::ffi::c_int, + pub __bindgen_anon_4: sock_common__bindgen_ty_4, + pub skc_prot: *mut proto, + pub skc_net: possible_net_t, + pub skc_v6_daddr: in6_addr, + pub skc_v6_rcv_saddr: in6_addr, + pub skc_cookie: atomic64_t, + pub __bindgen_anon_5: sock_common__bindgen_ty_5, + pub skc_dontcopy_begin: __IncompleteArrayField<::core::ffi::c_int>, + pub __bindgen_anon_6: sock_common__bindgen_ty_6, + pub skc_tx_queue_mapping: ::core::ffi::c_ushort, + pub skc_rx_queue_mapping: ::core::ffi::c_ushort, + pub __bindgen_anon_7: sock_common__bindgen_ty_7, + pub skc_refcnt: refcount_t, + pub skc_dontcopy_end: __IncompleteArrayField<::core::ffi::c_int>, + pub __bindgen_anon_8: sock_common__bindgen_ty_8, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_1 { + pub skc_addrpair: __addrpair, + pub __bindgen_anon_1: sock_common__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sock_common__bindgen_ty_1__bindgen_ty_1 { + pub skc_daddr: __be32, + pub skc_rcv_saddr: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of sock_common__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sock_common__bindgen_ty_1__bindgen_ty_1::skc_daddr"] + [::core::mem::offset_of!(sock_common__bindgen_ty_1__bindgen_ty_1, skc_daddr) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_1__bindgen_ty_1::skc_rcv_saddr"] + [::core::mem::offset_of!(sock_common__bindgen_ty_1__bindgen_ty_1, skc_rcv_saddr) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of sock_common__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_common__bindgen_ty_1::skc_addrpair"] + [::core::mem::offset_of!(sock_common__bindgen_ty_1, skc_addrpair) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_2 { + pub skc_hash: ::core::ffi::c_uint, + pub skc_u16hashes: [__u16; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sock_common__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sock_common__bindgen_ty_2::skc_hash"] + [::core::mem::offset_of!(sock_common__bindgen_ty_2, skc_hash) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_2::skc_u16hashes"] + [::core::mem::offset_of!(sock_common__bindgen_ty_2, skc_u16hashes) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_3 { + pub skc_portpair: __portpair, + pub __bindgen_anon_1: sock_common__bindgen_ty_3__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sock_common__bindgen_ty_3__bindgen_ty_1 { + pub skc_dport: __be16, + pub skc_num: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sock_common__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: sock_common__bindgen_ty_3__bindgen_ty_1::skc_dport"] + [::core::mem::offset_of!(sock_common__bindgen_ty_3__bindgen_ty_1, skc_dport) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_3__bindgen_ty_1::skc_num"] + [::core::mem::offset_of!(sock_common__bindgen_ty_3__bindgen_ty_1, skc_num) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_3"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sock_common__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sock_common__bindgen_ty_3::skc_portpair"] + [::core::mem::offset_of!(sock_common__bindgen_ty_3, skc_portpair) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_4 { + pub skc_bind_node: hlist_node, + pub skc_portaddr_node: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_4"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of sock_common__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_common__bindgen_ty_4::skc_bind_node"] + [::core::mem::offset_of!(sock_common__bindgen_ty_4, skc_bind_node) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_4::skc_portaddr_node"] + [::core::mem::offset_of!(sock_common__bindgen_ty_4, skc_portaddr_node) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_5 { + pub skc_flags: ::core::ffi::c_ulong, + pub skc_listener: *mut sock, + pub skc_tw_dr: *mut inet_timewait_death_row, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_5"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of sock_common__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_common__bindgen_ty_5::skc_flags"] + [::core::mem::offset_of!(sock_common__bindgen_ty_5, skc_flags) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_5::skc_listener"] + [::core::mem::offset_of!(sock_common__bindgen_ty_5, skc_listener) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_5::skc_tw_dr"] + [::core::mem::offset_of!(sock_common__bindgen_ty_5, skc_tw_dr) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_6 { + pub skc_node: hlist_node, + pub skc_nulls_node: hlist_nulls_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_6"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of sock_common__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_common__bindgen_ty_6::skc_node"] + [::core::mem::offset_of!(sock_common__bindgen_ty_6, skc_node) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_6::skc_nulls_node"] + [::core::mem::offset_of!(sock_common__bindgen_ty_6, skc_nulls_node) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_7 { + pub skc_incoming_cpu: ::core::ffi::c_int, + pub skc_rcv_wnd: u32_, + pub skc_tw_rcv_nxt: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_7"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sock_common__bindgen_ty_7"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sock_common__bindgen_ty_7::skc_incoming_cpu"] + [::core::mem::offset_of!(sock_common__bindgen_ty_7, skc_incoming_cpu) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_7::skc_rcv_wnd"] + [::core::mem::offset_of!(sock_common__bindgen_ty_7, skc_rcv_wnd) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_7::skc_tw_rcv_nxt"] + [::core::mem::offset_of!(sock_common__bindgen_ty_7, skc_tw_rcv_nxt) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock_common__bindgen_ty_8 { + pub skc_rxhash: u32_, + pub skc_window_clamp: u32_, + pub skc_tw_snd_nxt: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common__bindgen_ty_8"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of sock_common__bindgen_ty_8"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sock_common__bindgen_ty_8::skc_rxhash"] + [::core::mem::offset_of!(sock_common__bindgen_ty_8, skc_rxhash) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_8::skc_window_clamp"] + [::core::mem::offset_of!(sock_common__bindgen_ty_8, skc_window_clamp) - 0usize]; + ["Offset of field: sock_common__bindgen_ty_8::skc_tw_snd_nxt"] + [::core::mem::offset_of!(sock_common__bindgen_ty_8, skc_tw_snd_nxt) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_common"][::core::mem::size_of::() - 136usize]; + ["Alignment of sock_common"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_common::skc_family"] + [::core::mem::offset_of!(sock_common, skc_family) - 16usize]; + ["Offset of field: sock_common::skc_state"] + [::core::mem::offset_of!(sock_common, skc_state) - 18usize]; + ["Offset of field: sock_common::skc_bound_dev_if"] + [::core::mem::offset_of!(sock_common, skc_bound_dev_if) - 20usize]; + ["Offset of field: sock_common::skc_prot"] + [::core::mem::offset_of!(sock_common, skc_prot) - 40usize]; + ["Offset of field: sock_common::skc_net"] + [::core::mem::offset_of!(sock_common, skc_net) - 48usize]; + ["Offset of field: sock_common::skc_v6_daddr"] + [::core::mem::offset_of!(sock_common, skc_v6_daddr) - 56usize]; + ["Offset of field: sock_common::skc_v6_rcv_saddr"] + [::core::mem::offset_of!(sock_common, skc_v6_rcv_saddr) - 72usize]; + ["Offset of field: sock_common::skc_cookie"] + [::core::mem::offset_of!(sock_common, skc_cookie) - 88usize]; + ["Offset of field: sock_common::skc_dontcopy_begin"] + [::core::mem::offset_of!(sock_common, skc_dontcopy_begin) - 104usize]; + ["Offset of field: sock_common::skc_tx_queue_mapping"] + [::core::mem::offset_of!(sock_common, skc_tx_queue_mapping) - 120usize]; + ["Offset of field: sock_common::skc_rx_queue_mapping"] + [::core::mem::offset_of!(sock_common, skc_rx_queue_mapping) - 122usize]; + ["Offset of field: sock_common::skc_refcnt"] + [::core::mem::offset_of!(sock_common, skc_refcnt) - 128usize]; + ["Offset of field: sock_common::skc_dontcopy_end"] + [::core::mem::offset_of!(sock_common, skc_dontcopy_end) - 132usize]; +}; +impl sock_common { + #[inline] + pub fn skc_reuse(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) } + } + #[inline] + pub fn set_skc_reuse(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn skc_reuse_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_skc_reuse_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn skc_reuseport(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_skc_reuseport(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn skc_reuseport_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_skc_reuseport_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn skc_ipv6only(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_skc_ipv6only(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn skc_ipv6only_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_skc_ipv6only_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn skc_net_refcnt(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_skc_net_refcnt(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn skc_net_refcnt_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_skc_net_refcnt_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + skc_reuse: ::core::ffi::c_uchar, + skc_reuseport: ::core::ffi::c_uchar, + skc_ipv6only: ::core::ffi::c_uchar, + skc_net_refcnt: ::core::ffi::c_uchar, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let skc_reuse: u8 = unsafe { ::core::mem::transmute(skc_reuse) }; + skc_reuse as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let skc_reuseport: u8 = unsafe { ::core::mem::transmute(skc_reuseport) }; + skc_reuseport as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let skc_ipv6only: u8 = unsafe { ::core::mem::transmute(skc_ipv6only) }; + skc_ipv6only as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let skc_net_refcnt: u8 = unsafe { ::core::mem::transmute(skc_net_refcnt) }; + skc_net_refcnt as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_frag { + pub page: *mut page, + pub offset: __u32, + pub size: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_frag"][::core::mem::size_of::() - 16usize]; + ["Alignment of page_frag"][::core::mem::align_of::() - 8usize]; + ["Offset of field: page_frag::page"][::core::mem::offset_of!(page_frag, page) - 0usize]; + ["Offset of field: page_frag::offset"][::core::mem::offset_of!(page_frag, offset) - 8usize]; + ["Offset of field: page_frag::size"][::core::mem::offset_of!(page_frag, size) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sock_cgroup_data { + pub cgroup: *mut cgroup, + pub classid: u32_, + pub prioidx: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_cgroup_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of sock_cgroup_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_cgroup_data::cgroup"] + [::core::mem::offset_of!(sock_cgroup_data, cgroup) - 0usize]; + ["Offset of field: sock_cgroup_data::classid"] + [::core::mem::offset_of!(sock_cgroup_data, classid) - 8usize]; + ["Offset of field: sock_cgroup_data::prioidx"] + [::core::mem::offset_of!(sock_cgroup_data, prioidx) - 12usize]; +}; +#[repr(C)] +pub struct sock { + pub __sk_common: sock_common, + pub __cacheline_group_begin__sock_write_rx: __IncompleteArrayField<__u8>, + pub sk_drops: atomic_t, + pub sk_peek_off: __s32, + pub sk_error_queue: sk_buff_head, + pub sk_receive_queue: sk_buff_head, + pub sk_backlog: sock__bindgen_ty_1, + pub __cacheline_group_end__sock_write_rx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__sock_read_rx: __IncompleteArrayField<__u8>, + pub sk_rx_dst: *mut dst_entry, + pub sk_rx_dst_ifindex: ::core::ffi::c_int, + pub sk_rx_dst_cookie: u32_, + pub sk_ll_usec: ::core::ffi::c_uint, + pub sk_napi_id: ::core::ffi::c_uint, + pub sk_busy_poll_budget: u16_, + pub sk_prefer_busy_poll: u8_, + pub sk_userlocks: u8_, + pub sk_rcvbuf: ::core::ffi::c_int, + pub sk_filter: *mut sk_filter, + pub __bindgen_anon_1: sock__bindgen_ty_2, + pub sk_data_ready: ::core::option::Option, + pub sk_rcvtimeo: ::core::ffi::c_long, + pub sk_rcvlowat: ::core::ffi::c_int, + pub __cacheline_group_end__sock_read_rx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__sock_read_rxtx: __IncompleteArrayField<__u8>, + pub sk_err: ::core::ffi::c_int, + pub sk_socket: *mut socket, + pub sk_memcg: *mut mem_cgroup, + pub sk_policy: [*mut xfrm_policy; 2usize], + pub __cacheline_group_end__sock_read_rxtx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__sock_write_rxtx: __IncompleteArrayField<__u8>, + pub sk_lock: socket_lock_t, + pub sk_reserved_mem: u32_, + pub sk_forward_alloc: ::core::ffi::c_int, + pub sk_tsflags: u32_, + pub __cacheline_group_end__sock_write_rxtx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__sock_write_tx: __IncompleteArrayField<__u8>, + pub sk_write_pending: ::core::ffi::c_int, + pub sk_omem_alloc: atomic_t, + pub sk_sndbuf: ::core::ffi::c_int, + pub sk_wmem_queued: ::core::ffi::c_int, + pub sk_wmem_alloc: refcount_t, + pub sk_tsq_flags: ::core::ffi::c_ulong, + pub __bindgen_anon_2: sock__bindgen_ty_3, + pub sk_write_queue: sk_buff_head, + pub sk_dst_pending_confirm: u32_, + pub sk_pacing_status: u32_, + pub sk_frag: page_frag, + pub sk_timer: timer_list, + pub sk_pacing_rate: ::core::ffi::c_ulong, + pub sk_zckey: atomic_t, + pub sk_tskey: atomic_t, + pub __cacheline_group_end__sock_write_tx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__sock_read_tx: __IncompleteArrayField<__u8>, + pub sk_max_pacing_rate: ::core::ffi::c_ulong, + pub sk_sndtimeo: ::core::ffi::c_long, + pub sk_priority: u32_, + pub sk_mark: u32_, + pub sk_dst_cache: *mut dst_entry, + pub sk_route_caps: netdev_features_t, + pub sk_validate_xmit_skb: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut net_device, + arg3: *mut sk_buff, + ) -> *mut sk_buff, + >, + pub sk_gso_type: u16_, + pub sk_gso_max_segs: u16_, + pub sk_gso_max_size: ::core::ffi::c_uint, + pub sk_allocation: gfp_t, + pub sk_txhash: u32_, + pub sk_pacing_shift: u8_, + pub sk_use_task_frag: bool_, + pub __cacheline_group_end__sock_read_tx: __IncompleteArrayField<__u8>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub sk_shutdown: u8_, + pub sk_type: u16_, + pub sk_protocol: u16_, + pub sk_lingertime: ::core::ffi::c_ulong, + pub sk_prot_creator: *mut proto, + pub sk_callback_lock: rwlock_t, + pub sk_err_soft: ::core::ffi::c_int, + pub sk_ack_backlog: u32_, + pub sk_max_ack_backlog: u32_, + pub sk_uid: kuid_t, + pub sk_peer_lock: spinlock_t, + pub sk_bind_phc: ::core::ffi::c_int, + pub sk_peer_pid: *mut pid, + pub sk_peer_cred: *const cred, + pub sk_stamp: ktime_t, + pub sk_disconnects: ::core::ffi::c_int, + pub sk_txrehash: u8_, + pub sk_clockid: u8_, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>, + pub sk_user_data: *mut ::core::ffi::c_void, + pub sk_security: *mut ::core::ffi::c_void, + pub sk_cgrp_data: sock_cgroup_data, + pub sk_state_change: ::core::option::Option, + pub sk_write_space: ::core::option::Option, + pub sk_error_report: ::core::option::Option, + pub sk_backlog_rcv: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub sk_destruct: ::core::option::Option, + pub sk_reuseport_cb: *mut sock_reuseport, + pub sk_bpf_storage: *mut bpf_local_storage, + pub sk_rcu: callback_head, + pub ns_tracker: netns_tracker, + pub sk_user_frags: xarray, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sock__bindgen_ty_1 { + pub rmem_alloc: atomic_t, + pub len: ::core::ffi::c_int, + pub head: *mut sk_buff, + pub tail: *mut sk_buff, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of sock__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock__bindgen_ty_1::rmem_alloc"] + [::core::mem::offset_of!(sock__bindgen_ty_1, rmem_alloc) - 0usize]; + ["Offset of field: sock__bindgen_ty_1::len"] + [::core::mem::offset_of!(sock__bindgen_ty_1, len) - 4usize]; + ["Offset of field: sock__bindgen_ty_1::head"] + [::core::mem::offset_of!(sock__bindgen_ty_1, head) - 8usize]; + ["Offset of field: sock__bindgen_ty_1::tail"] + [::core::mem::offset_of!(sock__bindgen_ty_1, tail) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock__bindgen_ty_2 { + pub sk_wq: *mut socket_wq, + pub sk_wq_raw: *mut socket_wq, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock__bindgen_ty_2"][::core::mem::size_of::() - 8usize]; + ["Alignment of sock__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock__bindgen_ty_2::sk_wq"] + [::core::mem::offset_of!(sock__bindgen_ty_2, sk_wq) - 0usize]; + ["Offset of field: sock__bindgen_ty_2::sk_wq_raw"] + [::core::mem::offset_of!(sock__bindgen_ty_2, sk_wq_raw) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sock__bindgen_ty_3 { + pub sk_send_head: *mut sk_buff, + pub tcp_rtx_queue: rb_root, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock__bindgen_ty_3"][::core::mem::size_of::() - 8usize]; + ["Alignment of sock__bindgen_ty_3"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock__bindgen_ty_3::sk_send_head"] + [::core::mem::offset_of!(sock__bindgen_ty_3, sk_send_head) - 0usize]; + ["Offset of field: sock__bindgen_ty_3::tcp_rtx_queue"] + [::core::mem::offset_of!(sock__bindgen_ty_3, tcp_rtx_queue) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock"][::core::mem::size_of::() - 776usize]; + ["Alignment of sock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock::__sk_common"][::core::mem::offset_of!(sock, __sk_common) - 0usize]; + ["Offset of field: sock::__cacheline_group_begin__sock_write_rx"] + [::core::mem::offset_of!(sock, __cacheline_group_begin__sock_write_rx) - 136usize]; + ["Offset of field: sock::sk_drops"][::core::mem::offset_of!(sock, sk_drops) - 136usize]; + ["Offset of field: sock::sk_peek_off"][::core::mem::offset_of!(sock, sk_peek_off) - 140usize]; + ["Offset of field: sock::sk_error_queue"] + [::core::mem::offset_of!(sock, sk_error_queue) - 144usize]; + ["Offset of field: sock::sk_receive_queue"] + [::core::mem::offset_of!(sock, sk_receive_queue) - 168usize]; + ["Offset of field: sock::sk_backlog"][::core::mem::offset_of!(sock, sk_backlog) - 192usize]; + ["Offset of field: sock::__cacheline_group_end__sock_write_rx"] + [::core::mem::offset_of!(sock, __cacheline_group_end__sock_write_rx) - 216usize]; + ["Offset of field: sock::__cacheline_group_begin__sock_read_rx"] + [::core::mem::offset_of!(sock, __cacheline_group_begin__sock_read_rx) - 216usize]; + ["Offset of field: sock::sk_rx_dst"][::core::mem::offset_of!(sock, sk_rx_dst) - 216usize]; + ["Offset of field: sock::sk_rx_dst_ifindex"] + [::core::mem::offset_of!(sock, sk_rx_dst_ifindex) - 224usize]; + ["Offset of field: sock::sk_rx_dst_cookie"] + [::core::mem::offset_of!(sock, sk_rx_dst_cookie) - 228usize]; + ["Offset of field: sock::sk_ll_usec"][::core::mem::offset_of!(sock, sk_ll_usec) - 232usize]; + ["Offset of field: sock::sk_napi_id"][::core::mem::offset_of!(sock, sk_napi_id) - 236usize]; + ["Offset of field: sock::sk_busy_poll_budget"] + [::core::mem::offset_of!(sock, sk_busy_poll_budget) - 240usize]; + ["Offset of field: sock::sk_prefer_busy_poll"] + [::core::mem::offset_of!(sock, sk_prefer_busy_poll) - 242usize]; + ["Offset of field: sock::sk_userlocks"][::core::mem::offset_of!(sock, sk_userlocks) - 243usize]; + ["Offset of field: sock::sk_rcvbuf"][::core::mem::offset_of!(sock, sk_rcvbuf) - 244usize]; + ["Offset of field: sock::sk_filter"][::core::mem::offset_of!(sock, sk_filter) - 248usize]; + ["Offset of field: sock::sk_data_ready"] + [::core::mem::offset_of!(sock, sk_data_ready) - 264usize]; + ["Offset of field: sock::sk_rcvtimeo"][::core::mem::offset_of!(sock, sk_rcvtimeo) - 272usize]; + ["Offset of field: sock::sk_rcvlowat"][::core::mem::offset_of!(sock, sk_rcvlowat) - 280usize]; + ["Offset of field: sock::__cacheline_group_end__sock_read_rx"] + [::core::mem::offset_of!(sock, __cacheline_group_end__sock_read_rx) - 284usize]; + ["Offset of field: sock::__cacheline_group_begin__sock_read_rxtx"] + [::core::mem::offset_of!(sock, __cacheline_group_begin__sock_read_rxtx) - 284usize]; + ["Offset of field: sock::sk_err"][::core::mem::offset_of!(sock, sk_err) - 284usize]; + ["Offset of field: sock::sk_socket"][::core::mem::offset_of!(sock, sk_socket) - 288usize]; + ["Offset of field: sock::sk_memcg"][::core::mem::offset_of!(sock, sk_memcg) - 296usize]; + ["Offset of field: sock::sk_policy"][::core::mem::offset_of!(sock, sk_policy) - 304usize]; + ["Offset of field: sock::__cacheline_group_end__sock_read_rxtx"] + [::core::mem::offset_of!(sock, __cacheline_group_end__sock_read_rxtx) - 320usize]; + ["Offset of field: sock::__cacheline_group_begin__sock_write_rxtx"] + [::core::mem::offset_of!(sock, __cacheline_group_begin__sock_write_rxtx) - 320usize]; + ["Offset of field: sock::sk_lock"][::core::mem::offset_of!(sock, sk_lock) - 320usize]; + ["Offset of field: sock::sk_reserved_mem"] + [::core::mem::offset_of!(sock, sk_reserved_mem) - 352usize]; + ["Offset of field: sock::sk_forward_alloc"] + [::core::mem::offset_of!(sock, sk_forward_alloc) - 356usize]; + ["Offset of field: sock::sk_tsflags"][::core::mem::offset_of!(sock, sk_tsflags) - 360usize]; + ["Offset of field: sock::__cacheline_group_end__sock_write_rxtx"] + [::core::mem::offset_of!(sock, __cacheline_group_end__sock_write_rxtx) - 364usize]; + ["Offset of field: sock::__cacheline_group_begin__sock_write_tx"] + [::core::mem::offset_of!(sock, __cacheline_group_begin__sock_write_tx) - 364usize]; + ["Offset of field: sock::sk_write_pending"] + [::core::mem::offset_of!(sock, sk_write_pending) - 364usize]; + ["Offset of field: sock::sk_omem_alloc"] + [::core::mem::offset_of!(sock, sk_omem_alloc) - 368usize]; + ["Offset of field: sock::sk_sndbuf"][::core::mem::offset_of!(sock, sk_sndbuf) - 372usize]; + ["Offset of field: sock::sk_wmem_queued"] + [::core::mem::offset_of!(sock, sk_wmem_queued) - 376usize]; + ["Offset of field: sock::sk_wmem_alloc"] + [::core::mem::offset_of!(sock, sk_wmem_alloc) - 380usize]; + ["Offset of field: sock::sk_tsq_flags"][::core::mem::offset_of!(sock, sk_tsq_flags) - 384usize]; + ["Offset of field: sock::sk_write_queue"] + [::core::mem::offset_of!(sock, sk_write_queue) - 400usize]; + ["Offset of field: sock::sk_dst_pending_confirm"] + [::core::mem::offset_of!(sock, sk_dst_pending_confirm) - 424usize]; + ["Offset of field: sock::sk_pacing_status"] + [::core::mem::offset_of!(sock, sk_pacing_status) - 428usize]; + ["Offset of field: sock::sk_frag"][::core::mem::offset_of!(sock, sk_frag) - 432usize]; + ["Offset of field: sock::sk_timer"][::core::mem::offset_of!(sock, sk_timer) - 448usize]; + ["Offset of field: sock::sk_pacing_rate"] + [::core::mem::offset_of!(sock, sk_pacing_rate) - 488usize]; + ["Offset of field: sock::sk_zckey"][::core::mem::offset_of!(sock, sk_zckey) - 496usize]; + ["Offset of field: sock::sk_tskey"][::core::mem::offset_of!(sock, sk_tskey) - 500usize]; + ["Offset of field: sock::__cacheline_group_end__sock_write_tx"] + [::core::mem::offset_of!(sock, __cacheline_group_end__sock_write_tx) - 504usize]; + ["Offset of field: sock::__cacheline_group_begin__sock_read_tx"] + [::core::mem::offset_of!(sock, __cacheline_group_begin__sock_read_tx) - 504usize]; + ["Offset of field: sock::sk_max_pacing_rate"] + [::core::mem::offset_of!(sock, sk_max_pacing_rate) - 504usize]; + ["Offset of field: sock::sk_sndtimeo"][::core::mem::offset_of!(sock, sk_sndtimeo) - 512usize]; + ["Offset of field: sock::sk_priority"][::core::mem::offset_of!(sock, sk_priority) - 520usize]; + ["Offset of field: sock::sk_mark"][::core::mem::offset_of!(sock, sk_mark) - 524usize]; + ["Offset of field: sock::sk_dst_cache"][::core::mem::offset_of!(sock, sk_dst_cache) - 528usize]; + ["Offset of field: sock::sk_route_caps"] + [::core::mem::offset_of!(sock, sk_route_caps) - 536usize]; + ["Offset of field: sock::sk_validate_xmit_skb"] + [::core::mem::offset_of!(sock, sk_validate_xmit_skb) - 544usize]; + ["Offset of field: sock::sk_gso_type"][::core::mem::offset_of!(sock, sk_gso_type) - 552usize]; + ["Offset of field: sock::sk_gso_max_segs"] + [::core::mem::offset_of!(sock, sk_gso_max_segs) - 554usize]; + ["Offset of field: sock::sk_gso_max_size"] + [::core::mem::offset_of!(sock, sk_gso_max_size) - 556usize]; + ["Offset of field: sock::sk_allocation"] + [::core::mem::offset_of!(sock, sk_allocation) - 560usize]; + ["Offset of field: sock::sk_txhash"][::core::mem::offset_of!(sock, sk_txhash) - 564usize]; + ["Offset of field: sock::sk_pacing_shift"] + [::core::mem::offset_of!(sock, sk_pacing_shift) - 568usize]; + ["Offset of field: sock::sk_use_task_frag"] + [::core::mem::offset_of!(sock, sk_use_task_frag) - 569usize]; + ["Offset of field: sock::__cacheline_group_end__sock_read_tx"] + [::core::mem::offset_of!(sock, __cacheline_group_end__sock_read_tx) - 570usize]; + ["Offset of field: sock::sk_shutdown"][::core::mem::offset_of!(sock, sk_shutdown) - 571usize]; + ["Offset of field: sock::sk_type"][::core::mem::offset_of!(sock, sk_type) - 572usize]; + ["Offset of field: sock::sk_protocol"][::core::mem::offset_of!(sock, sk_protocol) - 574usize]; + ["Offset of field: sock::sk_lingertime"] + [::core::mem::offset_of!(sock, sk_lingertime) - 576usize]; + ["Offset of field: sock::sk_prot_creator"] + [::core::mem::offset_of!(sock, sk_prot_creator) - 584usize]; + ["Offset of field: sock::sk_callback_lock"] + [::core::mem::offset_of!(sock, sk_callback_lock) - 592usize]; + ["Offset of field: sock::sk_err_soft"][::core::mem::offset_of!(sock, sk_err_soft) - 600usize]; + ["Offset of field: sock::sk_ack_backlog"] + [::core::mem::offset_of!(sock, sk_ack_backlog) - 604usize]; + ["Offset of field: sock::sk_max_ack_backlog"] + [::core::mem::offset_of!(sock, sk_max_ack_backlog) - 608usize]; + ["Offset of field: sock::sk_uid"][::core::mem::offset_of!(sock, sk_uid) - 612usize]; + ["Offset of field: sock::sk_peer_lock"][::core::mem::offset_of!(sock, sk_peer_lock) - 616usize]; + ["Offset of field: sock::sk_bind_phc"][::core::mem::offset_of!(sock, sk_bind_phc) - 620usize]; + ["Offset of field: sock::sk_peer_pid"][::core::mem::offset_of!(sock, sk_peer_pid) - 624usize]; + ["Offset of field: sock::sk_peer_cred"][::core::mem::offset_of!(sock, sk_peer_cred) - 632usize]; + ["Offset of field: sock::sk_stamp"][::core::mem::offset_of!(sock, sk_stamp) - 640usize]; + ["Offset of field: sock::sk_disconnects"] + [::core::mem::offset_of!(sock, sk_disconnects) - 648usize]; + ["Offset of field: sock::sk_txrehash"][::core::mem::offset_of!(sock, sk_txrehash) - 652usize]; + ["Offset of field: sock::sk_clockid"][::core::mem::offset_of!(sock, sk_clockid) - 653usize]; + ["Offset of field: sock::sk_user_data"][::core::mem::offset_of!(sock, sk_user_data) - 656usize]; + ["Offset of field: sock::sk_security"][::core::mem::offset_of!(sock, sk_security) - 664usize]; + ["Offset of field: sock::sk_cgrp_data"][::core::mem::offset_of!(sock, sk_cgrp_data) - 672usize]; + ["Offset of field: sock::sk_state_change"] + [::core::mem::offset_of!(sock, sk_state_change) - 688usize]; + ["Offset of field: sock::sk_write_space"] + [::core::mem::offset_of!(sock, sk_write_space) - 696usize]; + ["Offset of field: sock::sk_error_report"] + [::core::mem::offset_of!(sock, sk_error_report) - 704usize]; + ["Offset of field: sock::sk_backlog_rcv"] + [::core::mem::offset_of!(sock, sk_backlog_rcv) - 712usize]; + ["Offset of field: sock::sk_destruct"][::core::mem::offset_of!(sock, sk_destruct) - 720usize]; + ["Offset of field: sock::sk_reuseport_cb"] + [::core::mem::offset_of!(sock, sk_reuseport_cb) - 728usize]; + ["Offset of field: sock::sk_bpf_storage"] + [::core::mem::offset_of!(sock, sk_bpf_storage) - 736usize]; + ["Offset of field: sock::sk_rcu"][::core::mem::offset_of!(sock, sk_rcu) - 744usize]; + ["Offset of field: sock::ns_tracker"][::core::mem::offset_of!(sock, ns_tracker) - 760usize]; + ["Offset of field: sock::sk_user_frags"] + [::core::mem::offset_of!(sock, sk_user_frags) - 760usize]; +}; +impl sock { + #[inline] + pub fn sk_gso_disabled(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_sk_gso_disabled(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sk_gso_disabled_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sk_gso_disabled_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sk_kern_sock(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_sk_kern_sock(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sk_kern_sock_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sk_kern_sock_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sk_no_check_tx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_sk_no_check_tx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sk_no_check_tx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sk_no_check_tx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sk_no_check_rx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_sk_no_check_rx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sk_no_check_rx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sk_no_check_rx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + sk_gso_disabled: u8_, + sk_kern_sock: u8_, + sk_no_check_tx: u8_, + sk_no_check_rx: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let sk_gso_disabled: u8 = unsafe { ::core::mem::transmute(sk_gso_disabled) }; + sk_gso_disabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let sk_kern_sock: u8 = unsafe { ::core::mem::transmute(sk_kern_sock) }; + sk_kern_sock as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let sk_no_check_tx: u8 = unsafe { ::core::mem::transmute(sk_no_check_tx) }; + sk_no_check_tx as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let sk_no_check_rx: u8 = unsafe { ::core::mem::transmute(sk_no_check_rx) }; + sk_no_check_rx as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn sk_txtime_deadline_mode(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_sk_txtime_deadline_mode(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sk_txtime_deadline_mode_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sk_txtime_deadline_mode_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sk_txtime_report_errors(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_sk_txtime_report_errors(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sk_txtime_report_errors_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sk_txtime_report_errors_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sk_txtime_unused(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 6u8) as u8) } + } + #[inline] + pub fn set_sk_txtime_unused(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(2usize, 6u8, val as u64) + } + } + #[inline] + pub unsafe fn sk_txtime_unused_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 2usize, + 6u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sk_txtime_unused_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 2usize, + 6u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2( + sk_txtime_deadline_mode: u8_, + sk_txtime_report_errors: u8_, + sk_txtime_unused: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let sk_txtime_deadline_mode: u8 = + unsafe { ::core::mem::transmute(sk_txtime_deadline_mode) }; + sk_txtime_deadline_mode as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let sk_txtime_report_errors: u8 = + unsafe { ::core::mem::transmute(sk_txtime_report_errors) }; + sk_txtime_report_errors as u64 + }); + __bindgen_bitfield_unit.set(2usize, 6u8, { + let sk_txtime_unused: u8 = unsafe { ::core::mem::transmute(sk_txtime_unused) }; + sk_txtime_unused as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_msg_sg { + pub start: u32_, + pub curr: u32_, + pub end: u32_, + pub size: u32_, + pub copybreak: u32_, + pub copy: [::core::ffi::c_ulong; 1usize], + pub data: [scatterlist; 19usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_msg_sg"][::core::mem::size_of::() - 640usize]; + ["Alignment of sk_msg_sg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_msg_sg::start"][::core::mem::offset_of!(sk_msg_sg, start) - 0usize]; + ["Offset of field: sk_msg_sg::curr"][::core::mem::offset_of!(sk_msg_sg, curr) - 4usize]; + ["Offset of field: sk_msg_sg::end"][::core::mem::offset_of!(sk_msg_sg, end) - 8usize]; + ["Offset of field: sk_msg_sg::size"][::core::mem::offset_of!(sk_msg_sg, size) - 12usize]; + ["Offset of field: sk_msg_sg::copybreak"] + [::core::mem::offset_of!(sk_msg_sg, copybreak) - 16usize]; + ["Offset of field: sk_msg_sg::copy"][::core::mem::offset_of!(sk_msg_sg, copy) - 24usize]; + ["Offset of field: sk_msg_sg::data"][::core::mem::offset_of!(sk_msg_sg, data) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_msg { + pub sg: sk_msg_sg, + pub data: *mut ::core::ffi::c_void, + pub data_end: *mut ::core::ffi::c_void, + pub apply_bytes: u32_, + pub cork_bytes: u32_, + pub flags: u32_, + pub skb: *mut sk_buff, + pub sk_redir: *mut sock, + pub sk: *mut sock, + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_msg"][::core::mem::size_of::() - 712usize]; + ["Alignment of sk_msg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_msg::sg"][::core::mem::offset_of!(sk_msg, sg) - 0usize]; + ["Offset of field: sk_msg::data"][::core::mem::offset_of!(sk_msg, data) - 640usize]; + ["Offset of field: sk_msg::data_end"][::core::mem::offset_of!(sk_msg, data_end) - 648usize]; + ["Offset of field: sk_msg::apply_bytes"] + [::core::mem::offset_of!(sk_msg, apply_bytes) - 656usize]; + ["Offset of field: sk_msg::cork_bytes"][::core::mem::offset_of!(sk_msg, cork_bytes) - 660usize]; + ["Offset of field: sk_msg::flags"][::core::mem::offset_of!(sk_msg, flags) - 664usize]; + ["Offset of field: sk_msg::skb"][::core::mem::offset_of!(sk_msg, skb) - 672usize]; + ["Offset of field: sk_msg::sk_redir"][::core::mem::offset_of!(sk_msg, sk_redir) - 680usize]; + ["Offset of field: sk_msg::sk"][::core::mem::offset_of!(sk_msg, sk) - 688usize]; + ["Offset of field: sk_msg::list"][::core::mem::offset_of!(sk_msg, list) - 696usize]; +}; +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct fred_cs { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>, + pub __bindgen_padding_0: [u8; 5usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fred_cs"][::core::mem::size_of::() - 8usize]; + ["Alignment of fred_cs"][::core::mem::align_of::() - 8usize]; +}; +impl fred_cs { + #[inline] + pub fn cs(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u64) } + } + #[inline] + pub fn set_cs(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn cs_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 16u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cs_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn sl(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 2u8) as u64) } + } + #[inline] + pub fn set_sl(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn sl_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 2u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_sl_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn wfe(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) } + } + #[inline] + pub fn set_wfe(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wfe_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 18usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_wfe_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 18usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(cs: u64_, sl: u64_, wfe: u64_) -> __BindgenBitfieldUnit<[u8; 3usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let cs: u64 = unsafe { ::core::mem::transmute(cs) }; + cs as u64 + }); + __bindgen_bitfield_unit.set(16usize, 2u8, { + let sl: u64 = unsafe { ::core::mem::transmute(sl) }; + sl as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let wfe: u64 = unsafe { ::core::mem::transmute(wfe) }; + wfe as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct fred_ss { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fred_ss"][::core::mem::size_of::() - 8usize]; + ["Alignment of fred_ss"][::core::mem::align_of::() - 8usize]; +}; +impl fred_ss { + #[inline] + pub fn ss(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u64) } + } + #[inline] + pub fn set_ss(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn ss_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 16u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_ss_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn sti(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u64) } + } + #[inline] + pub fn set_sti(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sti_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_sti_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn swevent(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) } + } + #[inline] + pub fn set_swevent(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn swevent_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 17usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_swevent_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 17usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nmi(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) } + } + #[inline] + pub fn set_nmi(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn nmi_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 18usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_nmi_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 18usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn vector(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 8u8) as u64) } + } + #[inline] + pub fn set_vector(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(32usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn vector_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 32usize, + 8u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_vector_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 32usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn type_(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(48usize, 4u8) as u64) } + } + #[inline] + pub fn set_type(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(48usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn type__raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 48usize, + 4u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_type_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 48usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn enclave(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(56usize, 1u8) as u64) } + } + #[inline] + pub fn set_enclave(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(56usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn enclave_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 56usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_enclave_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 56usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn lm(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(57usize, 1u8) as u64) } + } + #[inline] + pub fn set_lm(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(57usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn lm_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 57usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_lm_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 57usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nested(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(58usize, 1u8) as u64) } + } + #[inline] + pub fn set_nested(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(58usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn nested_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 58usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_nested_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 58usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn insnlen(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(60usize, 4u8) as u64) } + } + #[inline] + pub fn set_insnlen(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(60usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn insnlen_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 60usize, + 4u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_insnlen_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 60usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + ss: u64_, + sti: u64_, + swevent: u64_, + nmi: u64_, + vector: u64_, + type_: u64_, + enclave: u64_, + lm: u64_, + nested: u64_, + insnlen: u64_, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let ss: u64 = unsafe { ::core::mem::transmute(ss) }; + ss as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let sti: u64 = unsafe { ::core::mem::transmute(sti) }; + sti as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let swevent: u64 = unsafe { ::core::mem::transmute(swevent) }; + swevent as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let nmi: u64 = unsafe { ::core::mem::transmute(nmi) }; + nmi as u64 + }); + __bindgen_bitfield_unit.set(32usize, 8u8, { + let vector: u64 = unsafe { ::core::mem::transmute(vector) }; + vector as u64 + }); + __bindgen_bitfield_unit.set(48usize, 4u8, { + let type_: u64 = unsafe { ::core::mem::transmute(type_) }; + type_ as u64 + }); + __bindgen_bitfield_unit.set(56usize, 1u8, { + let enclave: u64 = unsafe { ::core::mem::transmute(enclave) }; + enclave as u64 + }); + __bindgen_bitfield_unit.set(57usize, 1u8, { + let lm: u64 = unsafe { ::core::mem::transmute(lm) }; + lm as u64 + }); + __bindgen_bitfield_unit.set(58usize, 1u8, { + let nested: u64 = unsafe { ::core::mem::transmute(nested) }; + nested as u64 + }); + __bindgen_bitfield_unit.set(60usize, 4u8, { + let insnlen: u64 = unsafe { ::core::mem::transmute(insnlen) }; + insnlen as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct pt_regs { + pub r15: ::core::ffi::c_ulong, + pub r14: ::core::ffi::c_ulong, + pub r13: ::core::ffi::c_ulong, + pub r12: ::core::ffi::c_ulong, + pub bp: ::core::ffi::c_ulong, + pub bx: ::core::ffi::c_ulong, + pub r11: ::core::ffi::c_ulong, + pub r10: ::core::ffi::c_ulong, + pub r9: ::core::ffi::c_ulong, + pub r8: ::core::ffi::c_ulong, + pub ax: ::core::ffi::c_ulong, + pub cx: ::core::ffi::c_ulong, + pub dx: ::core::ffi::c_ulong, + pub si: ::core::ffi::c_ulong, + pub di: ::core::ffi::c_ulong, + pub orig_ax: ::core::ffi::c_ulong, + pub ip: ::core::ffi::c_ulong, + pub __bindgen_anon_1: pt_regs__bindgen_ty_1, + pub flags: ::core::ffi::c_ulong, + pub sp: ::core::ffi::c_ulong, + pub __bindgen_anon_2: pt_regs__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pt_regs__bindgen_ty_1 { + pub cs: u16_, + pub csx: u64_, + pub fred_cs: fred_cs, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pt_regs__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of pt_regs__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: pt_regs__bindgen_ty_1::cs"] + [::core::mem::offset_of!(pt_regs__bindgen_ty_1, cs) - 0usize]; + ["Offset of field: pt_regs__bindgen_ty_1::csx"] + [::core::mem::offset_of!(pt_regs__bindgen_ty_1, csx) - 0usize]; + ["Offset of field: pt_regs__bindgen_ty_1::fred_cs"] + [::core::mem::offset_of!(pt_regs__bindgen_ty_1, fred_cs) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union pt_regs__bindgen_ty_2 { + pub ss: u16_, + pub ssx: u64_, + pub fred_ss: fred_ss, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pt_regs__bindgen_ty_2"][::core::mem::size_of::() - 8usize]; + ["Alignment of pt_regs__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: pt_regs__bindgen_ty_2::ss"] + [::core::mem::offset_of!(pt_regs__bindgen_ty_2, ss) - 0usize]; + ["Offset of field: pt_regs__bindgen_ty_2::ssx"] + [::core::mem::offset_of!(pt_regs__bindgen_ty_2, ssx) - 0usize]; + ["Offset of field: pt_regs__bindgen_ty_2::fred_ss"] + [::core::mem::offset_of!(pt_regs__bindgen_ty_2, fred_ss) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pt_regs"][::core::mem::size_of::() - 168usize]; + ["Alignment of pt_regs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pt_regs::r15"][::core::mem::offset_of!(pt_regs, r15) - 0usize]; + ["Offset of field: pt_regs::r14"][::core::mem::offset_of!(pt_regs, r14) - 8usize]; + ["Offset of field: pt_regs::r13"][::core::mem::offset_of!(pt_regs, r13) - 16usize]; + ["Offset of field: pt_regs::r12"][::core::mem::offset_of!(pt_regs, r12) - 24usize]; + ["Offset of field: pt_regs::bp"][::core::mem::offset_of!(pt_regs, bp) - 32usize]; + ["Offset of field: pt_regs::bx"][::core::mem::offset_of!(pt_regs, bx) - 40usize]; + ["Offset of field: pt_regs::r11"][::core::mem::offset_of!(pt_regs, r11) - 48usize]; + ["Offset of field: pt_regs::r10"][::core::mem::offset_of!(pt_regs, r10) - 56usize]; + ["Offset of field: pt_regs::r9"][::core::mem::offset_of!(pt_regs, r9) - 64usize]; + ["Offset of field: pt_regs::r8"][::core::mem::offset_of!(pt_regs, r8) - 72usize]; + ["Offset of field: pt_regs::ax"][::core::mem::offset_of!(pt_regs, ax) - 80usize]; + ["Offset of field: pt_regs::cx"][::core::mem::offset_of!(pt_regs, cx) - 88usize]; + ["Offset of field: pt_regs::dx"][::core::mem::offset_of!(pt_regs, dx) - 96usize]; + ["Offset of field: pt_regs::si"][::core::mem::offset_of!(pt_regs, si) - 104usize]; + ["Offset of field: pt_regs::di"][::core::mem::offset_of!(pt_regs, di) - 112usize]; + ["Offset of field: pt_regs::orig_ax"][::core::mem::offset_of!(pt_regs, orig_ax) - 120usize]; + ["Offset of field: pt_regs::ip"][::core::mem::offset_of!(pt_regs, ip) - 128usize]; + ["Offset of field: pt_regs::flags"][::core::mem::offset_of!(pt_regs, flags) - 144usize]; + ["Offset of field: pt_regs::sp"][::core::mem::offset_of!(pt_regs, sp) - 152usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct latch_tree_node { + pub node: [rb_node; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of latch_tree_node"][::core::mem::size_of::() - 48usize]; + ["Alignment of latch_tree_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: latch_tree_node::node"] + [::core::mem::offset_of!(latch_tree_node, node) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_ksym { + pub start: ::core::ffi::c_ulong, + pub end: ::core::ffi::c_ulong, + pub name: [::core::ffi::c_char; 512usize], + pub lnode: list_head, + pub tnode: latch_tree_node, + pub prog: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_ksym"][::core::mem::size_of::() - 600usize]; + ["Alignment of bpf_ksym"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_ksym::start"][::core::mem::offset_of!(bpf_ksym, start) - 0usize]; + ["Offset of field: bpf_ksym::end"][::core::mem::offset_of!(bpf_ksym, end) - 8usize]; + ["Offset of field: bpf_ksym::name"][::core::mem::offset_of!(bpf_ksym, name) - 16usize]; + ["Offset of field: bpf_ksym::lnode"][::core::mem::offset_of!(bpf_ksym, lnode) - 528usize]; + ["Offset of field: bpf_ksym::tnode"][::core::mem::offset_of!(bpf_ksym, tnode) - 544usize]; + ["Offset of field: bpf_ksym::prog"][::core::mem::offset_of!(bpf_ksym, prog) - 592usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_prog_array_item { + pub prog: *mut bpf_prog, + pub __bindgen_anon_1: bpf_prog_array_item__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_prog_array_item__bindgen_ty_1 { + pub cgroup_storage: [*mut bpf_cgroup_storage; 2usize], + pub bpf_cookie: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_array_item__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_prog_array_item__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_array_item__bindgen_ty_1::cgroup_storage"] + [::core::mem::offset_of!(bpf_prog_array_item__bindgen_ty_1, cgroup_storage) - 0usize]; + ["Offset of field: bpf_prog_array_item__bindgen_ty_1::bpf_cookie"] + [::core::mem::offset_of!(bpf_prog_array_item__bindgen_ty_1, bpf_cookie) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_array_item"][::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_prog_array_item"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_array_item::prog"] + [::core::mem::offset_of!(bpf_prog_array_item, prog) - 0usize]; +}; +#[repr(C)] +pub struct bpf_prog_array { + pub rcu: callback_head, + pub items: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_array"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_prog_array"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_array::rcu"][::core::mem::offset_of!(bpf_prog_array, rcu) - 0usize]; + ["Offset of field: bpf_prog_array::items"] + [::core::mem::offset_of!(bpf_prog_array, items) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_info { + pub insn_off: __u32, + pub type_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_func_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_func_info::insn_off"] + [::core::mem::offset_of!(bpf_func_info, insn_off) - 0usize]; + ["Offset of field: bpf_func_info::type_id"] + [::core::mem::offset_of!(bpf_func_info, type_id) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_info_aux { + pub linkage: u16_, + pub unreliable: bool_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_info_aux"][::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_func_info_aux"][::core::mem::align_of::() - 2usize]; + ["Offset of field: bpf_func_info_aux::linkage"] + [::core::mem::offset_of!(bpf_func_info_aux, linkage) - 0usize]; + ["Offset of field: bpf_func_info_aux::unreliable"] + [::core::mem::offset_of!(bpf_func_info_aux, unreliable) - 2usize]; +}; +impl bpf_func_info_aux { + #[inline] + pub fn called(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_called(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn called_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_called_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn verified(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_verified(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn verified_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_verified_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(called: bool_, verified: bool_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let called: u8 = unsafe { ::core::mem::transmute(called) }; + called as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let verified: u8 = unsafe { ::core::mem::transmute(verified) }; + verified as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_func_proto { + pub func: ::core::option::Option< + unsafe extern "C" fn(arg1: u64_, arg2: u64_, arg3: u64_, arg4: u64_, arg5: u64_) -> u64_, + >, + pub gpl_only: bool_, + pub pkt_access: bool_, + pub might_sleep: bool_, + pub allow_fastcall: bool_, + pub ret_type: bpf_return_type, + pub __bindgen_anon_1: bpf_func_proto__bindgen_ty_1, + pub __bindgen_anon_2: bpf_func_proto__bindgen_ty_2, + pub ret_btf_id: *mut ::core::ffi::c_int, + pub allowed: ::core::option::Option bool_>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_func_proto__bindgen_ty_1 { + pub __bindgen_anon_1: bpf_func_proto__bindgen_ty_1__bindgen_ty_1, + pub arg_type: [bpf_arg_type; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_proto__bindgen_ty_1__bindgen_ty_1 { + pub arg1_type: bpf_arg_type, + pub arg2_type: bpf_arg_type, + pub arg3_type: bpf_arg_type, + pub arg4_type: bpf_arg_type, + pub arg5_type: bpf_arg_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_proto__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of bpf_func_proto__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_1__bindgen_ty_1::arg1_type"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_1__bindgen_ty_1, arg1_type) - 0usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_1__bindgen_ty_1::arg2_type"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_1__bindgen_ty_1, arg2_type) - 4usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_1__bindgen_ty_1::arg3_type"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_1__bindgen_ty_1, arg3_type) - 8usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_1__bindgen_ty_1::arg4_type"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_1__bindgen_ty_1, arg4_type) - 12usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_1__bindgen_ty_1::arg5_type"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_1__bindgen_ty_1, arg5_type) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_proto__bindgen_ty_1"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of bpf_func_proto__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_1::arg_type"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_1, arg_type) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_func_proto__bindgen_ty_2 { + pub __bindgen_anon_1: bpf_func_proto__bindgen_ty_2__bindgen_ty_1, + pub arg_btf_id: [*mut u32_; 5usize], + pub __bindgen_anon_2: bpf_func_proto__bindgen_ty_2__bindgen_ty_2, + pub arg_size: [usize; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_proto__bindgen_ty_2__bindgen_ty_1 { + pub arg1_btf_id: *mut u32_, + pub arg2_btf_id: *mut u32_, + pub arg3_btf_id: *mut u32_, + pub arg4_btf_id: *mut u32_, + pub arg5_btf_id: *mut u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_proto__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of bpf_func_proto__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_1::arg1_btf_id"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2__bindgen_ty_1, arg1_btf_id) - 0usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_1::arg2_btf_id"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2__bindgen_ty_1, arg2_btf_id) - 8usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_1::arg3_btf_id"][::core::mem::offset_of!( + bpf_func_proto__bindgen_ty_2__bindgen_ty_1, + arg3_btf_id + ) - 16usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_1::arg4_btf_id"][::core::mem::offset_of!( + bpf_func_proto__bindgen_ty_2__bindgen_ty_1, + arg4_btf_id + ) - 24usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_1::arg5_btf_id"][::core::mem::offset_of!( + bpf_func_proto__bindgen_ty_2__bindgen_ty_1, + arg5_btf_id + ) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_proto__bindgen_ty_2__bindgen_ty_2 { + pub arg1_size: usize, + pub arg2_size: usize, + pub arg3_size: usize, + pub arg4_size: usize, + pub arg5_size: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_proto__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of bpf_func_proto__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_2::arg1_size"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2__bindgen_ty_2, arg1_size) - 0usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_2::arg2_size"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2__bindgen_ty_2, arg2_size) - 8usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_2::arg3_size"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2__bindgen_ty_2, arg3_size) - 16usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_2::arg4_size"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2__bindgen_ty_2, arg4_size) - 24usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2__bindgen_ty_2::arg5_size"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2__bindgen_ty_2, arg5_size) - 32usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_proto__bindgen_ty_2"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of bpf_func_proto__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2::arg_btf_id"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2, arg_btf_id) - 0usize]; + ["Offset of field: bpf_func_proto__bindgen_ty_2::arg_size"] + [::core::mem::offset_of!(bpf_func_proto__bindgen_ty_2, arg_size) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_proto"][::core::mem::size_of::() - 96usize]; + ["Alignment of bpf_func_proto"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_func_proto::func"] + [::core::mem::offset_of!(bpf_func_proto, func) - 0usize]; + ["Offset of field: bpf_func_proto::gpl_only"] + [::core::mem::offset_of!(bpf_func_proto, gpl_only) - 8usize]; + ["Offset of field: bpf_func_proto::pkt_access"] + [::core::mem::offset_of!(bpf_func_proto, pkt_access) - 9usize]; + ["Offset of field: bpf_func_proto::might_sleep"] + [::core::mem::offset_of!(bpf_func_proto, might_sleep) - 10usize]; + ["Offset of field: bpf_func_proto::allow_fastcall"] + [::core::mem::offset_of!(bpf_func_proto, allow_fastcall) - 11usize]; + ["Offset of field: bpf_func_proto::ret_type"] + [::core::mem::offset_of!(bpf_func_proto, ret_type) - 12usize]; + ["Offset of field: bpf_func_proto::ret_btf_id"] + [::core::mem::offset_of!(bpf_func_proto, ret_btf_id) - 80usize]; + ["Offset of field: bpf_func_proto::allowed"] + [::core::mem::offset_of!(bpf_func_proto, allowed) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tnum { + pub value: u64_, + pub mask: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tnum"][::core::mem::size_of::() - 16usize]; + ["Alignment of tnum"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tnum::value"][::core::mem::offset_of!(tnum, value) - 0usize]; + ["Offset of field: tnum::mask"][::core::mem::offset_of!(tnum, mask) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_reg_state { + pub type_: bpf_reg_type, + pub off: s32, + pub __bindgen_anon_1: bpf_reg_state__bindgen_ty_1, + pub var_off: tnum, + pub smin_value: s64, + pub smax_value: s64, + pub umin_value: u64_, + pub umax_value: u64_, + pub s32_min_value: s32, + pub s32_max_value: s32, + pub u32_min_value: u32_, + pub u32_max_value: u32_, + pub id: u32_, + pub ref_obj_id: u32_, + pub parent: *mut bpf_reg_state, + pub frameno: u32_, + pub subreg_def: s32, + pub live: bpf_reg_liveness, + pub precise: bool_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_reg_state__bindgen_ty_1 { + pub range: ::core::ffi::c_int, + pub __bindgen_anon_1: bpf_reg_state__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: bpf_reg_state__bindgen_ty_1__bindgen_ty_2, + pub __bindgen_anon_3: bpf_reg_state__bindgen_ty_1__bindgen_ty_3, + pub dynptr: bpf_reg_state__bindgen_ty_1__bindgen_ty_4, + pub iter: bpf_reg_state__bindgen_ty_1__bindgen_ty_5, + pub raw: bpf_reg_state__bindgen_ty_1__bindgen_ty_6, + pub subprogno: u32_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_reg_state__bindgen_ty_1__bindgen_ty_1 { + pub map_ptr: *mut bpf_map, + pub map_uid: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_reg_state__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_1::map_ptr"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_1, map_ptr) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_1::map_uid"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_1, map_uid) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_reg_state__bindgen_ty_1__bindgen_ty_2 { + pub btf: *mut btf, + pub btf_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_reg_state__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_2::btf"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_2, btf) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_2::btf_id"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_2, btf_id) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_reg_state__bindgen_ty_1__bindgen_ty_3 { + pub mem_size: u32_, + pub dynptr_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_reg_state__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_3::mem_size"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_3, mem_size) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_3::dynptr_id"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_3, dynptr_id) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_reg_state__bindgen_ty_1__bindgen_ty_4 { + pub type_: bpf_dynptr_type, + pub first_slot: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_reg_state__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_4::type_"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_4, type_) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_4::first_slot"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_4, first_slot) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_reg_state__bindgen_ty_1__bindgen_ty_5 { + pub btf: *mut btf, + pub btf_id: u32_, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_reg_state__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_5::btf"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_5, btf) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_5::btf_id"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_5, btf_id) - 8usize]; +}; +impl bpf_reg_state__bindgen_ty_1__bindgen_ty_5 { + #[inline] + pub fn state(&self) -> bpf_iter_state { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_state(&mut self, val: bpf_iter_state) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn state_raw(this: *const Self) -> bpf_iter_state { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 2u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_state_raw(this: *mut Self, val: bpf_iter_state) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn depth(&self) -> ::core::ffi::c_int { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_depth(&mut self, val: ::core::ffi::c_int) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub unsafe fn depth_raw(this: *const Self) -> ::core::ffi::c_int { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 30u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_depth_raw(this: *mut Self, val: ::core::ffi::c_int) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 30u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + state: bpf_iter_state, + depth: ::core::ffi::c_int, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let state: u32 = unsafe { ::core::mem::transmute(state) }; + state as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let depth: u32 = unsafe { ::core::mem::transmute(depth) }; + depth as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_reg_state__bindgen_ty_1__bindgen_ty_6 { + pub raw1: ::core::ffi::c_ulong, + pub raw2: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_reg_state__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_6::raw1"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_6, raw1) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1__bindgen_ty_6::raw2"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1__bindgen_ty_6, raw2) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_reg_state__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1::range"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1, range) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1::dynptr"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1, dynptr) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1::iter"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1, iter) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1::raw"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1, raw) - 0usize]; + ["Offset of field: bpf_reg_state__bindgen_ty_1::subprogno"] + [::core::mem::offset_of!(bpf_reg_state__bindgen_ty_1, subprogno) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reg_state"][::core::mem::size_of::() - 120usize]; + ["Alignment of bpf_reg_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_reg_state::type_"] + [::core::mem::offset_of!(bpf_reg_state, type_) - 0usize]; + ["Offset of field: bpf_reg_state::off"][::core::mem::offset_of!(bpf_reg_state, off) - 4usize]; + ["Offset of field: bpf_reg_state::var_off"] + [::core::mem::offset_of!(bpf_reg_state, var_off) - 24usize]; + ["Offset of field: bpf_reg_state::smin_value"] + [::core::mem::offset_of!(bpf_reg_state, smin_value) - 40usize]; + ["Offset of field: bpf_reg_state::smax_value"] + [::core::mem::offset_of!(bpf_reg_state, smax_value) - 48usize]; + ["Offset of field: bpf_reg_state::umin_value"] + [::core::mem::offset_of!(bpf_reg_state, umin_value) - 56usize]; + ["Offset of field: bpf_reg_state::umax_value"] + [::core::mem::offset_of!(bpf_reg_state, umax_value) - 64usize]; + ["Offset of field: bpf_reg_state::s32_min_value"] + [::core::mem::offset_of!(bpf_reg_state, s32_min_value) - 72usize]; + ["Offset of field: bpf_reg_state::s32_max_value"] + [::core::mem::offset_of!(bpf_reg_state, s32_max_value) - 76usize]; + ["Offset of field: bpf_reg_state::u32_min_value"] + [::core::mem::offset_of!(bpf_reg_state, u32_min_value) - 80usize]; + ["Offset of field: bpf_reg_state::u32_max_value"] + [::core::mem::offset_of!(bpf_reg_state, u32_max_value) - 84usize]; + ["Offset of field: bpf_reg_state::id"][::core::mem::offset_of!(bpf_reg_state, id) - 88usize]; + ["Offset of field: bpf_reg_state::ref_obj_id"] + [::core::mem::offset_of!(bpf_reg_state, ref_obj_id) - 92usize]; + ["Offset of field: bpf_reg_state::parent"] + [::core::mem::offset_of!(bpf_reg_state, parent) - 96usize]; + ["Offset of field: bpf_reg_state::frameno"] + [::core::mem::offset_of!(bpf_reg_state, frameno) - 104usize]; + ["Offset of field: bpf_reg_state::subreg_def"] + [::core::mem::offset_of!(bpf_reg_state, subreg_def) - 108usize]; + ["Offset of field: bpf_reg_state::live"] + [::core::mem::offset_of!(bpf_reg_state, live) - 112usize]; + ["Offset of field: bpf_reg_state::precise"] + [::core::mem::offset_of!(bpf_reg_state, precise) - 116usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_retval_range { + pub minval: s32, + pub maxval: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_retval_range"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_retval_range"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_retval_range::minval"] + [::core::mem::offset_of!(bpf_retval_range, minval) - 0usize]; + ["Offset of field: bpf_retval_range::maxval"] + [::core::mem::offset_of!(bpf_retval_range, maxval) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_func_state { + pub regs: [bpf_reg_state; 11usize], + pub callsite: ::core::ffi::c_int, + pub frameno: u32_, + pub subprogno: u32_, + pub async_entry_cnt: u32_, + pub callback_ret_range: bpf_retval_range, + pub in_callback_fn: bool_, + pub in_async_callback_fn: bool_, + pub in_exception_callback_fn: bool_, + pub callback_depth: u32_, + pub acquired_refs: ::core::ffi::c_int, + pub refs: *mut bpf_reference_state, + pub stack: *mut bpf_stack_state, + pub allocated_stack: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_func_state"][::core::mem::size_of::() - 1384usize]; + ["Alignment of bpf_func_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_func_state::regs"] + [::core::mem::offset_of!(bpf_func_state, regs) - 0usize]; + ["Offset of field: bpf_func_state::callsite"] + [::core::mem::offset_of!(bpf_func_state, callsite) - 1320usize]; + ["Offset of field: bpf_func_state::frameno"] + [::core::mem::offset_of!(bpf_func_state, frameno) - 1324usize]; + ["Offset of field: bpf_func_state::subprogno"] + [::core::mem::offset_of!(bpf_func_state, subprogno) - 1328usize]; + ["Offset of field: bpf_func_state::async_entry_cnt"] + [::core::mem::offset_of!(bpf_func_state, async_entry_cnt) - 1332usize]; + ["Offset of field: bpf_func_state::callback_ret_range"] + [::core::mem::offset_of!(bpf_func_state, callback_ret_range) - 1336usize]; + ["Offset of field: bpf_func_state::in_callback_fn"] + [::core::mem::offset_of!(bpf_func_state, in_callback_fn) - 1344usize]; + ["Offset of field: bpf_func_state::in_async_callback_fn"] + [::core::mem::offset_of!(bpf_func_state, in_async_callback_fn) - 1345usize]; + ["Offset of field: bpf_func_state::in_exception_callback_fn"] + [::core::mem::offset_of!(bpf_func_state, in_exception_callback_fn) - 1346usize]; + ["Offset of field: bpf_func_state::callback_depth"] + [::core::mem::offset_of!(bpf_func_state, callback_depth) - 1348usize]; + ["Offset of field: bpf_func_state::acquired_refs"] + [::core::mem::offset_of!(bpf_func_state, acquired_refs) - 1352usize]; + ["Offset of field: bpf_func_state::refs"] + [::core::mem::offset_of!(bpf_func_state, refs) - 1360usize]; + ["Offset of field: bpf_func_state::stack"] + [::core::mem::offset_of!(bpf_func_state, stack) - 1368usize]; + ["Offset of field: bpf_func_state::allocated_stack"] + [::core::mem::offset_of!(bpf_func_state, allocated_stack) - 1376usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_mem_alloc { + pub caches: *mut bpf_mem_caches, + pub cache: *mut bpf_mem_cache, + pub objcg: *mut obj_cgroup, + pub percpu: bool_, + pub work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_mem_alloc"][::core::mem::size_of::() - 64usize]; + ["Alignment of bpf_mem_alloc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_mem_alloc::caches"] + [::core::mem::offset_of!(bpf_mem_alloc, caches) - 0usize]; + ["Offset of field: bpf_mem_alloc::cache"] + [::core::mem::offset_of!(bpf_mem_alloc, cache) - 8usize]; + ["Offset of field: bpf_mem_alloc::objcg"] + [::core::mem::offset_of!(bpf_mem_alloc, objcg) - 16usize]; + ["Offset of field: bpf_mem_alloc::percpu"] + [::core::mem::offset_of!(bpf_mem_alloc, percpu) - 24usize]; + ["Offset of field: bpf_mem_alloc::work"] + [::core::mem::offset_of!(bpf_mem_alloc, work) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_id_pair { + pub old: u32_, + pub cur: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_id_pair"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_id_pair"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_id_pair::old"][::core::mem::offset_of!(bpf_id_pair, old) - 0usize]; + ["Offset of field: bpf_id_pair::cur"][::core::mem::offset_of!(bpf_id_pair, cur) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_idmap { + pub tmp_id_gen: u32_, + pub map: [bpf_id_pair; 600usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_idmap"][::core::mem::size_of::() - 4804usize]; + ["Alignment of bpf_idmap"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_idmap::tmp_id_gen"] + [::core::mem::offset_of!(bpf_idmap, tmp_id_gen) - 0usize]; + ["Offset of field: bpf_idmap::map"][::core::mem::offset_of!(bpf_idmap, map) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_idset { + pub count: u32_, + pub ids: [u32_; 600usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_idset"][::core::mem::size_of::() - 2404usize]; + ["Alignment of bpf_idset"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_idset::count"][::core::mem::offset_of!(bpf_idset, count) - 0usize]; + ["Offset of field: bpf_idset::ids"][::core::mem::offset_of!(bpf_idset, ids) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_insn { + pub code: __u8, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub off: __s16, + pub imm: __s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_insn"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_insn::code"][::core::mem::offset_of!(bpf_insn, code) - 0usize]; + ["Offset of field: bpf_insn::off"][::core::mem::offset_of!(bpf_insn, off) - 2usize]; + ["Offset of field: bpf_insn::imm"][::core::mem::offset_of!(bpf_insn, imm) - 4usize]; +}; +impl bpf_insn { + #[inline] + pub fn dst_reg(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) } + } + #[inline] + pub fn set_dst_reg(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn dst_reg_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dst_reg_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn src_reg(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_src_reg(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn src_reg_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_src_reg_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let dst_reg: u8 = unsafe { ::core::mem::transmute(dst_reg) }; + dst_reg as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let src_reg: u8 = unsafe { ::core::mem::transmute(src_reg) }; + src_reg as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_insn_access_aux { + pub reg_type: bpf_reg_type, + pub is_ldsx: bool_, + pub __bindgen_anon_1: bpf_insn_access_aux__bindgen_ty_1, + pub log: *mut bpf_verifier_log, + pub is_retval: bool_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_insn_access_aux__bindgen_ty_1 { + pub ctx_field_size: ::core::ffi::c_int, + pub __bindgen_anon_1: bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1 { + pub btf: *mut btf, + pub btf_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1::btf"] + [::core::mem::offset_of!(bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1, btf) - 0usize]; + ["Offset of field: bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1::btf_id"] + [::core::mem::offset_of!(bpf_insn_access_aux__bindgen_ty_1__bindgen_ty_1, btf_id) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_access_aux__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_insn_access_aux__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_access_aux__bindgen_ty_1::ctx_field_size"] + [::core::mem::offset_of!(bpf_insn_access_aux__bindgen_ty_1, ctx_field_size) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_access_aux"][::core::mem::size_of::() - 40usize]; + ["Alignment of bpf_insn_access_aux"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_access_aux::reg_type"] + [::core::mem::offset_of!(bpf_insn_access_aux, reg_type) - 0usize]; + ["Offset of field: bpf_insn_access_aux::is_ldsx"] + [::core::mem::offset_of!(bpf_insn_access_aux, is_ldsx) - 4usize]; + ["Offset of field: bpf_insn_access_aux::log"] + [::core::mem::offset_of!(bpf_insn_access_aux, log) - 24usize]; + ["Offset of field: bpf_insn_access_aux::is_retval"] + [::core::mem::offset_of!(bpf_insn_access_aux, is_retval) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_map_ptr_state { + pub map_ptr: *mut bpf_map, + pub poison: bool_, + pub unpriv: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_map_ptr_state"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_map_ptr_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_map_ptr_state::map_ptr"] + [::core::mem::offset_of!(bpf_map_ptr_state, map_ptr) - 0usize]; + ["Offset of field: bpf_map_ptr_state::poison"] + [::core::mem::offset_of!(bpf_map_ptr_state, poison) - 8usize]; + ["Offset of field: bpf_map_ptr_state::unpriv"] + [::core::mem::offset_of!(bpf_map_ptr_state, unpriv) - 9usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_loop_inline_state { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub callback_subprogno: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_loop_inline_state"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_loop_inline_state"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_loop_inline_state::callback_subprogno"] + [::core::mem::offset_of!(bpf_loop_inline_state, callback_subprogno) - 4usize]; +}; +impl bpf_loop_inline_state { + #[inline] + pub fn initialized(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_initialized(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn initialized_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_initialized_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fit_for_inline(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fit_for_inline(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fit_for_inline_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_fit_for_inline_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + initialized: ::core::ffi::c_uint, + fit_for_inline: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let initialized: u32 = unsafe { ::core::mem::transmute(initialized) }; + initialized as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fit_for_inline: u32 = unsafe { ::core::mem::transmute(fit_for_inline) }; + fit_for_inline as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_insn_aux_data { + pub __bindgen_anon_1: bpf_insn_aux_data__bindgen_ty_1, + pub __bindgen_anon_2: bpf_insn_aux_data__bindgen_ty_2, + pub kptr_struct_meta: *mut btf_struct_meta, + pub map_key_state: u64_, + pub ctx_field_size: ::core::ffi::c_int, + pub seen: u32_, + pub sanitize_stack_spill: bool_, + pub zext_dst: bool_, + pub needs_zext: bool_, + pub storage_get_func_atomic: bool_, + pub is_iter_next: bool_, + pub call_with_percpu_alloc_ptr: bool_, + pub alu_state: u8_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub orig_idx: ::core::ffi::c_uint, + pub jmp_point: bool_, + pub prune_point: bool_, + pub force_checkpoint: bool_, + pub calls_callback: bool_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_insn_aux_data__bindgen_ty_1 { + pub ptr_type: bpf_reg_type, + pub map_ptr_state: bpf_map_ptr_state, + pub call_imm: s32, + pub alu_limit: u32_, + pub __bindgen_anon_1: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1, + pub btf_var: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2, + pub loop_inline_state: bpf_loop_inline_state, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1 { + pub map_index: u32_, + pub map_off: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1::map_index"][::core::mem::offset_of!( + bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1, + map_index + ) - 0usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1::map_off"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_1, map_off) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2 { + pub reg_type: bpf_reg_type, + pub __bindgen_anon_1: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { + pub __bindgen_anon_1: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + pub mem_size: u32_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { + pub btf: *mut btf, + pub btf_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::< + bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + >() - 16usize]; + ["Alignment of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::< + bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + >() - 8usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::btf"] [:: core :: mem :: offset_of ! (bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , btf) - 0usize] ; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::btf_id"] [:: core :: mem :: offset_of ! (bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , btf_id) - 8usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::core::mem::size_of::< + bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + >() - 16usize]; + ["Alignment of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() + - 8usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::mem_size"][::core::mem::offset_of!( + bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + mem_size + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2::reg_type"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1__bindgen_ty_2, reg_type) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_aux_data__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_insn_aux_data__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1::ptr_type"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1, ptr_type) - 0usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1::map_ptr_state"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1, map_ptr_state) - 0usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1::call_imm"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1, call_imm) - 0usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1::alu_limit"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1, alu_limit) - 0usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1::btf_var"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1, btf_var) - 0usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_1::loop_inline_state"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_1, loop_inline_state) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_insn_aux_data__bindgen_ty_2 { + pub obj_new_size: u64_, + pub insert_off: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_aux_data__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_insn_aux_data__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_2::obj_new_size"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_2, obj_new_size) - 0usize]; + ["Offset of field: bpf_insn_aux_data__bindgen_ty_2::insert_off"] + [::core::mem::offset_of!(bpf_insn_aux_data__bindgen_ty_2, insert_off) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_aux_data"][::core::mem::size_of::() - 72usize]; + ["Alignment of bpf_insn_aux_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_aux_data::kptr_struct_meta"] + [::core::mem::offset_of!(bpf_insn_aux_data, kptr_struct_meta) - 32usize]; + ["Offset of field: bpf_insn_aux_data::map_key_state"] + [::core::mem::offset_of!(bpf_insn_aux_data, map_key_state) - 40usize]; + ["Offset of field: bpf_insn_aux_data::ctx_field_size"] + [::core::mem::offset_of!(bpf_insn_aux_data, ctx_field_size) - 48usize]; + ["Offset of field: bpf_insn_aux_data::seen"] + [::core::mem::offset_of!(bpf_insn_aux_data, seen) - 52usize]; + ["Offset of field: bpf_insn_aux_data::sanitize_stack_spill"] + [::core::mem::offset_of!(bpf_insn_aux_data, sanitize_stack_spill) - 56usize]; + ["Offset of field: bpf_insn_aux_data::zext_dst"] + [::core::mem::offset_of!(bpf_insn_aux_data, zext_dst) - 57usize]; + ["Offset of field: bpf_insn_aux_data::needs_zext"] + [::core::mem::offset_of!(bpf_insn_aux_data, needs_zext) - 58usize]; + ["Offset of field: bpf_insn_aux_data::storage_get_func_atomic"] + [::core::mem::offset_of!(bpf_insn_aux_data, storage_get_func_atomic) - 59usize]; + ["Offset of field: bpf_insn_aux_data::is_iter_next"] + [::core::mem::offset_of!(bpf_insn_aux_data, is_iter_next) - 60usize]; + ["Offset of field: bpf_insn_aux_data::call_with_percpu_alloc_ptr"] + [::core::mem::offset_of!(bpf_insn_aux_data, call_with_percpu_alloc_ptr) - 61usize]; + ["Offset of field: bpf_insn_aux_data::alu_state"] + [::core::mem::offset_of!(bpf_insn_aux_data, alu_state) - 62usize]; + ["Offset of field: bpf_insn_aux_data::orig_idx"] + [::core::mem::offset_of!(bpf_insn_aux_data, orig_idx) - 64usize]; + ["Offset of field: bpf_insn_aux_data::jmp_point"] + [::core::mem::offset_of!(bpf_insn_aux_data, jmp_point) - 68usize]; + ["Offset of field: bpf_insn_aux_data::prune_point"] + [::core::mem::offset_of!(bpf_insn_aux_data, prune_point) - 69usize]; + ["Offset of field: bpf_insn_aux_data::force_checkpoint"] + [::core::mem::offset_of!(bpf_insn_aux_data, force_checkpoint) - 70usize]; + ["Offset of field: bpf_insn_aux_data::calls_callback"] + [::core::mem::offset_of!(bpf_insn_aux_data, calls_callback) - 71usize]; +}; +impl bpf_insn_aux_data { + #[inline] + pub fn fastcall_pattern(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_fastcall_pattern(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fastcall_pattern_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fastcall_pattern_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fastcall_spills_num(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 3u8) as u8) } + } + #[inline] + pub fn set_fastcall_spills_num(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn fastcall_spills_num_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 3u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fastcall_spills_num_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + fastcall_pattern: u8_, + fastcall_spills_num: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fastcall_pattern: u8 = unsafe { ::core::mem::transmute(fastcall_pattern) }; + fastcall_pattern as u64 + }); + __bindgen_bitfield_unit.set(1usize, 3u8, { + let fastcall_spills_num: u8 = unsafe { ::core::mem::transmute(fastcall_spills_num) }; + fastcall_spills_num as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_insn_hist_entry { + pub idx: u32_, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub linked_regs: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_insn_hist_entry"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_insn_hist_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_insn_hist_entry::idx"] + [::core::mem::offset_of!(bpf_insn_hist_entry, idx) - 0usize]; + ["Offset of field: bpf_insn_hist_entry::linked_regs"] + [::core::mem::offset_of!(bpf_insn_hist_entry, linked_regs) - 8usize]; +}; +impl bpf_insn_hist_entry { + #[inline] + pub fn prev_idx(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_prev_idx(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub unsafe fn prev_idx_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 20u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_prev_idx_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 20u8, + val as u64, + ) + } + } + #[inline] + pub fn flags(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_flags(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub unsafe fn flags_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 20usize, + 12u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_flags_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 20usize, + 12u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(prev_idx: u32_, flags: u32_) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let prev_idx: u32 = unsafe { ::core::mem::transmute(prev_idx) }; + prev_idx as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let flags: u32 = unsafe { ::core::mem::transmute(flags) }; + flags as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_iter_aux_info { + pub map: *mut bpf_map, + pub cgroup: bpf_iter_aux_info__bindgen_ty_1, + pub task: bpf_iter_aux_info__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_iter_aux_info__bindgen_ty_1 { + pub start: *mut cgroup, + pub order: bpf_cgroup_iter_order, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_iter_aux_info__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_iter_aux_info__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_iter_aux_info__bindgen_ty_1::start"] + [::core::mem::offset_of!(bpf_iter_aux_info__bindgen_ty_1, start) - 0usize]; + ["Offset of field: bpf_iter_aux_info__bindgen_ty_1::order"] + [::core::mem::offset_of!(bpf_iter_aux_info__bindgen_ty_1, order) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_iter_aux_info__bindgen_ty_2 { + pub type_: bpf_iter_task_type, + pub pid: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_iter_aux_info__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_iter_aux_info__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_iter_aux_info__bindgen_ty_2::type_"] + [::core::mem::offset_of!(bpf_iter_aux_info__bindgen_ty_2, type_) - 0usize]; + ["Offset of field: bpf_iter_aux_info__bindgen_ty_2::pid"] + [::core::mem::offset_of!(bpf_iter_aux_info__bindgen_ty_2, pid) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_iter_aux_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_iter_aux_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_iter_aux_info::map"] + [::core::mem::offset_of!(bpf_iter_aux_info, map) - 0usize]; + ["Offset of field: bpf_iter_aux_info::cgroup"] + [::core::mem::offset_of!(bpf_iter_aux_info, cgroup) - 8usize]; + ["Offset of field: bpf_iter_aux_info::task"] + [::core::mem::offset_of!(bpf_iter_aux_info, task) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct scx_dsq_list_node { + pub node: list_head, + pub flags: u32_, + pub priv_: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of scx_dsq_list_node"][::core::mem::size_of::() - 24usize]; + ["Alignment of scx_dsq_list_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: scx_dsq_list_node::node"] + [::core::mem::offset_of!(scx_dsq_list_node, node) - 0usize]; + ["Offset of field: scx_dsq_list_node::flags"] + [::core::mem::offset_of!(scx_dsq_list_node, flags) - 16usize]; + ["Offset of field: scx_dsq_list_node::priv_"] + [::core::mem::offset_of!(scx_dsq_list_node, priv_) - 20usize]; +}; +pub type bpf_iter_init_seq_priv_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *mut bpf_iter_aux_info, + ) -> ::core::ffi::c_int, +>; +pub type bpf_iter_fini_seq_priv_t = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_iter_seq_info { + pub seq_ops: *const seq_operations, + pub init_seq_private: bpf_iter_init_seq_priv_t, + pub fini_seq_private: bpf_iter_fini_seq_priv_t, + pub seq_priv_size: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_iter_seq_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_iter_seq_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_iter_seq_info::seq_ops"] + [::core::mem::offset_of!(bpf_iter_seq_info, seq_ops) - 0usize]; + ["Offset of field: bpf_iter_seq_info::init_seq_private"] + [::core::mem::offset_of!(bpf_iter_seq_info, init_seq_private) - 8usize]; + ["Offset of field: bpf_iter_seq_info::fini_seq_private"] + [::core::mem::offset_of!(bpf_iter_seq_info, fini_seq_private) - 16usize]; + ["Offset of field: bpf_iter_seq_info::seq_priv_size"] + [::core::mem::offset_of!(bpf_iter_seq_info, seq_priv_size) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_jit_poke_descriptor { + pub tailcall_target: *mut ::core::ffi::c_void, + pub tailcall_bypass: *mut ::core::ffi::c_void, + pub bypass_addr: *mut ::core::ffi::c_void, + pub aux: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: bpf_jit_poke_descriptor__bindgen_ty_1, + pub tailcall_target_stable: bool_, + pub adj_off: u8_, + pub reason: u16_, + pub insn_idx: u32_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_jit_poke_descriptor__bindgen_ty_1 { + pub tail_call: bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1 { + pub map: *mut bpf_map, + pub key: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1::map"][::core::mem::offset_of!( + bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1, + map + ) - 0usize]; + ["Offset of field: bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1::key"][::core::mem::offset_of!( + bpf_jit_poke_descriptor__bindgen_ty_1__bindgen_ty_1, + key + ) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_jit_poke_descriptor__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_jit_poke_descriptor__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_jit_poke_descriptor__bindgen_ty_1::tail_call"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor__bindgen_ty_1, tail_call) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_jit_poke_descriptor"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of bpf_jit_poke_descriptor"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_jit_poke_descriptor::tailcall_target"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, tailcall_target) - 0usize]; + ["Offset of field: bpf_jit_poke_descriptor::tailcall_bypass"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, tailcall_bypass) - 8usize]; + ["Offset of field: bpf_jit_poke_descriptor::bypass_addr"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, bypass_addr) - 16usize]; + ["Offset of field: bpf_jit_poke_descriptor::aux"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, aux) - 24usize]; + ["Offset of field: bpf_jit_poke_descriptor::tailcall_target_stable"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, tailcall_target_stable) - 48usize]; + ["Offset of field: bpf_jit_poke_descriptor::adj_off"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, adj_off) - 49usize]; + ["Offset of field: bpf_jit_poke_descriptor::reason"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, reason) - 50usize]; + ["Offset of field: bpf_jit_poke_descriptor::insn_idx"] + [::core::mem::offset_of!(bpf_jit_poke_descriptor, insn_idx) - 52usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_kfunc_btf { + pub btf: *mut btf, + pub module: *mut module, + pub offset: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_kfunc_btf"][::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_kfunc_btf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_kfunc_btf::btf"][::core::mem::offset_of!(bpf_kfunc_btf, btf) - 0usize]; + ["Offset of field: bpf_kfunc_btf::module"] + [::core::mem::offset_of!(bpf_kfunc_btf, module) - 8usize]; + ["Offset of field: bpf_kfunc_btf::offset"] + [::core::mem::offset_of!(bpf_kfunc_btf, offset) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_kfunc_btf_tab { + pub descs: [bpf_kfunc_btf; 256usize], + pub nr_descs: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_kfunc_btf_tab"][::core::mem::size_of::() - 6152usize]; + ["Alignment of bpf_kfunc_btf_tab"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_kfunc_btf_tab::descs"] + [::core::mem::offset_of!(bpf_kfunc_btf_tab, descs) - 0usize]; + ["Offset of field: bpf_kfunc_btf_tab::nr_descs"] + [::core::mem::offset_of!(bpf_kfunc_btf_tab, nr_descs) - 6144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_kfunc_desc { + pub func_model: btf_func_model, + pub func_id: u32_, + pub imm: s32, + pub offset: u16_, + pub addr: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_kfunc_desc"][::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_kfunc_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_kfunc_desc::func_model"] + [::core::mem::offset_of!(bpf_kfunc_desc, func_model) - 0usize]; + ["Offset of field: bpf_kfunc_desc::func_id"] + [::core::mem::offset_of!(bpf_kfunc_desc, func_id) - 28usize]; + ["Offset of field: bpf_kfunc_desc::imm"] + [::core::mem::offset_of!(bpf_kfunc_desc, imm) - 32usize]; + ["Offset of field: bpf_kfunc_desc::offset"] + [::core::mem::offset_of!(bpf_kfunc_desc, offset) - 36usize]; + ["Offset of field: bpf_kfunc_desc::addr"] + [::core::mem::offset_of!(bpf_kfunc_desc, addr) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_kfunc_desc_tab { + pub descs: [bpf_kfunc_desc; 256usize], + pub nr_descs: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_kfunc_desc_tab"][::core::mem::size_of::() - 12296usize]; + ["Alignment of bpf_kfunc_desc_tab"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_kfunc_desc_tab::descs"] + [::core::mem::offset_of!(bpf_kfunc_desc_tab, descs) - 0usize]; + ["Offset of field: bpf_kfunc_desc_tab::nr_descs"] + [::core::mem::offset_of!(bpf_kfunc_desc_tab, nr_descs) - 12288usize]; +}; +pub type ftrace_func_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: ::core::ffi::c_ulong, + arg2: ::core::ffi::c_ulong, + arg3: *mut ftrace_ops, + arg4: *mut ftrace_regs, + ), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ftrace_ops_hash { + pub notrace_hash: *mut ftrace_hash, + pub filter_hash: *mut ftrace_hash, + pub regex_lock: mutex, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ftrace_ops_hash"][::core::mem::size_of::() - 48usize]; + ["Alignment of ftrace_ops_hash"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ftrace_ops_hash::notrace_hash"] + [::core::mem::offset_of!(ftrace_ops_hash, notrace_hash) - 0usize]; + ["Offset of field: ftrace_ops_hash::filter_hash"] + [::core::mem::offset_of!(ftrace_ops_hash, filter_hash) - 8usize]; + ["Offset of field: ftrace_ops_hash::regex_lock"] + [::core::mem::offset_of!(ftrace_ops_hash, regex_lock) - 16usize]; +}; +pub type ftrace_ops_func_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ftrace_ops, arg2: ftrace_ops_cmd) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ftrace_ops { + pub func: ftrace_func_t, + pub next: *mut ftrace_ops, + pub flags: ::core::ffi::c_ulong, + pub private: *mut ::core::ffi::c_void, + pub saved_func: ftrace_func_t, + pub local_hash: ftrace_ops_hash, + pub func_hash: *mut ftrace_ops_hash, + pub old_hash: ftrace_ops_hash, + pub trampoline: ::core::ffi::c_ulong, + pub trampoline_size: ::core::ffi::c_ulong, + pub list: list_head, + pub subop_list: list_head, + pub ops_func: ftrace_ops_func_t, + pub managed: *mut ftrace_ops, + pub direct_call: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ftrace_ops"][::core::mem::size_of::() - 216usize]; + ["Alignment of ftrace_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ftrace_ops::func"][::core::mem::offset_of!(ftrace_ops, func) - 0usize]; + ["Offset of field: ftrace_ops::next"][::core::mem::offset_of!(ftrace_ops, next) - 8usize]; + ["Offset of field: ftrace_ops::flags"][::core::mem::offset_of!(ftrace_ops, flags) - 16usize]; + ["Offset of field: ftrace_ops::private"] + [::core::mem::offset_of!(ftrace_ops, private) - 24usize]; + ["Offset of field: ftrace_ops::saved_func"] + [::core::mem::offset_of!(ftrace_ops, saved_func) - 32usize]; + ["Offset of field: ftrace_ops::local_hash"] + [::core::mem::offset_of!(ftrace_ops, local_hash) - 40usize]; + ["Offset of field: ftrace_ops::func_hash"] + [::core::mem::offset_of!(ftrace_ops, func_hash) - 88usize]; + ["Offset of field: ftrace_ops::old_hash"] + [::core::mem::offset_of!(ftrace_ops, old_hash) - 96usize]; + ["Offset of field: ftrace_ops::trampoline"] + [::core::mem::offset_of!(ftrace_ops, trampoline) - 144usize]; + ["Offset of field: ftrace_ops::trampoline_size"] + [::core::mem::offset_of!(ftrace_ops, trampoline_size) - 152usize]; + ["Offset of field: ftrace_ops::list"][::core::mem::offset_of!(ftrace_ops, list) - 160usize]; + ["Offset of field: ftrace_ops::subop_list"] + [::core::mem::offset_of!(ftrace_ops, subop_list) - 176usize]; + ["Offset of field: ftrace_ops::ops_func"] + [::core::mem::offset_of!(ftrace_ops, ops_func) - 192usize]; + ["Offset of field: ftrace_ops::managed"] + [::core::mem::offset_of!(ftrace_ops, managed) - 200usize]; + ["Offset of field: ftrace_ops::direct_call"] + [::core::mem::offset_of!(ftrace_ops, direct_call) - 208usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_line_info { + pub insn_off: __u32, + pub file_name_off: __u32, + pub line_off: __u32, + pub line_col: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_line_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_line_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_line_info::insn_off"] + [::core::mem::offset_of!(bpf_line_info, insn_off) - 0usize]; + ["Offset of field: bpf_line_info::file_name_off"] + [::core::mem::offset_of!(bpf_line_info, file_name_off) - 4usize]; + ["Offset of field: bpf_line_info::line_off"] + [::core::mem::offset_of!(bpf_line_info, line_off) - 8usize]; + ["Offset of field: bpf_line_info::line_col"] + [::core::mem::offset_of!(bpf_line_info, line_col) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_link_info { + pub type_: __u32, + pub id: __u32, + pub prog_id: __u32, + pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_link_info__bindgen_ty_1 { + pub raw_tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_1, + pub tracing: bpf_link_info__bindgen_ty_1__bindgen_ty_2, + pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_3, + pub iter: bpf_link_info__bindgen_ty_1__bindgen_ty_4, + pub netns: bpf_link_info__bindgen_ty_1__bindgen_ty_5, + pub xdp: bpf_link_info__bindgen_ty_1__bindgen_ty_6, + pub struct_ops: bpf_link_info__bindgen_ty_1__bindgen_ty_7, + pub netfilter: bpf_link_info__bindgen_ty_1__bindgen_ty_8, + pub kprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_9, + pub uprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_10, + pub perf_event: bpf_link_info__bindgen_ty_1__bindgen_ty_11, + pub tcx: bpf_link_info__bindgen_ty_1__bindgen_ty_12, + pub netkit: bpf_link_info__bindgen_ty_1__bindgen_ty_13, + pub sockmap: bpf_link_info__bindgen_ty_1__bindgen_ty_14, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_1 { + pub tp_name: __u64, + pub tp_name_len: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_1::tp_name"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_1, tp_name) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_1::tp_name_len"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_1, tp_name_len) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_2 { + pub attach_type: __u32, + pub target_obj_id: __u32, + pub target_btf_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_2::attach_type"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_2, attach_type) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_2::target_obj_id"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_2, + target_obj_id + ) - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_2::target_btf_id"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_2, + target_btf_id + ) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_3 { + pub cgroup_id: __u64, + pub attach_type: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_3::cgroup_id"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_3, cgroup_id) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_3::attach_type"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_3, attach_type) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 { + pub target_name: __u64, + pub target_name_len: __u32, + pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1, + pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 { + pub map: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 { + pub map_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1, + >() - 4usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1, + >() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1::map_id"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 , map_id) - 0usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1"][::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1, + >() - 4usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1"][::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1, + >() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1::map"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1, + map + ) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 { + pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1, + pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 { + pub cgroup_id: __u64, + pub order: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1, + >() - 16usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1, + >() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1::cgroup_id"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 , cgroup_id) - 0usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1::order"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 , order) - 8usize] ; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 { + pub tid: __u32, + pub pid: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2, + >() - 8usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2, + >() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2::tid"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 , tid) - 0usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2::pid"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 , pid) - 4usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2"][::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2, + >() - 16usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2"][::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2, + >() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2::cgroup"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2, + cgroup + ) + - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2::task"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2, + task + ) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4::target_name"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_4, target_name) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_4::target_name_len"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_4, + target_name_len + ) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 { + pub netns_ino: __u32, + pub attach_type: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_5::netns_ino"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_5, netns_ino) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_5::attach_type"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_5, attach_type) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_6 { + pub ifindex: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_6::ifindex"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_6, ifindex) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_7 { + pub map_id: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_7"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_7"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_7::map_id"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_7, map_id) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_8 { + pub pf: __u32, + pub hooknum: __u32, + pub priority: __s32, + pub flags: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_8"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_8"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_8::pf"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_8, pf) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_8::hooknum"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_8, hooknum) - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_8::priority"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_8, priority) - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_8::flags"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_8, flags) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_9 { + pub addrs: __u64, + pub count: __u32, + pub flags: __u32, + pub missed: __u64, + pub cookies: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_9"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_9"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_9::addrs"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_9, addrs) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_9::count"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_9, count) - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_9::flags"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_9, flags) - 12usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_9::missed"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_9, missed) - 16usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_9::cookies"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_9, cookies) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_10 { + pub path: __u64, + pub offsets: __u64, + pub ref_ctr_offsets: __u64, + pub cookies: __u64, + pub path_size: __u32, + pub count: __u32, + pub flags: __u32, + pub pid: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_10"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_10"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::path"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_10, path) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::offsets"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_10, offsets) - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::ref_ctr_offsets"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_10, + ref_ctr_offsets + ) - 16usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::cookies"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_10, cookies) - 24usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::path_size"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_10, path_size) - 32usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::count"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_10, count) - 36usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::flags"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_10, flags) - 40usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_10::pid"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_10, pid) - 44usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11 { + pub type_: __u32, + pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 { + pub uprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1, + pub kprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2, + pub tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3, + pub event: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 { + pub file_name: __u64, + pub name_len: __u32, + pub offset: __u32, + pub cookie: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1, + >() - 24usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1, + >() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1::file_name"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 , file_name) - 0usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1::name_len"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 , name_len) - 8usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1::offset"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 , offset) - 12usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1::cookie"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 , cookie) - 16usize] ; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 { + pub func_name: __u64, + pub name_len: __u32, + pub offset: __u32, + pub addr: __u64, + pub missed: __u64, + pub cookie: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2, + >() - 40usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2, + >() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2::func_name"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 , func_name) - 0usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2::name_len"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 , name_len) - 8usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2::offset"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 , offset) - 12usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2::addr"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 , addr) - 16usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2::missed"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 , missed) - 24usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2::cookie"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 , cookie) - 32usize] ; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 { + pub tp_name: __u64, + pub name_len: __u32, + pub cookie: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3, + >() - 24usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3, + >() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3::tp_name"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 , tp_name) - 0usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3::name_len"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 , name_len) - 8usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3::cookie"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 , cookie) - 16usize] ; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 { + pub config: __u64, + pub type_: __u32, + pub cookie: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4, + >() - 24usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4, + >() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4::config"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 , config) - 0usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4::type_"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 , type_) - 8usize] ; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4::cookie"] [:: core :: mem :: offset_of ! (bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 , cookie) - 16usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1"][::core::mem::size_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, + >() - 40usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1"][::core::mem::align_of::< + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, + >() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1::uprobe"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, + uprobe + ) + - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1::kprobe"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, + kprobe + ) + - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1::tracepoint"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, + tracepoint + ) + - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1::event"][::core::mem::offset_of!( + bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1, + event + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_11"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_11"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_11::type_"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_11, type_) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_12 { + pub ifindex: __u32, + pub attach_type: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_12"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_12"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_12::ifindex"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_12, ifindex) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_12::attach_type"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_12, attach_type) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_13 { + pub ifindex: __u32, + pub attach_type: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_13"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_13"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_13::ifindex"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_13, ifindex) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_13::attach_type"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_13, attach_type) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_14 { + pub map_id: __u32, + pub attach_type: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1__bindgen_ty_14"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_link_info__bindgen_ty_1__bindgen_ty_14"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_14::map_id"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_14, map_id) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1__bindgen_ty_14::attach_type"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1__bindgen_ty_14, attach_type) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info__bindgen_ty_1"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_link_info__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::raw_tracepoint"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, raw_tracepoint) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::tracing"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, tracing) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::cgroup"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, cgroup) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::iter"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, iter) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::netns"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, netns) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::xdp"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, xdp) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::struct_ops"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, struct_ops) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::netfilter"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, netfilter) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::kprobe_multi"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, kprobe_multi) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::uprobe_multi"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, uprobe_multi) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::perf_event"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, perf_event) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::tcx"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, tcx) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::netkit"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, netkit) - 0usize]; + ["Offset of field: bpf_link_info__bindgen_ty_1::sockmap"] + [::core::mem::offset_of!(bpf_link_info__bindgen_ty_1, sockmap) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_info"][::core::mem::size_of::() - 64usize]; + ["Alignment of bpf_link_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_info::type_"] + [::core::mem::offset_of!(bpf_link_info, type_) - 0usize]; + ["Offset of field: bpf_link_info::id"][::core::mem::offset_of!(bpf_link_info, id) - 4usize]; + ["Offset of field: bpf_link_info::prog_id"] + [::core::mem::offset_of!(bpf_link_info, prog_id) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_link_ops { + pub release: ::core::option::Option, + pub dealloc: ::core::option::Option, + pub dealloc_deferred: ::core::option::Option, + pub detach: + ::core::option::Option ::core::ffi::c_int>, + pub update_prog: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_link, + arg2: *mut bpf_prog, + arg3: *mut bpf_prog, + ) -> ::core::ffi::c_int, + >, + pub show_fdinfo: + ::core::option::Option, + pub fill_link_info: ::core::option::Option< + unsafe extern "C" fn(arg1: *const bpf_link, arg2: *mut bpf_link_info) -> ::core::ffi::c_int, + >, + pub update_map: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_link, + arg2: *mut bpf_map, + arg3: *mut bpf_map, + ) -> ::core::ffi::c_int, + >, + pub poll: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: *mut poll_table_struct) -> __poll_t, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_link_ops"][::core::mem::size_of::() - 72usize]; + ["Alignment of bpf_link_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_link_ops::release"] + [::core::mem::offset_of!(bpf_link_ops, release) - 0usize]; + ["Offset of field: bpf_link_ops::dealloc"] + [::core::mem::offset_of!(bpf_link_ops, dealloc) - 8usize]; + ["Offset of field: bpf_link_ops::dealloc_deferred"] + [::core::mem::offset_of!(bpf_link_ops, dealloc_deferred) - 16usize]; + ["Offset of field: bpf_link_ops::detach"] + [::core::mem::offset_of!(bpf_link_ops, detach) - 24usize]; + ["Offset of field: bpf_link_ops::update_prog"] + [::core::mem::offset_of!(bpf_link_ops, update_prog) - 32usize]; + ["Offset of field: bpf_link_ops::show_fdinfo"] + [::core::mem::offset_of!(bpf_link_ops, show_fdinfo) - 40usize]; + ["Offset of field: bpf_link_ops::fill_link_info"] + [::core::mem::offset_of!(bpf_link_ops, fill_link_info) - 48usize]; + ["Offset of field: bpf_link_ops::update_map"] + [::core::mem::offset_of!(bpf_link_ops, update_map) - 56usize]; + ["Offset of field: bpf_link_ops::poll"][::core::mem::offset_of!(bpf_link_ops, poll) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_local_storage { + pub cache: [*mut bpf_local_storage_data; 16usize], + pub smap: *mut bpf_local_storage_map, + pub list: hlist_head, + pub owner: *mut ::core::ffi::c_void, + pub rcu: callback_head, + pub lock: raw_spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_local_storage"][::core::mem::size_of::() - 176usize]; + ["Alignment of bpf_local_storage"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_local_storage::cache"] + [::core::mem::offset_of!(bpf_local_storage, cache) - 0usize]; + ["Offset of field: bpf_local_storage::smap"] + [::core::mem::offset_of!(bpf_local_storage, smap) - 128usize]; + ["Offset of field: bpf_local_storage::list"] + [::core::mem::offset_of!(bpf_local_storage, list) - 136usize]; + ["Offset of field: bpf_local_storage::owner"] + [::core::mem::offset_of!(bpf_local_storage, owner) - 144usize]; + ["Offset of field: bpf_local_storage::rcu"] + [::core::mem::offset_of!(bpf_local_storage, rcu) - 152usize]; + ["Offset of field: bpf_local_storage::lock"] + [::core::mem::offset_of!(bpf_local_storage, lock) - 168usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct bpf_local_storage_data { + pub smap: *mut bpf_local_storage_map, + pub data: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_local_storage_data"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_local_storage_data"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_local_storage_data::smap"] + [::core::mem::offset_of!(bpf_local_storage_data, smap) - 0usize]; + ["Offset of field: bpf_local_storage_data::data"] + [::core::mem::offset_of!(bpf_local_storage_data, data) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_local_storage_map { + pub map: bpf_map, + pub buckets: *mut bpf_local_storage_map_bucket, + pub bucket_log: u32_, + pub elem_size: u16_, + pub cache_idx: u16_, + pub selem_ma: bpf_mem_alloc, + pub storage_ma: bpf_mem_alloc, + pub bpf_ma: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_local_storage_map"][::core::mem::size_of::() - 400usize]; + ["Alignment of bpf_local_storage_map"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_local_storage_map::map"] + [::core::mem::offset_of!(bpf_local_storage_map, map) - 0usize]; + ["Offset of field: bpf_local_storage_map::buckets"] + [::core::mem::offset_of!(bpf_local_storage_map, buckets) - 248usize]; + ["Offset of field: bpf_local_storage_map::bucket_log"] + [::core::mem::offset_of!(bpf_local_storage_map, bucket_log) - 256usize]; + ["Offset of field: bpf_local_storage_map::elem_size"] + [::core::mem::offset_of!(bpf_local_storage_map, elem_size) - 260usize]; + ["Offset of field: bpf_local_storage_map::cache_idx"] + [::core::mem::offset_of!(bpf_local_storage_map, cache_idx) - 262usize]; + ["Offset of field: bpf_local_storage_map::selem_ma"] + [::core::mem::offset_of!(bpf_local_storage_map, selem_ma) - 264usize]; + ["Offset of field: bpf_local_storage_map::storage_ma"] + [::core::mem::offset_of!(bpf_local_storage_map, storage_ma) - 328usize]; + ["Offset of field: bpf_local_storage_map::bpf_ma"] + [::core::mem::offset_of!(bpf_local_storage_map, bpf_ma) - 392usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_local_storage_map_bucket { + pub list: hlist_head, + pub lock: raw_spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_local_storage_map_bucket"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_local_storage_map_bucket"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_local_storage_map_bucket::list"] + [::core::mem::offset_of!(bpf_local_storage_map_bucket, list) - 0usize]; + ["Offset of field: bpf_local_storage_map_bucket::lock"] + [::core::mem::offset_of!(bpf_local_storage_map_bucket, lock) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_map_dev_ops { + pub map_get_next_key: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_offloaded_map, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub map_lookup_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_offloaded_map, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub map_update_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_offloaded_map, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + arg4: u64_, + ) -> ::core::ffi::c_int, + >, + pub map_delete_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_offloaded_map, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_map_dev_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_map_dev_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_map_dev_ops::map_get_next_key"] + [::core::mem::offset_of!(bpf_map_dev_ops, map_get_next_key) - 0usize]; + ["Offset of field: bpf_map_dev_ops::map_lookup_elem"] + [::core::mem::offset_of!(bpf_map_dev_ops, map_lookup_elem) - 8usize]; + ["Offset of field: bpf_map_dev_ops::map_update_elem"] + [::core::mem::offset_of!(bpf_map_dev_ops, map_update_elem) - 16usize]; + ["Offset of field: bpf_map_dev_ops::map_delete_elem"] + [::core::mem::offset_of!(bpf_map_dev_ops, map_delete_elem) - 24usize]; +}; +pub type bpf_callback_t = ::core::option::Option< + unsafe extern "C" fn(arg1: u64_, arg2: u64_, arg3: u64_, arg4: u64_, arg5: u64_) -> u64_, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_map_ops { + pub map_alloc_check: + ::core::option::Option ::core::ffi::c_int>, + pub map_alloc: + ::core::option::Option *mut bpf_map>, + pub map_release: + ::core::option::Option, + pub map_free: ::core::option::Option, + pub map_get_next_key: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub map_release_uref: ::core::option::Option, + pub map_lookup_elem_sys_only: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + ) -> *mut ::core::ffi::c_void, + >, + pub map_lookup_batch: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *const bpf_attr, + arg3: *mut bpf_attr, + ) -> ::core::ffi::c_int, + >, + pub map_lookup_and_delete_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + arg4: u64_, + ) -> ::core::ffi::c_int, + >, + pub map_lookup_and_delete_batch: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *const bpf_attr, + arg3: *mut bpf_attr, + ) -> ::core::ffi::c_int, + >, + pub map_update_batch: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut file, + arg3: *const bpf_attr, + arg4: *mut bpf_attr, + ) -> ::core::ffi::c_int, + >, + pub map_delete_batch: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *const bpf_attr, + arg3: *mut bpf_attr, + ) -> ::core::ffi::c_int, + >, + pub map_lookup_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + ) -> *mut ::core::ffi::c_void, + >, + pub map_update_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + arg4: u64_, + ) -> ::core::ffi::c_long, + >, + pub map_delete_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_long, + >, + pub map_push_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + arg3: u64_, + ) -> ::core::ffi::c_long, + >, + pub map_pop_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_long, + >, + pub map_peek_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_long, + >, + pub map_lookup_percpu_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + ) -> *mut ::core::ffi::c_void, + >, + pub map_fd_get_ptr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut file, + arg3: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void, + >, + pub map_fd_put_ptr: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut bpf_map, arg2: *mut ::core::ffi::c_void, arg3: bool_), + >, + pub map_gen_lookup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut bpf_map, arg2: *mut bpf_insn) -> ::core::ffi::c_int, + >, + pub map_fd_sys_lookup_elem: + ::core::option::Option u32_>, + pub map_seq_show_elem: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut ::core::ffi::c_void, + arg3: *mut seq_file, + ), + >, + pub map_check_btf: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const bpf_map, + arg2: *const btf, + arg3: *const btf_type, + arg4: *const btf_type, + ) -> ::core::ffi::c_int, + >, + pub map_poke_track: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut bpf_map, arg2: *mut bpf_prog_aux) -> ::core::ffi::c_int, + >, + pub map_poke_untrack: + ::core::option::Option, + pub map_poke_run: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: u32_, + arg3: *mut bpf_prog, + arg4: *mut bpf_prog, + ), + >, + pub map_direct_value_addr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const bpf_map, + arg2: *mut u64_, + arg3: u32_, + ) -> ::core::ffi::c_int, + >, + pub map_direct_value_meta: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const bpf_map, + arg2: u64_, + arg3: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub map_mmap: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut bpf_map, arg2: *mut vm_area_struct) -> ::core::ffi::c_int, + >, + pub map_poll: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: *mut file, + arg3: *mut poll_table_struct, + ) -> __poll_t, + >, + pub map_get_unmapped_area: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + arg4: ::core::ffi::c_ulong, + arg5: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_ulong, + >, + pub map_local_storage_charge: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_local_storage_map, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + ) -> ::core::ffi::c_int, + >, + pub map_local_storage_uncharge: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_local_storage_map, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + ), + >, + pub map_owner_storage_ptr: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> *mut *mut bpf_local_storage, + >, + pub map_redirect: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut bpf_map, arg2: u64_, arg3: u64_) -> ::core::ffi::c_long, + >, + pub map_meta_equal: ::core::option::Option< + unsafe extern "C" fn(arg1: *const bpf_map, arg2: *const bpf_map) -> bool_, + >, + pub map_set_for_each_callback_args: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_verifier_env, + arg2: *mut bpf_func_state, + arg3: *mut bpf_func_state, + ) -> ::core::ffi::c_int, + >, + pub map_for_each_callback: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_map, + arg2: bpf_callback_t, + arg3: *mut ::core::ffi::c_void, + arg4: u64_, + ) -> ::core::ffi::c_long, + >, + pub map_mem_usage: ::core::option::Option u64_>, + pub map_btf_id: *mut ::core::ffi::c_int, + pub iter_seq_info: *const bpf_iter_seq_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_map_ops"][::core::mem::size_of::() - 344usize]; + ["Alignment of bpf_map_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_map_ops::map_alloc_check"] + [::core::mem::offset_of!(bpf_map_ops, map_alloc_check) - 0usize]; + ["Offset of field: bpf_map_ops::map_alloc"] + [::core::mem::offset_of!(bpf_map_ops, map_alloc) - 8usize]; + ["Offset of field: bpf_map_ops::map_release"] + [::core::mem::offset_of!(bpf_map_ops, map_release) - 16usize]; + ["Offset of field: bpf_map_ops::map_free"] + [::core::mem::offset_of!(bpf_map_ops, map_free) - 24usize]; + ["Offset of field: bpf_map_ops::map_get_next_key"] + [::core::mem::offset_of!(bpf_map_ops, map_get_next_key) - 32usize]; + ["Offset of field: bpf_map_ops::map_release_uref"] + [::core::mem::offset_of!(bpf_map_ops, map_release_uref) - 40usize]; + ["Offset of field: bpf_map_ops::map_lookup_elem_sys_only"] + [::core::mem::offset_of!(bpf_map_ops, map_lookup_elem_sys_only) - 48usize]; + ["Offset of field: bpf_map_ops::map_lookup_batch"] + [::core::mem::offset_of!(bpf_map_ops, map_lookup_batch) - 56usize]; + ["Offset of field: bpf_map_ops::map_lookup_and_delete_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_lookup_and_delete_elem) - 64usize]; + ["Offset of field: bpf_map_ops::map_lookup_and_delete_batch"] + [::core::mem::offset_of!(bpf_map_ops, map_lookup_and_delete_batch) - 72usize]; + ["Offset of field: bpf_map_ops::map_update_batch"] + [::core::mem::offset_of!(bpf_map_ops, map_update_batch) - 80usize]; + ["Offset of field: bpf_map_ops::map_delete_batch"] + [::core::mem::offset_of!(bpf_map_ops, map_delete_batch) - 88usize]; + ["Offset of field: bpf_map_ops::map_lookup_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_lookup_elem) - 96usize]; + ["Offset of field: bpf_map_ops::map_update_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_update_elem) - 104usize]; + ["Offset of field: bpf_map_ops::map_delete_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_delete_elem) - 112usize]; + ["Offset of field: bpf_map_ops::map_push_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_push_elem) - 120usize]; + ["Offset of field: bpf_map_ops::map_pop_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_pop_elem) - 128usize]; + ["Offset of field: bpf_map_ops::map_peek_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_peek_elem) - 136usize]; + ["Offset of field: bpf_map_ops::map_lookup_percpu_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_lookup_percpu_elem) - 144usize]; + ["Offset of field: bpf_map_ops::map_fd_get_ptr"] + [::core::mem::offset_of!(bpf_map_ops, map_fd_get_ptr) - 152usize]; + ["Offset of field: bpf_map_ops::map_fd_put_ptr"] + [::core::mem::offset_of!(bpf_map_ops, map_fd_put_ptr) - 160usize]; + ["Offset of field: bpf_map_ops::map_gen_lookup"] + [::core::mem::offset_of!(bpf_map_ops, map_gen_lookup) - 168usize]; + ["Offset of field: bpf_map_ops::map_fd_sys_lookup_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_fd_sys_lookup_elem) - 176usize]; + ["Offset of field: bpf_map_ops::map_seq_show_elem"] + [::core::mem::offset_of!(bpf_map_ops, map_seq_show_elem) - 184usize]; + ["Offset of field: bpf_map_ops::map_check_btf"] + [::core::mem::offset_of!(bpf_map_ops, map_check_btf) - 192usize]; + ["Offset of field: bpf_map_ops::map_poke_track"] + [::core::mem::offset_of!(bpf_map_ops, map_poke_track) - 200usize]; + ["Offset of field: bpf_map_ops::map_poke_untrack"] + [::core::mem::offset_of!(bpf_map_ops, map_poke_untrack) - 208usize]; + ["Offset of field: bpf_map_ops::map_poke_run"] + [::core::mem::offset_of!(bpf_map_ops, map_poke_run) - 216usize]; + ["Offset of field: bpf_map_ops::map_direct_value_addr"] + [::core::mem::offset_of!(bpf_map_ops, map_direct_value_addr) - 224usize]; + ["Offset of field: bpf_map_ops::map_direct_value_meta"] + [::core::mem::offset_of!(bpf_map_ops, map_direct_value_meta) - 232usize]; + ["Offset of field: bpf_map_ops::map_mmap"] + [::core::mem::offset_of!(bpf_map_ops, map_mmap) - 240usize]; + ["Offset of field: bpf_map_ops::map_poll"] + [::core::mem::offset_of!(bpf_map_ops, map_poll) - 248usize]; + ["Offset of field: bpf_map_ops::map_get_unmapped_area"] + [::core::mem::offset_of!(bpf_map_ops, map_get_unmapped_area) - 256usize]; + ["Offset of field: bpf_map_ops::map_local_storage_charge"] + [::core::mem::offset_of!(bpf_map_ops, map_local_storage_charge) - 264usize]; + ["Offset of field: bpf_map_ops::map_local_storage_uncharge"] + [::core::mem::offset_of!(bpf_map_ops, map_local_storage_uncharge) - 272usize]; + ["Offset of field: bpf_map_ops::map_owner_storage_ptr"] + [::core::mem::offset_of!(bpf_map_ops, map_owner_storage_ptr) - 280usize]; + ["Offset of field: bpf_map_ops::map_redirect"] + [::core::mem::offset_of!(bpf_map_ops, map_redirect) - 288usize]; + ["Offset of field: bpf_map_ops::map_meta_equal"] + [::core::mem::offset_of!(bpf_map_ops, map_meta_equal) - 296usize]; + ["Offset of field: bpf_map_ops::map_set_for_each_callback_args"] + [::core::mem::offset_of!(bpf_map_ops, map_set_for_each_callback_args) - 304usize]; + ["Offset of field: bpf_map_ops::map_for_each_callback"] + [::core::mem::offset_of!(bpf_map_ops, map_for_each_callback) - 312usize]; + ["Offset of field: bpf_map_ops::map_mem_usage"] + [::core::mem::offset_of!(bpf_map_ops, map_mem_usage) - 320usize]; + ["Offset of field: bpf_map_ops::map_btf_id"] + [::core::mem::offset_of!(bpf_map_ops, map_btf_id) - 328usize]; + ["Offset of field: bpf_map_ops::iter_seq_info"] + [::core::mem::offset_of!(bpf_map_ops, iter_seq_info) - 336usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rcuwait { + pub task: *mut task_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcuwait"][::core::mem::size_of::() - 8usize]; + ["Alignment of rcuwait"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rcuwait::task"][::core::mem::offset_of!(rcuwait, task) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct irq_work { + pub node: __call_single_node, + pub func: ::core::option::Option, + pub irqwait: rcuwait, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_work"][::core::mem::size_of::() - 32usize]; + ["Alignment of irq_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_work::node"][::core::mem::offset_of!(irq_work, node) - 0usize]; + ["Offset of field: irq_work::func"][::core::mem::offset_of!(irq_work, func) - 16usize]; + ["Offset of field: irq_work::irqwait"][::core::mem::offset_of!(irq_work, irqwait) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_mem_cache { + pub free_llist: llist_head, + pub active: local_t, + pub free_llist_extra: llist_head, + pub refill_work: irq_work, + pub objcg: *mut obj_cgroup, + pub unit_size: ::core::ffi::c_int, + pub free_cnt: ::core::ffi::c_int, + pub low_watermark: ::core::ffi::c_int, + pub high_watermark: ::core::ffi::c_int, + pub batch: ::core::ffi::c_int, + pub percpu_size: ::core::ffi::c_int, + pub draining: bool_, + pub tgt: *mut bpf_mem_cache, + pub free_by_rcu: llist_head, + pub free_by_rcu_tail: *mut llist_node, + pub waiting_for_gp: llist_head, + pub waiting_for_gp_tail: *mut llist_node, + pub rcu: callback_head, + pub call_rcu_in_progress: atomic_t, + pub free_llist_extra_rcu: llist_head, + pub free_by_rcu_ttrace: llist_head, + pub waiting_for_gp_ttrace: llist_head, + pub rcu_ttrace: callback_head, + pub call_rcu_ttrace_in_progress: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_mem_cache"][::core::mem::size_of::() - 208usize]; + ["Alignment of bpf_mem_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_mem_cache::free_llist"] + [::core::mem::offset_of!(bpf_mem_cache, free_llist) - 0usize]; + ["Offset of field: bpf_mem_cache::active"] + [::core::mem::offset_of!(bpf_mem_cache, active) - 8usize]; + ["Offset of field: bpf_mem_cache::free_llist_extra"] + [::core::mem::offset_of!(bpf_mem_cache, free_llist_extra) - 16usize]; + ["Offset of field: bpf_mem_cache::refill_work"] + [::core::mem::offset_of!(bpf_mem_cache, refill_work) - 24usize]; + ["Offset of field: bpf_mem_cache::objcg"] + [::core::mem::offset_of!(bpf_mem_cache, objcg) - 56usize]; + ["Offset of field: bpf_mem_cache::unit_size"] + [::core::mem::offset_of!(bpf_mem_cache, unit_size) - 64usize]; + ["Offset of field: bpf_mem_cache::free_cnt"] + [::core::mem::offset_of!(bpf_mem_cache, free_cnt) - 68usize]; + ["Offset of field: bpf_mem_cache::low_watermark"] + [::core::mem::offset_of!(bpf_mem_cache, low_watermark) - 72usize]; + ["Offset of field: bpf_mem_cache::high_watermark"] + [::core::mem::offset_of!(bpf_mem_cache, high_watermark) - 76usize]; + ["Offset of field: bpf_mem_cache::batch"] + [::core::mem::offset_of!(bpf_mem_cache, batch) - 80usize]; + ["Offset of field: bpf_mem_cache::percpu_size"] + [::core::mem::offset_of!(bpf_mem_cache, percpu_size) - 84usize]; + ["Offset of field: bpf_mem_cache::draining"] + [::core::mem::offset_of!(bpf_mem_cache, draining) - 88usize]; + ["Offset of field: bpf_mem_cache::tgt"][::core::mem::offset_of!(bpf_mem_cache, tgt) - 96usize]; + ["Offset of field: bpf_mem_cache::free_by_rcu"] + [::core::mem::offset_of!(bpf_mem_cache, free_by_rcu) - 104usize]; + ["Offset of field: bpf_mem_cache::free_by_rcu_tail"] + [::core::mem::offset_of!(bpf_mem_cache, free_by_rcu_tail) - 112usize]; + ["Offset of field: bpf_mem_cache::waiting_for_gp"] + [::core::mem::offset_of!(bpf_mem_cache, waiting_for_gp) - 120usize]; + ["Offset of field: bpf_mem_cache::waiting_for_gp_tail"] + [::core::mem::offset_of!(bpf_mem_cache, waiting_for_gp_tail) - 128usize]; + ["Offset of field: bpf_mem_cache::rcu"][::core::mem::offset_of!(bpf_mem_cache, rcu) - 136usize]; + ["Offset of field: bpf_mem_cache::call_rcu_in_progress"] + [::core::mem::offset_of!(bpf_mem_cache, call_rcu_in_progress) - 152usize]; + ["Offset of field: bpf_mem_cache::free_llist_extra_rcu"] + [::core::mem::offset_of!(bpf_mem_cache, free_llist_extra_rcu) - 160usize]; + ["Offset of field: bpf_mem_cache::free_by_rcu_ttrace"] + [::core::mem::offset_of!(bpf_mem_cache, free_by_rcu_ttrace) - 168usize]; + ["Offset of field: bpf_mem_cache::waiting_for_gp_ttrace"] + [::core::mem::offset_of!(bpf_mem_cache, waiting_for_gp_ttrace) - 176usize]; + ["Offset of field: bpf_mem_cache::rcu_ttrace"] + [::core::mem::offset_of!(bpf_mem_cache, rcu_ttrace) - 184usize]; + ["Offset of field: bpf_mem_cache::call_rcu_ttrace_in_progress"] + [::core::mem::offset_of!(bpf_mem_cache, call_rcu_ttrace_in_progress) - 200usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_mem_caches { + pub cache: [bpf_mem_cache; 11usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_mem_caches"][::core::mem::size_of::() - 2288usize]; + ["Alignment of bpf_mem_caches"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_mem_caches::cache"] + [::core::mem::offset_of!(bpf_mem_caches, cache) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_mprog_fp { + pub prog: *mut bpf_prog, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_mprog_fp"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_mprog_fp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_mprog_fp::prog"][::core::mem::offset_of!(bpf_mprog_fp, prog) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_mprog_entry { + pub fp_items: [bpf_mprog_fp; 64usize], + pub parent: *mut bpf_mprog_bundle, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_mprog_entry"][::core::mem::size_of::() - 520usize]; + ["Alignment of bpf_mprog_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_mprog_entry::fp_items"] + [::core::mem::offset_of!(bpf_mprog_entry, fp_items) - 0usize]; + ["Offset of field: bpf_mprog_entry::parent"] + [::core::mem::offset_of!(bpf_mprog_entry, parent) - 512usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_mprog_cp { + pub link: *mut bpf_link, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_mprog_cp"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_mprog_cp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_mprog_cp::link"][::core::mem::offset_of!(bpf_mprog_cp, link) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_mprog_bundle { + pub a: bpf_mprog_entry, + pub b: bpf_mprog_entry, + pub cp_items: [bpf_mprog_cp; 64usize], + pub ref_: *mut bpf_prog, + pub revision: atomic64_t, + pub count: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_mprog_bundle"][::core::mem::size_of::() - 1576usize]; + ["Alignment of bpf_mprog_bundle"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_mprog_bundle::a"][::core::mem::offset_of!(bpf_mprog_bundle, a) - 0usize]; + ["Offset of field: bpf_mprog_bundle::b"] + [::core::mem::offset_of!(bpf_mprog_bundle, b) - 520usize]; + ["Offset of field: bpf_mprog_bundle::cp_items"] + [::core::mem::offset_of!(bpf_mprog_bundle, cp_items) - 1040usize]; + ["Offset of field: bpf_mprog_bundle::ref_"] + [::core::mem::offset_of!(bpf_mprog_bundle, ref_) - 1552usize]; + ["Offset of field: bpf_mprog_bundle::revision"] + [::core::mem::offset_of!(bpf_mprog_bundle, revision) - 1560usize]; + ["Offset of field: bpf_mprog_bundle::count"] + [::core::mem::offset_of!(bpf_mprog_bundle, count) - 1568usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_nh_params { + pub nh_family: u32_, + pub __bindgen_anon_1: bpf_nh_params__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_nh_params__bindgen_ty_1 { + pub ipv4_nh: u32_, + pub ipv6_nh: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_nh_params__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_nh_params__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_nh_params__bindgen_ty_1::ipv4_nh"] + [::core::mem::offset_of!(bpf_nh_params__bindgen_ty_1, ipv4_nh) - 0usize]; + ["Offset of field: bpf_nh_params__bindgen_ty_1::ipv6_nh"] + [::core::mem::offset_of!(bpf_nh_params__bindgen_ty_1, ipv6_nh) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_nh_params"][::core::mem::size_of::() - 20usize]; + ["Alignment of bpf_nh_params"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_nh_params::nh_family"] + [::core::mem::offset_of!(bpf_nh_params, nh_family) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_redirect_info { + pub tgt_index: u64_, + pub tgt_value: *mut ::core::ffi::c_void, + pub map: *mut bpf_map, + pub flags: u32_, + pub map_id: u32_, + pub map_type: bpf_map_type, + pub nh: bpf_nh_params, + pub kern_flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_redirect_info"][::core::mem::size_of::() - 64usize]; + ["Alignment of bpf_redirect_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_redirect_info::tgt_index"] + [::core::mem::offset_of!(bpf_redirect_info, tgt_index) - 0usize]; + ["Offset of field: bpf_redirect_info::tgt_value"] + [::core::mem::offset_of!(bpf_redirect_info, tgt_value) - 8usize]; + ["Offset of field: bpf_redirect_info::map"] + [::core::mem::offset_of!(bpf_redirect_info, map) - 16usize]; + ["Offset of field: bpf_redirect_info::flags"] + [::core::mem::offset_of!(bpf_redirect_info, flags) - 24usize]; + ["Offset of field: bpf_redirect_info::map_id"] + [::core::mem::offset_of!(bpf_redirect_info, map_id) - 28usize]; + ["Offset of field: bpf_redirect_info::map_type"] + [::core::mem::offset_of!(bpf_redirect_info, map_type) - 32usize]; + ["Offset of field: bpf_redirect_info::nh"] + [::core::mem::offset_of!(bpf_redirect_info, nh) - 36usize]; + ["Offset of field: bpf_redirect_info::kern_flags"] + [::core::mem::offset_of!(bpf_redirect_info, kern_flags) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_net_context { + pub ri: bpf_redirect_info, + pub cpu_map_flush_list: list_head, + pub dev_map_flush_list: list_head, + pub xskmap_map_flush_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_net_context"][::core::mem::size_of::() - 112usize]; + ["Alignment of bpf_net_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_net_context::ri"][::core::mem::offset_of!(bpf_net_context, ri) - 0usize]; + ["Offset of field: bpf_net_context::cpu_map_flush_list"] + [::core::mem::offset_of!(bpf_net_context, cpu_map_flush_list) - 64usize]; + ["Offset of field: bpf_net_context::dev_map_flush_list"] + [::core::mem::offset_of!(bpf_net_context, dev_map_flush_list) - 80usize]; + ["Offset of field: bpf_net_context::xskmap_map_flush_list"] + [::core::mem::offset_of!(bpf_net_context, xskmap_map_flush_list) - 96usize]; +}; +pub type nf_hookfn = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *mut sk_buff, + arg3: *const nf_hook_state, + ) -> ::core::ffi::c_uint, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_offload_dev { + pub ops: *const bpf_prog_offload_ops, + pub netdevs: list_head, + pub priv_: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_offload_dev"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_offload_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_offload_dev::ops"] + [::core::mem::offset_of!(bpf_offload_dev, ops) - 0usize]; + ["Offset of field: bpf_offload_dev::netdevs"] + [::core::mem::offset_of!(bpf_offload_dev, netdevs) - 8usize]; + ["Offset of field: bpf_offload_dev::priv_"] + [::core::mem::offset_of!(bpf_offload_dev, priv_) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_offloaded_map { + pub map: bpf_map, + pub netdev: *mut net_device, + pub dev_ops: *const bpf_map_dev_ops, + pub dev_priv: *mut ::core::ffi::c_void, + pub offloads: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_offloaded_map"][::core::mem::size_of::() - 288usize]; + ["Alignment of bpf_offloaded_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_offloaded_map::map"] + [::core::mem::offset_of!(bpf_offloaded_map, map) - 0usize]; + ["Offset of field: bpf_offloaded_map::netdev"] + [::core::mem::offset_of!(bpf_offloaded_map, netdev) - 248usize]; + ["Offset of field: bpf_offloaded_map::dev_ops"] + [::core::mem::offset_of!(bpf_offloaded_map, dev_ops) - 256usize]; + ["Offset of field: bpf_offloaded_map::dev_priv"] + [::core::mem::offset_of!(bpf_offloaded_map, dev_priv) - 264usize]; + ["Offset of field: bpf_offloaded_map::offloads"] + [::core::mem::offset_of!(bpf_offloaded_map, offloads) - 272usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sock_filter { + pub code: __u16, + pub jt: __u8, + pub jf: __u8, + pub k: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_filter"][::core::mem::size_of::() - 8usize]; + ["Alignment of sock_filter"][::core::mem::align_of::() - 4usize]; + ["Offset of field: sock_filter::code"][::core::mem::offset_of!(sock_filter, code) - 0usize]; + ["Offset of field: sock_filter::jt"][::core::mem::offset_of!(sock_filter, jt) - 2usize]; + ["Offset of field: sock_filter::jf"][::core::mem::offset_of!(sock_filter, jf) - 3usize]; + ["Offset of field: sock_filter::k"][::core::mem::offset_of!(sock_filter, k) - 4usize]; +}; +#[repr(C)] +pub struct bpf_prog { + pub pages: u16_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub type_: bpf_prog_type, + pub expected_attach_type: bpf_attach_type, + pub len: u32_, + pub jited_len: u32_, + pub tag: [u8_; 8usize], + pub stats: *mut bpf_prog_stats, + pub active: *mut ::core::ffi::c_int, + pub bpf_func: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_void, + arg2: *const bpf_insn, + ) -> ::core::ffi::c_uint, + >, + pub aux: *mut bpf_prog_aux, + pub orig_prog: *mut sock_fprog_kern, + pub __bindgen_anon_1: bpf_prog__bindgen_ty_1, +} +#[repr(C)] +pub struct bpf_prog__bindgen_ty_1 { + pub __bindgen_anon_1: __BindgenUnionField, + pub __bindgen_anon_2: __BindgenUnionField, + pub bindgen_union_field: [u32; 0usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct bpf_prog__bindgen_ty_1__bindgen_ty_1 { + pub __empty_insns: bpf_prog__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub insns: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_prog__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of bpf_prog__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of bpf_prog__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_prog__bindgen_ty_1__bindgen_ty_1::__empty_insns"] + [::core::mem::offset_of!(bpf_prog__bindgen_ty_1__bindgen_ty_1, __empty_insns) - 0usize]; + ["Offset of field: bpf_prog__bindgen_ty_1__bindgen_ty_1::insns"] + [::core::mem::offset_of!(bpf_prog__bindgen_ty_1__bindgen_ty_1, insns) - 0usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct bpf_prog__bindgen_ty_1__bindgen_ty_2 { + pub __empty_insnsi: bpf_prog__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub insnsi: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_prog__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of bpf_prog__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of bpf_prog__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_prog__bindgen_ty_1__bindgen_ty_2::__empty_insnsi"] + [::core::mem::offset_of!(bpf_prog__bindgen_ty_1__bindgen_ty_2, __empty_insnsi) - 0usize]; + ["Offset of field: bpf_prog__bindgen_ty_1__bindgen_ty_2::insnsi"] + [::core::mem::offset_of!(bpf_prog__bindgen_ty_1__bindgen_ty_2, insnsi) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog__bindgen_ty_1"][::core::mem::size_of::() - 0usize]; + ["Alignment of bpf_prog__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog"][::core::mem::size_of::() - 72usize]; + ["Alignment of bpf_prog"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog::pages"][::core::mem::offset_of!(bpf_prog, pages) - 0usize]; + ["Offset of field: bpf_prog::type_"][::core::mem::offset_of!(bpf_prog, type_) - 4usize]; + ["Offset of field: bpf_prog::expected_attach_type"] + [::core::mem::offset_of!(bpf_prog, expected_attach_type) - 8usize]; + ["Offset of field: bpf_prog::len"][::core::mem::offset_of!(bpf_prog, len) - 12usize]; + ["Offset of field: bpf_prog::jited_len"] + [::core::mem::offset_of!(bpf_prog, jited_len) - 16usize]; + ["Offset of field: bpf_prog::tag"][::core::mem::offset_of!(bpf_prog, tag) - 20usize]; + ["Offset of field: bpf_prog::stats"][::core::mem::offset_of!(bpf_prog, stats) - 32usize]; + ["Offset of field: bpf_prog::active"][::core::mem::offset_of!(bpf_prog, active) - 40usize]; + ["Offset of field: bpf_prog::bpf_func"][::core::mem::offset_of!(bpf_prog, bpf_func) - 48usize]; + ["Offset of field: bpf_prog::aux"][::core::mem::offset_of!(bpf_prog, aux) - 56usize]; + ["Offset of field: bpf_prog::orig_prog"] + [::core::mem::offset_of!(bpf_prog, orig_prog) - 64usize]; +}; +impl bpf_prog { + #[inline] + pub fn jited(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u16) } + } + #[inline] + pub fn set_jited(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn jited_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_jited_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn jit_requested(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u16) } + } + #[inline] + pub fn set_jit_requested(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn jit_requested_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_jit_requested_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn gpl_compatible(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u16) } + } + #[inline] + pub fn set_gpl_compatible(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn gpl_compatible_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_gpl_compatible_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cb_access(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u16) } + } + #[inline] + pub fn set_cb_access(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cb_access_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_cb_access_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dst_needed(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u16) } + } + #[inline] + pub fn set_dst_needed(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dst_needed_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_dst_needed_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn blinding_requested(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u16) } + } + #[inline] + pub fn set_blinding_requested(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn blinding_requested_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_blinding_requested_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn blinded(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u16) } + } + #[inline] + pub fn set_blinded(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn blinded_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_blinded_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_func(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u16) } + } + #[inline] + pub fn set_is_func(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_func_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_is_func_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn kprobe_override(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u16) } + } + #[inline] + pub fn set_kprobe_override(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn kprobe_override_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_kprobe_override_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn has_callchain_buf(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u16) } + } + #[inline] + pub fn set_has_callchain_buf(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_callchain_buf_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_has_callchain_buf_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn enforce_expected_attach_type(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u16) } + } + #[inline] + pub fn set_enforce_expected_attach_type(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn enforce_expected_attach_type_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 10usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_enforce_expected_attach_type_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn call_get_stack(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u16) } + } + #[inline] + pub fn set_call_get_stack(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn call_get_stack_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_call_get_stack_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn call_get_func_ip(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_call_get_func_ip(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn call_get_func_ip_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_call_get_func_ip_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn tstamp_type_access(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_tstamp_type_access(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn tstamp_type_access_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 13usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_tstamp_type_access_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 13usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sleepable(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_sleepable(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sleepable_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 14usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_sleepable_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + jited: u16_, + jit_requested: u16_, + gpl_compatible: u16_, + cb_access: u16_, + dst_needed: u16_, + blinding_requested: u16_, + blinded: u16_, + is_func: u16_, + kprobe_override: u16_, + has_callchain_buf: u16_, + enforce_expected_attach_type: u16_, + call_get_stack: u16_, + call_get_func_ip: u16_, + tstamp_type_access: u16_, + sleepable: u16_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let jited: u16 = unsafe { ::core::mem::transmute(jited) }; + jited as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let jit_requested: u16 = unsafe { ::core::mem::transmute(jit_requested) }; + jit_requested as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let gpl_compatible: u16 = unsafe { ::core::mem::transmute(gpl_compatible) }; + gpl_compatible as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let cb_access: u16 = unsafe { ::core::mem::transmute(cb_access) }; + cb_access as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let dst_needed: u16 = unsafe { ::core::mem::transmute(dst_needed) }; + dst_needed as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let blinding_requested: u16 = unsafe { ::core::mem::transmute(blinding_requested) }; + blinding_requested as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let blinded: u16 = unsafe { ::core::mem::transmute(blinded) }; + blinded as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let is_func: u16 = unsafe { ::core::mem::transmute(is_func) }; + is_func as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let kprobe_override: u16 = unsafe { ::core::mem::transmute(kprobe_override) }; + kprobe_override as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let has_callchain_buf: u16 = unsafe { ::core::mem::transmute(has_callchain_buf) }; + has_callchain_buf as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let enforce_expected_attach_type: u16 = + unsafe { ::core::mem::transmute(enforce_expected_attach_type) }; + enforce_expected_attach_type as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let call_get_stack: u16 = unsafe { ::core::mem::transmute(call_get_stack) }; + call_get_stack as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let call_get_func_ip: u16 = unsafe { ::core::mem::transmute(call_get_func_ip) }; + call_get_func_ip as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let tstamp_type_access: u16 = unsafe { ::core::mem::transmute(tstamp_type_access) }; + tstamp_type_access as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let sleepable: u16 = unsafe { ::core::mem::transmute(sleepable) }; + sleepable as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_prog_aux { + pub refcnt: atomic64_t, + pub used_map_cnt: u32_, + pub used_btf_cnt: u32_, + pub max_ctx_offset: u32_, + pub max_pkt_offset: u32_, + pub max_tp_access: u32_, + pub stack_depth: u32_, + pub id: u32_, + pub func_cnt: u32_, + pub real_func_cnt: u32_, + pub func_idx: u32_, + pub attach_btf_id: u32_, + pub ctx_arg_info_size: u32_, + pub max_rdonly_access: u32_, + pub max_rdwr_access: u32_, + pub attach_btf: *mut btf, + pub ctx_arg_info: *const bpf_ctx_arg_aux, + pub dst_mutex: mutex, + pub dst_prog: *mut bpf_prog, + pub dst_trampoline: *mut bpf_trampoline, + pub saved_dst_prog_type: bpf_prog_type, + pub saved_dst_attach_type: bpf_attach_type, + pub verifier_zext: bool_, + pub dev_bound: bool_, + pub offload_requested: bool_, + pub attach_btf_trace: bool_, + pub attach_tracing_prog: bool_, + pub func_proto_unreliable: bool_, + pub tail_call_reachable: bool_, + pub xdp_has_frags: bool_, + pub exception_cb: bool_, + pub exception_boundary: bool_, + pub is_extended: bool_, + pub changes_pkt_data: bool_, + pub prog_array_member_cnt: u64_, + pub ext_mutex: mutex, + pub arena: *mut bpf_arena, + pub attach_func_proto: *const btf_type, + pub attach_func_name: *const ::core::ffi::c_char, + pub func: *mut *mut bpf_prog, + pub jit_data: *mut ::core::ffi::c_void, + pub poke_tab: *mut bpf_jit_poke_descriptor, + pub kfunc_tab: *mut bpf_kfunc_desc_tab, + pub kfunc_btf_tab: *mut bpf_kfunc_btf_tab, + pub size_poke_tab: u32_, + pub ksym: bpf_ksym, + pub ops: *const bpf_prog_ops, + pub used_maps: *mut *mut bpf_map, + pub used_maps_mutex: mutex, + pub used_btfs: *mut btf_mod_pair, + pub prog: *mut bpf_prog, + pub user: *mut user_struct, + pub load_time: u64_, + pub verified_insns: u32_, + pub cgroup_atype: ::core::ffi::c_int, + pub cgroup_storage: [*mut bpf_map; 2usize], + pub name: [::core::ffi::c_char; 16usize], + pub bpf_exception_cb: ::core::option::Option< + unsafe extern "C" fn(arg1: u64_, arg2: u64_, arg3: u64_, arg4: u64_, arg5: u64_) -> u64_, + >, + pub security: *mut ::core::ffi::c_void, + pub token: *mut bpf_token, + pub offload: *mut bpf_prog_offload, + pub btf: *mut btf, + pub func_info: *mut bpf_func_info, + pub func_info_aux: *mut bpf_func_info_aux, + pub linfo: *mut bpf_line_info, + pub jited_linfo: *mut *mut ::core::ffi::c_void, + pub func_info_cnt: u32_, + pub nr_linfo: u32_, + pub linfo_idx: u32_, + pub mod_: *mut module, + pub num_exentries: u32_, + pub extable: *mut exception_table_entry, + pub __bindgen_anon_1: bpf_prog_aux__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_prog_aux__bindgen_ty_1 { + pub work: work_struct, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_aux__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_prog_aux__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_aux__bindgen_ty_1::work"] + [::core::mem::offset_of!(bpf_prog_aux__bindgen_ty_1, work) - 0usize]; + ["Offset of field: bpf_prog_aux__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(bpf_prog_aux__bindgen_ty_1, rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_aux"][::core::mem::size_of::() - 1128usize]; + ["Alignment of bpf_prog_aux"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_aux::refcnt"] + [::core::mem::offset_of!(bpf_prog_aux, refcnt) - 0usize]; + ["Offset of field: bpf_prog_aux::used_map_cnt"] + [::core::mem::offset_of!(bpf_prog_aux, used_map_cnt) - 8usize]; + ["Offset of field: bpf_prog_aux::used_btf_cnt"] + [::core::mem::offset_of!(bpf_prog_aux, used_btf_cnt) - 12usize]; + ["Offset of field: bpf_prog_aux::max_ctx_offset"] + [::core::mem::offset_of!(bpf_prog_aux, max_ctx_offset) - 16usize]; + ["Offset of field: bpf_prog_aux::max_pkt_offset"] + [::core::mem::offset_of!(bpf_prog_aux, max_pkt_offset) - 20usize]; + ["Offset of field: bpf_prog_aux::max_tp_access"] + [::core::mem::offset_of!(bpf_prog_aux, max_tp_access) - 24usize]; + ["Offset of field: bpf_prog_aux::stack_depth"] + [::core::mem::offset_of!(bpf_prog_aux, stack_depth) - 28usize]; + ["Offset of field: bpf_prog_aux::id"][::core::mem::offset_of!(bpf_prog_aux, id) - 32usize]; + ["Offset of field: bpf_prog_aux::func_cnt"] + [::core::mem::offset_of!(bpf_prog_aux, func_cnt) - 36usize]; + ["Offset of field: bpf_prog_aux::real_func_cnt"] + [::core::mem::offset_of!(bpf_prog_aux, real_func_cnt) - 40usize]; + ["Offset of field: bpf_prog_aux::func_idx"] + [::core::mem::offset_of!(bpf_prog_aux, func_idx) - 44usize]; + ["Offset of field: bpf_prog_aux::attach_btf_id"] + [::core::mem::offset_of!(bpf_prog_aux, attach_btf_id) - 48usize]; + ["Offset of field: bpf_prog_aux::ctx_arg_info_size"] + [::core::mem::offset_of!(bpf_prog_aux, ctx_arg_info_size) - 52usize]; + ["Offset of field: bpf_prog_aux::max_rdonly_access"] + [::core::mem::offset_of!(bpf_prog_aux, max_rdonly_access) - 56usize]; + ["Offset of field: bpf_prog_aux::max_rdwr_access"] + [::core::mem::offset_of!(bpf_prog_aux, max_rdwr_access) - 60usize]; + ["Offset of field: bpf_prog_aux::attach_btf"] + [::core::mem::offset_of!(bpf_prog_aux, attach_btf) - 64usize]; + ["Offset of field: bpf_prog_aux::ctx_arg_info"] + [::core::mem::offset_of!(bpf_prog_aux, ctx_arg_info) - 72usize]; + ["Offset of field: bpf_prog_aux::dst_mutex"] + [::core::mem::offset_of!(bpf_prog_aux, dst_mutex) - 80usize]; + ["Offset of field: bpf_prog_aux::dst_prog"] + [::core::mem::offset_of!(bpf_prog_aux, dst_prog) - 112usize]; + ["Offset of field: bpf_prog_aux::dst_trampoline"] + [::core::mem::offset_of!(bpf_prog_aux, dst_trampoline) - 120usize]; + ["Offset of field: bpf_prog_aux::saved_dst_prog_type"] + [::core::mem::offset_of!(bpf_prog_aux, saved_dst_prog_type) - 128usize]; + ["Offset of field: bpf_prog_aux::saved_dst_attach_type"] + [::core::mem::offset_of!(bpf_prog_aux, saved_dst_attach_type) - 132usize]; + ["Offset of field: bpf_prog_aux::verifier_zext"] + [::core::mem::offset_of!(bpf_prog_aux, verifier_zext) - 136usize]; + ["Offset of field: bpf_prog_aux::dev_bound"] + [::core::mem::offset_of!(bpf_prog_aux, dev_bound) - 137usize]; + ["Offset of field: bpf_prog_aux::offload_requested"] + [::core::mem::offset_of!(bpf_prog_aux, offload_requested) - 138usize]; + ["Offset of field: bpf_prog_aux::attach_btf_trace"] + [::core::mem::offset_of!(bpf_prog_aux, attach_btf_trace) - 139usize]; + ["Offset of field: bpf_prog_aux::attach_tracing_prog"] + [::core::mem::offset_of!(bpf_prog_aux, attach_tracing_prog) - 140usize]; + ["Offset of field: bpf_prog_aux::func_proto_unreliable"] + [::core::mem::offset_of!(bpf_prog_aux, func_proto_unreliable) - 141usize]; + ["Offset of field: bpf_prog_aux::tail_call_reachable"] + [::core::mem::offset_of!(bpf_prog_aux, tail_call_reachable) - 142usize]; + ["Offset of field: bpf_prog_aux::xdp_has_frags"] + [::core::mem::offset_of!(bpf_prog_aux, xdp_has_frags) - 143usize]; + ["Offset of field: bpf_prog_aux::exception_cb"] + [::core::mem::offset_of!(bpf_prog_aux, exception_cb) - 144usize]; + ["Offset of field: bpf_prog_aux::exception_boundary"] + [::core::mem::offset_of!(bpf_prog_aux, exception_boundary) - 145usize]; + ["Offset of field: bpf_prog_aux::is_extended"] + [::core::mem::offset_of!(bpf_prog_aux, is_extended) - 146usize]; + ["Offset of field: bpf_prog_aux::changes_pkt_data"] + [::core::mem::offset_of!(bpf_prog_aux, changes_pkt_data) - 147usize]; + ["Offset of field: bpf_prog_aux::prog_array_member_cnt"] + [::core::mem::offset_of!(bpf_prog_aux, prog_array_member_cnt) - 152usize]; + ["Offset of field: bpf_prog_aux::ext_mutex"] + [::core::mem::offset_of!(bpf_prog_aux, ext_mutex) - 160usize]; + ["Offset of field: bpf_prog_aux::arena"] + [::core::mem::offset_of!(bpf_prog_aux, arena) - 192usize]; + ["Offset of field: bpf_prog_aux::attach_func_proto"] + [::core::mem::offset_of!(bpf_prog_aux, attach_func_proto) - 200usize]; + ["Offset of field: bpf_prog_aux::attach_func_name"] + [::core::mem::offset_of!(bpf_prog_aux, attach_func_name) - 208usize]; + ["Offset of field: bpf_prog_aux::func"][::core::mem::offset_of!(bpf_prog_aux, func) - 216usize]; + ["Offset of field: bpf_prog_aux::jit_data"] + [::core::mem::offset_of!(bpf_prog_aux, jit_data) - 224usize]; + ["Offset of field: bpf_prog_aux::poke_tab"] + [::core::mem::offset_of!(bpf_prog_aux, poke_tab) - 232usize]; + ["Offset of field: bpf_prog_aux::kfunc_tab"] + [::core::mem::offset_of!(bpf_prog_aux, kfunc_tab) - 240usize]; + ["Offset of field: bpf_prog_aux::kfunc_btf_tab"] + [::core::mem::offset_of!(bpf_prog_aux, kfunc_btf_tab) - 248usize]; + ["Offset of field: bpf_prog_aux::size_poke_tab"] + [::core::mem::offset_of!(bpf_prog_aux, size_poke_tab) - 256usize]; + ["Offset of field: bpf_prog_aux::ksym"][::core::mem::offset_of!(bpf_prog_aux, ksym) - 264usize]; + ["Offset of field: bpf_prog_aux::ops"][::core::mem::offset_of!(bpf_prog_aux, ops) - 864usize]; + ["Offset of field: bpf_prog_aux::used_maps"] + [::core::mem::offset_of!(bpf_prog_aux, used_maps) - 872usize]; + ["Offset of field: bpf_prog_aux::used_maps_mutex"] + [::core::mem::offset_of!(bpf_prog_aux, used_maps_mutex) - 880usize]; + ["Offset of field: bpf_prog_aux::used_btfs"] + [::core::mem::offset_of!(bpf_prog_aux, used_btfs) - 912usize]; + ["Offset of field: bpf_prog_aux::prog"][::core::mem::offset_of!(bpf_prog_aux, prog) - 920usize]; + ["Offset of field: bpf_prog_aux::user"][::core::mem::offset_of!(bpf_prog_aux, user) - 928usize]; + ["Offset of field: bpf_prog_aux::load_time"] + [::core::mem::offset_of!(bpf_prog_aux, load_time) - 936usize]; + ["Offset of field: bpf_prog_aux::verified_insns"] + [::core::mem::offset_of!(bpf_prog_aux, verified_insns) - 944usize]; + ["Offset of field: bpf_prog_aux::cgroup_atype"] + [::core::mem::offset_of!(bpf_prog_aux, cgroup_atype) - 948usize]; + ["Offset of field: bpf_prog_aux::cgroup_storage"] + [::core::mem::offset_of!(bpf_prog_aux, cgroup_storage) - 952usize]; + ["Offset of field: bpf_prog_aux::name"][::core::mem::offset_of!(bpf_prog_aux, name) - 968usize]; + ["Offset of field: bpf_prog_aux::bpf_exception_cb"] + [::core::mem::offset_of!(bpf_prog_aux, bpf_exception_cb) - 984usize]; + ["Offset of field: bpf_prog_aux::security"] + [::core::mem::offset_of!(bpf_prog_aux, security) - 992usize]; + ["Offset of field: bpf_prog_aux::token"] + [::core::mem::offset_of!(bpf_prog_aux, token) - 1000usize]; + ["Offset of field: bpf_prog_aux::offload"] + [::core::mem::offset_of!(bpf_prog_aux, offload) - 1008usize]; + ["Offset of field: bpf_prog_aux::btf"][::core::mem::offset_of!(bpf_prog_aux, btf) - 1016usize]; + ["Offset of field: bpf_prog_aux::func_info"] + [::core::mem::offset_of!(bpf_prog_aux, func_info) - 1024usize]; + ["Offset of field: bpf_prog_aux::func_info_aux"] + [::core::mem::offset_of!(bpf_prog_aux, func_info_aux) - 1032usize]; + ["Offset of field: bpf_prog_aux::linfo"] + [::core::mem::offset_of!(bpf_prog_aux, linfo) - 1040usize]; + ["Offset of field: bpf_prog_aux::jited_linfo"] + [::core::mem::offset_of!(bpf_prog_aux, jited_linfo) - 1048usize]; + ["Offset of field: bpf_prog_aux::func_info_cnt"] + [::core::mem::offset_of!(bpf_prog_aux, func_info_cnt) - 1056usize]; + ["Offset of field: bpf_prog_aux::nr_linfo"] + [::core::mem::offset_of!(bpf_prog_aux, nr_linfo) - 1060usize]; + ["Offset of field: bpf_prog_aux::linfo_idx"] + [::core::mem::offset_of!(bpf_prog_aux, linfo_idx) - 1064usize]; + ["Offset of field: bpf_prog_aux::mod_"] + [::core::mem::offset_of!(bpf_prog_aux, mod_) - 1072usize]; + ["Offset of field: bpf_prog_aux::num_exentries"] + [::core::mem::offset_of!(bpf_prog_aux, num_exentries) - 1080usize]; + ["Offset of field: bpf_prog_aux::extable"] + [::core::mem::offset_of!(bpf_prog_aux, extable) - 1088usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_prog_offload { + pub prog: *mut bpf_prog, + pub netdev: *mut net_device, + pub offdev: *mut bpf_offload_dev, + pub dev_priv: *mut ::core::ffi::c_void, + pub offloads: list_head, + pub dev_state: bool_, + pub opt_failed: bool_, + pub jited_image: *mut ::core::ffi::c_void, + pub jited_len: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_offload"][::core::mem::size_of::() - 72usize]; + ["Alignment of bpf_prog_offload"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_offload::prog"] + [::core::mem::offset_of!(bpf_prog_offload, prog) - 0usize]; + ["Offset of field: bpf_prog_offload::netdev"] + [::core::mem::offset_of!(bpf_prog_offload, netdev) - 8usize]; + ["Offset of field: bpf_prog_offload::offdev"] + [::core::mem::offset_of!(bpf_prog_offload, offdev) - 16usize]; + ["Offset of field: bpf_prog_offload::dev_priv"] + [::core::mem::offset_of!(bpf_prog_offload, dev_priv) - 24usize]; + ["Offset of field: bpf_prog_offload::offloads"] + [::core::mem::offset_of!(bpf_prog_offload, offloads) - 32usize]; + ["Offset of field: bpf_prog_offload::dev_state"] + [::core::mem::offset_of!(bpf_prog_offload, dev_state) - 48usize]; + ["Offset of field: bpf_prog_offload::opt_failed"] + [::core::mem::offset_of!(bpf_prog_offload, opt_failed) - 49usize]; + ["Offset of field: bpf_prog_offload::jited_image"] + [::core::mem::offset_of!(bpf_prog_offload, jited_image) - 56usize]; + ["Offset of field: bpf_prog_offload::jited_len"] + [::core::mem::offset_of!(bpf_prog_offload, jited_len) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_prog_offload_ops { + pub insn_hook: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_verifier_env, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub finalize: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut bpf_verifier_env) -> ::core::ffi::c_int, + >, + pub replace_insn: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_verifier_env, + arg2: u32_, + arg3: *mut bpf_insn, + ) -> ::core::ffi::c_int, + >, + pub remove_insns: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_verifier_env, + arg2: u32_, + arg3: u32_, + ) -> ::core::ffi::c_int, + >, + pub prepare: + ::core::option::Option ::core::ffi::c_int>, + pub translate: + ::core::option::Option ::core::ffi::c_int>, + pub destroy: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_offload_ops"][::core::mem::size_of::() - 56usize]; + ["Alignment of bpf_prog_offload_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_offload_ops::insn_hook"] + [::core::mem::offset_of!(bpf_prog_offload_ops, insn_hook) - 0usize]; + ["Offset of field: bpf_prog_offload_ops::finalize"] + [::core::mem::offset_of!(bpf_prog_offload_ops, finalize) - 8usize]; + ["Offset of field: bpf_prog_offload_ops::replace_insn"] + [::core::mem::offset_of!(bpf_prog_offload_ops, replace_insn) - 16usize]; + ["Offset of field: bpf_prog_offload_ops::remove_insns"] + [::core::mem::offset_of!(bpf_prog_offload_ops, remove_insns) - 24usize]; + ["Offset of field: bpf_prog_offload_ops::prepare"] + [::core::mem::offset_of!(bpf_prog_offload_ops, prepare) - 32usize]; + ["Offset of field: bpf_prog_offload_ops::translate"] + [::core::mem::offset_of!(bpf_prog_offload_ops, translate) - 40usize]; + ["Offset of field: bpf_prog_offload_ops::destroy"] + [::core::mem::offset_of!(bpf_prog_offload_ops, destroy) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_prog_ops { + pub test_run: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_prog, + arg2: *const bpf_attr, + arg3: *mut bpf_attr, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_ops"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_prog_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_ops::test_run"] + [::core::mem::offset_of!(bpf_prog_ops, test_run) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_prog_stats { + pub cnt: u64_stats_t, + pub nsecs: u64_stats_t, + pub misses: u64_stats_t, + pub syncp: u64_stats_sync, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_prog_stats"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_prog_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_prog_stats::cnt"][::core::mem::offset_of!(bpf_prog_stats, cnt) - 0usize]; + ["Offset of field: bpf_prog_stats::nsecs"] + [::core::mem::offset_of!(bpf_prog_stats, nsecs) - 8usize]; + ["Offset of field: bpf_prog_stats::misses"] + [::core::mem::offset_of!(bpf_prog_stats, misses) - 16usize]; + ["Offset of field: bpf_prog_stats::syncp"] + [::core::mem::offset_of!(bpf_prog_stats, syncp) - 24usize]; +}; +impl bpf_prog_stats { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_raw_event_map { + pub tp: *mut tracepoint, + pub bpf_func: *mut ::core::ffi::c_void, + pub num_args: u32_, + pub writable_size: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_raw_event_map"][::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_raw_event_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_raw_event_map::tp"] + [::core::mem::offset_of!(bpf_raw_event_map, tp) - 0usize]; + ["Offset of field: bpf_raw_event_map::bpf_func"] + [::core::mem::offset_of!(bpf_raw_event_map, bpf_func) - 8usize]; + ["Offset of field: bpf_raw_event_map::num_args"] + [::core::mem::offset_of!(bpf_raw_event_map, num_args) - 16usize]; + ["Offset of field: bpf_raw_event_map::writable_size"] + [::core::mem::offset_of!(bpf_raw_event_map, writable_size) - 20usize]; +}; +impl bpf_raw_event_map { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_reference_state { + pub id: ::core::ffi::c_int, + pub insn_idx: ::core::ffi::c_int, + pub callback_ref: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_reference_state"][::core::mem::size_of::() - 12usize]; + ["Alignment of bpf_reference_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_reference_state::id"] + [::core::mem::offset_of!(bpf_reference_state, id) - 0usize]; + ["Offset of field: bpf_reference_state::insn_idx"] + [::core::mem::offset_of!(bpf_reference_state, insn_idx) - 4usize]; + ["Offset of field: bpf_reference_state::callback_ref"] + [::core::mem::offset_of!(bpf_reference_state, callback_ref) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_psock_progs { + pub msg_parser: *mut bpf_prog, + pub stream_parser: *mut bpf_prog, + pub stream_verdict: *mut bpf_prog, + pub skb_verdict: *mut bpf_prog, + pub msg_parser_link: *mut bpf_link, + pub stream_parser_link: *mut bpf_link, + pub stream_verdict_link: *mut bpf_link, + pub skb_verdict_link: *mut bpf_link, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_psock_progs"][::core::mem::size_of::() - 64usize]; + ["Alignment of sk_psock_progs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_psock_progs::msg_parser"] + [::core::mem::offset_of!(sk_psock_progs, msg_parser) - 0usize]; + ["Offset of field: sk_psock_progs::stream_parser"] + [::core::mem::offset_of!(sk_psock_progs, stream_parser) - 8usize]; + ["Offset of field: sk_psock_progs::stream_verdict"] + [::core::mem::offset_of!(sk_psock_progs, stream_verdict) - 16usize]; + ["Offset of field: sk_psock_progs::skb_verdict"] + [::core::mem::offset_of!(sk_psock_progs, skb_verdict) - 24usize]; + ["Offset of field: sk_psock_progs::msg_parser_link"] + [::core::mem::offset_of!(sk_psock_progs, msg_parser_link) - 32usize]; + ["Offset of field: sk_psock_progs::stream_parser_link"] + [::core::mem::offset_of!(sk_psock_progs, stream_parser_link) - 40usize]; + ["Offset of field: sk_psock_progs::stream_verdict_link"] + [::core::mem::offset_of!(sk_psock_progs, stream_verdict_link) - 48usize]; + ["Offset of field: sk_psock_progs::skb_verdict_link"] + [::core::mem::offset_of!(sk_psock_progs, skb_verdict_link) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_stack_state { + pub spilled_ptr: bpf_reg_state, + pub slot_type: [u8_; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_stack_state"][::core::mem::size_of::() - 128usize]; + ["Alignment of bpf_stack_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_stack_state::spilled_ptr"] + [::core::mem::offset_of!(bpf_stack_state, spilled_ptr) - 0usize]; + ["Offset of field: bpf_stack_state::slot_type"] + [::core::mem::offset_of!(bpf_stack_state, slot_type) - 120usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct bpf_storage_buffer { + pub rcu: callback_head, + pub data: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_storage_buffer"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_storage_buffer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_storage_buffer::rcu"] + [::core::mem::offset_of!(bpf_storage_buffer, rcu) - 0usize]; + ["Offset of field: bpf_storage_buffer::data"] + [::core::mem::offset_of!(bpf_storage_buffer, data) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_struct_ops { + pub verifier_ops: *const bpf_verifier_ops, + pub init: ::core::option::Option ::core::ffi::c_int>, + pub check_member: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const btf_type, + arg2: *const btf_member, + arg3: *const bpf_prog, + ) -> ::core::ffi::c_int, + >, + pub init_member: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const btf_type, + arg2: *const btf_member, + arg3: *mut ::core::ffi::c_void, + arg4: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub reg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *mut bpf_link, + ) -> ::core::ffi::c_int, + >, + pub unreg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void, arg2: *mut bpf_link), + >, + pub update: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *mut ::core::ffi::c_void, + arg3: *mut bpf_link, + ) -> ::core::ffi::c_int, + >, + pub validate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int, + >, + pub cfi_stubs: *mut ::core::ffi::c_void, + pub owner: *mut module, + pub name: *const ::core::ffi::c_char, + pub func_models: [btf_func_model; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_struct_ops"][::core::mem::size_of::() - 1816usize]; + ["Alignment of bpf_struct_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_struct_ops::verifier_ops"] + [::core::mem::offset_of!(bpf_struct_ops, verifier_ops) - 0usize]; + ["Offset of field: bpf_struct_ops::init"] + [::core::mem::offset_of!(bpf_struct_ops, init) - 8usize]; + ["Offset of field: bpf_struct_ops::check_member"] + [::core::mem::offset_of!(bpf_struct_ops, check_member) - 16usize]; + ["Offset of field: bpf_struct_ops::init_member"] + [::core::mem::offset_of!(bpf_struct_ops, init_member) - 24usize]; + ["Offset of field: bpf_struct_ops::reg"] + [::core::mem::offset_of!(bpf_struct_ops, reg) - 32usize]; + ["Offset of field: bpf_struct_ops::unreg"] + [::core::mem::offset_of!(bpf_struct_ops, unreg) - 40usize]; + ["Offset of field: bpf_struct_ops::update"] + [::core::mem::offset_of!(bpf_struct_ops, update) - 48usize]; + ["Offset of field: bpf_struct_ops::validate"] + [::core::mem::offset_of!(bpf_struct_ops, validate) - 56usize]; + ["Offset of field: bpf_struct_ops::cfi_stubs"] + [::core::mem::offset_of!(bpf_struct_ops, cfi_stubs) - 64usize]; + ["Offset of field: bpf_struct_ops::owner"] + [::core::mem::offset_of!(bpf_struct_ops, owner) - 72usize]; + ["Offset of field: bpf_struct_ops::name"] + [::core::mem::offset_of!(bpf_struct_ops, name) - 80usize]; + ["Offset of field: bpf_struct_ops::func_models"] + [::core::mem::offset_of!(bpf_struct_ops, func_models) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_struct_ops_arg_info { + pub info: *mut bpf_ctx_arg_aux, + pub cnt: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_struct_ops_arg_info"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_struct_ops_arg_info"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_struct_ops_arg_info::info"] + [::core::mem::offset_of!(bpf_struct_ops_arg_info, info) - 0usize]; + ["Offset of field: bpf_struct_ops_arg_info::cnt"] + [::core::mem::offset_of!(bpf_struct_ops_arg_info, cnt) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_struct_ops_desc { + pub st_ops: *mut bpf_struct_ops, + pub type_: *const btf_type, + pub value_type: *const btf_type, + pub type_id: u32_, + pub value_id: u32_, + pub arg_info: *mut bpf_struct_ops_arg_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_struct_ops_desc"][::core::mem::size_of::() - 40usize]; + ["Alignment of bpf_struct_ops_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_struct_ops_desc::st_ops"] + [::core::mem::offset_of!(bpf_struct_ops_desc, st_ops) - 0usize]; + ["Offset of field: bpf_struct_ops_desc::type_"] + [::core::mem::offset_of!(bpf_struct_ops_desc, type_) - 8usize]; + ["Offset of field: bpf_struct_ops_desc::value_type"] + [::core::mem::offset_of!(bpf_struct_ops_desc, value_type) - 16usize]; + ["Offset of field: bpf_struct_ops_desc::type_id"] + [::core::mem::offset_of!(bpf_struct_ops_desc, type_id) - 24usize]; + ["Offset of field: bpf_struct_ops_desc::value_id"] + [::core::mem::offset_of!(bpf_struct_ops_desc, value_id) - 28usize]; + ["Offset of field: bpf_struct_ops_desc::arg_info"] + [::core::mem::offset_of!(bpf_struct_ops_desc, arg_info) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcp_congestion_ops { + pub ssthresh: ::core::option::Option u32_>, + pub cong_avoid: + ::core::option::Option, + pub set_state: ::core::option::Option, + pub cwnd_event: + ::core::option::Option, + pub in_ack_event: ::core::option::Option, + pub pkts_acked: + ::core::option::Option, + pub min_tso_segs: ::core::option::Option u32_>, + pub cong_control: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: u32_, + arg3: ::core::ffi::c_int, + arg4: *const rate_sample, + ), + >, + pub undo_cwnd: ::core::option::Option u32_>, + pub sndbuf_expand: ::core::option::Option u32_>, + pub get_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: u32_, + arg3: *mut ::core::ffi::c_int, + arg4: *mut tcp_cc_info, + ) -> usize, + >, + pub name: [::core::ffi::c_char; 16usize], + pub owner: *mut module, + pub list: list_head, + pub key: u32_, + pub flags: u32_, + pub init: ::core::option::Option, + pub release: ::core::option::Option, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcp_congestion_ops"][::core::mem::size_of::() - 192usize]; + ["Alignment of tcp_congestion_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcp_congestion_ops::ssthresh"] + [::core::mem::offset_of!(tcp_congestion_ops, ssthresh) - 0usize]; + ["Offset of field: tcp_congestion_ops::cong_avoid"] + [::core::mem::offset_of!(tcp_congestion_ops, cong_avoid) - 8usize]; + ["Offset of field: tcp_congestion_ops::set_state"] + [::core::mem::offset_of!(tcp_congestion_ops, set_state) - 16usize]; + ["Offset of field: tcp_congestion_ops::cwnd_event"] + [::core::mem::offset_of!(tcp_congestion_ops, cwnd_event) - 24usize]; + ["Offset of field: tcp_congestion_ops::in_ack_event"] + [::core::mem::offset_of!(tcp_congestion_ops, in_ack_event) - 32usize]; + ["Offset of field: tcp_congestion_ops::pkts_acked"] + [::core::mem::offset_of!(tcp_congestion_ops, pkts_acked) - 40usize]; + ["Offset of field: tcp_congestion_ops::min_tso_segs"] + [::core::mem::offset_of!(tcp_congestion_ops, min_tso_segs) - 48usize]; + ["Offset of field: tcp_congestion_ops::cong_control"] + [::core::mem::offset_of!(tcp_congestion_ops, cong_control) - 56usize]; + ["Offset of field: tcp_congestion_ops::undo_cwnd"] + [::core::mem::offset_of!(tcp_congestion_ops, undo_cwnd) - 64usize]; + ["Offset of field: tcp_congestion_ops::sndbuf_expand"] + [::core::mem::offset_of!(tcp_congestion_ops, sndbuf_expand) - 72usize]; + ["Offset of field: tcp_congestion_ops::get_info"] + [::core::mem::offset_of!(tcp_congestion_ops, get_info) - 80usize]; + ["Offset of field: tcp_congestion_ops::name"] + [::core::mem::offset_of!(tcp_congestion_ops, name) - 88usize]; + ["Offset of field: tcp_congestion_ops::owner"] + [::core::mem::offset_of!(tcp_congestion_ops, owner) - 104usize]; + ["Offset of field: tcp_congestion_ops::list"] + [::core::mem::offset_of!(tcp_congestion_ops, list) - 112usize]; + ["Offset of field: tcp_congestion_ops::key"] + [::core::mem::offset_of!(tcp_congestion_ops, key) - 128usize]; + ["Offset of field: tcp_congestion_ops::flags"] + [::core::mem::offset_of!(tcp_congestion_ops, flags) - 132usize]; + ["Offset of field: tcp_congestion_ops::init"] + [::core::mem::offset_of!(tcp_congestion_ops, init) - 136usize]; + ["Offset of field: tcp_congestion_ops::release"] + [::core::mem::offset_of!(tcp_congestion_ops, release) - 144usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_subprog_arg_info { + pub arg_type: bpf_arg_type, + pub __bindgen_anon_1: bpf_subprog_arg_info__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_subprog_arg_info__bindgen_ty_1 { + pub mem_size: u32_, + pub btf_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_subprog_arg_info__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of bpf_subprog_arg_info__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_subprog_arg_info__bindgen_ty_1::mem_size"] + [::core::mem::offset_of!(bpf_subprog_arg_info__bindgen_ty_1, mem_size) - 0usize]; + ["Offset of field: bpf_subprog_arg_info__bindgen_ty_1::btf_id"] + [::core::mem::offset_of!(bpf_subprog_arg_info__bindgen_ty_1, btf_id) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_subprog_arg_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of bpf_subprog_arg_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_subprog_arg_info::arg_type"] + [::core::mem::offset_of!(bpf_subprog_arg_info, arg_type) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_subprog_info { + pub start: u32_, + pub linfo_idx: u32_, + pub stack_depth: u16_, + pub stack_extra: u16_, + pub fastcall_stack_off: s16, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub arg_cnt: u8_, + pub args: [bpf_subprog_arg_info; 5usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_subprog_info"][::core::mem::size_of::() - 60usize]; + ["Alignment of bpf_subprog_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_subprog_info::start"] + [::core::mem::offset_of!(bpf_subprog_info, start) - 0usize]; + ["Offset of field: bpf_subprog_info::linfo_idx"] + [::core::mem::offset_of!(bpf_subprog_info, linfo_idx) - 4usize]; + ["Offset of field: bpf_subprog_info::stack_depth"] + [::core::mem::offset_of!(bpf_subprog_info, stack_depth) - 8usize]; + ["Offset of field: bpf_subprog_info::stack_extra"] + [::core::mem::offset_of!(bpf_subprog_info, stack_extra) - 10usize]; + ["Offset of field: bpf_subprog_info::fastcall_stack_off"] + [::core::mem::offset_of!(bpf_subprog_info, fastcall_stack_off) - 12usize]; + ["Offset of field: bpf_subprog_info::arg_cnt"] + [::core::mem::offset_of!(bpf_subprog_info, arg_cnt) - 16usize]; + ["Offset of field: bpf_subprog_info::args"] + [::core::mem::offset_of!(bpf_subprog_info, args) - 20usize]; +}; +impl bpf_subprog_info { + #[inline] + pub fn has_tail_call(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_has_tail_call(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_tail_call_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_has_tail_call_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn tail_call_reachable(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_tail_call_reachable(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn tail_call_reachable_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tail_call_reachable_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn has_ld_abs(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_has_ld_abs(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_ld_abs_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_has_ld_abs_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_cb(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_cb(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_cb_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_cb_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_async_cb(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_async_cb(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_async_cb_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_async_cb_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_exception_cb(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_exception_cb(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_exception_cb_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_exception_cb_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn args_cached(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_args_cached(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn args_cached_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_args_cached_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn keep_fastcall_stack(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_keep_fastcall_stack(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn keep_fastcall_stack_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_keep_fastcall_stack_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn changes_pkt_data(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_changes_pkt_data(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn changes_pkt_data_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_changes_pkt_data_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + has_tail_call: bool_, + tail_call_reachable: bool_, + has_ld_abs: bool_, + is_cb: bool_, + is_async_cb: bool_, + is_exception_cb: bool_, + args_cached: bool_, + keep_fastcall_stack: bool_, + changes_pkt_data: bool_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let has_tail_call: u8 = unsafe { ::core::mem::transmute(has_tail_call) }; + has_tail_call as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let tail_call_reachable: u8 = unsafe { ::core::mem::transmute(tail_call_reachable) }; + tail_call_reachable as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let has_ld_abs: u8 = unsafe { ::core::mem::transmute(has_ld_abs) }; + has_ld_abs as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let is_cb: u8 = unsafe { ::core::mem::transmute(is_cb) }; + is_cb as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let is_async_cb: u8 = unsafe { ::core::mem::transmute(is_async_cb) }; + is_async_cb as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let is_exception_cb: u8 = unsafe { ::core::mem::transmute(is_exception_cb) }; + is_exception_cb as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let args_cached: u8 = unsafe { ::core::mem::transmute(args_cached) }; + args_cached as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let keep_fastcall_stack: u8 = unsafe { ::core::mem::transmute(keep_fastcall_stack) }; + keep_fastcall_stack as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let changes_pkt_data: u8 = unsafe { ::core::mem::transmute(changes_pkt_data) }; + changes_pkt_data as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_token { + pub work: work_struct, + pub refcnt: atomic64_t, + pub userns: *mut user_namespace, + pub allowed_cmds: u64_, + pub allowed_maps: u64_, + pub allowed_progs: u64_, + pub allowed_attachs: u64_, + pub security: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_token"][::core::mem::size_of::() - 88usize]; + ["Alignment of bpf_token"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_token::work"][::core::mem::offset_of!(bpf_token, work) - 0usize]; + ["Offset of field: bpf_token::refcnt"][::core::mem::offset_of!(bpf_token, refcnt) - 32usize]; + ["Offset of field: bpf_token::userns"][::core::mem::offset_of!(bpf_token, userns) - 40usize]; + ["Offset of field: bpf_token::allowed_cmds"] + [::core::mem::offset_of!(bpf_token, allowed_cmds) - 48usize]; + ["Offset of field: bpf_token::allowed_maps"] + [::core::mem::offset_of!(bpf_token, allowed_maps) - 56usize]; + ["Offset of field: bpf_token::allowed_progs"] + [::core::mem::offset_of!(bpf_token, allowed_progs) - 64usize]; + ["Offset of field: bpf_token::allowed_attachs"] + [::core::mem::offset_of!(bpf_token, allowed_attachs) - 72usize]; + ["Offset of field: bpf_token::security"] + [::core::mem::offset_of!(bpf_token, security) - 80usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_sample_weight { + pub full: __u64, + pub __bindgen_anon_1: perf_sample_weight__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_sample_weight__bindgen_ty_1 { + pub var1_dw: __u32, + pub var2_w: __u16, + pub var3_w: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_sample_weight__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_sample_weight__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: perf_sample_weight__bindgen_ty_1::var1_dw"] + [::core::mem::offset_of!(perf_sample_weight__bindgen_ty_1, var1_dw) - 0usize]; + ["Offset of field: perf_sample_weight__bindgen_ty_1::var2_w"] + [::core::mem::offset_of!(perf_sample_weight__bindgen_ty_1, var2_w) - 4usize]; + ["Offset of field: perf_sample_weight__bindgen_ty_1::var3_w"] + [::core::mem::offset_of!(perf_sample_weight__bindgen_ty_1, var3_w) - 6usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_sample_weight"][::core::mem::size_of::() - 8usize]; + ["Alignment of perf_sample_weight"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_sample_weight::full"] + [::core::mem::offset_of!(perf_sample_weight, full) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_mem_data_src { + pub val: __u64, + pub __bindgen_anon_1: perf_mem_data_src__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct perf_mem_data_src__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_mem_data_src__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_mem_data_src__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +impl perf_mem_data_src__bindgen_ty_1 { + #[inline] + pub fn mem_op(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u64) } + } + #[inline] + pub fn set_mem_op(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 5u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_op_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 5u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_op_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 5u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_lvl(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 14u8) as u64) } + } + #[inline] + pub fn set_mem_lvl(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 14u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_lvl_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 14u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_lvl_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 14u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_snoop(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 5u8) as u64) } + } + #[inline] + pub fn set_mem_snoop(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 5u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_snoop_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 19usize, + 5u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_snoop_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 19usize, + 5u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_lock(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) } + } + #[inline] + pub fn set_mem_lock(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_lock_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 24usize, + 2u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_lock_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 24usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_dtlb(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 7u8) as u64) } + } + #[inline] + pub fn set_mem_dtlb(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(26usize, 7u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_dtlb_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 26usize, + 7u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_dtlb_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 26usize, + 7u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_lvl_num(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(33usize, 4u8) as u64) } + } + #[inline] + pub fn set_mem_lvl_num(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(33usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_lvl_num_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 33usize, + 4u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_lvl_num_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 33usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_remote(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) } + } + #[inline] + pub fn set_mem_remote(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(37usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_remote_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 37usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_remote_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 37usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_snoopx(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(38usize, 2u8) as u64) } + } + #[inline] + pub fn set_mem_snoopx(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(38usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_snoopx_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 38usize, + 2u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_snoopx_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 38usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_blk(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(40usize, 3u8) as u64) } + } + #[inline] + pub fn set_mem_blk(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(40usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_blk_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 40usize, + 3u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_blk_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 40usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_hops(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(43usize, 3u8) as u64) } + } + #[inline] + pub fn set_mem_hops(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(43usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_hops_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 43usize, + 3u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_hops_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 43usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn mem_rsvd(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(46usize, 18u8) as u64) } + } + #[inline] + pub fn set_mem_rsvd(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(46usize, 18u8, val as u64) + } + } + #[inline] + pub unsafe fn mem_rsvd_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 46usize, + 18u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mem_rsvd_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 46usize, + 18u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + mem_op: __u64, + mem_lvl: __u64, + mem_snoop: __u64, + mem_lock: __u64, + mem_dtlb: __u64, + mem_lvl_num: __u64, + mem_remote: __u64, + mem_snoopx: __u64, + mem_blk: __u64, + mem_hops: __u64, + mem_rsvd: __u64, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 5u8, { + let mem_op: u64 = unsafe { ::core::mem::transmute(mem_op) }; + mem_op as u64 + }); + __bindgen_bitfield_unit.set(5usize, 14u8, { + let mem_lvl: u64 = unsafe { ::core::mem::transmute(mem_lvl) }; + mem_lvl as u64 + }); + __bindgen_bitfield_unit.set(19usize, 5u8, { + let mem_snoop: u64 = unsafe { ::core::mem::transmute(mem_snoop) }; + mem_snoop as u64 + }); + __bindgen_bitfield_unit.set(24usize, 2u8, { + let mem_lock: u64 = unsafe { ::core::mem::transmute(mem_lock) }; + mem_lock as u64 + }); + __bindgen_bitfield_unit.set(26usize, 7u8, { + let mem_dtlb: u64 = unsafe { ::core::mem::transmute(mem_dtlb) }; + mem_dtlb as u64 + }); + __bindgen_bitfield_unit.set(33usize, 4u8, { + let mem_lvl_num: u64 = unsafe { ::core::mem::transmute(mem_lvl_num) }; + mem_lvl_num as u64 + }); + __bindgen_bitfield_unit.set(37usize, 1u8, { + let mem_remote: u64 = unsafe { ::core::mem::transmute(mem_remote) }; + mem_remote as u64 + }); + __bindgen_bitfield_unit.set(38usize, 2u8, { + let mem_snoopx: u64 = unsafe { ::core::mem::transmute(mem_snoopx) }; + mem_snoopx as u64 + }); + __bindgen_bitfield_unit.set(40usize, 3u8, { + let mem_blk: u64 = unsafe { ::core::mem::transmute(mem_blk) }; + mem_blk as u64 + }); + __bindgen_bitfield_unit.set(43usize, 3u8, { + let mem_hops: u64 = unsafe { ::core::mem::transmute(mem_hops) }; + mem_hops as u64 + }); + __bindgen_bitfield_unit.set(46usize, 18u8, { + let mem_rsvd: u64 = unsafe { ::core::mem::transmute(mem_rsvd) }; + mem_rsvd as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_mem_data_src"][::core::mem::size_of::() - 8usize]; + ["Alignment of perf_mem_data_src"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_mem_data_src::val"] + [::core::mem::offset_of!(perf_mem_data_src, val) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_regs { + pub abi: __u64, + pub regs: *mut pt_regs, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_regs"][::core::mem::size_of::() - 16usize]; + ["Alignment of perf_regs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_regs::abi"][::core::mem::offset_of!(perf_regs, abi) - 0usize]; + ["Offset of field: perf_regs::regs"][::core::mem::offset_of!(perf_regs, regs) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_sample_data { + pub sample_flags: u64_, + pub period: u64_, + pub dyn_size: u64_, + pub type_: u64_, + pub tid_entry: perf_sample_data__bindgen_ty_1, + pub time: u64_, + pub id: u64_, + pub cpu_entry: perf_sample_data__bindgen_ty_2, + pub ip: u64_, + pub callchain: *mut perf_callchain_entry, + pub raw: *mut perf_raw_record, + pub br_stack: *mut perf_branch_stack, + pub br_stack_cntr: *mut u64_, + pub weight: perf_sample_weight, + pub data_src: perf_mem_data_src, + pub txn: u64_, + pub regs_user: perf_regs, + pub regs_intr: perf_regs, + pub stack_user_size: u64_, + pub stream_id: u64_, + pub cgroup: u64_, + pub addr: u64_, + pub phys_addr: u64_, + pub data_page_size: u64_, + pub code_page_size: u64_, + pub aux_size: u64_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_sample_data__bindgen_ty_1 { + pub pid: u32_, + pub tid: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_sample_data__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_sample_data__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: perf_sample_data__bindgen_ty_1::pid"] + [::core::mem::offset_of!(perf_sample_data__bindgen_ty_1, pid) - 0usize]; + ["Offset of field: perf_sample_data__bindgen_ty_1::tid"] + [::core::mem::offset_of!(perf_sample_data__bindgen_ty_1, tid) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_sample_data__bindgen_ty_2 { + pub cpu: u32_, + pub reserved: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_sample_data__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_sample_data__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: perf_sample_data__bindgen_ty_2::cpu"] + [::core::mem::offset_of!(perf_sample_data__bindgen_ty_2, cpu) - 0usize]; + ["Offset of field: perf_sample_data__bindgen_ty_2::reserved"] + [::core::mem::offset_of!(perf_sample_data__bindgen_ty_2, reserved) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_sample_data"][::core::mem::size_of::() - 256usize]; + ["Alignment of perf_sample_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_sample_data::sample_flags"] + [::core::mem::offset_of!(perf_sample_data, sample_flags) - 0usize]; + ["Offset of field: perf_sample_data::period"] + [::core::mem::offset_of!(perf_sample_data, period) - 8usize]; + ["Offset of field: perf_sample_data::dyn_size"] + [::core::mem::offset_of!(perf_sample_data, dyn_size) - 16usize]; + ["Offset of field: perf_sample_data::type_"] + [::core::mem::offset_of!(perf_sample_data, type_) - 24usize]; + ["Offset of field: perf_sample_data::tid_entry"] + [::core::mem::offset_of!(perf_sample_data, tid_entry) - 32usize]; + ["Offset of field: perf_sample_data::time"] + [::core::mem::offset_of!(perf_sample_data, time) - 40usize]; + ["Offset of field: perf_sample_data::id"] + [::core::mem::offset_of!(perf_sample_data, id) - 48usize]; + ["Offset of field: perf_sample_data::cpu_entry"] + [::core::mem::offset_of!(perf_sample_data, cpu_entry) - 56usize]; + ["Offset of field: perf_sample_data::ip"] + [::core::mem::offset_of!(perf_sample_data, ip) - 64usize]; + ["Offset of field: perf_sample_data::callchain"] + [::core::mem::offset_of!(perf_sample_data, callchain) - 72usize]; + ["Offset of field: perf_sample_data::raw"] + [::core::mem::offset_of!(perf_sample_data, raw) - 80usize]; + ["Offset of field: perf_sample_data::br_stack"] + [::core::mem::offset_of!(perf_sample_data, br_stack) - 88usize]; + ["Offset of field: perf_sample_data::br_stack_cntr"] + [::core::mem::offset_of!(perf_sample_data, br_stack_cntr) - 96usize]; + ["Offset of field: perf_sample_data::weight"] + [::core::mem::offset_of!(perf_sample_data, weight) - 104usize]; + ["Offset of field: perf_sample_data::data_src"] + [::core::mem::offset_of!(perf_sample_data, data_src) - 112usize]; + ["Offset of field: perf_sample_data::txn"] + [::core::mem::offset_of!(perf_sample_data, txn) - 120usize]; + ["Offset of field: perf_sample_data::regs_user"] + [::core::mem::offset_of!(perf_sample_data, regs_user) - 128usize]; + ["Offset of field: perf_sample_data::regs_intr"] + [::core::mem::offset_of!(perf_sample_data, regs_intr) - 144usize]; + ["Offset of field: perf_sample_data::stack_user_size"] + [::core::mem::offset_of!(perf_sample_data, stack_user_size) - 160usize]; + ["Offset of field: perf_sample_data::stream_id"] + [::core::mem::offset_of!(perf_sample_data, stream_id) - 168usize]; + ["Offset of field: perf_sample_data::cgroup"] + [::core::mem::offset_of!(perf_sample_data, cgroup) - 176usize]; + ["Offset of field: perf_sample_data::addr"] + [::core::mem::offset_of!(perf_sample_data, addr) - 184usize]; + ["Offset of field: perf_sample_data::phys_addr"] + [::core::mem::offset_of!(perf_sample_data, phys_addr) - 192usize]; + ["Offset of field: perf_sample_data::data_page_size"] + [::core::mem::offset_of!(perf_sample_data, data_page_size) - 200usize]; + ["Offset of field: perf_sample_data::code_page_size"] + [::core::mem::offset_of!(perf_sample_data, code_page_size) - 208usize]; + ["Offset of field: perf_sample_data::aux_size"] + [::core::mem::offset_of!(perf_sample_data, aux_size) - 216usize]; +}; +impl perf_sample_data { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_tramp_image { + pub image: *mut ::core::ffi::c_void, + pub size: ::core::ffi::c_int, + pub ksym: bpf_ksym, + pub pcref: percpu_ref, + pub ip_after_call: *mut ::core::ffi::c_void, + pub ip_epilogue: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: bpf_tramp_image__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_tramp_image__bindgen_ty_1 { + pub rcu: callback_head, + pub work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_tramp_image__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of bpf_tramp_image__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_tramp_image__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(bpf_tramp_image__bindgen_ty_1, rcu) - 0usize]; + ["Offset of field: bpf_tramp_image__bindgen_ty_1::work"] + [::core::mem::offset_of!(bpf_tramp_image__bindgen_ty_1, work) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_tramp_image"][::core::mem::size_of::() - 680usize]; + ["Alignment of bpf_tramp_image"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_tramp_image::image"] + [::core::mem::offset_of!(bpf_tramp_image, image) - 0usize]; + ["Offset of field: bpf_tramp_image::size"] + [::core::mem::offset_of!(bpf_tramp_image, size) - 8usize]; + ["Offset of field: bpf_tramp_image::ksym"] + [::core::mem::offset_of!(bpf_tramp_image, ksym) - 16usize]; + ["Offset of field: bpf_tramp_image::pcref"] + [::core::mem::offset_of!(bpf_tramp_image, pcref) - 616usize]; + ["Offset of field: bpf_tramp_image::ip_after_call"] + [::core::mem::offset_of!(bpf_tramp_image, ip_after_call) - 632usize]; + ["Offset of field: bpf_tramp_image::ip_epilogue"] + [::core::mem::offset_of!(bpf_tramp_image, ip_epilogue) - 640usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_trampoline { + pub hlist: hlist_node, + pub fops: *mut ftrace_ops, + pub mutex: mutex, + pub refcnt: refcount_t, + pub flags: u32_, + pub key: u64_, + pub func: bpf_trampoline__bindgen_ty_1, + pub extension_prog: *mut bpf_prog, + pub progs_hlist: [hlist_head; 3usize], + pub progs_cnt: [::core::ffi::c_int; 3usize], + pub cur_image: *mut bpf_tramp_image, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_trampoline__bindgen_ty_1 { + pub model: btf_func_model, + pub addr: *mut ::core::ffi::c_void, + pub ftrace_managed: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_trampoline__bindgen_ty_1"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of bpf_trampoline__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_trampoline__bindgen_ty_1::model"] + [::core::mem::offset_of!(bpf_trampoline__bindgen_ty_1, model) - 0usize]; + ["Offset of field: bpf_trampoline__bindgen_ty_1::addr"] + [::core::mem::offset_of!(bpf_trampoline__bindgen_ty_1, addr) - 32usize]; + ["Offset of field: bpf_trampoline__bindgen_ty_1::ftrace_managed"] + [::core::mem::offset_of!(bpf_trampoline__bindgen_ty_1, ftrace_managed) - 40usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_trampoline"][::core::mem::size_of::() - 176usize]; + ["Alignment of bpf_trampoline"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_trampoline::hlist"] + [::core::mem::offset_of!(bpf_trampoline, hlist) - 0usize]; + ["Offset of field: bpf_trampoline::fops"] + [::core::mem::offset_of!(bpf_trampoline, fops) - 16usize]; + ["Offset of field: bpf_trampoline::mutex"] + [::core::mem::offset_of!(bpf_trampoline, mutex) - 24usize]; + ["Offset of field: bpf_trampoline::refcnt"] + [::core::mem::offset_of!(bpf_trampoline, refcnt) - 56usize]; + ["Offset of field: bpf_trampoline::flags"] + [::core::mem::offset_of!(bpf_trampoline, flags) - 60usize]; + ["Offset of field: bpf_trampoline::key"] + [::core::mem::offset_of!(bpf_trampoline, key) - 64usize]; + ["Offset of field: bpf_trampoline::func"] + [::core::mem::offset_of!(bpf_trampoline, func) - 72usize]; + ["Offset of field: bpf_trampoline::extension_prog"] + [::core::mem::offset_of!(bpf_trampoline, extension_prog) - 120usize]; + ["Offset of field: bpf_trampoline::progs_hlist"] + [::core::mem::offset_of!(bpf_trampoline, progs_hlist) - 128usize]; + ["Offset of field: bpf_trampoline::progs_cnt"] + [::core::mem::offset_of!(bpf_trampoline, progs_cnt) - 152usize]; + ["Offset of field: bpf_trampoline::cur_image"] + [::core::mem::offset_of!(bpf_trampoline, cur_image) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_mod_pair { + pub btf: *mut btf, + pub module: *mut module, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_mod_pair"][::core::mem::size_of::() - 16usize]; + ["Alignment of btf_mod_pair"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_mod_pair::btf"][::core::mem::offset_of!(btf_mod_pair, btf) - 0usize]; + ["Offset of field: btf_mod_pair::module"] + [::core::mem::offset_of!(btf_mod_pair, module) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_verifier_log { + pub start_pos: u64_, + pub end_pos: u64_, + pub ubuf: *mut ::core::ffi::c_char, + pub level: u32_, + pub len_total: u32_, + pub len_max: u32_, + pub kbuf: [::core::ffi::c_char; 1024usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_log"][::core::mem::size_of::() - 1064usize]; + ["Alignment of bpf_verifier_log"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_verifier_log::start_pos"] + [::core::mem::offset_of!(bpf_verifier_log, start_pos) - 0usize]; + ["Offset of field: bpf_verifier_log::end_pos"] + [::core::mem::offset_of!(bpf_verifier_log, end_pos) - 8usize]; + ["Offset of field: bpf_verifier_log::ubuf"] + [::core::mem::offset_of!(bpf_verifier_log, ubuf) - 16usize]; + ["Offset of field: bpf_verifier_log::level"] + [::core::mem::offset_of!(bpf_verifier_log, level) - 24usize]; + ["Offset of field: bpf_verifier_log::len_total"] + [::core::mem::offset_of!(bpf_verifier_log, len_total) - 28usize]; + ["Offset of field: bpf_verifier_log::len_max"] + [::core::mem::offset_of!(bpf_verifier_log, len_max) - 32usize]; + ["Offset of field: bpf_verifier_log::kbuf"] + [::core::mem::offset_of!(bpf_verifier_log, kbuf) - 36usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_verifier_env { + pub insn_idx: u32_, + pub prev_insn_idx: u32_, + pub prog: *mut bpf_prog, + pub ops: *const bpf_verifier_ops, + pub attach_btf_mod: *mut module, + pub head: *mut bpf_verifier_stack_elem, + pub stack_size: ::core::ffi::c_int, + pub strict_alignment: bool_, + pub test_state_freq: bool_, + pub test_reg_invariants: bool_, + pub cur_state: *mut bpf_verifier_state, + pub explored_states: *mut *mut bpf_verifier_state_list, + pub free_list: *mut bpf_verifier_state_list, + pub used_maps: [*mut bpf_map; 64usize], + pub used_btfs: [btf_mod_pair; 64usize], + pub used_map_cnt: u32_, + pub used_btf_cnt: u32_, + pub id_gen: u32_, + pub hidden_subprog_cnt: u32_, + pub exception_callback_subprog: ::core::ffi::c_int, + pub explore_alu_limits: bool_, + pub allow_ptr_leaks: bool_, + pub allow_uninit_stack: bool_, + pub bpf_capable: bool_, + pub bypass_spec_v1: bool_, + pub bypass_spec_v4: bool_, + pub seen_direct_write: bool_, + pub seen_exception: bool_, + pub insn_aux_data: *mut bpf_insn_aux_data, + pub prev_linfo: *const bpf_line_info, + pub log: bpf_verifier_log, + pub subprog_info: [bpf_subprog_info; 258usize], + pub __bindgen_anon_1: bpf_verifier_env__bindgen_ty_1, + pub cfg: bpf_verifier_env__bindgen_ty_2, + pub bt: backtrack_state, + pub insn_hist: *mut bpf_insn_hist_entry, + pub cur_hist_ent: *mut bpf_insn_hist_entry, + pub insn_hist_cap: u32_, + pub pass_cnt: u32_, + pub subprog_cnt: u32_, + pub prev_insn_processed: u32_, + pub insn_processed: u32_, + pub prev_jmps_processed: u32_, + pub jmps_processed: u32_, + pub verification_time: u64_, + pub max_states_per_insn: u32_, + pub total_states: u32_, + pub peak_states: u32_, + pub longest_mark_read_walk: u32_, + pub fd_array: bpfptr_t, + pub scratched_regs: u32_, + pub scratched_stack_slots: u64_, + pub prev_log_pos: u64_, + pub prev_insn_print_pos: u64_, + pub fake_reg: [bpf_reg_state; 2usize], + pub tmp_str_buf: [::core::ffi::c_char; 320usize], + pub insn_buf: [bpf_insn; 32usize], + pub epilogue_buf: [bpf_insn; 32usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union bpf_verifier_env__bindgen_ty_1 { + pub idmap_scratch: bpf_idmap, + pub idset_scratch: bpf_idset, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_env__bindgen_ty_1"] + [::core::mem::size_of::() - 4804usize]; + ["Alignment of bpf_verifier_env__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: bpf_verifier_env__bindgen_ty_1::idmap_scratch"] + [::core::mem::offset_of!(bpf_verifier_env__bindgen_ty_1, idmap_scratch) - 0usize]; + ["Offset of field: bpf_verifier_env__bindgen_ty_1::idset_scratch"] + [::core::mem::offset_of!(bpf_verifier_env__bindgen_ty_1, idset_scratch) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_verifier_env__bindgen_ty_2 { + pub insn_state: *mut ::core::ffi::c_int, + pub insn_stack: *mut ::core::ffi::c_int, + pub cur_stack: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_env__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of bpf_verifier_env__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_verifier_env__bindgen_ty_2::insn_state"] + [::core::mem::offset_of!(bpf_verifier_env__bindgen_ty_2, insn_state) - 0usize]; + ["Offset of field: bpf_verifier_env__bindgen_ty_2::insn_stack"] + [::core::mem::offset_of!(bpf_verifier_env__bindgen_ty_2, insn_stack) - 8usize]; + ["Offset of field: bpf_verifier_env__bindgen_ty_2::cur_stack"] + [::core::mem::offset_of!(bpf_verifier_env__bindgen_ty_2, cur_stack) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_env"][::core::mem::size_of::() - 24336usize]; + ["Alignment of bpf_verifier_env"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_verifier_env::insn_idx"] + [::core::mem::offset_of!(bpf_verifier_env, insn_idx) - 0usize]; + ["Offset of field: bpf_verifier_env::prev_insn_idx"] + [::core::mem::offset_of!(bpf_verifier_env, prev_insn_idx) - 4usize]; + ["Offset of field: bpf_verifier_env::prog"] + [::core::mem::offset_of!(bpf_verifier_env, prog) - 8usize]; + ["Offset of field: bpf_verifier_env::ops"] + [::core::mem::offset_of!(bpf_verifier_env, ops) - 16usize]; + ["Offset of field: bpf_verifier_env::attach_btf_mod"] + [::core::mem::offset_of!(bpf_verifier_env, attach_btf_mod) - 24usize]; + ["Offset of field: bpf_verifier_env::head"] + [::core::mem::offset_of!(bpf_verifier_env, head) - 32usize]; + ["Offset of field: bpf_verifier_env::stack_size"] + [::core::mem::offset_of!(bpf_verifier_env, stack_size) - 40usize]; + ["Offset of field: bpf_verifier_env::strict_alignment"] + [::core::mem::offset_of!(bpf_verifier_env, strict_alignment) - 44usize]; + ["Offset of field: bpf_verifier_env::test_state_freq"] + [::core::mem::offset_of!(bpf_verifier_env, test_state_freq) - 45usize]; + ["Offset of field: bpf_verifier_env::test_reg_invariants"] + [::core::mem::offset_of!(bpf_verifier_env, test_reg_invariants) - 46usize]; + ["Offset of field: bpf_verifier_env::cur_state"] + [::core::mem::offset_of!(bpf_verifier_env, cur_state) - 48usize]; + ["Offset of field: bpf_verifier_env::explored_states"] + [::core::mem::offset_of!(bpf_verifier_env, explored_states) - 56usize]; + ["Offset of field: bpf_verifier_env::free_list"] + [::core::mem::offset_of!(bpf_verifier_env, free_list) - 64usize]; + ["Offset of field: bpf_verifier_env::used_maps"] + [::core::mem::offset_of!(bpf_verifier_env, used_maps) - 72usize]; + ["Offset of field: bpf_verifier_env::used_btfs"] + [::core::mem::offset_of!(bpf_verifier_env, used_btfs) - 584usize]; + ["Offset of field: bpf_verifier_env::used_map_cnt"] + [::core::mem::offset_of!(bpf_verifier_env, used_map_cnt) - 1608usize]; + ["Offset of field: bpf_verifier_env::used_btf_cnt"] + [::core::mem::offset_of!(bpf_verifier_env, used_btf_cnt) - 1612usize]; + ["Offset of field: bpf_verifier_env::id_gen"] + [::core::mem::offset_of!(bpf_verifier_env, id_gen) - 1616usize]; + ["Offset of field: bpf_verifier_env::hidden_subprog_cnt"] + [::core::mem::offset_of!(bpf_verifier_env, hidden_subprog_cnt) - 1620usize]; + ["Offset of field: bpf_verifier_env::exception_callback_subprog"] + [::core::mem::offset_of!(bpf_verifier_env, exception_callback_subprog) - 1624usize]; + ["Offset of field: bpf_verifier_env::explore_alu_limits"] + [::core::mem::offset_of!(bpf_verifier_env, explore_alu_limits) - 1628usize]; + ["Offset of field: bpf_verifier_env::allow_ptr_leaks"] + [::core::mem::offset_of!(bpf_verifier_env, allow_ptr_leaks) - 1629usize]; + ["Offset of field: bpf_verifier_env::allow_uninit_stack"] + [::core::mem::offset_of!(bpf_verifier_env, allow_uninit_stack) - 1630usize]; + ["Offset of field: bpf_verifier_env::bpf_capable"] + [::core::mem::offset_of!(bpf_verifier_env, bpf_capable) - 1631usize]; + ["Offset of field: bpf_verifier_env::bypass_spec_v1"] + [::core::mem::offset_of!(bpf_verifier_env, bypass_spec_v1) - 1632usize]; + ["Offset of field: bpf_verifier_env::bypass_spec_v4"] + [::core::mem::offset_of!(bpf_verifier_env, bypass_spec_v4) - 1633usize]; + ["Offset of field: bpf_verifier_env::seen_direct_write"] + [::core::mem::offset_of!(bpf_verifier_env, seen_direct_write) - 1634usize]; + ["Offset of field: bpf_verifier_env::seen_exception"] + [::core::mem::offset_of!(bpf_verifier_env, seen_exception) - 1635usize]; + ["Offset of field: bpf_verifier_env::insn_aux_data"] + [::core::mem::offset_of!(bpf_verifier_env, insn_aux_data) - 1640usize]; + ["Offset of field: bpf_verifier_env::prev_linfo"] + [::core::mem::offset_of!(bpf_verifier_env, prev_linfo) - 1648usize]; + ["Offset of field: bpf_verifier_env::log"] + [::core::mem::offset_of!(bpf_verifier_env, log) - 1656usize]; + ["Offset of field: bpf_verifier_env::subprog_info"] + [::core::mem::offset_of!(bpf_verifier_env, subprog_info) - 2720usize]; + ["Offset of field: bpf_verifier_env::cfg"] + [::core::mem::offset_of!(bpf_verifier_env, cfg) - 23008usize]; + ["Offset of field: bpf_verifier_env::bt"] + [::core::mem::offset_of!(bpf_verifier_env, bt) - 23032usize]; + ["Offset of field: bpf_verifier_env::insn_hist"] + [::core::mem::offset_of!(bpf_verifier_env, insn_hist) - 23144usize]; + ["Offset of field: bpf_verifier_env::cur_hist_ent"] + [::core::mem::offset_of!(bpf_verifier_env, cur_hist_ent) - 23152usize]; + ["Offset of field: bpf_verifier_env::insn_hist_cap"] + [::core::mem::offset_of!(bpf_verifier_env, insn_hist_cap) - 23160usize]; + ["Offset of field: bpf_verifier_env::pass_cnt"] + [::core::mem::offset_of!(bpf_verifier_env, pass_cnt) - 23164usize]; + ["Offset of field: bpf_verifier_env::subprog_cnt"] + [::core::mem::offset_of!(bpf_verifier_env, subprog_cnt) - 23168usize]; + ["Offset of field: bpf_verifier_env::prev_insn_processed"] + [::core::mem::offset_of!(bpf_verifier_env, prev_insn_processed) - 23172usize]; + ["Offset of field: bpf_verifier_env::insn_processed"] + [::core::mem::offset_of!(bpf_verifier_env, insn_processed) - 23176usize]; + ["Offset of field: bpf_verifier_env::prev_jmps_processed"] + [::core::mem::offset_of!(bpf_verifier_env, prev_jmps_processed) - 23180usize]; + ["Offset of field: bpf_verifier_env::jmps_processed"] + [::core::mem::offset_of!(bpf_verifier_env, jmps_processed) - 23184usize]; + ["Offset of field: bpf_verifier_env::verification_time"] + [::core::mem::offset_of!(bpf_verifier_env, verification_time) - 23192usize]; + ["Offset of field: bpf_verifier_env::max_states_per_insn"] + [::core::mem::offset_of!(bpf_verifier_env, max_states_per_insn) - 23200usize]; + ["Offset of field: bpf_verifier_env::total_states"] + [::core::mem::offset_of!(bpf_verifier_env, total_states) - 23204usize]; + ["Offset of field: bpf_verifier_env::peak_states"] + [::core::mem::offset_of!(bpf_verifier_env, peak_states) - 23208usize]; + ["Offset of field: bpf_verifier_env::longest_mark_read_walk"] + [::core::mem::offset_of!(bpf_verifier_env, longest_mark_read_walk) - 23212usize]; + ["Offset of field: bpf_verifier_env::fd_array"] + [::core::mem::offset_of!(bpf_verifier_env, fd_array) - 23216usize]; + ["Offset of field: bpf_verifier_env::scratched_regs"] + [::core::mem::offset_of!(bpf_verifier_env, scratched_regs) - 23232usize]; + ["Offset of field: bpf_verifier_env::scratched_stack_slots"] + [::core::mem::offset_of!(bpf_verifier_env, scratched_stack_slots) - 23240usize]; + ["Offset of field: bpf_verifier_env::prev_log_pos"] + [::core::mem::offset_of!(bpf_verifier_env, prev_log_pos) - 23248usize]; + ["Offset of field: bpf_verifier_env::prev_insn_print_pos"] + [::core::mem::offset_of!(bpf_verifier_env, prev_insn_print_pos) - 23256usize]; + ["Offset of field: bpf_verifier_env::fake_reg"] + [::core::mem::offset_of!(bpf_verifier_env, fake_reg) - 23264usize]; + ["Offset of field: bpf_verifier_env::tmp_str_buf"] + [::core::mem::offset_of!(bpf_verifier_env, tmp_str_buf) - 23504usize]; + ["Offset of field: bpf_verifier_env::insn_buf"] + [::core::mem::offset_of!(bpf_verifier_env, insn_buf) - 23824usize]; + ["Offset of field: bpf_verifier_env::epilogue_buf"] + [::core::mem::offset_of!(bpf_verifier_env, epilogue_buf) - 24080usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_verifier_ops { + pub get_func_proto: ::core::option::Option< + unsafe extern "C" fn(arg1: bpf_func_id, arg2: *const bpf_prog) -> *const bpf_func_proto, + >, + pub is_valid_access: ::core::option::Option< + unsafe extern "C" fn( + arg1: ::core::ffi::c_int, + arg2: ::core::ffi::c_int, + arg3: bpf_access_type, + arg4: *const bpf_prog, + arg5: *mut bpf_insn_access_aux, + ) -> bool_, + >, + pub gen_prologue: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_insn, + arg2: bool_, + arg3: *const bpf_prog, + ) -> ::core::ffi::c_int, + >, + pub gen_epilogue: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_insn, + arg2: *const bpf_prog, + arg3: s16, + ) -> ::core::ffi::c_int, + >, + pub gen_ld_abs: ::core::option::Option< + unsafe extern "C" fn(arg1: *const bpf_insn, arg2: *mut bpf_insn) -> ::core::ffi::c_int, + >, + pub convert_ctx_access: ::core::option::Option< + unsafe extern "C" fn( + arg1: bpf_access_type, + arg2: *const bpf_insn, + arg3: *mut bpf_insn, + arg4: *mut bpf_prog, + arg5: *mut u32_, + ) -> u32_, + >, + pub btf_struct_access: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut bpf_verifier_log, + arg2: *const bpf_reg_state, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_ops"][::core::mem::size_of::() - 56usize]; + ["Alignment of bpf_verifier_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_verifier_ops::get_func_proto"] + [::core::mem::offset_of!(bpf_verifier_ops, get_func_proto) - 0usize]; + ["Offset of field: bpf_verifier_ops::is_valid_access"] + [::core::mem::offset_of!(bpf_verifier_ops, is_valid_access) - 8usize]; + ["Offset of field: bpf_verifier_ops::gen_prologue"] + [::core::mem::offset_of!(bpf_verifier_ops, gen_prologue) - 16usize]; + ["Offset of field: bpf_verifier_ops::gen_epilogue"] + [::core::mem::offset_of!(bpf_verifier_ops, gen_epilogue) - 24usize]; + ["Offset of field: bpf_verifier_ops::gen_ld_abs"] + [::core::mem::offset_of!(bpf_verifier_ops, gen_ld_abs) - 32usize]; + ["Offset of field: bpf_verifier_ops::convert_ctx_access"] + [::core::mem::offset_of!(bpf_verifier_ops, convert_ctx_access) - 40usize]; + ["Offset of field: bpf_verifier_ops::btf_struct_access"] + [::core::mem::offset_of!(bpf_verifier_ops, btf_struct_access) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_verifier_state { + pub frame: [*mut bpf_func_state; 8usize], + pub parent: *mut bpf_verifier_state, + pub branches: u32_, + pub insn_idx: u32_, + pub curframe: u32_, + pub active_lock: bpf_active_lock, + pub speculative: bool_, + pub active_rcu_lock: bool_, + pub active_preempt_lock: u32_, + pub used_as_loop_entry: bool_, + pub in_sleepable: bool_, + pub first_insn_idx: u32_, + pub last_insn_idx: u32_, + pub loop_entry: *mut bpf_verifier_state, + pub insn_hist_start: u32_, + pub insn_hist_end: u32_, + pub dfs_depth: u32_, + pub callback_unroll_depth: u32_, + pub may_goto_depth: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_state"][::core::mem::size_of::() - 160usize]; + ["Alignment of bpf_verifier_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_verifier_state::frame"] + [::core::mem::offset_of!(bpf_verifier_state, frame) - 0usize]; + ["Offset of field: bpf_verifier_state::parent"] + [::core::mem::offset_of!(bpf_verifier_state, parent) - 64usize]; + ["Offset of field: bpf_verifier_state::branches"] + [::core::mem::offset_of!(bpf_verifier_state, branches) - 72usize]; + ["Offset of field: bpf_verifier_state::insn_idx"] + [::core::mem::offset_of!(bpf_verifier_state, insn_idx) - 76usize]; + ["Offset of field: bpf_verifier_state::curframe"] + [::core::mem::offset_of!(bpf_verifier_state, curframe) - 80usize]; + ["Offset of field: bpf_verifier_state::active_lock"] + [::core::mem::offset_of!(bpf_verifier_state, active_lock) - 88usize]; + ["Offset of field: bpf_verifier_state::speculative"] + [::core::mem::offset_of!(bpf_verifier_state, speculative) - 104usize]; + ["Offset of field: bpf_verifier_state::active_rcu_lock"] + [::core::mem::offset_of!(bpf_verifier_state, active_rcu_lock) - 105usize]; + ["Offset of field: bpf_verifier_state::active_preempt_lock"] + [::core::mem::offset_of!(bpf_verifier_state, active_preempt_lock) - 108usize]; + ["Offset of field: bpf_verifier_state::used_as_loop_entry"] + [::core::mem::offset_of!(bpf_verifier_state, used_as_loop_entry) - 112usize]; + ["Offset of field: bpf_verifier_state::in_sleepable"] + [::core::mem::offset_of!(bpf_verifier_state, in_sleepable) - 113usize]; + ["Offset of field: bpf_verifier_state::first_insn_idx"] + [::core::mem::offset_of!(bpf_verifier_state, first_insn_idx) - 116usize]; + ["Offset of field: bpf_verifier_state::last_insn_idx"] + [::core::mem::offset_of!(bpf_verifier_state, last_insn_idx) - 120usize]; + ["Offset of field: bpf_verifier_state::loop_entry"] + [::core::mem::offset_of!(bpf_verifier_state, loop_entry) - 128usize]; + ["Offset of field: bpf_verifier_state::insn_hist_start"] + [::core::mem::offset_of!(bpf_verifier_state, insn_hist_start) - 136usize]; + ["Offset of field: bpf_verifier_state::insn_hist_end"] + [::core::mem::offset_of!(bpf_verifier_state, insn_hist_end) - 140usize]; + ["Offset of field: bpf_verifier_state::dfs_depth"] + [::core::mem::offset_of!(bpf_verifier_state, dfs_depth) - 144usize]; + ["Offset of field: bpf_verifier_state::callback_unroll_depth"] + [::core::mem::offset_of!(bpf_verifier_state, callback_unroll_depth) - 148usize]; + ["Offset of field: bpf_verifier_state::may_goto_depth"] + [::core::mem::offset_of!(bpf_verifier_state, may_goto_depth) - 152usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_verifier_stack_elem { + pub st: bpf_verifier_state, + pub insn_idx: ::core::ffi::c_int, + pub prev_insn_idx: ::core::ffi::c_int, + pub next: *mut bpf_verifier_stack_elem, + pub log_pos: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_stack_elem"] + [::core::mem::size_of::() - 184usize]; + ["Alignment of bpf_verifier_stack_elem"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_verifier_stack_elem::st"] + [::core::mem::offset_of!(bpf_verifier_stack_elem, st) - 0usize]; + ["Offset of field: bpf_verifier_stack_elem::insn_idx"] + [::core::mem::offset_of!(bpf_verifier_stack_elem, insn_idx) - 160usize]; + ["Offset of field: bpf_verifier_stack_elem::prev_insn_idx"] + [::core::mem::offset_of!(bpf_verifier_stack_elem, prev_insn_idx) - 164usize]; + ["Offset of field: bpf_verifier_stack_elem::next"] + [::core::mem::offset_of!(bpf_verifier_stack_elem, next) - 168usize]; + ["Offset of field: bpf_verifier_stack_elem::log_pos"] + [::core::mem::offset_of!(bpf_verifier_stack_elem, log_pos) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_verifier_state_list { + pub state: bpf_verifier_state, + pub next: *mut bpf_verifier_state_list, + pub miss_cnt: ::core::ffi::c_int, + pub hit_cnt: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_verifier_state_list"] + [::core::mem::size_of::() - 176usize]; + ["Alignment of bpf_verifier_state_list"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_verifier_state_list::state"] + [::core::mem::offset_of!(bpf_verifier_state_list, state) - 0usize]; + ["Offset of field: bpf_verifier_state_list::next"] + [::core::mem::offset_of!(bpf_verifier_state_list, next) - 160usize]; + ["Offset of field: bpf_verifier_state_list::miss_cnt"] + [::core::mem::offset_of!(bpf_verifier_state_list, miss_cnt) - 168usize]; + ["Offset of field: bpf_verifier_state_list::hit_cnt"] + [::core::mem::offset_of!(bpf_verifier_state_list, hit_cnt) - 172usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_xdp_entity { + pub prog: *mut bpf_prog, + pub link: *mut bpf_xdp_link, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_xdp_entity"][::core::mem::size_of::() - 16usize]; + ["Alignment of bpf_xdp_entity"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_xdp_entity::prog"] + [::core::mem::offset_of!(bpf_xdp_entity, prog) - 0usize]; + ["Offset of field: bpf_xdp_entity::link"] + [::core::mem::offset_of!(bpf_xdp_entity, link) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct bpf_xdp_link { + pub link: bpf_link, + pub dev: *mut net_device, + pub flags: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bpf_xdp_link"][::core::mem::size_of::() - 80usize]; + ["Alignment of bpf_xdp_link"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bpf_xdp_link::link"][::core::mem::offset_of!(bpf_xdp_link, link) - 0usize]; + ["Offset of field: bpf_xdp_link::dev"][::core::mem::offset_of!(bpf_xdp_link, dev) - 64usize]; + ["Offset of field: bpf_xdp_link::flags"] + [::core::mem::offset_of!(bpf_xdp_link, flags) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_entry { + pub type_: ::core::ffi::c_ushort, + pub flags: ::core::ffi::c_uchar, + pub preempt_count: ::core::ffi::c_uchar, + pub pid: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_entry"][::core::mem::size_of::() - 8usize]; + ["Alignment of trace_entry"][::core::mem::align_of::() - 4usize]; + ["Offset of field: trace_entry::type_"][::core::mem::offset_of!(trace_entry, type_) - 0usize]; + ["Offset of field: trace_entry::flags"][::core::mem::offset_of!(trace_entry, flags) - 2usize]; + ["Offset of field: trace_entry::preempt_count"] + [::core::mem::offset_of!(trace_entry, preempt_count) - 3usize]; + ["Offset of field: trace_entry::pid"][::core::mem::offset_of!(trace_entry, pid) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fs_pin { + pub wait: wait_queue_head_t, + pub done: ::core::ffi::c_int, + pub s_list: hlist_node, + pub m_list: hlist_node, + pub kill: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_pin"][::core::mem::size_of::() - 72usize]; + ["Alignment of fs_pin"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_pin::wait"][::core::mem::offset_of!(fs_pin, wait) - 0usize]; + ["Offset of field: fs_pin::done"][::core::mem::offset_of!(fs_pin, done) - 24usize]; + ["Offset of field: fs_pin::s_list"][::core::mem::offset_of!(fs_pin, s_list) - 32usize]; + ["Offset of field: fs_pin::m_list"][::core::mem::offset_of!(fs_pin, m_list) - 48usize]; + ["Offset of field: fs_pin::kill"][::core::mem::offset_of!(fs_pin, kill) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cdev { + pub kobj: kobject, + pub owner: *mut module, + pub ops: *const file_operations, + pub list: list_head, + pub dev: dev_t, + pub count: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cdev"][::core::mem::size_of::() - 104usize]; + ["Alignment of cdev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cdev::kobj"][::core::mem::offset_of!(cdev, kobj) - 0usize]; + ["Offset of field: cdev::owner"][::core::mem::offset_of!(cdev, owner) - 64usize]; + ["Offset of field: cdev::ops"][::core::mem::offset_of!(cdev, ops) - 72usize]; + ["Offset of field: cdev::list"][::core::mem::offset_of!(cdev, list) - 80usize]; + ["Offset of field: cdev::dev"][::core::mem::offset_of!(cdev, dev) - 96usize]; + ["Offset of field: cdev::count"][::core::mem::offset_of!(cdev, count) - 100usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_header { + pub magic: __u16, + pub version: __u8, + pub flags: __u8, + pub hdr_len: __u32, + pub type_off: __u32, + pub type_len: __u32, + pub str_off: __u32, + pub str_len: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_header"][::core::mem::size_of::() - 24usize]; + ["Alignment of btf_header"][::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_header::magic"][::core::mem::offset_of!(btf_header, magic) - 0usize]; + ["Offset of field: btf_header::version"][::core::mem::offset_of!(btf_header, version) - 2usize]; + ["Offset of field: btf_header::flags"][::core::mem::offset_of!(btf_header, flags) - 3usize]; + ["Offset of field: btf_header::hdr_len"][::core::mem::offset_of!(btf_header, hdr_len) - 4usize]; + ["Offset of field: btf_header::type_off"] + [::core::mem::offset_of!(btf_header, type_off) - 8usize]; + ["Offset of field: btf_header::type_len"] + [::core::mem::offset_of!(btf_header, type_len) - 12usize]; + ["Offset of field: btf_header::str_off"] + [::core::mem::offset_of!(btf_header, str_off) - 16usize]; + ["Offset of field: btf_header::str_len"] + [::core::mem::offset_of!(btf_header, str_len) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf { + pub data: *mut ::core::ffi::c_void, + pub types: *mut *mut btf_type, + pub resolved_ids: *mut u32_, + pub resolved_sizes: *mut u32_, + pub strings: *const ::core::ffi::c_char, + pub nohdr_data: *mut ::core::ffi::c_void, + pub hdr: btf_header, + pub nr_types: u32_, + pub types_size: u32_, + pub data_size: u32_, + pub refcnt: refcount_t, + pub id: u32_, + pub rcu: callback_head, + pub kfunc_set_tab: *mut btf_kfunc_set_tab, + pub dtor_kfunc_tab: *mut btf_id_dtor_kfunc_tab, + pub struct_meta_tab: *mut btf_struct_metas, + pub struct_ops_tab: *mut btf_struct_ops_tab, + pub base_btf: *mut btf, + pub start_id: u32_, + pub start_str_off: u32_, + pub name: [::core::ffi::c_char; 56usize], + pub kernel_btf: bool_, + pub base_id_map: *mut __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf"][::core::mem::size_of::() - 232usize]; + ["Alignment of btf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf::data"][::core::mem::offset_of!(btf, data) - 0usize]; + ["Offset of field: btf::types"][::core::mem::offset_of!(btf, types) - 8usize]; + ["Offset of field: btf::resolved_ids"][::core::mem::offset_of!(btf, resolved_ids) - 16usize]; + ["Offset of field: btf::resolved_sizes"] + [::core::mem::offset_of!(btf, resolved_sizes) - 24usize]; + ["Offset of field: btf::strings"][::core::mem::offset_of!(btf, strings) - 32usize]; + ["Offset of field: btf::nohdr_data"][::core::mem::offset_of!(btf, nohdr_data) - 40usize]; + ["Offset of field: btf::hdr"][::core::mem::offset_of!(btf, hdr) - 48usize]; + ["Offset of field: btf::nr_types"][::core::mem::offset_of!(btf, nr_types) - 72usize]; + ["Offset of field: btf::types_size"][::core::mem::offset_of!(btf, types_size) - 76usize]; + ["Offset of field: btf::data_size"][::core::mem::offset_of!(btf, data_size) - 80usize]; + ["Offset of field: btf::refcnt"][::core::mem::offset_of!(btf, refcnt) - 84usize]; + ["Offset of field: btf::id"][::core::mem::offset_of!(btf, id) - 88usize]; + ["Offset of field: btf::rcu"][::core::mem::offset_of!(btf, rcu) - 96usize]; + ["Offset of field: btf::kfunc_set_tab"][::core::mem::offset_of!(btf, kfunc_set_tab) - 112usize]; + ["Offset of field: btf::dtor_kfunc_tab"] + [::core::mem::offset_of!(btf, dtor_kfunc_tab) - 120usize]; + ["Offset of field: btf::struct_meta_tab"] + [::core::mem::offset_of!(btf, struct_meta_tab) - 128usize]; + ["Offset of field: btf::struct_ops_tab"] + [::core::mem::offset_of!(btf, struct_ops_tab) - 136usize]; + ["Offset of field: btf::base_btf"][::core::mem::offset_of!(btf, base_btf) - 144usize]; + ["Offset of field: btf::start_id"][::core::mem::offset_of!(btf, start_id) - 152usize]; + ["Offset of field: btf::start_str_off"][::core::mem::offset_of!(btf, start_str_off) - 156usize]; + ["Offset of field: btf::name"][::core::mem::offset_of!(btf, name) - 160usize]; + ["Offset of field: btf::kernel_btf"][::core::mem::offset_of!(btf, kernel_btf) - 216usize]; + ["Offset of field: btf::base_id_map"][::core::mem::offset_of!(btf, base_id_map) - 224usize]; +}; +pub type btf_dtor_kfunc_t = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_field_kptr { + pub btf: *mut btf, + pub module: *mut module, + pub dtor: btf_dtor_kfunc_t, + pub btf_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_field_kptr"][::core::mem::size_of::() - 32usize]; + ["Alignment of btf_field_kptr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_field_kptr::btf"][::core::mem::offset_of!(btf_field_kptr, btf) - 0usize]; + ["Offset of field: btf_field_kptr::module"] + [::core::mem::offset_of!(btf_field_kptr, module) - 8usize]; + ["Offset of field: btf_field_kptr::dtor"] + [::core::mem::offset_of!(btf_field_kptr, dtor) - 16usize]; + ["Offset of field: btf_field_kptr::btf_id"] + [::core::mem::offset_of!(btf_field_kptr, btf_id) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_field_graph_root { + pub btf: *mut btf, + pub value_btf_id: u32_, + pub node_offset: u32_, + pub value_rec: *mut btf_record, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_field_graph_root"][::core::mem::size_of::() - 24usize]; + ["Alignment of btf_field_graph_root"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_field_graph_root::btf"] + [::core::mem::offset_of!(btf_field_graph_root, btf) - 0usize]; + ["Offset of field: btf_field_graph_root::value_btf_id"] + [::core::mem::offset_of!(btf_field_graph_root, value_btf_id) - 8usize]; + ["Offset of field: btf_field_graph_root::node_offset"] + [::core::mem::offset_of!(btf_field_graph_root, node_offset) - 12usize]; + ["Offset of field: btf_field_graph_root::value_rec"] + [::core::mem::offset_of!(btf_field_graph_root, value_rec) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btf_field { + pub offset: u32_, + pub size: u32_, + pub type_: btf_field_type, + pub __bindgen_anon_1: btf_field__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btf_field__bindgen_ty_1 { + pub kptr: btf_field_kptr, + pub graph_root: btf_field_graph_root, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_field__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of btf_field__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_field__bindgen_ty_1::kptr"] + [::core::mem::offset_of!(btf_field__bindgen_ty_1, kptr) - 0usize]; + ["Offset of field: btf_field__bindgen_ty_1::graph_root"] + [::core::mem::offset_of!(btf_field__bindgen_ty_1, graph_root) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_field"][::core::mem::size_of::() - 48usize]; + ["Alignment of btf_field"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_field::offset"][::core::mem::offset_of!(btf_field, offset) - 0usize]; + ["Offset of field: btf_field::size"][::core::mem::offset_of!(btf_field, size) - 4usize]; + ["Offset of field: btf_field::type_"][::core::mem::offset_of!(btf_field, type_) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_id_dtor_kfunc { + pub btf_id: u32_, + pub kfunc_btf_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_id_dtor_kfunc"][::core::mem::size_of::() - 8usize]; + ["Alignment of btf_id_dtor_kfunc"][::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_id_dtor_kfunc::btf_id"] + [::core::mem::offset_of!(btf_id_dtor_kfunc, btf_id) - 0usize]; + ["Offset of field: btf_id_dtor_kfunc::kfunc_btf_id"] + [::core::mem::offset_of!(btf_id_dtor_kfunc, kfunc_btf_id) - 4usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct btf_id_dtor_kfunc_tab { + pub cnt: u32_, + pub dtors: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_id_dtor_kfunc_tab"][::core::mem::size_of::() - 4usize]; + ["Alignment of btf_id_dtor_kfunc_tab"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_id_dtor_kfunc_tab::cnt"] + [::core::mem::offset_of!(btf_id_dtor_kfunc_tab, cnt) - 0usize]; + ["Offset of field: btf_id_dtor_kfunc_tab::dtors"] + [::core::mem::offset_of!(btf_id_dtor_kfunc_tab, dtors) - 4usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct btf_id_set8 { + pub cnt: u32_, + pub flags: u32_, + pub pairs: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_id_set8__bindgen_ty_1 { + pub id: u32_, + pub flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_id_set8__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of btf_id_set8__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_id_set8__bindgen_ty_1::id"] + [::core::mem::offset_of!(btf_id_set8__bindgen_ty_1, id) - 0usize]; + ["Offset of field: btf_id_set8__bindgen_ty_1::flags"] + [::core::mem::offset_of!(btf_id_set8__bindgen_ty_1, flags) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_id_set8"][::core::mem::size_of::() - 8usize]; + ["Alignment of btf_id_set8"][::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_id_set8::cnt"][::core::mem::offset_of!(btf_id_set8, cnt) - 0usize]; + ["Offset of field: btf_id_set8::flags"][::core::mem::offset_of!(btf_id_set8, flags) - 4usize]; + ["Offset of field: btf_id_set8::pairs"][::core::mem::offset_of!(btf_id_set8, pairs) - 8usize]; +}; +pub type btf_kfunc_filter_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *const bpf_prog, arg2: u32_) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_kfunc_hook_filter { + pub filters: [btf_kfunc_filter_t; 16usize], + pub nr_filters: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_kfunc_hook_filter"][::core::mem::size_of::() - 136usize]; + ["Alignment of btf_kfunc_hook_filter"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_kfunc_hook_filter::filters"] + [::core::mem::offset_of!(btf_kfunc_hook_filter, filters) - 0usize]; + ["Offset of field: btf_kfunc_hook_filter::nr_filters"] + [::core::mem::offset_of!(btf_kfunc_hook_filter, nr_filters) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_kfunc_set_tab { + pub sets: [*mut btf_id_set8; 14usize], + pub hook_filters: [btf_kfunc_hook_filter; 14usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_kfunc_set_tab"][::core::mem::size_of::() - 2016usize]; + ["Alignment of btf_kfunc_set_tab"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_kfunc_set_tab::sets"] + [::core::mem::offset_of!(btf_kfunc_set_tab, sets) - 0usize]; + ["Offset of field: btf_kfunc_set_tab::hook_filters"] + [::core::mem::offset_of!(btf_kfunc_set_tab, hook_filters) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_member { + pub name_off: __u32, + pub type_: __u32, + pub offset: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_member"][::core::mem::size_of::() - 12usize]; + ["Alignment of btf_member"][::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_member::name_off"] + [::core::mem::offset_of!(btf_member, name_off) - 0usize]; + ["Offset of field: btf_member::type_"][::core::mem::offset_of!(btf_member, type_) - 4usize]; + ["Offset of field: btf_member::offset"][::core::mem::offset_of!(btf_member, offset) - 8usize]; +}; +#[repr(C)] +pub struct btf_record { + pub cnt: u32_, + pub field_mask: u32_, + pub spin_lock_off: ::core::ffi::c_int, + pub timer_off: ::core::ffi::c_int, + pub wq_off: ::core::ffi::c_int, + pub refcount_off: ::core::ffi::c_int, + pub fields: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_record"][::core::mem::size_of::() - 24usize]; + ["Alignment of btf_record"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_record::cnt"][::core::mem::offset_of!(btf_record, cnt) - 0usize]; + ["Offset of field: btf_record::field_mask"] + [::core::mem::offset_of!(btf_record, field_mask) - 4usize]; + ["Offset of field: btf_record::spin_lock_off"] + [::core::mem::offset_of!(btf_record, spin_lock_off) - 8usize]; + ["Offset of field: btf_record::timer_off"] + [::core::mem::offset_of!(btf_record, timer_off) - 12usize]; + ["Offset of field: btf_record::wq_off"][::core::mem::offset_of!(btf_record, wq_off) - 16usize]; + ["Offset of field: btf_record::refcount_off"] + [::core::mem::offset_of!(btf_record, refcount_off) - 20usize]; + ["Offset of field: btf_record::fields"][::core::mem::offset_of!(btf_record, fields) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct btf_struct_meta { + pub btf_id: u32_, + pub record: *mut btf_record, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_struct_meta"][::core::mem::size_of::() - 16usize]; + ["Alignment of btf_struct_meta"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_struct_meta::btf_id"] + [::core::mem::offset_of!(btf_struct_meta, btf_id) - 0usize]; + ["Offset of field: btf_struct_meta::record"] + [::core::mem::offset_of!(btf_struct_meta, record) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct btf_struct_metas { + pub cnt: u32_, + pub types: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_struct_metas"][::core::mem::size_of::() - 8usize]; + ["Alignment of btf_struct_metas"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_struct_metas::cnt"] + [::core::mem::offset_of!(btf_struct_metas, cnt) - 0usize]; + ["Offset of field: btf_struct_metas::types"] + [::core::mem::offset_of!(btf_struct_metas, types) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct btf_struct_ops_tab { + pub cnt: u32_, + pub capacity: u32_, + pub ops: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_struct_ops_tab"][::core::mem::size_of::() - 8usize]; + ["Alignment of btf_struct_ops_tab"][::core::mem::align_of::() - 8usize]; + ["Offset of field: btf_struct_ops_tab::cnt"] + [::core::mem::offset_of!(btf_struct_ops_tab, cnt) - 0usize]; + ["Offset of field: btf_struct_ops_tab::capacity"] + [::core::mem::offset_of!(btf_struct_ops_tab, capacity) - 4usize]; + ["Offset of field: btf_struct_ops_tab::ops"] + [::core::mem::offset_of!(btf_struct_ops_tab, ops) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct btf_type { + pub name_off: __u32, + pub info: __u32, + pub __bindgen_anon_1: btf_type__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union btf_type__bindgen_ty_1 { + pub size: __u32, + pub type_: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_type__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of btf_type__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_type__bindgen_ty_1::size"] + [::core::mem::offset_of!(btf_type__bindgen_ty_1, size) - 0usize]; + ["Offset of field: btf_type__bindgen_ty_1::type_"] + [::core::mem::offset_of!(btf_type__bindgen_ty_1, type_) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of btf_type"][::core::mem::size_of::() - 12usize]; + ["Alignment of btf_type"][::core::mem::align_of::() - 4usize]; + ["Offset of field: btf_type::name_off"][::core::mem::offset_of!(btf_type, name_off) - 0usize]; + ["Offset of field: btf_type::info"][::core::mem::offset_of!(btf_type, info) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_output_handle { + pub event: *mut perf_event, + pub rb: *mut perf_buffer, + pub wakeup: ::core::ffi::c_ulong, + pub size: ::core::ffi::c_ulong, + pub __bindgen_anon_1: perf_output_handle__bindgen_ty_1, + pub __bindgen_anon_2: perf_output_handle__bindgen_ty_2, + pub page: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_output_handle__bindgen_ty_1 { + pub flags: u64_, + pub aux_flags: u64_, + pub __bindgen_anon_1: perf_output_handle__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct perf_output_handle__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_output_handle__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_output_handle__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +impl perf_output_handle__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn skip_read(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) } + } + #[inline] + pub fn set_skip_read(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn skip_read_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_skip_read_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(skip_read: u64_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let skip_read: u64 = unsafe { ::core::mem::transmute(skip_read) }; + skip_read as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_output_handle__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_output_handle__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_output_handle__bindgen_ty_1::flags"] + [::core::mem::offset_of!(perf_output_handle__bindgen_ty_1, flags) - 0usize]; + ["Offset of field: perf_output_handle__bindgen_ty_1::aux_flags"] + [::core::mem::offset_of!(perf_output_handle__bindgen_ty_1, aux_flags) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_output_handle__bindgen_ty_2 { + pub addr: *mut ::core::ffi::c_void, + pub head: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_output_handle__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_output_handle__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_output_handle__bindgen_ty_2::addr"] + [::core::mem::offset_of!(perf_output_handle__bindgen_ty_2, addr) - 0usize]; + ["Offset of field: perf_output_handle__bindgen_ty_2::head"] + [::core::mem::offset_of!(perf_output_handle__bindgen_ty_2, head) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_output_handle"][::core::mem::size_of::() - 56usize]; + ["Alignment of perf_output_handle"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_output_handle::event"] + [::core::mem::offset_of!(perf_output_handle, event) - 0usize]; + ["Offset of field: perf_output_handle::rb"] + [::core::mem::offset_of!(perf_output_handle, rb) - 8usize]; + ["Offset of field: perf_output_handle::wakeup"] + [::core::mem::offset_of!(perf_output_handle, wakeup) - 16usize]; + ["Offset of field: perf_output_handle::size"] + [::core::mem::offset_of!(perf_output_handle, size) - 24usize]; + ["Offset of field: perf_output_handle::page"] + [::core::mem::offset_of!(perf_output_handle, page) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hlist_nulls_head { + pub first: *mut hlist_nulls_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hlist_nulls_head"][::core::mem::size_of::() - 8usize]; + ["Alignment of hlist_nulls_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hlist_nulls_head::first"] + [::core::mem::offset_of!(hlist_nulls_head, first) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lockdep_map {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lockdep_map"][::core::mem::size_of::() - 0usize]; + ["Alignment of lockdep_map"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct bucket_table { + pub size: ::core::ffi::c_uint, + pub nest: ::core::ffi::c_uint, + pub hash_rnd: u32_, + pub walkers: list_head, + pub rcu: callback_head, + pub future_tbl: *mut bucket_table, + pub dep_map: lockdep_map, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub buckets: __IncompleteArrayField<*mut rhash_lock_head>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bucket_table"][::core::mem::size_of::() - 64usize]; + ["Alignment of bucket_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bucket_table::size"][::core::mem::offset_of!(bucket_table, size) - 0usize]; + ["Offset of field: bucket_table::nest"][::core::mem::offset_of!(bucket_table, nest) - 4usize]; + ["Offset of field: bucket_table::hash_rnd"] + [::core::mem::offset_of!(bucket_table, hash_rnd) - 8usize]; + ["Offset of field: bucket_table::walkers"] + [::core::mem::offset_of!(bucket_table, walkers) - 16usize]; + ["Offset of field: bucket_table::rcu"][::core::mem::offset_of!(bucket_table, rcu) - 32usize]; + ["Offset of field: bucket_table::future_tbl"] + [::core::mem::offset_of!(bucket_table, future_tbl) - 48usize]; + ["Offset of field: bucket_table::dep_map"] + [::core::mem::offset_of!(bucket_table, dep_map) - 56usize]; + ["Offset of field: bucket_table::buckets"] + [::core::mem::offset_of!(bucket_table, buckets) - 64usize]; +}; +impl bucket_table { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug)] +pub struct buffer_data_page { + pub time_stamp: u64_, + pub commit: local_t, + pub data: __IncompleteArrayField<::core::ffi::c_uchar>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of buffer_data_page"][::core::mem::size_of::() - 16usize]; + ["Alignment of buffer_data_page"][::core::mem::align_of::() - 8usize]; + ["Offset of field: buffer_data_page::time_stamp"] + [::core::mem::offset_of!(buffer_data_page, time_stamp) - 0usize]; + ["Offset of field: buffer_data_page::commit"] + [::core::mem::offset_of!(buffer_data_page, commit) - 8usize]; + ["Offset of field: buffer_data_page::data"] + [::core::mem::offset_of!(buffer_data_page, data) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct buffer_page { + pub list: list_head, + pub write: local_t, + pub read: ::core::ffi::c_uint, + pub entries: local_t, + pub real_end: ::core::ffi::c_ulong, + pub order: ::core::ffi::c_uint, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub page: *mut buffer_data_page, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of buffer_page"][::core::mem::size_of::() - 64usize]; + ["Alignment of buffer_page"][::core::mem::align_of::() - 8usize]; + ["Offset of field: buffer_page::list"][::core::mem::offset_of!(buffer_page, list) - 0usize]; + ["Offset of field: buffer_page::write"][::core::mem::offset_of!(buffer_page, write) - 16usize]; + ["Offset of field: buffer_page::read"][::core::mem::offset_of!(buffer_page, read) - 24usize]; + ["Offset of field: buffer_page::entries"] + [::core::mem::offset_of!(buffer_page, entries) - 32usize]; + ["Offset of field: buffer_page::real_end"] + [::core::mem::offset_of!(buffer_page, real_end) - 40usize]; + ["Offset of field: buffer_page::order"][::core::mem::offset_of!(buffer_page, order) - 48usize]; + ["Offset of field: buffer_page::page"][::core::mem::offset_of!(buffer_page, page) - 56usize]; +}; +impl buffer_page { + #[inline] + pub fn id(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 30u8) as u32) } + } + #[inline] + pub fn set_id(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 30u8, val as u64) + } + } + #[inline] + pub unsafe fn id_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 30u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_id_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 30u8, + val as u64, + ) + } + } + #[inline] + pub fn range(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) } + } + #[inline] + pub fn set_range(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(30usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn range_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 30usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_range_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 30usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(id: u32_, range: u32_) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 30u8, { + let id: u32 = unsafe { ::core::mem::transmute(id) }; + id as u64 + }); + __bindgen_bitfield_unit.set(30usize, 1u8, { + let range: u32 = unsafe { ::core::mem::transmute(range) }; + range as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bug_entry { + pub bug_addr_disp: ::core::ffi::c_int, + pub file_disp: ::core::ffi::c_int, + pub line: ::core::ffi::c_ushort, + pub flags: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bug_entry"][::core::mem::size_of::() - 12usize]; + ["Alignment of bug_entry"][::core::mem::align_of::() - 4usize]; + ["Offset of field: bug_entry::bug_addr_disp"] + [::core::mem::offset_of!(bug_entry, bug_addr_disp) - 0usize]; + ["Offset of field: bug_entry::file_disp"] + [::core::mem::offset_of!(bug_entry, file_disp) - 4usize]; + ["Offset of field: bug_entry::line"][::core::mem::offset_of!(bug_entry, line) - 8usize]; + ["Offset of field: bug_entry::flags"][::core::mem::offset_of!(bug_entry, flags) - 10usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bus_dma_region { + pub cpu_start: phys_addr_t, + pub dma_start: dma_addr_t, + pub size: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bus_dma_region"][::core::mem::size_of::() - 24usize]; + ["Alignment of bus_dma_region"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bus_dma_region::cpu_start"] + [::core::mem::offset_of!(bus_dma_region, cpu_start) - 0usize]; + ["Offset of field: bus_dma_region::dma_start"] + [::core::mem::offset_of!(bus_dma_region, dma_start) - 8usize]; + ["Offset of field: bus_dma_region::size"] + [::core::mem::offset_of!(bus_dma_region, size) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bus_type { + pub name: *const ::core::ffi::c_char, + pub dev_name: *const ::core::ffi::c_char, + pub bus_groups: *mut *const attribute_group, + pub dev_groups: *mut *const attribute_group, + pub drv_groups: *mut *const attribute_group, + pub match_: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: *const device_driver) -> ::core::ffi::c_int, + >, + pub uevent: ::core::option::Option< + unsafe extern "C" fn(arg1: *const device, arg2: *mut kobj_uevent_env) -> ::core::ffi::c_int, + >, + pub probe: + ::core::option::Option ::core::ffi::c_int>, + pub sync_state: ::core::option::Option, + pub remove: ::core::option::Option, + pub shutdown: ::core::option::Option, + pub irq_get_affinity: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> *const cpumask, + >, + pub online: + ::core::option::Option ::core::ffi::c_int>, + pub offline: + ::core::option::Option ::core::ffi::c_int>, + pub suspend: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: pm_message_t) -> ::core::ffi::c_int, + >, + pub resume: + ::core::option::Option ::core::ffi::c_int>, + pub num_vf: + ::core::option::Option ::core::ffi::c_int>, + pub dma_configure: + ::core::option::Option ::core::ffi::c_int>, + pub dma_cleanup: ::core::option::Option, + pub pm: *const dev_pm_ops, + pub need_parent_lock: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of bus_type"][::core::mem::size_of::() - 168usize]; + ["Alignment of bus_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: bus_type::name"][::core::mem::offset_of!(bus_type, name) - 0usize]; + ["Offset of field: bus_type::dev_name"][::core::mem::offset_of!(bus_type, dev_name) - 8usize]; + ["Offset of field: bus_type::bus_groups"] + [::core::mem::offset_of!(bus_type, bus_groups) - 16usize]; + ["Offset of field: bus_type::dev_groups"] + [::core::mem::offset_of!(bus_type, dev_groups) - 24usize]; + ["Offset of field: bus_type::drv_groups"] + [::core::mem::offset_of!(bus_type, drv_groups) - 32usize]; + ["Offset of field: bus_type::match_"][::core::mem::offset_of!(bus_type, match_) - 40usize]; + ["Offset of field: bus_type::uevent"][::core::mem::offset_of!(bus_type, uevent) - 48usize]; + ["Offset of field: bus_type::probe"][::core::mem::offset_of!(bus_type, probe) - 56usize]; + ["Offset of field: bus_type::sync_state"] + [::core::mem::offset_of!(bus_type, sync_state) - 64usize]; + ["Offset of field: bus_type::remove"][::core::mem::offset_of!(bus_type, remove) - 72usize]; + ["Offset of field: bus_type::shutdown"][::core::mem::offset_of!(bus_type, shutdown) - 80usize]; + ["Offset of field: bus_type::irq_get_affinity"] + [::core::mem::offset_of!(bus_type, irq_get_affinity) - 88usize]; + ["Offset of field: bus_type::online"][::core::mem::offset_of!(bus_type, online) - 96usize]; + ["Offset of field: bus_type::offline"][::core::mem::offset_of!(bus_type, offline) - 104usize]; + ["Offset of field: bus_type::suspend"][::core::mem::offset_of!(bus_type, suspend) - 112usize]; + ["Offset of field: bus_type::resume"][::core::mem::offset_of!(bus_type, resume) - 120usize]; + ["Offset of field: bus_type::num_vf"][::core::mem::offset_of!(bus_type, num_vf) - 128usize]; + ["Offset of field: bus_type::dma_configure"] + [::core::mem::offset_of!(bus_type, dma_configure) - 136usize]; + ["Offset of field: bus_type::dma_cleanup"] + [::core::mem::offset_of!(bus_type, dma_cleanup) - 144usize]; + ["Offset of field: bus_type::pm"][::core::mem::offset_of!(bus_type, pm) - 152usize]; + ["Offset of field: bus_type::need_parent_lock"] + [::core::mem::offset_of!(bus_type, need_parent_lock) - 160usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cache_deferred_req { + pub hash: hlist_node, + pub recent: list_head, + pub item: *mut cache_head, + pub owner: *mut ::core::ffi::c_void, + pub revisit: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cache_deferred_req, arg2: ::core::ffi::c_int), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cache_deferred_req"][::core::mem::size_of::() - 56usize]; + ["Alignment of cache_deferred_req"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cache_deferred_req::hash"] + [::core::mem::offset_of!(cache_deferred_req, hash) - 0usize]; + ["Offset of field: cache_deferred_req::recent"] + [::core::mem::offset_of!(cache_deferred_req, recent) - 16usize]; + ["Offset of field: cache_deferred_req::item"] + [::core::mem::offset_of!(cache_deferred_req, item) - 32usize]; + ["Offset of field: cache_deferred_req::owner"] + [::core::mem::offset_of!(cache_deferred_req, owner) - 40usize]; + ["Offset of field: cache_deferred_req::revisit"] + [::core::mem::offset_of!(cache_deferred_req, revisit) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cache_head { + pub cache_list: hlist_node, + pub expiry_time: time64_t, + pub last_refresh: time64_t, + pub ref_: kref, + pub flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cache_head"][::core::mem::size_of::() - 48usize]; + ["Alignment of cache_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cache_head::cache_list"] + [::core::mem::offset_of!(cache_head, cache_list) - 0usize]; + ["Offset of field: cache_head::expiry_time"] + [::core::mem::offset_of!(cache_head, expiry_time) - 16usize]; + ["Offset of field: cache_head::last_refresh"] + [::core::mem::offset_of!(cache_head, last_refresh) - 24usize]; + ["Offset of field: cache_head::ref_"][::core::mem::offset_of!(cache_head, ref_) - 32usize]; + ["Offset of field: cache_head::flags"][::core::mem::offset_of!(cache_head, flags) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cache_req { + pub defer: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cache_req) -> *mut cache_deferred_req, + >, + pub thread_wait: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cache_req"][::core::mem::size_of::() - 16usize]; + ["Alignment of cache_req"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cache_req::defer"][::core::mem::offset_of!(cache_req, defer) - 0usize]; + ["Offset of field: cache_req::thread_wait"] + [::core::mem::offset_of!(cache_req, thread_wait) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct cacheline_padding { + pub x: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cacheline_padding"][::core::mem::size_of::() - 0usize]; + ["Alignment of cacheline_padding"][::core::mem::align_of::() - 1usize]; + ["Offset of field: cacheline_padding::x"] + [::core::mem::offset_of!(cacheline_padding, x) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct capture_control { + pub cc: *mut compact_control, + pub page: *mut page, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of capture_control"][::core::mem::size_of::() - 16usize]; + ["Alignment of capture_control"][::core::mem::align_of::() - 8usize]; + ["Offset of field: capture_control::cc"][::core::mem::offset_of!(capture_control, cc) - 0usize]; + ["Offset of field: capture_control::page"] + [::core::mem::offset_of!(capture_control, page) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cdrom_msf0 { + pub minute: __u8, + pub second: __u8, + pub frame: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cdrom_msf0"][::core::mem::size_of::() - 3usize]; + ["Alignment of cdrom_msf0"][::core::mem::align_of::() - 1usize]; + ["Offset of field: cdrom_msf0::minute"][::core::mem::offset_of!(cdrom_msf0, minute) - 0usize]; + ["Offset of field: cdrom_msf0::second"][::core::mem::offset_of!(cdrom_msf0, second) - 1usize]; + ["Offset of field: cdrom_msf0::frame"][::core::mem::offset_of!(cdrom_msf0, frame) - 2usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union cdrom_addr { + pub msf: cdrom_msf0, + pub lba: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cdrom_addr"][::core::mem::size_of::() - 4usize]; + ["Alignment of cdrom_addr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: cdrom_addr::msf"][::core::mem::offset_of!(cdrom_addr, msf) - 0usize]; + ["Offset of field: cdrom_addr::lba"][::core::mem::offset_of!(cdrom_addr, lba) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cdrom_device_info { + pub ops: *const cdrom_device_ops, + pub list: list_head, + pub disk: *mut gendisk, + pub handle: *mut ::core::ffi::c_void, + pub mask: ::core::ffi::c_int, + pub speed: ::core::ffi::c_int, + pub capacity: ::core::ffi::c_int, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub vfs_events: ::core::ffi::c_uint, + pub ioctl_events: ::core::ffi::c_uint, + pub use_count: ::core::ffi::c_int, + pub name: [::core::ffi::c_char; 20usize], + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>, + pub cdda_method: ::core::ffi::c_int, + pub last_sense: __u8, + pub media_written: __u8, + pub mmc3_profile: ::core::ffi::c_ushort, + pub exit: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cdrom_device_info) -> ::core::ffi::c_int, + >, + pub mrw_mode_page: ::core::ffi::c_int, + pub opened_for_data: bool_, + pub last_media_change_ms: __s64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cdrom_device_info"][::core::mem::size_of::() - 128usize]; + ["Alignment of cdrom_device_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cdrom_device_info::ops"] + [::core::mem::offset_of!(cdrom_device_info, ops) - 0usize]; + ["Offset of field: cdrom_device_info::list"] + [::core::mem::offset_of!(cdrom_device_info, list) - 8usize]; + ["Offset of field: cdrom_device_info::disk"] + [::core::mem::offset_of!(cdrom_device_info, disk) - 24usize]; + ["Offset of field: cdrom_device_info::handle"] + [::core::mem::offset_of!(cdrom_device_info, handle) - 32usize]; + ["Offset of field: cdrom_device_info::mask"] + [::core::mem::offset_of!(cdrom_device_info, mask) - 40usize]; + ["Offset of field: cdrom_device_info::speed"] + [::core::mem::offset_of!(cdrom_device_info, speed) - 44usize]; + ["Offset of field: cdrom_device_info::capacity"] + [::core::mem::offset_of!(cdrom_device_info, capacity) - 48usize]; + ["Offset of field: cdrom_device_info::vfs_events"] + [::core::mem::offset_of!(cdrom_device_info, vfs_events) - 56usize]; + ["Offset of field: cdrom_device_info::ioctl_events"] + [::core::mem::offset_of!(cdrom_device_info, ioctl_events) - 60usize]; + ["Offset of field: cdrom_device_info::use_count"] + [::core::mem::offset_of!(cdrom_device_info, use_count) - 64usize]; + ["Offset of field: cdrom_device_info::name"] + [::core::mem::offset_of!(cdrom_device_info, name) - 68usize]; + ["Offset of field: cdrom_device_info::cdda_method"] + [::core::mem::offset_of!(cdrom_device_info, cdda_method) - 92usize]; + ["Offset of field: cdrom_device_info::last_sense"] + [::core::mem::offset_of!(cdrom_device_info, last_sense) - 96usize]; + ["Offset of field: cdrom_device_info::media_written"] + [::core::mem::offset_of!(cdrom_device_info, media_written) - 97usize]; + ["Offset of field: cdrom_device_info::mmc3_profile"] + [::core::mem::offset_of!(cdrom_device_info, mmc3_profile) - 98usize]; + ["Offset of field: cdrom_device_info::exit"] + [::core::mem::offset_of!(cdrom_device_info, exit) - 104usize]; + ["Offset of field: cdrom_device_info::mrw_mode_page"] + [::core::mem::offset_of!(cdrom_device_info, mrw_mode_page) - 112usize]; + ["Offset of field: cdrom_device_info::opened_for_data"] + [::core::mem::offset_of!(cdrom_device_info, opened_for_data) - 116usize]; + ["Offset of field: cdrom_device_info::last_media_change_ms"] + [::core::mem::offset_of!(cdrom_device_info, last_media_change_ms) - 120usize]; +}; +impl cdrom_device_info { + #[inline] + pub fn options(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 30u8) as u32) } + } + #[inline] + pub fn set_options(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 30u8, val as u64) + } + } + #[inline] + pub unsafe fn options_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 30u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_options_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 30u8, + val as u64, + ) + } + } + #[inline] + pub fn mc_flags(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 2u8) as u32) } + } + #[inline] + pub fn set_mc_flags(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(30usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn mc_flags_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 30usize, + 2u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_mc_flags_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 30usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + options: ::core::ffi::c_uint, + mc_flags: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 30u8, { + let options: u32 = unsafe { ::core::mem::transmute(options) }; + options as u64 + }); + __bindgen_bitfield_unit.set(30usize, 2u8, { + let mc_flags: u32 = unsafe { ::core::mem::transmute(mc_flags) }; + mc_flags as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn sanyo_slot(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_sanyo_slot(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn sanyo_slot_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sanyo_slot_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn keeplocked(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_keeplocked(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn keeplocked_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_keeplocked_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_2.get(3usize, 5u8) as u8) } + } + #[inline] + pub fn set_reserved(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(3usize, 5u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 3usize, + 5u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reserved_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 3usize, + 5u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2( + sanyo_slot: __u8, + keeplocked: __u8, + reserved: __u8, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let sanyo_slot: u8 = unsafe { ::core::mem::transmute(sanyo_slot) }; + sanyo_slot as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let keeplocked: u8 = unsafe { ::core::mem::transmute(keeplocked) }; + keeplocked as u64 + }); + __bindgen_bitfield_unit.set(3usize, 5u8, { + let reserved: u8 = unsafe { ::core::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cdrom_device_ops { + pub open: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub release: ::core::option::Option, + pub drive_status: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub check_events: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_uint, + >, + pub tray_move: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub lock_door: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub select_speed: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub get_last_session: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: *mut cdrom_multisession, + ) -> ::core::ffi::c_int, + >, + pub get_mcn: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: *mut cdrom_mcn, + ) -> ::core::ffi::c_int, + >, + pub reset: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cdrom_device_info) -> ::core::ffi::c_int, + >, + pub audio_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: ::core::ffi::c_uint, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub generic_packet: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: *mut packet_command, + ) -> ::core::ffi::c_int, + >, + pub read_cdda_bpc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cdrom_device_info, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + arg4: u32_, + arg5: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub capability: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cdrom_device_ops"][::core::mem::size_of::() - 112usize]; + ["Alignment of cdrom_device_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cdrom_device_ops::open"] + [::core::mem::offset_of!(cdrom_device_ops, open) - 0usize]; + ["Offset of field: cdrom_device_ops::release"] + [::core::mem::offset_of!(cdrom_device_ops, release) - 8usize]; + ["Offset of field: cdrom_device_ops::drive_status"] + [::core::mem::offset_of!(cdrom_device_ops, drive_status) - 16usize]; + ["Offset of field: cdrom_device_ops::check_events"] + [::core::mem::offset_of!(cdrom_device_ops, check_events) - 24usize]; + ["Offset of field: cdrom_device_ops::tray_move"] + [::core::mem::offset_of!(cdrom_device_ops, tray_move) - 32usize]; + ["Offset of field: cdrom_device_ops::lock_door"] + [::core::mem::offset_of!(cdrom_device_ops, lock_door) - 40usize]; + ["Offset of field: cdrom_device_ops::select_speed"] + [::core::mem::offset_of!(cdrom_device_ops, select_speed) - 48usize]; + ["Offset of field: cdrom_device_ops::get_last_session"] + [::core::mem::offset_of!(cdrom_device_ops, get_last_session) - 56usize]; + ["Offset of field: cdrom_device_ops::get_mcn"] + [::core::mem::offset_of!(cdrom_device_ops, get_mcn) - 64usize]; + ["Offset of field: cdrom_device_ops::reset"] + [::core::mem::offset_of!(cdrom_device_ops, reset) - 72usize]; + ["Offset of field: cdrom_device_ops::audio_ioctl"] + [::core::mem::offset_of!(cdrom_device_ops, audio_ioctl) - 80usize]; + ["Offset of field: cdrom_device_ops::generic_packet"] + [::core::mem::offset_of!(cdrom_device_ops, generic_packet) - 88usize]; + ["Offset of field: cdrom_device_ops::read_cdda_bpc"] + [::core::mem::offset_of!(cdrom_device_ops, read_cdda_bpc) - 96usize]; + ["Offset of field: cdrom_device_ops::capability"] + [::core::mem::offset_of!(cdrom_device_ops, capability) - 104usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cdrom_mcn { + pub medium_catalog_number: [__u8; 14usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cdrom_mcn"][::core::mem::size_of::() - 14usize]; + ["Alignment of cdrom_mcn"][::core::mem::align_of::() - 1usize]; + ["Offset of field: cdrom_mcn::medium_catalog_number"] + [::core::mem::offset_of!(cdrom_mcn, medium_catalog_number) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cdrom_multisession { + pub addr: cdrom_addr, + pub xa_flag: __u8, + pub addr_format: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cdrom_multisession"][::core::mem::size_of::() - 8usize]; + ["Alignment of cdrom_multisession"][::core::mem::align_of::() - 4usize]; + ["Offset of field: cdrom_multisession::addr"] + [::core::mem::offset_of!(cdrom_multisession, addr) - 0usize]; + ["Offset of field: cdrom_multisession::xa_flag"] + [::core::mem::offset_of!(cdrom_multisession, xa_flag) - 4usize]; + ["Offset of field: cdrom_multisession::addr_format"] + [::core::mem::offset_of!(cdrom_multisession, addr_format) - 5usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cee_pfc { + pub willing: __u8, + pub error: __u8, + pub pfc_en: __u8, + pub tcs_supported: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cee_pfc"][::core::mem::size_of::() - 4usize]; + ["Alignment of cee_pfc"][::core::mem::align_of::() - 1usize]; + ["Offset of field: cee_pfc::willing"][::core::mem::offset_of!(cee_pfc, willing) - 0usize]; + ["Offset of field: cee_pfc::error"][::core::mem::offset_of!(cee_pfc, error) - 1usize]; + ["Offset of field: cee_pfc::pfc_en"][::core::mem::offset_of!(cee_pfc, pfc_en) - 2usize]; + ["Offset of field: cee_pfc::tcs_supported"] + [::core::mem::offset_of!(cee_pfc, tcs_supported) - 3usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cee_pg { + pub willing: __u8, + pub error: __u8, + pub pg_en: __u8, + pub tcs_supported: __u8, + pub pg_bw: [__u8; 8usize], + pub prio_pg: [__u8; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cee_pg"][::core::mem::size_of::() - 20usize]; + ["Alignment of cee_pg"][::core::mem::align_of::() - 1usize]; + ["Offset of field: cee_pg::willing"][::core::mem::offset_of!(cee_pg, willing) - 0usize]; + ["Offset of field: cee_pg::error"][::core::mem::offset_of!(cee_pg, error) - 1usize]; + ["Offset of field: cee_pg::pg_en"][::core::mem::offset_of!(cee_pg, pg_en) - 2usize]; + ["Offset of field: cee_pg::tcs_supported"] + [::core::mem::offset_of!(cee_pg, tcs_supported) - 3usize]; + ["Offset of field: cee_pg::pg_bw"][::core::mem::offset_of!(cee_pg, pg_bw) - 4usize]; + ["Offset of field: cee_pg::prio_pg"][::core::mem::offset_of!(cee_pg, prio_pg) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_bss_select_adjust { + pub band: nl80211_band, + pub delta: s8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_bss_select_adjust"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of cfg80211_bss_select_adjust"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_bss_select_adjust::band"] + [::core::mem::offset_of!(cfg80211_bss_select_adjust, band) - 0usize]; + ["Offset of field: cfg80211_bss_select_adjust::delta"] + [::core::mem::offset_of!(cfg80211_bss_select_adjust, delta) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cfg80211_bss_selection { + pub behaviour: nl80211_bss_select_attr, + pub param: cfg80211_bss_selection__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union cfg80211_bss_selection__bindgen_ty_1 { + pub band_pref: nl80211_band, + pub adjust: cfg80211_bss_select_adjust, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_bss_selection__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of cfg80211_bss_selection__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_bss_selection__bindgen_ty_1::band_pref"] + [::core::mem::offset_of!(cfg80211_bss_selection__bindgen_ty_1, band_pref) - 0usize]; + ["Offset of field: cfg80211_bss_selection__bindgen_ty_1::adjust"] + [::core::mem::offset_of!(cfg80211_bss_selection__bindgen_ty_1, adjust) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_bss_selection"][::core::mem::size_of::() - 12usize]; + ["Alignment of cfg80211_bss_selection"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_bss_selection::behaviour"] + [::core::mem::offset_of!(cfg80211_bss_selection, behaviour) - 0usize]; + ["Offset of field: cfg80211_bss_selection::param"] + [::core::mem::offset_of!(cfg80211_bss_selection, param) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_edmg { + pub channels: u8_, + pub bw_config: ieee80211_edmg_bw_config, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_edmg"][::core::mem::size_of::() - 8usize]; + ["Alignment of ieee80211_edmg"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee80211_edmg::channels"] + [::core::mem::offset_of!(ieee80211_edmg, channels) - 0usize]; + ["Offset of field: ieee80211_edmg::bw_config"] + [::core::mem::offset_of!(ieee80211_edmg, bw_config) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_chan_def { + pub chan: *mut ieee80211_channel, + pub width: nl80211_chan_width, + pub center_freq1: u32_, + pub center_freq2: u32_, + pub edmg: ieee80211_edmg, + pub freq1_offset: u16_, + pub punctured: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_chan_def"][::core::mem::size_of::() - 32usize]; + ["Alignment of cfg80211_chan_def"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_chan_def::chan"] + [::core::mem::offset_of!(cfg80211_chan_def, chan) - 0usize]; + ["Offset of field: cfg80211_chan_def::width"] + [::core::mem::offset_of!(cfg80211_chan_def, width) - 8usize]; + ["Offset of field: cfg80211_chan_def::center_freq1"] + [::core::mem::offset_of!(cfg80211_chan_def, center_freq1) - 12usize]; + ["Offset of field: cfg80211_chan_def::center_freq2"] + [::core::mem::offset_of!(cfg80211_chan_def, center_freq2) - 16usize]; + ["Offset of field: cfg80211_chan_def::edmg"] + [::core::mem::offset_of!(cfg80211_chan_def, edmg) - 20usize]; + ["Offset of field: cfg80211_chan_def::freq1_offset"] + [::core::mem::offset_of!(cfg80211_chan_def, freq1_offset) - 28usize]; + ["Offset of field: cfg80211_chan_def::punctured"] + [::core::mem::offset_of!(cfg80211_chan_def, punctured) - 30usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_crypto_settings { + pub wpa_versions: u32_, + pub cipher_group: u32_, + pub n_ciphers_pairwise: ::core::ffi::c_int, + pub ciphers_pairwise: [u32_; 5usize], + pub n_akm_suites: ::core::ffi::c_int, + pub akm_suites: [u32_; 10usize], + pub control_port: bool_, + pub control_port_ethertype: __be16, + pub control_port_no_encrypt: bool_, + pub control_port_over_nl80211: bool_, + pub control_port_no_preauth: bool_, + pub psk: *const u8_, + pub sae_pwd: *const u8_, + pub sae_pwd_len: u8_, + pub sae_pwe: nl80211_sae_pwe_mechanism, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_crypto_settings"] + [::core::mem::size_of::() - 112usize]; + ["Alignment of cfg80211_crypto_settings"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_crypto_settings::wpa_versions"] + [::core::mem::offset_of!(cfg80211_crypto_settings, wpa_versions) - 0usize]; + ["Offset of field: cfg80211_crypto_settings::cipher_group"] + [::core::mem::offset_of!(cfg80211_crypto_settings, cipher_group) - 4usize]; + ["Offset of field: cfg80211_crypto_settings::n_ciphers_pairwise"] + [::core::mem::offset_of!(cfg80211_crypto_settings, n_ciphers_pairwise) - 8usize]; + ["Offset of field: cfg80211_crypto_settings::ciphers_pairwise"] + [::core::mem::offset_of!(cfg80211_crypto_settings, ciphers_pairwise) - 12usize]; + ["Offset of field: cfg80211_crypto_settings::n_akm_suites"] + [::core::mem::offset_of!(cfg80211_crypto_settings, n_akm_suites) - 32usize]; + ["Offset of field: cfg80211_crypto_settings::akm_suites"] + [::core::mem::offset_of!(cfg80211_crypto_settings, akm_suites) - 36usize]; + ["Offset of field: cfg80211_crypto_settings::control_port"] + [::core::mem::offset_of!(cfg80211_crypto_settings, control_port) - 76usize]; + ["Offset of field: cfg80211_crypto_settings::control_port_ethertype"] + [::core::mem::offset_of!(cfg80211_crypto_settings, control_port_ethertype) - 78usize]; + ["Offset of field: cfg80211_crypto_settings::control_port_no_encrypt"] + [::core::mem::offset_of!(cfg80211_crypto_settings, control_port_no_encrypt) - 80usize]; + ["Offset of field: cfg80211_crypto_settings::control_port_over_nl80211"] + [::core::mem::offset_of!(cfg80211_crypto_settings, control_port_over_nl80211) - 81usize]; + ["Offset of field: cfg80211_crypto_settings::control_port_no_preauth"] + [::core::mem::offset_of!(cfg80211_crypto_settings, control_port_no_preauth) - 82usize]; + ["Offset of field: cfg80211_crypto_settings::psk"] + [::core::mem::offset_of!(cfg80211_crypto_settings, psk) - 88usize]; + ["Offset of field: cfg80211_crypto_settings::sae_pwd"] + [::core::mem::offset_of!(cfg80211_crypto_settings, sae_pwd) - 96usize]; + ["Offset of field: cfg80211_crypto_settings::sae_pwd_len"] + [::core::mem::offset_of!(cfg80211_crypto_settings, sae_pwd_len) - 104usize]; + ["Offset of field: cfg80211_crypto_settings::sae_pwe"] + [::core::mem::offset_of!(cfg80211_crypto_settings, sae_pwe) - 108usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_mcs_info { + pub rx_mask: [u8_; 10usize], + pub rx_highest: __le16, + pub tx_params: u8_, + pub reserved: [u8_; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_mcs_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of ieee80211_mcs_info"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_mcs_info::rx_mask"] + [::core::mem::offset_of!(ieee80211_mcs_info, rx_mask) - 0usize]; + ["Offset of field: ieee80211_mcs_info::rx_highest"] + [::core::mem::offset_of!(ieee80211_mcs_info, rx_highest) - 10usize]; + ["Offset of field: ieee80211_mcs_info::tx_params"] + [::core::mem::offset_of!(ieee80211_mcs_info, tx_params) - 12usize]; + ["Offset of field: ieee80211_mcs_info::reserved"] + [::core::mem::offset_of!(ieee80211_mcs_info, reserved) - 13usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_ht_cap { + pub cap_info: __le16, + pub ampdu_params_info: u8_, + pub mcs: ieee80211_mcs_info, + pub extended_ht_cap_info: __le16, + pub tx_BF_cap_info: __le32, + pub antenna_selection_info: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_ht_cap"][::core::mem::size_of::() - 26usize]; + ["Alignment of ieee80211_ht_cap"][::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_ht_cap::cap_info"] + [::core::mem::offset_of!(ieee80211_ht_cap, cap_info) - 0usize]; + ["Offset of field: ieee80211_ht_cap::ampdu_params_info"] + [::core::mem::offset_of!(ieee80211_ht_cap, ampdu_params_info) - 2usize]; + ["Offset of field: ieee80211_ht_cap::mcs"] + [::core::mem::offset_of!(ieee80211_ht_cap, mcs) - 3usize]; + ["Offset of field: ieee80211_ht_cap::extended_ht_cap_info"] + [::core::mem::offset_of!(ieee80211_ht_cap, extended_ht_cap_info) - 19usize]; + ["Offset of field: ieee80211_ht_cap::tx_BF_cap_info"] + [::core::mem::offset_of!(ieee80211_ht_cap, tx_BF_cap_info) - 21usize]; + ["Offset of field: ieee80211_ht_cap::antenna_selection_info"] + [::core::mem::offset_of!(ieee80211_ht_cap, antenna_selection_info) - 25usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_vht_mcs_info { + pub rx_mcs_map: __le16, + pub rx_highest: __le16, + pub tx_mcs_map: __le16, + pub tx_highest: __le16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_vht_mcs_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of ieee80211_vht_mcs_info"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_vht_mcs_info::rx_mcs_map"] + [::core::mem::offset_of!(ieee80211_vht_mcs_info, rx_mcs_map) - 0usize]; + ["Offset of field: ieee80211_vht_mcs_info::rx_highest"] + [::core::mem::offset_of!(ieee80211_vht_mcs_info, rx_highest) - 2usize]; + ["Offset of field: ieee80211_vht_mcs_info::tx_mcs_map"] + [::core::mem::offset_of!(ieee80211_vht_mcs_info, tx_mcs_map) - 4usize]; + ["Offset of field: ieee80211_vht_mcs_info::tx_highest"] + [::core::mem::offset_of!(ieee80211_vht_mcs_info, tx_highest) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_vht_cap { + pub vht_cap_info: __le32, + pub supp_mcs: ieee80211_vht_mcs_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_vht_cap"][::core::mem::size_of::() - 12usize]; + ["Alignment of ieee80211_vht_cap"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee80211_vht_cap::vht_cap_info"] + [::core::mem::offset_of!(ieee80211_vht_cap, vht_cap_info) - 0usize]; + ["Offset of field: ieee80211_vht_cap::supp_mcs"] + [::core::mem::offset_of!(ieee80211_vht_cap, supp_mcs) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cfg80211_connect_params { + pub channel: *mut ieee80211_channel, + pub channel_hint: *mut ieee80211_channel, + pub bssid: *const u8_, + pub bssid_hint: *const u8_, + pub ssid: *const u8_, + pub ssid_len: usize, + pub auth_type: nl80211_auth_type, + pub ie: *const u8_, + pub ie_len: usize, + pub privacy: bool_, + pub mfp: nl80211_mfp, + pub crypto: cfg80211_crypto_settings, + pub key: *const u8_, + pub key_len: u8_, + pub key_idx: u8_, + pub flags: u32_, + pub bg_scan_period: ::core::ffi::c_int, + pub ht_capa: ieee80211_ht_cap, + pub ht_capa_mask: ieee80211_ht_cap, + pub vht_capa: ieee80211_vht_cap, + pub vht_capa_mask: ieee80211_vht_cap, + pub pbss: bool_, + pub bss_select: cfg80211_bss_selection, + pub prev_bssid: *const u8_, + pub fils_erp_username: *const u8_, + pub fils_erp_username_len: usize, + pub fils_erp_realm: *const u8_, + pub fils_erp_realm_len: usize, + pub fils_erp_next_seq_num: u16_, + pub fils_erp_rrk: *const u8_, + pub fils_erp_rrk_len: usize, + pub want_1x: bool_, + pub edmg: ieee80211_edmg, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_connect_params"] + [::core::mem::size_of::() - 384usize]; + ["Alignment of cfg80211_connect_params"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_connect_params::channel"] + [::core::mem::offset_of!(cfg80211_connect_params, channel) - 0usize]; + ["Offset of field: cfg80211_connect_params::channel_hint"] + [::core::mem::offset_of!(cfg80211_connect_params, channel_hint) - 8usize]; + ["Offset of field: cfg80211_connect_params::bssid"] + [::core::mem::offset_of!(cfg80211_connect_params, bssid) - 16usize]; + ["Offset of field: cfg80211_connect_params::bssid_hint"] + [::core::mem::offset_of!(cfg80211_connect_params, bssid_hint) - 24usize]; + ["Offset of field: cfg80211_connect_params::ssid"] + [::core::mem::offset_of!(cfg80211_connect_params, ssid) - 32usize]; + ["Offset of field: cfg80211_connect_params::ssid_len"] + [::core::mem::offset_of!(cfg80211_connect_params, ssid_len) - 40usize]; + ["Offset of field: cfg80211_connect_params::auth_type"] + [::core::mem::offset_of!(cfg80211_connect_params, auth_type) - 48usize]; + ["Offset of field: cfg80211_connect_params::ie"] + [::core::mem::offset_of!(cfg80211_connect_params, ie) - 56usize]; + ["Offset of field: cfg80211_connect_params::ie_len"] + [::core::mem::offset_of!(cfg80211_connect_params, ie_len) - 64usize]; + ["Offset of field: cfg80211_connect_params::privacy"] + [::core::mem::offset_of!(cfg80211_connect_params, privacy) - 72usize]; + ["Offset of field: cfg80211_connect_params::mfp"] + [::core::mem::offset_of!(cfg80211_connect_params, mfp) - 76usize]; + ["Offset of field: cfg80211_connect_params::crypto"] + [::core::mem::offset_of!(cfg80211_connect_params, crypto) - 80usize]; + ["Offset of field: cfg80211_connect_params::key"] + [::core::mem::offset_of!(cfg80211_connect_params, key) - 192usize]; + ["Offset of field: cfg80211_connect_params::key_len"] + [::core::mem::offset_of!(cfg80211_connect_params, key_len) - 200usize]; + ["Offset of field: cfg80211_connect_params::key_idx"] + [::core::mem::offset_of!(cfg80211_connect_params, key_idx) - 201usize]; + ["Offset of field: cfg80211_connect_params::flags"] + [::core::mem::offset_of!(cfg80211_connect_params, flags) - 204usize]; + ["Offset of field: cfg80211_connect_params::bg_scan_period"] + [::core::mem::offset_of!(cfg80211_connect_params, bg_scan_period) - 208usize]; + ["Offset of field: cfg80211_connect_params::ht_capa"] + [::core::mem::offset_of!(cfg80211_connect_params, ht_capa) - 212usize]; + ["Offset of field: cfg80211_connect_params::ht_capa_mask"] + [::core::mem::offset_of!(cfg80211_connect_params, ht_capa_mask) - 238usize]; + ["Offset of field: cfg80211_connect_params::vht_capa"] + [::core::mem::offset_of!(cfg80211_connect_params, vht_capa) - 264usize]; + ["Offset of field: cfg80211_connect_params::vht_capa_mask"] + [::core::mem::offset_of!(cfg80211_connect_params, vht_capa_mask) - 276usize]; + ["Offset of field: cfg80211_connect_params::pbss"] + [::core::mem::offset_of!(cfg80211_connect_params, pbss) - 288usize]; + ["Offset of field: cfg80211_connect_params::bss_select"] + [::core::mem::offset_of!(cfg80211_connect_params, bss_select) - 292usize]; + ["Offset of field: cfg80211_connect_params::prev_bssid"] + [::core::mem::offset_of!(cfg80211_connect_params, prev_bssid) - 304usize]; + ["Offset of field: cfg80211_connect_params::fils_erp_username"] + [::core::mem::offset_of!(cfg80211_connect_params, fils_erp_username) - 312usize]; + ["Offset of field: cfg80211_connect_params::fils_erp_username_len"] + [::core::mem::offset_of!(cfg80211_connect_params, fils_erp_username_len) - 320usize]; + ["Offset of field: cfg80211_connect_params::fils_erp_realm"] + [::core::mem::offset_of!(cfg80211_connect_params, fils_erp_realm) - 328usize]; + ["Offset of field: cfg80211_connect_params::fils_erp_realm_len"] + [::core::mem::offset_of!(cfg80211_connect_params, fils_erp_realm_len) - 336usize]; + ["Offset of field: cfg80211_connect_params::fils_erp_next_seq_num"] + [::core::mem::offset_of!(cfg80211_connect_params, fils_erp_next_seq_num) - 344usize]; + ["Offset of field: cfg80211_connect_params::fils_erp_rrk"] + [::core::mem::offset_of!(cfg80211_connect_params, fils_erp_rrk) - 352usize]; + ["Offset of field: cfg80211_connect_params::fils_erp_rrk_len"] + [::core::mem::offset_of!(cfg80211_connect_params, fils_erp_rrk_len) - 360usize]; + ["Offset of field: cfg80211_connect_params::want_1x"] + [::core::mem::offset_of!(cfg80211_connect_params, want_1x) - 368usize]; + ["Offset of field: cfg80211_connect_params::edmg"] + [::core::mem::offset_of!(cfg80211_connect_params, edmg) - 372usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_ibss_params { + pub ssid: *const u8_, + pub bssid: *const u8_, + pub chandef: cfg80211_chan_def, + pub ie: *const u8_, + pub ssid_len: u8_, + pub ie_len: u8_, + pub beacon_interval: u16_, + pub basic_rates: u32_, + pub channel_fixed: bool_, + pub privacy: bool_, + pub control_port: bool_, + pub control_port_over_nl80211: bool_, + pub userspace_handles_dfs: bool_, + pub mcast_rate: [::core::ffi::c_int; 6usize], + pub ht_capa: ieee80211_ht_cap, + pub ht_capa_mask: ieee80211_ht_cap, + pub wep_keys: *mut key_params, + pub wep_tx_key: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_ibss_params"][::core::mem::size_of::() - 168usize]; + ["Alignment of cfg80211_ibss_params"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_ibss_params::ssid"] + [::core::mem::offset_of!(cfg80211_ibss_params, ssid) - 0usize]; + ["Offset of field: cfg80211_ibss_params::bssid"] + [::core::mem::offset_of!(cfg80211_ibss_params, bssid) - 8usize]; + ["Offset of field: cfg80211_ibss_params::chandef"] + [::core::mem::offset_of!(cfg80211_ibss_params, chandef) - 16usize]; + ["Offset of field: cfg80211_ibss_params::ie"] + [::core::mem::offset_of!(cfg80211_ibss_params, ie) - 48usize]; + ["Offset of field: cfg80211_ibss_params::ssid_len"] + [::core::mem::offset_of!(cfg80211_ibss_params, ssid_len) - 56usize]; + ["Offset of field: cfg80211_ibss_params::ie_len"] + [::core::mem::offset_of!(cfg80211_ibss_params, ie_len) - 57usize]; + ["Offset of field: cfg80211_ibss_params::beacon_interval"] + [::core::mem::offset_of!(cfg80211_ibss_params, beacon_interval) - 58usize]; + ["Offset of field: cfg80211_ibss_params::basic_rates"] + [::core::mem::offset_of!(cfg80211_ibss_params, basic_rates) - 60usize]; + ["Offset of field: cfg80211_ibss_params::channel_fixed"] + [::core::mem::offset_of!(cfg80211_ibss_params, channel_fixed) - 64usize]; + ["Offset of field: cfg80211_ibss_params::privacy"] + [::core::mem::offset_of!(cfg80211_ibss_params, privacy) - 65usize]; + ["Offset of field: cfg80211_ibss_params::control_port"] + [::core::mem::offset_of!(cfg80211_ibss_params, control_port) - 66usize]; + ["Offset of field: cfg80211_ibss_params::control_port_over_nl80211"] + [::core::mem::offset_of!(cfg80211_ibss_params, control_port_over_nl80211) - 67usize]; + ["Offset of field: cfg80211_ibss_params::userspace_handles_dfs"] + [::core::mem::offset_of!(cfg80211_ibss_params, userspace_handles_dfs) - 68usize]; + ["Offset of field: cfg80211_ibss_params::mcast_rate"] + [::core::mem::offset_of!(cfg80211_ibss_params, mcast_rate) - 72usize]; + ["Offset of field: cfg80211_ibss_params::ht_capa"] + [::core::mem::offset_of!(cfg80211_ibss_params, ht_capa) - 96usize]; + ["Offset of field: cfg80211_ibss_params::ht_capa_mask"] + [::core::mem::offset_of!(cfg80211_ibss_params, ht_capa_mask) - 122usize]; + ["Offset of field: cfg80211_ibss_params::wep_keys"] + [::core::mem::offset_of!(cfg80211_ibss_params, wep_keys) - 152usize]; + ["Offset of field: cfg80211_ibss_params::wep_tx_key"] + [::core::mem::offset_of!(cfg80211_ibss_params, wep_tx_key) - 160usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_ssid { + pub ssid: [u8_; 32usize], + pub ssid_len: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_ssid"][::core::mem::size_of::() - 33usize]; + ["Alignment of cfg80211_ssid"][::core::mem::align_of::() - 1usize]; + ["Offset of field: cfg80211_ssid::ssid"][::core::mem::offset_of!(cfg80211_ssid, ssid) - 0usize]; + ["Offset of field: cfg80211_ssid::ssid_len"] + [::core::mem::offset_of!(cfg80211_ssid, ssid_len) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_match_set { + pub ssid: cfg80211_ssid, + pub bssid: [u8_; 6usize], + pub rssi_thold: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_match_set"][::core::mem::size_of::() - 44usize]; + ["Alignment of cfg80211_match_set"][::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_match_set::ssid"] + [::core::mem::offset_of!(cfg80211_match_set, ssid) - 0usize]; + ["Offset of field: cfg80211_match_set::bssid"] + [::core::mem::offset_of!(cfg80211_match_set, bssid) - 33usize]; + ["Offset of field: cfg80211_match_set::rssi_thold"] + [::core::mem::offset_of!(cfg80211_match_set, rssi_thold) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_pkt_pattern { + pub mask: *const u8_, + pub pattern: *const u8_, + pub pattern_len: ::core::ffi::c_int, + pub pkt_offset: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_pkt_pattern"][::core::mem::size_of::() - 24usize]; + ["Alignment of cfg80211_pkt_pattern"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_pkt_pattern::mask"] + [::core::mem::offset_of!(cfg80211_pkt_pattern, mask) - 0usize]; + ["Offset of field: cfg80211_pkt_pattern::pattern"] + [::core::mem::offset_of!(cfg80211_pkt_pattern, pattern) - 8usize]; + ["Offset of field: cfg80211_pkt_pattern::pattern_len"] + [::core::mem::offset_of!(cfg80211_pkt_pattern, pattern_len) - 16usize]; + ["Offset of field: cfg80211_pkt_pattern::pkt_offset"] + [::core::mem::offset_of!(cfg80211_pkt_pattern, pkt_offset) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_pmsr_capabilities { + pub max_peers: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub ftm: cfg80211_pmsr_capabilities__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_pmsr_capabilities__bindgen_ty_1 { + pub preambles: u32_, + pub bandwidths: u32_, + pub max_bursts_exponent: s8, + pub max_ftms_per_burst: u8_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_pmsr_capabilities__bindgen_ty_1"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of cfg80211_pmsr_capabilities__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_pmsr_capabilities__bindgen_ty_1::preambles"] + [::core::mem::offset_of!(cfg80211_pmsr_capabilities__bindgen_ty_1, preambles) - 0usize]; + ["Offset of field: cfg80211_pmsr_capabilities__bindgen_ty_1::bandwidths"] + [::core::mem::offset_of!(cfg80211_pmsr_capabilities__bindgen_ty_1, bandwidths) - 4usize]; + ["Offset of field: cfg80211_pmsr_capabilities__bindgen_ty_1::max_bursts_exponent"][::core::mem::offset_of!( + cfg80211_pmsr_capabilities__bindgen_ty_1, + max_bursts_exponent + ) - 8usize]; + ["Offset of field: cfg80211_pmsr_capabilities__bindgen_ty_1::max_ftms_per_burst"][::core::mem::offset_of!( + cfg80211_pmsr_capabilities__bindgen_ty_1, + max_ftms_per_burst + ) - 9usize]; +}; +impl cfg80211_pmsr_capabilities__bindgen_ty_1 { + #[inline] + pub fn supported(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_supported(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn supported_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_supported_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn asap(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_asap(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn asap_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_asap_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn non_asap(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_non_asap(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn non_asap_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_non_asap_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn request_lci(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_request_lci(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn request_lci_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_request_lci_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn request_civicloc(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_request_civicloc(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn request_civicloc_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_request_civicloc_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn trigger_based(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_trigger_based(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn trigger_based_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_trigger_based_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn non_trigger_based(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_non_trigger_based(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn non_trigger_based_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_non_trigger_based_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + supported: u8_, + asap: u8_, + non_asap: u8_, + request_lci: u8_, + request_civicloc: u8_, + trigger_based: u8_, + non_trigger_based: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let supported: u8 = unsafe { ::core::mem::transmute(supported) }; + supported as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let asap: u8 = unsafe { ::core::mem::transmute(asap) }; + asap as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let non_asap: u8 = unsafe { ::core::mem::transmute(non_asap) }; + non_asap as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let request_lci: u8 = unsafe { ::core::mem::transmute(request_lci) }; + request_lci as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let request_civicloc: u8 = unsafe { ::core::mem::transmute(request_civicloc) }; + request_civicloc as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let trigger_based: u8 = unsafe { ::core::mem::transmute(trigger_based) }; + trigger_based as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let non_trigger_based: u8 = unsafe { ::core::mem::transmute(non_trigger_based) }; + non_trigger_based as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_pmsr_capabilities"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of cfg80211_pmsr_capabilities"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_pmsr_capabilities::max_peers"] + [::core::mem::offset_of!(cfg80211_pmsr_capabilities, max_peers) - 0usize]; + ["Offset of field: cfg80211_pmsr_capabilities::ftm"] + [::core::mem::offset_of!(cfg80211_pmsr_capabilities, ftm) - 8usize]; +}; +impl cfg80211_pmsr_capabilities { + #[inline] + pub fn report_ap_tsf(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_report_ap_tsf(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn report_ap_tsf_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_report_ap_tsf_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn randomize_mac_addr(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_randomize_mac_addr(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn randomize_mac_addr_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_randomize_mac_addr_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + report_ap_tsf: u8_, + randomize_mac_addr: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let report_ap_tsf: u8 = unsafe { ::core::mem::transmute(report_ap_tsf) }; + report_ap_tsf as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let randomize_mac_addr: u8 = unsafe { ::core::mem::transmute(randomize_mac_addr) }; + randomize_mac_addr as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_sar_capa { + pub type_: nl80211_sar_type, + pub num_freq_ranges: u32_, + pub freq_ranges: *const cfg80211_sar_freq_ranges, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_sar_capa"][::core::mem::size_of::() - 16usize]; + ["Alignment of cfg80211_sar_capa"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_sar_capa::type_"] + [::core::mem::offset_of!(cfg80211_sar_capa, type_) - 0usize]; + ["Offset of field: cfg80211_sar_capa::num_freq_ranges"] + [::core::mem::offset_of!(cfg80211_sar_capa, num_freq_ranges) - 4usize]; + ["Offset of field: cfg80211_sar_capa::freq_ranges"] + [::core::mem::offset_of!(cfg80211_sar_capa, freq_ranges) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_sar_freq_ranges { + pub start_freq: u32_, + pub end_freq: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_sar_freq_ranges"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of cfg80211_sar_freq_ranges"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_sar_freq_ranges::start_freq"] + [::core::mem::offset_of!(cfg80211_sar_freq_ranges, start_freq) - 0usize]; + ["Offset of field: cfg80211_sar_freq_ranges::end_freq"] + [::core::mem::offset_of!(cfg80211_sar_freq_ranges, end_freq) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_sched_scan_plan { + pub interval: u32_, + pub iterations: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_sched_scan_plan"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of cfg80211_sched_scan_plan"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: cfg80211_sched_scan_plan::interval"] + [::core::mem::offset_of!(cfg80211_sched_scan_plan, interval) - 0usize]; + ["Offset of field: cfg80211_sched_scan_plan::iterations"] + [::core::mem::offset_of!(cfg80211_sched_scan_plan, iterations) - 4usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct cfg80211_sched_scan_request { + pub reqid: u64_, + pub ssids: *mut cfg80211_ssid, + pub n_ssids: ::core::ffi::c_int, + pub n_channels: u32_, + pub ie: *const u8_, + pub ie_len: usize, + pub flags: u32_, + pub match_sets: *mut cfg80211_match_set, + pub n_match_sets: ::core::ffi::c_int, + pub min_rssi_thold: s32, + pub delay: u32_, + pub scan_plans: *mut cfg80211_sched_scan_plan, + pub n_scan_plans: ::core::ffi::c_int, + pub mac_addr: [u8_; 6usize], + pub mac_addr_mask: [u8_; 6usize], + pub relative_rssi_set: bool_, + pub relative_rssi: s8, + pub rssi_adjust: cfg80211_bss_select_adjust, + pub wiphy: *mut wiphy, + pub dev: *mut net_device, + pub scan_start: ::core::ffi::c_ulong, + pub report_results: bool_, + pub callback_head: callback_head, + pub owner_nlportid: u32_, + pub nl_owner_dead: bool_, + pub list: list_head, + pub channels: __IncompleteArrayField<*mut ieee80211_channel>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_sched_scan_request"] + [::core::mem::size_of::() - 184usize]; + ["Alignment of cfg80211_sched_scan_request"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_sched_scan_request::reqid"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, reqid) - 0usize]; + ["Offset of field: cfg80211_sched_scan_request::ssids"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, ssids) - 8usize]; + ["Offset of field: cfg80211_sched_scan_request::n_ssids"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, n_ssids) - 16usize]; + ["Offset of field: cfg80211_sched_scan_request::n_channels"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, n_channels) - 20usize]; + ["Offset of field: cfg80211_sched_scan_request::ie"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, ie) - 24usize]; + ["Offset of field: cfg80211_sched_scan_request::ie_len"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, ie_len) - 32usize]; + ["Offset of field: cfg80211_sched_scan_request::flags"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, flags) - 40usize]; + ["Offset of field: cfg80211_sched_scan_request::match_sets"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, match_sets) - 48usize]; + ["Offset of field: cfg80211_sched_scan_request::n_match_sets"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, n_match_sets) - 56usize]; + ["Offset of field: cfg80211_sched_scan_request::min_rssi_thold"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, min_rssi_thold) - 60usize]; + ["Offset of field: cfg80211_sched_scan_request::delay"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, delay) - 64usize]; + ["Offset of field: cfg80211_sched_scan_request::scan_plans"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, scan_plans) - 72usize]; + ["Offset of field: cfg80211_sched_scan_request::n_scan_plans"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, n_scan_plans) - 80usize]; + ["Offset of field: cfg80211_sched_scan_request::mac_addr"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, mac_addr) - 84usize]; + ["Offset of field: cfg80211_sched_scan_request::mac_addr_mask"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, mac_addr_mask) - 90usize]; + ["Offset of field: cfg80211_sched_scan_request::relative_rssi_set"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, relative_rssi_set) - 96usize]; + ["Offset of field: cfg80211_sched_scan_request::relative_rssi"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, relative_rssi) - 97usize]; + ["Offset of field: cfg80211_sched_scan_request::rssi_adjust"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, rssi_adjust) - 100usize]; + ["Offset of field: cfg80211_sched_scan_request::wiphy"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, wiphy) - 112usize]; + ["Offset of field: cfg80211_sched_scan_request::dev"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, dev) - 120usize]; + ["Offset of field: cfg80211_sched_scan_request::scan_start"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, scan_start) - 128usize]; + ["Offset of field: cfg80211_sched_scan_request::report_results"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, report_results) - 136usize]; + ["Offset of field: cfg80211_sched_scan_request::callback_head"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, callback_head) - 144usize]; + ["Offset of field: cfg80211_sched_scan_request::owner_nlportid"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, owner_nlportid) - 160usize]; + ["Offset of field: cfg80211_sched_scan_request::nl_owner_dead"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, nl_owner_dead) - 164usize]; + ["Offset of field: cfg80211_sched_scan_request::list"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, list) - 168usize]; + ["Offset of field: cfg80211_sched_scan_request::channels"] + [::core::mem::offset_of!(cfg80211_sched_scan_request, channels) - 184usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_wowlan { + pub any: bool_, + pub disconnect: bool_, + pub magic_pkt: bool_, + pub gtk_rekey_failure: bool_, + pub eap_identity_req: bool_, + pub four_way_handshake: bool_, + pub rfkill_release: bool_, + pub patterns: *mut cfg80211_pkt_pattern, + pub tcp: *mut cfg80211_wowlan_tcp, + pub n_patterns: ::core::ffi::c_int, + pub nd_config: *mut cfg80211_sched_scan_request, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_wowlan"][::core::mem::size_of::() - 40usize]; + ["Alignment of cfg80211_wowlan"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_wowlan::any"] + [::core::mem::offset_of!(cfg80211_wowlan, any) - 0usize]; + ["Offset of field: cfg80211_wowlan::disconnect"] + [::core::mem::offset_of!(cfg80211_wowlan, disconnect) - 1usize]; + ["Offset of field: cfg80211_wowlan::magic_pkt"] + [::core::mem::offset_of!(cfg80211_wowlan, magic_pkt) - 2usize]; + ["Offset of field: cfg80211_wowlan::gtk_rekey_failure"] + [::core::mem::offset_of!(cfg80211_wowlan, gtk_rekey_failure) - 3usize]; + ["Offset of field: cfg80211_wowlan::eap_identity_req"] + [::core::mem::offset_of!(cfg80211_wowlan, eap_identity_req) - 4usize]; + ["Offset of field: cfg80211_wowlan::four_way_handshake"] + [::core::mem::offset_of!(cfg80211_wowlan, four_way_handshake) - 5usize]; + ["Offset of field: cfg80211_wowlan::rfkill_release"] + [::core::mem::offset_of!(cfg80211_wowlan, rfkill_release) - 6usize]; + ["Offset of field: cfg80211_wowlan::patterns"] + [::core::mem::offset_of!(cfg80211_wowlan, patterns) - 8usize]; + ["Offset of field: cfg80211_wowlan::tcp"] + [::core::mem::offset_of!(cfg80211_wowlan, tcp) - 16usize]; + ["Offset of field: cfg80211_wowlan::n_patterns"] + [::core::mem::offset_of!(cfg80211_wowlan, n_patterns) - 24usize]; + ["Offset of field: cfg80211_wowlan::nd_config"] + [::core::mem::offset_of!(cfg80211_wowlan, nd_config) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nl80211_wowlan_tcp_data_seq { + pub start: __u32, + pub offset: __u32, + pub len: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nl80211_wowlan_tcp_data_seq"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of nl80211_wowlan_tcp_data_seq"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nl80211_wowlan_tcp_data_seq::start"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_seq, start) - 0usize]; + ["Offset of field: nl80211_wowlan_tcp_data_seq::offset"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_seq, offset) - 4usize]; + ["Offset of field: nl80211_wowlan_tcp_data_seq::len"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_seq, len) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct nl80211_wowlan_tcp_data_token { + pub offset: __u32, + pub len: __u32, + pub token_stream: __IncompleteArrayField<__u8>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nl80211_wowlan_tcp_data_token"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of nl80211_wowlan_tcp_data_token"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nl80211_wowlan_tcp_data_token::offset"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_token, offset) - 0usize]; + ["Offset of field: nl80211_wowlan_tcp_data_token::len"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_token, len) - 4usize]; + ["Offset of field: nl80211_wowlan_tcp_data_token::token_stream"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_token, token_stream) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct cfg80211_wowlan_tcp { + pub sock: *mut socket, + pub src: __be32, + pub dst: __be32, + pub src_port: u16_, + pub dst_port: u16_, + pub dst_mac: [u8_; 6usize], + pub payload_len: ::core::ffi::c_int, + pub payload: *const u8_, + pub payload_seq: nl80211_wowlan_tcp_data_seq, + pub data_interval: u32_, + pub wake_len: u32_, + pub wake_data: *const u8_, + pub wake_mask: *const u8_, + pub tokens_size: u32_, + pub payload_tok: nl80211_wowlan_tcp_data_token, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfg80211_wowlan_tcp"][::core::mem::size_of::() - 96usize]; + ["Alignment of cfg80211_wowlan_tcp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfg80211_wowlan_tcp::sock"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, sock) - 0usize]; + ["Offset of field: cfg80211_wowlan_tcp::src"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, src) - 8usize]; + ["Offset of field: cfg80211_wowlan_tcp::dst"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, dst) - 12usize]; + ["Offset of field: cfg80211_wowlan_tcp::src_port"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, src_port) - 16usize]; + ["Offset of field: cfg80211_wowlan_tcp::dst_port"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, dst_port) - 18usize]; + ["Offset of field: cfg80211_wowlan_tcp::dst_mac"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, dst_mac) - 20usize]; + ["Offset of field: cfg80211_wowlan_tcp::payload_len"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, payload_len) - 28usize]; + ["Offset of field: cfg80211_wowlan_tcp::payload"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, payload) - 32usize]; + ["Offset of field: cfg80211_wowlan_tcp::payload_seq"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, payload_seq) - 40usize]; + ["Offset of field: cfg80211_wowlan_tcp::data_interval"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, data_interval) - 52usize]; + ["Offset of field: cfg80211_wowlan_tcp::wake_len"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, wake_len) - 56usize]; + ["Offset of field: cfg80211_wowlan_tcp::wake_data"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, wake_data) - 64usize]; + ["Offset of field: cfg80211_wowlan_tcp::wake_mask"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, wake_mask) - 72usize]; + ["Offset of field: cfg80211_wowlan_tcp::tokens_size"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, tokens_size) - 80usize]; + ["Offset of field: cfg80211_wowlan_tcp::payload_tok"] + [::core::mem::offset_of!(cfg80211_wowlan_tcp, payload_tok) - 84usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cfs_bandwidth { + pub lock: raw_spinlock_t, + pub period: ktime_t, + pub quota: u64_, + pub runtime: u64_, + pub burst: u64_, + pub runtime_snap: u64_, + pub hierarchical_quota: s64, + pub idle: u8_, + pub period_active: u8_, + pub slack_started: u8_, + pub period_timer: hrtimer, + pub slack_timer: hrtimer, + pub throttled_cfs_rq: list_head, + pub nr_periods: ::core::ffi::c_int, + pub nr_throttled: ::core::ffi::c_int, + pub nr_burst: ::core::ffi::c_int, + pub throttled_time: u64_, + pub burst_time: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfs_bandwidth"][::core::mem::size_of::() - 240usize]; + ["Alignment of cfs_bandwidth"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfs_bandwidth::lock"][::core::mem::offset_of!(cfs_bandwidth, lock) - 0usize]; + ["Offset of field: cfs_bandwidth::period"] + [::core::mem::offset_of!(cfs_bandwidth, period) - 8usize]; + ["Offset of field: cfs_bandwidth::quota"] + [::core::mem::offset_of!(cfs_bandwidth, quota) - 16usize]; + ["Offset of field: cfs_bandwidth::runtime"] + [::core::mem::offset_of!(cfs_bandwidth, runtime) - 24usize]; + ["Offset of field: cfs_bandwidth::burst"] + [::core::mem::offset_of!(cfs_bandwidth, burst) - 32usize]; + ["Offset of field: cfs_bandwidth::runtime_snap"] + [::core::mem::offset_of!(cfs_bandwidth, runtime_snap) - 40usize]; + ["Offset of field: cfs_bandwidth::hierarchical_quota"] + [::core::mem::offset_of!(cfs_bandwidth, hierarchical_quota) - 48usize]; + ["Offset of field: cfs_bandwidth::idle"] + [::core::mem::offset_of!(cfs_bandwidth, idle) - 56usize]; + ["Offset of field: cfs_bandwidth::period_active"] + [::core::mem::offset_of!(cfs_bandwidth, period_active) - 57usize]; + ["Offset of field: cfs_bandwidth::slack_started"] + [::core::mem::offset_of!(cfs_bandwidth, slack_started) - 58usize]; + ["Offset of field: cfs_bandwidth::period_timer"] + [::core::mem::offset_of!(cfs_bandwidth, period_timer) - 64usize]; + ["Offset of field: cfs_bandwidth::slack_timer"] + [::core::mem::offset_of!(cfs_bandwidth, slack_timer) - 128usize]; + ["Offset of field: cfs_bandwidth::throttled_cfs_rq"] + [::core::mem::offset_of!(cfs_bandwidth, throttled_cfs_rq) - 192usize]; + ["Offset of field: cfs_bandwidth::nr_periods"] + [::core::mem::offset_of!(cfs_bandwidth, nr_periods) - 208usize]; + ["Offset of field: cfs_bandwidth::nr_throttled"] + [::core::mem::offset_of!(cfs_bandwidth, nr_throttled) - 212usize]; + ["Offset of field: cfs_bandwidth::nr_burst"] + [::core::mem::offset_of!(cfs_bandwidth, nr_burst) - 216usize]; + ["Offset of field: cfs_bandwidth::throttled_time"] + [::core::mem::offset_of!(cfs_bandwidth, throttled_time) - 224usize]; + ["Offset of field: cfs_bandwidth::burst_time"] + [::core::mem::offset_of!(cfs_bandwidth, burst_time) - 232usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct load_weight { + pub weight: ::core::ffi::c_ulong, + pub inv_weight: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of load_weight"][::core::mem::size_of::() - 16usize]; + ["Alignment of load_weight"][::core::mem::align_of::() - 8usize]; + ["Offset of field: load_weight::weight"][::core::mem::offset_of!(load_weight, weight) - 0usize]; + ["Offset of field: load_weight::inv_weight"] + [::core::mem::offset_of!(load_weight, inv_weight) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_avg { + pub last_update_time: u64_, + pub load_sum: u64_, + pub runnable_sum: u64_, + pub util_sum: u32_, + pub period_contrib: u32_, + pub load_avg: ::core::ffi::c_ulong, + pub runnable_avg: ::core::ffi::c_ulong, + pub util_avg: ::core::ffi::c_ulong, + pub util_est: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_avg"][::core::mem::size_of::() - 64usize]; + ["Alignment of sched_avg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_avg::last_update_time"] + [::core::mem::offset_of!(sched_avg, last_update_time) - 0usize]; + ["Offset of field: sched_avg::load_sum"][::core::mem::offset_of!(sched_avg, load_sum) - 8usize]; + ["Offset of field: sched_avg::runnable_sum"] + [::core::mem::offset_of!(sched_avg, runnable_sum) - 16usize]; + ["Offset of field: sched_avg::util_sum"] + [::core::mem::offset_of!(sched_avg, util_sum) - 24usize]; + ["Offset of field: sched_avg::period_contrib"] + [::core::mem::offset_of!(sched_avg, period_contrib) - 28usize]; + ["Offset of field: sched_avg::load_avg"] + [::core::mem::offset_of!(sched_avg, load_avg) - 32usize]; + ["Offset of field: sched_avg::runnable_avg"] + [::core::mem::offset_of!(sched_avg, runnable_avg) - 40usize]; + ["Offset of field: sched_avg::util_avg"] + [::core::mem::offset_of!(sched_avg, util_avg) - 48usize]; + ["Offset of field: sched_avg::util_est"] + [::core::mem::offset_of!(sched_avg, util_est) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cfs_rq { + pub load: load_weight, + pub nr_running: ::core::ffi::c_uint, + pub h_nr_queued: ::core::ffi::c_uint, + pub h_nr_runnable: ::core::ffi::c_uint, + pub idle_nr_running: ::core::ffi::c_uint, + pub idle_h_nr_running: ::core::ffi::c_uint, + pub h_nr_delayed: ::core::ffi::c_uint, + pub avg_vruntime: s64, + pub avg_load: u64_, + pub min_vruntime: u64_, + pub forceidle_seq: ::core::ffi::c_uint, + pub min_vruntime_fi: u64_, + pub tasks_timeline: rb_root_cached, + pub curr: *mut sched_entity, + pub next: *mut sched_entity, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub avg: sched_avg, + pub removed: cfs_rq__bindgen_ty_1, + pub last_update_tg_load_avg: u64_, + pub tg_load_avg_contrib: ::core::ffi::c_ulong, + pub propagate: ::core::ffi::c_long, + pub prop_runnable_sum: ::core::ffi::c_long, + pub h_load: ::core::ffi::c_ulong, + pub last_h_load_update: u64_, + pub h_load_next: *mut sched_entity, + pub rq: *mut rq, + pub on_list: ::core::ffi::c_int, + pub leaf_cfs_rq_list: list_head, + pub tg: *mut task_group, + pub idle: ::core::ffi::c_int, + pub runtime_enabled: ::core::ffi::c_int, + pub runtime_remaining: s64, + pub throttled_pelt_idle: u64_, + pub throttled_clock: u64_, + pub throttled_clock_pelt: u64_, + pub throttled_clock_pelt_time: u64_, + pub throttled_clock_self: u64_, + pub throttled_clock_self_time: u64_, + pub throttled: ::core::ffi::c_int, + pub throttle_count: ::core::ffi::c_int, + pub throttled_list: list_head, + pub throttled_csd_list: list_head, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cfs_rq__bindgen_ty_1 { + pub lock: raw_spinlock_t, + pub nr: ::core::ffi::c_int, + pub load_avg: ::core::ffi::c_ulong, + pub util_avg: ::core::ffi::c_ulong, + pub runnable_avg: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfs_rq__bindgen_ty_1"][::core::mem::size_of::() - 64usize]; + ["Alignment of cfs_rq__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfs_rq__bindgen_ty_1::lock"] + [::core::mem::offset_of!(cfs_rq__bindgen_ty_1, lock) - 0usize]; + ["Offset of field: cfs_rq__bindgen_ty_1::nr"] + [::core::mem::offset_of!(cfs_rq__bindgen_ty_1, nr) - 4usize]; + ["Offset of field: cfs_rq__bindgen_ty_1::load_avg"] + [::core::mem::offset_of!(cfs_rq__bindgen_ty_1, load_avg) - 8usize]; + ["Offset of field: cfs_rq__bindgen_ty_1::util_avg"] + [::core::mem::offset_of!(cfs_rq__bindgen_ty_1, util_avg) - 16usize]; + ["Offset of field: cfs_rq__bindgen_ty_1::runnable_avg"] + [::core::mem::offset_of!(cfs_rq__bindgen_ty_1, runnable_avg) - 24usize]; +}; +impl cfs_rq__bindgen_ty_1 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cfs_rq"][::core::mem::size_of::() - 512usize]; + ["Alignment of cfs_rq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cfs_rq::load"][::core::mem::offset_of!(cfs_rq, load) - 0usize]; + ["Offset of field: cfs_rq::nr_running"][::core::mem::offset_of!(cfs_rq, nr_running) - 16usize]; + ["Offset of field: cfs_rq::h_nr_queued"] + [::core::mem::offset_of!(cfs_rq, h_nr_queued) - 20usize]; + ["Offset of field: cfs_rq::h_nr_runnable"] + [::core::mem::offset_of!(cfs_rq, h_nr_runnable) - 24usize]; + ["Offset of field: cfs_rq::idle_nr_running"] + [::core::mem::offset_of!(cfs_rq, idle_nr_running) - 28usize]; + ["Offset of field: cfs_rq::idle_h_nr_running"] + [::core::mem::offset_of!(cfs_rq, idle_h_nr_running) - 32usize]; + ["Offset of field: cfs_rq::h_nr_delayed"] + [::core::mem::offset_of!(cfs_rq, h_nr_delayed) - 36usize]; + ["Offset of field: cfs_rq::avg_vruntime"] + [::core::mem::offset_of!(cfs_rq, avg_vruntime) - 40usize]; + ["Offset of field: cfs_rq::avg_load"][::core::mem::offset_of!(cfs_rq, avg_load) - 48usize]; + ["Offset of field: cfs_rq::min_vruntime"] + [::core::mem::offset_of!(cfs_rq, min_vruntime) - 56usize]; + ["Offset of field: cfs_rq::forceidle_seq"] + [::core::mem::offset_of!(cfs_rq, forceidle_seq) - 64usize]; + ["Offset of field: cfs_rq::min_vruntime_fi"] + [::core::mem::offset_of!(cfs_rq, min_vruntime_fi) - 72usize]; + ["Offset of field: cfs_rq::tasks_timeline"] + [::core::mem::offset_of!(cfs_rq, tasks_timeline) - 80usize]; + ["Offset of field: cfs_rq::curr"][::core::mem::offset_of!(cfs_rq, curr) - 96usize]; + ["Offset of field: cfs_rq::next"][::core::mem::offset_of!(cfs_rq, next) - 104usize]; + ["Offset of field: cfs_rq::avg"][::core::mem::offset_of!(cfs_rq, avg) - 128usize]; + ["Offset of field: cfs_rq::removed"][::core::mem::offset_of!(cfs_rq, removed) - 192usize]; + ["Offset of field: cfs_rq::last_update_tg_load_avg"] + [::core::mem::offset_of!(cfs_rq, last_update_tg_load_avg) - 256usize]; + ["Offset of field: cfs_rq::tg_load_avg_contrib"] + [::core::mem::offset_of!(cfs_rq, tg_load_avg_contrib) - 264usize]; + ["Offset of field: cfs_rq::propagate"][::core::mem::offset_of!(cfs_rq, propagate) - 272usize]; + ["Offset of field: cfs_rq::prop_runnable_sum"] + [::core::mem::offset_of!(cfs_rq, prop_runnable_sum) - 280usize]; + ["Offset of field: cfs_rq::h_load"][::core::mem::offset_of!(cfs_rq, h_load) - 288usize]; + ["Offset of field: cfs_rq::last_h_load_update"] + [::core::mem::offset_of!(cfs_rq, last_h_load_update) - 296usize]; + ["Offset of field: cfs_rq::h_load_next"] + [::core::mem::offset_of!(cfs_rq, h_load_next) - 304usize]; + ["Offset of field: cfs_rq::rq"][::core::mem::offset_of!(cfs_rq, rq) - 312usize]; + ["Offset of field: cfs_rq::on_list"][::core::mem::offset_of!(cfs_rq, on_list) - 320usize]; + ["Offset of field: cfs_rq::leaf_cfs_rq_list"] + [::core::mem::offset_of!(cfs_rq, leaf_cfs_rq_list) - 328usize]; + ["Offset of field: cfs_rq::tg"][::core::mem::offset_of!(cfs_rq, tg) - 344usize]; + ["Offset of field: cfs_rq::idle"][::core::mem::offset_of!(cfs_rq, idle) - 352usize]; + ["Offset of field: cfs_rq::runtime_enabled"] + [::core::mem::offset_of!(cfs_rq, runtime_enabled) - 356usize]; + ["Offset of field: cfs_rq::runtime_remaining"] + [::core::mem::offset_of!(cfs_rq, runtime_remaining) - 360usize]; + ["Offset of field: cfs_rq::throttled_pelt_idle"] + [::core::mem::offset_of!(cfs_rq, throttled_pelt_idle) - 368usize]; + ["Offset of field: cfs_rq::throttled_clock"] + [::core::mem::offset_of!(cfs_rq, throttled_clock) - 376usize]; + ["Offset of field: cfs_rq::throttled_clock_pelt"] + [::core::mem::offset_of!(cfs_rq, throttled_clock_pelt) - 384usize]; + ["Offset of field: cfs_rq::throttled_clock_pelt_time"] + [::core::mem::offset_of!(cfs_rq, throttled_clock_pelt_time) - 392usize]; + ["Offset of field: cfs_rq::throttled_clock_self"] + [::core::mem::offset_of!(cfs_rq, throttled_clock_self) - 400usize]; + ["Offset of field: cfs_rq::throttled_clock_self_time"] + [::core::mem::offset_of!(cfs_rq, throttled_clock_self_time) - 408usize]; + ["Offset of field: cfs_rq::throttled"][::core::mem::offset_of!(cfs_rq, throttled) - 416usize]; + ["Offset of field: cfs_rq::throttle_count"] + [::core::mem::offset_of!(cfs_rq, throttle_count) - 420usize]; + ["Offset of field: cfs_rq::throttled_list"] + [::core::mem::offset_of!(cfs_rq, throttled_list) - 424usize]; + ["Offset of field: cfs_rq::throttled_csd_list"] + [::core::mem::offset_of!(cfs_rq, throttled_csd_list) - 440usize]; +}; +impl cfs_rq { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cftype { + pub name: [::core::ffi::c_char; 64usize], + pub private: ::core::ffi::c_ulong, + pub max_write_len: usize, + pub flags: ::core::ffi::c_uint, + pub file_offset: ::core::ffi::c_uint, + pub ss: *mut cgroup_subsys, + pub node: list_head, + pub kf_ops: *mut kernfs_ops, + pub open: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kernfs_open_file) -> ::core::ffi::c_int, + >, + pub release: ::core::option::Option, + pub read_u64: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cgroup_subsys_state, arg2: *mut cftype) -> u64_, + >, + pub read_s64: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cgroup_subsys_state, arg2: *mut cftype) -> s64, + >, + pub seq_show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub seq_start: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut loff_t) -> *mut ::core::ffi::c_void, + >, + pub seq_next: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + arg3: *mut loff_t, + ) -> *mut ::core::ffi::c_void, + >, + pub seq_stop: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut ::core::ffi::c_void), + >, + pub write_u64: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cgroup_subsys_state, + arg2: *mut cftype, + arg3: u64_, + ) -> ::core::ffi::c_int, + >, + pub write_s64: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cgroup_subsys_state, + arg2: *mut cftype, + arg3: s64, + ) -> ::core::ffi::c_int, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernfs_open_file, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + arg4: loff_t, + ) -> isize, + >, + pub poll: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kernfs_open_file, arg2: *mut poll_table_struct) -> __poll_t, + >, + pub lockdep_key: lock_class_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cftype"][::core::mem::size_of::() - 216usize]; + ["Alignment of cftype"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cftype::name"][::core::mem::offset_of!(cftype, name) - 0usize]; + ["Offset of field: cftype::private"][::core::mem::offset_of!(cftype, private) - 64usize]; + ["Offset of field: cftype::max_write_len"] + [::core::mem::offset_of!(cftype, max_write_len) - 72usize]; + ["Offset of field: cftype::flags"][::core::mem::offset_of!(cftype, flags) - 80usize]; + ["Offset of field: cftype::file_offset"] + [::core::mem::offset_of!(cftype, file_offset) - 84usize]; + ["Offset of field: cftype::ss"][::core::mem::offset_of!(cftype, ss) - 88usize]; + ["Offset of field: cftype::node"][::core::mem::offset_of!(cftype, node) - 96usize]; + ["Offset of field: cftype::kf_ops"][::core::mem::offset_of!(cftype, kf_ops) - 112usize]; + ["Offset of field: cftype::open"][::core::mem::offset_of!(cftype, open) - 120usize]; + ["Offset of field: cftype::release"][::core::mem::offset_of!(cftype, release) - 128usize]; + ["Offset of field: cftype::read_u64"][::core::mem::offset_of!(cftype, read_u64) - 136usize]; + ["Offset of field: cftype::read_s64"][::core::mem::offset_of!(cftype, read_s64) - 144usize]; + ["Offset of field: cftype::seq_show"][::core::mem::offset_of!(cftype, seq_show) - 152usize]; + ["Offset of field: cftype::seq_start"][::core::mem::offset_of!(cftype, seq_start) - 160usize]; + ["Offset of field: cftype::seq_next"][::core::mem::offset_of!(cftype, seq_next) - 168usize]; + ["Offset of field: cftype::seq_stop"][::core::mem::offset_of!(cftype, seq_stop) - 176usize]; + ["Offset of field: cftype::write_u64"][::core::mem::offset_of!(cftype, write_u64) - 184usize]; + ["Offset of field: cftype::write_s64"][::core::mem::offset_of!(cftype, write_s64) - 192usize]; + ["Offset of field: cftype::write"][::core::mem::offset_of!(cftype, write) - 200usize]; + ["Offset of field: cftype::poll"][::core::mem::offset_of!(cftype, poll) - 208usize]; + ["Offset of field: cftype::lockdep_key"] + [::core::mem::offset_of!(cftype, lockdep_key) - 216usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_file { + pub kn: *mut kernfs_node, + pub notified_at: ::core::ffi::c_ulong, + pub notify_timer: timer_list, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_file"][::core::mem::size_of::() - 56usize]; + ["Alignment of cgroup_file"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_file::kn"][::core::mem::offset_of!(cgroup_file, kn) - 0usize]; + ["Offset of field: cgroup_file::notified_at"] + [::core::mem::offset_of!(cgroup_file, notified_at) - 8usize]; + ["Offset of field: cgroup_file::notify_timer"] + [::core::mem::offset_of!(cgroup_file, notify_timer) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct task_cputime { + pub stime: u64_, + pub utime: u64_, + pub sum_exec_runtime: ::core::ffi::c_ulonglong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of task_cputime"][::core::mem::size_of::() - 24usize]; + ["Alignment of task_cputime"][::core::mem::align_of::() - 8usize]; + ["Offset of field: task_cputime::stime"][::core::mem::offset_of!(task_cputime, stime) - 0usize]; + ["Offset of field: task_cputime::utime"][::core::mem::offset_of!(task_cputime, utime) - 8usize]; + ["Offset of field: task_cputime::sum_exec_runtime"] + [::core::mem::offset_of!(task_cputime, sum_exec_runtime) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_base_stat { + pub cputime: task_cputime, + pub forceidle_sum: u64_, + pub ntime: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_base_stat"][::core::mem::size_of::() - 40usize]; + ["Alignment of cgroup_base_stat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_base_stat::cputime"] + [::core::mem::offset_of!(cgroup_base_stat, cputime) - 0usize]; + ["Offset of field: cgroup_base_stat::forceidle_sum"] + [::core::mem::offset_of!(cgroup_base_stat, forceidle_sum) - 24usize]; + ["Offset of field: cgroup_base_stat::ntime"] + [::core::mem::offset_of!(cgroup_base_stat, ntime) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct prev_cputime { + pub utime: u64_, + pub stime: u64_, + pub lock: raw_spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of prev_cputime"][::core::mem::size_of::() - 24usize]; + ["Alignment of prev_cputime"][::core::mem::align_of::() - 8usize]; + ["Offset of field: prev_cputime::utime"][::core::mem::offset_of!(prev_cputime, utime) - 0usize]; + ["Offset of field: prev_cputime::stime"][::core::mem::offset_of!(prev_cputime, stime) - 8usize]; + ["Offset of field: prev_cputime::lock"][::core::mem::offset_of!(prev_cputime, lock) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_bpf { + pub effective: [*mut bpf_prog_array; 38usize], + pub progs: [hlist_head; 38usize], + pub flags: [u8_; 38usize], + pub storages: list_head, + pub inactive: *mut bpf_prog_array, + pub refcnt: percpu_ref, + pub release_work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_bpf"][::core::mem::size_of::() - 720usize]; + ["Alignment of cgroup_bpf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_bpf::effective"] + [::core::mem::offset_of!(cgroup_bpf, effective) - 0usize]; + ["Offset of field: cgroup_bpf::progs"][::core::mem::offset_of!(cgroup_bpf, progs) - 304usize]; + ["Offset of field: cgroup_bpf::flags"][::core::mem::offset_of!(cgroup_bpf, flags) - 608usize]; + ["Offset of field: cgroup_bpf::storages"] + [::core::mem::offset_of!(cgroup_bpf, storages) - 648usize]; + ["Offset of field: cgroup_bpf::inactive"] + [::core::mem::offset_of!(cgroup_bpf, inactive) - 664usize]; + ["Offset of field: cgroup_bpf::refcnt"][::core::mem::offset_of!(cgroup_bpf, refcnt) - 672usize]; + ["Offset of field: cgroup_bpf::release_work"] + [::core::mem::offset_of!(cgroup_bpf, release_work) - 688usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_freezer_state { + pub freeze: bool_, + pub e_freeze: ::core::ffi::c_int, + pub nr_frozen_descendants: ::core::ffi::c_int, + pub nr_frozen_tasks: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_freezer_state"][::core::mem::size_of::() - 16usize]; + ["Alignment of cgroup_freezer_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: cgroup_freezer_state::freeze"] + [::core::mem::offset_of!(cgroup_freezer_state, freeze) - 0usize]; + ["Offset of field: cgroup_freezer_state::e_freeze"] + [::core::mem::offset_of!(cgroup_freezer_state, e_freeze) - 4usize]; + ["Offset of field: cgroup_freezer_state::nr_frozen_descendants"] + [::core::mem::offset_of!(cgroup_freezer_state, nr_frozen_descendants) - 8usize]; + ["Offset of field: cgroup_freezer_state::nr_frozen_tasks"] + [::core::mem::offset_of!(cgroup_freezer_state, nr_frozen_tasks) - 12usize]; +}; +#[repr(C)] +pub struct cgroup { + pub self_: cgroup_subsys_state, + pub flags: ::core::ffi::c_ulong, + pub level: ::core::ffi::c_int, + pub max_depth: ::core::ffi::c_int, + pub nr_descendants: ::core::ffi::c_int, + pub nr_dying_descendants: ::core::ffi::c_int, + pub max_descendants: ::core::ffi::c_int, + pub nr_populated_csets: ::core::ffi::c_int, + pub nr_populated_domain_children: ::core::ffi::c_int, + pub nr_populated_threaded_children: ::core::ffi::c_int, + pub nr_threaded_children: ::core::ffi::c_int, + pub kill_seq: ::core::ffi::c_uint, + pub kn: *mut kernfs_node, + pub procs_file: cgroup_file, + pub events_file: cgroup_file, + pub psi_files: [cgroup_file; 4usize], + pub subtree_control: u16_, + pub subtree_ss_mask: u16_, + pub old_subtree_control: u16_, + pub old_subtree_ss_mask: u16_, + pub subsys: [*mut cgroup_subsys_state; 14usize], + pub nr_dying_subsys: [::core::ffi::c_int; 14usize], + pub root: *mut cgroup_root, + pub cset_links: list_head, + pub e_csets: [list_head; 14usize], + pub dom_cgrp: *mut cgroup, + pub old_dom_cgrp: *mut cgroup, + pub rstat_cpu: *mut cgroup_rstat_cpu, + pub rstat_css_list: list_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub _pad_: cacheline_padding, + pub rstat_flush_next: *mut cgroup, + pub last_bstat: cgroup_base_stat, + pub bstat: cgroup_base_stat, + pub prev_cputime: prev_cputime, + pub pidlists: list_head, + pub pidlist_mutex: mutex, + pub offline_waitq: wait_queue_head_t, + pub release_agent_work: work_struct, + pub psi: *mut psi_group, + pub bpf: cgroup_bpf, + pub freezer: cgroup_freezer_state, + pub bpf_cgrp_storage: *mut bpf_local_storage, + pub ancestors: __IncompleteArrayField<*mut cgroup>, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup"][::core::mem::size_of::() - 2112usize]; + ["Alignment of cgroup"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup::self_"][::core::mem::offset_of!(cgroup, self_) - 0usize]; + ["Offset of field: cgroup::flags"][::core::mem::offset_of!(cgroup, flags) - 208usize]; + ["Offset of field: cgroup::level"][::core::mem::offset_of!(cgroup, level) - 216usize]; + ["Offset of field: cgroup::max_depth"][::core::mem::offset_of!(cgroup, max_depth) - 220usize]; + ["Offset of field: cgroup::nr_descendants"] + [::core::mem::offset_of!(cgroup, nr_descendants) - 224usize]; + ["Offset of field: cgroup::nr_dying_descendants"] + [::core::mem::offset_of!(cgroup, nr_dying_descendants) - 228usize]; + ["Offset of field: cgroup::max_descendants"] + [::core::mem::offset_of!(cgroup, max_descendants) - 232usize]; + ["Offset of field: cgroup::nr_populated_csets"] + [::core::mem::offset_of!(cgroup, nr_populated_csets) - 236usize]; + ["Offset of field: cgroup::nr_populated_domain_children"] + [::core::mem::offset_of!(cgroup, nr_populated_domain_children) - 240usize]; + ["Offset of field: cgroup::nr_populated_threaded_children"] + [::core::mem::offset_of!(cgroup, nr_populated_threaded_children) - 244usize]; + ["Offset of field: cgroup::nr_threaded_children"] + [::core::mem::offset_of!(cgroup, nr_threaded_children) - 248usize]; + ["Offset of field: cgroup::kill_seq"][::core::mem::offset_of!(cgroup, kill_seq) - 252usize]; + ["Offset of field: cgroup::kn"][::core::mem::offset_of!(cgroup, kn) - 256usize]; + ["Offset of field: cgroup::procs_file"][::core::mem::offset_of!(cgroup, procs_file) - 264usize]; + ["Offset of field: cgroup::events_file"] + [::core::mem::offset_of!(cgroup, events_file) - 320usize]; + ["Offset of field: cgroup::psi_files"][::core::mem::offset_of!(cgroup, psi_files) - 376usize]; + ["Offset of field: cgroup::subtree_control"] + [::core::mem::offset_of!(cgroup, subtree_control) - 600usize]; + ["Offset of field: cgroup::subtree_ss_mask"] + [::core::mem::offset_of!(cgroup, subtree_ss_mask) - 602usize]; + ["Offset of field: cgroup::old_subtree_control"] + [::core::mem::offset_of!(cgroup, old_subtree_control) - 604usize]; + ["Offset of field: cgroup::old_subtree_ss_mask"] + [::core::mem::offset_of!(cgroup, old_subtree_ss_mask) - 606usize]; + ["Offset of field: cgroup::subsys"][::core::mem::offset_of!(cgroup, subsys) - 608usize]; + ["Offset of field: cgroup::nr_dying_subsys"] + [::core::mem::offset_of!(cgroup, nr_dying_subsys) - 720usize]; + ["Offset of field: cgroup::root"][::core::mem::offset_of!(cgroup, root) - 776usize]; + ["Offset of field: cgroup::cset_links"][::core::mem::offset_of!(cgroup, cset_links) - 784usize]; + ["Offset of field: cgroup::e_csets"][::core::mem::offset_of!(cgroup, e_csets) - 800usize]; + ["Offset of field: cgroup::dom_cgrp"][::core::mem::offset_of!(cgroup, dom_cgrp) - 1024usize]; + ["Offset of field: cgroup::old_dom_cgrp"] + [::core::mem::offset_of!(cgroup, old_dom_cgrp) - 1032usize]; + ["Offset of field: cgroup::rstat_cpu"][::core::mem::offset_of!(cgroup, rstat_cpu) - 1040usize]; + ["Offset of field: cgroup::rstat_css_list"] + [::core::mem::offset_of!(cgroup, rstat_css_list) - 1048usize]; + ["Offset of field: cgroup::_pad_"][::core::mem::offset_of!(cgroup, _pad_) - 1088usize]; + ["Offset of field: cgroup::rstat_flush_next"] + [::core::mem::offset_of!(cgroup, rstat_flush_next) - 1088usize]; + ["Offset of field: cgroup::last_bstat"] + [::core::mem::offset_of!(cgroup, last_bstat) - 1096usize]; + ["Offset of field: cgroup::bstat"][::core::mem::offset_of!(cgroup, bstat) - 1136usize]; + ["Offset of field: cgroup::prev_cputime"] + [::core::mem::offset_of!(cgroup, prev_cputime) - 1176usize]; + ["Offset of field: cgroup::pidlists"][::core::mem::offset_of!(cgroup, pidlists) - 1200usize]; + ["Offset of field: cgroup::pidlist_mutex"] + [::core::mem::offset_of!(cgroup, pidlist_mutex) - 1216usize]; + ["Offset of field: cgroup::offline_waitq"] + [::core::mem::offset_of!(cgroup, offline_waitq) - 1248usize]; + ["Offset of field: cgroup::release_agent_work"] + [::core::mem::offset_of!(cgroup, release_agent_work) - 1272usize]; + ["Offset of field: cgroup::psi"][::core::mem::offset_of!(cgroup, psi) - 1304usize]; + ["Offset of field: cgroup::bpf"][::core::mem::offset_of!(cgroup, bpf) - 1312usize]; + ["Offset of field: cgroup::freezer"][::core::mem::offset_of!(cgroup, freezer) - 2032usize]; + ["Offset of field: cgroup::bpf_cgrp_storage"] + [::core::mem::offset_of!(cgroup, bpf_cgrp_storage) - 2048usize]; + ["Offset of field: cgroup::ancestors"][::core::mem::offset_of!(cgroup, ancestors) - 2056usize]; +}; +impl cgroup { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_taskset { + pub src_csets: list_head, + pub dst_csets: list_head, + pub nr_tasks: ::core::ffi::c_int, + pub ssid: ::core::ffi::c_int, + pub csets: *mut list_head, + pub cur_cset: *mut css_set, + pub cur_task: *mut task_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_taskset"][::core::mem::size_of::() - 64usize]; + ["Alignment of cgroup_taskset"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_taskset::src_csets"] + [::core::mem::offset_of!(cgroup_taskset, src_csets) - 0usize]; + ["Offset of field: cgroup_taskset::dst_csets"] + [::core::mem::offset_of!(cgroup_taskset, dst_csets) - 16usize]; + ["Offset of field: cgroup_taskset::nr_tasks"] + [::core::mem::offset_of!(cgroup_taskset, nr_tasks) - 32usize]; + ["Offset of field: cgroup_taskset::ssid"] + [::core::mem::offset_of!(cgroup_taskset, ssid) - 36usize]; + ["Offset of field: cgroup_taskset::csets"] + [::core::mem::offset_of!(cgroup_taskset, csets) - 40usize]; + ["Offset of field: cgroup_taskset::cur_cset"] + [::core::mem::offset_of!(cgroup_taskset, cur_cset) - 48usize]; + ["Offset of field: cgroup_taskset::cur_task"] + [::core::mem::offset_of!(cgroup_taskset, cur_task) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ns_common { + pub stashed: *mut dentry, + pub ops: *const proc_ns_operations, + pub inum: ::core::ffi::c_uint, + pub count: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ns_common"][::core::mem::size_of::() - 24usize]; + ["Alignment of ns_common"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ns_common::stashed"][::core::mem::offset_of!(ns_common, stashed) - 0usize]; + ["Offset of field: ns_common::ops"][::core::mem::offset_of!(ns_common, ops) - 8usize]; + ["Offset of field: ns_common::inum"][::core::mem::offset_of!(ns_common, inum) - 16usize]; + ["Offset of field: ns_common::count"][::core::mem::offset_of!(ns_common, count) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_namespace { + pub ns: ns_common, + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub root_cset: *mut css_set, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_namespace"][::core::mem::size_of::() - 48usize]; + ["Alignment of cgroup_namespace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_namespace::ns"] + [::core::mem::offset_of!(cgroup_namespace, ns) - 0usize]; + ["Offset of field: cgroup_namespace::user_ns"] + [::core::mem::offset_of!(cgroup_namespace, user_ns) - 24usize]; + ["Offset of field: cgroup_namespace::ucounts"] + [::core::mem::offset_of!(cgroup_namespace, ucounts) - 32usize]; + ["Offset of field: cgroup_namespace::root_cset"] + [::core::mem::offset_of!(cgroup_namespace, root_cset) - 40usize]; +}; +#[repr(C)] +pub struct cgroup_root { + pub kf_root: *mut kernfs_root, + pub subsys_mask: ::core::ffi::c_uint, + pub hierarchy_id: ::core::ffi::c_int, + pub root_list: list_head, + pub rcu: callback_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub cgrp: cgroup, + pub cgrp_ancestor_storage: *mut cgroup, + pub nr_cgrps: atomic_t, + pub flags: ::core::ffi::c_uint, + pub release_agent_path: [::core::ffi::c_char; 4096usize], + pub name: [::core::ffi::c_char; 64usize], + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_root"][::core::mem::size_of::() - 6400usize]; + ["Alignment of cgroup_root"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_root::kf_root"] + [::core::mem::offset_of!(cgroup_root, kf_root) - 0usize]; + ["Offset of field: cgroup_root::subsys_mask"] + [::core::mem::offset_of!(cgroup_root, subsys_mask) - 8usize]; + ["Offset of field: cgroup_root::hierarchy_id"] + [::core::mem::offset_of!(cgroup_root, hierarchy_id) - 12usize]; + ["Offset of field: cgroup_root::root_list"] + [::core::mem::offset_of!(cgroup_root, root_list) - 16usize]; + ["Offset of field: cgroup_root::rcu"][::core::mem::offset_of!(cgroup_root, rcu) - 32usize]; + ["Offset of field: cgroup_root::cgrp"][::core::mem::offset_of!(cgroup_root, cgrp) - 64usize]; + ["Offset of field: cgroup_root::cgrp_ancestor_storage"] + [::core::mem::offset_of!(cgroup_root, cgrp_ancestor_storage) - 2176usize]; + ["Offset of field: cgroup_root::nr_cgrps"] + [::core::mem::offset_of!(cgroup_root, nr_cgrps) - 2184usize]; + ["Offset of field: cgroup_root::flags"] + [::core::mem::offset_of!(cgroup_root, flags) - 2188usize]; + ["Offset of field: cgroup_root::release_agent_path"] + [::core::mem::offset_of!(cgroup_root, release_agent_path) - 2192usize]; + ["Offset of field: cgroup_root::name"][::core::mem::offset_of!(cgroup_root, name) - 6288usize]; +}; +impl cgroup_root { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cgroup_rstat_cpu { + pub bsync: u64_stats_sync, + pub bstat: cgroup_base_stat, + pub last_bstat: cgroup_base_stat, + pub subtree_bstat: cgroup_base_stat, + pub last_subtree_bstat: cgroup_base_stat, + pub updated_children: *mut cgroup, + pub updated_next: *mut cgroup, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_rstat_cpu"][::core::mem::size_of::() - 176usize]; + ["Alignment of cgroup_rstat_cpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_rstat_cpu::bsync"] + [::core::mem::offset_of!(cgroup_rstat_cpu, bsync) - 0usize]; + ["Offset of field: cgroup_rstat_cpu::bstat"] + [::core::mem::offset_of!(cgroup_rstat_cpu, bstat) - 0usize]; + ["Offset of field: cgroup_rstat_cpu::last_bstat"] + [::core::mem::offset_of!(cgroup_rstat_cpu, last_bstat) - 40usize]; + ["Offset of field: cgroup_rstat_cpu::subtree_bstat"] + [::core::mem::offset_of!(cgroup_rstat_cpu, subtree_bstat) - 80usize]; + ["Offset of field: cgroup_rstat_cpu::last_subtree_bstat"] + [::core::mem::offset_of!(cgroup_rstat_cpu, last_subtree_bstat) - 120usize]; + ["Offset of field: cgroup_rstat_cpu::updated_children"] + [::core::mem::offset_of!(cgroup_rstat_cpu, updated_children) - 160usize]; + ["Offset of field: cgroup_rstat_cpu::updated_next"] + [::core::mem::offset_of!(cgroup_rstat_cpu, updated_next) - 168usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct idr { + pub idr_rt: xarray, + pub idr_base: ::core::ffi::c_uint, + pub idr_next: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of idr"][::core::mem::size_of::() - 24usize]; + ["Alignment of idr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: idr::idr_rt"][::core::mem::offset_of!(idr, idr_rt) - 0usize]; + ["Offset of field: idr::idr_base"][::core::mem::offset_of!(idr, idr_base) - 16usize]; + ["Offset of field: idr::idr_next"][::core::mem::offset_of!(idr, idr_next) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cgroup_subsys { + pub css_alloc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cgroup_subsys_state) -> *mut cgroup_subsys_state, + >, + pub css_online: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cgroup_subsys_state) -> ::core::ffi::c_int, + >, + pub css_offline: ::core::option::Option, + pub css_released: ::core::option::Option, + pub css_free: ::core::option::Option, + pub css_reset: ::core::option::Option, + pub css_killed: ::core::option::Option, + pub css_rstat_flush: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cgroup_subsys_state, arg2: ::core::ffi::c_int), + >, + pub css_extra_stat_show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut cgroup_subsys_state, + ) -> ::core::ffi::c_int, + >, + pub css_local_stat_show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut cgroup_subsys_state, + ) -> ::core::ffi::c_int, + >, + pub can_attach: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut cgroup_taskset) -> ::core::ffi::c_int, + >, + pub cancel_attach: ::core::option::Option, + pub attach: ::core::option::Option, + pub post_attach: ::core::option::Option, + pub can_fork: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut task_struct, arg2: *mut css_set) -> ::core::ffi::c_int, + >, + pub cancel_fork: + ::core::option::Option, + pub fork: ::core::option::Option, + pub exit: ::core::option::Option, + pub release: ::core::option::Option, + pub bind: ::core::option::Option, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub id: ::core::ffi::c_int, + pub name: *const ::core::ffi::c_char, + pub legacy_name: *const ::core::ffi::c_char, + pub root: *mut cgroup_root, + pub css_idr: idr, + pub cfts: list_head, + pub dfl_cftypes: *mut cftype, + pub legacy_cftypes: *mut cftype, + pub depends_on: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cgroup_subsys"][::core::mem::size_of::() - 256usize]; + ["Alignment of cgroup_subsys"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cgroup_subsys::css_alloc"] + [::core::mem::offset_of!(cgroup_subsys, css_alloc) - 0usize]; + ["Offset of field: cgroup_subsys::css_online"] + [::core::mem::offset_of!(cgroup_subsys, css_online) - 8usize]; + ["Offset of field: cgroup_subsys::css_offline"] + [::core::mem::offset_of!(cgroup_subsys, css_offline) - 16usize]; + ["Offset of field: cgroup_subsys::css_released"] + [::core::mem::offset_of!(cgroup_subsys, css_released) - 24usize]; + ["Offset of field: cgroup_subsys::css_free"] + [::core::mem::offset_of!(cgroup_subsys, css_free) - 32usize]; + ["Offset of field: cgroup_subsys::css_reset"] + [::core::mem::offset_of!(cgroup_subsys, css_reset) - 40usize]; + ["Offset of field: cgroup_subsys::css_killed"] + [::core::mem::offset_of!(cgroup_subsys, css_killed) - 48usize]; + ["Offset of field: cgroup_subsys::css_rstat_flush"] + [::core::mem::offset_of!(cgroup_subsys, css_rstat_flush) - 56usize]; + ["Offset of field: cgroup_subsys::css_extra_stat_show"] + [::core::mem::offset_of!(cgroup_subsys, css_extra_stat_show) - 64usize]; + ["Offset of field: cgroup_subsys::css_local_stat_show"] + [::core::mem::offset_of!(cgroup_subsys, css_local_stat_show) - 72usize]; + ["Offset of field: cgroup_subsys::can_attach"] + [::core::mem::offset_of!(cgroup_subsys, can_attach) - 80usize]; + ["Offset of field: cgroup_subsys::cancel_attach"] + [::core::mem::offset_of!(cgroup_subsys, cancel_attach) - 88usize]; + ["Offset of field: cgroup_subsys::attach"] + [::core::mem::offset_of!(cgroup_subsys, attach) - 96usize]; + ["Offset of field: cgroup_subsys::post_attach"] + [::core::mem::offset_of!(cgroup_subsys, post_attach) - 104usize]; + ["Offset of field: cgroup_subsys::can_fork"] + [::core::mem::offset_of!(cgroup_subsys, can_fork) - 112usize]; + ["Offset of field: cgroup_subsys::cancel_fork"] + [::core::mem::offset_of!(cgroup_subsys, cancel_fork) - 120usize]; + ["Offset of field: cgroup_subsys::fork"] + [::core::mem::offset_of!(cgroup_subsys, fork) - 128usize]; + ["Offset of field: cgroup_subsys::exit"] + [::core::mem::offset_of!(cgroup_subsys, exit) - 136usize]; + ["Offset of field: cgroup_subsys::release"] + [::core::mem::offset_of!(cgroup_subsys, release) - 144usize]; + ["Offset of field: cgroup_subsys::bind"] + [::core::mem::offset_of!(cgroup_subsys, bind) - 152usize]; + ["Offset of field: cgroup_subsys::id"][::core::mem::offset_of!(cgroup_subsys, id) - 164usize]; + ["Offset of field: cgroup_subsys::name"] + [::core::mem::offset_of!(cgroup_subsys, name) - 168usize]; + ["Offset of field: cgroup_subsys::legacy_name"] + [::core::mem::offset_of!(cgroup_subsys, legacy_name) - 176usize]; + ["Offset of field: cgroup_subsys::root"] + [::core::mem::offset_of!(cgroup_subsys, root) - 184usize]; + ["Offset of field: cgroup_subsys::css_idr"] + [::core::mem::offset_of!(cgroup_subsys, css_idr) - 192usize]; + ["Offset of field: cgroup_subsys::cfts"] + [::core::mem::offset_of!(cgroup_subsys, cfts) - 216usize]; + ["Offset of field: cgroup_subsys::dfl_cftypes"] + [::core::mem::offset_of!(cgroup_subsys, dfl_cftypes) - 232usize]; + ["Offset of field: cgroup_subsys::legacy_cftypes"] + [::core::mem::offset_of!(cgroup_subsys, legacy_cftypes) - 240usize]; + ["Offset of field: cgroup_subsys::depends_on"] + [::core::mem::offset_of!(cgroup_subsys, depends_on) - 248usize]; +}; +impl cgroup_subsys { + #[inline] + pub fn early_init(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_early_init(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn early_init_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_early_init_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn implicit_on_dfl(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_implicit_on_dfl(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn implicit_on_dfl_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_implicit_on_dfl_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn threaded(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_threaded(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn threaded_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_threaded_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + early_init: bool_, + implicit_on_dfl: bool_, + threaded: bool_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let early_init: u8 = unsafe { ::core::mem::transmute(early_init) }; + early_init as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let implicit_on_dfl: u8 = unsafe { ::core::mem::transmute(implicit_on_dfl) }; + implicit_on_dfl as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let threaded: u8 = unsafe { ::core::mem::transmute(threaded) }; + threaded as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_channels { + pub cmd: __u32, + pub max_rx: __u32, + pub max_tx: __u32, + pub max_other: __u32, + pub max_combined: __u32, + pub rx_count: __u32, + pub tx_count: __u32, + pub other_count: __u32, + pub combined_count: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_channels"][::core::mem::size_of::() - 36usize]; + ["Alignment of ethtool_channels"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_channels::cmd"] + [::core::mem::offset_of!(ethtool_channels, cmd) - 0usize]; + ["Offset of field: ethtool_channels::max_rx"] + [::core::mem::offset_of!(ethtool_channels, max_rx) - 4usize]; + ["Offset of field: ethtool_channels::max_tx"] + [::core::mem::offset_of!(ethtool_channels, max_tx) - 8usize]; + ["Offset of field: ethtool_channels::max_other"] + [::core::mem::offset_of!(ethtool_channels, max_other) - 12usize]; + ["Offset of field: ethtool_channels::max_combined"] + [::core::mem::offset_of!(ethtool_channels, max_combined) - 16usize]; + ["Offset of field: ethtool_channels::rx_count"] + [::core::mem::offset_of!(ethtool_channels, rx_count) - 20usize]; + ["Offset of field: ethtool_channels::tx_count"] + [::core::mem::offset_of!(ethtool_channels, tx_count) - 24usize]; + ["Offset of field: ethtool_channels::other_count"] + [::core::mem::offset_of!(ethtool_channels, other_count) - 28usize]; + ["Offset of field: ethtool_channels::combined_count"] + [::core::mem::offset_of!(ethtool_channels, combined_count) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qdisc_walker { + pub stop: ::core::ffi::c_int, + pub skip: ::core::ffi::c_int, + pub count: ::core::ffi::c_int, + pub fn_: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut Qdisc, + arg2: ::core::ffi::c_ulong, + arg3: *mut qdisc_walker, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qdisc_walker"][::core::mem::size_of::() - 24usize]; + ["Alignment of qdisc_walker"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qdisc_walker::stop"][::core::mem::offset_of!(qdisc_walker, stop) - 0usize]; + ["Offset of field: qdisc_walker::skip"][::core::mem::offset_of!(qdisc_walker, skip) - 4usize]; + ["Offset of field: qdisc_walker::count"][::core::mem::offset_of!(qdisc_walker, count) - 8usize]; + ["Offset of field: qdisc_walker::fn_"][::core::mem::offset_of!(qdisc_walker, fn_) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cipher_context { + pub iv: [::core::ffi::c_char; 20usize], + pub rec_seq: [::core::ffi::c_char; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cipher_context"][::core::mem::size_of::() - 28usize]; + ["Alignment of cipher_context"][::core::mem::align_of::() - 1usize]; + ["Offset of field: cipher_context::iv"][::core::mem::offset_of!(cipher_context, iv) - 0usize]; + ["Offset of field: cipher_context::rec_seq"] + [::core::mem::offset_of!(cipher_context, rec_seq) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct srcu_usage { + pub node: *mut srcu_node, + pub level: [*mut srcu_node; 4usize], + pub srcu_size_state: ::core::ffi::c_int, + pub srcu_cb_mutex: mutex, + pub lock: spinlock_t, + pub srcu_gp_mutex: mutex, + pub srcu_gp_seq: ::core::ffi::c_ulong, + pub srcu_gp_seq_needed: ::core::ffi::c_ulong, + pub srcu_gp_seq_needed_exp: ::core::ffi::c_ulong, + pub srcu_gp_start: ::core::ffi::c_ulong, + pub srcu_last_gp_end: ::core::ffi::c_ulong, + pub srcu_size_jiffies: ::core::ffi::c_ulong, + pub srcu_n_lock_retries: ::core::ffi::c_ulong, + pub srcu_n_exp_nodelay: ::core::ffi::c_ulong, + pub sda_is_static: bool_, + pub srcu_barrier_seq: ::core::ffi::c_ulong, + pub srcu_barrier_mutex: mutex, + pub srcu_barrier_completion: completion, + pub srcu_barrier_cpu_cnt: atomic_t, + pub reschedule_jiffies: ::core::ffi::c_ulong, + pub reschedule_count: ::core::ffi::c_ulong, + pub work: delayed_work, + pub srcu_ssp: *mut srcu_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of srcu_usage"][::core::mem::size_of::() - 384usize]; + ["Alignment of srcu_usage"][::core::mem::align_of::() - 8usize]; + ["Offset of field: srcu_usage::node"][::core::mem::offset_of!(srcu_usage, node) - 0usize]; + ["Offset of field: srcu_usage::level"][::core::mem::offset_of!(srcu_usage, level) - 8usize]; + ["Offset of field: srcu_usage::srcu_size_state"] + [::core::mem::offset_of!(srcu_usage, srcu_size_state) - 40usize]; + ["Offset of field: srcu_usage::srcu_cb_mutex"] + [::core::mem::offset_of!(srcu_usage, srcu_cb_mutex) - 48usize]; + ["Offset of field: srcu_usage::lock"][::core::mem::offset_of!(srcu_usage, lock) - 80usize]; + ["Offset of field: srcu_usage::srcu_gp_mutex"] + [::core::mem::offset_of!(srcu_usage, srcu_gp_mutex) - 88usize]; + ["Offset of field: srcu_usage::srcu_gp_seq"] + [::core::mem::offset_of!(srcu_usage, srcu_gp_seq) - 120usize]; + ["Offset of field: srcu_usage::srcu_gp_seq_needed"] + [::core::mem::offset_of!(srcu_usage, srcu_gp_seq_needed) - 128usize]; + ["Offset of field: srcu_usage::srcu_gp_seq_needed_exp"] + [::core::mem::offset_of!(srcu_usage, srcu_gp_seq_needed_exp) - 136usize]; + ["Offset of field: srcu_usage::srcu_gp_start"] + [::core::mem::offset_of!(srcu_usage, srcu_gp_start) - 144usize]; + ["Offset of field: srcu_usage::srcu_last_gp_end"] + [::core::mem::offset_of!(srcu_usage, srcu_last_gp_end) - 152usize]; + ["Offset of field: srcu_usage::srcu_size_jiffies"] + [::core::mem::offset_of!(srcu_usage, srcu_size_jiffies) - 160usize]; + ["Offset of field: srcu_usage::srcu_n_lock_retries"] + [::core::mem::offset_of!(srcu_usage, srcu_n_lock_retries) - 168usize]; + ["Offset of field: srcu_usage::srcu_n_exp_nodelay"] + [::core::mem::offset_of!(srcu_usage, srcu_n_exp_nodelay) - 176usize]; + ["Offset of field: srcu_usage::sda_is_static"] + [::core::mem::offset_of!(srcu_usage, sda_is_static) - 184usize]; + ["Offset of field: srcu_usage::srcu_barrier_seq"] + [::core::mem::offset_of!(srcu_usage, srcu_barrier_seq) - 192usize]; + ["Offset of field: srcu_usage::srcu_barrier_mutex"] + [::core::mem::offset_of!(srcu_usage, srcu_barrier_mutex) - 200usize]; + ["Offset of field: srcu_usage::srcu_barrier_completion"] + [::core::mem::offset_of!(srcu_usage, srcu_barrier_completion) - 232usize]; + ["Offset of field: srcu_usage::srcu_barrier_cpu_cnt"] + [::core::mem::offset_of!(srcu_usage, srcu_barrier_cpu_cnt) - 264usize]; + ["Offset of field: srcu_usage::reschedule_jiffies"] + [::core::mem::offset_of!(srcu_usage, reschedule_jiffies) - 272usize]; + ["Offset of field: srcu_usage::reschedule_count"] + [::core::mem::offset_of!(srcu_usage, reschedule_count) - 280usize]; + ["Offset of field: srcu_usage::work"][::core::mem::offset_of!(srcu_usage, work) - 288usize]; + ["Offset of field: srcu_usage::srcu_ssp"] + [::core::mem::offset_of!(srcu_usage, srcu_ssp) - 376usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct srcu_struct { + pub srcu_idx: ::core::ffi::c_uint, + pub sda: *mut srcu_data, + pub dep_map: lockdep_map, + pub srcu_sup: *mut srcu_usage, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of srcu_struct"][::core::mem::size_of::() - 24usize]; + ["Alignment of srcu_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: srcu_struct::srcu_idx"] + [::core::mem::offset_of!(srcu_struct, srcu_idx) - 0usize]; + ["Offset of field: srcu_struct::sda"][::core::mem::offset_of!(srcu_struct, sda) - 8usize]; + ["Offset of field: srcu_struct::dep_map"] + [::core::mem::offset_of!(srcu_struct, dep_map) - 16usize]; + ["Offset of field: srcu_struct::srcu_sup"] + [::core::mem::offset_of!(srcu_struct, srcu_sup) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct debugfs_u32_array { + pub array: *mut u32_, + pub n_elements: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of debugfs_u32_array"][::core::mem::size_of::() - 16usize]; + ["Alignment of debugfs_u32_array"][::core::mem::align_of::() - 8usize]; + ["Offset of field: debugfs_u32_array::array"] + [::core::mem::offset_of!(debugfs_u32_array, array) - 0usize]; + ["Offset of field: debugfs_u32_array::n_elements"] + [::core::mem::offset_of!(debugfs_u32_array, n_elements) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cma { + pub base_pfn: ::core::ffi::c_ulong, + pub count: ::core::ffi::c_ulong, + pub bitmap: *mut ::core::ffi::c_ulong, + pub order_per_bit: ::core::ffi::c_uint, + pub lock: spinlock_t, + pub mem_head: hlist_head, + pub mem_head_lock: spinlock_t, + pub dfs_bitmap: debugfs_u32_array, + pub name: [::core::ffi::c_char; 64usize], + pub nr_pages_succeeded: atomic64_t, + pub nr_pages_failed: atomic64_t, + pub nr_pages_released: atomic64_t, + pub cma_kobj: *mut cma_kobject, + pub reserve_pages_on_error: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cma"][::core::mem::size_of::() - 168usize]; + ["Alignment of cma"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cma::base_pfn"][::core::mem::offset_of!(cma, base_pfn) - 0usize]; + ["Offset of field: cma::count"][::core::mem::offset_of!(cma, count) - 8usize]; + ["Offset of field: cma::bitmap"][::core::mem::offset_of!(cma, bitmap) - 16usize]; + ["Offset of field: cma::order_per_bit"][::core::mem::offset_of!(cma, order_per_bit) - 24usize]; + ["Offset of field: cma::lock"][::core::mem::offset_of!(cma, lock) - 28usize]; + ["Offset of field: cma::mem_head"][::core::mem::offset_of!(cma, mem_head) - 32usize]; + ["Offset of field: cma::mem_head_lock"][::core::mem::offset_of!(cma, mem_head_lock) - 40usize]; + ["Offset of field: cma::dfs_bitmap"][::core::mem::offset_of!(cma, dfs_bitmap) - 48usize]; + ["Offset of field: cma::name"][::core::mem::offset_of!(cma, name) - 64usize]; + ["Offset of field: cma::nr_pages_succeeded"] + [::core::mem::offset_of!(cma, nr_pages_succeeded) - 128usize]; + ["Offset of field: cma::nr_pages_failed"] + [::core::mem::offset_of!(cma, nr_pages_failed) - 136usize]; + ["Offset of field: cma::nr_pages_released"] + [::core::mem::offset_of!(cma, nr_pages_released) - 144usize]; + ["Offset of field: cma::cma_kobj"][::core::mem::offset_of!(cma, cma_kobj) - 152usize]; + ["Offset of field: cma::reserve_pages_on_error"] + [::core::mem::offset_of!(cma, reserve_pages_on_error) - 160usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cma_kobject { + pub kobj: kobject, + pub cma: *mut cma, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cma_kobject"][::core::mem::size_of::() - 72usize]; + ["Alignment of cma_kobject"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cma_kobject::kobj"][::core::mem::offset_of!(cma_kobject, kobj) - 0usize]; + ["Offset of field: cma_kobject::cma"][::core::mem::offset_of!(cma_kobject, cma) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_coalesce { + pub cmd: __u32, + pub rx_coalesce_usecs: __u32, + pub rx_max_coalesced_frames: __u32, + pub rx_coalesce_usecs_irq: __u32, + pub rx_max_coalesced_frames_irq: __u32, + pub tx_coalesce_usecs: __u32, + pub tx_max_coalesced_frames: __u32, + pub tx_coalesce_usecs_irq: __u32, + pub tx_max_coalesced_frames_irq: __u32, + pub stats_block_coalesce_usecs: __u32, + pub use_adaptive_rx_coalesce: __u32, + pub use_adaptive_tx_coalesce: __u32, + pub pkt_rate_low: __u32, + pub rx_coalesce_usecs_low: __u32, + pub rx_max_coalesced_frames_low: __u32, + pub tx_coalesce_usecs_low: __u32, + pub tx_max_coalesced_frames_low: __u32, + pub pkt_rate_high: __u32, + pub rx_coalesce_usecs_high: __u32, + pub rx_max_coalesced_frames_high: __u32, + pub tx_coalesce_usecs_high: __u32, + pub tx_max_coalesced_frames_high: __u32, + pub rate_sample_interval: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_coalesce"][::core::mem::size_of::() - 92usize]; + ["Alignment of ethtool_coalesce"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_coalesce::cmd"] + [::core::mem::offset_of!(ethtool_coalesce, cmd) - 0usize]; + ["Offset of field: ethtool_coalesce::rx_coalesce_usecs"] + [::core::mem::offset_of!(ethtool_coalesce, rx_coalesce_usecs) - 4usize]; + ["Offset of field: ethtool_coalesce::rx_max_coalesced_frames"] + [::core::mem::offset_of!(ethtool_coalesce, rx_max_coalesced_frames) - 8usize]; + ["Offset of field: ethtool_coalesce::rx_coalesce_usecs_irq"] + [::core::mem::offset_of!(ethtool_coalesce, rx_coalesce_usecs_irq) - 12usize]; + ["Offset of field: ethtool_coalesce::rx_max_coalesced_frames_irq"] + [::core::mem::offset_of!(ethtool_coalesce, rx_max_coalesced_frames_irq) - 16usize]; + ["Offset of field: ethtool_coalesce::tx_coalesce_usecs"] + [::core::mem::offset_of!(ethtool_coalesce, tx_coalesce_usecs) - 20usize]; + ["Offset of field: ethtool_coalesce::tx_max_coalesced_frames"] + [::core::mem::offset_of!(ethtool_coalesce, tx_max_coalesced_frames) - 24usize]; + ["Offset of field: ethtool_coalesce::tx_coalesce_usecs_irq"] + [::core::mem::offset_of!(ethtool_coalesce, tx_coalesce_usecs_irq) - 28usize]; + ["Offset of field: ethtool_coalesce::tx_max_coalesced_frames_irq"] + [::core::mem::offset_of!(ethtool_coalesce, tx_max_coalesced_frames_irq) - 32usize]; + ["Offset of field: ethtool_coalesce::stats_block_coalesce_usecs"] + [::core::mem::offset_of!(ethtool_coalesce, stats_block_coalesce_usecs) - 36usize]; + ["Offset of field: ethtool_coalesce::use_adaptive_rx_coalesce"] + [::core::mem::offset_of!(ethtool_coalesce, use_adaptive_rx_coalesce) - 40usize]; + ["Offset of field: ethtool_coalesce::use_adaptive_tx_coalesce"] + [::core::mem::offset_of!(ethtool_coalesce, use_adaptive_tx_coalesce) - 44usize]; + ["Offset of field: ethtool_coalesce::pkt_rate_low"] + [::core::mem::offset_of!(ethtool_coalesce, pkt_rate_low) - 48usize]; + ["Offset of field: ethtool_coalesce::rx_coalesce_usecs_low"] + [::core::mem::offset_of!(ethtool_coalesce, rx_coalesce_usecs_low) - 52usize]; + ["Offset of field: ethtool_coalesce::rx_max_coalesced_frames_low"] + [::core::mem::offset_of!(ethtool_coalesce, rx_max_coalesced_frames_low) - 56usize]; + ["Offset of field: ethtool_coalesce::tx_coalesce_usecs_low"] + [::core::mem::offset_of!(ethtool_coalesce, tx_coalesce_usecs_low) - 60usize]; + ["Offset of field: ethtool_coalesce::tx_max_coalesced_frames_low"] + [::core::mem::offset_of!(ethtool_coalesce, tx_max_coalesced_frames_low) - 64usize]; + ["Offset of field: ethtool_coalesce::pkt_rate_high"] + [::core::mem::offset_of!(ethtool_coalesce, pkt_rate_high) - 68usize]; + ["Offset of field: ethtool_coalesce::rx_coalesce_usecs_high"] + [::core::mem::offset_of!(ethtool_coalesce, rx_coalesce_usecs_high) - 72usize]; + ["Offset of field: ethtool_coalesce::rx_max_coalesced_frames_high"] + [::core::mem::offset_of!(ethtool_coalesce, rx_max_coalesced_frames_high) - 76usize]; + ["Offset of field: ethtool_coalesce::tx_coalesce_usecs_high"] + [::core::mem::offset_of!(ethtool_coalesce, tx_coalesce_usecs_high) - 80usize]; + ["Offset of field: ethtool_coalesce::tx_max_coalesced_frames_high"] + [::core::mem::offset_of!(ethtool_coalesce, tx_max_coalesced_frames_high) - 84usize]; + ["Offset of field: ethtool_coalesce::rate_sample_interval"] + [::core::mem::offset_of!(ethtool_coalesce, rate_sample_interval) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_ethtool_coalesce { + pub use_cqe_mode_tx: u8_, + pub use_cqe_mode_rx: u8_, + pub tx_aggr_max_bytes: u32_, + pub tx_aggr_max_frames: u32_, + pub tx_aggr_time_usecs: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_ethtool_coalesce"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of kernel_ethtool_coalesce"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: kernel_ethtool_coalesce::use_cqe_mode_tx"] + [::core::mem::offset_of!(kernel_ethtool_coalesce, use_cqe_mode_tx) - 0usize]; + ["Offset of field: kernel_ethtool_coalesce::use_cqe_mode_rx"] + [::core::mem::offset_of!(kernel_ethtool_coalesce, use_cqe_mode_rx) - 1usize]; + ["Offset of field: kernel_ethtool_coalesce::tx_aggr_max_bytes"] + [::core::mem::offset_of!(kernel_ethtool_coalesce, tx_aggr_max_bytes) - 4usize]; + ["Offset of field: kernel_ethtool_coalesce::tx_aggr_max_frames"] + [::core::mem::offset_of!(kernel_ethtool_coalesce, tx_aggr_max_frames) - 8usize]; + ["Offset of field: kernel_ethtool_coalesce::tx_aggr_time_usecs"] + [::core::mem::offset_of!(kernel_ethtool_coalesce, tx_aggr_time_usecs) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct compact_control { + pub freepages: [list_head; 11usize], + pub migratepages: list_head, + pub nr_freepages: ::core::ffi::c_uint, + pub nr_migratepages: ::core::ffi::c_uint, + pub free_pfn: ::core::ffi::c_ulong, + pub migrate_pfn: ::core::ffi::c_ulong, + pub fast_start_pfn: ::core::ffi::c_ulong, + pub zone: *mut zone, + pub total_migrate_scanned: ::core::ffi::c_ulong, + pub total_free_scanned: ::core::ffi::c_ulong, + pub fast_search_fail: ::core::ffi::c_ushort, + pub search_order: ::core::ffi::c_short, + pub gfp_mask: gfp_t, + pub order: ::core::ffi::c_int, + pub migratetype: ::core::ffi::c_int, + pub alloc_flags: ::core::ffi::c_uint, + pub highest_zoneidx: ::core::ffi::c_int, + pub mode: migrate_mode, + pub ignore_skip_hint: bool_, + pub no_set_skip_hint: bool_, + pub ignore_block_suitable: bool_, + pub direct_compaction: bool_, + pub proactive_compaction: bool_, + pub whole_zone: bool_, + pub contended: bool_, + pub finish_pageblock: bool_, + pub alloc_contig: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of compact_control"][::core::mem::size_of::() - 288usize]; + ["Alignment of compact_control"][::core::mem::align_of::() - 8usize]; + ["Offset of field: compact_control::freepages"] + [::core::mem::offset_of!(compact_control, freepages) - 0usize]; + ["Offset of field: compact_control::migratepages"] + [::core::mem::offset_of!(compact_control, migratepages) - 176usize]; + ["Offset of field: compact_control::nr_freepages"] + [::core::mem::offset_of!(compact_control, nr_freepages) - 192usize]; + ["Offset of field: compact_control::nr_migratepages"] + [::core::mem::offset_of!(compact_control, nr_migratepages) - 196usize]; + ["Offset of field: compact_control::free_pfn"] + [::core::mem::offset_of!(compact_control, free_pfn) - 200usize]; + ["Offset of field: compact_control::migrate_pfn"] + [::core::mem::offset_of!(compact_control, migrate_pfn) - 208usize]; + ["Offset of field: compact_control::fast_start_pfn"] + [::core::mem::offset_of!(compact_control, fast_start_pfn) - 216usize]; + ["Offset of field: compact_control::zone"] + [::core::mem::offset_of!(compact_control, zone) - 224usize]; + ["Offset of field: compact_control::total_migrate_scanned"] + [::core::mem::offset_of!(compact_control, total_migrate_scanned) - 232usize]; + ["Offset of field: compact_control::total_free_scanned"] + [::core::mem::offset_of!(compact_control, total_free_scanned) - 240usize]; + ["Offset of field: compact_control::fast_search_fail"] + [::core::mem::offset_of!(compact_control, fast_search_fail) - 248usize]; + ["Offset of field: compact_control::search_order"] + [::core::mem::offset_of!(compact_control, search_order) - 250usize]; + ["Offset of field: compact_control::gfp_mask"] + [::core::mem::offset_of!(compact_control, gfp_mask) - 252usize]; + ["Offset of field: compact_control::order"] + [::core::mem::offset_of!(compact_control, order) - 256usize]; + ["Offset of field: compact_control::migratetype"] + [::core::mem::offset_of!(compact_control, migratetype) - 260usize]; + ["Offset of field: compact_control::alloc_flags"] + [::core::mem::offset_of!(compact_control, alloc_flags) - 264usize]; + ["Offset of field: compact_control::highest_zoneidx"] + [::core::mem::offset_of!(compact_control, highest_zoneidx) - 268usize]; + ["Offset of field: compact_control::mode"] + [::core::mem::offset_of!(compact_control, mode) - 272usize]; + ["Offset of field: compact_control::ignore_skip_hint"] + [::core::mem::offset_of!(compact_control, ignore_skip_hint) - 276usize]; + ["Offset of field: compact_control::no_set_skip_hint"] + [::core::mem::offset_of!(compact_control, no_set_skip_hint) - 277usize]; + ["Offset of field: compact_control::ignore_block_suitable"] + [::core::mem::offset_of!(compact_control, ignore_block_suitable) - 278usize]; + ["Offset of field: compact_control::direct_compaction"] + [::core::mem::offset_of!(compact_control, direct_compaction) - 279usize]; + ["Offset of field: compact_control::proactive_compaction"] + [::core::mem::offset_of!(compact_control, proactive_compaction) - 280usize]; + ["Offset of field: compact_control::whole_zone"] + [::core::mem::offset_of!(compact_control, whole_zone) - 281usize]; + ["Offset of field: compact_control::contended"] + [::core::mem::offset_of!(compact_control, contended) - 282usize]; + ["Offset of field: compact_control::finish_pageblock"] + [::core::mem::offset_of!(compact_control, finish_pageblock) - 283usize]; + ["Offset of field: compact_control::alloc_contig"] + [::core::mem::offset_of!(compact_control, alloc_contig) - 284usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_tcpip4_spec { + pub ip4src: __be32, + pub ip4dst: __be32, + pub psrc: __be16, + pub pdst: __be16, + pub tos: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_tcpip4_spec"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_tcpip4_spec"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_tcpip4_spec::ip4src"] + [::core::mem::offset_of!(ethtool_tcpip4_spec, ip4src) - 0usize]; + ["Offset of field: ethtool_tcpip4_spec::ip4dst"] + [::core::mem::offset_of!(ethtool_tcpip4_spec, ip4dst) - 4usize]; + ["Offset of field: ethtool_tcpip4_spec::psrc"] + [::core::mem::offset_of!(ethtool_tcpip4_spec, psrc) - 8usize]; + ["Offset of field: ethtool_tcpip4_spec::pdst"] + [::core::mem::offset_of!(ethtool_tcpip4_spec, pdst) - 10usize]; + ["Offset of field: ethtool_tcpip4_spec::tos"] + [::core::mem::offset_of!(ethtool_tcpip4_spec, tos) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_ah_espip4_spec { + pub ip4src: __be32, + pub ip4dst: __be32, + pub spi: __be32, + pub tos: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ah_espip4_spec"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_ah_espip4_spec"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_ah_espip4_spec::ip4src"] + [::core::mem::offset_of!(ethtool_ah_espip4_spec, ip4src) - 0usize]; + ["Offset of field: ethtool_ah_espip4_spec::ip4dst"] + [::core::mem::offset_of!(ethtool_ah_espip4_spec, ip4dst) - 4usize]; + ["Offset of field: ethtool_ah_espip4_spec::spi"] + [::core::mem::offset_of!(ethtool_ah_espip4_spec, spi) - 8usize]; + ["Offset of field: ethtool_ah_espip4_spec::tos"] + [::core::mem::offset_of!(ethtool_ah_espip4_spec, tos) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_usrip4_spec { + pub ip4src: __be32, + pub ip4dst: __be32, + pub l4_4_bytes: __be32, + pub tos: __u8, + pub ip_ver: __u8, + pub proto: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_usrip4_spec"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_usrip4_spec"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_usrip4_spec::ip4src"] + [::core::mem::offset_of!(ethtool_usrip4_spec, ip4src) - 0usize]; + ["Offset of field: ethtool_usrip4_spec::ip4dst"] + [::core::mem::offset_of!(ethtool_usrip4_spec, ip4dst) - 4usize]; + ["Offset of field: ethtool_usrip4_spec::l4_4_bytes"] + [::core::mem::offset_of!(ethtool_usrip4_spec, l4_4_bytes) - 8usize]; + ["Offset of field: ethtool_usrip4_spec::tos"] + [::core::mem::offset_of!(ethtool_usrip4_spec, tos) - 12usize]; + ["Offset of field: ethtool_usrip4_spec::ip_ver"] + [::core::mem::offset_of!(ethtool_usrip4_spec, ip_ver) - 13usize]; + ["Offset of field: ethtool_usrip4_spec::proto"] + [::core::mem::offset_of!(ethtool_usrip4_spec, proto) - 14usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_tcpip6_spec { + pub ip6src: [__be32; 4usize], + pub ip6dst: [__be32; 4usize], + pub psrc: __be16, + pub pdst: __be16, + pub tclass: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_tcpip6_spec"][::core::mem::size_of::() - 40usize]; + ["Alignment of ethtool_tcpip6_spec"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_tcpip6_spec::ip6src"] + [::core::mem::offset_of!(ethtool_tcpip6_spec, ip6src) - 0usize]; + ["Offset of field: ethtool_tcpip6_spec::ip6dst"] + [::core::mem::offset_of!(ethtool_tcpip6_spec, ip6dst) - 16usize]; + ["Offset of field: ethtool_tcpip6_spec::psrc"] + [::core::mem::offset_of!(ethtool_tcpip6_spec, psrc) - 32usize]; + ["Offset of field: ethtool_tcpip6_spec::pdst"] + [::core::mem::offset_of!(ethtool_tcpip6_spec, pdst) - 34usize]; + ["Offset of field: ethtool_tcpip6_spec::tclass"] + [::core::mem::offset_of!(ethtool_tcpip6_spec, tclass) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_ah_espip6_spec { + pub ip6src: [__be32; 4usize], + pub ip6dst: [__be32; 4usize], + pub spi: __be32, + pub tclass: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ah_espip6_spec"][::core::mem::size_of::() - 40usize]; + ["Alignment of ethtool_ah_espip6_spec"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_ah_espip6_spec::ip6src"] + [::core::mem::offset_of!(ethtool_ah_espip6_spec, ip6src) - 0usize]; + ["Offset of field: ethtool_ah_espip6_spec::ip6dst"] + [::core::mem::offset_of!(ethtool_ah_espip6_spec, ip6dst) - 16usize]; + ["Offset of field: ethtool_ah_espip6_spec::spi"] + [::core::mem::offset_of!(ethtool_ah_espip6_spec, spi) - 32usize]; + ["Offset of field: ethtool_ah_espip6_spec::tclass"] + [::core::mem::offset_of!(ethtool_ah_espip6_spec, tclass) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_usrip6_spec { + pub ip6src: [__be32; 4usize], + pub ip6dst: [__be32; 4usize], + pub l4_4_bytes: __be32, + pub tclass: __u8, + pub l4_proto: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_usrip6_spec"][::core::mem::size_of::() - 40usize]; + ["Alignment of ethtool_usrip6_spec"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_usrip6_spec::ip6src"] + [::core::mem::offset_of!(ethtool_usrip6_spec, ip6src) - 0usize]; + ["Offset of field: ethtool_usrip6_spec::ip6dst"] + [::core::mem::offset_of!(ethtool_usrip6_spec, ip6dst) - 16usize]; + ["Offset of field: ethtool_usrip6_spec::l4_4_bytes"] + [::core::mem::offset_of!(ethtool_usrip6_spec, l4_4_bytes) - 32usize]; + ["Offset of field: ethtool_usrip6_spec::tclass"] + [::core::mem::offset_of!(ethtool_usrip6_spec, tclass) - 36usize]; + ["Offset of field: ethtool_usrip6_spec::l4_proto"] + [::core::mem::offset_of!(ethtool_usrip6_spec, l4_proto) - 37usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethhdr { + pub h_dest: [::core::ffi::c_uchar; 6usize], + pub h_source: [::core::ffi::c_uchar; 6usize], + pub h_proto: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethhdr"][::core::mem::size_of::() - 14usize]; + ["Alignment of ethhdr"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ethhdr::h_dest"][::core::mem::offset_of!(ethhdr, h_dest) - 0usize]; + ["Offset of field: ethhdr::h_source"][::core::mem::offset_of!(ethhdr, h_source) - 6usize]; + ["Offset of field: ethhdr::h_proto"][::core::mem::offset_of!(ethhdr, h_proto) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_flow_union { + pub tcp_ip4_spec: ethtool_tcpip4_spec, + pub udp_ip4_spec: ethtool_tcpip4_spec, + pub sctp_ip4_spec: ethtool_tcpip4_spec, + pub ah_ip4_spec: ethtool_ah_espip4_spec, + pub esp_ip4_spec: ethtool_ah_espip4_spec, + pub usr_ip4_spec: ethtool_usrip4_spec, + pub tcp_ip6_spec: ethtool_tcpip6_spec, + pub udp_ip6_spec: ethtool_tcpip6_spec, + pub sctp_ip6_spec: ethtool_tcpip6_spec, + pub ah_ip6_spec: ethtool_ah_espip6_spec, + pub esp_ip6_spec: ethtool_ah_espip6_spec, + pub usr_ip6_spec: ethtool_usrip6_spec, + pub ether_spec: ethhdr, + pub hdata: [__u8; 52usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_flow_union"][::core::mem::size_of::() - 52usize]; + ["Alignment of ethtool_flow_union"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_flow_union::tcp_ip4_spec"] + [::core::mem::offset_of!(ethtool_flow_union, tcp_ip4_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::udp_ip4_spec"] + [::core::mem::offset_of!(ethtool_flow_union, udp_ip4_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::sctp_ip4_spec"] + [::core::mem::offset_of!(ethtool_flow_union, sctp_ip4_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::ah_ip4_spec"] + [::core::mem::offset_of!(ethtool_flow_union, ah_ip4_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::esp_ip4_spec"] + [::core::mem::offset_of!(ethtool_flow_union, esp_ip4_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::usr_ip4_spec"] + [::core::mem::offset_of!(ethtool_flow_union, usr_ip4_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::tcp_ip6_spec"] + [::core::mem::offset_of!(ethtool_flow_union, tcp_ip6_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::udp_ip6_spec"] + [::core::mem::offset_of!(ethtool_flow_union, udp_ip6_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::sctp_ip6_spec"] + [::core::mem::offset_of!(ethtool_flow_union, sctp_ip6_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::ah_ip6_spec"] + [::core::mem::offset_of!(ethtool_flow_union, ah_ip6_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::esp_ip6_spec"] + [::core::mem::offset_of!(ethtool_flow_union, esp_ip6_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::usr_ip6_spec"] + [::core::mem::offset_of!(ethtool_flow_union, usr_ip6_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::ether_spec"] + [::core::mem::offset_of!(ethtool_flow_union, ether_spec) - 0usize]; + ["Offset of field: ethtool_flow_union::hdata"] + [::core::mem::offset_of!(ethtool_flow_union, hdata) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_flow_ext { + pub padding: [__u8; 2usize], + pub h_dest: [::core::ffi::c_uchar; 6usize], + pub vlan_etype: __be16, + pub vlan_tci: __be16, + pub data: [__be32; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_flow_ext"][::core::mem::size_of::() - 20usize]; + ["Alignment of ethtool_flow_ext"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_flow_ext::padding"] + [::core::mem::offset_of!(ethtool_flow_ext, padding) - 0usize]; + ["Offset of field: ethtool_flow_ext::h_dest"] + [::core::mem::offset_of!(ethtool_flow_ext, h_dest) - 2usize]; + ["Offset of field: ethtool_flow_ext::vlan_etype"] + [::core::mem::offset_of!(ethtool_flow_ext, vlan_etype) - 8usize]; + ["Offset of field: ethtool_flow_ext::vlan_tci"] + [::core::mem::offset_of!(ethtool_flow_ext, vlan_tci) - 10usize]; + ["Offset of field: ethtool_flow_ext::data"] + [::core::mem::offset_of!(ethtool_flow_ext, data) - 12usize]; +}; +pub type filldir_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dir_context, + arg2: *const ::core::ffi::c_char, + arg3: ::core::ffi::c_int, + arg4: loff_t, + arg5: u64_, + arg6: ::core::ffi::c_uint, + ) -> bool_, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dir_context { + pub actor: filldir_t, + pub pos: loff_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dir_context"][::core::mem::size_of::() - 16usize]; + ["Alignment of dir_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dir_context::actor"][::core::mem::offset_of!(dir_context, actor) - 0usize]; + ["Offset of field: dir_context::pos"][::core::mem::offset_of!(dir_context, pos) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct compat_robust_list { + pub next: compat_uptr_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of compat_robust_list"][::core::mem::size_of::() - 4usize]; + ["Alignment of compat_robust_list"][::core::mem::align_of::() - 4usize]; + ["Offset of field: compat_robust_list::next"] + [::core::mem::offset_of!(compat_robust_list, next) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct compat_robust_list_head { + pub list: compat_robust_list, + pub futex_offset: compat_long_t, + pub list_op_pending: compat_uptr_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of compat_robust_list_head"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of compat_robust_list_head"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: compat_robust_list_head::list"] + [::core::mem::offset_of!(compat_robust_list_head, list) - 0usize]; + ["Offset of field: compat_robust_list_head::futex_offset"] + [::core::mem::offset_of!(compat_robust_list_head, futex_offset) - 4usize]; + ["Offset of field: compat_robust_list_head::list_op_pending"] + [::core::mem::offset_of!(compat_robust_list_head, list_op_pending) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct in_addr { + pub s_addr: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of in_addr"][::core::mem::size_of::() - 4usize]; + ["Alignment of in_addr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: in_addr::s_addr"][::core::mem::offset_of!(in_addr, s_addr) - 0usize]; +}; +pub type cond_update_fn_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut trace_array, arg2: *mut ::core::ffi::c_void) -> bool_, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cond_snapshot { + pub cond_data: *mut ::core::ffi::c_void, + pub update: cond_update_fn_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cond_snapshot"][::core::mem::size_of::() - 16usize]; + ["Alignment of cond_snapshot"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cond_snapshot::cond_data"] + [::core::mem::offset_of!(cond_snapshot, cond_data) - 0usize]; + ["Offset of field: cond_snapshot::update"] + [::core::mem::offset_of!(cond_snapshot, update) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct core_thread { + pub task: *mut task_struct, + pub next: *mut core_thread, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of core_thread"][::core::mem::size_of::() - 16usize]; + ["Alignment of core_thread"][::core::mem::align_of::() - 8usize]; + ["Offset of field: core_thread::task"][::core::mem::offset_of!(core_thread, task) - 0usize]; + ["Offset of field: core_thread::next"][::core::mem::offset_of!(core_thread, next) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct core_state { + pub nr_threads: atomic_t, + pub dumper: core_thread, + pub startup: completion, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of core_state"][::core::mem::size_of::() - 56usize]; + ["Alignment of core_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: core_state::nr_threads"] + [::core::mem::offset_of!(core_state, nr_threads) - 0usize]; + ["Offset of field: core_state::dumper"][::core::mem::offset_of!(core_state, dumper) - 8usize]; + ["Offset of field: core_state::startup"] + [::core::mem::offset_of!(core_state, startup) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct core_vma_metadata { + pub start: ::core::ffi::c_ulong, + pub end: ::core::ffi::c_ulong, + pub flags: ::core::ffi::c_ulong, + pub dump_size: ::core::ffi::c_ulong, + pub pgoff: ::core::ffi::c_ulong, + pub file: *mut file, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of core_vma_metadata"][::core::mem::size_of::() - 48usize]; + ["Alignment of core_vma_metadata"][::core::mem::align_of::() - 8usize]; + ["Offset of field: core_vma_metadata::start"] + [::core::mem::offset_of!(core_vma_metadata, start) - 0usize]; + ["Offset of field: core_vma_metadata::end"] + [::core::mem::offset_of!(core_vma_metadata, end) - 8usize]; + ["Offset of field: core_vma_metadata::flags"] + [::core::mem::offset_of!(core_vma_metadata, flags) - 16usize]; + ["Offset of field: core_vma_metadata::dump_size"] + [::core::mem::offset_of!(core_vma_metadata, dump_size) - 24usize]; + ["Offset of field: core_vma_metadata::pgoff"] + [::core::mem::offset_of!(core_vma_metadata, pgoff) - 32usize]; + ["Offset of field: core_vma_metadata::file"] + [::core::mem::offset_of!(core_vma_metadata, file) - 40usize]; +}; +pub type kernel_siginfo_t = kernel_siginfo; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct coredump_params { + pub siginfo: *const kernel_siginfo_t, + pub file: *mut file, + pub limit: ::core::ffi::c_ulong, + pub mm_flags: ::core::ffi::c_ulong, + pub cpu: ::core::ffi::c_int, + pub written: loff_t, + pub pos: loff_t, + pub to_skip: loff_t, + pub vma_count: ::core::ffi::c_int, + pub vma_data_size: usize, + pub vma_meta: *mut core_vma_metadata, + pub pid: *mut pid, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of coredump_params"][::core::mem::size_of::() - 96usize]; + ["Alignment of coredump_params"][::core::mem::align_of::() - 8usize]; + ["Offset of field: coredump_params::siginfo"] + [::core::mem::offset_of!(coredump_params, siginfo) - 0usize]; + ["Offset of field: coredump_params::file"] + [::core::mem::offset_of!(coredump_params, file) - 8usize]; + ["Offset of field: coredump_params::limit"] + [::core::mem::offset_of!(coredump_params, limit) - 16usize]; + ["Offset of field: coredump_params::mm_flags"] + [::core::mem::offset_of!(coredump_params, mm_flags) - 24usize]; + ["Offset of field: coredump_params::cpu"] + [::core::mem::offset_of!(coredump_params, cpu) - 32usize]; + ["Offset of field: coredump_params::written"] + [::core::mem::offset_of!(coredump_params, written) - 40usize]; + ["Offset of field: coredump_params::pos"] + [::core::mem::offset_of!(coredump_params, pos) - 48usize]; + ["Offset of field: coredump_params::to_skip"] + [::core::mem::offset_of!(coredump_params, to_skip) - 56usize]; + ["Offset of field: coredump_params::vma_count"] + [::core::mem::offset_of!(coredump_params, vma_count) - 64usize]; + ["Offset of field: coredump_params::vma_data_size"] + [::core::mem::offset_of!(coredump_params, vma_data_size) - 72usize]; + ["Offset of field: coredump_params::vma_meta"] + [::core::mem::offset_of!(coredump_params, vma_meta) - 80usize]; + ["Offset of field: coredump_params::pid"] + [::core::mem::offset_of!(coredump_params, pid) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct coupling_desc { + pub coupled_rdevs: *mut *mut regulator_dev, + pub coupler: *mut regulator_coupler, + pub n_resolved: ::core::ffi::c_int, + pub n_coupled: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of coupling_desc"][::core::mem::size_of::() - 24usize]; + ["Alignment of coupling_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: coupling_desc::coupled_rdevs"] + [::core::mem::offset_of!(coupling_desc, coupled_rdevs) - 0usize]; + ["Offset of field: coupling_desc::coupler"] + [::core::mem::offset_of!(coupling_desc, coupler) - 8usize]; + ["Offset of field: coupling_desc::n_resolved"] + [::core::mem::offset_of!(coupling_desc, n_resolved) - 16usize]; + ["Offset of field: coupling_desc::n_coupled"] + [::core::mem::offset_of!(coupling_desc, n_coupled) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pgprot { + pub pgprot: pgprotval_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pgprot"][::core::mem::size_of::() - 8usize]; + ["Alignment of pgprot"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pgprot::pgprot"][::core::mem::offset_of!(pgprot, pgprot) - 0usize]; +}; +pub type pgprot_t = pgprot; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct folio_batch { + pub nr: ::core::ffi::c_uchar, + pub i: ::core::ffi::c_uchar, + pub percpu_pvec_drained: bool_, + pub folios: [*mut folio; 31usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio_batch"][::core::mem::size_of::() - 256usize]; + ["Alignment of folio_batch"][::core::mem::align_of::() - 8usize]; + ["Offset of field: folio_batch::nr"][::core::mem::offset_of!(folio_batch, nr) - 0usize]; + ["Offset of field: folio_batch::i"][::core::mem::offset_of!(folio_batch, i) - 1usize]; + ["Offset of field: folio_batch::percpu_pvec_drained"] + [::core::mem::offset_of!(folio_batch, percpu_pvec_drained) - 2usize]; + ["Offset of field: folio_batch::folios"][::core::mem::offset_of!(folio_batch, folios) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_branch_entry { + pub from: __u64, + pub to: __u64, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_branch_entry"][::core::mem::size_of::() - 24usize]; + ["Alignment of perf_branch_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_branch_entry::from"] + [::core::mem::offset_of!(perf_branch_entry, from) - 0usize]; + ["Offset of field: perf_branch_entry::to"] + [::core::mem::offset_of!(perf_branch_entry, to) - 8usize]; +}; +impl perf_branch_entry { + #[inline] + pub fn mispred(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) } + } + #[inline] + pub fn set_mispred(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mispred_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mispred_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn predicted(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) } + } + #[inline] + pub fn set_predicted(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn predicted_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_predicted_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_tx(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) } + } + #[inline] + pub fn set_in_tx(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_tx_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_in_tx_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn abort(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) } + } + #[inline] + pub fn set_abort(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn abort_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_abort_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cycles(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 16u8) as u64) } + } + #[inline] + pub fn set_cycles(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn cycles_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 16u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cycles_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn type_(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u64) } + } + #[inline] + pub fn set_type(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn type__raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 20usize, + 4u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_type_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 20usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn spec(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) } + } + #[inline] + pub fn set_spec(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn spec_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 24usize, + 2u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_spec_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 24usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn new_type(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 4u8) as u64) } + } + #[inline] + pub fn set_new_type(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(26usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn new_type_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 26usize, + 4u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_new_type_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 26usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn priv_(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 3u8) as u64) } + } + #[inline] + pub fn set_priv(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(30usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn priv__raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 30usize, + 3u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_priv_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 30usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(33usize, 31u8) as u64) } + } + #[inline] + pub fn set_reserved(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(33usize, 31u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 33usize, + 31u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_reserved_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 33usize, + 31u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + mispred: __u64, + predicted: __u64, + in_tx: __u64, + abort: __u64, + cycles: __u64, + type_: __u64, + spec: __u64, + new_type: __u64, + priv_: __u64, + reserved: __u64, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let mispred: u64 = unsafe { ::core::mem::transmute(mispred) }; + mispred as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let predicted: u64 = unsafe { ::core::mem::transmute(predicted) }; + predicted as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let in_tx: u64 = unsafe { ::core::mem::transmute(in_tx) }; + in_tx as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let abort: u64 = unsafe { ::core::mem::transmute(abort) }; + abort as u64 + }); + __bindgen_bitfield_unit.set(4usize, 16u8, { + let cycles: u64 = unsafe { ::core::mem::transmute(cycles) }; + cycles as u64 + }); + __bindgen_bitfield_unit.set(20usize, 4u8, { + let type_: u64 = unsafe { ::core::mem::transmute(type_) }; + type_ as u64 + }); + __bindgen_bitfield_unit.set(24usize, 2u8, { + let spec: u64 = unsafe { ::core::mem::transmute(spec) }; + spec as u64 + }); + __bindgen_bitfield_unit.set(26usize, 4u8, { + let new_type: u64 = unsafe { ::core::mem::transmute(new_type) }; + new_type as u64 + }); + __bindgen_bitfield_unit.set(30usize, 3u8, { + let priv_: u64 = unsafe { ::core::mem::transmute(priv_) }; + priv_ as u64 + }); + __bindgen_bitfield_unit.set(33usize, 31u8, { + let reserved: u64 = unsafe { ::core::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug)] +pub struct perf_branch_stack { + pub nr: __u64, + pub hw_idx: __u64, + pub entries: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_branch_stack"][::core::mem::size_of::() - 16usize]; + ["Alignment of perf_branch_stack"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_branch_stack::nr"] + [::core::mem::offset_of!(perf_branch_stack, nr) - 0usize]; + ["Offset of field: perf_branch_stack::hw_idx"] + [::core::mem::offset_of!(perf_branch_stack, hw_idx) - 8usize]; + ["Offset of field: perf_branch_stack::entries"] + [::core::mem::offset_of!(perf_branch_stack, entries) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpu_itimer { + pub expires: u64_, + pub incr: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpu_itimer"][::core::mem::size_of::() - 16usize]; + ["Alignment of cpu_itimer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpu_itimer::expires"][::core::mem::offset_of!(cpu_itimer, expires) - 0usize]; + ["Offset of field: cpu_itimer::incr"][::core::mem::offset_of!(cpu_itimer, incr) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct cpu_rmap { + pub refcount: kref, + pub size: u16_, + pub obj: *mut *mut ::core::ffi::c_void, + pub near: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpu_rmap__bindgen_ty_1 { + pub index: u16_, + pub dist: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpu_rmap__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of cpu_rmap__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: cpu_rmap__bindgen_ty_1::index"] + [::core::mem::offset_of!(cpu_rmap__bindgen_ty_1, index) - 0usize]; + ["Offset of field: cpu_rmap__bindgen_ty_1::dist"] + [::core::mem::offset_of!(cpu_rmap__bindgen_ty_1, dist) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpu_rmap"][::core::mem::size_of::() - 16usize]; + ["Alignment of cpu_rmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpu_rmap::refcount"][::core::mem::offset_of!(cpu_rmap, refcount) - 0usize]; + ["Offset of field: cpu_rmap::size"][::core::mem::offset_of!(cpu_rmap, size) - 4usize]; + ["Offset of field: cpu_rmap::obj"][::core::mem::offset_of!(cpu_rmap, obj) - 8usize]; + ["Offset of field: cpu_rmap::near"][::core::mem::offset_of!(cpu_rmap, near) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cpu_stop_done { + pub nr_todo: atomic_t, + pub ret: ::core::ffi::c_int, + pub completion: completion, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpu_stop_done"][::core::mem::size_of::() - 40usize]; + ["Alignment of cpu_stop_done"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpu_stop_done::nr_todo"] + [::core::mem::offset_of!(cpu_stop_done, nr_todo) - 0usize]; + ["Offset of field: cpu_stop_done::ret"][::core::mem::offset_of!(cpu_stop_done, ret) - 4usize]; + ["Offset of field: cpu_stop_done::completion"] + [::core::mem::offset_of!(cpu_stop_done, completion) - 8usize]; +}; +pub type cpu_stop_fn_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpu_stop_work { + pub list: list_head, + pub fn_: cpu_stop_fn_t, + pub caller: ::core::ffi::c_ulong, + pub arg: *mut ::core::ffi::c_void, + pub done: *mut cpu_stop_done, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpu_stop_work"][::core::mem::size_of::() - 48usize]; + ["Alignment of cpu_stop_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpu_stop_work::list"][::core::mem::offset_of!(cpu_stop_work, list) - 0usize]; + ["Offset of field: cpu_stop_work::fn_"][::core::mem::offset_of!(cpu_stop_work, fn_) - 16usize]; + ["Offset of field: cpu_stop_work::caller"] + [::core::mem::offset_of!(cpu_stop_work, caller) - 24usize]; + ["Offset of field: cpu_stop_work::arg"][::core::mem::offset_of!(cpu_stop_work, arg) - 32usize]; + ["Offset of field: cpu_stop_work::done"] + [::core::mem::offset_of!(cpu_stop_work, done) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cpudl { + pub lock: raw_spinlock_t, + pub size: ::core::ffi::c_int, + pub free_cpus: cpumask_var_t, + pub elements: *mut cpudl_item, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpudl"][::core::mem::size_of::() - 24usize]; + ["Alignment of cpudl"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpudl::lock"][::core::mem::offset_of!(cpudl, lock) - 0usize]; + ["Offset of field: cpudl::size"][::core::mem::offset_of!(cpudl, size) - 4usize]; + ["Offset of field: cpudl::free_cpus"][::core::mem::offset_of!(cpudl, free_cpus) - 8usize]; + ["Offset of field: cpudl::elements"][::core::mem::offset_of!(cpudl, elements) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpudl_item { + pub dl: u64_, + pub cpu: ::core::ffi::c_int, + pub idx: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpudl_item"][::core::mem::size_of::() - 16usize]; + ["Alignment of cpudl_item"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpudl_item::dl"][::core::mem::offset_of!(cpudl_item, dl) - 0usize]; + ["Offset of field: cpudl_item::cpu"][::core::mem::offset_of!(cpudl_item, cpu) - 8usize]; + ["Offset of field: cpudl_item::idx"][::core::mem::offset_of!(cpudl_item, idx) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct plist_head { + pub node_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of plist_head"][::core::mem::size_of::() - 16usize]; + ["Alignment of plist_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: plist_head::node_list"] + [::core::mem::offset_of!(plist_head, node_list) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_qos_constraints { + pub list: plist_head, + pub target_value: s32, + pub default_value: s32, + pub no_constraint_value: s32, + pub type_: pm_qos_type, + pub notifiers: *mut blocking_notifier_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pm_qos_constraints"][::core::mem::size_of::() - 40usize]; + ["Alignment of pm_qos_constraints"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pm_qos_constraints::list"] + [::core::mem::offset_of!(pm_qos_constraints, list) - 0usize]; + ["Offset of field: pm_qos_constraints::target_value"] + [::core::mem::offset_of!(pm_qos_constraints, target_value) - 16usize]; + ["Offset of field: pm_qos_constraints::default_value"] + [::core::mem::offset_of!(pm_qos_constraints, default_value) - 20usize]; + ["Offset of field: pm_qos_constraints::no_constraint_value"] + [::core::mem::offset_of!(pm_qos_constraints, no_constraint_value) - 24usize]; + ["Offset of field: pm_qos_constraints::type_"] + [::core::mem::offset_of!(pm_qos_constraints, type_) - 28usize]; + ["Offset of field: pm_qos_constraints::notifiers"] + [::core::mem::offset_of!(pm_qos_constraints, notifiers) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct freq_constraints { + pub min_freq: pm_qos_constraints, + pub min_freq_notifiers: blocking_notifier_head, + pub max_freq: pm_qos_constraints, + pub max_freq_notifiers: blocking_notifier_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of freq_constraints"][::core::mem::size_of::() - 176usize]; + ["Alignment of freq_constraints"][::core::mem::align_of::() - 8usize]; + ["Offset of field: freq_constraints::min_freq"] + [::core::mem::offset_of!(freq_constraints, min_freq) - 0usize]; + ["Offset of field: freq_constraints::min_freq_notifiers"] + [::core::mem::offset_of!(freq_constraints, min_freq_notifiers) - 40usize]; + ["Offset of field: freq_constraints::max_freq"] + [::core::mem::offset_of!(freq_constraints, max_freq) - 88usize]; + ["Offset of field: freq_constraints::max_freq_notifiers"] + [::core::mem::offset_of!(freq_constraints, max_freq_notifiers) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpuidle_state_usage { + pub disable: ::core::ffi::c_ulonglong, + pub usage: ::core::ffi::c_ulonglong, + pub time_ns: u64_, + pub above: ::core::ffi::c_ulonglong, + pub below: ::core::ffi::c_ulonglong, + pub rejected: ::core::ffi::c_ulonglong, + pub s2idle_usage: ::core::ffi::c_ulonglong, + pub s2idle_time: ::core::ffi::c_ulonglong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpuidle_state_usage"][::core::mem::size_of::() - 64usize]; + ["Alignment of cpuidle_state_usage"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpuidle_state_usage::disable"] + [::core::mem::offset_of!(cpuidle_state_usage, disable) - 0usize]; + ["Offset of field: cpuidle_state_usage::usage"] + [::core::mem::offset_of!(cpuidle_state_usage, usage) - 8usize]; + ["Offset of field: cpuidle_state_usage::time_ns"] + [::core::mem::offset_of!(cpuidle_state_usage, time_ns) - 16usize]; + ["Offset of field: cpuidle_state_usage::above"] + [::core::mem::offset_of!(cpuidle_state_usage, above) - 24usize]; + ["Offset of field: cpuidle_state_usage::below"] + [::core::mem::offset_of!(cpuidle_state_usage, below) - 32usize]; + ["Offset of field: cpuidle_state_usage::rejected"] + [::core::mem::offset_of!(cpuidle_state_usage, rejected) - 40usize]; + ["Offset of field: cpuidle_state_usage::s2idle_usage"] + [::core::mem::offset_of!(cpuidle_state_usage, s2idle_usage) - 48usize]; + ["Offset of field: cpuidle_state_usage::s2idle_time"] + [::core::mem::offset_of!(cpuidle_state_usage, s2idle_time) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpuidle_driver_kobj { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpuidle_device { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub cpu: ::core::ffi::c_uint, + pub next_hrtimer: ktime_t, + pub last_state_idx: ::core::ffi::c_int, + pub last_residency_ns: u64_, + pub poll_limit_ns: u64_, + pub forced_idle_latency_limit_ns: u64_, + pub states_usage: [cpuidle_state_usage; 10usize], + pub kobjs: [*mut cpuidle_state_kobj; 10usize], + pub kobj_driver: *mut cpuidle_driver_kobj, + pub kobj_dev: *mut cpuidle_device_kobj, + pub device_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpuidle_device"][::core::mem::size_of::() - 800usize]; + ["Alignment of cpuidle_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpuidle_device::cpu"][::core::mem::offset_of!(cpuidle_device, cpu) - 4usize]; + ["Offset of field: cpuidle_device::next_hrtimer"] + [::core::mem::offset_of!(cpuidle_device, next_hrtimer) - 8usize]; + ["Offset of field: cpuidle_device::last_state_idx"] + [::core::mem::offset_of!(cpuidle_device, last_state_idx) - 16usize]; + ["Offset of field: cpuidle_device::last_residency_ns"] + [::core::mem::offset_of!(cpuidle_device, last_residency_ns) - 24usize]; + ["Offset of field: cpuidle_device::poll_limit_ns"] + [::core::mem::offset_of!(cpuidle_device, poll_limit_ns) - 32usize]; + ["Offset of field: cpuidle_device::forced_idle_latency_limit_ns"] + [::core::mem::offset_of!(cpuidle_device, forced_idle_latency_limit_ns) - 40usize]; + ["Offset of field: cpuidle_device::states_usage"] + [::core::mem::offset_of!(cpuidle_device, states_usage) - 48usize]; + ["Offset of field: cpuidle_device::kobjs"] + [::core::mem::offset_of!(cpuidle_device, kobjs) - 688usize]; + ["Offset of field: cpuidle_device::kobj_driver"] + [::core::mem::offset_of!(cpuidle_device, kobj_driver) - 768usize]; + ["Offset of field: cpuidle_device::kobj_dev"] + [::core::mem::offset_of!(cpuidle_device, kobj_dev) - 776usize]; + ["Offset of field: cpuidle_device::device_list"] + [::core::mem::offset_of!(cpuidle_device, device_list) - 784usize]; +}; +impl cpuidle_device { + #[inline] + pub fn registered(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_registered(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn registered_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_registered_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn enabled(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_enabled(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn enabled_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_enabled_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn poll_time_limit(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_poll_time_limit(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn poll_time_limit_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_poll_time_limit_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + registered: ::core::ffi::c_uint, + enabled: ::core::ffi::c_uint, + poll_time_limit: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let registered: u32 = unsafe { ::core::mem::transmute(registered) }; + registered as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let enabled: u32 = unsafe { ::core::mem::transmute(enabled) }; + enabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let poll_time_limit: u32 = unsafe { ::core::mem::transmute(poll_time_limit) }; + poll_time_limit as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cpuidle_device_kobj { + pub dev: *mut cpuidle_device, + pub kobj_unregister: completion, + pub kobj: kobject, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpuidle_device_kobj"][::core::mem::size_of::() - 104usize]; + ["Alignment of cpuidle_device_kobj"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpuidle_device_kobj::dev"] + [::core::mem::offset_of!(cpuidle_device_kobj, dev) - 0usize]; + ["Offset of field: cpuidle_device_kobj::kobj_unregister"] + [::core::mem::offset_of!(cpuidle_device_kobj, kobj_unregister) - 8usize]; + ["Offset of field: cpuidle_device_kobj::kobj"] + [::core::mem::offset_of!(cpuidle_device_kobj, kobj) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpuidle_state { + pub name: [::core::ffi::c_char; 16usize], + pub desc: [::core::ffi::c_char; 32usize], + pub exit_latency_ns: s64, + pub target_residency_ns: s64, + pub flags: ::core::ffi::c_uint, + pub exit_latency: ::core::ffi::c_uint, + pub power_usage: ::core::ffi::c_int, + pub target_residency: ::core::ffi::c_uint, + pub enter: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cpuidle_device, + arg2: *mut cpuidle_driver, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub enter_dead: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cpuidle_device, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub enter_s2idle: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut cpuidle_device, + arg2: *mut cpuidle_driver, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpuidle_state"][::core::mem::size_of::() - 104usize]; + ["Alignment of cpuidle_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpuidle_state::name"][::core::mem::offset_of!(cpuidle_state, name) - 0usize]; + ["Offset of field: cpuidle_state::desc"] + [::core::mem::offset_of!(cpuidle_state, desc) - 16usize]; + ["Offset of field: cpuidle_state::exit_latency_ns"] + [::core::mem::offset_of!(cpuidle_state, exit_latency_ns) - 48usize]; + ["Offset of field: cpuidle_state::target_residency_ns"] + [::core::mem::offset_of!(cpuidle_state, target_residency_ns) - 56usize]; + ["Offset of field: cpuidle_state::flags"] + [::core::mem::offset_of!(cpuidle_state, flags) - 64usize]; + ["Offset of field: cpuidle_state::exit_latency"] + [::core::mem::offset_of!(cpuidle_state, exit_latency) - 68usize]; + ["Offset of field: cpuidle_state::power_usage"] + [::core::mem::offset_of!(cpuidle_state, power_usage) - 72usize]; + ["Offset of field: cpuidle_state::target_residency"] + [::core::mem::offset_of!(cpuidle_state, target_residency) - 76usize]; + ["Offset of field: cpuidle_state::enter"] + [::core::mem::offset_of!(cpuidle_state, enter) - 80usize]; + ["Offset of field: cpuidle_state::enter_dead"] + [::core::mem::offset_of!(cpuidle_state, enter_dead) - 88usize]; + ["Offset of field: cpuidle_state::enter_s2idle"] + [::core::mem::offset_of!(cpuidle_state, enter_s2idle) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpuidle_driver { + pub name: *const ::core::ffi::c_char, + pub owner: *mut module, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub states: [cpuidle_state; 10usize], + pub state_count: ::core::ffi::c_int, + pub safe_state_index: ::core::ffi::c_int, + pub cpumask: *mut cpumask, + pub governor: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpuidle_driver"][::core::mem::size_of::() - 1088usize]; + ["Alignment of cpuidle_driver"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpuidle_driver::name"] + [::core::mem::offset_of!(cpuidle_driver, name) - 0usize]; + ["Offset of field: cpuidle_driver::owner"] + [::core::mem::offset_of!(cpuidle_driver, owner) - 8usize]; + ["Offset of field: cpuidle_driver::states"] + [::core::mem::offset_of!(cpuidle_driver, states) - 24usize]; + ["Offset of field: cpuidle_driver::state_count"] + [::core::mem::offset_of!(cpuidle_driver, state_count) - 1064usize]; + ["Offset of field: cpuidle_driver::safe_state_index"] + [::core::mem::offset_of!(cpuidle_driver, safe_state_index) - 1068usize]; + ["Offset of field: cpuidle_driver::cpumask"] + [::core::mem::offset_of!(cpuidle_driver, cpumask) - 1072usize]; + ["Offset of field: cpuidle_driver::governor"] + [::core::mem::offset_of!(cpuidle_driver, governor) - 1080usize]; +}; +impl cpuidle_driver { + #[inline] + pub fn bctimer(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_bctimer(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn bctimer_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_bctimer_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(bctimer: ::core::ffi::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let bctimer: u32 = unsafe { ::core::mem::transmute(bctimer) }; + bctimer as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cpuidle_state_kobj { + pub state: *mut cpuidle_state, + pub state_usage: *mut cpuidle_state_usage, + pub kobj_unregister: completion, + pub kobj: kobject, + pub device: *mut cpuidle_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpuidle_state_kobj"][::core::mem::size_of::() - 120usize]; + ["Alignment of cpuidle_state_kobj"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpuidle_state_kobj::state"] + [::core::mem::offset_of!(cpuidle_state_kobj, state) - 0usize]; + ["Offset of field: cpuidle_state_kobj::state_usage"] + [::core::mem::offset_of!(cpuidle_state_kobj, state_usage) - 8usize]; + ["Offset of field: cpuidle_state_kobj::kobj_unregister"] + [::core::mem::offset_of!(cpuidle_state_kobj, kobj_unregister) - 16usize]; + ["Offset of field: cpuidle_state_kobj::kobj"] + [::core::mem::offset_of!(cpuidle_state_kobj, kobj) - 48usize]; + ["Offset of field: cpuidle_state_kobj::device"] + [::core::mem::offset_of!(cpuidle_state_kobj, device) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpupri_vec { + pub count: atomic_t, + pub mask: cpumask_var_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpupri_vec"][::core::mem::size_of::() - 16usize]; + ["Alignment of cpupri_vec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpupri_vec::count"][::core::mem::offset_of!(cpupri_vec, count) - 0usize]; + ["Offset of field: cpupri_vec::mask"][::core::mem::offset_of!(cpupri_vec, mask) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpupri { + pub pri_to_cpu: [cpupri_vec; 101usize], + pub cpu_to_pri: *mut ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cpupri"][::core::mem::size_of::() - 1624usize]; + ["Alignment of cpupri"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cpupri::pri_to_cpu"][::core::mem::offset_of!(cpupri, pri_to_cpu) - 0usize]; + ["Offset of field: cpupri::cpu_to_pri"] + [::core::mem::offset_of!(cpupri, cpu_to_pri) - 1616usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct range { + pub start: u64_, + pub end: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of range"][::core::mem::size_of::() - 16usize]; + ["Alignment of range"][::core::mem::align_of::() - 8usize]; + ["Offset of field: range::start"][::core::mem::offset_of!(range, start) - 0usize]; + ["Offset of field: range::end"][::core::mem::offset_of!(range, end) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct cred { + pub usage: atomic_long_t, + pub uid: kuid_t, + pub gid: kgid_t, + pub suid: kuid_t, + pub sgid: kgid_t, + pub euid: kuid_t, + pub egid: kgid_t, + pub fsuid: kuid_t, + pub fsgid: kgid_t, + pub securebits: ::core::ffi::c_uint, + pub cap_inheritable: kernel_cap_t, + pub cap_permitted: kernel_cap_t, + pub cap_effective: kernel_cap_t, + pub cap_bset: kernel_cap_t, + pub cap_ambient: kernel_cap_t, + pub jit_keyring: ::core::ffi::c_uchar, + pub session_keyring: *mut key, + pub process_keyring: *mut key, + pub thread_keyring: *mut key, + pub request_key_auth: *mut key, + pub security: *mut ::core::ffi::c_void, + pub user: *mut user_struct, + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub group_info: *mut group_info, + pub __bindgen_anon_1: cred__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union cred__bindgen_ty_1 { + pub non_rcu: ::core::ffi::c_int, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cred__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of cred__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cred__bindgen_ty_1::non_rcu"] + [::core::mem::offset_of!(cred__bindgen_ty_1, non_rcu) - 0usize]; + ["Offset of field: cred__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(cred__bindgen_ty_1, rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of cred"][::core::mem::size_of::() - 184usize]; + ["Alignment of cred"][::core::mem::align_of::() - 8usize]; + ["Offset of field: cred::usage"][::core::mem::offset_of!(cred, usage) - 0usize]; + ["Offset of field: cred::uid"][::core::mem::offset_of!(cred, uid) - 8usize]; + ["Offset of field: cred::gid"][::core::mem::offset_of!(cred, gid) - 12usize]; + ["Offset of field: cred::suid"][::core::mem::offset_of!(cred, suid) - 16usize]; + ["Offset of field: cred::sgid"][::core::mem::offset_of!(cred, sgid) - 20usize]; + ["Offset of field: cred::euid"][::core::mem::offset_of!(cred, euid) - 24usize]; + ["Offset of field: cred::egid"][::core::mem::offset_of!(cred, egid) - 28usize]; + ["Offset of field: cred::fsuid"][::core::mem::offset_of!(cred, fsuid) - 32usize]; + ["Offset of field: cred::fsgid"][::core::mem::offset_of!(cred, fsgid) - 36usize]; + ["Offset of field: cred::securebits"][::core::mem::offset_of!(cred, securebits) - 40usize]; + ["Offset of field: cred::cap_inheritable"] + [::core::mem::offset_of!(cred, cap_inheritable) - 48usize]; + ["Offset of field: cred::cap_permitted"] + [::core::mem::offset_of!(cred, cap_permitted) - 56usize]; + ["Offset of field: cred::cap_effective"] + [::core::mem::offset_of!(cred, cap_effective) - 64usize]; + ["Offset of field: cred::cap_bset"][::core::mem::offset_of!(cred, cap_bset) - 72usize]; + ["Offset of field: cred::cap_ambient"][::core::mem::offset_of!(cred, cap_ambient) - 80usize]; + ["Offset of field: cred::jit_keyring"][::core::mem::offset_of!(cred, jit_keyring) - 88usize]; + ["Offset of field: cred::session_keyring"] + [::core::mem::offset_of!(cred, session_keyring) - 96usize]; + ["Offset of field: cred::process_keyring"] + [::core::mem::offset_of!(cred, process_keyring) - 104usize]; + ["Offset of field: cred::thread_keyring"] + [::core::mem::offset_of!(cred, thread_keyring) - 112usize]; + ["Offset of field: cred::request_key_auth"] + [::core::mem::offset_of!(cred, request_key_auth) - 120usize]; + ["Offset of field: cred::security"][::core::mem::offset_of!(cred, security) - 128usize]; + ["Offset of field: cred::user"][::core::mem::offset_of!(cred, user) - 136usize]; + ["Offset of field: cred::user_ns"][::core::mem::offset_of!(cred, user_ns) - 144usize]; + ["Offset of field: cred::ucounts"][::core::mem::offset_of!(cred, ucounts) - 152usize]; + ["Offset of field: cred::group_info"][::core::mem::offset_of!(cred, group_info) - 160usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct crypto_tfm { + pub refcnt: refcount_t, + pub crt_flags: u32_, + pub node: ::core::ffi::c_int, + pub exit: ::core::option::Option, + pub __crt_alg: *mut crypto_alg, + pub __crt_ctx: __IncompleteArrayField<*mut ::core::ffi::c_void>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_tfm"][::core::mem::size_of::() - 32usize]; + ["Alignment of crypto_tfm"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_tfm::refcnt"][::core::mem::offset_of!(crypto_tfm, refcnt) - 0usize]; + ["Offset of field: crypto_tfm::crt_flags"] + [::core::mem::offset_of!(crypto_tfm, crt_flags) - 4usize]; + ["Offset of field: crypto_tfm::node"][::core::mem::offset_of!(crypto_tfm, node) - 8usize]; + ["Offset of field: crypto_tfm::exit"][::core::mem::offset_of!(crypto_tfm, exit) - 16usize]; + ["Offset of field: crypto_tfm::__crt_alg"] + [::core::mem::offset_of!(crypto_tfm, __crt_alg) - 24usize]; + ["Offset of field: crypto_tfm::__crt_ctx"] + [::core::mem::offset_of!(crypto_tfm, __crt_ctx) - 32usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct crypto_aead { + pub authsize: ::core::ffi::c_uint, + pub reqsize: ::core::ffi::c_uint, + pub base: crypto_tfm, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_aead"][::core::mem::size_of::() - 40usize]; + ["Alignment of crypto_aead"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_aead::authsize"] + [::core::mem::offset_of!(crypto_aead, authsize) - 0usize]; + ["Offset of field: crypto_aead::reqsize"] + [::core::mem::offset_of!(crypto_aead, reqsize) - 4usize]; + ["Offset of field: crypto_aead::base"][::core::mem::offset_of!(crypto_aead, base) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct crypto_spawn { + pub list: list_head, + pub alg: *mut crypto_alg, + pub __bindgen_anon_1: crypto_spawn__bindgen_ty_1, + pub frontend: *const crypto_type, + pub mask: u32_, + pub dead: bool_, + pub registered: bool_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union crypto_spawn__bindgen_ty_1 { + pub inst: *mut crypto_instance, + pub next: *mut crypto_spawn, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_spawn__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of crypto_spawn__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_spawn__bindgen_ty_1::inst"] + [::core::mem::offset_of!(crypto_spawn__bindgen_ty_1, inst) - 0usize]; + ["Offset of field: crypto_spawn__bindgen_ty_1::next"] + [::core::mem::offset_of!(crypto_spawn__bindgen_ty_1, next) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_spawn"][::core::mem::size_of::() - 48usize]; + ["Alignment of crypto_spawn"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_spawn::list"][::core::mem::offset_of!(crypto_spawn, list) - 0usize]; + ["Offset of field: crypto_spawn::alg"][::core::mem::offset_of!(crypto_spawn, alg) - 16usize]; + ["Offset of field: crypto_spawn::frontend"] + [::core::mem::offset_of!(crypto_spawn, frontend) - 32usize]; + ["Offset of field: crypto_spawn::mask"][::core::mem::offset_of!(crypto_spawn, mask) - 40usize]; + ["Offset of field: crypto_spawn::dead"][::core::mem::offset_of!(crypto_spawn, dead) - 44usize]; + ["Offset of field: crypto_spawn::registered"] + [::core::mem::offset_of!(crypto_spawn, registered) - 45usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct crypto_shash { + pub descsize: ::core::ffi::c_uint, + pub base: crypto_tfm, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_shash"][::core::mem::size_of::() - 40usize]; + ["Alignment of crypto_shash"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_shash::descsize"] + [::core::mem::offset_of!(crypto_shash, descsize) - 0usize]; + ["Offset of field: crypto_shash::base"][::core::mem::offset_of!(crypto_shash, base) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct crypto_skcipher { + pub reqsize: ::core::ffi::c_uint, + pub base: crypto_tfm, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_skcipher"][::core::mem::size_of::() - 40usize]; + ["Alignment of crypto_skcipher"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_skcipher::reqsize"] + [::core::mem::offset_of!(crypto_skcipher, reqsize) - 0usize]; + ["Offset of field: crypto_skcipher::base"] + [::core::mem::offset_of!(crypto_skcipher, base) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct crypto_template { + pub list: list_head, + pub instances: hlist_head, + pub module: *mut module, + pub create: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut crypto_template, + arg2: *mut *mut rtattr, + ) -> ::core::ffi::c_int, + >, + pub name: [::core::ffi::c_char; 128usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_template"][::core::mem::size_of::() - 168usize]; + ["Alignment of crypto_template"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_template::list"] + [::core::mem::offset_of!(crypto_template, list) - 0usize]; + ["Offset of field: crypto_template::instances"] + [::core::mem::offset_of!(crypto_template, instances) - 16usize]; + ["Offset of field: crypto_template::module"] + [::core::mem::offset_of!(crypto_template, module) - 24usize]; + ["Offset of field: crypto_template::create"] + [::core::mem::offset_of!(crypto_template, create) - 32usize]; + ["Offset of field: crypto_template::name"] + [::core::mem::offset_of!(crypto_template, name) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct crypto_type { + pub ctxsize: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut crypto_alg, arg2: u32_, arg3: u32_) -> ::core::ffi::c_uint, + >, + pub extsize: + ::core::option::Option ::core::ffi::c_uint>, + pub init_tfm: + ::core::option::Option ::core::ffi::c_int>, + pub show: + ::core::option::Option, + pub report: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut crypto_alg) -> ::core::ffi::c_int, + >, + pub free: ::core::option::Option, + pub type_: ::core::ffi::c_uint, + pub maskclear: ::core::ffi::c_uint, + pub maskset: ::core::ffi::c_uint, + pub tfmsize: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of crypto_type"][::core::mem::size_of::() - 64usize]; + ["Alignment of crypto_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: crypto_type::ctxsize"] + [::core::mem::offset_of!(crypto_type, ctxsize) - 0usize]; + ["Offset of field: crypto_type::extsize"] + [::core::mem::offset_of!(crypto_type, extsize) - 8usize]; + ["Offset of field: crypto_type::init_tfm"] + [::core::mem::offset_of!(crypto_type, init_tfm) - 16usize]; + ["Offset of field: crypto_type::show"][::core::mem::offset_of!(crypto_type, show) - 24usize]; + ["Offset of field: crypto_type::report"] + [::core::mem::offset_of!(crypto_type, report) - 32usize]; + ["Offset of field: crypto_type::free"][::core::mem::offset_of!(crypto_type, free) - 40usize]; + ["Offset of field: crypto_type::type_"][::core::mem::offset_of!(crypto_type, type_) - 48usize]; + ["Offset of field: crypto_type::maskclear"] + [::core::mem::offset_of!(crypto_type, maskclear) - 52usize]; + ["Offset of field: crypto_type::maskset"] + [::core::mem::offset_of!(crypto_type, maskset) - 56usize]; + ["Offset of field: crypto_type::tfmsize"] + [::core::mem::offset_of!(crypto_type, tfmsize) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rtattr { + pub rta_len: ::core::ffi::c_ushort, + pub rta_type: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rtattr"][::core::mem::size_of::() - 4usize]; + ["Alignment of rtattr"][::core::mem::align_of::() - 2usize]; + ["Offset of field: rtattr::rta_len"][::core::mem::offset_of!(rtattr, rta_len) - 0usize]; + ["Offset of field: rtattr::rta_type"][::core::mem::offset_of!(rtattr, rta_type) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct css_set { + pub subsys: [*mut cgroup_subsys_state; 14usize], + pub refcount: refcount_t, + pub dom_cset: *mut css_set, + pub dfl_cgrp: *mut cgroup, + pub nr_tasks: ::core::ffi::c_int, + pub tasks: list_head, + pub mg_tasks: list_head, + pub dying_tasks: list_head, + pub task_iters: list_head, + pub e_cset_node: [list_head; 14usize], + pub threaded_csets: list_head, + pub threaded_csets_node: list_head, + pub hlist: hlist_node, + pub cgrp_links: list_head, + pub mg_src_preload_node: list_head, + pub mg_dst_preload_node: list_head, + pub mg_node: list_head, + pub mg_src_cgrp: *mut cgroup, + pub mg_dst_cgrp: *mut cgroup, + pub mg_dst_cset: *mut css_set, + pub dead: bool_, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of css_set"][::core::mem::size_of::() - 592usize]; + ["Alignment of css_set"][::core::mem::align_of::() - 8usize]; + ["Offset of field: css_set::subsys"][::core::mem::offset_of!(css_set, subsys) - 0usize]; + ["Offset of field: css_set::refcount"][::core::mem::offset_of!(css_set, refcount) - 112usize]; + ["Offset of field: css_set::dom_cset"][::core::mem::offset_of!(css_set, dom_cset) - 120usize]; + ["Offset of field: css_set::dfl_cgrp"][::core::mem::offset_of!(css_set, dfl_cgrp) - 128usize]; + ["Offset of field: css_set::nr_tasks"][::core::mem::offset_of!(css_set, nr_tasks) - 136usize]; + ["Offset of field: css_set::tasks"][::core::mem::offset_of!(css_set, tasks) - 144usize]; + ["Offset of field: css_set::mg_tasks"][::core::mem::offset_of!(css_set, mg_tasks) - 160usize]; + ["Offset of field: css_set::dying_tasks"] + [::core::mem::offset_of!(css_set, dying_tasks) - 176usize]; + ["Offset of field: css_set::task_iters"] + [::core::mem::offset_of!(css_set, task_iters) - 192usize]; + ["Offset of field: css_set::e_cset_node"] + [::core::mem::offset_of!(css_set, e_cset_node) - 208usize]; + ["Offset of field: css_set::threaded_csets"] + [::core::mem::offset_of!(css_set, threaded_csets) - 432usize]; + ["Offset of field: css_set::threaded_csets_node"] + [::core::mem::offset_of!(css_set, threaded_csets_node) - 448usize]; + ["Offset of field: css_set::hlist"][::core::mem::offset_of!(css_set, hlist) - 464usize]; + ["Offset of field: css_set::cgrp_links"] + [::core::mem::offset_of!(css_set, cgrp_links) - 480usize]; + ["Offset of field: css_set::mg_src_preload_node"] + [::core::mem::offset_of!(css_set, mg_src_preload_node) - 496usize]; + ["Offset of field: css_set::mg_dst_preload_node"] + [::core::mem::offset_of!(css_set, mg_dst_preload_node) - 512usize]; + ["Offset of field: css_set::mg_node"][::core::mem::offset_of!(css_set, mg_node) - 528usize]; + ["Offset of field: css_set::mg_src_cgrp"] + [::core::mem::offset_of!(css_set, mg_src_cgrp) - 544usize]; + ["Offset of field: css_set::mg_dst_cgrp"] + [::core::mem::offset_of!(css_set, mg_dst_cgrp) - 552usize]; + ["Offset of field: css_set::mg_dst_cset"] + [::core::mem::offset_of!(css_set, mg_dst_cset) - 560usize]; + ["Offset of field: css_set::dead"][::core::mem::offset_of!(css_set, dead) - 568usize]; + ["Offset of field: css_set::callback_head"] + [::core::mem::offset_of!(css_set, callback_head) - 576usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ctl_table_header { + pub __bindgen_anon_1: ctl_table_header__bindgen_ty_1, + pub unregistering: *mut completion, + pub ctl_table_arg: *const ctl_table, + pub root: *mut ctl_table_root, + pub set: *mut ctl_table_set, + pub parent: *mut ctl_dir, + pub node: *mut ctl_node, + pub inodes: hlist_head, + pub type_: ctl_table_header__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ctl_table_header__bindgen_ty_1 { + pub __bindgen_anon_1: ctl_table_header__bindgen_ty_1__bindgen_ty_1, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ctl_table_header__bindgen_ty_1__bindgen_ty_1 { + pub ctl_table: *mut ctl_table, + pub ctl_table_size: ::core::ffi::c_int, + pub used: ::core::ffi::c_int, + pub count: ::core::ffi::c_int, + pub nreg: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_table_header__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ctl_table_header__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_table_header__bindgen_ty_1__bindgen_ty_1::ctl_table"] + [::core::mem::offset_of!(ctl_table_header__bindgen_ty_1__bindgen_ty_1, ctl_table) - 0usize]; + ["Offset of field: ctl_table_header__bindgen_ty_1__bindgen_ty_1::ctl_table_size"][::core::mem::offset_of!( + ctl_table_header__bindgen_ty_1__bindgen_ty_1, + ctl_table_size + ) - 8usize]; + ["Offset of field: ctl_table_header__bindgen_ty_1__bindgen_ty_1::used"] + [::core::mem::offset_of!(ctl_table_header__bindgen_ty_1__bindgen_ty_1, used) - 12usize]; + ["Offset of field: ctl_table_header__bindgen_ty_1__bindgen_ty_1::count"] + [::core::mem::offset_of!(ctl_table_header__bindgen_ty_1__bindgen_ty_1, count) - 16usize]; + ["Offset of field: ctl_table_header__bindgen_ty_1__bindgen_ty_1::nreg"] + [::core::mem::offset_of!(ctl_table_header__bindgen_ty_1__bindgen_ty_1, nreg) - 20usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_table_header__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ctl_table_header__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_table_header__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(ctl_table_header__bindgen_ty_1, rcu) - 0usize]; +}; +pub const ctl_table_header_SYSCTL_TABLE_TYPE_DEFAULT: ctl_table_header__bindgen_ty_2 = 0; +pub const ctl_table_header_SYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY: ctl_table_header__bindgen_ty_2 = 1; +pub type ctl_table_header__bindgen_ty_2 = ::core::ffi::c_uint; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_table_header"][::core::mem::size_of::() - 88usize]; + ["Alignment of ctl_table_header"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_table_header::unregistering"] + [::core::mem::offset_of!(ctl_table_header, unregistering) - 24usize]; + ["Offset of field: ctl_table_header::ctl_table_arg"] + [::core::mem::offset_of!(ctl_table_header, ctl_table_arg) - 32usize]; + ["Offset of field: ctl_table_header::root"] + [::core::mem::offset_of!(ctl_table_header, root) - 40usize]; + ["Offset of field: ctl_table_header::set"] + [::core::mem::offset_of!(ctl_table_header, set) - 48usize]; + ["Offset of field: ctl_table_header::parent"] + [::core::mem::offset_of!(ctl_table_header, parent) - 56usize]; + ["Offset of field: ctl_table_header::node"] + [::core::mem::offset_of!(ctl_table_header, node) - 64usize]; + ["Offset of field: ctl_table_header::inodes"] + [::core::mem::offset_of!(ctl_table_header, inodes) - 72usize]; + ["Offset of field: ctl_table_header::type_"] + [::core::mem::offset_of!(ctl_table_header, type_) - 80usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ctl_dir { + pub header: ctl_table_header, + pub root: rb_root, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_dir"][::core::mem::size_of::() - 96usize]; + ["Alignment of ctl_dir"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_dir::header"][::core::mem::offset_of!(ctl_dir, header) - 0usize]; + ["Offset of field: ctl_dir::root"][::core::mem::offset_of!(ctl_dir, root) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ctl_node { + pub node: rb_node, + pub header: *mut ctl_table_header, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_node"][::core::mem::size_of::() - 32usize]; + ["Alignment of ctl_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_node::node"][::core::mem::offset_of!(ctl_node, node) - 0usize]; + ["Offset of field: ctl_node::header"][::core::mem::offset_of!(ctl_node, header) - 24usize]; +}; +pub type proc_handler = ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ctl_table, + arg2: ::core::ffi::c_int, + arg3: *mut ::core::ffi::c_void, + arg4: *mut usize, + arg5: *mut loff_t, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ctl_table { + pub procname: *const ::core::ffi::c_char, + pub data: *mut ::core::ffi::c_void, + pub maxlen: ::core::ffi::c_int, + pub mode: umode_t, + pub proc_handler: proc_handler, + pub poll: *mut ctl_table_poll, + pub extra1: *mut ::core::ffi::c_void, + pub extra2: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_table"][::core::mem::size_of::() - 56usize]; + ["Alignment of ctl_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_table::procname"][::core::mem::offset_of!(ctl_table, procname) - 0usize]; + ["Offset of field: ctl_table::data"][::core::mem::offset_of!(ctl_table, data) - 8usize]; + ["Offset of field: ctl_table::maxlen"][::core::mem::offset_of!(ctl_table, maxlen) - 16usize]; + ["Offset of field: ctl_table::mode"][::core::mem::offset_of!(ctl_table, mode) - 20usize]; + ["Offset of field: ctl_table::proc_handler"] + [::core::mem::offset_of!(ctl_table, proc_handler) - 24usize]; + ["Offset of field: ctl_table::poll"][::core::mem::offset_of!(ctl_table, poll) - 32usize]; + ["Offset of field: ctl_table::extra1"][::core::mem::offset_of!(ctl_table, extra1) - 40usize]; + ["Offset of field: ctl_table::extra2"][::core::mem::offset_of!(ctl_table, extra2) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ctl_table_poll { + pub event: atomic_t, + pub wait: wait_queue_head_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_table_poll"][::core::mem::size_of::() - 32usize]; + ["Alignment of ctl_table_poll"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_table_poll::event"] + [::core::mem::offset_of!(ctl_table_poll, event) - 0usize]; + ["Offset of field: ctl_table_poll::wait"] + [::core::mem::offset_of!(ctl_table_poll, wait) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ctl_table_set { + pub is_seen: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ctl_table_set) -> ::core::ffi::c_int, + >, + pub dir: ctl_dir, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_table_set"][::core::mem::size_of::() - 104usize]; + ["Alignment of ctl_table_set"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_table_set::is_seen"] + [::core::mem::offset_of!(ctl_table_set, is_seen) - 0usize]; + ["Offset of field: ctl_table_set::dir"][::core::mem::offset_of!(ctl_table_set, dir) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ctl_table_root { + pub default_set: ctl_table_set, + pub lookup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ctl_table_root) -> *mut ctl_table_set, + >, + pub set_ownership: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ctl_table_header, arg2: *mut kuid_t, arg3: *mut kgid_t), + >, + pub permissions: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ctl_table_header, + arg2: *const ctl_table, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctl_table_root"][::core::mem::size_of::() - 128usize]; + ["Alignment of ctl_table_root"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctl_table_root::default_set"] + [::core::mem::offset_of!(ctl_table_root, default_set) - 0usize]; + ["Offset of field: ctl_table_root::lookup"] + [::core::mem::offset_of!(ctl_table_root, lookup) - 104usize]; + ["Offset of field: ctl_table_root::set_ownership"] + [::core::mem::offset_of!(ctl_table_root, set_ownership) - 112usize]; + ["Offset of field: ctl_table_root::permissions"] + [::core::mem::offset_of!(ctl_table_root, permissions) - 120usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ctx_rq_wait { + pub comp: completion, + pub count: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ctx_rq_wait"][::core::mem::size_of::() - 40usize]; + ["Alignment of ctx_rq_wait"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ctx_rq_wait::comp"][::core::mem::offset_of!(ctx_rq_wait, comp) - 0usize]; + ["Offset of field: ctx_rq_wait::count"][::core::mem::offset_of!(ctx_rq_wait, count) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dax_device { + pub inode: inode, + pub cdev: cdev, + pub private: *mut ::core::ffi::c_void, + pub flags: ::core::ffi::c_ulong, + pub ops: *const dax_operations, + pub holder_data: *mut ::core::ffi::c_void, + pub holder_ops: *const dax_holder_operations, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dax_device"][::core::mem::size_of::() - 776usize]; + ["Alignment of dax_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dax_device::inode"][::core::mem::offset_of!(dax_device, inode) - 0usize]; + ["Offset of field: dax_device::cdev"][::core::mem::offset_of!(dax_device, cdev) - 632usize]; + ["Offset of field: dax_device::private"] + [::core::mem::offset_of!(dax_device, private) - 736usize]; + ["Offset of field: dax_device::flags"][::core::mem::offset_of!(dax_device, flags) - 744usize]; + ["Offset of field: dax_device::ops"][::core::mem::offset_of!(dax_device, ops) - 752usize]; + ["Offset of field: dax_device::holder_data"] + [::core::mem::offset_of!(dax_device, holder_data) - 760usize]; + ["Offset of field: dax_device::holder_ops"] + [::core::mem::offset_of!(dax_device, holder_ops) - 768usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dax_holder_operations { + pub notify_failure: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dax_device, + arg2: u64_, + arg3: u64_, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dax_holder_operations"][::core::mem::size_of::() - 8usize]; + ["Alignment of dax_holder_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: dax_holder_operations::notify_failure"] + [::core::mem::offset_of!(dax_holder_operations, notify_failure) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dax_operations { + pub direct_access: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dax_device, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_long, + arg4: dax_access_mode, + arg5: *mut *mut ::core::ffi::c_void, + arg6: *mut pfn_t, + ) -> ::core::ffi::c_long, + >, + pub dax_supported: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dax_device, + arg2: *mut block_device, + arg3: ::core::ffi::c_int, + arg4: sector_t, + arg5: sector_t, + ) -> bool_, + >, + pub zero_page_range: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dax_device, + arg2: ::core::ffi::c_ulong, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub recovery_write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dax_device, + arg2: ::core::ffi::c_ulong, + arg3: *mut ::core::ffi::c_void, + arg4: usize, + arg5: *mut iov_iter, + ) -> usize, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dax_operations"][::core::mem::size_of::() - 32usize]; + ["Alignment of dax_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dax_operations::direct_access"] + [::core::mem::offset_of!(dax_operations, direct_access) - 0usize]; + ["Offset of field: dax_operations::dax_supported"] + [::core::mem::offset_of!(dax_operations, dax_supported) - 8usize]; + ["Offset of field: dax_operations::zero_page_range"] + [::core::mem::offset_of!(dax_operations, zero_page_range) - 16usize]; + ["Offset of field: dax_operations::recovery_write"] + [::core::mem::offset_of!(dax_operations, recovery_write) - 24usize]; +}; +#[repr(C)] +pub struct tty_buffer { + pub __bindgen_anon_1: tty_buffer__bindgen_ty_1, + pub used: ::core::ffi::c_uint, + pub size: ::core::ffi::c_uint, + pub commit: ::core::ffi::c_uint, + pub lookahead: ::core::ffi::c_uint, + pub read: ::core::ffi::c_uint, + pub flags: bool_, + pub __bindgen_padding_0: [u8; 3usize], + pub data: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tty_buffer__bindgen_ty_1 { + pub next: *mut tty_buffer, + pub free: llist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_buffer__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of tty_buffer__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_buffer__bindgen_ty_1::next"] + [::core::mem::offset_of!(tty_buffer__bindgen_ty_1, next) - 0usize]; + ["Offset of field: tty_buffer__bindgen_ty_1::free"] + [::core::mem::offset_of!(tty_buffer__bindgen_ty_1, free) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_buffer"][::core::mem::size_of::() - 32usize]; + ["Alignment of tty_buffer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_buffer::used"][::core::mem::offset_of!(tty_buffer, used) - 8usize]; + ["Offset of field: tty_buffer::size"][::core::mem::offset_of!(tty_buffer, size) - 12usize]; + ["Offset of field: tty_buffer::commit"][::core::mem::offset_of!(tty_buffer, commit) - 16usize]; + ["Offset of field: tty_buffer::lookahead"] + [::core::mem::offset_of!(tty_buffer, lookahead) - 20usize]; + ["Offset of field: tty_buffer::read"][::core::mem::offset_of!(tty_buffer, read) - 24usize]; + ["Offset of field: tty_buffer::flags"][::core::mem::offset_of!(tty_buffer, flags) - 28usize]; + ["Offset of field: tty_buffer::data"][::core::mem::offset_of!(tty_buffer, data) - 32usize]; +}; +#[repr(C)] +pub struct tty_bufhead { + pub head: *mut tty_buffer, + pub work: work_struct, + pub lock: mutex, + pub priority: atomic_t, + pub sentinel: tty_buffer, + pub free: llist_head, + pub mem_used: atomic_t, + pub mem_limit: ::core::ffi::c_int, + pub tail: *mut tty_buffer, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_bufhead"][::core::mem::size_of::() - 136usize]; + ["Alignment of tty_bufhead"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_bufhead::head"][::core::mem::offset_of!(tty_bufhead, head) - 0usize]; + ["Offset of field: tty_bufhead::work"][::core::mem::offset_of!(tty_bufhead, work) - 8usize]; + ["Offset of field: tty_bufhead::lock"][::core::mem::offset_of!(tty_bufhead, lock) - 40usize]; + ["Offset of field: tty_bufhead::priority"] + [::core::mem::offset_of!(tty_bufhead, priority) - 72usize]; + ["Offset of field: tty_bufhead::sentinel"] + [::core::mem::offset_of!(tty_bufhead, sentinel) - 80usize]; + ["Offset of field: tty_bufhead::free"][::core::mem::offset_of!(tty_bufhead, free) - 112usize]; + ["Offset of field: tty_bufhead::mem_used"] + [::core::mem::offset_of!(tty_bufhead, mem_used) - 120usize]; + ["Offset of field: tty_bufhead::mem_limit"] + [::core::mem::offset_of!(tty_bufhead, mem_limit) - 124usize]; + ["Offset of field: tty_bufhead::tail"][::core::mem::offset_of!(tty_bufhead, tail) - 128usize]; +}; +#[repr(C)] +pub struct tty_port { + pub buf: tty_bufhead, + pub tty: *mut tty_struct, + pub itty: *mut tty_struct, + pub ops: *const tty_port_operations, + pub client_ops: *const tty_port_client_operations, + pub lock: spinlock_t, + pub blocked_open: ::core::ffi::c_int, + pub count: ::core::ffi::c_int, + pub open_wait: wait_queue_head_t, + pub delta_msr_wait: wait_queue_head_t, + pub flags: ::core::ffi::c_ulong, + pub iflags: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub mutex: mutex, + pub buf_mutex: mutex, + pub xmit_buf: *mut u8_, + pub xmit_fifo: tty_port__bindgen_ty_1, + pub close_delay: ::core::ffi::c_uint, + pub closing_wait: ::core::ffi::c_uint, + pub drain_delay: ::core::ffi::c_int, + pub kref: kref, + pub client_data: *mut ::core::ffi::c_void, +} +#[repr(C)] +pub struct tty_port__bindgen_ty_1 { + pub __bindgen_anon_1: tty_port__bindgen_ty_1__bindgen_ty_1, + pub buf: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tty_port__bindgen_ty_1__bindgen_ty_1 { + pub kfifo: __kfifo, + pub type_: *mut u8_, + pub const_type: *const u8_, + pub rectype: *mut [::core::ffi::c_char; 0usize], + pub ptr: *mut u8_, + pub ptr_const: *const u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_port__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of tty_port__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_port__bindgen_ty_1__bindgen_ty_1::kfifo"] + [::core::mem::offset_of!(tty_port__bindgen_ty_1__bindgen_ty_1, kfifo) - 0usize]; + ["Offset of field: tty_port__bindgen_ty_1__bindgen_ty_1::type_"] + [::core::mem::offset_of!(tty_port__bindgen_ty_1__bindgen_ty_1, type_) - 0usize]; + ["Offset of field: tty_port__bindgen_ty_1__bindgen_ty_1::const_type"] + [::core::mem::offset_of!(tty_port__bindgen_ty_1__bindgen_ty_1, const_type) - 0usize]; + ["Offset of field: tty_port__bindgen_ty_1__bindgen_ty_1::rectype"] + [::core::mem::offset_of!(tty_port__bindgen_ty_1__bindgen_ty_1, rectype) - 0usize]; + ["Offset of field: tty_port__bindgen_ty_1__bindgen_ty_1::ptr"] + [::core::mem::offset_of!(tty_port__bindgen_ty_1__bindgen_ty_1, ptr) - 0usize]; + ["Offset of field: tty_port__bindgen_ty_1__bindgen_ty_1::ptr_const"] + [::core::mem::offset_of!(tty_port__bindgen_ty_1__bindgen_ty_1, ptr_const) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_port__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of tty_port__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_port__bindgen_ty_1::buf"] + [::core::mem::offset_of!(tty_port__bindgen_ty_1, buf) - 24usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_port"][::core::mem::size_of::() - 376usize]; + ["Alignment of tty_port"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_port::buf"][::core::mem::offset_of!(tty_port, buf) - 0usize]; + ["Offset of field: tty_port::tty"][::core::mem::offset_of!(tty_port, tty) - 136usize]; + ["Offset of field: tty_port::itty"][::core::mem::offset_of!(tty_port, itty) - 144usize]; + ["Offset of field: tty_port::ops"][::core::mem::offset_of!(tty_port, ops) - 152usize]; + ["Offset of field: tty_port::client_ops"] + [::core::mem::offset_of!(tty_port, client_ops) - 160usize]; + ["Offset of field: tty_port::lock"][::core::mem::offset_of!(tty_port, lock) - 168usize]; + ["Offset of field: tty_port::blocked_open"] + [::core::mem::offset_of!(tty_port, blocked_open) - 172usize]; + ["Offset of field: tty_port::count"][::core::mem::offset_of!(tty_port, count) - 176usize]; + ["Offset of field: tty_port::open_wait"] + [::core::mem::offset_of!(tty_port, open_wait) - 184usize]; + ["Offset of field: tty_port::delta_msr_wait"] + [::core::mem::offset_of!(tty_port, delta_msr_wait) - 208usize]; + ["Offset of field: tty_port::flags"][::core::mem::offset_of!(tty_port, flags) - 232usize]; + ["Offset of field: tty_port::iflags"][::core::mem::offset_of!(tty_port, iflags) - 240usize]; + ["Offset of field: tty_port::mutex"][::core::mem::offset_of!(tty_port, mutex) - 256usize]; + ["Offset of field: tty_port::buf_mutex"] + [::core::mem::offset_of!(tty_port, buf_mutex) - 288usize]; + ["Offset of field: tty_port::xmit_buf"][::core::mem::offset_of!(tty_port, xmit_buf) - 320usize]; + ["Offset of field: tty_port::xmit_fifo"] + [::core::mem::offset_of!(tty_port, xmit_fifo) - 328usize]; + ["Offset of field: tty_port::close_delay"] + [::core::mem::offset_of!(tty_port, close_delay) - 352usize]; + ["Offset of field: tty_port::closing_wait"] + [::core::mem::offset_of!(tty_port, closing_wait) - 356usize]; + ["Offset of field: tty_port::drain_delay"] + [::core::mem::offset_of!(tty_port, drain_delay) - 360usize]; + ["Offset of field: tty_port::kref"][::core::mem::offset_of!(tty_port, kref) - 364usize]; + ["Offset of field: tty_port::client_data"] + [::core::mem::offset_of!(tty_port, client_data) - 368usize]; +}; +impl tty_port { + #[inline] + pub fn console(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_console(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn console_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_console_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(console: ::core::ffi::c_uchar) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let console: u8 = unsafe { ::core::mem::transmute(console) }; + console as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kobj_type { + pub release: ::core::option::Option, + pub sysfs_ops: *const sysfs_ops, + pub default_groups: *mut *const attribute_group, + pub child_ns_type: ::core::option::Option< + unsafe extern "C" fn(arg1: *const kobject) -> *const kobj_ns_type_operations, + >, + pub namespace: ::core::option::Option< + unsafe extern "C" fn(arg1: *const kobject) -> *const ::core::ffi::c_void, + >, + pub get_ownership: ::core::option::Option< + unsafe extern "C" fn(arg1: *const kobject, arg2: *mut kuid_t, arg3: *mut kgid_t), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kobj_type"][::core::mem::size_of::() - 48usize]; + ["Alignment of kobj_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kobj_type::release"][::core::mem::offset_of!(kobj_type, release) - 0usize]; + ["Offset of field: kobj_type::sysfs_ops"] + [::core::mem::offset_of!(kobj_type, sysfs_ops) - 8usize]; + ["Offset of field: kobj_type::default_groups"] + [::core::mem::offset_of!(kobj_type, default_groups) - 16usize]; + ["Offset of field: kobj_type::child_ns_type"] + [::core::mem::offset_of!(kobj_type, child_ns_type) - 24usize]; + ["Offset of field: kobj_type::namespace"] + [::core::mem::offset_of!(kobj_type, namespace) - 32usize]; + ["Offset of field: kobj_type::get_ownership"] + [::core::mem::offset_of!(kobj_type, get_ownership) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dcb_app { + pub selector: __u8, + pub priority: __u8, + pub protocol: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dcb_app"][::core::mem::size_of::() - 4usize]; + ["Alignment of dcb_app"][::core::mem::align_of::() - 2usize]; + ["Offset of field: dcb_app::selector"][::core::mem::offset_of!(dcb_app, selector) - 0usize]; + ["Offset of field: dcb_app::priority"][::core::mem::offset_of!(dcb_app, priority) - 1usize]; + ["Offset of field: dcb_app::protocol"][::core::mem::offset_of!(dcb_app, protocol) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dcb_peer_app_info { + pub willing: __u8, + pub error: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dcb_peer_app_info"][::core::mem::size_of::() - 2usize]; + ["Alignment of dcb_peer_app_info"][::core::mem::align_of::() - 1usize]; + ["Offset of field: dcb_peer_app_info::willing"] + [::core::mem::offset_of!(dcb_peer_app_info, willing) - 0usize]; + ["Offset of field: dcb_peer_app_info::error"] + [::core::mem::offset_of!(dcb_peer_app_info, error) - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dcbnl_buffer { + pub prio2buffer: [__u8; 8usize], + pub buffer_size: [__u32; 8usize], + pub total_size: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dcbnl_buffer"][::core::mem::size_of::() - 44usize]; + ["Alignment of dcbnl_buffer"][::core::mem::align_of::() - 4usize]; + ["Offset of field: dcbnl_buffer::prio2buffer"] + [::core::mem::offset_of!(dcbnl_buffer, prio2buffer) - 0usize]; + ["Offset of field: dcbnl_buffer::buffer_size"] + [::core::mem::offset_of!(dcbnl_buffer, buffer_size) - 8usize]; + ["Offset of field: dcbnl_buffer::total_size"] + [::core::mem::offset_of!(dcbnl_buffer, total_size) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dcbnl_rtnl_ops { + pub ieee_getets: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_ets) -> ::core::ffi::c_int, + >, + pub ieee_setets: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_ets) -> ::core::ffi::c_int, + >, + pub ieee_getmaxrate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_maxrate) -> ::core::ffi::c_int, + >, + pub ieee_setmaxrate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_maxrate) -> ::core::ffi::c_int, + >, + pub ieee_getqcn: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_qcn) -> ::core::ffi::c_int, + >, + pub ieee_setqcn: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_qcn) -> ::core::ffi::c_int, + >, + pub ieee_getqcnstats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ieee_qcn_stats, + ) -> ::core::ffi::c_int, + >, + pub ieee_getpfc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_pfc) -> ::core::ffi::c_int, + >, + pub ieee_setpfc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_pfc) -> ::core::ffi::c_int, + >, + pub ieee_getapp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcb_app) -> ::core::ffi::c_int, + >, + pub ieee_setapp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcb_app) -> ::core::ffi::c_int, + >, + pub ieee_delapp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcb_app) -> ::core::ffi::c_int, + >, + pub ieee_peer_getets: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_ets) -> ::core::ffi::c_int, + >, + pub ieee_peer_getpfc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ieee_pfc) -> ::core::ffi::c_int, + >, + pub getstate: ::core::option::Option u8_>, + pub setstate: + ::core::option::Option u8_>, + pub getpermhwaddr: + ::core::option::Option, + pub setpgtccfgtx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: u8_, + arg4: u8_, + arg5: u8_, + arg6: u8_, + ), + >, + pub setpgbwgcfgtx: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: u8_), + >, + pub setpgtccfgrx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: u8_, + arg4: u8_, + arg5: u8_, + arg6: u8_, + ), + >, + pub setpgbwgcfgrx: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: u8_), + >, + pub getpgtccfgtx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut u8_, + arg4: *mut u8_, + arg5: *mut u8_, + arg6: *mut u8_, + ), + >, + pub getpgbwgcfgtx: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: *mut u8_), + >, + pub getpgtccfgrx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut u8_, + arg4: *mut u8_, + arg5: *mut u8_, + arg6: *mut u8_, + ), + >, + pub getpgbwgcfgrx: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: *mut u8_), + >, + pub setpfccfg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: u8_), + >, + pub getpfccfg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: *mut u8_), + >, + pub setall: ::core::option::Option u8_>, + pub getcap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut u8_, + ) -> u8_, + >, + pub getnumtcs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub setnumtcs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: u8_, + ) -> ::core::ffi::c_int, + >, + pub getpfcstate: ::core::option::Option u8_>, + pub setpfcstate: ::core::option::Option, + pub getbcncfg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: *mut u32_), + >, + pub setbcncfg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: u32_), + >, + pub getbcnrp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: *mut u8_), + >, + pub setbcnrp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: u8_), + >, + pub setapp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: u8_, + arg3: u16_, + arg4: u8_, + ) -> ::core::ffi::c_int, + >, + pub getapp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: u8_, arg3: u16_) -> ::core::ffi::c_int, + >, + pub getfeatcfg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut u8_, + ) -> u8_, + >, + pub setfeatcfg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int, arg3: u8_) -> u8_, + >, + pub getdcbx: ::core::option::Option u8_>, + pub setdcbx: + ::core::option::Option u8_>, + pub peer_getappinfo: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut dcb_peer_app_info, + arg3: *mut u16_, + ) -> ::core::ffi::c_int, + >, + pub peer_getapptable: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcb_app) -> ::core::ffi::c_int, + >, + pub cee_peer_getpg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut cee_pg) -> ::core::ffi::c_int, + >, + pub cee_peer_getpfc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut cee_pfc) -> ::core::ffi::c_int, + >, + pub dcbnl_getbuffer: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcbnl_buffer) -> ::core::ffi::c_int, + >, + pub dcbnl_setbuffer: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcbnl_buffer) -> ::core::ffi::c_int, + >, + pub dcbnl_setapptrust: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut u8_, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub dcbnl_getapptrust: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut u8_, + arg3: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub dcbnl_setrewr: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcb_app) -> ::core::ffi::c_int, + >, + pub dcbnl_delrewr: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut dcb_app) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dcbnl_rtnl_ops"][::core::mem::size_of::() - 424usize]; + ["Alignment of dcbnl_rtnl_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_getets"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_getets) - 0usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_setets"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_setets) - 8usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_getmaxrate"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_getmaxrate) - 16usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_setmaxrate"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_setmaxrate) - 24usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_getqcn"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_getqcn) - 32usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_setqcn"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_setqcn) - 40usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_getqcnstats"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_getqcnstats) - 48usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_getpfc"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_getpfc) - 56usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_setpfc"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_setpfc) - 64usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_getapp"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_getapp) - 72usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_setapp"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_setapp) - 80usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_delapp"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_delapp) - 88usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_peer_getets"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_peer_getets) - 96usize]; + ["Offset of field: dcbnl_rtnl_ops::ieee_peer_getpfc"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, ieee_peer_getpfc) - 104usize]; + ["Offset of field: dcbnl_rtnl_ops::getstate"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getstate) - 112usize]; + ["Offset of field: dcbnl_rtnl_ops::setstate"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setstate) - 120usize]; + ["Offset of field: dcbnl_rtnl_ops::getpermhwaddr"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getpermhwaddr) - 128usize]; + ["Offset of field: dcbnl_rtnl_ops::setpgtccfgtx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setpgtccfgtx) - 136usize]; + ["Offset of field: dcbnl_rtnl_ops::setpgbwgcfgtx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setpgbwgcfgtx) - 144usize]; + ["Offset of field: dcbnl_rtnl_ops::setpgtccfgrx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setpgtccfgrx) - 152usize]; + ["Offset of field: dcbnl_rtnl_ops::setpgbwgcfgrx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setpgbwgcfgrx) - 160usize]; + ["Offset of field: dcbnl_rtnl_ops::getpgtccfgtx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getpgtccfgtx) - 168usize]; + ["Offset of field: dcbnl_rtnl_ops::getpgbwgcfgtx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getpgbwgcfgtx) - 176usize]; + ["Offset of field: dcbnl_rtnl_ops::getpgtccfgrx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getpgtccfgrx) - 184usize]; + ["Offset of field: dcbnl_rtnl_ops::getpgbwgcfgrx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getpgbwgcfgrx) - 192usize]; + ["Offset of field: dcbnl_rtnl_ops::setpfccfg"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setpfccfg) - 200usize]; + ["Offset of field: dcbnl_rtnl_ops::getpfccfg"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getpfccfg) - 208usize]; + ["Offset of field: dcbnl_rtnl_ops::setall"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setall) - 216usize]; + ["Offset of field: dcbnl_rtnl_ops::getcap"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getcap) - 224usize]; + ["Offset of field: dcbnl_rtnl_ops::getnumtcs"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getnumtcs) - 232usize]; + ["Offset of field: dcbnl_rtnl_ops::setnumtcs"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setnumtcs) - 240usize]; + ["Offset of field: dcbnl_rtnl_ops::getpfcstate"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getpfcstate) - 248usize]; + ["Offset of field: dcbnl_rtnl_ops::setpfcstate"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setpfcstate) - 256usize]; + ["Offset of field: dcbnl_rtnl_ops::getbcncfg"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getbcncfg) - 264usize]; + ["Offset of field: dcbnl_rtnl_ops::setbcncfg"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setbcncfg) - 272usize]; + ["Offset of field: dcbnl_rtnl_ops::getbcnrp"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getbcnrp) - 280usize]; + ["Offset of field: dcbnl_rtnl_ops::setbcnrp"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setbcnrp) - 288usize]; + ["Offset of field: dcbnl_rtnl_ops::setapp"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setapp) - 296usize]; + ["Offset of field: dcbnl_rtnl_ops::getapp"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getapp) - 304usize]; + ["Offset of field: dcbnl_rtnl_ops::getfeatcfg"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getfeatcfg) - 312usize]; + ["Offset of field: dcbnl_rtnl_ops::setfeatcfg"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setfeatcfg) - 320usize]; + ["Offset of field: dcbnl_rtnl_ops::getdcbx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, getdcbx) - 328usize]; + ["Offset of field: dcbnl_rtnl_ops::setdcbx"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, setdcbx) - 336usize]; + ["Offset of field: dcbnl_rtnl_ops::peer_getappinfo"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, peer_getappinfo) - 344usize]; + ["Offset of field: dcbnl_rtnl_ops::peer_getapptable"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, peer_getapptable) - 352usize]; + ["Offset of field: dcbnl_rtnl_ops::cee_peer_getpg"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, cee_peer_getpg) - 360usize]; + ["Offset of field: dcbnl_rtnl_ops::cee_peer_getpfc"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, cee_peer_getpfc) - 368usize]; + ["Offset of field: dcbnl_rtnl_ops::dcbnl_getbuffer"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, dcbnl_getbuffer) - 376usize]; + ["Offset of field: dcbnl_rtnl_ops::dcbnl_setbuffer"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, dcbnl_setbuffer) - 384usize]; + ["Offset of field: dcbnl_rtnl_ops::dcbnl_setapptrust"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, dcbnl_setapptrust) - 392usize]; + ["Offset of field: dcbnl_rtnl_ops::dcbnl_getapptrust"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, dcbnl_getapptrust) - 400usize]; + ["Offset of field: dcbnl_rtnl_ops::dcbnl_setrewr"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, dcbnl_setrewr) - 408usize]; + ["Offset of field: dcbnl_rtnl_ops::dcbnl_delrewr"] + [::core::mem::offset_of!(dcbnl_rtnl_ops, dcbnl_delrewr) - 416usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ddebug_class_map { + pub link: list_head, + pub mod_: *mut module, + pub mod_name: *const ::core::ffi::c_char, + pub class_names: *mut *const ::core::ffi::c_char, + pub length: ::core::ffi::c_int, + pub base: ::core::ffi::c_int, + pub map_type: class_map_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ddebug_class_map"][::core::mem::size_of::() - 56usize]; + ["Alignment of ddebug_class_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ddebug_class_map::link"] + [::core::mem::offset_of!(ddebug_class_map, link) - 0usize]; + ["Offset of field: ddebug_class_map::mod_"] + [::core::mem::offset_of!(ddebug_class_map, mod_) - 16usize]; + ["Offset of field: ddebug_class_map::mod_name"] + [::core::mem::offset_of!(ddebug_class_map, mod_name) - 24usize]; + ["Offset of field: ddebug_class_map::class_names"] + [::core::mem::offset_of!(ddebug_class_map, class_names) - 32usize]; + ["Offset of field: ddebug_class_map::length"] + [::core::mem::offset_of!(ddebug_class_map, length) - 40usize]; + ["Offset of field: ddebug_class_map::base"] + [::core::mem::offset_of!(ddebug_class_map, base) - 44usize]; + ["Offset of field: ddebug_class_map::map_type"] + [::core::mem::offset_of!(ddebug_class_map, map_type) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct deferred_split { + pub split_queue_lock: spinlock_t, + pub split_queue: list_head, + pub split_queue_len: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of deferred_split"][::core::mem::size_of::() - 32usize]; + ["Alignment of deferred_split"][::core::mem::align_of::() - 8usize]; + ["Offset of field: deferred_split::split_queue_lock"] + [::core::mem::offset_of!(deferred_split, split_queue_lock) - 0usize]; + ["Offset of field: deferred_split::split_queue"] + [::core::mem::offset_of!(deferred_split, split_queue) - 8usize]; + ["Offset of field: deferred_split::split_queue_len"] + [::core::mem::offset_of!(deferred_split, split_queue_len) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct delayed_call { + pub fn_: ::core::option::Option, + pub arg: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of delayed_call"][::core::mem::size_of::() - 16usize]; + ["Alignment of delayed_call"][::core::mem::align_of::() - 8usize]; + ["Offset of field: delayed_call::fn_"][::core::mem::offset_of!(delayed_call, fn_) - 0usize]; + ["Offset of field: delayed_call::arg"][::core::mem::offset_of!(delayed_call, arg) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hlist_bl_node { + pub next: *mut hlist_bl_node, + pub pprev: *mut *mut hlist_bl_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hlist_bl_node"][::core::mem::size_of::() - 16usize]; + ["Alignment of hlist_bl_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hlist_bl_node::next"][::core::mem::offset_of!(hlist_bl_node, next) - 0usize]; + ["Offset of field: hlist_bl_node::pprev"] + [::core::mem::offset_of!(hlist_bl_node, pprev) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct lockref { + pub __bindgen_anon_1: lockref__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union lockref__bindgen_ty_1 { + pub lock_count: __u64, + pub __bindgen_anon_1: lockref__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct lockref__bindgen_ty_1__bindgen_ty_1 { + pub lock: spinlock_t, + pub count: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lockref__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of lockref__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: lockref__bindgen_ty_1__bindgen_ty_1::lock"] + [::core::mem::offset_of!(lockref__bindgen_ty_1__bindgen_ty_1, lock) - 0usize]; + ["Offset of field: lockref__bindgen_ty_1__bindgen_ty_1::count"] + [::core::mem::offset_of!(lockref__bindgen_ty_1__bindgen_ty_1, count) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lockref__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of lockref__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: lockref__bindgen_ty_1::lock_count"] + [::core::mem::offset_of!(lockref__bindgen_ty_1, lock_count) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lockref"][::core::mem::size_of::() - 8usize]; + ["Alignment of lockref"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dentry { + pub d_flags: ::core::ffi::c_uint, + pub d_seq: seqcount_spinlock_t, + pub d_hash: hlist_bl_node, + pub d_parent: *mut dentry, + pub d_name: qstr, + pub d_inode: *mut inode, + pub d_iname: [::core::ffi::c_uchar; 40usize], + pub d_op: *const dentry_operations, + pub d_sb: *mut super_block, + pub d_time: ::core::ffi::c_ulong, + pub d_fsdata: *mut ::core::ffi::c_void, + pub d_lockref: lockref, + pub __bindgen_anon_1: dentry__bindgen_ty_1, + pub d_sib: hlist_node, + pub d_children: hlist_head, + pub d_u: dentry__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union dentry__bindgen_ty_1 { + pub d_lru: list_head, + pub d_wait: *mut wait_queue_head_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dentry__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of dentry__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dentry__bindgen_ty_1::d_lru"] + [::core::mem::offset_of!(dentry__bindgen_ty_1, d_lru) - 0usize]; + ["Offset of field: dentry__bindgen_ty_1::d_wait"] + [::core::mem::offset_of!(dentry__bindgen_ty_1, d_wait) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union dentry__bindgen_ty_2 { + pub d_alias: hlist_node, + pub d_in_lookup_hash: hlist_bl_node, + pub d_rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dentry__bindgen_ty_2"][::core::mem::size_of::() - 16usize]; + ["Alignment of dentry__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dentry__bindgen_ty_2::d_alias"] + [::core::mem::offset_of!(dentry__bindgen_ty_2, d_alias) - 0usize]; + ["Offset of field: dentry__bindgen_ty_2::d_in_lookup_hash"] + [::core::mem::offset_of!(dentry__bindgen_ty_2, d_in_lookup_hash) - 0usize]; + ["Offset of field: dentry__bindgen_ty_2::d_rcu"] + [::core::mem::offset_of!(dentry__bindgen_ty_2, d_rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dentry"][::core::mem::size_of::() - 192usize]; + ["Alignment of dentry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dentry::d_flags"][::core::mem::offset_of!(dentry, d_flags) - 0usize]; + ["Offset of field: dentry::d_seq"][::core::mem::offset_of!(dentry, d_seq) - 4usize]; + ["Offset of field: dentry::d_hash"][::core::mem::offset_of!(dentry, d_hash) - 8usize]; + ["Offset of field: dentry::d_parent"][::core::mem::offset_of!(dentry, d_parent) - 24usize]; + ["Offset of field: dentry::d_name"][::core::mem::offset_of!(dentry, d_name) - 32usize]; + ["Offset of field: dentry::d_inode"][::core::mem::offset_of!(dentry, d_inode) - 48usize]; + ["Offset of field: dentry::d_iname"][::core::mem::offset_of!(dentry, d_iname) - 56usize]; + ["Offset of field: dentry::d_op"][::core::mem::offset_of!(dentry, d_op) - 96usize]; + ["Offset of field: dentry::d_sb"][::core::mem::offset_of!(dentry, d_sb) - 104usize]; + ["Offset of field: dentry::d_time"][::core::mem::offset_of!(dentry, d_time) - 112usize]; + ["Offset of field: dentry::d_fsdata"][::core::mem::offset_of!(dentry, d_fsdata) - 120usize]; + ["Offset of field: dentry::d_lockref"][::core::mem::offset_of!(dentry, d_lockref) - 128usize]; + ["Offset of field: dentry::d_sib"][::core::mem::offset_of!(dentry, d_sib) - 152usize]; + ["Offset of field: dentry::d_children"][::core::mem::offset_of!(dentry, d_children) - 168usize]; + ["Offset of field: dentry::d_u"][::core::mem::offset_of!(dentry, d_u) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dentry_operations { + pub d_revalidate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dentry, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub d_weak_revalidate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dentry, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub d_hash: ::core::option::Option< + unsafe extern "C" fn(arg1: *const dentry, arg2: *mut qstr) -> ::core::ffi::c_int, + >, + pub d_compare: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const dentry, + arg2: ::core::ffi::c_uint, + arg3: *const ::core::ffi::c_char, + arg4: *const qstr, + ) -> ::core::ffi::c_int, + >, + pub d_delete: + ::core::option::Option ::core::ffi::c_int>, + pub d_init: + ::core::option::Option ::core::ffi::c_int>, + pub d_release: ::core::option::Option, + pub d_prune: ::core::option::Option, + pub d_iput: ::core::option::Option, + pub d_dname: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dentry, + arg2: *mut ::core::ffi::c_char, + arg3: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_char, + >, + pub d_automount: ::core::option::Option *mut vfsmount>, + pub d_manage: ::core::option::Option< + unsafe extern "C" fn(arg1: *const path, arg2: bool_) -> ::core::ffi::c_int, + >, + pub d_real: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dentry, arg2: d_real_type) -> *mut dentry, + >, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dentry_operations"][::core::mem::size_of::() - 128usize]; + ["Alignment of dentry_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dentry_operations::d_revalidate"] + [::core::mem::offset_of!(dentry_operations, d_revalidate) - 0usize]; + ["Offset of field: dentry_operations::d_weak_revalidate"] + [::core::mem::offset_of!(dentry_operations, d_weak_revalidate) - 8usize]; + ["Offset of field: dentry_operations::d_hash"] + [::core::mem::offset_of!(dentry_operations, d_hash) - 16usize]; + ["Offset of field: dentry_operations::d_compare"] + [::core::mem::offset_of!(dentry_operations, d_compare) - 24usize]; + ["Offset of field: dentry_operations::d_delete"] + [::core::mem::offset_of!(dentry_operations, d_delete) - 32usize]; + ["Offset of field: dentry_operations::d_init"] + [::core::mem::offset_of!(dentry_operations, d_init) - 40usize]; + ["Offset of field: dentry_operations::d_release"] + [::core::mem::offset_of!(dentry_operations, d_release) - 48usize]; + ["Offset of field: dentry_operations::d_prune"] + [::core::mem::offset_of!(dentry_operations, d_prune) - 56usize]; + ["Offset of field: dentry_operations::d_iput"] + [::core::mem::offset_of!(dentry_operations, d_iput) - 64usize]; + ["Offset of field: dentry_operations::d_dname"] + [::core::mem::offset_of!(dentry_operations, d_dname) - 72usize]; + ["Offset of field: dentry_operations::d_automount"] + [::core::mem::offset_of!(dentry_operations, d_automount) - 80usize]; + ["Offset of field: dentry_operations::d_manage"] + [::core::mem::offset_of!(dentry_operations, d_manage) - 88usize]; + ["Offset of field: dentry_operations::d_real"] + [::core::mem::offset_of!(dentry_operations, d_real) - 96usize]; +}; +impl dentry_operations { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct desc_struct { + pub limit0: u16_, + pub base0: u16_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of desc_struct"][::core::mem::size_of::() - 8usize]; + ["Alignment of desc_struct"][::core::mem::align_of::() - 2usize]; + ["Offset of field: desc_struct::limit0"][::core::mem::offset_of!(desc_struct, limit0) - 0usize]; + ["Offset of field: desc_struct::base0"][::core::mem::offset_of!(desc_struct, base0) - 2usize]; +}; +impl desc_struct { + #[inline] + pub fn base1(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) } + } + #[inline] + pub fn set_base1(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn base1_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_base1_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn type_(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u16) } + } + #[inline] + pub fn set_type(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn type__raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 4u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_type_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn s(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_s(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn s_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_s_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dpl(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u16) } + } + #[inline] + pub fn set_dpl(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn dpl_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 13usize, + 2u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_dpl_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 13usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn p(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_p(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn p_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 15usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_p_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 15usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn limit1(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u16) } + } + #[inline] + pub fn set_limit1(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn limit1_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 4u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_limit1_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn avl(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u16) } + } + #[inline] + pub fn set_avl(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn avl_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 20usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_avl_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 20usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn l(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u16) } + } + #[inline] + pub fn set_l(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn l_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 21usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_l_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 21usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn d(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u16) } + } + #[inline] + pub fn set_d(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn d_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 22usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_d_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 22usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn g(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u16) } + } + #[inline] + pub fn set_g(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn g_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 23usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_g_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 23usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn base2(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u16) } + } + #[inline] + pub fn set_base2(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn base2_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 24usize, + 8u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_base2_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 24usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + base1: u16_, + type_: u16_, + s: u16_, + dpl: u16_, + p: u16_, + limit1: u16_, + avl: u16_, + l: u16_, + d: u16_, + g: u16_, + base2: u16_, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let base1: u16 = unsafe { ::core::mem::transmute(base1) }; + base1 as u64 + }); + __bindgen_bitfield_unit.set(8usize, 4u8, { + let type_: u16 = unsafe { ::core::mem::transmute(type_) }; + type_ as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let s: u16 = unsafe { ::core::mem::transmute(s) }; + s as u64 + }); + __bindgen_bitfield_unit.set(13usize, 2u8, { + let dpl: u16 = unsafe { ::core::mem::transmute(dpl) }; + dpl as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let p: u16 = unsafe { ::core::mem::transmute(p) }; + p as u64 + }); + __bindgen_bitfield_unit.set(16usize, 4u8, { + let limit1: u16 = unsafe { ::core::mem::transmute(limit1) }; + limit1 as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let avl: u16 = unsafe { ::core::mem::transmute(avl) }; + avl as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let l: u16 = unsafe { ::core::mem::transmute(l) }; + l as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let d: u16 = unsafe { ::core::mem::transmute(d) }; + d as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let g: u16 = unsafe { ::core::mem::transmute(g) }; + g as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let base2: u16 = unsafe { ::core::mem::transmute(base2) }; + base2 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug)] +pub struct dev_ifalias { + pub rcuhead: callback_head, + pub ifalias: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_ifalias"][::core::mem::size_of::() - 16usize]; + ["Alignment of dev_ifalias"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_ifalias::rcuhead"] + [::core::mem::offset_of!(dev_ifalias, rcuhead) - 0usize]; + ["Offset of field: dev_ifalias::ifalias"] + [::core::mem::offset_of!(dev_ifalias, ifalias) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dev_iommu { + pub lock: mutex, + pub fault_param: *mut iommu_fault_param, + pub fwspec: *mut iommu_fwspec, + pub iommu_dev: *mut iommu_device, + pub priv_: *mut ::core::ffi::c_void, + pub max_pasids: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_iommu"][::core::mem::size_of::() - 72usize]; + ["Alignment of dev_iommu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_iommu::lock"][::core::mem::offset_of!(dev_iommu, lock) - 0usize]; + ["Offset of field: dev_iommu::fault_param"] + [::core::mem::offset_of!(dev_iommu, fault_param) - 32usize]; + ["Offset of field: dev_iommu::fwspec"][::core::mem::offset_of!(dev_iommu, fwspec) - 40usize]; + ["Offset of field: dev_iommu::iommu_dev"] + [::core::mem::offset_of!(dev_iommu, iommu_dev) - 48usize]; + ["Offset of field: dev_iommu::priv_"][::core::mem::offset_of!(dev_iommu, priv_) - 56usize]; + ["Offset of field: dev_iommu::max_pasids"] + [::core::mem::offset_of!(dev_iommu, max_pasids) - 64usize]; +}; +impl dev_iommu { + #[inline] + pub fn attach_deferred(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_attach_deferred(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn attach_deferred_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_attach_deferred_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn pci_32bit_workaround(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_pci_32bit_workaround(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn pci_32bit_workaround_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_pci_32bit_workaround_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn require_direct(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_require_direct(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn require_direct_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_require_direct_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn shadow_on_flush(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_shadow_on_flush(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn shadow_on_flush_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_shadow_on_flush_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + attach_deferred: u32_, + pci_32bit_workaround: u32_, + require_direct: u32_, + shadow_on_flush: u32_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let attach_deferred: u32 = unsafe { ::core::mem::transmute(attach_deferred) }; + attach_deferred as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let pci_32bit_workaround: u32 = unsafe { ::core::mem::transmute(pci_32bit_workaround) }; + pci_32bit_workaround as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let require_direct: u32 = unsafe { ::core::mem::transmute(require_direct) }; + require_direct as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let shadow_on_flush: u32 = unsafe { ::core::mem::transmute(shadow_on_flush) }; + shadow_on_flush as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vmem_altmap { + pub base_pfn: ::core::ffi::c_ulong, + pub end_pfn: ::core::ffi::c_ulong, + pub reserve: ::core::ffi::c_ulong, + pub free: ::core::ffi::c_ulong, + pub align: ::core::ffi::c_ulong, + pub alloc: ::core::ffi::c_ulong, + pub inaccessible: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vmem_altmap"][::core::mem::size_of::() - 56usize]; + ["Alignment of vmem_altmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vmem_altmap::base_pfn"] + [::core::mem::offset_of!(vmem_altmap, base_pfn) - 0usize]; + ["Offset of field: vmem_altmap::end_pfn"] + [::core::mem::offset_of!(vmem_altmap, end_pfn) - 8usize]; + ["Offset of field: vmem_altmap::reserve"] + [::core::mem::offset_of!(vmem_altmap, reserve) - 16usize]; + ["Offset of field: vmem_altmap::free"][::core::mem::offset_of!(vmem_altmap, free) - 24usize]; + ["Offset of field: vmem_altmap::align"][::core::mem::offset_of!(vmem_altmap, align) - 32usize]; + ["Offset of field: vmem_altmap::alloc"][::core::mem::offset_of!(vmem_altmap, alloc) - 40usize]; + ["Offset of field: vmem_altmap::inaccessible"] + [::core::mem::offset_of!(vmem_altmap, inaccessible) - 48usize]; +}; +#[repr(C)] +pub struct dev_pagemap { + pub altmap: vmem_altmap, + pub ref_: percpu_ref, + pub done: completion, + pub type_: memory_type, + pub flags: ::core::ffi::c_uint, + pub vmemmap_shift: ::core::ffi::c_ulong, + pub ops: *const dev_pagemap_ops, + pub owner: *mut ::core::ffi::c_void, + pub nr_range: ::core::ffi::c_int, + pub __bindgen_anon_1: dev_pagemap__bindgen_ty_1, +} +#[repr(C)] +pub struct dev_pagemap__bindgen_ty_1 { + pub range: __BindgenUnionField, + pub __bindgen_anon_1: __BindgenUnionField, + pub bindgen_union_field: [u64; 2usize], +} +#[repr(C)] +#[derive(Debug)] +pub struct dev_pagemap__bindgen_ty_1__bindgen_ty_1 { + pub __empty_ranges: dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub ranges: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pagemap__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of dev_pagemap__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pagemap__bindgen_ty_1__bindgen_ty_1::__empty_ranges"] + [::core::mem::offset_of!(dev_pagemap__bindgen_ty_1__bindgen_ty_1, __empty_ranges) - 0usize]; + ["Offset of field: dev_pagemap__bindgen_ty_1__bindgen_ty_1::ranges"] + [::core::mem::offset_of!(dev_pagemap__bindgen_ty_1__bindgen_ty_1, ranges) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pagemap__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of dev_pagemap__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pagemap__bindgen_ty_1::range"] + [::core::mem::offset_of!(dev_pagemap__bindgen_ty_1, range) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pagemap"][::core::mem::size_of::() - 160usize]; + ["Alignment of dev_pagemap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pagemap::altmap"][::core::mem::offset_of!(dev_pagemap, altmap) - 0usize]; + ["Offset of field: dev_pagemap::ref_"][::core::mem::offset_of!(dev_pagemap, ref_) - 56usize]; + ["Offset of field: dev_pagemap::done"][::core::mem::offset_of!(dev_pagemap, done) - 72usize]; + ["Offset of field: dev_pagemap::type_"][::core::mem::offset_of!(dev_pagemap, type_) - 104usize]; + ["Offset of field: dev_pagemap::flags"][::core::mem::offset_of!(dev_pagemap, flags) - 108usize]; + ["Offset of field: dev_pagemap::vmemmap_shift"] + [::core::mem::offset_of!(dev_pagemap, vmemmap_shift) - 112usize]; + ["Offset of field: dev_pagemap::ops"][::core::mem::offset_of!(dev_pagemap, ops) - 120usize]; + ["Offset of field: dev_pagemap::owner"][::core::mem::offset_of!(dev_pagemap, owner) - 128usize]; + ["Offset of field: dev_pagemap::nr_range"] + [::core::mem::offset_of!(dev_pagemap, nr_range) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_pagemap_ops { + pub page_free: ::core::option::Option, + pub migrate_to_ram: + ::core::option::Option vm_fault_t>, + pub memory_failure: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dev_pagemap, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pagemap_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of dev_pagemap_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pagemap_ops::page_free"] + [::core::mem::offset_of!(dev_pagemap_ops, page_free) - 0usize]; + ["Offset of field: dev_pagemap_ops::migrate_to_ram"] + [::core::mem::offset_of!(dev_pagemap_ops, migrate_to_ram) - 8usize]; + ["Offset of field: dev_pagemap_ops::memory_failure"] + [::core::mem::offset_of!(dev_pagemap_ops, memory_failure) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_pin_info { + pub p: *mut pinctrl, + pub default_state: *mut pinctrl_state, + pub init_state: *mut pinctrl_state, + pub sleep_state: *mut pinctrl_state, + pub idle_state: *mut pinctrl_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pin_info"][::core::mem::size_of::() - 40usize]; + ["Alignment of dev_pin_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pin_info::p"][::core::mem::offset_of!(dev_pin_info, p) - 0usize]; + ["Offset of field: dev_pin_info::default_state"] + [::core::mem::offset_of!(dev_pin_info, default_state) - 8usize]; + ["Offset of field: dev_pin_info::init_state"] + [::core::mem::offset_of!(dev_pin_info, init_state) - 16usize]; + ["Offset of field: dev_pin_info::sleep_state"] + [::core::mem::offset_of!(dev_pin_info, sleep_state) - 24usize]; + ["Offset of field: dev_pin_info::idle_state"] + [::core::mem::offset_of!(dev_pin_info, idle_state) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_pm_ops { + pub prepare: + ::core::option::Option ::core::ffi::c_int>, + pub complete: ::core::option::Option, + pub suspend: + ::core::option::Option ::core::ffi::c_int>, + pub resume: + ::core::option::Option ::core::ffi::c_int>, + pub freeze: + ::core::option::Option ::core::ffi::c_int>, + pub thaw: ::core::option::Option ::core::ffi::c_int>, + pub poweroff: + ::core::option::Option ::core::ffi::c_int>, + pub restore: + ::core::option::Option ::core::ffi::c_int>, + pub suspend_late: + ::core::option::Option ::core::ffi::c_int>, + pub resume_early: + ::core::option::Option ::core::ffi::c_int>, + pub freeze_late: + ::core::option::Option ::core::ffi::c_int>, + pub thaw_early: + ::core::option::Option ::core::ffi::c_int>, + pub poweroff_late: + ::core::option::Option ::core::ffi::c_int>, + pub restore_early: + ::core::option::Option ::core::ffi::c_int>, + pub suspend_noirq: + ::core::option::Option ::core::ffi::c_int>, + pub resume_noirq: + ::core::option::Option ::core::ffi::c_int>, + pub freeze_noirq: + ::core::option::Option ::core::ffi::c_int>, + pub thaw_noirq: + ::core::option::Option ::core::ffi::c_int>, + pub poweroff_noirq: + ::core::option::Option ::core::ffi::c_int>, + pub restore_noirq: + ::core::option::Option ::core::ffi::c_int>, + pub runtime_suspend: + ::core::option::Option ::core::ffi::c_int>, + pub runtime_resume: + ::core::option::Option ::core::ffi::c_int>, + pub runtime_idle: + ::core::option::Option ::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pm_ops"][::core::mem::size_of::() - 184usize]; + ["Alignment of dev_pm_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pm_ops::prepare"][::core::mem::offset_of!(dev_pm_ops, prepare) - 0usize]; + ["Offset of field: dev_pm_ops::complete"] + [::core::mem::offset_of!(dev_pm_ops, complete) - 8usize]; + ["Offset of field: dev_pm_ops::suspend"] + [::core::mem::offset_of!(dev_pm_ops, suspend) - 16usize]; + ["Offset of field: dev_pm_ops::resume"][::core::mem::offset_of!(dev_pm_ops, resume) - 24usize]; + ["Offset of field: dev_pm_ops::freeze"][::core::mem::offset_of!(dev_pm_ops, freeze) - 32usize]; + ["Offset of field: dev_pm_ops::thaw"][::core::mem::offset_of!(dev_pm_ops, thaw) - 40usize]; + ["Offset of field: dev_pm_ops::poweroff"] + [::core::mem::offset_of!(dev_pm_ops, poweroff) - 48usize]; + ["Offset of field: dev_pm_ops::restore"] + [::core::mem::offset_of!(dev_pm_ops, restore) - 56usize]; + ["Offset of field: dev_pm_ops::suspend_late"] + [::core::mem::offset_of!(dev_pm_ops, suspend_late) - 64usize]; + ["Offset of field: dev_pm_ops::resume_early"] + [::core::mem::offset_of!(dev_pm_ops, resume_early) - 72usize]; + ["Offset of field: dev_pm_ops::freeze_late"] + [::core::mem::offset_of!(dev_pm_ops, freeze_late) - 80usize]; + ["Offset of field: dev_pm_ops::thaw_early"] + [::core::mem::offset_of!(dev_pm_ops, thaw_early) - 88usize]; + ["Offset of field: dev_pm_ops::poweroff_late"] + [::core::mem::offset_of!(dev_pm_ops, poweroff_late) - 96usize]; + ["Offset of field: dev_pm_ops::restore_early"] + [::core::mem::offset_of!(dev_pm_ops, restore_early) - 104usize]; + ["Offset of field: dev_pm_ops::suspend_noirq"] + [::core::mem::offset_of!(dev_pm_ops, suspend_noirq) - 112usize]; + ["Offset of field: dev_pm_ops::resume_noirq"] + [::core::mem::offset_of!(dev_pm_ops, resume_noirq) - 120usize]; + ["Offset of field: dev_pm_ops::freeze_noirq"] + [::core::mem::offset_of!(dev_pm_ops, freeze_noirq) - 128usize]; + ["Offset of field: dev_pm_ops::thaw_noirq"] + [::core::mem::offset_of!(dev_pm_ops, thaw_noirq) - 136usize]; + ["Offset of field: dev_pm_ops::poweroff_noirq"] + [::core::mem::offset_of!(dev_pm_ops, poweroff_noirq) - 144usize]; + ["Offset of field: dev_pm_ops::restore_noirq"] + [::core::mem::offset_of!(dev_pm_ops, restore_noirq) - 152usize]; + ["Offset of field: dev_pm_ops::runtime_suspend"] + [::core::mem::offset_of!(dev_pm_ops, runtime_suspend) - 160usize]; + ["Offset of field: dev_pm_ops::runtime_resume"] + [::core::mem::offset_of!(dev_pm_ops, runtime_resume) - 168usize]; + ["Offset of field: dev_pm_ops::runtime_idle"] + [::core::mem::offset_of!(dev_pm_ops, runtime_idle) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dev_pm_domain { + pub ops: dev_pm_ops, + pub start: + ::core::option::Option ::core::ffi::c_int>, + pub detach: ::core::option::Option, + pub activate: + ::core::option::Option ::core::ffi::c_int>, + pub sync: ::core::option::Option, + pub dismiss: ::core::option::Option, + pub set_performance_state: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pm_domain"][::core::mem::size_of::() - 232usize]; + ["Alignment of dev_pm_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pm_domain::ops"][::core::mem::offset_of!(dev_pm_domain, ops) - 0usize]; + ["Offset of field: dev_pm_domain::start"] + [::core::mem::offset_of!(dev_pm_domain, start) - 184usize]; + ["Offset of field: dev_pm_domain::detach"] + [::core::mem::offset_of!(dev_pm_domain, detach) - 192usize]; + ["Offset of field: dev_pm_domain::activate"] + [::core::mem::offset_of!(dev_pm_domain, activate) - 200usize]; + ["Offset of field: dev_pm_domain::sync"] + [::core::mem::offset_of!(dev_pm_domain, sync) - 208usize]; + ["Offset of field: dev_pm_domain::dismiss"] + [::core::mem::offset_of!(dev_pm_domain, dismiss) - 216usize]; + ["Offset of field: dev_pm_domain::set_performance_state"] + [::core::mem::offset_of!(dev_pm_domain, set_performance_state) - 224usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_qos_flags { + pub list: list_head, + pub effective_flags: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pm_qos_flags"][::core::mem::size_of::() - 24usize]; + ["Alignment of pm_qos_flags"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pm_qos_flags::list"][::core::mem::offset_of!(pm_qos_flags, list) - 0usize]; + ["Offset of field: pm_qos_flags::effective_flags"] + [::core::mem::offset_of!(pm_qos_flags, effective_flags) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dev_pm_qos { + pub resume_latency: pm_qos_constraints, + pub latency_tolerance: pm_qos_constraints, + pub freq: freq_constraints, + pub flags: pm_qos_flags, + pub resume_latency_req: *mut dev_pm_qos_request, + pub latency_tolerance_req: *mut dev_pm_qos_request, + pub flags_req: *mut dev_pm_qos_request, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pm_qos"][::core::mem::size_of::() - 304usize]; + ["Alignment of dev_pm_qos"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pm_qos::resume_latency"] + [::core::mem::offset_of!(dev_pm_qos, resume_latency) - 0usize]; + ["Offset of field: dev_pm_qos::latency_tolerance"] + [::core::mem::offset_of!(dev_pm_qos, latency_tolerance) - 40usize]; + ["Offset of field: dev_pm_qos::freq"][::core::mem::offset_of!(dev_pm_qos, freq) - 80usize]; + ["Offset of field: dev_pm_qos::flags"][::core::mem::offset_of!(dev_pm_qos, flags) - 256usize]; + ["Offset of field: dev_pm_qos::resume_latency_req"] + [::core::mem::offset_of!(dev_pm_qos, resume_latency_req) - 280usize]; + ["Offset of field: dev_pm_qos::latency_tolerance_req"] + [::core::mem::offset_of!(dev_pm_qos, latency_tolerance_req) - 288usize]; + ["Offset of field: dev_pm_qos::flags_req"] + [::core::mem::offset_of!(dev_pm_qos, flags_req) - 296usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_qos_flags_request { + pub node: list_head, + pub flags: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pm_qos_flags_request"][::core::mem::size_of::() - 24usize]; + ["Alignment of pm_qos_flags_request"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pm_qos_flags_request::node"] + [::core::mem::offset_of!(pm_qos_flags_request, node) - 0usize]; + ["Offset of field: pm_qos_flags_request::flags"] + [::core::mem::offset_of!(pm_qos_flags_request, flags) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dev_pm_qos_request { + pub type_: dev_pm_qos_req_type, + pub data: dev_pm_qos_request__bindgen_ty_1, + pub dev: *mut device, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union dev_pm_qos_request__bindgen_ty_1 { + pub pnode: plist_node, + pub flr: pm_qos_flags_request, + pub freq: freq_qos_request, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pm_qos_request__bindgen_ty_1"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of dev_pm_qos_request__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pm_qos_request__bindgen_ty_1::pnode"] + [::core::mem::offset_of!(dev_pm_qos_request__bindgen_ty_1, pnode) - 0usize]; + ["Offset of field: dev_pm_qos_request__bindgen_ty_1::flr"] + [::core::mem::offset_of!(dev_pm_qos_request__bindgen_ty_1, flr) - 0usize]; + ["Offset of field: dev_pm_qos_request__bindgen_ty_1::freq"] + [::core::mem::offset_of!(dev_pm_qos_request__bindgen_ty_1, freq) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dev_pm_qos_request"][::core::mem::size_of::() - 72usize]; + ["Alignment of dev_pm_qos_request"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dev_pm_qos_request::type_"] + [::core::mem::offset_of!(dev_pm_qos_request, type_) - 0usize]; + ["Offset of field: dev_pm_qos_request::data"] + [::core::mem::offset_of!(dev_pm_qos_request, data) - 8usize]; + ["Offset of field: dev_pm_qos_request::dev"] + [::core::mem::offset_of!(dev_pm_qos_request, dev) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct device_dma_parameters { + pub max_segment_size: ::core::ffi::c_uint, + pub min_align_mask: ::core::ffi::c_uint, + pub segment_boundary_mask: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_dma_parameters"][::core::mem::size_of::() - 16usize]; + ["Alignment of device_dma_parameters"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: device_dma_parameters::max_segment_size"] + [::core::mem::offset_of!(device_dma_parameters, max_segment_size) - 0usize]; + ["Offset of field: device_dma_parameters::min_align_mask"] + [::core::mem::offset_of!(device_dma_parameters, min_align_mask) - 4usize]; + ["Offset of field: device_dma_parameters::segment_boundary_mask"] + [::core::mem::offset_of!(device_dma_parameters, segment_boundary_mask) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct device_link { + pub supplier: *mut device, + pub s_node: list_head, + pub consumer: *mut device, + pub c_node: list_head, + pub link_dev: device, + pub status: device_link_state, + pub flags: u32_, + pub rpm_active: refcount_t, + pub kref: kref, + pub rm_work: work_struct, + pub supplier_preactivated: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_link"][::core::mem::size_of::() - 856usize]; + ["Alignment of device_link"][::core::mem::align_of::() - 8usize]; + ["Offset of field: device_link::supplier"] + [::core::mem::offset_of!(device_link, supplier) - 0usize]; + ["Offset of field: device_link::s_node"][::core::mem::offset_of!(device_link, s_node) - 8usize]; + ["Offset of field: device_link::consumer"] + [::core::mem::offset_of!(device_link, consumer) - 24usize]; + ["Offset of field: device_link::c_node"] + [::core::mem::offset_of!(device_link, c_node) - 32usize]; + ["Offset of field: device_link::link_dev"] + [::core::mem::offset_of!(device_link, link_dev) - 48usize]; + ["Offset of field: device_link::status"] + [::core::mem::offset_of!(device_link, status) - 800usize]; + ["Offset of field: device_link::flags"][::core::mem::offset_of!(device_link, flags) - 804usize]; + ["Offset of field: device_link::rpm_active"] + [::core::mem::offset_of!(device_link, rpm_active) - 808usize]; + ["Offset of field: device_link::kref"][::core::mem::offset_of!(device_link, kref) - 812usize]; + ["Offset of field: device_link::rm_work"] + [::core::mem::offset_of!(device_link, rm_work) - 816usize]; + ["Offset of field: device_link::supplier_preactivated"] + [::core::mem::offset_of!(device_link, supplier_preactivated) - 848usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct device_node { + pub name: *const ::core::ffi::c_char, + pub phandle: phandle, + pub full_name: *const ::core::ffi::c_char, + pub fwnode: fwnode_handle, + pub properties: *mut property, + pub deadprops: *mut property, + pub parent: *mut device_node, + pub child: *mut device_node, + pub sibling: *mut device_node, + pub _flags: ::core::ffi::c_ulong, + pub data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_node"][::core::mem::size_of::() - 144usize]; + ["Alignment of device_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: device_node::name"][::core::mem::offset_of!(device_node, name) - 0usize]; + ["Offset of field: device_node::phandle"] + [::core::mem::offset_of!(device_node, phandle) - 8usize]; + ["Offset of field: device_node::full_name"] + [::core::mem::offset_of!(device_node, full_name) - 16usize]; + ["Offset of field: device_node::fwnode"] + [::core::mem::offset_of!(device_node, fwnode) - 24usize]; + ["Offset of field: device_node::properties"] + [::core::mem::offset_of!(device_node, properties) - 88usize]; + ["Offset of field: device_node::deadprops"] + [::core::mem::offset_of!(device_node, deadprops) - 96usize]; + ["Offset of field: device_node::parent"] + [::core::mem::offset_of!(device_node, parent) - 104usize]; + ["Offset of field: device_node::child"][::core::mem::offset_of!(device_node, child) - 112usize]; + ["Offset of field: device_node::sibling"] + [::core::mem::offset_of!(device_node, sibling) - 120usize]; + ["Offset of field: device_node::_flags"] + [::core::mem::offset_of!(device_node, _flags) - 128usize]; + ["Offset of field: device_node::data"][::core::mem::offset_of!(device_node, data) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct device_physical_location { + pub panel: device_physical_location_panel, + pub vertical_position: device_physical_location_vertical_position, + pub horizontal_position: device_physical_location_horizontal_position, + pub dock: bool_, + pub lid: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_physical_location"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of device_physical_location"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: device_physical_location::panel"] + [::core::mem::offset_of!(device_physical_location, panel) - 0usize]; + ["Offset of field: device_physical_location::vertical_position"] + [::core::mem::offset_of!(device_physical_location, vertical_position) - 4usize]; + ["Offset of field: device_physical_location::horizontal_position"] + [::core::mem::offset_of!(device_physical_location, horizontal_position) - 8usize]; + ["Offset of field: device_physical_location::dock"] + [::core::mem::offset_of!(device_physical_location, dock) - 12usize]; + ["Offset of field: device_physical_location::lid"] + [::core::mem::offset_of!(device_physical_location, lid) - 13usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct klist_node { + pub n_klist: *mut ::core::ffi::c_void, + pub n_node: list_head, + pub n_ref: kref, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of klist_node"][::core::mem::size_of::() - 32usize]; + ["Alignment of klist_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: klist_node::n_klist"][::core::mem::offset_of!(klist_node, n_klist) - 0usize]; + ["Offset of field: klist_node::n_node"][::core::mem::offset_of!(klist_node, n_node) - 8usize]; + ["Offset of field: klist_node::n_ref"][::core::mem::offset_of!(klist_node, n_ref) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct device_private { + pub klist_children: klist, + pub knode_parent: klist_node, + pub knode_driver: klist_node, + pub knode_bus: klist_node, + pub knode_class: klist_node, + pub deferred_probe: list_head, + pub async_driver: *const device_driver, + pub deferred_probe_reason: *mut ::core::ffi::c_char, + pub device: *mut device, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_private"][::core::mem::size_of::() - 216usize]; + ["Alignment of device_private"][::core::mem::align_of::() - 8usize]; + ["Offset of field: device_private::klist_children"] + [::core::mem::offset_of!(device_private, klist_children) - 0usize]; + ["Offset of field: device_private::knode_parent"] + [::core::mem::offset_of!(device_private, knode_parent) - 40usize]; + ["Offset of field: device_private::knode_driver"] + [::core::mem::offset_of!(device_private, knode_driver) - 72usize]; + ["Offset of field: device_private::knode_bus"] + [::core::mem::offset_of!(device_private, knode_bus) - 104usize]; + ["Offset of field: device_private::knode_class"] + [::core::mem::offset_of!(device_private, knode_class) - 136usize]; + ["Offset of field: device_private::deferred_probe"] + [::core::mem::offset_of!(device_private, deferred_probe) - 168usize]; + ["Offset of field: device_private::async_driver"] + [::core::mem::offset_of!(device_private, async_driver) - 184usize]; + ["Offset of field: device_private::deferred_probe_reason"] + [::core::mem::offset_of!(device_private, deferred_probe_reason) - 192usize]; + ["Offset of field: device_private::device"] + [::core::mem::offset_of!(device_private, device) - 200usize]; +}; +impl device_private { + #[inline] + pub fn dead(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_dead(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dead_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dead_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(dead: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let dead: u8 = unsafe { ::core::mem::transmute(dead) }; + dead as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct device_type { + pub name: *const ::core::ffi::c_char, + pub groups: *mut *const attribute_group, + pub uevent: ::core::option::Option< + unsafe extern "C" fn(arg1: *const device, arg2: *mut kobj_uevent_env) -> ::core::ffi::c_int, + >, + pub devnode: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const device, + arg2: *mut umode_t, + arg3: *mut kuid_t, + arg4: *mut kgid_t, + ) -> *mut ::core::ffi::c_char, + >, + pub release: ::core::option::Option, + pub pm: *const dev_pm_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of device_type"][::core::mem::size_of::() - 48usize]; + ["Alignment of device_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: device_type::name"][::core::mem::offset_of!(device_type, name) - 0usize]; + ["Offset of field: device_type::groups"][::core::mem::offset_of!(device_type, groups) - 8usize]; + ["Offset of field: device_type::uevent"] + [::core::mem::offset_of!(device_type, uevent) - 16usize]; + ["Offset of field: device_type::devnode"] + [::core::mem::offset_of!(device_type, devnode) - 24usize]; + ["Offset of field: device_type::release"] + [::core::mem::offset_of!(device_type, release) - 32usize]; + ["Offset of field: device_type::pm"][::core::mem::offset_of!(device_type, pm) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ratelimit_state { + pub lock: raw_spinlock_t, + pub interval: ::core::ffi::c_int, + pub burst: ::core::ffi::c_int, + pub printed: ::core::ffi::c_int, + pub missed: ::core::ffi::c_int, + pub flags: ::core::ffi::c_uint, + pub begin: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ratelimit_state"][::core::mem::size_of::() - 32usize]; + ["Alignment of ratelimit_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ratelimit_state::lock"] + [::core::mem::offset_of!(ratelimit_state, lock) - 0usize]; + ["Offset of field: ratelimit_state::interval"] + [::core::mem::offset_of!(ratelimit_state, interval) - 4usize]; + ["Offset of field: ratelimit_state::burst"] + [::core::mem::offset_of!(ratelimit_state, burst) - 8usize]; + ["Offset of field: ratelimit_state::printed"] + [::core::mem::offset_of!(ratelimit_state, printed) - 12usize]; + ["Offset of field: ratelimit_state::missed"] + [::core::mem::offset_of!(ratelimit_state, missed) - 16usize]; + ["Offset of field: ratelimit_state::flags"] + [::core::mem::offset_of!(ratelimit_state, flags) - 20usize]; + ["Offset of field: ratelimit_state::begin"] + [::core::mem::offset_of!(ratelimit_state, begin) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_dev_stats { + pub reload_stats: [u32_; 6usize], + pub remote_reload_stats: [u32_; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_dev_stats"][::core::mem::size_of::() - 48usize]; + ["Alignment of devlink_dev_stats"][::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_dev_stats::reload_stats"] + [::core::mem::offset_of!(devlink_dev_stats, reload_stats) - 0usize]; + ["Offset of field: devlink_dev_stats::remote_reload_stats"] + [::core::mem::offset_of!(devlink_dev_stats, remote_reload_stats) - 24usize]; +}; +#[repr(C)] +pub struct devlink { + pub index: u32_, + pub ports: xarray, + pub rate_list: list_head, + pub sb_list: list_head, + pub dpipe_table_list: list_head, + pub resource_list: list_head, + pub params: xarray, + pub region_list: list_head, + pub reporter_list: list_head, + pub dpipe_headers: *mut devlink_dpipe_headers, + pub trap_list: list_head, + pub trap_group_list: list_head, + pub trap_policer_list: list_head, + pub linecard_list: list_head, + pub ops: *const devlink_ops, + pub snapshot_ids: xarray, + pub stats: devlink_dev_stats, + pub dev: *mut device, + pub _net: possible_net_t, + pub lock: mutex, + pub lock_key: lock_class_key, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub refcount: refcount_t, + pub rwork: rcu_work, + pub rel: *mut devlink_rel, + pub nested_rels: xarray, + pub priv_: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink"][::core::mem::size_of::() - 416usize]; + ["Alignment of devlink"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink::index"][::core::mem::offset_of!(devlink, index) - 0usize]; + ["Offset of field: devlink::ports"][::core::mem::offset_of!(devlink, ports) - 8usize]; + ["Offset of field: devlink::rate_list"][::core::mem::offset_of!(devlink, rate_list) - 24usize]; + ["Offset of field: devlink::sb_list"][::core::mem::offset_of!(devlink, sb_list) - 40usize]; + ["Offset of field: devlink::dpipe_table_list"] + [::core::mem::offset_of!(devlink, dpipe_table_list) - 56usize]; + ["Offset of field: devlink::resource_list"] + [::core::mem::offset_of!(devlink, resource_list) - 72usize]; + ["Offset of field: devlink::params"][::core::mem::offset_of!(devlink, params) - 88usize]; + ["Offset of field: devlink::region_list"] + [::core::mem::offset_of!(devlink, region_list) - 104usize]; + ["Offset of field: devlink::reporter_list"] + [::core::mem::offset_of!(devlink, reporter_list) - 120usize]; + ["Offset of field: devlink::dpipe_headers"] + [::core::mem::offset_of!(devlink, dpipe_headers) - 136usize]; + ["Offset of field: devlink::trap_list"][::core::mem::offset_of!(devlink, trap_list) - 144usize]; + ["Offset of field: devlink::trap_group_list"] + [::core::mem::offset_of!(devlink, trap_group_list) - 160usize]; + ["Offset of field: devlink::trap_policer_list"] + [::core::mem::offset_of!(devlink, trap_policer_list) - 176usize]; + ["Offset of field: devlink::linecard_list"] + [::core::mem::offset_of!(devlink, linecard_list) - 192usize]; + ["Offset of field: devlink::ops"][::core::mem::offset_of!(devlink, ops) - 208usize]; + ["Offset of field: devlink::snapshot_ids"] + [::core::mem::offset_of!(devlink, snapshot_ids) - 216usize]; + ["Offset of field: devlink::stats"][::core::mem::offset_of!(devlink, stats) - 232usize]; + ["Offset of field: devlink::dev"][::core::mem::offset_of!(devlink, dev) - 280usize]; + ["Offset of field: devlink::_net"][::core::mem::offset_of!(devlink, _net) - 288usize]; + ["Offset of field: devlink::lock"][::core::mem::offset_of!(devlink, lock) - 296usize]; + ["Offset of field: devlink::lock_key"][::core::mem::offset_of!(devlink, lock_key) - 328usize]; + ["Offset of field: devlink::refcount"][::core::mem::offset_of!(devlink, refcount) - 332usize]; + ["Offset of field: devlink::rwork"][::core::mem::offset_of!(devlink, rwork) - 336usize]; + ["Offset of field: devlink::rel"][::core::mem::offset_of!(devlink, rel) - 392usize]; + ["Offset of field: devlink::nested_rels"] + [::core::mem::offset_of!(devlink, nested_rels) - 400usize]; + ["Offset of field: devlink::priv_"][::core::mem::offset_of!(devlink, priv_) - 416usize]; +}; +impl devlink { + #[inline] + pub fn reload_failed(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_reload_failed(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn reload_failed_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reload_failed_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(reload_failed: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let reload_failed: u8 = unsafe { ::core::mem::transmute(reload_failed) }; + reload_failed as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_dpipe_field { + pub name: *const ::core::ffi::c_char, + pub id: ::core::ffi::c_uint, + pub bitwidth: ::core::ffi::c_uint, + pub mapping_type: devlink_dpipe_field_mapping_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_dpipe_field"][::core::mem::size_of::() - 24usize]; + ["Alignment of devlink_dpipe_field"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_dpipe_field::name"] + [::core::mem::offset_of!(devlink_dpipe_field, name) - 0usize]; + ["Offset of field: devlink_dpipe_field::id"] + [::core::mem::offset_of!(devlink_dpipe_field, id) - 8usize]; + ["Offset of field: devlink_dpipe_field::bitwidth"] + [::core::mem::offset_of!(devlink_dpipe_field, bitwidth) - 12usize]; + ["Offset of field: devlink_dpipe_field::mapping_type"] + [::core::mem::offset_of!(devlink_dpipe_field, mapping_type) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_dpipe_header { + pub name: *const ::core::ffi::c_char, + pub id: ::core::ffi::c_uint, + pub fields: *mut devlink_dpipe_field, + pub fields_count: ::core::ffi::c_uint, + pub global: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_dpipe_header"][::core::mem::size_of::() - 32usize]; + ["Alignment of devlink_dpipe_header"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_dpipe_header::name"] + [::core::mem::offset_of!(devlink_dpipe_header, name) - 0usize]; + ["Offset of field: devlink_dpipe_header::id"] + [::core::mem::offset_of!(devlink_dpipe_header, id) - 8usize]; + ["Offset of field: devlink_dpipe_header::fields"] + [::core::mem::offset_of!(devlink_dpipe_header, fields) - 16usize]; + ["Offset of field: devlink_dpipe_header::fields_count"] + [::core::mem::offset_of!(devlink_dpipe_header, fields_count) - 24usize]; + ["Offset of field: devlink_dpipe_header::global"] + [::core::mem::offset_of!(devlink_dpipe_header, global) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_dpipe_headers { + pub headers: *mut *mut devlink_dpipe_header, + pub headers_count: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_dpipe_headers"][::core::mem::size_of::() - 16usize]; + ["Alignment of devlink_dpipe_headers"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_dpipe_headers::headers"] + [::core::mem::offset_of!(devlink_dpipe_headers, headers) - 0usize]; + ["Offset of field: devlink_dpipe_headers::headers_count"] + [::core::mem::offset_of!(devlink_dpipe_headers, headers_count) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_flash_update_params { + pub fw: *const firmware, + pub component: *const ::core::ffi::c_char, + pub overwrite_mask: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_flash_update_params"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of devlink_flash_update_params"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_flash_update_params::fw"] + [::core::mem::offset_of!(devlink_flash_update_params, fw) - 0usize]; + ["Offset of field: devlink_flash_update_params::component"] + [::core::mem::offset_of!(devlink_flash_update_params, component) - 8usize]; + ["Offset of field: devlink_flash_update_params::overwrite_mask"] + [::core::mem::offset_of!(devlink_flash_update_params, overwrite_mask) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_info_req { + pub msg: *mut sk_buff, + pub version_cb: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_char, + arg2: devlink_info_version_type, + arg3: *mut ::core::ffi::c_void, + ), + >, + pub version_cb_priv: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_info_req"][::core::mem::size_of::() - 24usize]; + ["Alignment of devlink_info_req"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_info_req::msg"] + [::core::mem::offset_of!(devlink_info_req, msg) - 0usize]; + ["Offset of field: devlink_info_req::version_cb"] + [::core::mem::offset_of!(devlink_info_req, version_cb) - 8usize]; + ["Offset of field: devlink_info_req::version_cb_priv"] + [::core::mem::offset_of!(devlink_info_req, version_cb_priv) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct devlink_linecard { + pub list: list_head, + pub devlink: *mut devlink, + pub index: ::core::ffi::c_uint, + pub ops: *const devlink_linecard_ops, + pub priv_: *mut ::core::ffi::c_void, + pub state: devlink_linecard_state, + pub state_lock: mutex, + pub type_: *const ::core::ffi::c_char, + pub types: *mut devlink_linecard_type, + pub types_count: ::core::ffi::c_uint, + pub rel_index: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_linecard"][::core::mem::size_of::() - 112usize]; + ["Alignment of devlink_linecard"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_linecard::list"] + [::core::mem::offset_of!(devlink_linecard, list) - 0usize]; + ["Offset of field: devlink_linecard::devlink"] + [::core::mem::offset_of!(devlink_linecard, devlink) - 16usize]; + ["Offset of field: devlink_linecard::index"] + [::core::mem::offset_of!(devlink_linecard, index) - 24usize]; + ["Offset of field: devlink_linecard::ops"] + [::core::mem::offset_of!(devlink_linecard, ops) - 32usize]; + ["Offset of field: devlink_linecard::priv_"] + [::core::mem::offset_of!(devlink_linecard, priv_) - 40usize]; + ["Offset of field: devlink_linecard::state"] + [::core::mem::offset_of!(devlink_linecard, state) - 48usize]; + ["Offset of field: devlink_linecard::state_lock"] + [::core::mem::offset_of!(devlink_linecard, state_lock) - 56usize]; + ["Offset of field: devlink_linecard::type_"] + [::core::mem::offset_of!(devlink_linecard, type_) - 88usize]; + ["Offset of field: devlink_linecard::types"] + [::core::mem::offset_of!(devlink_linecard, types) - 96usize]; + ["Offset of field: devlink_linecard::types_count"] + [::core::mem::offset_of!(devlink_linecard, types_count) - 104usize]; + ["Offset of field: devlink_linecard::rel_index"] + [::core::mem::offset_of!(devlink_linecard, rel_index) - 108usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_linecard_ops { + pub provision: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_linecard, + arg2: *mut ::core::ffi::c_void, + arg3: *const ::core::ffi::c_char, + arg4: *const ::core::ffi::c_void, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub unprovision: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_linecard, + arg2: *mut ::core::ffi::c_void, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub same_provision: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_linecard, + arg2: *mut ::core::ffi::c_void, + arg3: *const ::core::ffi::c_char, + arg4: *const ::core::ffi::c_void, + ) -> bool_, + >, + pub types_count: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_linecard, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_uint, + >, + pub types_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_linecard, + arg2: *mut ::core::ffi::c_void, + arg3: ::core::ffi::c_uint, + arg4: *mut *const ::core::ffi::c_char, + arg5: *mut *const ::core::ffi::c_void, + ), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_linecard_ops"][::core::mem::size_of::() - 40usize]; + ["Alignment of devlink_linecard_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_linecard_ops::provision"] + [::core::mem::offset_of!(devlink_linecard_ops, provision) - 0usize]; + ["Offset of field: devlink_linecard_ops::unprovision"] + [::core::mem::offset_of!(devlink_linecard_ops, unprovision) - 8usize]; + ["Offset of field: devlink_linecard_ops::same_provision"] + [::core::mem::offset_of!(devlink_linecard_ops, same_provision) - 16usize]; + ["Offset of field: devlink_linecard_ops::types_count"] + [::core::mem::offset_of!(devlink_linecard_ops, types_count) - 24usize]; + ["Offset of field: devlink_linecard_ops::types_get"] + [::core::mem::offset_of!(devlink_linecard_ops, types_get) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_linecard_type { + pub type_: *const ::core::ffi::c_char, + pub priv_: *const ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_linecard_type"][::core::mem::size_of::() - 16usize]; + ["Alignment of devlink_linecard_type"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_linecard_type::type_"] + [::core::mem::offset_of!(devlink_linecard_type, type_) - 0usize]; + ["Offset of field: devlink_linecard_type::priv_"] + [::core::mem::offset_of!(devlink_linecard_type, priv_) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_ops { + pub supported_flash_update_params: u32_, + pub reload_actions: ::core::ffi::c_ulong, + pub reload_limits: ::core::ffi::c_ulong, + pub reload_down: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: bool_, + arg3: devlink_reload_action, + arg4: devlink_reload_limit, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub reload_up: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: devlink_reload_action, + arg3: devlink_reload_limit, + arg4: *mut u32_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub sb_pool_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: *mut devlink_sb_pool_info, + ) -> ::core::ffi::c_int, + >, + pub sb_pool_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: u32_, + arg5: devlink_sb_threshold_type, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub sb_port_pool_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub sb_port_pool_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: u32_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub sb_tc_pool_bind_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: devlink_sb_pool_type, + arg5: *mut u16_, + arg6: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub sb_tc_pool_bind_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: devlink_sb_pool_type, + arg5: u16_, + arg6: u32_, + arg7: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub sb_occ_snapshot: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut devlink, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub sb_occ_max_clear: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut devlink, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub sb_occ_port_pool_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: *mut u32_, + arg5: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub sb_occ_tc_port_bind_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: devlink_sb_pool_type, + arg5: *mut u32_, + arg6: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub eswitch_mode_get: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut devlink, arg2: *mut u16_) -> ::core::ffi::c_int, + >, + pub eswitch_mode_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: u16_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub eswitch_inline_mode_get: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut devlink, arg2: *mut u8_) -> ::core::ffi::c_int, + >, + pub eswitch_inline_mode_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: u8_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub eswitch_encap_mode_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *mut devlink_eswitch_encap_mode, + ) -> ::core::ffi::c_int, + >, + pub eswitch_encap_mode_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: devlink_eswitch_encap_mode, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub info_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *mut devlink_info_req, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub flash_update: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *mut devlink_flash_update_params, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub trap_init: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub trap_fini: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap, + arg3: *mut ::core::ffi::c_void, + ), + >, + pub trap_action_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap, + arg3: devlink_trap_action, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub trap_group_init: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap_group, + ) -> ::core::ffi::c_int, + >, + pub trap_group_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap_group, + arg3: *const devlink_trap_policer, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub trap_group_action_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap_group, + arg3: devlink_trap_action, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub trap_drop_counter_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap, + arg3: *mut u64_, + ) -> ::core::ffi::c_int, + >, + pub trap_policer_init: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap_policer, + ) -> ::core::ffi::c_int, + >, + pub trap_policer_fini: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut devlink, arg2: *const devlink_trap_policer), + >, + pub trap_policer_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap_policer, + arg3: u64_, + arg4: u64_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub trap_policer_counter_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_trap_policer, + arg3: *mut u64_, + ) -> ::core::ffi::c_int, + >, + pub port_new: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *const devlink_port_new_attrs, + arg3: *mut netlink_ext_ack, + arg4: *mut *mut devlink_port, + ) -> ::core::ffi::c_int, + >, + pub rate_leaf_tx_share_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u64_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_leaf_tx_max_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u64_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_leaf_tx_priority_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_leaf_tx_weight_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_node_tx_share_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u64_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_node_tx_max_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u64_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_node_tx_priority_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_node_tx_weight_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: u32_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_node_new: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut *mut ::core::ffi::c_void, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_node_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut ::core::ffi::c_void, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_leaf_parent_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut devlink_rate, + arg3: *mut ::core::ffi::c_void, + arg4: *mut ::core::ffi::c_void, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub rate_node_parent_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_rate, + arg2: *mut devlink_rate, + arg3: *mut ::core::ffi::c_void, + arg4: *mut ::core::ffi::c_void, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub selftest_check: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: ::core::ffi::c_uint, + arg3: *mut netlink_ext_ack, + ) -> bool_, + >, + pub selftest_run: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: ::core::ffi::c_uint, + arg3: *mut netlink_ext_ack, + ) -> devlink_selftest_status, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_ops"][::core::mem::size_of::() - 392usize]; + ["Alignment of devlink_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_ops::supported_flash_update_params"] + [::core::mem::offset_of!(devlink_ops, supported_flash_update_params) - 0usize]; + ["Offset of field: devlink_ops::reload_actions"] + [::core::mem::offset_of!(devlink_ops, reload_actions) - 8usize]; + ["Offset of field: devlink_ops::reload_limits"] + [::core::mem::offset_of!(devlink_ops, reload_limits) - 16usize]; + ["Offset of field: devlink_ops::reload_down"] + [::core::mem::offset_of!(devlink_ops, reload_down) - 24usize]; + ["Offset of field: devlink_ops::reload_up"] + [::core::mem::offset_of!(devlink_ops, reload_up) - 32usize]; + ["Offset of field: devlink_ops::sb_pool_get"] + [::core::mem::offset_of!(devlink_ops, sb_pool_get) - 40usize]; + ["Offset of field: devlink_ops::sb_pool_set"] + [::core::mem::offset_of!(devlink_ops, sb_pool_set) - 48usize]; + ["Offset of field: devlink_ops::sb_port_pool_get"] + [::core::mem::offset_of!(devlink_ops, sb_port_pool_get) - 56usize]; + ["Offset of field: devlink_ops::sb_port_pool_set"] + [::core::mem::offset_of!(devlink_ops, sb_port_pool_set) - 64usize]; + ["Offset of field: devlink_ops::sb_tc_pool_bind_get"] + [::core::mem::offset_of!(devlink_ops, sb_tc_pool_bind_get) - 72usize]; + ["Offset of field: devlink_ops::sb_tc_pool_bind_set"] + [::core::mem::offset_of!(devlink_ops, sb_tc_pool_bind_set) - 80usize]; + ["Offset of field: devlink_ops::sb_occ_snapshot"] + [::core::mem::offset_of!(devlink_ops, sb_occ_snapshot) - 88usize]; + ["Offset of field: devlink_ops::sb_occ_max_clear"] + [::core::mem::offset_of!(devlink_ops, sb_occ_max_clear) - 96usize]; + ["Offset of field: devlink_ops::sb_occ_port_pool_get"] + [::core::mem::offset_of!(devlink_ops, sb_occ_port_pool_get) - 104usize]; + ["Offset of field: devlink_ops::sb_occ_tc_port_bind_get"] + [::core::mem::offset_of!(devlink_ops, sb_occ_tc_port_bind_get) - 112usize]; + ["Offset of field: devlink_ops::eswitch_mode_get"] + [::core::mem::offset_of!(devlink_ops, eswitch_mode_get) - 120usize]; + ["Offset of field: devlink_ops::eswitch_mode_set"] + [::core::mem::offset_of!(devlink_ops, eswitch_mode_set) - 128usize]; + ["Offset of field: devlink_ops::eswitch_inline_mode_get"] + [::core::mem::offset_of!(devlink_ops, eswitch_inline_mode_get) - 136usize]; + ["Offset of field: devlink_ops::eswitch_inline_mode_set"] + [::core::mem::offset_of!(devlink_ops, eswitch_inline_mode_set) - 144usize]; + ["Offset of field: devlink_ops::eswitch_encap_mode_get"] + [::core::mem::offset_of!(devlink_ops, eswitch_encap_mode_get) - 152usize]; + ["Offset of field: devlink_ops::eswitch_encap_mode_set"] + [::core::mem::offset_of!(devlink_ops, eswitch_encap_mode_set) - 160usize]; + ["Offset of field: devlink_ops::info_get"] + [::core::mem::offset_of!(devlink_ops, info_get) - 168usize]; + ["Offset of field: devlink_ops::flash_update"] + [::core::mem::offset_of!(devlink_ops, flash_update) - 176usize]; + ["Offset of field: devlink_ops::trap_init"] + [::core::mem::offset_of!(devlink_ops, trap_init) - 184usize]; + ["Offset of field: devlink_ops::trap_fini"] + [::core::mem::offset_of!(devlink_ops, trap_fini) - 192usize]; + ["Offset of field: devlink_ops::trap_action_set"] + [::core::mem::offset_of!(devlink_ops, trap_action_set) - 200usize]; + ["Offset of field: devlink_ops::trap_group_init"] + [::core::mem::offset_of!(devlink_ops, trap_group_init) - 208usize]; + ["Offset of field: devlink_ops::trap_group_set"] + [::core::mem::offset_of!(devlink_ops, trap_group_set) - 216usize]; + ["Offset of field: devlink_ops::trap_group_action_set"] + [::core::mem::offset_of!(devlink_ops, trap_group_action_set) - 224usize]; + ["Offset of field: devlink_ops::trap_drop_counter_get"] + [::core::mem::offset_of!(devlink_ops, trap_drop_counter_get) - 232usize]; + ["Offset of field: devlink_ops::trap_policer_init"] + [::core::mem::offset_of!(devlink_ops, trap_policer_init) - 240usize]; + ["Offset of field: devlink_ops::trap_policer_fini"] + [::core::mem::offset_of!(devlink_ops, trap_policer_fini) - 248usize]; + ["Offset of field: devlink_ops::trap_policer_set"] + [::core::mem::offset_of!(devlink_ops, trap_policer_set) - 256usize]; + ["Offset of field: devlink_ops::trap_policer_counter_get"] + [::core::mem::offset_of!(devlink_ops, trap_policer_counter_get) - 264usize]; + ["Offset of field: devlink_ops::port_new"] + [::core::mem::offset_of!(devlink_ops, port_new) - 272usize]; + ["Offset of field: devlink_ops::rate_leaf_tx_share_set"] + [::core::mem::offset_of!(devlink_ops, rate_leaf_tx_share_set) - 280usize]; + ["Offset of field: devlink_ops::rate_leaf_tx_max_set"] + [::core::mem::offset_of!(devlink_ops, rate_leaf_tx_max_set) - 288usize]; + ["Offset of field: devlink_ops::rate_leaf_tx_priority_set"] + [::core::mem::offset_of!(devlink_ops, rate_leaf_tx_priority_set) - 296usize]; + ["Offset of field: devlink_ops::rate_leaf_tx_weight_set"] + [::core::mem::offset_of!(devlink_ops, rate_leaf_tx_weight_set) - 304usize]; + ["Offset of field: devlink_ops::rate_node_tx_share_set"] + [::core::mem::offset_of!(devlink_ops, rate_node_tx_share_set) - 312usize]; + ["Offset of field: devlink_ops::rate_node_tx_max_set"] + [::core::mem::offset_of!(devlink_ops, rate_node_tx_max_set) - 320usize]; + ["Offset of field: devlink_ops::rate_node_tx_priority_set"] + [::core::mem::offset_of!(devlink_ops, rate_node_tx_priority_set) - 328usize]; + ["Offset of field: devlink_ops::rate_node_tx_weight_set"] + [::core::mem::offset_of!(devlink_ops, rate_node_tx_weight_set) - 336usize]; + ["Offset of field: devlink_ops::rate_node_new"] + [::core::mem::offset_of!(devlink_ops, rate_node_new) - 344usize]; + ["Offset of field: devlink_ops::rate_node_del"] + [::core::mem::offset_of!(devlink_ops, rate_node_del) - 352usize]; + ["Offset of field: devlink_ops::rate_leaf_parent_set"] + [::core::mem::offset_of!(devlink_ops, rate_leaf_parent_set) - 360usize]; + ["Offset of field: devlink_ops::rate_node_parent_set"] + [::core::mem::offset_of!(devlink_ops, rate_node_parent_set) - 368usize]; + ["Offset of field: devlink_ops::selftest_check"] + [::core::mem::offset_of!(devlink_ops, selftest_check) - 376usize]; + ["Offset of field: devlink_ops::selftest_run"] + [::core::mem::offset_of!(devlink_ops, selftest_run) - 384usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union devlink_param_value { + pub vu8: u8_, + pub vu16: u16_, + pub vu32: u32_, + pub vstr: [::core::ffi::c_char; 32usize], + pub vbool: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_param_value"][::core::mem::size_of::() - 32usize]; + ["Alignment of devlink_param_value"][::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_param_value::vu8"] + [::core::mem::offset_of!(devlink_param_value, vu8) - 0usize]; + ["Offset of field: devlink_param_value::vu16"] + [::core::mem::offset_of!(devlink_param_value, vu16) - 0usize]; + ["Offset of field: devlink_param_value::vu32"] + [::core::mem::offset_of!(devlink_param_value, vu32) - 0usize]; + ["Offset of field: devlink_param_value::vstr"] + [::core::mem::offset_of!(devlink_param_value, vstr) - 0usize]; + ["Offset of field: devlink_param_value::vbool"] + [::core::mem::offset_of!(devlink_param_value, vbool) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct devlink_param_gset_ctx { + pub val: devlink_param_value, + pub cmode: devlink_param_cmode, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_param_gset_ctx"][::core::mem::size_of::() - 36usize]; + ["Alignment of devlink_param_gset_ctx"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_param_gset_ctx::val"] + [::core::mem::offset_of!(devlink_param_gset_ctx, val) - 0usize]; + ["Offset of field: devlink_param_gset_ctx::cmode"] + [::core::mem::offset_of!(devlink_param_gset_ctx, cmode) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_phys_item_id { + pub id: [::core::ffi::c_uchar; 32usize], + pub id_len: ::core::ffi::c_uchar, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_phys_item_id"][::core::mem::size_of::() - 33usize]; + ["Alignment of netdev_phys_item_id"][::core::mem::align_of::() - 1usize]; + ["Offset of field: netdev_phys_item_id::id"] + [::core::mem::offset_of!(netdev_phys_item_id, id) - 0usize]; + ["Offset of field: netdev_phys_item_id::id_len"] + [::core::mem::offset_of!(netdev_phys_item_id, id_len) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port_phys_attrs { + pub port_number: u32_, + pub split_subport_number: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_phys_attrs"][::core::mem::size_of::() - 8usize]; + ["Alignment of devlink_port_phys_attrs"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_port_phys_attrs::port_number"] + [::core::mem::offset_of!(devlink_port_phys_attrs, port_number) - 0usize]; + ["Offset of field: devlink_port_phys_attrs::split_subport_number"] + [::core::mem::offset_of!(devlink_port_phys_attrs, split_subport_number) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port_pci_pf_attrs { + pub controller: u32_, + pub pf: u16_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_pci_pf_attrs"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of devlink_port_pci_pf_attrs"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_port_pci_pf_attrs::controller"] + [::core::mem::offset_of!(devlink_port_pci_pf_attrs, controller) - 0usize]; + ["Offset of field: devlink_port_pci_pf_attrs::pf"] + [::core::mem::offset_of!(devlink_port_pci_pf_attrs, pf) - 4usize]; +}; +impl devlink_port_pci_pf_attrs { + #[inline] + pub fn external(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_external(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn external_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_external_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(external: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let external: u8 = unsafe { ::core::mem::transmute(external) }; + external as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port_pci_vf_attrs { + pub controller: u32_, + pub pf: u16_, + pub vf: u16_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_pci_vf_attrs"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of devlink_port_pci_vf_attrs"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_port_pci_vf_attrs::controller"] + [::core::mem::offset_of!(devlink_port_pci_vf_attrs, controller) - 0usize]; + ["Offset of field: devlink_port_pci_vf_attrs::pf"] + [::core::mem::offset_of!(devlink_port_pci_vf_attrs, pf) - 4usize]; + ["Offset of field: devlink_port_pci_vf_attrs::vf"] + [::core::mem::offset_of!(devlink_port_pci_vf_attrs, vf) - 6usize]; +}; +impl devlink_port_pci_vf_attrs { + #[inline] + pub fn external(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_external(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn external_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_external_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(external: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let external: u8 = unsafe { ::core::mem::transmute(external) }; + external as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port_pci_sf_attrs { + pub controller: u32_, + pub sf: u32_, + pub pf: u16_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_pci_sf_attrs"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of devlink_port_pci_sf_attrs"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_port_pci_sf_attrs::controller"] + [::core::mem::offset_of!(devlink_port_pci_sf_attrs, controller) - 0usize]; + ["Offset of field: devlink_port_pci_sf_attrs::sf"] + [::core::mem::offset_of!(devlink_port_pci_sf_attrs, sf) - 4usize]; + ["Offset of field: devlink_port_pci_sf_attrs::pf"] + [::core::mem::offset_of!(devlink_port_pci_sf_attrs, pf) - 8usize]; +}; +impl devlink_port_pci_sf_attrs { + #[inline] + pub fn external(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_external(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn external_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_external_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(external: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let external: u8 = unsafe { ::core::mem::transmute(external) }; + external as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct devlink_port_attrs { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub lanes: u32_, + pub flavour: devlink_port_flavour, + pub switch_id: netdev_phys_item_id, + pub __bindgen_anon_1: devlink_port_attrs__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union devlink_port_attrs__bindgen_ty_1 { + pub phys: devlink_port_phys_attrs, + pub pci_pf: devlink_port_pci_pf_attrs, + pub pci_vf: devlink_port_pci_vf_attrs, + pub pci_sf: devlink_port_pci_sf_attrs, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_attrs__bindgen_ty_1"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of devlink_port_attrs__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_port_attrs__bindgen_ty_1::phys"] + [::core::mem::offset_of!(devlink_port_attrs__bindgen_ty_1, phys) - 0usize]; + ["Offset of field: devlink_port_attrs__bindgen_ty_1::pci_pf"] + [::core::mem::offset_of!(devlink_port_attrs__bindgen_ty_1, pci_pf) - 0usize]; + ["Offset of field: devlink_port_attrs__bindgen_ty_1::pci_vf"] + [::core::mem::offset_of!(devlink_port_attrs__bindgen_ty_1, pci_vf) - 0usize]; + ["Offset of field: devlink_port_attrs__bindgen_ty_1::pci_sf"] + [::core::mem::offset_of!(devlink_port_attrs__bindgen_ty_1, pci_sf) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_attrs"][::core::mem::size_of::() - 60usize]; + ["Alignment of devlink_port_attrs"][::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_port_attrs::lanes"] + [::core::mem::offset_of!(devlink_port_attrs, lanes) - 4usize]; + ["Offset of field: devlink_port_attrs::flavour"] + [::core::mem::offset_of!(devlink_port_attrs, flavour) - 8usize]; + ["Offset of field: devlink_port_attrs::switch_id"] + [::core::mem::offset_of!(devlink_port_attrs, switch_id) - 12usize]; +}; +impl devlink_port_attrs { + #[inline] + pub fn split(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_split(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn split_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_split_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn splittable(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_splittable(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn splittable_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_splittable_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(split: u8_, splittable: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let split: u8 = unsafe { ::core::mem::transmute(split) }; + split as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let splittable: u8 = unsafe { ::core::mem::transmute(splittable) }; + splittable as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct devlink_port { + pub list: list_head, + pub region_list: list_head, + pub devlink: *mut devlink, + pub ops: *const devlink_port_ops, + pub index: ::core::ffi::c_uint, + pub type_lock: spinlock_t, + pub type_: devlink_port_type, + pub desired_type: devlink_port_type, + pub __bindgen_anon_1: devlink_port__bindgen_ty_1, + pub attrs: devlink_port_attrs, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub type_warn_dw: delayed_work, + pub reporter_list: list_head, + pub devlink_rate: *mut devlink_rate, + pub linecard: *mut devlink_linecard, + pub rel_index: u32_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union devlink_port__bindgen_ty_1 { + pub type_eth: devlink_port__bindgen_ty_1__bindgen_ty_1, + pub type_ib: devlink_port__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port__bindgen_ty_1__bindgen_ty_1 { + pub netdev: *mut net_device, + pub ifindex: ::core::ffi::c_int, + pub ifname: [::core::ffi::c_char; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of devlink_port__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_port__bindgen_ty_1__bindgen_ty_1::netdev"] + [::core::mem::offset_of!(devlink_port__bindgen_ty_1__bindgen_ty_1, netdev) - 0usize]; + ["Offset of field: devlink_port__bindgen_ty_1__bindgen_ty_1::ifindex"] + [::core::mem::offset_of!(devlink_port__bindgen_ty_1__bindgen_ty_1, ifindex) - 8usize]; + ["Offset of field: devlink_port__bindgen_ty_1__bindgen_ty_1::ifname"] + [::core::mem::offset_of!(devlink_port__bindgen_ty_1__bindgen_ty_1, ifname) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port__bindgen_ty_1__bindgen_ty_2 { + pub ibdev: *mut ib_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of devlink_port__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_port__bindgen_ty_1__bindgen_ty_2::ibdev"] + [::core::mem::offset_of!(devlink_port__bindgen_ty_1__bindgen_ty_2, ibdev) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of devlink_port__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_port__bindgen_ty_1::type_eth"] + [::core::mem::offset_of!(devlink_port__bindgen_ty_1, type_eth) - 0usize]; + ["Offset of field: devlink_port__bindgen_ty_1::type_ib"] + [::core::mem::offset_of!(devlink_port__bindgen_ty_1, type_ib) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port"][::core::mem::size_of::() - 288usize]; + ["Alignment of devlink_port"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_port::list"][::core::mem::offset_of!(devlink_port, list) - 0usize]; + ["Offset of field: devlink_port::region_list"] + [::core::mem::offset_of!(devlink_port, region_list) - 16usize]; + ["Offset of field: devlink_port::devlink"] + [::core::mem::offset_of!(devlink_port, devlink) - 32usize]; + ["Offset of field: devlink_port::ops"][::core::mem::offset_of!(devlink_port, ops) - 40usize]; + ["Offset of field: devlink_port::index"] + [::core::mem::offset_of!(devlink_port, index) - 48usize]; + ["Offset of field: devlink_port::type_lock"] + [::core::mem::offset_of!(devlink_port, type_lock) - 52usize]; + ["Offset of field: devlink_port::type_"] + [::core::mem::offset_of!(devlink_port, type_) - 56usize]; + ["Offset of field: devlink_port::desired_type"] + [::core::mem::offset_of!(devlink_port, desired_type) - 60usize]; + ["Offset of field: devlink_port::attrs"] + [::core::mem::offset_of!(devlink_port, attrs) - 96usize]; + ["Offset of field: devlink_port::type_warn_dw"] + [::core::mem::offset_of!(devlink_port, type_warn_dw) - 160usize]; + ["Offset of field: devlink_port::reporter_list"] + [::core::mem::offset_of!(devlink_port, reporter_list) - 248usize]; + ["Offset of field: devlink_port::devlink_rate"] + [::core::mem::offset_of!(devlink_port, devlink_rate) - 264usize]; + ["Offset of field: devlink_port::linecard"] + [::core::mem::offset_of!(devlink_port, linecard) - 272usize]; + ["Offset of field: devlink_port::rel_index"] + [::core::mem::offset_of!(devlink_port, rel_index) - 280usize]; +}; +impl devlink_port { + #[inline] + pub fn attrs_set(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_attrs_set(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn attrs_set_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_attrs_set_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn switch_port(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_switch_port(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn switch_port_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_switch_port_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn registered(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_registered(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn registered_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_registered_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn initialized(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_initialized(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn initialized_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_initialized_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + attrs_set: u8_, + switch_port: u8_, + registered: u8_, + initialized: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let attrs_set: u8 = unsafe { ::core::mem::transmute(attrs_set) }; + attrs_set as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let switch_port: u8 = unsafe { ::core::mem::transmute(switch_port) }; + switch_port as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let registered: u8 = unsafe { ::core::mem::transmute(registered) }; + registered as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let initialized: u8 = unsafe { ::core::mem::transmute(initialized) }; + initialized as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port_new_attrs { + pub flavour: devlink_port_flavour, + pub port_index: ::core::ffi::c_uint, + pub controller: u32_, + pub sfnum: u32_, + pub pfnum: u16_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_new_attrs"][::core::mem::size_of::() - 20usize]; + ["Alignment of devlink_port_new_attrs"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_port_new_attrs::flavour"] + [::core::mem::offset_of!(devlink_port_new_attrs, flavour) - 0usize]; + ["Offset of field: devlink_port_new_attrs::port_index"] + [::core::mem::offset_of!(devlink_port_new_attrs, port_index) - 4usize]; + ["Offset of field: devlink_port_new_attrs::controller"] + [::core::mem::offset_of!(devlink_port_new_attrs, controller) - 8usize]; + ["Offset of field: devlink_port_new_attrs::sfnum"] + [::core::mem::offset_of!(devlink_port_new_attrs, sfnum) - 12usize]; + ["Offset of field: devlink_port_new_attrs::pfnum"] + [::core::mem::offset_of!(devlink_port_new_attrs, pfnum) - 16usize]; +}; +impl devlink_port_new_attrs { + #[inline] + pub fn port_index_valid(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_port_index_valid(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn port_index_valid_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_port_index_valid_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn controller_valid(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_controller_valid(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn controller_valid_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_controller_valid_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sfnum_valid(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_sfnum_valid(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sfnum_valid_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sfnum_valid_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + port_index_valid: u8_, + controller_valid: u8_, + sfnum_valid: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let port_index_valid: u8 = unsafe { ::core::mem::transmute(port_index_valid) }; + port_index_valid as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let controller_valid: u8 = unsafe { ::core::mem::transmute(controller_valid) }; + controller_valid as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let sfnum_valid: u8 = unsafe { ::core::mem::transmute(sfnum_valid) }; + sfnum_valid as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_port_ops { + pub port_split: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *mut devlink_port, + arg3: ::core::ffi::c_uint, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_unsplit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *mut devlink_port, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_type_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: devlink_port_type, + ) -> ::core::ffi::c_int, + >, + pub port_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink, + arg2: *mut devlink_port, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_hw_addr_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *mut u8_, + arg3: *mut ::core::ffi::c_int, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_hw_addr_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *const u8_, + arg3: ::core::ffi::c_int, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_roce_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *mut bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_roce_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_migratable_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *mut bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_migratable_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_state_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *mut devlink_port_fn_state, + arg3: *mut devlink_port_fn_opstate, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_state_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: devlink_port_fn_state, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_ipsec_crypto_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *mut bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_ipsec_crypto_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_ipsec_packet_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *mut bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_ipsec_packet_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: bool_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_max_io_eqs_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: *mut u32_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_fn_max_io_eqs_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut devlink_port, + arg2: u32_, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_port_ops"][::core::mem::size_of::() - 144usize]; + ["Alignment of devlink_port_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_port_ops::port_split"] + [::core::mem::offset_of!(devlink_port_ops, port_split) - 0usize]; + ["Offset of field: devlink_port_ops::port_unsplit"] + [::core::mem::offset_of!(devlink_port_ops, port_unsplit) - 8usize]; + ["Offset of field: devlink_port_ops::port_type_set"] + [::core::mem::offset_of!(devlink_port_ops, port_type_set) - 16usize]; + ["Offset of field: devlink_port_ops::port_del"] + [::core::mem::offset_of!(devlink_port_ops, port_del) - 24usize]; + ["Offset of field: devlink_port_ops::port_fn_hw_addr_get"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_hw_addr_get) - 32usize]; + ["Offset of field: devlink_port_ops::port_fn_hw_addr_set"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_hw_addr_set) - 40usize]; + ["Offset of field: devlink_port_ops::port_fn_roce_get"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_roce_get) - 48usize]; + ["Offset of field: devlink_port_ops::port_fn_roce_set"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_roce_set) - 56usize]; + ["Offset of field: devlink_port_ops::port_fn_migratable_get"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_migratable_get) - 64usize]; + ["Offset of field: devlink_port_ops::port_fn_migratable_set"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_migratable_set) - 72usize]; + ["Offset of field: devlink_port_ops::port_fn_state_get"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_state_get) - 80usize]; + ["Offset of field: devlink_port_ops::port_fn_state_set"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_state_set) - 88usize]; + ["Offset of field: devlink_port_ops::port_fn_ipsec_crypto_get"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_ipsec_crypto_get) - 96usize]; + ["Offset of field: devlink_port_ops::port_fn_ipsec_crypto_set"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_ipsec_crypto_set) - 104usize]; + ["Offset of field: devlink_port_ops::port_fn_ipsec_packet_get"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_ipsec_packet_get) - 112usize]; + ["Offset of field: devlink_port_ops::port_fn_ipsec_packet_set"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_ipsec_packet_set) - 120usize]; + ["Offset of field: devlink_port_ops::port_fn_max_io_eqs_get"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_max_io_eqs_get) - 128usize]; + ["Offset of field: devlink_port_ops::port_fn_max_io_eqs_set"] + [::core::mem::offset_of!(devlink_port_ops, port_fn_max_io_eqs_set) - 136usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct devlink_rate { + pub list: list_head, + pub type_: devlink_rate_type, + pub devlink: *mut devlink, + pub priv_: *mut ::core::ffi::c_void, + pub tx_share: u64_, + pub tx_max: u64_, + pub parent: *mut devlink_rate, + pub __bindgen_anon_1: devlink_rate__bindgen_ty_1, + pub tx_priority: u32_, + pub tx_weight: u32_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union devlink_rate__bindgen_ty_1 { + pub devlink_port: *mut devlink_port, + pub __bindgen_anon_1: devlink_rate__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_rate__bindgen_ty_1__bindgen_ty_1 { + pub name: *mut ::core::ffi::c_char, + pub refcnt: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_rate__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of devlink_rate__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_rate__bindgen_ty_1__bindgen_ty_1::name"] + [::core::mem::offset_of!(devlink_rate__bindgen_ty_1__bindgen_ty_1, name) - 0usize]; + ["Offset of field: devlink_rate__bindgen_ty_1__bindgen_ty_1::refcnt"] + [::core::mem::offset_of!(devlink_rate__bindgen_ty_1__bindgen_ty_1, refcnt) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_rate__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of devlink_rate__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_rate__bindgen_ty_1::devlink_port"] + [::core::mem::offset_of!(devlink_rate__bindgen_ty_1, devlink_port) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_rate"][::core::mem::size_of::() - 88usize]; + ["Alignment of devlink_rate"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_rate::list"][::core::mem::offset_of!(devlink_rate, list) - 0usize]; + ["Offset of field: devlink_rate::type_"] + [::core::mem::offset_of!(devlink_rate, type_) - 16usize]; + ["Offset of field: devlink_rate::devlink"] + [::core::mem::offset_of!(devlink_rate, devlink) - 24usize]; + ["Offset of field: devlink_rate::priv_"] + [::core::mem::offset_of!(devlink_rate, priv_) - 32usize]; + ["Offset of field: devlink_rate::tx_share"] + [::core::mem::offset_of!(devlink_rate, tx_share) - 40usize]; + ["Offset of field: devlink_rate::tx_max"] + [::core::mem::offset_of!(devlink_rate, tx_max) - 48usize]; + ["Offset of field: devlink_rate::parent"] + [::core::mem::offset_of!(devlink_rate, parent) - 56usize]; + ["Offset of field: devlink_rate::tx_priority"] + [::core::mem::offset_of!(devlink_rate, tx_priority) - 80usize]; + ["Offset of field: devlink_rate::tx_weight"] + [::core::mem::offset_of!(devlink_rate, tx_weight) - 84usize]; +}; +pub type devlink_rel_notify_cb_t = + ::core::option::Option; +pub type devlink_rel_cleanup_cb_t = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_rel { + pub index: u32_, + pub refcount: refcount_t, + pub devlink_index: u32_, + pub nested_in: devlink_rel__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_rel__bindgen_ty_1 { + pub devlink_index: u32_, + pub obj_index: u32_, + pub notify_cb: devlink_rel_notify_cb_t, + pub cleanup_cb: devlink_rel_cleanup_cb_t, + pub notify_work: delayed_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_rel__bindgen_ty_1"] + [::core::mem::size_of::() - 112usize]; + ["Alignment of devlink_rel__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_rel__bindgen_ty_1::devlink_index"] + [::core::mem::offset_of!(devlink_rel__bindgen_ty_1, devlink_index) - 0usize]; + ["Offset of field: devlink_rel__bindgen_ty_1::obj_index"] + [::core::mem::offset_of!(devlink_rel__bindgen_ty_1, obj_index) - 4usize]; + ["Offset of field: devlink_rel__bindgen_ty_1::notify_cb"] + [::core::mem::offset_of!(devlink_rel__bindgen_ty_1, notify_cb) - 8usize]; + ["Offset of field: devlink_rel__bindgen_ty_1::cleanup_cb"] + [::core::mem::offset_of!(devlink_rel__bindgen_ty_1, cleanup_cb) - 16usize]; + ["Offset of field: devlink_rel__bindgen_ty_1::notify_work"] + [::core::mem::offset_of!(devlink_rel__bindgen_ty_1, notify_work) - 24usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_rel"][::core::mem::size_of::() - 128usize]; + ["Alignment of devlink_rel"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_rel::index"][::core::mem::offset_of!(devlink_rel, index) - 0usize]; + ["Offset of field: devlink_rel::refcount"] + [::core::mem::offset_of!(devlink_rel, refcount) - 4usize]; + ["Offset of field: devlink_rel::devlink_index"] + [::core::mem::offset_of!(devlink_rel, devlink_index) - 8usize]; + ["Offset of field: devlink_rel::nested_in"] + [::core::mem::offset_of!(devlink_rel, nested_in) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_sb_pool_info { + pub pool_type: devlink_sb_pool_type, + pub size: u32_, + pub threshold_type: devlink_sb_threshold_type, + pub cell_size: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_sb_pool_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of devlink_sb_pool_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: devlink_sb_pool_info::pool_type"] + [::core::mem::offset_of!(devlink_sb_pool_info, pool_type) - 0usize]; + ["Offset of field: devlink_sb_pool_info::size"] + [::core::mem::offset_of!(devlink_sb_pool_info, size) - 4usize]; + ["Offset of field: devlink_sb_pool_info::threshold_type"] + [::core::mem::offset_of!(devlink_sb_pool_info, threshold_type) - 8usize]; + ["Offset of field: devlink_sb_pool_info::cell_size"] + [::core::mem::offset_of!(devlink_sb_pool_info, cell_size) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_trap { + pub type_: devlink_trap_type, + pub init_action: devlink_trap_action, + pub generic: bool_, + pub id: u16_, + pub name: *const ::core::ffi::c_char, + pub init_group_id: u16_, + pub metadata_cap: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_trap"][::core::mem::size_of::() - 32usize]; + ["Alignment of devlink_trap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_trap::type_"][::core::mem::offset_of!(devlink_trap, type_) - 0usize]; + ["Offset of field: devlink_trap::init_action"] + [::core::mem::offset_of!(devlink_trap, init_action) - 4usize]; + ["Offset of field: devlink_trap::generic"] + [::core::mem::offset_of!(devlink_trap, generic) - 8usize]; + ["Offset of field: devlink_trap::id"][::core::mem::offset_of!(devlink_trap, id) - 10usize]; + ["Offset of field: devlink_trap::name"][::core::mem::offset_of!(devlink_trap, name) - 16usize]; + ["Offset of field: devlink_trap::init_group_id"] + [::core::mem::offset_of!(devlink_trap, init_group_id) - 24usize]; + ["Offset of field: devlink_trap::metadata_cap"] + [::core::mem::offset_of!(devlink_trap, metadata_cap) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_trap_group { + pub name: *const ::core::ffi::c_char, + pub id: u16_, + pub generic: bool_, + pub init_policer_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_trap_group"][::core::mem::size_of::() - 16usize]; + ["Alignment of devlink_trap_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_trap_group::name"] + [::core::mem::offset_of!(devlink_trap_group, name) - 0usize]; + ["Offset of field: devlink_trap_group::id"] + [::core::mem::offset_of!(devlink_trap_group, id) - 8usize]; + ["Offset of field: devlink_trap_group::generic"] + [::core::mem::offset_of!(devlink_trap_group, generic) - 10usize]; + ["Offset of field: devlink_trap_group::init_policer_id"] + [::core::mem::offset_of!(devlink_trap_group, init_policer_id) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct devlink_trap_policer { + pub id: u32_, + pub init_rate: u64_, + pub init_burst: u64_, + pub max_rate: u64_, + pub min_rate: u64_, + pub max_burst: u64_, + pub min_burst: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of devlink_trap_policer"][::core::mem::size_of::() - 56usize]; + ["Alignment of devlink_trap_policer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: devlink_trap_policer::id"] + [::core::mem::offset_of!(devlink_trap_policer, id) - 0usize]; + ["Offset of field: devlink_trap_policer::init_rate"] + [::core::mem::offset_of!(devlink_trap_policer, init_rate) - 8usize]; + ["Offset of field: devlink_trap_policer::init_burst"] + [::core::mem::offset_of!(devlink_trap_policer, init_burst) - 16usize]; + ["Offset of field: devlink_trap_policer::max_rate"] + [::core::mem::offset_of!(devlink_trap_policer, max_rate) - 24usize]; + ["Offset of field: devlink_trap_policer::min_rate"] + [::core::mem::offset_of!(devlink_trap_policer, min_rate) - 32usize]; + ["Offset of field: devlink_trap_policer::max_burst"] + [::core::mem::offset_of!(devlink_trap_policer, max_burst) - 40usize]; + ["Offset of field: devlink_trap_policer::min_burst"] + [::core::mem::offset_of!(devlink_trap_policer, min_burst) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dim_stats { + pub ppms: ::core::ffi::c_int, + pub bpms: ::core::ffi::c_int, + pub epms: ::core::ffi::c_int, + pub cpms: ::core::ffi::c_int, + pub cpe_ratio: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dim_stats"][::core::mem::size_of::() - 20usize]; + ["Alignment of dim_stats"][::core::mem::align_of::() - 4usize]; + ["Offset of field: dim_stats::ppms"][::core::mem::offset_of!(dim_stats, ppms) - 0usize]; + ["Offset of field: dim_stats::bpms"][::core::mem::offset_of!(dim_stats, bpms) - 4usize]; + ["Offset of field: dim_stats::epms"][::core::mem::offset_of!(dim_stats, epms) - 8usize]; + ["Offset of field: dim_stats::cpms"][::core::mem::offset_of!(dim_stats, cpms) - 12usize]; + ["Offset of field: dim_stats::cpe_ratio"] + [::core::mem::offset_of!(dim_stats, cpe_ratio) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dim_sample { + pub time: ktime_t, + pub pkt_ctr: u32_, + pub byte_ctr: u32_, + pub event_ctr: u16_, + pub comp_ctr: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dim_sample"][::core::mem::size_of::() - 24usize]; + ["Alignment of dim_sample"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dim_sample::time"][::core::mem::offset_of!(dim_sample, time) - 0usize]; + ["Offset of field: dim_sample::pkt_ctr"][::core::mem::offset_of!(dim_sample, pkt_ctr) - 8usize]; + ["Offset of field: dim_sample::byte_ctr"] + [::core::mem::offset_of!(dim_sample, byte_ctr) - 12usize]; + ["Offset of field: dim_sample::event_ctr"] + [::core::mem::offset_of!(dim_sample, event_ctr) - 16usize]; + ["Offset of field: dim_sample::comp_ctr"] + [::core::mem::offset_of!(dim_sample, comp_ctr) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dim { + pub state: u8_, + pub prev_stats: dim_stats, + pub start_sample: dim_sample, + pub measuring_sample: dim_sample, + pub work: work_struct, + pub priv_: *mut ::core::ffi::c_void, + pub profile_ix: u8_, + pub mode: u8_, + pub tune_state: u8_, + pub steps_right: u8_, + pub steps_left: u8_, + pub tired: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dim"][::core::mem::size_of::() - 120usize]; + ["Alignment of dim"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dim::state"][::core::mem::offset_of!(dim, state) - 0usize]; + ["Offset of field: dim::prev_stats"][::core::mem::offset_of!(dim, prev_stats) - 4usize]; + ["Offset of field: dim::start_sample"][::core::mem::offset_of!(dim, start_sample) - 24usize]; + ["Offset of field: dim::measuring_sample"] + [::core::mem::offset_of!(dim, measuring_sample) - 48usize]; + ["Offset of field: dim::work"][::core::mem::offset_of!(dim, work) - 72usize]; + ["Offset of field: dim::priv_"][::core::mem::offset_of!(dim, priv_) - 104usize]; + ["Offset of field: dim::profile_ix"][::core::mem::offset_of!(dim, profile_ix) - 112usize]; + ["Offset of field: dim::mode"][::core::mem::offset_of!(dim, mode) - 113usize]; + ["Offset of field: dim::tune_state"][::core::mem::offset_of!(dim, tune_state) - 114usize]; + ["Offset of field: dim::steps_right"][::core::mem::offset_of!(dim, steps_right) - 115usize]; + ["Offset of field: dim::steps_left"][::core::mem::offset_of!(dim, steps_left) - 116usize]; + ["Offset of field: dim::tired"][::core::mem::offset_of!(dim, tired) - 117usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dim_cq_moder { + pub usec: u16_, + pub pkts: u16_, + pub comps: u16_, + pub cq_period_mode: u8_, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dim_cq_moder"][::core::mem::size_of::() - 24usize]; + ["Alignment of dim_cq_moder"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dim_cq_moder::usec"][::core::mem::offset_of!(dim_cq_moder, usec) - 0usize]; + ["Offset of field: dim_cq_moder::pkts"][::core::mem::offset_of!(dim_cq_moder, pkts) - 2usize]; + ["Offset of field: dim_cq_moder::comps"][::core::mem::offset_of!(dim_cq_moder, comps) - 4usize]; + ["Offset of field: dim_cq_moder::cq_period_mode"] + [::core::mem::offset_of!(dim_cq_moder, cq_period_mode) - 6usize]; + ["Offset of field: dim_cq_moder::rcu"][::core::mem::offset_of!(dim_cq_moder, rcu) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dim_irq_moder { + pub profile_flags: u8_, + pub coal_flags: u8_, + pub dim_rx_mode: u8_, + pub dim_tx_mode: u8_, + pub rx_profile: *mut dim_cq_moder, + pub tx_profile: *mut dim_cq_moder, + pub rx_dim_work: ::core::option::Option, + pub tx_dim_work: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dim_irq_moder"][::core::mem::size_of::() - 40usize]; + ["Alignment of dim_irq_moder"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dim_irq_moder::profile_flags"] + [::core::mem::offset_of!(dim_irq_moder, profile_flags) - 0usize]; + ["Offset of field: dim_irq_moder::coal_flags"] + [::core::mem::offset_of!(dim_irq_moder, coal_flags) - 1usize]; + ["Offset of field: dim_irq_moder::dim_rx_mode"] + [::core::mem::offset_of!(dim_irq_moder, dim_rx_mode) - 2usize]; + ["Offset of field: dim_irq_moder::dim_tx_mode"] + [::core::mem::offset_of!(dim_irq_moder, dim_tx_mode) - 3usize]; + ["Offset of field: dim_irq_moder::rx_profile"] + [::core::mem::offset_of!(dim_irq_moder, rx_profile) - 8usize]; + ["Offset of field: dim_irq_moder::tx_profile"] + [::core::mem::offset_of!(dim_irq_moder, tx_profile) - 16usize]; + ["Offset of field: dim_irq_moder::rx_dim_work"] + [::core::mem::offset_of!(dim_irq_moder, rx_dim_work) - 24usize]; + ["Offset of field: dim_irq_moder::tx_dim_work"] + [::core::mem::offset_of!(dim_irq_moder, tx_dim_work) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct disk_events { + pub node: list_head, + pub disk: *mut gendisk, + pub lock: spinlock_t, + pub block_mutex: mutex, + pub block: ::core::ffi::c_int, + pub pending: ::core::ffi::c_uint, + pub clearing: ::core::ffi::c_uint, + pub poll_msecs: ::core::ffi::c_long, + pub dwork: delayed_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of disk_events"][::core::mem::size_of::() - 176usize]; + ["Alignment of disk_events"][::core::mem::align_of::() - 8usize]; + ["Offset of field: disk_events::node"][::core::mem::offset_of!(disk_events, node) - 0usize]; + ["Offset of field: disk_events::disk"][::core::mem::offset_of!(disk_events, disk) - 16usize]; + ["Offset of field: disk_events::lock"][::core::mem::offset_of!(disk_events, lock) - 24usize]; + ["Offset of field: disk_events::block_mutex"] + [::core::mem::offset_of!(disk_events, block_mutex) - 32usize]; + ["Offset of field: disk_events::block"][::core::mem::offset_of!(disk_events, block) - 64usize]; + ["Offset of field: disk_events::pending"] + [::core::mem::offset_of!(disk_events, pending) - 68usize]; + ["Offset of field: disk_events::clearing"] + [::core::mem::offset_of!(disk_events, clearing) - 72usize]; + ["Offset of field: disk_events::poll_msecs"] + [::core::mem::offset_of!(disk_events, poll_msecs) - 80usize]; + ["Offset of field: disk_events::dwork"][::core::mem::offset_of!(disk_events, dwork) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct disk_stats { + pub nsecs: [u64_; 4usize], + pub sectors: [::core::ffi::c_ulong; 4usize], + pub ios: [::core::ffi::c_ulong; 4usize], + pub merges: [::core::ffi::c_ulong; 4usize], + pub io_ticks: ::core::ffi::c_ulong, + pub in_flight: [local_t; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of disk_stats"][::core::mem::size_of::() - 152usize]; + ["Alignment of disk_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: disk_stats::nsecs"][::core::mem::offset_of!(disk_stats, nsecs) - 0usize]; + ["Offset of field: disk_stats::sectors"] + [::core::mem::offset_of!(disk_stats, sectors) - 32usize]; + ["Offset of field: disk_stats::ios"][::core::mem::offset_of!(disk_stats, ios) - 64usize]; + ["Offset of field: disk_stats::merges"][::core::mem::offset_of!(disk_stats, merges) - 96usize]; + ["Offset of field: disk_stats::io_ticks"] + [::core::mem::offset_of!(disk_stats, io_ticks) - 128usize]; + ["Offset of field: disk_stats::in_flight"] + [::core::mem::offset_of!(disk_stats, in_flight) - 136usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dl_bw { + pub lock: raw_spinlock_t, + pub bw: u64_, + pub total_bw: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dl_bw"][::core::mem::size_of::() - 24usize]; + ["Alignment of dl_bw"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dl_bw::lock"][::core::mem::offset_of!(dl_bw, lock) - 0usize]; + ["Offset of field: dl_bw::bw"][::core::mem::offset_of!(dl_bw, bw) - 8usize]; + ["Offset of field: dl_bw::total_bw"][::core::mem::offset_of!(dl_bw, total_bw) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dl_rq { + pub root: rb_root_cached, + pub dl_nr_running: ::core::ffi::c_uint, + pub earliest_dl: dl_rq__bindgen_ty_1, + pub overloaded: bool_, + pub pushable_dl_tasks_root: rb_root_cached, + pub running_bw: u64_, + pub this_bw: u64_, + pub extra_bw: u64_, + pub max_bw: u64_, + pub bw_ratio: u64_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dl_rq__bindgen_ty_1 { + pub curr: u64_, + pub next: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dl_rq__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of dl_rq__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dl_rq__bindgen_ty_1::curr"] + [::core::mem::offset_of!(dl_rq__bindgen_ty_1, curr) - 0usize]; + ["Offset of field: dl_rq__bindgen_ty_1::next"] + [::core::mem::offset_of!(dl_rq__bindgen_ty_1, next) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dl_rq"][::core::mem::size_of::() - 104usize]; + ["Alignment of dl_rq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dl_rq::root"][::core::mem::offset_of!(dl_rq, root) - 0usize]; + ["Offset of field: dl_rq::dl_nr_running"] + [::core::mem::offset_of!(dl_rq, dl_nr_running) - 16usize]; + ["Offset of field: dl_rq::earliest_dl"][::core::mem::offset_of!(dl_rq, earliest_dl) - 24usize]; + ["Offset of field: dl_rq::overloaded"][::core::mem::offset_of!(dl_rq, overloaded) - 40usize]; + ["Offset of field: dl_rq::pushable_dl_tasks_root"] + [::core::mem::offset_of!(dl_rq, pushable_dl_tasks_root) - 48usize]; + ["Offset of field: dl_rq::running_bw"][::core::mem::offset_of!(dl_rq, running_bw) - 64usize]; + ["Offset of field: dl_rq::this_bw"][::core::mem::offset_of!(dl_rq, this_bw) - 72usize]; + ["Offset of field: dl_rq::extra_bw"][::core::mem::offset_of!(dl_rq, extra_bw) - 80usize]; + ["Offset of field: dl_rq::max_bw"][::core::mem::offset_of!(dl_rq, max_bw) - 88usize]; + ["Offset of field: dl_rq::bw_ratio"][::core::mem::offset_of!(dl_rq, bw_ratio) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dm_hw_stat_delta { + pub last_rx: ::core::ffi::c_ulong, + pub last_drop_val: ::core::ffi::c_ulong, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dm_hw_stat_delta"][::core::mem::size_of::() - 32usize]; + ["Alignment of dm_hw_stat_delta"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dm_hw_stat_delta::last_rx"] + [::core::mem::offset_of!(dm_hw_stat_delta, last_rx) - 0usize]; + ["Offset of field: dm_hw_stat_delta::last_drop_val"] + [::core::mem::offset_of!(dm_hw_stat_delta, last_drop_val) - 8usize]; + ["Offset of field: dm_hw_stat_delta::rcu"] + [::core::mem::offset_of!(dm_hw_stat_delta, rcu) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sg_table { + pub sgl: *mut scatterlist, + pub nents: ::core::ffi::c_uint, + pub orig_nents: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sg_table"][::core::mem::size_of::() - 16usize]; + ["Alignment of sg_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sg_table::sgl"][::core::mem::offset_of!(sg_table, sgl) - 0usize]; + ["Offset of field: sg_table::nents"][::core::mem::offset_of!(sg_table, nents) - 8usize]; + ["Offset of field: sg_table::orig_nents"] + [::core::mem::offset_of!(sg_table, orig_nents) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dma_map_ops { + pub alloc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: usize, + arg3: *mut dma_addr_t, + arg4: gfp_t, + arg5: ::core::ffi::c_ulong, + ) -> *mut ::core::ffi::c_void, + >, + pub free: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: usize, + arg3: *mut ::core::ffi::c_void, + arg4: dma_addr_t, + arg5: ::core::ffi::c_ulong, + ), + >, + pub alloc_pages_op: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: usize, + arg3: *mut dma_addr_t, + arg4: dma_data_direction, + arg5: gfp_t, + ) -> *mut page, + >, + pub free_pages: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: usize, + arg3: *mut page, + arg4: dma_addr_t, + arg5: dma_data_direction, + ), + >, + pub mmap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut vm_area_struct, + arg3: *mut ::core::ffi::c_void, + arg4: dma_addr_t, + arg5: usize, + arg6: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub get_sgtable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut sg_table, + arg3: *mut ::core::ffi::c_void, + arg4: dma_addr_t, + arg5: usize, + arg6: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub map_page: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut page, + arg3: ::core::ffi::c_ulong, + arg4: usize, + arg5: dma_data_direction, + arg6: ::core::ffi::c_ulong, + ) -> dma_addr_t, + >, + pub unmap_page: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: dma_addr_t, + arg3: usize, + arg4: dma_data_direction, + arg5: ::core::ffi::c_ulong, + ), + >, + pub map_sg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut scatterlist, + arg3: ::core::ffi::c_int, + arg4: dma_data_direction, + arg5: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub unmap_sg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut scatterlist, + arg3: ::core::ffi::c_int, + arg4: dma_data_direction, + arg5: ::core::ffi::c_ulong, + ), + >, + pub map_resource: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: phys_addr_t, + arg3: usize, + arg4: dma_data_direction, + arg5: ::core::ffi::c_ulong, + ) -> dma_addr_t, + >, + pub unmap_resource: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: dma_addr_t, + arg3: usize, + arg4: dma_data_direction, + arg5: ::core::ffi::c_ulong, + ), + >, + pub sync_single_for_cpu: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: dma_addr_t, + arg3: usize, + arg4: dma_data_direction, + ), + >, + pub sync_single_for_device: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: dma_addr_t, + arg3: usize, + arg4: dma_data_direction, + ), + >, + pub sync_sg_for_cpu: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut scatterlist, + arg3: ::core::ffi::c_int, + arg4: dma_data_direction, + ), + >, + pub sync_sg_for_device: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut scatterlist, + arg3: ::core::ffi::c_int, + arg4: dma_data_direction, + ), + >, + pub cache_sync: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut ::core::ffi::c_void, + arg3: usize, + arg4: dma_data_direction, + ), + >, + pub dma_supported: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: u64_) -> ::core::ffi::c_int, + >, + pub get_required_mask: ::core::option::Option u64_>, + pub max_mapping_size: ::core::option::Option usize>, + pub opt_mapping_size: ::core::option::Option usize>, + pub get_merge_boundary: + ::core::option::Option ::core::ffi::c_ulong>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dma_map_ops"][::core::mem::size_of::() - 176usize]; + ["Alignment of dma_map_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dma_map_ops::alloc"][::core::mem::offset_of!(dma_map_ops, alloc) - 0usize]; + ["Offset of field: dma_map_ops::free"][::core::mem::offset_of!(dma_map_ops, free) - 8usize]; + ["Offset of field: dma_map_ops::alloc_pages_op"] + [::core::mem::offset_of!(dma_map_ops, alloc_pages_op) - 16usize]; + ["Offset of field: dma_map_ops::free_pages"] + [::core::mem::offset_of!(dma_map_ops, free_pages) - 24usize]; + ["Offset of field: dma_map_ops::mmap"][::core::mem::offset_of!(dma_map_ops, mmap) - 32usize]; + ["Offset of field: dma_map_ops::get_sgtable"] + [::core::mem::offset_of!(dma_map_ops, get_sgtable) - 40usize]; + ["Offset of field: dma_map_ops::map_page"] + [::core::mem::offset_of!(dma_map_ops, map_page) - 48usize]; + ["Offset of field: dma_map_ops::unmap_page"] + [::core::mem::offset_of!(dma_map_ops, unmap_page) - 56usize]; + ["Offset of field: dma_map_ops::map_sg"] + [::core::mem::offset_of!(dma_map_ops, map_sg) - 64usize]; + ["Offset of field: dma_map_ops::unmap_sg"] + [::core::mem::offset_of!(dma_map_ops, unmap_sg) - 72usize]; + ["Offset of field: dma_map_ops::map_resource"] + [::core::mem::offset_of!(dma_map_ops, map_resource) - 80usize]; + ["Offset of field: dma_map_ops::unmap_resource"] + [::core::mem::offset_of!(dma_map_ops, unmap_resource) - 88usize]; + ["Offset of field: dma_map_ops::sync_single_for_cpu"] + [::core::mem::offset_of!(dma_map_ops, sync_single_for_cpu) - 96usize]; + ["Offset of field: dma_map_ops::sync_single_for_device"] + [::core::mem::offset_of!(dma_map_ops, sync_single_for_device) - 104usize]; + ["Offset of field: dma_map_ops::sync_sg_for_cpu"] + [::core::mem::offset_of!(dma_map_ops, sync_sg_for_cpu) - 112usize]; + ["Offset of field: dma_map_ops::sync_sg_for_device"] + [::core::mem::offset_of!(dma_map_ops, sync_sg_for_device) - 120usize]; + ["Offset of field: dma_map_ops::cache_sync"] + [::core::mem::offset_of!(dma_map_ops, cache_sync) - 128usize]; + ["Offset of field: dma_map_ops::dma_supported"] + [::core::mem::offset_of!(dma_map_ops, dma_supported) - 136usize]; + ["Offset of field: dma_map_ops::get_required_mask"] + [::core::mem::offset_of!(dma_map_ops, get_required_mask) - 144usize]; + ["Offset of field: dma_map_ops::max_mapping_size"] + [::core::mem::offset_of!(dma_map_ops, max_mapping_size) - 152usize]; + ["Offset of field: dma_map_ops::opt_mapping_size"] + [::core::mem::offset_of!(dma_map_ops, opt_mapping_size) - 160usize]; + ["Offset of field: dma_map_ops::get_merge_boundary"] + [::core::mem::offset_of!(dma_map_ops, get_merge_boundary) - 168usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ww_mutex { + pub base: mutex, + pub ctx: *mut ww_acquire_ctx, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ww_mutex"][::core::mem::size_of::() - 40usize]; + ["Alignment of ww_mutex"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ww_mutex::base"][::core::mem::offset_of!(ww_mutex, base) - 0usize]; + ["Offset of field: ww_mutex::ctx"][::core::mem::offset_of!(ww_mutex, ctx) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_domain_geometry { + pub aperture_start: dma_addr_t, + pub aperture_end: dma_addr_t, + pub force_aperture: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_domain_geometry"][::core::mem::size_of::() - 24usize]; + ["Alignment of iommu_domain_geometry"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_domain_geometry::aperture_start"] + [::core::mem::offset_of!(iommu_domain_geometry, aperture_start) - 0usize]; + ["Offset of field: iommu_domain_geometry::aperture_end"] + [::core::mem::offset_of!(iommu_domain_geometry, aperture_end) - 8usize]; + ["Offset of field: iommu_domain_geometry::force_aperture"] + [::core::mem::offset_of!(iommu_domain_geometry, force_aperture) - 16usize]; +}; +pub type iommu_fault_handler_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: *mut device, + arg3: ::core::ffi::c_ulong, + arg4: ::core::ffi::c_int, + arg5: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iommu_domain { + pub type_: ::core::ffi::c_uint, + pub ops: *const iommu_domain_ops, + pub dirty_ops: *const iommu_dirty_ops, + pub owner: *const iommu_ops, + pub pgsize_bitmap: ::core::ffi::c_ulong, + pub geometry: iommu_domain_geometry, + pub iova_cookie: *mut iommu_dma_cookie, + pub iopf_handler: + ::core::option::Option ::core::ffi::c_int>, + pub fault_data: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: iommu_domain__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iommu_domain__bindgen_ty_1 { + pub __bindgen_anon_1: iommu_domain__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: iommu_domain__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_domain__bindgen_ty_1__bindgen_ty_1 { + pub handler: iommu_fault_handler_t, + pub handler_token: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_domain__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of iommu_domain__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_domain__bindgen_ty_1__bindgen_ty_1::handler"] + [::core::mem::offset_of!(iommu_domain__bindgen_ty_1__bindgen_ty_1, handler) - 0usize]; + ["Offset of field: iommu_domain__bindgen_ty_1__bindgen_ty_1::handler_token"] + [::core::mem::offset_of!(iommu_domain__bindgen_ty_1__bindgen_ty_1, handler_token) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_domain__bindgen_ty_1__bindgen_ty_2 { + pub mm: *mut mm_struct, + pub users: ::core::ffi::c_int, + pub next: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_domain__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of iommu_domain__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_domain__bindgen_ty_1__bindgen_ty_2::mm"] + [::core::mem::offset_of!(iommu_domain__bindgen_ty_1__bindgen_ty_2, mm) - 0usize]; + ["Offset of field: iommu_domain__bindgen_ty_1__bindgen_ty_2::users"] + [::core::mem::offset_of!(iommu_domain__bindgen_ty_1__bindgen_ty_2, users) - 8usize]; + ["Offset of field: iommu_domain__bindgen_ty_1__bindgen_ty_2::next"] + [::core::mem::offset_of!(iommu_domain__bindgen_ty_1__bindgen_ty_2, next) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_domain__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of iommu_domain__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_domain"][::core::mem::size_of::() - 120usize]; + ["Alignment of iommu_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_domain::type_"][::core::mem::offset_of!(iommu_domain, type_) - 0usize]; + ["Offset of field: iommu_domain::ops"][::core::mem::offset_of!(iommu_domain, ops) - 8usize]; + ["Offset of field: iommu_domain::dirty_ops"] + [::core::mem::offset_of!(iommu_domain, dirty_ops) - 16usize]; + ["Offset of field: iommu_domain::owner"] + [::core::mem::offset_of!(iommu_domain, owner) - 24usize]; + ["Offset of field: iommu_domain::pgsize_bitmap"] + [::core::mem::offset_of!(iommu_domain, pgsize_bitmap) - 32usize]; + ["Offset of field: iommu_domain::geometry"] + [::core::mem::offset_of!(iommu_domain, geometry) - 40usize]; + ["Offset of field: iommu_domain::iova_cookie"] + [::core::mem::offset_of!(iommu_domain, iova_cookie) - 64usize]; + ["Offset of field: iommu_domain::iopf_handler"] + [::core::mem::offset_of!(iommu_domain, iopf_handler) - 72usize]; + ["Offset of field: iommu_domain::fault_data"] + [::core::mem::offset_of!(iommu_domain, fault_data) - 80usize]; +}; +pub type fl_owner_t = *mut ::core::ffi::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dpll_pin_phase_adjust_range { + pub min: s32, + pub max: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dpll_pin_phase_adjust_range"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of dpll_pin_phase_adjust_range"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: dpll_pin_phase_adjust_range::min"] + [::core::mem::offset_of!(dpll_pin_phase_adjust_range, min) - 0usize]; + ["Offset of field: dpll_pin_phase_adjust_range::max"] + [::core::mem::offset_of!(dpll_pin_phase_adjust_range, max) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dpll_pin_properties { + pub board_label: *const ::core::ffi::c_char, + pub panel_label: *const ::core::ffi::c_char, + pub package_label: *const ::core::ffi::c_char, + pub type_: dpll_pin_type, + pub capabilities: ::core::ffi::c_ulong, + pub freq_supported_num: u32_, + pub freq_supported: *mut dpll_pin_frequency, + pub phase_range: dpll_pin_phase_adjust_range, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dpll_pin_properties"][::core::mem::size_of::() - 64usize]; + ["Alignment of dpll_pin_properties"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dpll_pin_properties::board_label"] + [::core::mem::offset_of!(dpll_pin_properties, board_label) - 0usize]; + ["Offset of field: dpll_pin_properties::panel_label"] + [::core::mem::offset_of!(dpll_pin_properties, panel_label) - 8usize]; + ["Offset of field: dpll_pin_properties::package_label"] + [::core::mem::offset_of!(dpll_pin_properties, package_label) - 16usize]; + ["Offset of field: dpll_pin_properties::type_"] + [::core::mem::offset_of!(dpll_pin_properties, type_) - 24usize]; + ["Offset of field: dpll_pin_properties::capabilities"] + [::core::mem::offset_of!(dpll_pin_properties, capabilities) - 32usize]; + ["Offset of field: dpll_pin_properties::freq_supported_num"] + [::core::mem::offset_of!(dpll_pin_properties, freq_supported_num) - 40usize]; + ["Offset of field: dpll_pin_properties::freq_supported"] + [::core::mem::offset_of!(dpll_pin_properties, freq_supported) - 48usize]; + ["Offset of field: dpll_pin_properties::phase_range"] + [::core::mem::offset_of!(dpll_pin_properties, phase_range) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dpll_pin { + pub id: u32_, + pub pin_idx: u32_, + pub clock_id: u64_, + pub module: *mut module, + pub dpll_refs: xarray, + pub parent_refs: xarray, + pub prop: dpll_pin_properties, + pub refcount: refcount_t, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dpll_pin"][::core::mem::size_of::() - 144usize]; + ["Alignment of dpll_pin"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dpll_pin::id"][::core::mem::offset_of!(dpll_pin, id) - 0usize]; + ["Offset of field: dpll_pin::pin_idx"][::core::mem::offset_of!(dpll_pin, pin_idx) - 4usize]; + ["Offset of field: dpll_pin::clock_id"][::core::mem::offset_of!(dpll_pin, clock_id) - 8usize]; + ["Offset of field: dpll_pin::module"][::core::mem::offset_of!(dpll_pin, module) - 16usize]; + ["Offset of field: dpll_pin::dpll_refs"] + [::core::mem::offset_of!(dpll_pin, dpll_refs) - 24usize]; + ["Offset of field: dpll_pin::parent_refs"] + [::core::mem::offset_of!(dpll_pin, parent_refs) - 40usize]; + ["Offset of field: dpll_pin::prop"][::core::mem::offset_of!(dpll_pin, prop) - 56usize]; + ["Offset of field: dpll_pin::refcount"][::core::mem::offset_of!(dpll_pin, refcount) - 120usize]; + ["Offset of field: dpll_pin::rcu"][::core::mem::offset_of!(dpll_pin, rcu) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dpll_pin_frequency { + pub min: u64_, + pub max: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dpll_pin_frequency"][::core::mem::size_of::() - 16usize]; + ["Alignment of dpll_pin_frequency"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dpll_pin_frequency::min"] + [::core::mem::offset_of!(dpll_pin_frequency, min) - 0usize]; + ["Offset of field: dpll_pin_frequency::max"] + [::core::mem::offset_of!(dpll_pin_frequency, max) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dql { + pub num_queued: ::core::ffi::c_uint, + pub adj_limit: ::core::ffi::c_uint, + pub last_obj_cnt: ::core::ffi::c_uint, + pub stall_thrs: ::core::ffi::c_ushort, + pub history_head: ::core::ffi::c_ulong, + pub history: [::core::ffi::c_ulong; 4usize], + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub limit: ::core::ffi::c_uint, + pub num_completed: ::core::ffi::c_uint, + pub prev_ovlimit: ::core::ffi::c_uint, + pub prev_num_queued: ::core::ffi::c_uint, + pub prev_last_obj_cnt: ::core::ffi::c_uint, + pub lowest_slack: ::core::ffi::c_uint, + pub slack_start_time: ::core::ffi::c_ulong, + pub max_limit: ::core::ffi::c_uint, + pub min_limit: ::core::ffi::c_uint, + pub slack_hold_time: ::core::ffi::c_uint, + pub stall_max: ::core::ffi::c_ushort, + pub last_reap: ::core::ffi::c_ulong, + pub stall_cnt: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dql"][::core::mem::size_of::() - 128usize]; + ["Alignment of dql"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dql::num_queued"][::core::mem::offset_of!(dql, num_queued) - 0usize]; + ["Offset of field: dql::adj_limit"][::core::mem::offset_of!(dql, adj_limit) - 4usize]; + ["Offset of field: dql::last_obj_cnt"][::core::mem::offset_of!(dql, last_obj_cnt) - 8usize]; + ["Offset of field: dql::stall_thrs"][::core::mem::offset_of!(dql, stall_thrs) - 12usize]; + ["Offset of field: dql::history_head"][::core::mem::offset_of!(dql, history_head) - 16usize]; + ["Offset of field: dql::history"][::core::mem::offset_of!(dql, history) - 24usize]; + ["Offset of field: dql::limit"][::core::mem::offset_of!(dql, limit) - 64usize]; + ["Offset of field: dql::num_completed"][::core::mem::offset_of!(dql, num_completed) - 68usize]; + ["Offset of field: dql::prev_ovlimit"][::core::mem::offset_of!(dql, prev_ovlimit) - 72usize]; + ["Offset of field: dql::prev_num_queued"] + [::core::mem::offset_of!(dql, prev_num_queued) - 76usize]; + ["Offset of field: dql::prev_last_obj_cnt"] + [::core::mem::offset_of!(dql, prev_last_obj_cnt) - 80usize]; + ["Offset of field: dql::lowest_slack"][::core::mem::offset_of!(dql, lowest_slack) - 84usize]; + ["Offset of field: dql::slack_start_time"] + [::core::mem::offset_of!(dql, slack_start_time) - 88usize]; + ["Offset of field: dql::max_limit"][::core::mem::offset_of!(dql, max_limit) - 96usize]; + ["Offset of field: dql::min_limit"][::core::mem::offset_of!(dql, min_limit) - 100usize]; + ["Offset of field: dql::slack_hold_time"] + [::core::mem::offset_of!(dql, slack_hold_time) - 104usize]; + ["Offset of field: dql::stall_max"][::core::mem::offset_of!(dql, stall_max) - 108usize]; + ["Offset of field: dql::last_reap"][::core::mem::offset_of!(dql, last_reap) - 112usize]; + ["Offset of field: dql::stall_cnt"][::core::mem::offset_of!(dql, stall_cnt) - 120usize]; +}; +impl dql { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kqid { + pub __bindgen_anon_1: kqid__bindgen_ty_1, + pub type_: quota_type, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union kqid__bindgen_ty_1 { + pub uid: kuid_t, + pub gid: kgid_t, + pub projid: kprojid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kqid__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of kqid__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kqid__bindgen_ty_1::uid"] + [::core::mem::offset_of!(kqid__bindgen_ty_1, uid) - 0usize]; + ["Offset of field: kqid__bindgen_ty_1::gid"] + [::core::mem::offset_of!(kqid__bindgen_ty_1, gid) - 0usize]; + ["Offset of field: kqid__bindgen_ty_1::projid"] + [::core::mem::offset_of!(kqid__bindgen_ty_1, projid) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kqid"][::core::mem::size_of::() - 8usize]; + ["Alignment of kqid"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kqid::type_"][::core::mem::offset_of!(kqid, type_) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mem_dqblk { + pub dqb_bhardlimit: qsize_t, + pub dqb_bsoftlimit: qsize_t, + pub dqb_curspace: qsize_t, + pub dqb_rsvspace: qsize_t, + pub dqb_ihardlimit: qsize_t, + pub dqb_isoftlimit: qsize_t, + pub dqb_curinodes: qsize_t, + pub dqb_btime: time64_t, + pub dqb_itime: time64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mem_dqblk"][::core::mem::size_of::() - 72usize]; + ["Alignment of mem_dqblk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mem_dqblk::dqb_bhardlimit"] + [::core::mem::offset_of!(mem_dqblk, dqb_bhardlimit) - 0usize]; + ["Offset of field: mem_dqblk::dqb_bsoftlimit"] + [::core::mem::offset_of!(mem_dqblk, dqb_bsoftlimit) - 8usize]; + ["Offset of field: mem_dqblk::dqb_curspace"] + [::core::mem::offset_of!(mem_dqblk, dqb_curspace) - 16usize]; + ["Offset of field: mem_dqblk::dqb_rsvspace"] + [::core::mem::offset_of!(mem_dqblk, dqb_rsvspace) - 24usize]; + ["Offset of field: mem_dqblk::dqb_ihardlimit"] + [::core::mem::offset_of!(mem_dqblk, dqb_ihardlimit) - 32usize]; + ["Offset of field: mem_dqblk::dqb_isoftlimit"] + [::core::mem::offset_of!(mem_dqblk, dqb_isoftlimit) - 40usize]; + ["Offset of field: mem_dqblk::dqb_curinodes"] + [::core::mem::offset_of!(mem_dqblk, dqb_curinodes) - 48usize]; + ["Offset of field: mem_dqblk::dqb_btime"] + [::core::mem::offset_of!(mem_dqblk, dqb_btime) - 56usize]; + ["Offset of field: mem_dqblk::dqb_itime"] + [::core::mem::offset_of!(mem_dqblk, dqb_itime) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dquot { + pub dq_hash: hlist_node, + pub dq_inuse: list_head, + pub dq_free: list_head, + pub dq_dirty: list_head, + pub dq_lock: mutex, + pub dq_dqb_lock: spinlock_t, + pub dq_count: atomic_t, + pub dq_sb: *mut super_block, + pub dq_id: kqid, + pub dq_off: loff_t, + pub dq_flags: ::core::ffi::c_ulong, + pub dq_dqb: mem_dqblk, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dquot"][::core::mem::size_of::() - 208usize]; + ["Alignment of dquot"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dquot::dq_hash"][::core::mem::offset_of!(dquot, dq_hash) - 0usize]; + ["Offset of field: dquot::dq_inuse"][::core::mem::offset_of!(dquot, dq_inuse) - 16usize]; + ["Offset of field: dquot::dq_free"][::core::mem::offset_of!(dquot, dq_free) - 32usize]; + ["Offset of field: dquot::dq_dirty"][::core::mem::offset_of!(dquot, dq_dirty) - 48usize]; + ["Offset of field: dquot::dq_lock"][::core::mem::offset_of!(dquot, dq_lock) - 64usize]; + ["Offset of field: dquot::dq_dqb_lock"][::core::mem::offset_of!(dquot, dq_dqb_lock) - 96usize]; + ["Offset of field: dquot::dq_count"][::core::mem::offset_of!(dquot, dq_count) - 100usize]; + ["Offset of field: dquot::dq_sb"][::core::mem::offset_of!(dquot, dq_sb) - 104usize]; + ["Offset of field: dquot::dq_id"][::core::mem::offset_of!(dquot, dq_id) - 112usize]; + ["Offset of field: dquot::dq_off"][::core::mem::offset_of!(dquot, dq_off) - 120usize]; + ["Offset of field: dquot::dq_flags"][::core::mem::offset_of!(dquot, dq_flags) - 128usize]; + ["Offset of field: dquot::dq_dqb"][::core::mem::offset_of!(dquot, dq_dqb) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dquot_operations { + pub write_dquot: + ::core::option::Option ::core::ffi::c_int>, + pub alloc_dquot: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut super_block, arg2: ::core::ffi::c_int) -> *mut dquot, + >, + pub destroy_dquot: ::core::option::Option, + pub acquire_dquot: + ::core::option::Option ::core::ffi::c_int>, + pub release_dquot: + ::core::option::Option ::core::ffi::c_int>, + pub mark_dirty: + ::core::option::Option ::core::ffi::c_int>, + pub write_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub get_reserved_space: + ::core::option::Option *mut qsize_t>, + pub get_projid: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut kprojid_t) -> ::core::ffi::c_int, + >, + pub get_inode_usage: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut qsize_t) -> ::core::ffi::c_int, + >, + pub get_next_id: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut super_block, arg2: *mut kqid) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dquot_operations"][::core::mem::size_of::() - 88usize]; + ["Alignment of dquot_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dquot_operations::write_dquot"] + [::core::mem::offset_of!(dquot_operations, write_dquot) - 0usize]; + ["Offset of field: dquot_operations::alloc_dquot"] + [::core::mem::offset_of!(dquot_operations, alloc_dquot) - 8usize]; + ["Offset of field: dquot_operations::destroy_dquot"] + [::core::mem::offset_of!(dquot_operations, destroy_dquot) - 16usize]; + ["Offset of field: dquot_operations::acquire_dquot"] + [::core::mem::offset_of!(dquot_operations, acquire_dquot) - 24usize]; + ["Offset of field: dquot_operations::release_dquot"] + [::core::mem::offset_of!(dquot_operations, release_dquot) - 32usize]; + ["Offset of field: dquot_operations::mark_dirty"] + [::core::mem::offset_of!(dquot_operations, mark_dirty) - 40usize]; + ["Offset of field: dquot_operations::write_info"] + [::core::mem::offset_of!(dquot_operations, write_info) - 48usize]; + ["Offset of field: dquot_operations::get_reserved_space"] + [::core::mem::offset_of!(dquot_operations, get_reserved_space) - 56usize]; + ["Offset of field: dquot_operations::get_projid"] + [::core::mem::offset_of!(dquot_operations, get_projid) - 64usize]; + ["Offset of field: dquot_operations::get_inode_usage"] + [::core::mem::offset_of!(dquot_operations, get_inode_usage) - 72usize]; + ["Offset of field: dquot_operations::get_next_id"] + [::core::mem::offset_of!(dquot_operations, get_next_id) - 80usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct driver_private { + pub kobj: kobject, + pub klist_devices: klist, + pub knode_bus: klist_node, + pub mkobj: *mut module_kobject, + pub driver: *mut device_driver, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of driver_private"][::core::mem::size_of::() - 152usize]; + ["Alignment of driver_private"][::core::mem::align_of::() - 8usize]; + ["Offset of field: driver_private::kobj"] + [::core::mem::offset_of!(driver_private, kobj) - 0usize]; + ["Offset of field: driver_private::klist_devices"] + [::core::mem::offset_of!(driver_private, klist_devices) - 64usize]; + ["Offset of field: driver_private::knode_bus"] + [::core::mem::offset_of!(driver_private, knode_bus) - 104usize]; + ["Offset of field: driver_private::mkobj"] + [::core::mem::offset_of!(driver_private, mkobj) - 136usize]; + ["Offset of field: driver_private::driver"] + [::core::mem::offset_of!(driver_private, driver) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ww_acquire_ctx { + pub task: *mut task_struct, + pub stamp: ::core::ffi::c_ulong, + pub acquired: ::core::ffi::c_uint, + pub wounded: ::core::ffi::c_ushort, + pub is_wait_die: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ww_acquire_ctx"][::core::mem::size_of::() - 24usize]; + ["Alignment of ww_acquire_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ww_acquire_ctx::task"] + [::core::mem::offset_of!(ww_acquire_ctx, task) - 0usize]; + ["Offset of field: ww_acquire_ctx::stamp"] + [::core::mem::offset_of!(ww_acquire_ctx, stamp) - 8usize]; + ["Offset of field: ww_acquire_ctx::acquired"] + [::core::mem::offset_of!(ww_acquire_ctx, acquired) - 16usize]; + ["Offset of field: ww_acquire_ctx::wounded"] + [::core::mem::offset_of!(ww_acquire_ctx, wounded) - 20usize]; + ["Offset of field: ww_acquire_ctx::is_wait_die"] + [::core::mem::offset_of!(ww_acquire_ctx, is_wait_die) - 22usize]; +}; +pub type kthread_work_func_t = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kthread_work { + pub node: list_head, + pub func: kthread_work_func_t, + pub worker: *mut kthread_worker, + pub canceling: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kthread_work"][::core::mem::size_of::() - 40usize]; + ["Alignment of kthread_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kthread_work::node"][::core::mem::offset_of!(kthread_work, node) - 0usize]; + ["Offset of field: kthread_work::func"][::core::mem::offset_of!(kthread_work, func) - 16usize]; + ["Offset of field: kthread_work::worker"] + [::core::mem::offset_of!(kthread_work, worker) - 24usize]; + ["Offset of field: kthread_work::canceling"] + [::core::mem::offset_of!(kthread_work, canceling) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_bridge { + pub dev: *mut net_device, + pub num: ::core::ffi::c_uint, + pub tx_fwd_offload: bool_, + pub refcount: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_bridge"][::core::mem::size_of::() - 24usize]; + ["Alignment of dsa_bridge"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_bridge::dev"][::core::mem::offset_of!(dsa_bridge, dev) - 0usize]; + ["Offset of field: dsa_bridge::num"][::core::mem::offset_of!(dsa_bridge, num) - 8usize]; + ["Offset of field: dsa_bridge::tx_fwd_offload"] + [::core::mem::offset_of!(dsa_bridge, tx_fwd_offload) - 12usize]; + ["Offset of field: dsa_bridge::refcount"] + [::core::mem::offset_of!(dsa_bridge, refcount) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_chip_data { + pub host_dev: *mut device, + pub sw_addr: ::core::ffi::c_int, + pub netdev: [*mut device; 12usize], + pub eeprom_len: ::core::ffi::c_int, + pub of_node: *mut device_node, + pub port_names: [*mut ::core::ffi::c_char; 12usize], + pub port_dn: [*mut device_node; 12usize], + pub rtable: [s8; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_chip_data"][::core::mem::size_of::() - 328usize]; + ["Alignment of dsa_chip_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_chip_data::host_dev"] + [::core::mem::offset_of!(dsa_chip_data, host_dev) - 0usize]; + ["Offset of field: dsa_chip_data::sw_addr"] + [::core::mem::offset_of!(dsa_chip_data, sw_addr) - 8usize]; + ["Offset of field: dsa_chip_data::netdev"] + [::core::mem::offset_of!(dsa_chip_data, netdev) - 16usize]; + ["Offset of field: dsa_chip_data::eeprom_len"] + [::core::mem::offset_of!(dsa_chip_data, eeprom_len) - 112usize]; + ["Offset of field: dsa_chip_data::of_node"] + [::core::mem::offset_of!(dsa_chip_data, of_node) - 120usize]; + ["Offset of field: dsa_chip_data::port_names"] + [::core::mem::offset_of!(dsa_chip_data, port_names) - 128usize]; + ["Offset of field: dsa_chip_data::port_dn"] + [::core::mem::offset_of!(dsa_chip_data, port_dn) - 224usize]; + ["Offset of field: dsa_chip_data::rtable"] + [::core::mem::offset_of!(dsa_chip_data, rtable) - 320usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dsa_lag { + pub dev: *mut net_device, + pub id: ::core::ffi::c_uint, + pub fdb_lock: mutex, + pub fdbs: list_head, + pub refcount: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_lag"][::core::mem::size_of::() - 72usize]; + ["Alignment of dsa_lag"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_lag::dev"][::core::mem::offset_of!(dsa_lag, dev) - 0usize]; + ["Offset of field: dsa_lag::id"][::core::mem::offset_of!(dsa_lag, id) - 8usize]; + ["Offset of field: dsa_lag::fdb_lock"][::core::mem::offset_of!(dsa_lag, fdb_lock) - 16usize]; + ["Offset of field: dsa_lag::fdbs"][::core::mem::offset_of!(dsa_lag, fdbs) - 48usize]; + ["Offset of field: dsa_lag::refcount"][::core::mem::offset_of!(dsa_lag, refcount) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dsa_db { + pub type_: dsa_db_type, + pub __bindgen_anon_1: dsa_db__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union dsa_db__bindgen_ty_1 { + pub dp: *const dsa_port, + pub lag: dsa_lag, + pub bridge: dsa_bridge, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_db__bindgen_ty_1"][::core::mem::size_of::() - 72usize]; + ["Alignment of dsa_db__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_db__bindgen_ty_1::dp"] + [::core::mem::offset_of!(dsa_db__bindgen_ty_1, dp) - 0usize]; + ["Offset of field: dsa_db__bindgen_ty_1::lag"] + [::core::mem::offset_of!(dsa_db__bindgen_ty_1, lag) - 0usize]; + ["Offset of field: dsa_db__bindgen_ty_1::bridge"] + [::core::mem::offset_of!(dsa_db__bindgen_ty_1, bridge) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_db"][::core::mem::size_of::() - 80usize]; + ["Alignment of dsa_db"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_db::type_"][::core::mem::offset_of!(dsa_db, type_) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_device_ops { + pub xmit: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut net_device) -> *mut sk_buff, + >, + pub rcv: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut net_device) -> *mut sk_buff, + >, + pub flow_dissect: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const sk_buff, + arg2: *mut __be16, + arg3: *mut ::core::ffi::c_int, + ), + >, + pub connect: + ::core::option::Option ::core::ffi::c_int>, + pub disconnect: ::core::option::Option, + pub needed_headroom: ::core::ffi::c_uint, + pub needed_tailroom: ::core::ffi::c_uint, + pub name: *const ::core::ffi::c_char, + pub proto: dsa_tag_protocol, + pub promisc_on_conduit: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_device_ops"][::core::mem::size_of::() - 64usize]; + ["Alignment of dsa_device_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_device_ops::xmit"] + [::core::mem::offset_of!(dsa_device_ops, xmit) - 0usize]; + ["Offset of field: dsa_device_ops::rcv"][::core::mem::offset_of!(dsa_device_ops, rcv) - 8usize]; + ["Offset of field: dsa_device_ops::flow_dissect"] + [::core::mem::offset_of!(dsa_device_ops, flow_dissect) - 16usize]; + ["Offset of field: dsa_device_ops::connect"] + [::core::mem::offset_of!(dsa_device_ops, connect) - 24usize]; + ["Offset of field: dsa_device_ops::disconnect"] + [::core::mem::offset_of!(dsa_device_ops, disconnect) - 32usize]; + ["Offset of field: dsa_device_ops::needed_headroom"] + [::core::mem::offset_of!(dsa_device_ops, needed_headroom) - 40usize]; + ["Offset of field: dsa_device_ops::needed_tailroom"] + [::core::mem::offset_of!(dsa_device_ops, needed_tailroom) - 44usize]; + ["Offset of field: dsa_device_ops::name"] + [::core::mem::offset_of!(dsa_device_ops, name) - 48usize]; + ["Offset of field: dsa_device_ops::proto"] + [::core::mem::offset_of!(dsa_device_ops, proto) - 56usize]; + ["Offset of field: dsa_device_ops::promisc_on_conduit"] + [::core::mem::offset_of!(dsa_device_ops, promisc_on_conduit) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_mall_mirror_tc_entry { + pub to_local_port: u8_, + pub ingress: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_mall_mirror_tc_entry"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of dsa_mall_mirror_tc_entry"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: dsa_mall_mirror_tc_entry::to_local_port"] + [::core::mem::offset_of!(dsa_mall_mirror_tc_entry, to_local_port) - 0usize]; + ["Offset of field: dsa_mall_mirror_tc_entry::ingress"] + [::core::mem::offset_of!(dsa_mall_mirror_tc_entry, ingress) - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_mall_policer_tc_entry { + pub burst: u32_, + pub rate_bytes_per_sec: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_mall_policer_tc_entry"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of dsa_mall_policer_tc_entry"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_mall_policer_tc_entry::burst"] + [::core::mem::offset_of!(dsa_mall_policer_tc_entry, burst) - 0usize]; + ["Offset of field: dsa_mall_policer_tc_entry::rate_bytes_per_sec"] + [::core::mem::offset_of!(dsa_mall_policer_tc_entry, rate_bytes_per_sec) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_platform_data { + pub netdev: *mut device, + pub of_netdev: *mut net_device, + pub nr_chips: ::core::ffi::c_int, + pub chip: *mut dsa_chip_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_platform_data"][::core::mem::size_of::() - 32usize]; + ["Alignment of dsa_platform_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_platform_data::netdev"] + [::core::mem::offset_of!(dsa_platform_data, netdev) - 0usize]; + ["Offset of field: dsa_platform_data::of_netdev"] + [::core::mem::offset_of!(dsa_platform_data, of_netdev) - 8usize]; + ["Offset of field: dsa_platform_data::nr_chips"] + [::core::mem::offset_of!(dsa_platform_data, nr_chips) - 16usize]; + ["Offset of field: dsa_platform_data::chip"] + [::core::mem::offset_of!(dsa_platform_data, chip) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phylink { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phylink_config { + pub dev: *mut device, + pub type_: phylink_op_type, + pub poll_fixed_state: bool_, + pub mac_managed_pm: bool_, + pub mac_requires_rxc: bool_, + pub default_an_inband: bool_, + pub get_fixed_state: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phylink_config, arg2: *mut phylink_link_state), + >, + pub supported_interfaces: [::core::ffi::c_ulong; 1usize], + pub mac_capabilities: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phylink_config"][::core::mem::size_of::() - 40usize]; + ["Alignment of phylink_config"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phylink_config::dev"][::core::mem::offset_of!(phylink_config, dev) - 0usize]; + ["Offset of field: phylink_config::type_"] + [::core::mem::offset_of!(phylink_config, type_) - 8usize]; + ["Offset of field: phylink_config::poll_fixed_state"] + [::core::mem::offset_of!(phylink_config, poll_fixed_state) - 12usize]; + ["Offset of field: phylink_config::mac_managed_pm"] + [::core::mem::offset_of!(phylink_config, mac_managed_pm) - 13usize]; + ["Offset of field: phylink_config::mac_requires_rxc"] + [::core::mem::offset_of!(phylink_config, mac_requires_rxc) - 14usize]; + ["Offset of field: phylink_config::default_an_inband"] + [::core::mem::offset_of!(phylink_config, default_an_inband) - 15usize]; + ["Offset of field: phylink_config::get_fixed_state"] + [::core::mem::offset_of!(phylink_config, get_fixed_state) - 16usize]; + ["Offset of field: phylink_config::supported_interfaces"] + [::core::mem::offset_of!(phylink_config, supported_interfaces) - 24usize]; + ["Offset of field: phylink_config::mac_capabilities"] + [::core::mem::offset_of!(phylink_config, mac_capabilities) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dsa_port { + pub __bindgen_anon_1: dsa_port__bindgen_ty_1, + pub tag_ops: *const dsa_device_ops, + pub dst: *mut dsa_switch_tree, + pub rcv: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut net_device) -> *mut sk_buff, + >, + pub ds: *mut dsa_switch, + pub index: ::core::ffi::c_uint, + pub type_: dsa_port__bindgen_ty_2, + pub name: *const ::core::ffi::c_char, + pub cpu_dp: *mut dsa_port, + pub mac: [u8_; 6usize], + pub stp_state: u8_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub dn: *mut device_node, + pub ageing_time: ::core::ffi::c_uint, + pub bridge: *mut dsa_bridge, + pub devlink_port: devlink_port, + pub pl: *mut phylink, + pub pl_config: phylink_config, + pub lag: *mut dsa_lag, + pub hsr_dev: *mut net_device, + pub list: list_head, + pub orig_ethtool_ops: *const ethtool_ops, + pub addr_lists_lock: mutex, + pub fdbs: list_head, + pub mdbs: list_head, + pub vlans_lock: mutex, + pub __bindgen_anon_2: dsa_port__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union dsa_port__bindgen_ty_1 { + pub conduit: *mut net_device, + pub user: *mut net_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_port__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of dsa_port__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_port__bindgen_ty_1::conduit"] + [::core::mem::offset_of!(dsa_port__bindgen_ty_1, conduit) - 0usize]; + ["Offset of field: dsa_port__bindgen_ty_1::user"] + [::core::mem::offset_of!(dsa_port__bindgen_ty_1, user) - 0usize]; +}; +pub const dsa_port_DSA_PORT_TYPE_UNUSED: dsa_port__bindgen_ty_2 = 0; +pub const dsa_port_DSA_PORT_TYPE_CPU: dsa_port__bindgen_ty_2 = 1; +pub const dsa_port_DSA_PORT_TYPE_DSA: dsa_port__bindgen_ty_2 = 2; +pub const dsa_port_DSA_PORT_TYPE_USER: dsa_port__bindgen_ty_2 = 3; +pub type dsa_port__bindgen_ty_2 = ::core::ffi::c_uint; +#[repr(C)] +#[derive(Copy, Clone)] +pub union dsa_port__bindgen_ty_3 { + pub vlans: list_head, + pub user_vlans: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_port__bindgen_ty_3"][::core::mem::size_of::() - 16usize]; + ["Alignment of dsa_port__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_port__bindgen_ty_3::vlans"] + [::core::mem::offset_of!(dsa_port__bindgen_ty_3, vlans) - 0usize]; + ["Offset of field: dsa_port__bindgen_ty_3::user_vlans"] + [::core::mem::offset_of!(dsa_port__bindgen_ty_3, user_vlans) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_port"][::core::mem::size_of::() - 584usize]; + ["Alignment of dsa_port"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_port::tag_ops"][::core::mem::offset_of!(dsa_port, tag_ops) - 8usize]; + ["Offset of field: dsa_port::dst"][::core::mem::offset_of!(dsa_port, dst) - 16usize]; + ["Offset of field: dsa_port::rcv"][::core::mem::offset_of!(dsa_port, rcv) - 24usize]; + ["Offset of field: dsa_port::ds"][::core::mem::offset_of!(dsa_port, ds) - 32usize]; + ["Offset of field: dsa_port::index"][::core::mem::offset_of!(dsa_port, index) - 40usize]; + ["Offset of field: dsa_port::type_"][::core::mem::offset_of!(dsa_port, type_) - 44usize]; + ["Offset of field: dsa_port::name"][::core::mem::offset_of!(dsa_port, name) - 48usize]; + ["Offset of field: dsa_port::cpu_dp"][::core::mem::offset_of!(dsa_port, cpu_dp) - 56usize]; + ["Offset of field: dsa_port::mac"][::core::mem::offset_of!(dsa_port, mac) - 64usize]; + ["Offset of field: dsa_port::stp_state"] + [::core::mem::offset_of!(dsa_port, stp_state) - 70usize]; + ["Offset of field: dsa_port::dn"][::core::mem::offset_of!(dsa_port, dn) - 72usize]; + ["Offset of field: dsa_port::ageing_time"] + [::core::mem::offset_of!(dsa_port, ageing_time) - 80usize]; + ["Offset of field: dsa_port::bridge"][::core::mem::offset_of!(dsa_port, bridge) - 88usize]; + ["Offset of field: dsa_port::devlink_port"] + [::core::mem::offset_of!(dsa_port, devlink_port) - 96usize]; + ["Offset of field: dsa_port::pl"][::core::mem::offset_of!(dsa_port, pl) - 384usize]; + ["Offset of field: dsa_port::pl_config"] + [::core::mem::offset_of!(dsa_port, pl_config) - 392usize]; + ["Offset of field: dsa_port::lag"][::core::mem::offset_of!(dsa_port, lag) - 432usize]; + ["Offset of field: dsa_port::hsr_dev"][::core::mem::offset_of!(dsa_port, hsr_dev) - 440usize]; + ["Offset of field: dsa_port::list"][::core::mem::offset_of!(dsa_port, list) - 448usize]; + ["Offset of field: dsa_port::orig_ethtool_ops"] + [::core::mem::offset_of!(dsa_port, orig_ethtool_ops) - 464usize]; + ["Offset of field: dsa_port::addr_lists_lock"] + [::core::mem::offset_of!(dsa_port, addr_lists_lock) - 472usize]; + ["Offset of field: dsa_port::fdbs"][::core::mem::offset_of!(dsa_port, fdbs) - 504usize]; + ["Offset of field: dsa_port::mdbs"][::core::mem::offset_of!(dsa_port, mdbs) - 520usize]; + ["Offset of field: dsa_port::vlans_lock"] + [::core::mem::offset_of!(dsa_port, vlans_lock) - 536usize]; +}; +impl dsa_port { + #[inline] + pub fn vlan_filtering(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_vlan_filtering(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn vlan_filtering_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_vlan_filtering_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn learning(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_learning(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn learning_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_learning_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn lag_tx_enabled(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_lag_tx_enabled(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn lag_tx_enabled_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_lag_tx_enabled_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn conduit_admin_up(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_conduit_admin_up(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn conduit_admin_up_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_conduit_admin_up_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn conduit_oper_up(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_conduit_oper_up(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn conduit_oper_up_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_conduit_oper_up_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cpu_port_in_lag(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_cpu_port_in_lag(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cpu_port_in_lag_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_cpu_port_in_lag_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn setup(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_setup(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn setup_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_setup_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + vlan_filtering: u8_, + learning: u8_, + lag_tx_enabled: u8_, + conduit_admin_up: u8_, + conduit_oper_up: u8_, + cpu_port_in_lag: u8_, + setup: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let vlan_filtering: u8 = unsafe { ::core::mem::transmute(vlan_filtering) }; + vlan_filtering as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let learning: u8 = unsafe { ::core::mem::transmute(learning) }; + learning as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let lag_tx_enabled: u8 = unsafe { ::core::mem::transmute(lag_tx_enabled) }; + lag_tx_enabled as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let conduit_admin_up: u8 = unsafe { ::core::mem::transmute(conduit_admin_up) }; + conduit_admin_up as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let conduit_oper_up: u8 = unsafe { ::core::mem::transmute(conduit_oper_up) }; + conduit_oper_up as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let cpu_port_in_lag: u8 = unsafe { ::core::mem::transmute(cpu_port_in_lag) }; + cpu_port_in_lag as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let setup: u8 = unsafe { ::core::mem::transmute(setup) }; + setup as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_8021q_context { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_switch { + pub dev: *mut device, + pub dst: *mut dsa_switch_tree, + pub index: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub nb: notifier_block, + pub priv_: *mut ::core::ffi::c_void, + pub tagger_data: *mut ::core::ffi::c_void, + pub cd: *mut dsa_chip_data, + pub ops: *const dsa_switch_ops, + pub phylink_mac_ops: *const phylink_mac_ops, + pub phys_mii_mask: u32_, + pub user_mii_bus: *mut mii_bus, + pub ageing_time_min: ::core::ffi::c_uint, + pub ageing_time_max: ::core::ffi::c_uint, + pub tag_8021q_ctx: *mut dsa_8021q_context, + pub devlink: *mut devlink, + pub num_tx_queues: ::core::ffi::c_uint, + pub num_lag_ids: ::core::ffi::c_uint, + pub max_num_bridges: ::core::ffi::c_uint, + pub num_ports: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_switch"][::core::mem::size_of::() - 144usize]; + ["Alignment of dsa_switch"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_switch::dev"][::core::mem::offset_of!(dsa_switch, dev) - 0usize]; + ["Offset of field: dsa_switch::dst"][::core::mem::offset_of!(dsa_switch, dst) - 8usize]; + ["Offset of field: dsa_switch::index"][::core::mem::offset_of!(dsa_switch, index) - 16usize]; + ["Offset of field: dsa_switch::nb"][::core::mem::offset_of!(dsa_switch, nb) - 24usize]; + ["Offset of field: dsa_switch::priv_"][::core::mem::offset_of!(dsa_switch, priv_) - 48usize]; + ["Offset of field: dsa_switch::tagger_data"] + [::core::mem::offset_of!(dsa_switch, tagger_data) - 56usize]; + ["Offset of field: dsa_switch::cd"][::core::mem::offset_of!(dsa_switch, cd) - 64usize]; + ["Offset of field: dsa_switch::ops"][::core::mem::offset_of!(dsa_switch, ops) - 72usize]; + ["Offset of field: dsa_switch::phylink_mac_ops"] + [::core::mem::offset_of!(dsa_switch, phylink_mac_ops) - 80usize]; + ["Offset of field: dsa_switch::phys_mii_mask"] + [::core::mem::offset_of!(dsa_switch, phys_mii_mask) - 88usize]; + ["Offset of field: dsa_switch::user_mii_bus"] + [::core::mem::offset_of!(dsa_switch, user_mii_bus) - 96usize]; + ["Offset of field: dsa_switch::ageing_time_min"] + [::core::mem::offset_of!(dsa_switch, ageing_time_min) - 104usize]; + ["Offset of field: dsa_switch::ageing_time_max"] + [::core::mem::offset_of!(dsa_switch, ageing_time_max) - 108usize]; + ["Offset of field: dsa_switch::tag_8021q_ctx"] + [::core::mem::offset_of!(dsa_switch, tag_8021q_ctx) - 112usize]; + ["Offset of field: dsa_switch::devlink"] + [::core::mem::offset_of!(dsa_switch, devlink) - 120usize]; + ["Offset of field: dsa_switch::num_tx_queues"] + [::core::mem::offset_of!(dsa_switch, num_tx_queues) - 128usize]; + ["Offset of field: dsa_switch::num_lag_ids"] + [::core::mem::offset_of!(dsa_switch, num_lag_ids) - 132usize]; + ["Offset of field: dsa_switch::max_num_bridges"] + [::core::mem::offset_of!(dsa_switch, max_num_bridges) - 136usize]; + ["Offset of field: dsa_switch::num_ports"] + [::core::mem::offset_of!(dsa_switch, num_ports) - 140usize]; +}; +impl dsa_switch { + #[inline] + pub fn setup(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_setup(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn setup_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_setup_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn vlan_filtering_is_global(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_vlan_filtering_is_global(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn vlan_filtering_is_global_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_vlan_filtering_is_global_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn needs_standalone_vlan_filtering(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_needs_standalone_vlan_filtering(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn needs_standalone_vlan_filtering_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_needs_standalone_vlan_filtering_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn configure_vlan_while_not_filtering(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_configure_vlan_while_not_filtering(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn configure_vlan_while_not_filtering_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_configure_vlan_while_not_filtering_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn untag_bridge_pvid(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_untag_bridge_pvid(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn untag_bridge_pvid_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_untag_bridge_pvid_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn untag_vlan_aware_bridge_pvid(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_untag_vlan_aware_bridge_pvid(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn untag_vlan_aware_bridge_pvid_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_untag_vlan_aware_bridge_pvid_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn assisted_learning_on_cpu_port(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_assisted_learning_on_cpu_port(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn assisted_learning_on_cpu_port_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_assisted_learning_on_cpu_port_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn vlan_filtering(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_vlan_filtering(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn vlan_filtering_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_vlan_filtering_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn mtu_enforcement_ingress(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_mtu_enforcement_ingress(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mtu_enforcement_ingress_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_mtu_enforcement_ingress_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fdb_isolation(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_fdb_isolation(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fdb_isolation_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_fdb_isolation_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dscp_prio_mapping_is_global(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_dscp_prio_mapping_is_global(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dscp_prio_mapping_is_global_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 10usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dscp_prio_mapping_is_global_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + setup: u32_, + vlan_filtering_is_global: u32_, + needs_standalone_vlan_filtering: u32_, + configure_vlan_while_not_filtering: u32_, + untag_bridge_pvid: u32_, + untag_vlan_aware_bridge_pvid: u32_, + assisted_learning_on_cpu_port: u32_, + vlan_filtering: u32_, + mtu_enforcement_ingress: u32_, + fdb_isolation: u32_, + dscp_prio_mapping_is_global: u32_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let setup: u32 = unsafe { ::core::mem::transmute(setup) }; + setup as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let vlan_filtering_is_global: u32 = + unsafe { ::core::mem::transmute(vlan_filtering_is_global) }; + vlan_filtering_is_global as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let needs_standalone_vlan_filtering: u32 = + unsafe { ::core::mem::transmute(needs_standalone_vlan_filtering) }; + needs_standalone_vlan_filtering as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let configure_vlan_while_not_filtering: u32 = + unsafe { ::core::mem::transmute(configure_vlan_while_not_filtering) }; + configure_vlan_while_not_filtering as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let untag_bridge_pvid: u32 = unsafe { ::core::mem::transmute(untag_bridge_pvid) }; + untag_bridge_pvid as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let untag_vlan_aware_bridge_pvid: u32 = + unsafe { ::core::mem::transmute(untag_vlan_aware_bridge_pvid) }; + untag_vlan_aware_bridge_pvid as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let assisted_learning_on_cpu_port: u32 = + unsafe { ::core::mem::transmute(assisted_learning_on_cpu_port) }; + assisted_learning_on_cpu_port as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let vlan_filtering: u32 = unsafe { ::core::mem::transmute(vlan_filtering) }; + vlan_filtering as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let mtu_enforcement_ingress: u32 = + unsafe { ::core::mem::transmute(mtu_enforcement_ingress) }; + mtu_enforcement_ingress as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let fdb_isolation: u32 = unsafe { ::core::mem::transmute(fdb_isolation) }; + fdb_isolation as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let dscp_prio_mapping_is_global: u32 = + unsafe { ::core::mem::transmute(dscp_prio_mapping_is_global) }; + dscp_prio_mapping_is_global as u64 + }); + __bindgen_bitfield_unit + } +} +pub type dsa_fdb_dump_cb_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_uchar, + arg2: u16_, + arg3: bool_, + arg4: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_switch_ops { + pub get_tag_protocol: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: dsa_tag_protocol, + ) -> dsa_tag_protocol, + >, + pub change_tag_protocol: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: dsa_tag_protocol) -> ::core::ffi::c_int, + >, + pub connect_tag_protocol: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: dsa_tag_protocol) -> ::core::ffi::c_int, + >, + pub port_change_conduit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut net_device, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub setup: + ::core::option::Option ::core::ffi::c_int>, + pub teardown: ::core::option::Option, + pub port_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub port_teardown: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int), + >, + pub get_phy_flags: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int) -> u32_, + >, + pub phy_read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub phy_write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: u16_, + ) -> ::core::ffi::c_int, + >, + pub phylink_get_caps: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut phylink_config, + ), + >, + pub phylink_mac_select_pcs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: phy_interface_t, + ) -> *mut phylink_pcs, + >, + pub phylink_mac_config: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: *const phylink_link_state, + ), + >, + pub phylink_mac_link_down: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: phy_interface_t, + ), + >, + pub phylink_mac_link_up: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: phy_interface_t, + arg5: *mut phy_device, + arg6: ::core::ffi::c_int, + arg7: ::core::ffi::c_int, + arg8: bool_, + arg9: bool_, + ), + >, + pub phylink_fixed_state: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut phylink_link_state, + ), + >, + pub get_strings: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u32_, + arg4: *mut u8, + ), + >, + pub get_ethtool_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int, arg3: *mut u64), + >, + pub get_sset_count: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub get_ethtool_phy_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int, arg3: *mut u64), + >, + pub get_eth_phy_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_eth_phy_stats, + ), + >, + pub get_eth_mac_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_eth_mac_stats, + ), + >, + pub get_eth_ctrl_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_eth_ctrl_stats, + ), + >, + pub get_rmon_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_rmon_stats, + arg4: *mut *const ethtool_rmon_hist_range, + ), + >, + pub get_stats64: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut rtnl_link_stats64, + ), + >, + pub get_pause_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_pause_stats, + ), + >, + pub self_test: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_test, + arg4: *mut u64_, + ), + >, + pub get_wol: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_wolinfo, + ), + >, + pub set_wol: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_wolinfo, + ) -> ::core::ffi::c_int, + >, + pub get_ts_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut kernel_ethtool_ts_info, + ) -> ::core::ffi::c_int, + >, + pub get_mm: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_mm_state, + ) -> ::core::ffi::c_int, + >, + pub set_mm: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_mm_cfg, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_mm_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_mm_stats, + ), + >, + pub port_get_default_prio: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub port_set_default_prio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u8_, + ) -> ::core::ffi::c_int, + >, + pub port_get_dscp_prio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u8_, + ) -> ::core::ffi::c_int, + >, + pub port_add_dscp_prio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u8_, + arg4: u8_, + ) -> ::core::ffi::c_int, + >, + pub port_del_dscp_prio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u8_, + arg4: u8_, + ) -> ::core::ffi::c_int, + >, + pub port_set_apptrust: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const u8_, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub port_get_apptrust: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut u8_, + arg4: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub suspend: + ::core::option::Option ::core::ffi::c_int>, + pub resume: + ::core::option::Option ::core::ffi::c_int>, + pub port_enable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut phy_device, + ) -> ::core::ffi::c_int, + >, + pub port_disable: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int), + >, + pub port_set_mac_address: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const ::core::ffi::c_uchar, + ) -> ::core::ffi::c_int, + >, + pub preferred_default_local_cpu_port: + ::core::option::Option *mut dsa_port>, + pub set_mac_eee: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_keee, + ) -> ::core::ffi::c_int, + >, + pub get_mac_eee: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_keee, + ) -> ::core::ffi::c_int, + >, + pub get_eeprom_len: + ::core::option::Option ::core::ffi::c_int>, + pub get_eeprom: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: *mut ethtool_eeprom, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub set_eeprom: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: *mut ethtool_eeprom, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub get_regs_len: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub get_regs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_regs, + arg4: *mut ::core::ffi::c_void, + ), + >, + pub port_prechangeupper: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut netdev_notifier_changeupper_info, + ) -> ::core::ffi::c_int, + >, + pub set_ageing_time: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub port_bridge_join: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: dsa_bridge, + arg4: *mut bool_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_bridge_leave: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int, arg3: dsa_bridge), + >, + pub port_stp_state_set: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int, arg3: u8_), + >, + pub port_mst_state_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_mst_state, + ) -> ::core::ffi::c_int, + >, + pub port_fast_age: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int), + >, + pub port_vlan_fast_age: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u16_, + ) -> ::core::ffi::c_int, + >, + pub port_pre_bridge_flags: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: switchdev_brport_flags, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_bridge_flags: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: switchdev_brport_flags, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_set_host_flood: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: bool_, + arg4: bool_, + ), + >, + pub port_vlan_filtering: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: bool_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_vlan_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_port_vlan, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_vlan_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_port_vlan, + ) -> ::core::ffi::c_int, + >, + pub vlan_msti_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: dsa_bridge, + arg3: *const switchdev_vlan_msti, + ) -> ::core::ffi::c_int, + >, + pub port_fdb_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const ::core::ffi::c_uchar, + arg4: u16_, + arg5: dsa_db, + ) -> ::core::ffi::c_int, + >, + pub port_fdb_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const ::core::ffi::c_uchar, + arg4: u16_, + arg5: dsa_db, + ) -> ::core::ffi::c_int, + >, + pub port_fdb_dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: dsa_fdb_dump_cb_t, + arg4: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub lag_fdb_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: dsa_lag, + arg3: *const ::core::ffi::c_uchar, + arg4: u16_, + arg5: dsa_db, + ) -> ::core::ffi::c_int, + >, + pub lag_fdb_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: dsa_lag, + arg3: *const ::core::ffi::c_uchar, + arg4: u16_, + arg5: dsa_db, + ) -> ::core::ffi::c_int, + >, + pub port_mdb_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_port_mdb, + arg4: dsa_db, + ) -> ::core::ffi::c_int, + >, + pub port_mdb_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_port_mdb, + arg4: dsa_db, + ) -> ::core::ffi::c_int, + >, + pub get_rxnfc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_rxnfc, + arg4: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub set_rxnfc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ethtool_rxnfc, + ) -> ::core::ffi::c_int, + >, + pub cls_flower_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut flow_cls_offload, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub cls_flower_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut flow_cls_offload, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub cls_flower_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut flow_cls_offload, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub port_mirror_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut dsa_mall_mirror_tc_entry, + arg4: bool_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_mirror_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut dsa_mall_mirror_tc_entry, + ), + >, + pub port_policer_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut dsa_mall_policer_tc_entry, + ) -> ::core::ffi::c_int, + >, + pub port_policer_del: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int), + >, + pub port_setup_tc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: tc_setup_type, + arg4: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub crosschip_bridge_join: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + arg5: dsa_bridge, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub crosschip_bridge_leave: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + arg5: dsa_bridge, + ), + >, + pub crosschip_lag_change: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub crosschip_lag_join: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: dsa_lag, + arg5: *mut netdev_lag_upper_info, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub crosschip_lag_leave: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: dsa_lag, + ) -> ::core::ffi::c_int, + >, + pub port_hwtstamp_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ifreq, + ) -> ::core::ffi::c_int, + >, + pub port_hwtstamp_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut ifreq, + ) -> ::core::ffi::c_int, + >, + pub port_txtstamp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int, arg3: *mut sk_buff), + >, + pub port_rxtstamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut sk_buff, + arg4: ::core::ffi::c_uint, + ) -> bool_, + >, + pub devlink_param_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: u32_, + arg3: *mut devlink_param_gset_ctx, + ) -> ::core::ffi::c_int, + >, + pub devlink_param_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: u32_, + arg3: *mut devlink_param_gset_ctx, + ) -> ::core::ffi::c_int, + >, + pub devlink_info_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: *mut devlink_info_req, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_pool_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: *mut devlink_sb_pool_info, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_pool_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_uint, + arg3: u16_, + arg4: u32_, + arg5: devlink_sb_threshold_type, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_port_pool_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: u16_, + arg5: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_port_pool_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: u16_, + arg5: u32_, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_tc_pool_bind_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: u16_, + arg5: devlink_sb_pool_type, + arg6: *mut u16_, + arg7: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_tc_pool_bind_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: u16_, + arg5: devlink_sb_pool_type, + arg6: u16_, + arg7: u32_, + arg8: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_occ_snapshot: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_occ_max_clear: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_occ_port_pool_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: u16_, + arg5: *mut u32_, + arg6: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub devlink_sb_occ_tc_port_bind_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_uint, + arg4: u16_, + arg5: devlink_sb_pool_type, + arg6: *mut u32_, + arg7: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub port_change_mtu: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub port_max_mtu: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub port_lag_change: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub port_lag_join: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: dsa_lag, + arg4: *mut netdev_lag_upper_info, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_lag_leave: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: dsa_lag, + ) -> ::core::ffi::c_int, + >, + pub port_hsr_join: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut net_device, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub port_hsr_leave: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *mut net_device, + ) -> ::core::ffi::c_int, + >, + pub port_mrp_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_mrp, + ) -> ::core::ffi::c_int, + >, + pub port_mrp_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_mrp, + ) -> ::core::ffi::c_int, + >, + pub port_mrp_add_ring_role: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_ring_role_mrp, + ) -> ::core::ffi::c_int, + >, + pub port_mrp_del_ring_role: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: *const switchdev_obj_ring_role_mrp, + ) -> ::core::ffi::c_int, + >, + pub tag_8021q_vlan_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u16_, + arg4: u16_, + ) -> ::core::ffi::c_int, + >, + pub tag_8021q_vlan_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dsa_switch, + arg2: ::core::ffi::c_int, + arg3: u16_, + ) -> ::core::ffi::c_int, + >, + pub conduit_state_change: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dsa_switch, arg2: *const net_device, arg3: bool_), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_switch_ops"][::core::mem::size_of::() - 976usize]; + ["Alignment of dsa_switch_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_switch_ops::get_tag_protocol"] + [::core::mem::offset_of!(dsa_switch_ops, get_tag_protocol) - 0usize]; + ["Offset of field: dsa_switch_ops::change_tag_protocol"] + [::core::mem::offset_of!(dsa_switch_ops, change_tag_protocol) - 8usize]; + ["Offset of field: dsa_switch_ops::connect_tag_protocol"] + [::core::mem::offset_of!(dsa_switch_ops, connect_tag_protocol) - 16usize]; + ["Offset of field: dsa_switch_ops::port_change_conduit"] + [::core::mem::offset_of!(dsa_switch_ops, port_change_conduit) - 24usize]; + ["Offset of field: dsa_switch_ops::setup"] + [::core::mem::offset_of!(dsa_switch_ops, setup) - 32usize]; + ["Offset of field: dsa_switch_ops::teardown"] + [::core::mem::offset_of!(dsa_switch_ops, teardown) - 40usize]; + ["Offset of field: dsa_switch_ops::port_setup"] + [::core::mem::offset_of!(dsa_switch_ops, port_setup) - 48usize]; + ["Offset of field: dsa_switch_ops::port_teardown"] + [::core::mem::offset_of!(dsa_switch_ops, port_teardown) - 56usize]; + ["Offset of field: dsa_switch_ops::get_phy_flags"] + [::core::mem::offset_of!(dsa_switch_ops, get_phy_flags) - 64usize]; + ["Offset of field: dsa_switch_ops::phy_read"] + [::core::mem::offset_of!(dsa_switch_ops, phy_read) - 72usize]; + ["Offset of field: dsa_switch_ops::phy_write"] + [::core::mem::offset_of!(dsa_switch_ops, phy_write) - 80usize]; + ["Offset of field: dsa_switch_ops::phylink_get_caps"] + [::core::mem::offset_of!(dsa_switch_ops, phylink_get_caps) - 88usize]; + ["Offset of field: dsa_switch_ops::phylink_mac_select_pcs"] + [::core::mem::offset_of!(dsa_switch_ops, phylink_mac_select_pcs) - 96usize]; + ["Offset of field: dsa_switch_ops::phylink_mac_config"] + [::core::mem::offset_of!(dsa_switch_ops, phylink_mac_config) - 104usize]; + ["Offset of field: dsa_switch_ops::phylink_mac_link_down"] + [::core::mem::offset_of!(dsa_switch_ops, phylink_mac_link_down) - 112usize]; + ["Offset of field: dsa_switch_ops::phylink_mac_link_up"] + [::core::mem::offset_of!(dsa_switch_ops, phylink_mac_link_up) - 120usize]; + ["Offset of field: dsa_switch_ops::phylink_fixed_state"] + [::core::mem::offset_of!(dsa_switch_ops, phylink_fixed_state) - 128usize]; + ["Offset of field: dsa_switch_ops::get_strings"] + [::core::mem::offset_of!(dsa_switch_ops, get_strings) - 136usize]; + ["Offset of field: dsa_switch_ops::get_ethtool_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_ethtool_stats) - 144usize]; + ["Offset of field: dsa_switch_ops::get_sset_count"] + [::core::mem::offset_of!(dsa_switch_ops, get_sset_count) - 152usize]; + ["Offset of field: dsa_switch_ops::get_ethtool_phy_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_ethtool_phy_stats) - 160usize]; + ["Offset of field: dsa_switch_ops::get_eth_phy_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_eth_phy_stats) - 168usize]; + ["Offset of field: dsa_switch_ops::get_eth_mac_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_eth_mac_stats) - 176usize]; + ["Offset of field: dsa_switch_ops::get_eth_ctrl_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_eth_ctrl_stats) - 184usize]; + ["Offset of field: dsa_switch_ops::get_rmon_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_rmon_stats) - 192usize]; + ["Offset of field: dsa_switch_ops::get_stats64"] + [::core::mem::offset_of!(dsa_switch_ops, get_stats64) - 200usize]; + ["Offset of field: dsa_switch_ops::get_pause_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_pause_stats) - 208usize]; + ["Offset of field: dsa_switch_ops::self_test"] + [::core::mem::offset_of!(dsa_switch_ops, self_test) - 216usize]; + ["Offset of field: dsa_switch_ops::get_wol"] + [::core::mem::offset_of!(dsa_switch_ops, get_wol) - 224usize]; + ["Offset of field: dsa_switch_ops::set_wol"] + [::core::mem::offset_of!(dsa_switch_ops, set_wol) - 232usize]; + ["Offset of field: dsa_switch_ops::get_ts_info"] + [::core::mem::offset_of!(dsa_switch_ops, get_ts_info) - 240usize]; + ["Offset of field: dsa_switch_ops::get_mm"] + [::core::mem::offset_of!(dsa_switch_ops, get_mm) - 248usize]; + ["Offset of field: dsa_switch_ops::set_mm"] + [::core::mem::offset_of!(dsa_switch_ops, set_mm) - 256usize]; + ["Offset of field: dsa_switch_ops::get_mm_stats"] + [::core::mem::offset_of!(dsa_switch_ops, get_mm_stats) - 264usize]; + ["Offset of field: dsa_switch_ops::port_get_default_prio"] + [::core::mem::offset_of!(dsa_switch_ops, port_get_default_prio) - 272usize]; + ["Offset of field: dsa_switch_ops::port_set_default_prio"] + [::core::mem::offset_of!(dsa_switch_ops, port_set_default_prio) - 280usize]; + ["Offset of field: dsa_switch_ops::port_get_dscp_prio"] + [::core::mem::offset_of!(dsa_switch_ops, port_get_dscp_prio) - 288usize]; + ["Offset of field: dsa_switch_ops::port_add_dscp_prio"] + [::core::mem::offset_of!(dsa_switch_ops, port_add_dscp_prio) - 296usize]; + ["Offset of field: dsa_switch_ops::port_del_dscp_prio"] + [::core::mem::offset_of!(dsa_switch_ops, port_del_dscp_prio) - 304usize]; + ["Offset of field: dsa_switch_ops::port_set_apptrust"] + [::core::mem::offset_of!(dsa_switch_ops, port_set_apptrust) - 312usize]; + ["Offset of field: dsa_switch_ops::port_get_apptrust"] + [::core::mem::offset_of!(dsa_switch_ops, port_get_apptrust) - 320usize]; + ["Offset of field: dsa_switch_ops::suspend"] + [::core::mem::offset_of!(dsa_switch_ops, suspend) - 328usize]; + ["Offset of field: dsa_switch_ops::resume"] + [::core::mem::offset_of!(dsa_switch_ops, resume) - 336usize]; + ["Offset of field: dsa_switch_ops::port_enable"] + [::core::mem::offset_of!(dsa_switch_ops, port_enable) - 344usize]; + ["Offset of field: dsa_switch_ops::port_disable"] + [::core::mem::offset_of!(dsa_switch_ops, port_disable) - 352usize]; + ["Offset of field: dsa_switch_ops::port_set_mac_address"] + [::core::mem::offset_of!(dsa_switch_ops, port_set_mac_address) - 360usize]; + ["Offset of field: dsa_switch_ops::preferred_default_local_cpu_port"] + [::core::mem::offset_of!(dsa_switch_ops, preferred_default_local_cpu_port) - 368usize]; + ["Offset of field: dsa_switch_ops::set_mac_eee"] + [::core::mem::offset_of!(dsa_switch_ops, set_mac_eee) - 376usize]; + ["Offset of field: dsa_switch_ops::get_mac_eee"] + [::core::mem::offset_of!(dsa_switch_ops, get_mac_eee) - 384usize]; + ["Offset of field: dsa_switch_ops::get_eeprom_len"] + [::core::mem::offset_of!(dsa_switch_ops, get_eeprom_len) - 392usize]; + ["Offset of field: dsa_switch_ops::get_eeprom"] + [::core::mem::offset_of!(dsa_switch_ops, get_eeprom) - 400usize]; + ["Offset of field: dsa_switch_ops::set_eeprom"] + [::core::mem::offset_of!(dsa_switch_ops, set_eeprom) - 408usize]; + ["Offset of field: dsa_switch_ops::get_regs_len"] + [::core::mem::offset_of!(dsa_switch_ops, get_regs_len) - 416usize]; + ["Offset of field: dsa_switch_ops::get_regs"] + [::core::mem::offset_of!(dsa_switch_ops, get_regs) - 424usize]; + ["Offset of field: dsa_switch_ops::port_prechangeupper"] + [::core::mem::offset_of!(dsa_switch_ops, port_prechangeupper) - 432usize]; + ["Offset of field: dsa_switch_ops::set_ageing_time"] + [::core::mem::offset_of!(dsa_switch_ops, set_ageing_time) - 440usize]; + ["Offset of field: dsa_switch_ops::port_bridge_join"] + [::core::mem::offset_of!(dsa_switch_ops, port_bridge_join) - 448usize]; + ["Offset of field: dsa_switch_ops::port_bridge_leave"] + [::core::mem::offset_of!(dsa_switch_ops, port_bridge_leave) - 456usize]; + ["Offset of field: dsa_switch_ops::port_stp_state_set"] + [::core::mem::offset_of!(dsa_switch_ops, port_stp_state_set) - 464usize]; + ["Offset of field: dsa_switch_ops::port_mst_state_set"] + [::core::mem::offset_of!(dsa_switch_ops, port_mst_state_set) - 472usize]; + ["Offset of field: dsa_switch_ops::port_fast_age"] + [::core::mem::offset_of!(dsa_switch_ops, port_fast_age) - 480usize]; + ["Offset of field: dsa_switch_ops::port_vlan_fast_age"] + [::core::mem::offset_of!(dsa_switch_ops, port_vlan_fast_age) - 488usize]; + ["Offset of field: dsa_switch_ops::port_pre_bridge_flags"] + [::core::mem::offset_of!(dsa_switch_ops, port_pre_bridge_flags) - 496usize]; + ["Offset of field: dsa_switch_ops::port_bridge_flags"] + [::core::mem::offset_of!(dsa_switch_ops, port_bridge_flags) - 504usize]; + ["Offset of field: dsa_switch_ops::port_set_host_flood"] + [::core::mem::offset_of!(dsa_switch_ops, port_set_host_flood) - 512usize]; + ["Offset of field: dsa_switch_ops::port_vlan_filtering"] + [::core::mem::offset_of!(dsa_switch_ops, port_vlan_filtering) - 520usize]; + ["Offset of field: dsa_switch_ops::port_vlan_add"] + [::core::mem::offset_of!(dsa_switch_ops, port_vlan_add) - 528usize]; + ["Offset of field: dsa_switch_ops::port_vlan_del"] + [::core::mem::offset_of!(dsa_switch_ops, port_vlan_del) - 536usize]; + ["Offset of field: dsa_switch_ops::vlan_msti_set"] + [::core::mem::offset_of!(dsa_switch_ops, vlan_msti_set) - 544usize]; + ["Offset of field: dsa_switch_ops::port_fdb_add"] + [::core::mem::offset_of!(dsa_switch_ops, port_fdb_add) - 552usize]; + ["Offset of field: dsa_switch_ops::port_fdb_del"] + [::core::mem::offset_of!(dsa_switch_ops, port_fdb_del) - 560usize]; + ["Offset of field: dsa_switch_ops::port_fdb_dump"] + [::core::mem::offset_of!(dsa_switch_ops, port_fdb_dump) - 568usize]; + ["Offset of field: dsa_switch_ops::lag_fdb_add"] + [::core::mem::offset_of!(dsa_switch_ops, lag_fdb_add) - 576usize]; + ["Offset of field: dsa_switch_ops::lag_fdb_del"] + [::core::mem::offset_of!(dsa_switch_ops, lag_fdb_del) - 584usize]; + ["Offset of field: dsa_switch_ops::port_mdb_add"] + [::core::mem::offset_of!(dsa_switch_ops, port_mdb_add) - 592usize]; + ["Offset of field: dsa_switch_ops::port_mdb_del"] + [::core::mem::offset_of!(dsa_switch_ops, port_mdb_del) - 600usize]; + ["Offset of field: dsa_switch_ops::get_rxnfc"] + [::core::mem::offset_of!(dsa_switch_ops, get_rxnfc) - 608usize]; + ["Offset of field: dsa_switch_ops::set_rxnfc"] + [::core::mem::offset_of!(dsa_switch_ops, set_rxnfc) - 616usize]; + ["Offset of field: dsa_switch_ops::cls_flower_add"] + [::core::mem::offset_of!(dsa_switch_ops, cls_flower_add) - 624usize]; + ["Offset of field: dsa_switch_ops::cls_flower_del"] + [::core::mem::offset_of!(dsa_switch_ops, cls_flower_del) - 632usize]; + ["Offset of field: dsa_switch_ops::cls_flower_stats"] + [::core::mem::offset_of!(dsa_switch_ops, cls_flower_stats) - 640usize]; + ["Offset of field: dsa_switch_ops::port_mirror_add"] + [::core::mem::offset_of!(dsa_switch_ops, port_mirror_add) - 648usize]; + ["Offset of field: dsa_switch_ops::port_mirror_del"] + [::core::mem::offset_of!(dsa_switch_ops, port_mirror_del) - 656usize]; + ["Offset of field: dsa_switch_ops::port_policer_add"] + [::core::mem::offset_of!(dsa_switch_ops, port_policer_add) - 664usize]; + ["Offset of field: dsa_switch_ops::port_policer_del"] + [::core::mem::offset_of!(dsa_switch_ops, port_policer_del) - 672usize]; + ["Offset of field: dsa_switch_ops::port_setup_tc"] + [::core::mem::offset_of!(dsa_switch_ops, port_setup_tc) - 680usize]; + ["Offset of field: dsa_switch_ops::crosschip_bridge_join"] + [::core::mem::offset_of!(dsa_switch_ops, crosschip_bridge_join) - 688usize]; + ["Offset of field: dsa_switch_ops::crosschip_bridge_leave"] + [::core::mem::offset_of!(dsa_switch_ops, crosschip_bridge_leave) - 696usize]; + ["Offset of field: dsa_switch_ops::crosschip_lag_change"] + [::core::mem::offset_of!(dsa_switch_ops, crosschip_lag_change) - 704usize]; + ["Offset of field: dsa_switch_ops::crosschip_lag_join"] + [::core::mem::offset_of!(dsa_switch_ops, crosschip_lag_join) - 712usize]; + ["Offset of field: dsa_switch_ops::crosschip_lag_leave"] + [::core::mem::offset_of!(dsa_switch_ops, crosschip_lag_leave) - 720usize]; + ["Offset of field: dsa_switch_ops::port_hwtstamp_get"] + [::core::mem::offset_of!(dsa_switch_ops, port_hwtstamp_get) - 728usize]; + ["Offset of field: dsa_switch_ops::port_hwtstamp_set"] + [::core::mem::offset_of!(dsa_switch_ops, port_hwtstamp_set) - 736usize]; + ["Offset of field: dsa_switch_ops::port_txtstamp"] + [::core::mem::offset_of!(dsa_switch_ops, port_txtstamp) - 744usize]; + ["Offset of field: dsa_switch_ops::port_rxtstamp"] + [::core::mem::offset_of!(dsa_switch_ops, port_rxtstamp) - 752usize]; + ["Offset of field: dsa_switch_ops::devlink_param_get"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_param_get) - 760usize]; + ["Offset of field: dsa_switch_ops::devlink_param_set"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_param_set) - 768usize]; + ["Offset of field: dsa_switch_ops::devlink_info_get"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_info_get) - 776usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_pool_get"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_pool_get) - 784usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_pool_set"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_pool_set) - 792usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_port_pool_get"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_port_pool_get) - 800usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_port_pool_set"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_port_pool_set) - 808usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_tc_pool_bind_get"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_tc_pool_bind_get) - 816usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_tc_pool_bind_set"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_tc_pool_bind_set) - 824usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_occ_snapshot"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_occ_snapshot) - 832usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_occ_max_clear"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_occ_max_clear) - 840usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_occ_port_pool_get"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_occ_port_pool_get) - 848usize]; + ["Offset of field: dsa_switch_ops::devlink_sb_occ_tc_port_bind_get"] + [::core::mem::offset_of!(dsa_switch_ops, devlink_sb_occ_tc_port_bind_get) - 856usize]; + ["Offset of field: dsa_switch_ops::port_change_mtu"] + [::core::mem::offset_of!(dsa_switch_ops, port_change_mtu) - 864usize]; + ["Offset of field: dsa_switch_ops::port_max_mtu"] + [::core::mem::offset_of!(dsa_switch_ops, port_max_mtu) - 872usize]; + ["Offset of field: dsa_switch_ops::port_lag_change"] + [::core::mem::offset_of!(dsa_switch_ops, port_lag_change) - 880usize]; + ["Offset of field: dsa_switch_ops::port_lag_join"] + [::core::mem::offset_of!(dsa_switch_ops, port_lag_join) - 888usize]; + ["Offset of field: dsa_switch_ops::port_lag_leave"] + [::core::mem::offset_of!(dsa_switch_ops, port_lag_leave) - 896usize]; + ["Offset of field: dsa_switch_ops::port_hsr_join"] + [::core::mem::offset_of!(dsa_switch_ops, port_hsr_join) - 904usize]; + ["Offset of field: dsa_switch_ops::port_hsr_leave"] + [::core::mem::offset_of!(dsa_switch_ops, port_hsr_leave) - 912usize]; + ["Offset of field: dsa_switch_ops::port_mrp_add"] + [::core::mem::offset_of!(dsa_switch_ops, port_mrp_add) - 920usize]; + ["Offset of field: dsa_switch_ops::port_mrp_del"] + [::core::mem::offset_of!(dsa_switch_ops, port_mrp_del) - 928usize]; + ["Offset of field: dsa_switch_ops::port_mrp_add_ring_role"] + [::core::mem::offset_of!(dsa_switch_ops, port_mrp_add_ring_role) - 936usize]; + ["Offset of field: dsa_switch_ops::port_mrp_del_ring_role"] + [::core::mem::offset_of!(dsa_switch_ops, port_mrp_del_ring_role) - 944usize]; + ["Offset of field: dsa_switch_ops::tag_8021q_vlan_add"] + [::core::mem::offset_of!(dsa_switch_ops, tag_8021q_vlan_add) - 952usize]; + ["Offset of field: dsa_switch_ops::tag_8021q_vlan_del"] + [::core::mem::offset_of!(dsa_switch_ops, tag_8021q_vlan_del) - 960usize]; + ["Offset of field: dsa_switch_ops::conduit_state_change"] + [::core::mem::offset_of!(dsa_switch_ops, conduit_state_change) - 968usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct raw_notifier_head { + pub head: *mut notifier_block, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of raw_notifier_head"][::core::mem::size_of::() - 8usize]; + ["Alignment of raw_notifier_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: raw_notifier_head::head"] + [::core::mem::offset_of!(raw_notifier_head, head) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dsa_switch_tree { + pub list: list_head, + pub ports: list_head, + pub nh: raw_notifier_head, + pub index: ::core::ffi::c_uint, + pub refcount: kref, + pub lags: *mut *mut dsa_lag, + pub tag_ops: *const dsa_device_ops, + pub default_proto: dsa_tag_protocol, + pub setup: bool_, + pub pd: *mut dsa_platform_data, + pub rtable: list_head, + pub lags_len: ::core::ffi::c_uint, + pub last_switch: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dsa_switch_tree"][::core::mem::size_of::() - 104usize]; + ["Alignment of dsa_switch_tree"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dsa_switch_tree::list"] + [::core::mem::offset_of!(dsa_switch_tree, list) - 0usize]; + ["Offset of field: dsa_switch_tree::ports"] + [::core::mem::offset_of!(dsa_switch_tree, ports) - 16usize]; + ["Offset of field: dsa_switch_tree::nh"] + [::core::mem::offset_of!(dsa_switch_tree, nh) - 32usize]; + ["Offset of field: dsa_switch_tree::index"] + [::core::mem::offset_of!(dsa_switch_tree, index) - 40usize]; + ["Offset of field: dsa_switch_tree::refcount"] + [::core::mem::offset_of!(dsa_switch_tree, refcount) - 44usize]; + ["Offset of field: dsa_switch_tree::lags"] + [::core::mem::offset_of!(dsa_switch_tree, lags) - 48usize]; + ["Offset of field: dsa_switch_tree::tag_ops"] + [::core::mem::offset_of!(dsa_switch_tree, tag_ops) - 56usize]; + ["Offset of field: dsa_switch_tree::default_proto"] + [::core::mem::offset_of!(dsa_switch_tree, default_proto) - 64usize]; + ["Offset of field: dsa_switch_tree::setup"] + [::core::mem::offset_of!(dsa_switch_tree, setup) - 68usize]; + ["Offset of field: dsa_switch_tree::pd"] + [::core::mem::offset_of!(dsa_switch_tree, pd) - 72usize]; + ["Offset of field: dsa_switch_tree::rtable"] + [::core::mem::offset_of!(dsa_switch_tree, rtable) - 80usize]; + ["Offset of field: dsa_switch_tree::lags_len"] + [::core::mem::offset_of!(dsa_switch_tree, lags_len) - 96usize]; + ["Offset of field: dsa_switch_tree::last_switch"] + [::core::mem::offset_of!(dsa_switch_tree, last_switch) - 100usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dst_cache { + pub cache: *mut dst_cache_pcpu, + pub reset_ts: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dst_cache"][::core::mem::size_of::() - 16usize]; + ["Alignment of dst_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dst_cache::cache"][::core::mem::offset_of!(dst_cache, cache) - 0usize]; + ["Offset of field: dst_cache::reset_ts"][::core::mem::offset_of!(dst_cache, reset_ts) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dst_cache_pcpu { + pub refresh_ts: ::core::ffi::c_ulong, + pub dst: *mut dst_entry, + pub cookie: u32_, + pub __bindgen_anon_1: dst_cache_pcpu__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union dst_cache_pcpu__bindgen_ty_1 { + pub in_saddr: in_addr, + pub in6_saddr: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dst_cache_pcpu__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of dst_cache_pcpu__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: dst_cache_pcpu__bindgen_ty_1::in_saddr"] + [::core::mem::offset_of!(dst_cache_pcpu__bindgen_ty_1, in_saddr) - 0usize]; + ["Offset of field: dst_cache_pcpu__bindgen_ty_1::in6_saddr"] + [::core::mem::offset_of!(dst_cache_pcpu__bindgen_ty_1, in6_saddr) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dst_cache_pcpu"][::core::mem::size_of::() - 40usize]; + ["Alignment of dst_cache_pcpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dst_cache_pcpu::refresh_ts"] + [::core::mem::offset_of!(dst_cache_pcpu, refresh_ts) - 0usize]; + ["Offset of field: dst_cache_pcpu::dst"][::core::mem::offset_of!(dst_cache_pcpu, dst) - 8usize]; + ["Offset of field: dst_cache_pcpu::cookie"] + [::core::mem::offset_of!(dst_cache_pcpu, cookie) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dst_entry { + pub dev: *mut net_device, + pub ops: *mut dst_ops, + pub _metrics: ::core::ffi::c_ulong, + pub expires: ::core::ffi::c_ulong, + pub xfrm: *mut xfrm_state, + pub input: + ::core::option::Option ::core::ffi::c_int>, + pub output: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut sock, + arg3: *mut sk_buff, + ) -> ::core::ffi::c_int, + >, + pub flags: ::core::ffi::c_ushort, + pub obsolete: ::core::ffi::c_short, + pub header_len: ::core::ffi::c_ushort, + pub trailer_len: ::core::ffi::c_ushort, + pub __rcuref: rcuref_t, + pub __use: ::core::ffi::c_int, + pub lastuse: ::core::ffi::c_ulong, + pub callback_head: callback_head, + pub error: ::core::ffi::c_short, + pub __pad: ::core::ffi::c_short, + pub tclassid: __u32, + pub dev_tracker: netdevice_tracker, + pub rt_uncached: list_head, + pub rt_uncached_list: *mut uncached_list, + pub lwtstate: *mut lwtunnel_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dst_entry"][::core::mem::size_of::() - 136usize]; + ["Alignment of dst_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dst_entry::dev"][::core::mem::offset_of!(dst_entry, dev) - 0usize]; + ["Offset of field: dst_entry::ops"][::core::mem::offset_of!(dst_entry, ops) - 8usize]; + ["Offset of field: dst_entry::_metrics"] + [::core::mem::offset_of!(dst_entry, _metrics) - 16usize]; + ["Offset of field: dst_entry::expires"][::core::mem::offset_of!(dst_entry, expires) - 24usize]; + ["Offset of field: dst_entry::xfrm"][::core::mem::offset_of!(dst_entry, xfrm) - 32usize]; + ["Offset of field: dst_entry::input"][::core::mem::offset_of!(dst_entry, input) - 40usize]; + ["Offset of field: dst_entry::output"][::core::mem::offset_of!(dst_entry, output) - 48usize]; + ["Offset of field: dst_entry::flags"][::core::mem::offset_of!(dst_entry, flags) - 56usize]; + ["Offset of field: dst_entry::obsolete"] + [::core::mem::offset_of!(dst_entry, obsolete) - 58usize]; + ["Offset of field: dst_entry::header_len"] + [::core::mem::offset_of!(dst_entry, header_len) - 60usize]; + ["Offset of field: dst_entry::trailer_len"] + [::core::mem::offset_of!(dst_entry, trailer_len) - 62usize]; + ["Offset of field: dst_entry::__rcuref"] + [::core::mem::offset_of!(dst_entry, __rcuref) - 64usize]; + ["Offset of field: dst_entry::__use"][::core::mem::offset_of!(dst_entry, __use) - 68usize]; + ["Offset of field: dst_entry::lastuse"][::core::mem::offset_of!(dst_entry, lastuse) - 72usize]; + ["Offset of field: dst_entry::callback_head"] + [::core::mem::offset_of!(dst_entry, callback_head) - 80usize]; + ["Offset of field: dst_entry::error"][::core::mem::offset_of!(dst_entry, error) - 96usize]; + ["Offset of field: dst_entry::__pad"][::core::mem::offset_of!(dst_entry, __pad) - 98usize]; + ["Offset of field: dst_entry::tclassid"] + [::core::mem::offset_of!(dst_entry, tclassid) - 100usize]; + ["Offset of field: dst_entry::dev_tracker"] + [::core::mem::offset_of!(dst_entry, dev_tracker) - 104usize]; + ["Offset of field: dst_entry::rt_uncached"] + [::core::mem::offset_of!(dst_entry, rt_uncached) - 104usize]; + ["Offset of field: dst_entry::rt_uncached_list"] + [::core::mem::offset_of!(dst_entry, rt_uncached_list) - 120usize]; + ["Offset of field: dst_entry::lwtstate"] + [::core::mem::offset_of!(dst_entry, lwtstate) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dst_metrics { + pub metrics: [u32_; 17usize], + pub refcnt: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dst_metrics"][::core::mem::size_of::() - 72usize]; + ["Alignment of dst_metrics"][::core::mem::align_of::() - 4usize]; + ["Offset of field: dst_metrics::metrics"] + [::core::mem::offset_of!(dst_metrics, metrics) - 0usize]; + ["Offset of field: dst_metrics::refcnt"] + [::core::mem::offset_of!(dst_metrics, refcnt) - 68usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dst_ops { + pub family: ::core::ffi::c_ushort, + pub gc_thresh: ::core::ffi::c_uint, + pub gc: ::core::option::Option, + pub check: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dst_entry, arg2: __u32) -> *mut dst_entry, + >, + pub default_advmss: + ::core::option::Option ::core::ffi::c_uint>, + pub mtu: + ::core::option::Option ::core::ffi::c_uint>, + pub cow_metrics: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dst_entry, arg2: ::core::ffi::c_ulong) -> *mut u32_, + >, + pub destroy: ::core::option::Option, + pub ifdown: + ::core::option::Option, + pub negative_advice: + ::core::option::Option, + pub link_failure: ::core::option::Option, + pub update_pmtu: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dst_entry, + arg2: *mut sock, + arg3: *mut sk_buff, + arg4: u32_, + arg5: bool_, + ), + >, + pub redirect: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dst_entry, arg2: *mut sock, arg3: *mut sk_buff), + >, + pub local_out: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut sock, + arg3: *mut sk_buff, + ) -> ::core::ffi::c_int, + >, + pub neigh_lookup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const dst_entry, + arg2: *mut sk_buff, + arg3: *const ::core::ffi::c_void, + ) -> *mut neighbour, + >, + pub confirm_neigh: ::core::option::Option< + unsafe extern "C" fn(arg1: *const dst_entry, arg2: *const ::core::ffi::c_void), + >, + pub kmem_cachep: *mut kmem_cache, + pub pcpuc_entries: percpu_counter, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of dst_ops"][::core::mem::size_of::() - 192usize]; + ["Alignment of dst_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: dst_ops::family"][::core::mem::offset_of!(dst_ops, family) - 0usize]; + ["Offset of field: dst_ops::gc_thresh"][::core::mem::offset_of!(dst_ops, gc_thresh) - 4usize]; + ["Offset of field: dst_ops::gc"][::core::mem::offset_of!(dst_ops, gc) - 8usize]; + ["Offset of field: dst_ops::check"][::core::mem::offset_of!(dst_ops, check) - 16usize]; + ["Offset of field: dst_ops::default_advmss"] + [::core::mem::offset_of!(dst_ops, default_advmss) - 24usize]; + ["Offset of field: dst_ops::mtu"][::core::mem::offset_of!(dst_ops, mtu) - 32usize]; + ["Offset of field: dst_ops::cow_metrics"] + [::core::mem::offset_of!(dst_ops, cow_metrics) - 40usize]; + ["Offset of field: dst_ops::destroy"][::core::mem::offset_of!(dst_ops, destroy) - 48usize]; + ["Offset of field: dst_ops::ifdown"][::core::mem::offset_of!(dst_ops, ifdown) - 56usize]; + ["Offset of field: dst_ops::negative_advice"] + [::core::mem::offset_of!(dst_ops, negative_advice) - 64usize]; + ["Offset of field: dst_ops::link_failure"] + [::core::mem::offset_of!(dst_ops, link_failure) - 72usize]; + ["Offset of field: dst_ops::update_pmtu"] + [::core::mem::offset_of!(dst_ops, update_pmtu) - 80usize]; + ["Offset of field: dst_ops::redirect"][::core::mem::offset_of!(dst_ops, redirect) - 88usize]; + ["Offset of field: dst_ops::local_out"][::core::mem::offset_of!(dst_ops, local_out) - 96usize]; + ["Offset of field: dst_ops::neigh_lookup"] + [::core::mem::offset_of!(dst_ops, neigh_lookup) - 104usize]; + ["Offset of field: dst_ops::confirm_neigh"] + [::core::mem::offset_of!(dst_ops, confirm_neigh) - 112usize]; + ["Offset of field: dst_ops::kmem_cachep"] + [::core::mem::offset_of!(dst_ops, kmem_cachep) - 120usize]; + ["Offset of field: dst_ops::pcpuc_entries"] + [::core::mem::offset_of!(dst_ops, pcpuc_entries) - 128usize]; +}; +impl dst_ops { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rt_mutex_base { + pub wait_lock: raw_spinlock_t, + pub waiters: rb_root_cached, + pub owner: *mut task_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt_mutex_base"][::core::mem::size_of::() - 32usize]; + ["Alignment of rt_mutex_base"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt_mutex_base::wait_lock"] + [::core::mem::offset_of!(rt_mutex_base, wait_lock) - 0usize]; + ["Offset of field: rt_mutex_base::waiters"] + [::core::mem::offset_of!(rt_mutex_base, waiters) - 8usize]; + ["Offset of field: rt_mutex_base::owner"] + [::core::mem::offset_of!(rt_mutex_base, owner) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rt_mutex { + pub rtmutex: rt_mutex_base, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt_mutex"][::core::mem::size_of::() - 32usize]; + ["Alignment of rt_mutex"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt_mutex::rtmutex"][::core::mem::offset_of!(rt_mutex, rtmutex) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct seq_buf { + pub buffer: *mut ::core::ffi::c_char, + pub size: usize, + pub len: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seq_buf"][::core::mem::size_of::() - 24usize]; + ["Alignment of seq_buf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: seq_buf::buffer"][::core::mem::offset_of!(seq_buf, buffer) - 0usize]; + ["Offset of field: seq_buf::size"][::core::mem::offset_of!(seq_buf, size) - 8usize]; + ["Offset of field: seq_buf::len"][::core::mem::offset_of!(seq_buf, len) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct eee_config { + pub tx_lpi_timer: u32_, + pub tx_lpi_enabled: bool_, + pub eee_enabled: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of eee_config"][::core::mem::size_of::() - 8usize]; + ["Alignment of eee_config"][::core::mem::align_of::() - 4usize]; + ["Offset of field: eee_config::tx_lpi_timer"] + [::core::mem::offset_of!(eee_config, tx_lpi_timer) - 0usize]; + ["Offset of field: eee_config::tx_lpi_enabled"] + [::core::mem::offset_of!(eee_config, tx_lpi_enabled) - 4usize]; + ["Offset of field: eee_config::eee_enabled"] + [::core::mem::offset_of!(eee_config, eee_enabled) - 5usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_keee { + pub supported: [::core::ffi::c_ulong; 2usize], + pub advertised: [::core::ffi::c_ulong; 2usize], + pub lp_advertised: [::core::ffi::c_ulong; 2usize], + pub tx_lpi_timer: u32_, + pub tx_lpi_enabled: bool_, + pub eee_active: bool_, + pub eee_enabled: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_keee"][::core::mem::size_of::() - 56usize]; + ["Alignment of ethtool_keee"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_keee::supported"] + [::core::mem::offset_of!(ethtool_keee, supported) - 0usize]; + ["Offset of field: ethtool_keee::advertised"] + [::core::mem::offset_of!(ethtool_keee, advertised) - 16usize]; + ["Offset of field: ethtool_keee::lp_advertised"] + [::core::mem::offset_of!(ethtool_keee, lp_advertised) - 32usize]; + ["Offset of field: ethtool_keee::tx_lpi_timer"] + [::core::mem::offset_of!(ethtool_keee, tx_lpi_timer) - 48usize]; + ["Offset of field: ethtool_keee::tx_lpi_enabled"] + [::core::mem::offset_of!(ethtool_keee, tx_lpi_enabled) - 52usize]; + ["Offset of field: ethtool_keee::eee_active"] + [::core::mem::offset_of!(ethtool_keee, eee_active) - 53usize]; + ["Offset of field: ethtool_keee::eee_enabled"] + [::core::mem::offset_of!(ethtool_keee, eee_enabled) - 54usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct elevator_mq_ops { + pub init_sched: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut request_queue, + arg2: *mut elevator_type, + ) -> ::core::ffi::c_int, + >, + pub exit_sched: ::core::option::Option, + pub init_hctx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut blk_mq_hw_ctx, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub exit_hctx: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut blk_mq_hw_ctx, arg2: ::core::ffi::c_uint), + >, + pub depth_updated: ::core::option::Option, + pub allow_merge: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request_queue, arg2: *mut request, arg3: *mut bio) -> bool_, + >, + pub bio_merge: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut request_queue, + arg2: *mut bio, + arg3: ::core::ffi::c_uint, + ) -> bool_, + >, + pub request_merge: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut request_queue, + arg2: *mut *mut request, + arg3: *mut bio, + ) -> ::core::ffi::c_int, + >, + pub request_merged: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request_queue, arg2: *mut request, arg3: elv_merge), + >, + pub requests_merged: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request_queue, arg2: *mut request, arg3: *mut request), + >, + pub limit_depth: + ::core::option::Option, + pub prepare_request: ::core::option::Option, + pub finish_request: ::core::option::Option, + pub insert_requests: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut blk_mq_hw_ctx, arg2: *mut list_head, arg3: blk_insert_t), + >, + pub dispatch_request: + ::core::option::Option *mut request>, + pub has_work: ::core::option::Option bool_>, + pub completed_request: + ::core::option::Option, + pub requeue_request: ::core::option::Option, + pub former_request: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request_queue, arg2: *mut request) -> *mut request, + >, + pub next_request: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request_queue, arg2: *mut request) -> *mut request, + >, + pub init_icq: ::core::option::Option, + pub exit_icq: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of elevator_mq_ops"][::core::mem::size_of::() - 176usize]; + ["Alignment of elevator_mq_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: elevator_mq_ops::init_sched"] + [::core::mem::offset_of!(elevator_mq_ops, init_sched) - 0usize]; + ["Offset of field: elevator_mq_ops::exit_sched"] + [::core::mem::offset_of!(elevator_mq_ops, exit_sched) - 8usize]; + ["Offset of field: elevator_mq_ops::init_hctx"] + [::core::mem::offset_of!(elevator_mq_ops, init_hctx) - 16usize]; + ["Offset of field: elevator_mq_ops::exit_hctx"] + [::core::mem::offset_of!(elevator_mq_ops, exit_hctx) - 24usize]; + ["Offset of field: elevator_mq_ops::depth_updated"] + [::core::mem::offset_of!(elevator_mq_ops, depth_updated) - 32usize]; + ["Offset of field: elevator_mq_ops::allow_merge"] + [::core::mem::offset_of!(elevator_mq_ops, allow_merge) - 40usize]; + ["Offset of field: elevator_mq_ops::bio_merge"] + [::core::mem::offset_of!(elevator_mq_ops, bio_merge) - 48usize]; + ["Offset of field: elevator_mq_ops::request_merge"] + [::core::mem::offset_of!(elevator_mq_ops, request_merge) - 56usize]; + ["Offset of field: elevator_mq_ops::request_merged"] + [::core::mem::offset_of!(elevator_mq_ops, request_merged) - 64usize]; + ["Offset of field: elevator_mq_ops::requests_merged"] + [::core::mem::offset_of!(elevator_mq_ops, requests_merged) - 72usize]; + ["Offset of field: elevator_mq_ops::limit_depth"] + [::core::mem::offset_of!(elevator_mq_ops, limit_depth) - 80usize]; + ["Offset of field: elevator_mq_ops::prepare_request"] + [::core::mem::offset_of!(elevator_mq_ops, prepare_request) - 88usize]; + ["Offset of field: elevator_mq_ops::finish_request"] + [::core::mem::offset_of!(elevator_mq_ops, finish_request) - 96usize]; + ["Offset of field: elevator_mq_ops::insert_requests"] + [::core::mem::offset_of!(elevator_mq_ops, insert_requests) - 104usize]; + ["Offset of field: elevator_mq_ops::dispatch_request"] + [::core::mem::offset_of!(elevator_mq_ops, dispatch_request) - 112usize]; + ["Offset of field: elevator_mq_ops::has_work"] + [::core::mem::offset_of!(elevator_mq_ops, has_work) - 120usize]; + ["Offset of field: elevator_mq_ops::completed_request"] + [::core::mem::offset_of!(elevator_mq_ops, completed_request) - 128usize]; + ["Offset of field: elevator_mq_ops::requeue_request"] + [::core::mem::offset_of!(elevator_mq_ops, requeue_request) - 136usize]; + ["Offset of field: elevator_mq_ops::former_request"] + [::core::mem::offset_of!(elevator_mq_ops, former_request) - 144usize]; + ["Offset of field: elevator_mq_ops::next_request"] + [::core::mem::offset_of!(elevator_mq_ops, next_request) - 152usize]; + ["Offset of field: elevator_mq_ops::init_icq"] + [::core::mem::offset_of!(elevator_mq_ops, init_icq) - 160usize]; + ["Offset of field: elevator_mq_ops::exit_icq"] + [::core::mem::offset_of!(elevator_mq_ops, exit_icq) - 168usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct elevator_queue { + pub type_: *mut elevator_type, + pub elevator_data: *mut ::core::ffi::c_void, + pub kobj: kobject, + pub sysfs_lock: mutex, + pub flags: ::core::ffi::c_ulong, + pub hash: [hlist_head; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of elevator_queue"][::core::mem::size_of::() - 632usize]; + ["Alignment of elevator_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: elevator_queue::type_"] + [::core::mem::offset_of!(elevator_queue, type_) - 0usize]; + ["Offset of field: elevator_queue::elevator_data"] + [::core::mem::offset_of!(elevator_queue, elevator_data) - 8usize]; + ["Offset of field: elevator_queue::kobj"] + [::core::mem::offset_of!(elevator_queue, kobj) - 16usize]; + ["Offset of field: elevator_queue::sysfs_lock"] + [::core::mem::offset_of!(elevator_queue, sysfs_lock) - 80usize]; + ["Offset of field: elevator_queue::flags"] + [::core::mem::offset_of!(elevator_queue, flags) - 112usize]; + ["Offset of field: elevator_queue::hash"] + [::core::mem::offset_of!(elevator_queue, hash) - 120usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct elevator_type { + pub icq_cache: *mut kmem_cache, + pub ops: elevator_mq_ops, + pub icq_size: usize, + pub icq_align: usize, + pub elevator_attrs: *mut elv_fs_entry, + pub elevator_name: *const ::core::ffi::c_char, + pub elevator_alias: *const ::core::ffi::c_char, + pub elevator_owner: *mut module, + pub queue_debugfs_attrs: *const blk_mq_debugfs_attr, + pub hctx_debugfs_attrs: *const blk_mq_debugfs_attr, + pub icq_cache_name: [::core::ffi::c_char; 22usize], + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of elevator_type"][::core::mem::size_of::() - 288usize]; + ["Alignment of elevator_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: elevator_type::icq_cache"] + [::core::mem::offset_of!(elevator_type, icq_cache) - 0usize]; + ["Offset of field: elevator_type::ops"][::core::mem::offset_of!(elevator_type, ops) - 8usize]; + ["Offset of field: elevator_type::icq_size"] + [::core::mem::offset_of!(elevator_type, icq_size) - 184usize]; + ["Offset of field: elevator_type::icq_align"] + [::core::mem::offset_of!(elevator_type, icq_align) - 192usize]; + ["Offset of field: elevator_type::elevator_attrs"] + [::core::mem::offset_of!(elevator_type, elevator_attrs) - 200usize]; + ["Offset of field: elevator_type::elevator_name"] + [::core::mem::offset_of!(elevator_type, elevator_name) - 208usize]; + ["Offset of field: elevator_type::elevator_alias"] + [::core::mem::offset_of!(elevator_type, elevator_alias) - 216usize]; + ["Offset of field: elevator_type::elevator_owner"] + [::core::mem::offset_of!(elevator_type, elevator_owner) - 224usize]; + ["Offset of field: elevator_type::queue_debugfs_attrs"] + [::core::mem::offset_of!(elevator_type, queue_debugfs_attrs) - 232usize]; + ["Offset of field: elevator_type::hctx_debugfs_attrs"] + [::core::mem::offset_of!(elevator_type, hctx_debugfs_attrs) - 240usize]; + ["Offset of field: elevator_type::icq_cache_name"] + [::core::mem::offset_of!(elevator_type, icq_cache_name) - 248usize]; + ["Offset of field: elevator_type::list"] + [::core::mem::offset_of!(elevator_type, list) - 272usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct elf64_sym { + pub st_name: Elf64_Word, + pub st_info: ::core::ffi::c_uchar, + pub st_other: ::core::ffi::c_uchar, + pub st_shndx: Elf64_Half, + pub st_value: Elf64_Addr, + pub st_size: Elf64_Xword, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of elf64_sym"][::core::mem::size_of::() - 24usize]; + ["Alignment of elf64_sym"][::core::mem::align_of::() - 8usize]; + ["Offset of field: elf64_sym::st_name"][::core::mem::offset_of!(elf64_sym, st_name) - 0usize]; + ["Offset of field: elf64_sym::st_info"][::core::mem::offset_of!(elf64_sym, st_info) - 4usize]; + ["Offset of field: elf64_sym::st_other"][::core::mem::offset_of!(elf64_sym, st_other) - 5usize]; + ["Offset of field: elf64_sym::st_shndx"][::core::mem::offset_of!(elf64_sym, st_shndx) - 6usize]; + ["Offset of field: elf64_sym::st_value"][::core::mem::offset_of!(elf64_sym, st_value) - 8usize]; + ["Offset of field: elf64_sym::st_size"][::core::mem::offset_of!(elf64_sym, st_size) - 16usize]; +}; +pub type Elf64_Sym = elf64_sym; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct elv_fs_entry { + pub attr: attribute, + pub show: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut elevator_queue, arg2: *mut ::core::ffi::c_char) -> isize, + >, + pub store: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut elevator_queue, + arg2: *const ::core::ffi::c_char, + arg3: usize, + ) -> isize, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of elv_fs_entry"][::core::mem::size_of::() - 32usize]; + ["Alignment of elv_fs_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: elv_fs_entry::attr"][::core::mem::offset_of!(elv_fs_entry, attr) - 0usize]; + ["Offset of field: elv_fs_entry::show"][::core::mem::offset_of!(elv_fs_entry, show) - 16usize]; + ["Offset of field: elv_fs_entry::store"] + [::core::mem::offset_of!(elv_fs_entry, store) - 24usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct em_perf_domain { + pub em_table: *mut em_perf_table, + pub nr_perf_states: ::core::ffi::c_int, + pub flags: ::core::ffi::c_ulong, + pub cpus: __IncompleteArrayField<::core::ffi::c_ulong>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of em_perf_domain"][::core::mem::size_of::() - 24usize]; + ["Alignment of em_perf_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: em_perf_domain::em_table"] + [::core::mem::offset_of!(em_perf_domain, em_table) - 0usize]; + ["Offset of field: em_perf_domain::nr_perf_states"] + [::core::mem::offset_of!(em_perf_domain, nr_perf_states) - 8usize]; + ["Offset of field: em_perf_domain::flags"] + [::core::mem::offset_of!(em_perf_domain, flags) - 16usize]; + ["Offset of field: em_perf_domain::cpus"] + [::core::mem::offset_of!(em_perf_domain, cpus) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct em_perf_state { + pub performance: ::core::ffi::c_ulong, + pub frequency: ::core::ffi::c_ulong, + pub power: ::core::ffi::c_ulong, + pub cost: ::core::ffi::c_ulong, + pub flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of em_perf_state"][::core::mem::size_of::() - 40usize]; + ["Alignment of em_perf_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: em_perf_state::performance"] + [::core::mem::offset_of!(em_perf_state, performance) - 0usize]; + ["Offset of field: em_perf_state::frequency"] + [::core::mem::offset_of!(em_perf_state, frequency) - 8usize]; + ["Offset of field: em_perf_state::power"] + [::core::mem::offset_of!(em_perf_state, power) - 16usize]; + ["Offset of field: em_perf_state::cost"] + [::core::mem::offset_of!(em_perf_state, cost) - 24usize]; + ["Offset of field: em_perf_state::flags"] + [::core::mem::offset_of!(em_perf_state, flags) - 32usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct em_perf_table { + pub rcu: callback_head, + pub kref: kref, + pub state: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of em_perf_table"][::core::mem::size_of::() - 24usize]; + ["Alignment of em_perf_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: em_perf_table::rcu"][::core::mem::offset_of!(em_perf_table, rcu) - 0usize]; + ["Offset of field: em_perf_table::kref"] + [::core::mem::offset_of!(em_perf_table, kref) - 16usize]; + ["Offset of field: em_perf_table::state"] + [::core::mem::offset_of!(em_perf_table, state) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct error_injection_entry { + pub addr: ::core::ffi::c_ulong, + pub etype: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of error_injection_entry"][::core::mem::size_of::() - 16usize]; + ["Alignment of error_injection_entry"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: error_injection_entry::addr"] + [::core::mem::offset_of!(error_injection_entry, addr) - 0usize]; + ["Offset of field: error_injection_entry::etype"] + [::core::mem::offset_of!(error_injection_entry, etype) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct strp_stats { + pub msgs: ::core::ffi::c_ulonglong, + pub bytes: ::core::ffi::c_ulonglong, + pub mem_fail: ::core::ffi::c_uint, + pub need_more_hdr: ::core::ffi::c_uint, + pub msg_too_big: ::core::ffi::c_uint, + pub msg_timeouts: ::core::ffi::c_uint, + pub bad_hdr_len: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of strp_stats"][::core::mem::size_of::() - 40usize]; + ["Alignment of strp_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: strp_stats::msgs"][::core::mem::offset_of!(strp_stats, msgs) - 0usize]; + ["Offset of field: strp_stats::bytes"][::core::mem::offset_of!(strp_stats, bytes) - 8usize]; + ["Offset of field: strp_stats::mem_fail"] + [::core::mem::offset_of!(strp_stats, mem_fail) - 16usize]; + ["Offset of field: strp_stats::need_more_hdr"] + [::core::mem::offset_of!(strp_stats, need_more_hdr) - 20usize]; + ["Offset of field: strp_stats::msg_too_big"] + [::core::mem::offset_of!(strp_stats, msg_too_big) - 24usize]; + ["Offset of field: strp_stats::msg_timeouts"] + [::core::mem::offset_of!(strp_stats, msg_timeouts) - 28usize]; + ["Offset of field: strp_stats::bad_hdr_len"] + [::core::mem::offset_of!(strp_stats, bad_hdr_len) - 32usize]; +}; +pub type sk_read_actor_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut read_descriptor_t, + arg2: *mut sk_buff, + arg3: ::core::ffi::c_uint, + arg4: usize, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct strp_callbacks { + pub parse_msg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut strparser, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub rcv_msg: + ::core::option::Option, + pub read_sock: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut strparser, + arg2: *mut read_descriptor_t, + arg3: sk_read_actor_t, + ) -> ::core::ffi::c_int, + >, + pub read_sock_done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut strparser, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub abort_parser: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut strparser, arg2: ::core::ffi::c_int), + >, + pub lock: ::core::option::Option, + pub unlock: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of strp_callbacks"][::core::mem::size_of::() - 56usize]; + ["Alignment of strp_callbacks"][::core::mem::align_of::() - 8usize]; + ["Offset of field: strp_callbacks::parse_msg"] + [::core::mem::offset_of!(strp_callbacks, parse_msg) - 0usize]; + ["Offset of field: strp_callbacks::rcv_msg"] + [::core::mem::offset_of!(strp_callbacks, rcv_msg) - 8usize]; + ["Offset of field: strp_callbacks::read_sock"] + [::core::mem::offset_of!(strp_callbacks, read_sock) - 16usize]; + ["Offset of field: strp_callbacks::read_sock_done"] + [::core::mem::offset_of!(strp_callbacks, read_sock_done) - 24usize]; + ["Offset of field: strp_callbacks::abort_parser"] + [::core::mem::offset_of!(strp_callbacks, abort_parser) - 32usize]; + ["Offset of field: strp_callbacks::lock"] + [::core::mem::offset_of!(strp_callbacks, lock) - 40usize]; + ["Offset of field: strp_callbacks::unlock"] + [::core::mem::offset_of!(strp_callbacks, unlock) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct strparser { + pub sk: *mut sock, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub skb_nextp: *mut *mut sk_buff, + pub skb_head: *mut sk_buff, + pub need_bytes: ::core::ffi::c_uint, + pub msg_timer_work: delayed_work, + pub work: work_struct, + pub stats: strp_stats, + pub cb: strp_callbacks, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of strparser"][::core::mem::size_of::() - 256usize]; + ["Alignment of strparser"][::core::mem::align_of::() - 8usize]; + ["Offset of field: strparser::sk"][::core::mem::offset_of!(strparser, sk) - 0usize]; + ["Offset of field: strparser::skb_nextp"] + [::core::mem::offset_of!(strparser, skb_nextp) - 16usize]; + ["Offset of field: strparser::skb_head"] + [::core::mem::offset_of!(strparser, skb_head) - 24usize]; + ["Offset of field: strparser::need_bytes"] + [::core::mem::offset_of!(strparser, need_bytes) - 32usize]; + ["Offset of field: strparser::msg_timer_work"] + [::core::mem::offset_of!(strparser, msg_timer_work) - 40usize]; + ["Offset of field: strparser::work"][::core::mem::offset_of!(strparser, work) - 128usize]; + ["Offset of field: strparser::stats"][::core::mem::offset_of!(strparser, stats) - 160usize]; + ["Offset of field: strparser::cb"][::core::mem::offset_of!(strparser, cb) - 200usize]; +}; +impl strparser { + #[inline] + pub fn stopped(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_stopped(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn stopped_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_stopped_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn paused(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_paused(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn paused_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_paused_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn aborted(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_aborted(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn aborted_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_aborted_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn interrupted(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_interrupted(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn interrupted_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_interrupted_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unrecov_intr(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_unrecov_intr(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unrecov_intr_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_unrecov_intr_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + stopped: u32_, + paused: u32_, + aborted: u32_, + interrupted: u32_, + unrecov_intr: u32_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let stopped: u32 = unsafe { ::core::mem::transmute(stopped) }; + stopped as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let paused: u32 = unsafe { ::core::mem::transmute(paused) }; + paused as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let aborted: u32 = unsafe { ::core::mem::transmute(aborted) }; + aborted as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let interrupted: u32 = unsafe { ::core::mem::transmute(interrupted) }; + interrupted as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let unrecov_intr: u32 = unsafe { ::core::mem::transmute(unrecov_intr) }; + unrecov_intr as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_c33_pse_ext_state_info { + pub c33_pse_ext_state: ethtool_c33_pse_ext_state, + pub __bindgen_anon_1: ethtool_c33_pse_ext_state_info__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_c33_pse_ext_state_info__bindgen_ty_1 { + pub error_condition: ethtool_c33_pse_ext_substate_error_condition, + pub mr_pse_enable: ethtool_c33_pse_ext_substate_mr_pse_enable, + pub option_detect_ted: ethtool_c33_pse_ext_substate_option_detect_ted, + pub option_vport_lim: ethtool_c33_pse_ext_substate_option_vport_lim, + pub ovld_detected: ethtool_c33_pse_ext_substate_ovld_detected, + pub power_not_available: ethtool_c33_pse_ext_substate_power_not_available, + pub short_detected: ethtool_c33_pse_ext_substate_short_detected, + pub __c33_pse_ext_substate: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_c33_pse_ext_state_info__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of ethtool_c33_pse_ext_state_info__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::error_condition"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + error_condition + ) - 0usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::mr_pse_enable"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + mr_pse_enable + ) - 0usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::option_detect_ted"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + option_detect_ted + ) + - 0usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::option_vport_lim"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + option_vport_lim + ) - 0usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::ovld_detected"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + ovld_detected + ) - 0usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::power_not_available"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + power_not_available + ) + - 0usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::short_detected"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + short_detected + ) - 0usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info__bindgen_ty_1::__c33_pse_ext_substate"][::core::mem::offset_of!( + ethtool_c33_pse_ext_state_info__bindgen_ty_1, + __c33_pse_ext_substate + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_c33_pse_ext_state_info"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_c33_pse_ext_state_info"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_c33_pse_ext_state_info::c33_pse_ext_state"] + [::core::mem::offset_of!(ethtool_c33_pse_ext_state_info, c33_pse_ext_state) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_c33_pse_pw_limit_range { + pub min: u32_, + pub max: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_c33_pse_pw_limit_range"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_c33_pse_pw_limit_range"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_c33_pse_pw_limit_range::min"] + [::core::mem::offset_of!(ethtool_c33_pse_pw_limit_range, min) - 0usize]; + ["Offset of field: ethtool_c33_pse_pw_limit_range::max"] + [::core::mem::offset_of!(ethtool_c33_pse_pw_limit_range, max) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_flash { + pub cmd: __u32, + pub region: __u32, + pub data: [::core::ffi::c_char; 128usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_flash"][::core::mem::size_of::() - 136usize]; + ["Alignment of ethtool_flash"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_flash::cmd"][::core::mem::offset_of!(ethtool_flash, cmd) - 0usize]; + ["Offset of field: ethtool_flash::region"] + [::core::mem::offset_of!(ethtool_flash, region) - 4usize]; + ["Offset of field: ethtool_flash::data"][::core::mem::offset_of!(ethtool_flash, data) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_drvinfo { + pub cmd: __u32, + pub driver: [::core::ffi::c_char; 32usize], + pub version: [::core::ffi::c_char; 32usize], + pub fw_version: [::core::ffi::c_char; 32usize], + pub bus_info: [::core::ffi::c_char; 32usize], + pub erom_version: [::core::ffi::c_char; 32usize], + pub reserved2: [::core::ffi::c_char; 12usize], + pub n_priv_flags: __u32, + pub n_stats: __u32, + pub testinfo_len: __u32, + pub eedump_len: __u32, + pub regdump_len: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_drvinfo"][::core::mem::size_of::() - 196usize]; + ["Alignment of ethtool_drvinfo"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_drvinfo::cmd"] + [::core::mem::offset_of!(ethtool_drvinfo, cmd) - 0usize]; + ["Offset of field: ethtool_drvinfo::driver"] + [::core::mem::offset_of!(ethtool_drvinfo, driver) - 4usize]; + ["Offset of field: ethtool_drvinfo::version"] + [::core::mem::offset_of!(ethtool_drvinfo, version) - 36usize]; + ["Offset of field: ethtool_drvinfo::fw_version"] + [::core::mem::offset_of!(ethtool_drvinfo, fw_version) - 68usize]; + ["Offset of field: ethtool_drvinfo::bus_info"] + [::core::mem::offset_of!(ethtool_drvinfo, bus_info) - 100usize]; + ["Offset of field: ethtool_drvinfo::erom_version"] + [::core::mem::offset_of!(ethtool_drvinfo, erom_version) - 132usize]; + ["Offset of field: ethtool_drvinfo::reserved2"] + [::core::mem::offset_of!(ethtool_drvinfo, reserved2) - 164usize]; + ["Offset of field: ethtool_drvinfo::n_priv_flags"] + [::core::mem::offset_of!(ethtool_drvinfo, n_priv_flags) - 176usize]; + ["Offset of field: ethtool_drvinfo::n_stats"] + [::core::mem::offset_of!(ethtool_drvinfo, n_stats) - 180usize]; + ["Offset of field: ethtool_drvinfo::testinfo_len"] + [::core::mem::offset_of!(ethtool_drvinfo, testinfo_len) - 184usize]; + ["Offset of field: ethtool_drvinfo::eedump_len"] + [::core::mem::offset_of!(ethtool_drvinfo, eedump_len) - 188usize]; + ["Offset of field: ethtool_drvinfo::regdump_len"] + [::core::mem::offset_of!(ethtool_drvinfo, regdump_len) - 192usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_dump { + pub cmd: __u32, + pub version: __u32, + pub flag: __u32, + pub len: __u32, + pub data: __IncompleteArrayField<__u8>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_dump"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_dump"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_dump::cmd"][::core::mem::offset_of!(ethtool_dump, cmd) - 0usize]; + ["Offset of field: ethtool_dump::version"] + [::core::mem::offset_of!(ethtool_dump, version) - 4usize]; + ["Offset of field: ethtool_dump::flag"][::core::mem::offset_of!(ethtool_dump, flag) - 8usize]; + ["Offset of field: ethtool_dump::len"][::core::mem::offset_of!(ethtool_dump, len) - 12usize]; + ["Offset of field: ethtool_dump::data"][::core::mem::offset_of!(ethtool_dump, data) - 16usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_eeprom { + pub cmd: __u32, + pub magic: __u32, + pub offset: __u32, + pub len: __u32, + pub data: __IncompleteArrayField<__u8>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eeprom"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_eeprom"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_eeprom::cmd"][::core::mem::offset_of!(ethtool_eeprom, cmd) - 0usize]; + ["Offset of field: ethtool_eeprom::magic"] + [::core::mem::offset_of!(ethtool_eeprom, magic) - 4usize]; + ["Offset of field: ethtool_eeprom::offset"] + [::core::mem::offset_of!(ethtool_eeprom, offset) - 8usize]; + ["Offset of field: ethtool_eeprom::len"] + [::core::mem::offset_of!(ethtool_eeprom, len) - 12usize]; + ["Offset of field: ethtool_eeprom::data"] + [::core::mem::offset_of!(ethtool_eeprom, data) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_eth_ctrl_stats { + pub src: ethtool_mac_stats_src, + pub __bindgen_anon_1: ethtool_eth_ctrl_stats__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_eth_ctrl_stats__bindgen_ty_1 { + pub __bindgen_anon_1: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1, + pub stats: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1 { + pub MACControlFramesTransmitted: u64_, + pub MACControlFramesReceived: u64_, + pub UnsupportedOpcodesReceived: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1::MACControlFramesTransmitted"] [:: core :: mem :: offset_of ! (ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1 , MACControlFramesTransmitted) - 0usize] ; + ["Offset of field: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1::MACControlFramesReceived"] [:: core :: mem :: offset_of ! (ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1 , MACControlFramesReceived) - 8usize] ; + ["Offset of field: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1::UnsupportedOpcodesReceived"] [:: core :: mem :: offset_of ! (ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_1 , UnsupportedOpcodesReceived) - 16usize] ; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2 { + pub MACControlFramesTransmitted: u64_, + pub MACControlFramesReceived: u64_, + pub UnsupportedOpcodesReceived: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2::MACControlFramesTransmitted"] [:: core :: mem :: offset_of ! (ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2 , MACControlFramesTransmitted) - 0usize] ; + ["Offset of field: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2::MACControlFramesReceived"] [:: core :: mem :: offset_of ! (ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2 , MACControlFramesReceived) - 8usize] ; + ["Offset of field: ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2::UnsupportedOpcodesReceived"] [:: core :: mem :: offset_of ! (ethtool_eth_ctrl_stats__bindgen_ty_1__bindgen_ty_2 , UnsupportedOpcodesReceived) - 16usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_ctrl_stats__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_eth_ctrl_stats__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_ctrl_stats__bindgen_ty_1::stats"] + [::core::mem::offset_of!(ethtool_eth_ctrl_stats__bindgen_ty_1, stats) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_ctrl_stats"][::core::mem::size_of::() - 32usize]; + ["Alignment of ethtool_eth_ctrl_stats"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_ctrl_stats::src"] + [::core::mem::offset_of!(ethtool_eth_ctrl_stats, src) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_eth_mac_stats { + pub src: ethtool_mac_stats_src, + pub __bindgen_anon_1: ethtool_eth_mac_stats__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_eth_mac_stats__bindgen_ty_1 { + pub __bindgen_anon_1: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + pub stats: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 { + pub FramesTransmittedOK: u64_, + pub SingleCollisionFrames: u64_, + pub MultipleCollisionFrames: u64_, + pub FramesReceivedOK: u64_, + pub FrameCheckSequenceErrors: u64_, + pub AlignmentErrors: u64_, + pub OctetsTransmittedOK: u64_, + pub FramesWithDeferredXmissions: u64_, + pub LateCollisions: u64_, + pub FramesAbortedDueToXSColls: u64_, + pub FramesLostDueToIntMACXmitError: u64_, + pub CarrierSenseErrors: u64_, + pub OctetsReceivedOK: u64_, + pub FramesLostDueToIntMACRcvError: u64_, + pub MulticastFramesXmittedOK: u64_, + pub BroadcastFramesXmittedOK: u64_, + pub FramesWithExcessiveDeferral: u64_, + pub MulticastFramesReceivedOK: u64_, + pub BroadcastFramesReceivedOK: u64_, + pub InRangeLengthErrors: u64_, + pub OutOfRangeLengthField: u64_, + pub FrameTooLongErrors: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 176usize]; + ["Alignment of ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FramesTransmittedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + FramesTransmittedOK + ) + - 0usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::SingleCollisionFrames"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + SingleCollisionFrames + ) + - 8usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::MultipleCollisionFrames"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , MultipleCollisionFrames) - 16usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FramesReceivedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + FramesReceivedOK + ) + - 24usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FrameCheckSequenceErrors"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , FrameCheckSequenceErrors) - 32usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::AlignmentErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + AlignmentErrors + ) + - 40usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::OctetsTransmittedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + OctetsTransmittedOK + ) + - 48usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FramesWithDeferredXmissions"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , FramesWithDeferredXmissions) - 56usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::LateCollisions"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + LateCollisions + ) + - 64usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FramesAbortedDueToXSColls"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , FramesAbortedDueToXSColls) - 72usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FramesLostDueToIntMACXmitError"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , FramesLostDueToIntMACXmitError) - 80usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::CarrierSenseErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + CarrierSenseErrors + ) + - 88usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::OctetsReceivedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + OctetsReceivedOK + ) + - 96usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FramesLostDueToIntMACRcvError"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , FramesLostDueToIntMACRcvError) - 104usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::MulticastFramesXmittedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , MulticastFramesXmittedOK) - 112usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::BroadcastFramesXmittedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , BroadcastFramesXmittedOK) - 120usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FramesWithExcessiveDeferral"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , FramesWithExcessiveDeferral) - 128usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::MulticastFramesReceivedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , MulticastFramesReceivedOK) - 136usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::BroadcastFramesReceivedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1 , BroadcastFramesReceivedOK) - 144usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::InRangeLengthErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + InRangeLengthErrors + ) + - 152usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::OutOfRangeLengthField"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + OutOfRangeLengthField + ) + - 160usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1::FrameTooLongErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_1, + FrameTooLongErrors + ) + - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 { + pub FramesTransmittedOK: u64_, + pub SingleCollisionFrames: u64_, + pub MultipleCollisionFrames: u64_, + pub FramesReceivedOK: u64_, + pub FrameCheckSequenceErrors: u64_, + pub AlignmentErrors: u64_, + pub OctetsTransmittedOK: u64_, + pub FramesWithDeferredXmissions: u64_, + pub LateCollisions: u64_, + pub FramesAbortedDueToXSColls: u64_, + pub FramesLostDueToIntMACXmitError: u64_, + pub CarrierSenseErrors: u64_, + pub OctetsReceivedOK: u64_, + pub FramesLostDueToIntMACRcvError: u64_, + pub MulticastFramesXmittedOK: u64_, + pub BroadcastFramesXmittedOK: u64_, + pub FramesWithExcessiveDeferral: u64_, + pub MulticastFramesReceivedOK: u64_, + pub BroadcastFramesReceivedOK: u64_, + pub InRangeLengthErrors: u64_, + pub OutOfRangeLengthField: u64_, + pub FrameTooLongErrors: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 176usize]; + ["Alignment of ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FramesTransmittedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + FramesTransmittedOK + ) + - 0usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::SingleCollisionFrames"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + SingleCollisionFrames + ) + - 8usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::MultipleCollisionFrames"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , MultipleCollisionFrames) - 16usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FramesReceivedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + FramesReceivedOK + ) + - 24usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FrameCheckSequenceErrors"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , FrameCheckSequenceErrors) - 32usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::AlignmentErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + AlignmentErrors + ) + - 40usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::OctetsTransmittedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + OctetsTransmittedOK + ) + - 48usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FramesWithDeferredXmissions"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , FramesWithDeferredXmissions) - 56usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::LateCollisions"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + LateCollisions + ) + - 64usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FramesAbortedDueToXSColls"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , FramesAbortedDueToXSColls) - 72usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FramesLostDueToIntMACXmitError"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , FramesLostDueToIntMACXmitError) - 80usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::CarrierSenseErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + CarrierSenseErrors + ) + - 88usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::OctetsReceivedOK"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + OctetsReceivedOK + ) + - 96usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FramesLostDueToIntMACRcvError"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , FramesLostDueToIntMACRcvError) - 104usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::MulticastFramesXmittedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , MulticastFramesXmittedOK) - 112usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::BroadcastFramesXmittedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , BroadcastFramesXmittedOK) - 120usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FramesWithExcessiveDeferral"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , FramesWithExcessiveDeferral) - 128usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::MulticastFramesReceivedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , MulticastFramesReceivedOK) - 136usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::BroadcastFramesReceivedOK"] [:: core :: mem :: offset_of ! (ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2 , BroadcastFramesReceivedOK) - 144usize] ; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::InRangeLengthErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + InRangeLengthErrors + ) + - 152usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::OutOfRangeLengthField"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + OutOfRangeLengthField + ) + - 160usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2::FrameTooLongErrors"][::core::mem::offset_of!( + ethtool_eth_mac_stats__bindgen_ty_1__bindgen_ty_2, + FrameTooLongErrors + ) + - 168usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_mac_stats__bindgen_ty_1"] + [::core::mem::size_of::() - 176usize]; + ["Alignment of ethtool_eth_mac_stats__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_mac_stats__bindgen_ty_1::stats"] + [::core::mem::offset_of!(ethtool_eth_mac_stats__bindgen_ty_1, stats) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_mac_stats"][::core::mem::size_of::() - 184usize]; + ["Alignment of ethtool_eth_mac_stats"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_mac_stats::src"] + [::core::mem::offset_of!(ethtool_eth_mac_stats, src) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_eth_phy_stats { + pub src: ethtool_mac_stats_src, + pub __bindgen_anon_1: ethtool_eth_phy_stats__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_eth_phy_stats__bindgen_ty_1 { + pub __bindgen_anon_1: ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_1, + pub stats: ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_1 { + pub SymbolErrorDuringCarrier: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_1::SymbolErrorDuringCarrier"] [:: core :: mem :: offset_of ! (ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_1 , SymbolErrorDuringCarrier) - 0usize] ; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_2 { + pub SymbolErrorDuringCarrier: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_2::SymbolErrorDuringCarrier"] [:: core :: mem :: offset_of ! (ethtool_eth_phy_stats__bindgen_ty_1__bindgen_ty_2 , SymbolErrorDuringCarrier) - 0usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_phy_stats__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_eth_phy_stats__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_phy_stats__bindgen_ty_1::stats"] + [::core::mem::offset_of!(ethtool_eth_phy_stats__bindgen_ty_1, stats) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_eth_phy_stats"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_eth_phy_stats"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_eth_phy_stats::src"] + [::core::mem::offset_of!(ethtool_eth_phy_stats, src) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_fec_stat { + pub total: u64_, + pub lanes: [u64_; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_fec_stat"][::core::mem::size_of::() - 72usize]; + ["Alignment of ethtool_fec_stat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_fec_stat::total"] + [::core::mem::offset_of!(ethtool_fec_stat, total) - 0usize]; + ["Offset of field: ethtool_fec_stat::lanes"] + [::core::mem::offset_of!(ethtool_fec_stat, lanes) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_fec_stats { + pub corrected_blocks: ethtool_fec_stat, + pub uncorrectable_blocks: ethtool_fec_stat, + pub corrected_bits: ethtool_fec_stat, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_fec_stats"][::core::mem::size_of::() - 216usize]; + ["Alignment of ethtool_fec_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_fec_stats::corrected_blocks"] + [::core::mem::offset_of!(ethtool_fec_stats, corrected_blocks) - 0usize]; + ["Offset of field: ethtool_fec_stats::uncorrectable_blocks"] + [::core::mem::offset_of!(ethtool_fec_stats, uncorrectable_blocks) - 72usize]; + ["Offset of field: ethtool_fec_stats::corrected_bits"] + [::core::mem::offset_of!(ethtool_fec_stats, corrected_bits) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_fecparam { + pub cmd: __u32, + pub active_fec: __u32, + pub fec: __u32, + pub reserved: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_fecparam"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_fecparam"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_fecparam::cmd"] + [::core::mem::offset_of!(ethtool_fecparam, cmd) - 0usize]; + ["Offset of field: ethtool_fecparam::active_fec"] + [::core::mem::offset_of!(ethtool_fecparam, active_fec) - 4usize]; + ["Offset of field: ethtool_fecparam::fec"] + [::core::mem::offset_of!(ethtool_fecparam, fec) - 8usize]; + ["Offset of field: ethtool_fecparam::reserved"] + [::core::mem::offset_of!(ethtool_fecparam, reserved) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_link_ext_state_info { + pub link_ext_state: ethtool_link_ext_state, + pub __bindgen_anon_1: ethtool_link_ext_state_info__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_link_ext_state_info__bindgen_ty_1 { + pub autoneg: ethtool_link_ext_substate_autoneg, + pub link_training: ethtool_link_ext_substate_link_training, + pub link_logical_mismatch: ethtool_link_ext_substate_link_logical_mismatch, + pub bad_signal_integrity: ethtool_link_ext_substate_bad_signal_integrity, + pub cable_issue: ethtool_link_ext_substate_cable_issue, + pub module: ethtool_link_ext_substate_module, + pub __link_ext_substate: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_link_ext_state_info__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of ethtool_link_ext_state_info__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_link_ext_state_info__bindgen_ty_1::autoneg"] + [::core::mem::offset_of!(ethtool_link_ext_state_info__bindgen_ty_1, autoneg) - 0usize]; + ["Offset of field: ethtool_link_ext_state_info__bindgen_ty_1::link_training"][::core::mem::offset_of!( + ethtool_link_ext_state_info__bindgen_ty_1, + link_training + ) - 0usize]; + ["Offset of field: ethtool_link_ext_state_info__bindgen_ty_1::link_logical_mismatch"][::core::mem::offset_of!( + ethtool_link_ext_state_info__bindgen_ty_1, + link_logical_mismatch + ) + - 0usize]; + ["Offset of field: ethtool_link_ext_state_info__bindgen_ty_1::bad_signal_integrity"][::core::mem::offset_of!( + ethtool_link_ext_state_info__bindgen_ty_1, + bad_signal_integrity + ) + - 0usize]; + ["Offset of field: ethtool_link_ext_state_info__bindgen_ty_1::cable_issue"] + [::core::mem::offset_of!(ethtool_link_ext_state_info__bindgen_ty_1, cable_issue) - 0usize]; + ["Offset of field: ethtool_link_ext_state_info__bindgen_ty_1::module"] + [::core::mem::offset_of!(ethtool_link_ext_state_info__bindgen_ty_1, module) - 0usize]; + ["Offset of field: ethtool_link_ext_state_info__bindgen_ty_1::__link_ext_substate"][::core::mem::offset_of!( + ethtool_link_ext_state_info__bindgen_ty_1, + __link_ext_substate + ) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_link_ext_state_info"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_link_ext_state_info"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_link_ext_state_info::link_ext_state"] + [::core::mem::offset_of!(ethtool_link_ext_state_info, link_ext_state) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_link_ext_stats { + pub link_down_events: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_link_ext_stats"][::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_link_ext_stats"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_link_ext_stats::link_down_events"] + [::core::mem::offset_of!(ethtool_link_ext_stats, link_down_events) - 0usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_link_settings { + pub cmd: __u32, + pub speed: __u32, + pub duplex: __u8, + pub port: __u8, + pub phy_address: __u8, + pub autoneg: __u8, + pub mdio_support: __u8, + pub eth_tp_mdix: __u8, + pub eth_tp_mdix_ctrl: __u8, + pub link_mode_masks_nwords: __s8, + pub transceiver: __u8, + pub master_slave_cfg: __u8, + pub master_slave_state: __u8, + pub rate_matching: __u8, + pub reserved: [__u32; 7usize], + pub link_mode_masks: __IncompleteArrayField<__u32>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_link_settings"][::core::mem::size_of::() - 48usize]; + ["Alignment of ethtool_link_settings"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_link_settings::cmd"] + [::core::mem::offset_of!(ethtool_link_settings, cmd) - 0usize]; + ["Offset of field: ethtool_link_settings::speed"] + [::core::mem::offset_of!(ethtool_link_settings, speed) - 4usize]; + ["Offset of field: ethtool_link_settings::duplex"] + [::core::mem::offset_of!(ethtool_link_settings, duplex) - 8usize]; + ["Offset of field: ethtool_link_settings::port"] + [::core::mem::offset_of!(ethtool_link_settings, port) - 9usize]; + ["Offset of field: ethtool_link_settings::phy_address"] + [::core::mem::offset_of!(ethtool_link_settings, phy_address) - 10usize]; + ["Offset of field: ethtool_link_settings::autoneg"] + [::core::mem::offset_of!(ethtool_link_settings, autoneg) - 11usize]; + ["Offset of field: ethtool_link_settings::mdio_support"] + [::core::mem::offset_of!(ethtool_link_settings, mdio_support) - 12usize]; + ["Offset of field: ethtool_link_settings::eth_tp_mdix"] + [::core::mem::offset_of!(ethtool_link_settings, eth_tp_mdix) - 13usize]; + ["Offset of field: ethtool_link_settings::eth_tp_mdix_ctrl"] + [::core::mem::offset_of!(ethtool_link_settings, eth_tp_mdix_ctrl) - 14usize]; + ["Offset of field: ethtool_link_settings::link_mode_masks_nwords"] + [::core::mem::offset_of!(ethtool_link_settings, link_mode_masks_nwords) - 15usize]; + ["Offset of field: ethtool_link_settings::transceiver"] + [::core::mem::offset_of!(ethtool_link_settings, transceiver) - 16usize]; + ["Offset of field: ethtool_link_settings::master_slave_cfg"] + [::core::mem::offset_of!(ethtool_link_settings, master_slave_cfg) - 17usize]; + ["Offset of field: ethtool_link_settings::master_slave_state"] + [::core::mem::offset_of!(ethtool_link_settings, master_slave_state) - 18usize]; + ["Offset of field: ethtool_link_settings::rate_matching"] + [::core::mem::offset_of!(ethtool_link_settings, rate_matching) - 19usize]; + ["Offset of field: ethtool_link_settings::reserved"] + [::core::mem::offset_of!(ethtool_link_settings, reserved) - 20usize]; + ["Offset of field: ethtool_link_settings::link_mode_masks"] + [::core::mem::offset_of!(ethtool_link_settings, link_mode_masks) - 48usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_link_ksettings { + pub base: ethtool_link_settings, + pub link_modes: ethtool_link_ksettings__bindgen_ty_1, + pub lanes: u32_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_link_ksettings__bindgen_ty_1 { + pub supported: [::core::ffi::c_ulong; 2usize], + pub advertising: [::core::ffi::c_ulong; 2usize], + pub lp_advertising: [::core::ffi::c_ulong; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_link_ksettings__bindgen_ty_1"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of ethtool_link_ksettings__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_link_ksettings__bindgen_ty_1::supported"] + [::core::mem::offset_of!(ethtool_link_ksettings__bindgen_ty_1, supported) - 0usize]; + ["Offset of field: ethtool_link_ksettings__bindgen_ty_1::advertising"] + [::core::mem::offset_of!(ethtool_link_ksettings__bindgen_ty_1, advertising) - 16usize]; + ["Offset of field: ethtool_link_ksettings__bindgen_ty_1::lp_advertising"] + [::core::mem::offset_of!(ethtool_link_ksettings__bindgen_ty_1, lp_advertising) - 32usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_link_ksettings"][::core::mem::size_of::() - 104usize]; + ["Alignment of ethtool_link_ksettings"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_link_ksettings::base"] + [::core::mem::offset_of!(ethtool_link_ksettings, base) - 0usize]; + ["Offset of field: ethtool_link_ksettings::link_modes"] + [::core::mem::offset_of!(ethtool_link_ksettings, link_modes) - 48usize]; + ["Offset of field: ethtool_link_ksettings::lanes"] + [::core::mem::offset_of!(ethtool_link_ksettings, lanes) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_mm_cfg { + pub verify_time: u32_, + pub verify_enabled: bool_, + pub tx_enabled: bool_, + pub pmac_enabled: bool_, + pub tx_min_frag_size: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_mm_cfg"][::core::mem::size_of::() - 12usize]; + ["Alignment of ethtool_mm_cfg"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_mm_cfg::verify_time"] + [::core::mem::offset_of!(ethtool_mm_cfg, verify_time) - 0usize]; + ["Offset of field: ethtool_mm_cfg::verify_enabled"] + [::core::mem::offset_of!(ethtool_mm_cfg, verify_enabled) - 4usize]; + ["Offset of field: ethtool_mm_cfg::tx_enabled"] + [::core::mem::offset_of!(ethtool_mm_cfg, tx_enabled) - 5usize]; + ["Offset of field: ethtool_mm_cfg::pmac_enabled"] + [::core::mem::offset_of!(ethtool_mm_cfg, pmac_enabled) - 6usize]; + ["Offset of field: ethtool_mm_cfg::tx_min_frag_size"] + [::core::mem::offset_of!(ethtool_mm_cfg, tx_min_frag_size) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_mm_state { + pub verify_time: u32_, + pub max_verify_time: u32_, + pub verify_status: ethtool_mm_verify_status, + pub tx_enabled: bool_, + pub tx_active: bool_, + pub pmac_enabled: bool_, + pub verify_enabled: bool_, + pub tx_min_frag_size: u32_, + pub rx_min_frag_size: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_mm_state"][::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_mm_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_mm_state::verify_time"] + [::core::mem::offset_of!(ethtool_mm_state, verify_time) - 0usize]; + ["Offset of field: ethtool_mm_state::max_verify_time"] + [::core::mem::offset_of!(ethtool_mm_state, max_verify_time) - 4usize]; + ["Offset of field: ethtool_mm_state::verify_status"] + [::core::mem::offset_of!(ethtool_mm_state, verify_status) - 8usize]; + ["Offset of field: ethtool_mm_state::tx_enabled"] + [::core::mem::offset_of!(ethtool_mm_state, tx_enabled) - 12usize]; + ["Offset of field: ethtool_mm_state::tx_active"] + [::core::mem::offset_of!(ethtool_mm_state, tx_active) - 13usize]; + ["Offset of field: ethtool_mm_state::pmac_enabled"] + [::core::mem::offset_of!(ethtool_mm_state, pmac_enabled) - 14usize]; + ["Offset of field: ethtool_mm_state::verify_enabled"] + [::core::mem::offset_of!(ethtool_mm_state, verify_enabled) - 15usize]; + ["Offset of field: ethtool_mm_state::tx_min_frag_size"] + [::core::mem::offset_of!(ethtool_mm_state, tx_min_frag_size) - 16usize]; + ["Offset of field: ethtool_mm_state::rx_min_frag_size"] + [::core::mem::offset_of!(ethtool_mm_state, rx_min_frag_size) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_mm_stats { + pub MACMergeFrameAssErrorCount: u64_, + pub MACMergeFrameSmdErrorCount: u64_, + pub MACMergeFrameAssOkCount: u64_, + pub MACMergeFragCountRx: u64_, + pub MACMergeFragCountTx: u64_, + pub MACMergeHoldCount: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_mm_stats"][::core::mem::size_of::() - 48usize]; + ["Alignment of ethtool_mm_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_mm_stats::MACMergeFrameAssErrorCount"] + [::core::mem::offset_of!(ethtool_mm_stats, MACMergeFrameAssErrorCount) - 0usize]; + ["Offset of field: ethtool_mm_stats::MACMergeFrameSmdErrorCount"] + [::core::mem::offset_of!(ethtool_mm_stats, MACMergeFrameSmdErrorCount) - 8usize]; + ["Offset of field: ethtool_mm_stats::MACMergeFrameAssOkCount"] + [::core::mem::offset_of!(ethtool_mm_stats, MACMergeFrameAssOkCount) - 16usize]; + ["Offset of field: ethtool_mm_stats::MACMergeFragCountRx"] + [::core::mem::offset_of!(ethtool_mm_stats, MACMergeFragCountRx) - 24usize]; + ["Offset of field: ethtool_mm_stats::MACMergeFragCountTx"] + [::core::mem::offset_of!(ethtool_mm_stats, MACMergeFragCountTx) - 32usize]; + ["Offset of field: ethtool_mm_stats::MACMergeHoldCount"] + [::core::mem::offset_of!(ethtool_mm_stats, MACMergeHoldCount) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_modinfo { + pub cmd: __u32, + pub type_: __u32, + pub eeprom_len: __u32, + pub reserved: [__u32; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_modinfo"][::core::mem::size_of::() - 44usize]; + ["Alignment of ethtool_modinfo"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_modinfo::cmd"] + [::core::mem::offset_of!(ethtool_modinfo, cmd) - 0usize]; + ["Offset of field: ethtool_modinfo::type_"] + [::core::mem::offset_of!(ethtool_modinfo, type_) - 4usize]; + ["Offset of field: ethtool_modinfo::eeprom_len"] + [::core::mem::offset_of!(ethtool_modinfo, eeprom_len) - 8usize]; + ["Offset of field: ethtool_modinfo::reserved"] + [::core::mem::offset_of!(ethtool_modinfo, reserved) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_module_eeprom { + pub offset: u32_, + pub length: u32_, + pub page: u8_, + pub bank: u8_, + pub i2c_address: u8_, + pub data: *mut u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_module_eeprom"][::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_module_eeprom"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_module_eeprom::offset"] + [::core::mem::offset_of!(ethtool_module_eeprom, offset) - 0usize]; + ["Offset of field: ethtool_module_eeprom::length"] + [::core::mem::offset_of!(ethtool_module_eeprom, length) - 4usize]; + ["Offset of field: ethtool_module_eeprom::page"] + [::core::mem::offset_of!(ethtool_module_eeprom, page) - 8usize]; + ["Offset of field: ethtool_module_eeprom::bank"] + [::core::mem::offset_of!(ethtool_module_eeprom, bank) - 9usize]; + ["Offset of field: ethtool_module_eeprom::i2c_address"] + [::core::mem::offset_of!(ethtool_module_eeprom, i2c_address) - 10usize]; + ["Offset of field: ethtool_module_eeprom::data"] + [::core::mem::offset_of!(ethtool_module_eeprom, data) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_module_power_mode_params { + pub policy: ethtool_module_power_mode_policy, + pub mode: ethtool_module_power_mode, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_module_power_mode_params"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_module_power_mode_params"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_module_power_mode_params::policy"] + [::core::mem::offset_of!(ethtool_module_power_mode_params, policy) - 0usize]; + ["Offset of field: ethtool_module_power_mode_params::mode"] + [::core::mem::offset_of!(ethtool_module_power_mode_params, mode) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_netdev_state { + pub rss_ctx: xarray, + pub rss_lock: mutex, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_netdev_state"][::core::mem::size_of::() - 56usize]; + ["Alignment of ethtool_netdev_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_netdev_state::rss_ctx"] + [::core::mem::offset_of!(ethtool_netdev_state, rss_ctx) - 0usize]; + ["Offset of field: ethtool_netdev_state::rss_lock"] + [::core::mem::offset_of!(ethtool_netdev_state, rss_lock) - 16usize]; +}; +impl ethtool_netdev_state { + #[inline] + pub fn wol_enabled(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_wol_enabled(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wol_enabled_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_wol_enabled_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn module_fw_flash_in_progress(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_module_fw_flash_in_progress(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn module_fw_flash_in_progress_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_module_fw_flash_in_progress_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + wol_enabled: ::core::ffi::c_uint, + module_fw_flash_in_progress: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let wol_enabled: u32 = unsafe { ::core::mem::transmute(wol_enabled) }; + wol_enabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let module_fw_flash_in_progress: u32 = + unsafe { ::core::mem::transmute(module_fw_flash_in_progress) }; + module_fw_flash_in_progress as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_ops { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub rxfh_indir_space: u32_, + pub rxfh_key_space: u16_, + pub rxfh_priv_size: u16_, + pub rxfh_max_num_contexts: u32_, + pub supported_coalesce_params: u32_, + pub supported_ring_params: u32_, + pub get_drvinfo: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_drvinfo), + >, + pub get_regs_len: + ::core::option::Option ::core::ffi::c_int>, + pub get_regs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_regs, + arg3: *mut ::core::ffi::c_void, + ), + >, + pub get_wol: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_wolinfo), + >, + pub set_wol: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_wolinfo, + ) -> ::core::ffi::c_int, + >, + pub get_msglevel: ::core::option::Option u32_>, + pub set_msglevel: + ::core::option::Option, + pub nway_reset: + ::core::option::Option ::core::ffi::c_int>, + pub get_link: ::core::option::Option u32_>, + pub get_link_ext_state: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_link_ext_state_info, + ) -> ::core::ffi::c_int, + >, + pub get_link_ext_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_link_ext_stats), + >, + pub get_eeprom_len: + ::core::option::Option ::core::ffi::c_int>, + pub get_eeprom: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_eeprom, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub set_eeprom: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_eeprom, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub get_coalesce: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_coalesce, + arg3: *mut kernel_ethtool_coalesce, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub set_coalesce: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_coalesce, + arg3: *mut kernel_ethtool_coalesce, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_ringparam: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_ringparam, + arg3: *mut kernel_ethtool_ringparam, + arg4: *mut netlink_ext_ack, + ), + >, + pub set_ringparam: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_ringparam, + arg3: *mut kernel_ethtool_ringparam, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_pause_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_pause_stats), + >, + pub get_pauseparam: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_pauseparam), + >, + pub set_pauseparam: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_pauseparam, + ) -> ::core::ffi::c_int, + >, + pub self_test: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_test, arg3: *mut u64_), + >, + pub get_strings: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: u32_, arg3: *mut u8_), + >, + pub set_phys_id: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ethtool_phys_id_state, + ) -> ::core::ffi::c_int, + >, + pub get_ethtool_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_stats, arg3: *mut u64_), + >, + pub begin: + ::core::option::Option ::core::ffi::c_int>, + pub complete: ::core::option::Option, + pub get_priv_flags: ::core::option::Option u32_>, + pub set_priv_flags: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: u32_) -> ::core::ffi::c_int, + >, + pub get_sset_count: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub get_rxnfc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_rxnfc, + arg3: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub set_rxnfc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_rxnfc) -> ::core::ffi::c_int, + >, + pub flash_device: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_flash) -> ::core::ffi::c_int, + >, + pub reset: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut u32_) -> ::core::ffi::c_int, + >, + pub get_rxfh_key_size: + ::core::option::Option u32_>, + pub get_rxfh_indir_size: + ::core::option::Option u32_>, + pub get_rxfh: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_rxfh_param, + ) -> ::core::ffi::c_int, + >, + pub set_rxfh: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_rxfh_param, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub create_rxfh_context: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_rxfh_context, + arg3: *const ethtool_rxfh_param, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub modify_rxfh_context: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_rxfh_context, + arg3: *const ethtool_rxfh_param, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub remove_rxfh_context: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_rxfh_context, + arg3: u32_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_channels: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_channels), + >, + pub set_channels: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_channels, + ) -> ::core::ffi::c_int, + >, + pub get_dump_flag: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_dump) -> ::core::ffi::c_int, + >, + pub get_dump_data: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_dump, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub set_dump: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_dump) -> ::core::ffi::c_int, + >, + pub get_ts_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut kernel_ethtool_ts_info, + ) -> ::core::ffi::c_int, + >, + pub get_ts_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_ts_stats), + >, + pub get_module_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_modinfo, + ) -> ::core::ffi::c_int, + >, + pub get_module_eeprom: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_eeprom, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub get_eee: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_keee) -> ::core::ffi::c_int, + >, + pub set_eee: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_keee) -> ::core::ffi::c_int, + >, + pub get_tunable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_tunable, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub set_tunable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_tunable, + arg3: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub get_per_queue_coalesce: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: u32_, + arg3: *mut ethtool_coalesce, + ) -> ::core::ffi::c_int, + >, + pub set_per_queue_coalesce: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: u32_, + arg3: *mut ethtool_coalesce, + ) -> ::core::ffi::c_int, + >, + pub get_link_ksettings: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_link_ksettings, + ) -> ::core::ffi::c_int, + >, + pub set_link_ksettings: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_link_ksettings, + ) -> ::core::ffi::c_int, + >, + pub get_fec_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_fec_stats), + >, + pub get_fecparam: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_fecparam, + ) -> ::core::ffi::c_int, + >, + pub set_fecparam: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_fecparam, + ) -> ::core::ffi::c_int, + >, + pub get_ethtool_phy_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_stats, arg3: *mut u64_), + >, + pub get_phy_tunable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_tunable, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub set_phy_tunable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_tunable, + arg3: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub get_module_eeprom_by_page: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_module_eeprom, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub set_module_eeprom_by_page: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_module_eeprom, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_eth_phy_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_eth_phy_stats), + >, + pub get_eth_mac_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_eth_mac_stats), + >, + pub get_eth_ctrl_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_eth_ctrl_stats), + >, + pub get_rmon_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_rmon_stats, + arg3: *mut *const ethtool_rmon_hist_range, + ), + >, + pub get_module_power_mode: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_module_power_mode_params, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub set_module_power_mode: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const ethtool_module_power_mode_params, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_mm: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_mm_state, + ) -> ::core::ffi::c_int, + >, + pub set_mm: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ethtool_mm_cfg, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_mm_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ethtool_mm_stats), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ops"][::core::mem::size_of::() - 624usize]; + ["Alignment of ethtool_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_ops::rxfh_indir_space"] + [::core::mem::offset_of!(ethtool_ops, rxfh_indir_space) - 4usize]; + ["Offset of field: ethtool_ops::rxfh_key_space"] + [::core::mem::offset_of!(ethtool_ops, rxfh_key_space) - 8usize]; + ["Offset of field: ethtool_ops::rxfh_priv_size"] + [::core::mem::offset_of!(ethtool_ops, rxfh_priv_size) - 10usize]; + ["Offset of field: ethtool_ops::rxfh_max_num_contexts"] + [::core::mem::offset_of!(ethtool_ops, rxfh_max_num_contexts) - 12usize]; + ["Offset of field: ethtool_ops::supported_coalesce_params"] + [::core::mem::offset_of!(ethtool_ops, supported_coalesce_params) - 16usize]; + ["Offset of field: ethtool_ops::supported_ring_params"] + [::core::mem::offset_of!(ethtool_ops, supported_ring_params) - 20usize]; + ["Offset of field: ethtool_ops::get_drvinfo"] + [::core::mem::offset_of!(ethtool_ops, get_drvinfo) - 24usize]; + ["Offset of field: ethtool_ops::get_regs_len"] + [::core::mem::offset_of!(ethtool_ops, get_regs_len) - 32usize]; + ["Offset of field: ethtool_ops::get_regs"] + [::core::mem::offset_of!(ethtool_ops, get_regs) - 40usize]; + ["Offset of field: ethtool_ops::get_wol"] + [::core::mem::offset_of!(ethtool_ops, get_wol) - 48usize]; + ["Offset of field: ethtool_ops::set_wol"] + [::core::mem::offset_of!(ethtool_ops, set_wol) - 56usize]; + ["Offset of field: ethtool_ops::get_msglevel"] + [::core::mem::offset_of!(ethtool_ops, get_msglevel) - 64usize]; + ["Offset of field: ethtool_ops::set_msglevel"] + [::core::mem::offset_of!(ethtool_ops, set_msglevel) - 72usize]; + ["Offset of field: ethtool_ops::nway_reset"] + [::core::mem::offset_of!(ethtool_ops, nway_reset) - 80usize]; + ["Offset of field: ethtool_ops::get_link"] + [::core::mem::offset_of!(ethtool_ops, get_link) - 88usize]; + ["Offset of field: ethtool_ops::get_link_ext_state"] + [::core::mem::offset_of!(ethtool_ops, get_link_ext_state) - 96usize]; + ["Offset of field: ethtool_ops::get_link_ext_stats"] + [::core::mem::offset_of!(ethtool_ops, get_link_ext_stats) - 104usize]; + ["Offset of field: ethtool_ops::get_eeprom_len"] + [::core::mem::offset_of!(ethtool_ops, get_eeprom_len) - 112usize]; + ["Offset of field: ethtool_ops::get_eeprom"] + [::core::mem::offset_of!(ethtool_ops, get_eeprom) - 120usize]; + ["Offset of field: ethtool_ops::set_eeprom"] + [::core::mem::offset_of!(ethtool_ops, set_eeprom) - 128usize]; + ["Offset of field: ethtool_ops::get_coalesce"] + [::core::mem::offset_of!(ethtool_ops, get_coalesce) - 136usize]; + ["Offset of field: ethtool_ops::set_coalesce"] + [::core::mem::offset_of!(ethtool_ops, set_coalesce) - 144usize]; + ["Offset of field: ethtool_ops::get_ringparam"] + [::core::mem::offset_of!(ethtool_ops, get_ringparam) - 152usize]; + ["Offset of field: ethtool_ops::set_ringparam"] + [::core::mem::offset_of!(ethtool_ops, set_ringparam) - 160usize]; + ["Offset of field: ethtool_ops::get_pause_stats"] + [::core::mem::offset_of!(ethtool_ops, get_pause_stats) - 168usize]; + ["Offset of field: ethtool_ops::get_pauseparam"] + [::core::mem::offset_of!(ethtool_ops, get_pauseparam) - 176usize]; + ["Offset of field: ethtool_ops::set_pauseparam"] + [::core::mem::offset_of!(ethtool_ops, set_pauseparam) - 184usize]; + ["Offset of field: ethtool_ops::self_test"] + [::core::mem::offset_of!(ethtool_ops, self_test) - 192usize]; + ["Offset of field: ethtool_ops::get_strings"] + [::core::mem::offset_of!(ethtool_ops, get_strings) - 200usize]; + ["Offset of field: ethtool_ops::set_phys_id"] + [::core::mem::offset_of!(ethtool_ops, set_phys_id) - 208usize]; + ["Offset of field: ethtool_ops::get_ethtool_stats"] + [::core::mem::offset_of!(ethtool_ops, get_ethtool_stats) - 216usize]; + ["Offset of field: ethtool_ops::begin"][::core::mem::offset_of!(ethtool_ops, begin) - 224usize]; + ["Offset of field: ethtool_ops::complete"] + [::core::mem::offset_of!(ethtool_ops, complete) - 232usize]; + ["Offset of field: ethtool_ops::get_priv_flags"] + [::core::mem::offset_of!(ethtool_ops, get_priv_flags) - 240usize]; + ["Offset of field: ethtool_ops::set_priv_flags"] + [::core::mem::offset_of!(ethtool_ops, set_priv_flags) - 248usize]; + ["Offset of field: ethtool_ops::get_sset_count"] + [::core::mem::offset_of!(ethtool_ops, get_sset_count) - 256usize]; + ["Offset of field: ethtool_ops::get_rxnfc"] + [::core::mem::offset_of!(ethtool_ops, get_rxnfc) - 264usize]; + ["Offset of field: ethtool_ops::set_rxnfc"] + [::core::mem::offset_of!(ethtool_ops, set_rxnfc) - 272usize]; + ["Offset of field: ethtool_ops::flash_device"] + [::core::mem::offset_of!(ethtool_ops, flash_device) - 280usize]; + ["Offset of field: ethtool_ops::reset"][::core::mem::offset_of!(ethtool_ops, reset) - 288usize]; + ["Offset of field: ethtool_ops::get_rxfh_key_size"] + [::core::mem::offset_of!(ethtool_ops, get_rxfh_key_size) - 296usize]; + ["Offset of field: ethtool_ops::get_rxfh_indir_size"] + [::core::mem::offset_of!(ethtool_ops, get_rxfh_indir_size) - 304usize]; + ["Offset of field: ethtool_ops::get_rxfh"] + [::core::mem::offset_of!(ethtool_ops, get_rxfh) - 312usize]; + ["Offset of field: ethtool_ops::set_rxfh"] + [::core::mem::offset_of!(ethtool_ops, set_rxfh) - 320usize]; + ["Offset of field: ethtool_ops::create_rxfh_context"] + [::core::mem::offset_of!(ethtool_ops, create_rxfh_context) - 328usize]; + ["Offset of field: ethtool_ops::modify_rxfh_context"] + [::core::mem::offset_of!(ethtool_ops, modify_rxfh_context) - 336usize]; + ["Offset of field: ethtool_ops::remove_rxfh_context"] + [::core::mem::offset_of!(ethtool_ops, remove_rxfh_context) - 344usize]; + ["Offset of field: ethtool_ops::get_channels"] + [::core::mem::offset_of!(ethtool_ops, get_channels) - 352usize]; + ["Offset of field: ethtool_ops::set_channels"] + [::core::mem::offset_of!(ethtool_ops, set_channels) - 360usize]; + ["Offset of field: ethtool_ops::get_dump_flag"] + [::core::mem::offset_of!(ethtool_ops, get_dump_flag) - 368usize]; + ["Offset of field: ethtool_ops::get_dump_data"] + [::core::mem::offset_of!(ethtool_ops, get_dump_data) - 376usize]; + ["Offset of field: ethtool_ops::set_dump"] + [::core::mem::offset_of!(ethtool_ops, set_dump) - 384usize]; + ["Offset of field: ethtool_ops::get_ts_info"] + [::core::mem::offset_of!(ethtool_ops, get_ts_info) - 392usize]; + ["Offset of field: ethtool_ops::get_ts_stats"] + [::core::mem::offset_of!(ethtool_ops, get_ts_stats) - 400usize]; + ["Offset of field: ethtool_ops::get_module_info"] + [::core::mem::offset_of!(ethtool_ops, get_module_info) - 408usize]; + ["Offset of field: ethtool_ops::get_module_eeprom"] + [::core::mem::offset_of!(ethtool_ops, get_module_eeprom) - 416usize]; + ["Offset of field: ethtool_ops::get_eee"] + [::core::mem::offset_of!(ethtool_ops, get_eee) - 424usize]; + ["Offset of field: ethtool_ops::set_eee"] + [::core::mem::offset_of!(ethtool_ops, set_eee) - 432usize]; + ["Offset of field: ethtool_ops::get_tunable"] + [::core::mem::offset_of!(ethtool_ops, get_tunable) - 440usize]; + ["Offset of field: ethtool_ops::set_tunable"] + [::core::mem::offset_of!(ethtool_ops, set_tunable) - 448usize]; + ["Offset of field: ethtool_ops::get_per_queue_coalesce"] + [::core::mem::offset_of!(ethtool_ops, get_per_queue_coalesce) - 456usize]; + ["Offset of field: ethtool_ops::set_per_queue_coalesce"] + [::core::mem::offset_of!(ethtool_ops, set_per_queue_coalesce) - 464usize]; + ["Offset of field: ethtool_ops::get_link_ksettings"] + [::core::mem::offset_of!(ethtool_ops, get_link_ksettings) - 472usize]; + ["Offset of field: ethtool_ops::set_link_ksettings"] + [::core::mem::offset_of!(ethtool_ops, set_link_ksettings) - 480usize]; + ["Offset of field: ethtool_ops::get_fec_stats"] + [::core::mem::offset_of!(ethtool_ops, get_fec_stats) - 488usize]; + ["Offset of field: ethtool_ops::get_fecparam"] + [::core::mem::offset_of!(ethtool_ops, get_fecparam) - 496usize]; + ["Offset of field: ethtool_ops::set_fecparam"] + [::core::mem::offset_of!(ethtool_ops, set_fecparam) - 504usize]; + ["Offset of field: ethtool_ops::get_ethtool_phy_stats"] + [::core::mem::offset_of!(ethtool_ops, get_ethtool_phy_stats) - 512usize]; + ["Offset of field: ethtool_ops::get_phy_tunable"] + [::core::mem::offset_of!(ethtool_ops, get_phy_tunable) - 520usize]; + ["Offset of field: ethtool_ops::set_phy_tunable"] + [::core::mem::offset_of!(ethtool_ops, set_phy_tunable) - 528usize]; + ["Offset of field: ethtool_ops::get_module_eeprom_by_page"] + [::core::mem::offset_of!(ethtool_ops, get_module_eeprom_by_page) - 536usize]; + ["Offset of field: ethtool_ops::set_module_eeprom_by_page"] + [::core::mem::offset_of!(ethtool_ops, set_module_eeprom_by_page) - 544usize]; + ["Offset of field: ethtool_ops::get_eth_phy_stats"] + [::core::mem::offset_of!(ethtool_ops, get_eth_phy_stats) - 552usize]; + ["Offset of field: ethtool_ops::get_eth_mac_stats"] + [::core::mem::offset_of!(ethtool_ops, get_eth_mac_stats) - 560usize]; + ["Offset of field: ethtool_ops::get_eth_ctrl_stats"] + [::core::mem::offset_of!(ethtool_ops, get_eth_ctrl_stats) - 568usize]; + ["Offset of field: ethtool_ops::get_rmon_stats"] + [::core::mem::offset_of!(ethtool_ops, get_rmon_stats) - 576usize]; + ["Offset of field: ethtool_ops::get_module_power_mode"] + [::core::mem::offset_of!(ethtool_ops, get_module_power_mode) - 584usize]; + ["Offset of field: ethtool_ops::set_module_power_mode"] + [::core::mem::offset_of!(ethtool_ops, set_module_power_mode) - 592usize]; + ["Offset of field: ethtool_ops::get_mm"] + [::core::mem::offset_of!(ethtool_ops, get_mm) - 600usize]; + ["Offset of field: ethtool_ops::set_mm"] + [::core::mem::offset_of!(ethtool_ops, set_mm) - 608usize]; + ["Offset of field: ethtool_ops::get_mm_stats"] + [::core::mem::offset_of!(ethtool_ops, get_mm_stats) - 616usize]; +}; +impl ethtool_ops { + #[inline] + pub fn cap_link_lanes_supported(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_cap_link_lanes_supported(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_link_lanes_supported_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cap_link_lanes_supported_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_rss_ctx_supported(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_cap_rss_ctx_supported(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_rss_ctx_supported_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cap_rss_ctx_supported_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_rss_sym_xor_supported(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_cap_rss_sym_xor_supported(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_rss_sym_xor_supported_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cap_rss_sym_xor_supported_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn rxfh_per_ctx_key(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_rxfh_per_ctx_key(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn rxfh_per_ctx_key_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_rxfh_per_ctx_key_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_rss_rxnfc_adds(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_cap_rss_rxnfc_adds(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_rss_rxnfc_adds_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cap_rss_rxnfc_adds_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + cap_link_lanes_supported: u32_, + cap_rss_ctx_supported: u32_, + cap_rss_sym_xor_supported: u32_, + rxfh_per_ctx_key: u32_, + cap_rss_rxnfc_adds: u32_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let cap_link_lanes_supported: u32 = + unsafe { ::core::mem::transmute(cap_link_lanes_supported) }; + cap_link_lanes_supported as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let cap_rss_ctx_supported: u32 = + unsafe { ::core::mem::transmute(cap_rss_ctx_supported) }; + cap_rss_ctx_supported as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let cap_rss_sym_xor_supported: u32 = + unsafe { ::core::mem::transmute(cap_rss_sym_xor_supported) }; + cap_rss_sym_xor_supported as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let rxfh_per_ctx_key: u32 = unsafe { ::core::mem::transmute(rxfh_per_ctx_key) }; + rxfh_per_ctx_key as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let cap_rss_rxnfc_adds: u32 = unsafe { ::core::mem::transmute(cap_rss_rxnfc_adds) }; + cap_rss_rxnfc_adds as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_pause_stats { + pub src: ethtool_mac_stats_src, + pub __bindgen_anon_1: ethtool_pause_stats__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_pause_stats__bindgen_ty_1 { + pub __bindgen_anon_1: ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1, + pub stats: ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1 { + pub tx_pause_frames: u64_, + pub rx_pause_frames: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1::tx_pause_frames"][::core::mem::offset_of!( + ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1, + tx_pause_frames + ) + - 0usize]; + ["Offset of field: ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1::rx_pause_frames"][::core::mem::offset_of!( + ethtool_pause_stats__bindgen_ty_1__bindgen_ty_1, + rx_pause_frames + ) + - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2 { + pub tx_pause_frames: u64_, + pub rx_pause_frames: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2::tx_pause_frames"][::core::mem::offset_of!( + ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2, + tx_pause_frames + ) + - 0usize]; + ["Offset of field: ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2::rx_pause_frames"][::core::mem::offset_of!( + ethtool_pause_stats__bindgen_ty_1__bindgen_ty_2, + rx_pause_frames + ) + - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_pause_stats__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_pause_stats__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_pause_stats__bindgen_ty_1::stats"] + [::core::mem::offset_of!(ethtool_pause_stats__bindgen_ty_1, stats) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_pause_stats"][::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_pause_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_pause_stats::src"] + [::core::mem::offset_of!(ethtool_pause_stats, src) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_pauseparam { + pub cmd: __u32, + pub autoneg: __u32, + pub rx_pause: __u32, + pub tx_pause: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_pauseparam"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_pauseparam"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_pauseparam::cmd"] + [::core::mem::offset_of!(ethtool_pauseparam, cmd) - 0usize]; + ["Offset of field: ethtool_pauseparam::autoneg"] + [::core::mem::offset_of!(ethtool_pauseparam, autoneg) - 4usize]; + ["Offset of field: ethtool_pauseparam::rx_pause"] + [::core::mem::offset_of!(ethtool_pauseparam, rx_pause) - 8usize]; + ["Offset of field: ethtool_pauseparam::tx_pause"] + [::core::mem::offset_of!(ethtool_pauseparam, tx_pause) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_phy_stats { + pub rx_packets: u64_, + pub rx_bytes: u64_, + pub rx_errors: u64_, + pub tx_packets: u64_, + pub tx_bytes: u64_, + pub tx_errors: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_phy_stats"][::core::mem::size_of::() - 48usize]; + ["Alignment of ethtool_phy_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_phy_stats::rx_packets"] + [::core::mem::offset_of!(ethtool_phy_stats, rx_packets) - 0usize]; + ["Offset of field: ethtool_phy_stats::rx_bytes"] + [::core::mem::offset_of!(ethtool_phy_stats, rx_bytes) - 8usize]; + ["Offset of field: ethtool_phy_stats::rx_errors"] + [::core::mem::offset_of!(ethtool_phy_stats, rx_errors) - 16usize]; + ["Offset of field: ethtool_phy_stats::tx_packets"] + [::core::mem::offset_of!(ethtool_phy_stats, tx_packets) - 24usize]; + ["Offset of field: ethtool_phy_stats::tx_bytes"] + [::core::mem::offset_of!(ethtool_phy_stats, tx_bytes) - 32usize]; + ["Offset of field: ethtool_phy_stats::tx_errors"] + [::core::mem::offset_of!(ethtool_phy_stats, tx_errors) - 40usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_regs { + pub cmd: __u32, + pub version: __u32, + pub len: __u32, + pub data: __IncompleteArrayField<__u8>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_regs"][::core::mem::size_of::() - 12usize]; + ["Alignment of ethtool_regs"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_regs::cmd"][::core::mem::offset_of!(ethtool_regs, cmd) - 0usize]; + ["Offset of field: ethtool_regs::version"] + [::core::mem::offset_of!(ethtool_regs, version) - 4usize]; + ["Offset of field: ethtool_regs::len"][::core::mem::offset_of!(ethtool_regs, len) - 8usize]; + ["Offset of field: ethtool_regs::data"][::core::mem::offset_of!(ethtool_regs, data) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_ringparam { + pub cmd: __u32, + pub rx_max_pending: __u32, + pub rx_mini_max_pending: __u32, + pub rx_jumbo_max_pending: __u32, + pub tx_max_pending: __u32, + pub rx_pending: __u32, + pub rx_mini_pending: __u32, + pub rx_jumbo_pending: __u32, + pub tx_pending: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ringparam"][::core::mem::size_of::() - 36usize]; + ["Alignment of ethtool_ringparam"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_ringparam::cmd"] + [::core::mem::offset_of!(ethtool_ringparam, cmd) - 0usize]; + ["Offset of field: ethtool_ringparam::rx_max_pending"] + [::core::mem::offset_of!(ethtool_ringparam, rx_max_pending) - 4usize]; + ["Offset of field: ethtool_ringparam::rx_mini_max_pending"] + [::core::mem::offset_of!(ethtool_ringparam, rx_mini_max_pending) - 8usize]; + ["Offset of field: ethtool_ringparam::rx_jumbo_max_pending"] + [::core::mem::offset_of!(ethtool_ringparam, rx_jumbo_max_pending) - 12usize]; + ["Offset of field: ethtool_ringparam::tx_max_pending"] + [::core::mem::offset_of!(ethtool_ringparam, tx_max_pending) - 16usize]; + ["Offset of field: ethtool_ringparam::rx_pending"] + [::core::mem::offset_of!(ethtool_ringparam, rx_pending) - 20usize]; + ["Offset of field: ethtool_ringparam::rx_mini_pending"] + [::core::mem::offset_of!(ethtool_ringparam, rx_mini_pending) - 24usize]; + ["Offset of field: ethtool_ringparam::rx_jumbo_pending"] + [::core::mem::offset_of!(ethtool_ringparam, rx_jumbo_pending) - 28usize]; + ["Offset of field: ethtool_ringparam::tx_pending"] + [::core::mem::offset_of!(ethtool_ringparam, tx_pending) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_rmon_hist_range { + pub low: u16_, + pub high: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rmon_hist_range"][::core::mem::size_of::() - 4usize]; + ["Alignment of ethtool_rmon_hist_range"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: ethtool_rmon_hist_range::low"] + [::core::mem::offset_of!(ethtool_rmon_hist_range, low) - 0usize]; + ["Offset of field: ethtool_rmon_hist_range::high"] + [::core::mem::offset_of!(ethtool_rmon_hist_range, high) - 2usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_rmon_stats { + pub src: ethtool_mac_stats_src, + pub __bindgen_anon_1: ethtool_rmon_stats__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_rmon_stats__bindgen_ty_1 { + pub __bindgen_anon_1: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1, + pub stats: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1 { + pub undersize_pkts: u64_, + pub oversize_pkts: u64_, + pub fragments: u64_, + pub jabbers: u64_, + pub hist: [u64_; 10usize], + pub hist_tx: [u64_; 10usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 192usize]; + ["Alignment of ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1::undersize_pkts"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1, + undersize_pkts + ) - 0usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1::oversize_pkts"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1, + oversize_pkts + ) - 8usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1::fragments"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1, + fragments + ) - 16usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1::jabbers"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1, + jabbers + ) - 24usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1::hist"] + [::core::mem::offset_of!(ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1, hist) - 32usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1::hist_tx"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_1, + hist_tx + ) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2 { + pub undersize_pkts: u64_, + pub oversize_pkts: u64_, + pub fragments: u64_, + pub jabbers: u64_, + pub hist: [u64_; 10usize], + pub hist_tx: [u64_; 10usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 192usize]; + ["Alignment of ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2::undersize_pkts"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2, + undersize_pkts + ) - 0usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2::oversize_pkts"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2, + oversize_pkts + ) - 8usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2::fragments"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2, + fragments + ) - 16usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2::jabbers"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2, + jabbers + ) - 24usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2::hist"] + [::core::mem::offset_of!(ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2, hist) - 32usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2::hist_tx"][::core::mem::offset_of!( + ethtool_rmon_stats__bindgen_ty_1__bindgen_ty_2, + hist_tx + ) - 112usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rmon_stats__bindgen_ty_1"] + [::core::mem::size_of::() - 192usize]; + ["Alignment of ethtool_rmon_stats__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_rmon_stats__bindgen_ty_1::stats"] + [::core::mem::offset_of!(ethtool_rmon_stats__bindgen_ty_1, stats) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rmon_stats"][::core::mem::size_of::() - 200usize]; + ["Alignment of ethtool_rmon_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_rmon_stats::src"] + [::core::mem::offset_of!(ethtool_rmon_stats, src) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_dissector { + pub used_keys: ::core::ffi::c_ulonglong, + pub offset: [::core::ffi::c_ushort; 33usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_dissector"][::core::mem::size_of::() - 80usize]; + ["Alignment of flow_dissector"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_dissector::used_keys"] + [::core::mem::offset_of!(flow_dissector, used_keys) - 0usize]; + ["Offset of field: flow_dissector::offset"] + [::core::mem::offset_of!(flow_dissector, offset) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_rx_flow_spec { + pub flow_type: __u32, + pub h_u: ethtool_flow_union, + pub h_ext: ethtool_flow_ext, + pub m_u: ethtool_flow_union, + pub m_ext: ethtool_flow_ext, + pub ring_cookie: __u64, + pub location: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rx_flow_spec"][::core::mem::size_of::() - 168usize]; + ["Alignment of ethtool_rx_flow_spec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_rx_flow_spec::flow_type"] + [::core::mem::offset_of!(ethtool_rx_flow_spec, flow_type) - 0usize]; + ["Offset of field: ethtool_rx_flow_spec::h_u"] + [::core::mem::offset_of!(ethtool_rx_flow_spec, h_u) - 4usize]; + ["Offset of field: ethtool_rx_flow_spec::h_ext"] + [::core::mem::offset_of!(ethtool_rx_flow_spec, h_ext) - 56usize]; + ["Offset of field: ethtool_rx_flow_spec::m_u"] + [::core::mem::offset_of!(ethtool_rx_flow_spec, m_u) - 76usize]; + ["Offset of field: ethtool_rx_flow_spec::m_ext"] + [::core::mem::offset_of!(ethtool_rx_flow_spec, m_ext) - 128usize]; + ["Offset of field: ethtool_rx_flow_spec::ring_cookie"] + [::core::mem::offset_of!(ethtool_rx_flow_spec, ring_cookie) - 152usize]; + ["Offset of field: ethtool_rx_flow_spec::location"] + [::core::mem::offset_of!(ethtool_rx_flow_spec, location) - 160usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_rxfh_context { + pub indir_size: u32_, + pub key_size: u32_, + pub priv_size: u16_, + pub hfunc: u8_, + pub input_xfrm: u8_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub key_off: u32_, + pub __bindgen_padding_0: [u8; 4usize], + pub data: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rxfh_context"][::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_rxfh_context"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_rxfh_context::indir_size"] + [::core::mem::offset_of!(ethtool_rxfh_context, indir_size) - 0usize]; + ["Offset of field: ethtool_rxfh_context::key_size"] + [::core::mem::offset_of!(ethtool_rxfh_context, key_size) - 4usize]; + ["Offset of field: ethtool_rxfh_context::priv_size"] + [::core::mem::offset_of!(ethtool_rxfh_context, priv_size) - 8usize]; + ["Offset of field: ethtool_rxfh_context::hfunc"] + [::core::mem::offset_of!(ethtool_rxfh_context, hfunc) - 10usize]; + ["Offset of field: ethtool_rxfh_context::input_xfrm"] + [::core::mem::offset_of!(ethtool_rxfh_context, input_xfrm) - 11usize]; + ["Offset of field: ethtool_rxfh_context::key_off"] + [::core::mem::offset_of!(ethtool_rxfh_context, key_off) - 16usize]; + ["Offset of field: ethtool_rxfh_context::data"] + [::core::mem::offset_of!(ethtool_rxfh_context, data) - 24usize]; +}; +impl ethtool_rxfh_context { + #[inline] + pub fn indir_configured(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_indir_configured(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn indir_configured_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_indir_configured_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn key_configured(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_key_configured(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn key_configured_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_key_configured_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + indir_configured: u8_, + key_configured: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let indir_configured: u8 = unsafe { ::core::mem::transmute(indir_configured) }; + indir_configured as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let key_configured: u8 = unsafe { ::core::mem::transmute(key_configured) }; + key_configured as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_rxfh_param { + pub hfunc: u8_, + pub indir_size: u32_, + pub indir: *mut u32_, + pub key_size: u32_, + pub key: *mut u8_, + pub rss_context: u32_, + pub rss_delete: u8_, + pub input_xfrm: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rxfh_param"][::core::mem::size_of::() - 40usize]; + ["Alignment of ethtool_rxfh_param"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_rxfh_param::hfunc"] + [::core::mem::offset_of!(ethtool_rxfh_param, hfunc) - 0usize]; + ["Offset of field: ethtool_rxfh_param::indir_size"] + [::core::mem::offset_of!(ethtool_rxfh_param, indir_size) - 4usize]; + ["Offset of field: ethtool_rxfh_param::indir"] + [::core::mem::offset_of!(ethtool_rxfh_param, indir) - 8usize]; + ["Offset of field: ethtool_rxfh_param::key_size"] + [::core::mem::offset_of!(ethtool_rxfh_param, key_size) - 16usize]; + ["Offset of field: ethtool_rxfh_param::key"] + [::core::mem::offset_of!(ethtool_rxfh_param, key) - 24usize]; + ["Offset of field: ethtool_rxfh_param::rss_context"] + [::core::mem::offset_of!(ethtool_rxfh_param, rss_context) - 32usize]; + ["Offset of field: ethtool_rxfh_param::rss_delete"] + [::core::mem::offset_of!(ethtool_rxfh_param, rss_delete) - 36usize]; + ["Offset of field: ethtool_rxfh_param::input_xfrm"] + [::core::mem::offset_of!(ethtool_rxfh_param, input_xfrm) - 37usize]; +}; +#[repr(C)] +pub struct ethtool_rxnfc { + pub cmd: __u32, + pub flow_type: __u32, + pub data: __u64, + pub fs: ethtool_rx_flow_spec, + pub __bindgen_anon_1: ethtool_rxnfc__bindgen_ty_1, + pub rule_locs: __IncompleteArrayField<__u32>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_rxnfc__bindgen_ty_1 { + pub rule_cnt: __u32, + pub rss_context: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rxnfc__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of ethtool_rxnfc__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_rxnfc__bindgen_ty_1::rule_cnt"] + [::core::mem::offset_of!(ethtool_rxnfc__bindgen_ty_1, rule_cnt) - 0usize]; + ["Offset of field: ethtool_rxnfc__bindgen_ty_1::rss_context"] + [::core::mem::offset_of!(ethtool_rxnfc__bindgen_ty_1, rss_context) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_rxnfc"][::core::mem::size_of::() - 192usize]; + ["Alignment of ethtool_rxnfc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_rxnfc::cmd"][::core::mem::offset_of!(ethtool_rxnfc, cmd) - 0usize]; + ["Offset of field: ethtool_rxnfc::flow_type"] + [::core::mem::offset_of!(ethtool_rxnfc, flow_type) - 4usize]; + ["Offset of field: ethtool_rxnfc::data"][::core::mem::offset_of!(ethtool_rxnfc, data) - 8usize]; + ["Offset of field: ethtool_rxnfc::fs"][::core::mem::offset_of!(ethtool_rxnfc, fs) - 16usize]; + ["Offset of field: ethtool_rxnfc::rule_locs"] + [::core::mem::offset_of!(ethtool_rxnfc, rule_locs) - 188usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_stats { + pub cmd: __u32, + pub n_stats: __u32, + pub data: __IncompleteArrayField<__u64>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_stats"][::core::mem::size_of::() - 8usize]; + ["Alignment of ethtool_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_stats::cmd"][::core::mem::offset_of!(ethtool_stats, cmd) - 0usize]; + ["Offset of field: ethtool_stats::n_stats"] + [::core::mem::offset_of!(ethtool_stats, n_stats) - 4usize]; + ["Offset of field: ethtool_stats::data"][::core::mem::offset_of!(ethtool_stats, data) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_test { + pub cmd: __u32, + pub flags: __u32, + pub reserved: __u32, + pub len: __u32, + pub data: __IncompleteArrayField<__u64>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_test"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_test"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_test::cmd"][::core::mem::offset_of!(ethtool_test, cmd) - 0usize]; + ["Offset of field: ethtool_test::flags"][::core::mem::offset_of!(ethtool_test, flags) - 4usize]; + ["Offset of field: ethtool_test::reserved"] + [::core::mem::offset_of!(ethtool_test, reserved) - 8usize]; + ["Offset of field: ethtool_test::len"][::core::mem::offset_of!(ethtool_test, len) - 12usize]; + ["Offset of field: ethtool_test::data"][::core::mem::offset_of!(ethtool_test, data) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ethtool_ts_stats { + pub __bindgen_anon_1: ethtool_ts_stats__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ethtool_ts_stats__bindgen_ty_1 { + pub __bindgen_anon_1: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1, + pub tx_stats: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1 { + pub pkts: u64_, + pub lost: u64_, + pub err: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1::pkts"] + [::core::mem::offset_of!(ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1, pkts) - 0usize]; + ["Offset of field: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1::lost"] + [::core::mem::offset_of!(ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1, lost) - 8usize]; + ["Offset of field: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1::err"] + [::core::mem::offset_of!(ethtool_ts_stats__bindgen_ty_1__bindgen_ty_1, err) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2 { + pub pkts: u64_, + pub lost: u64_, + pub err: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2::pkts"] + [::core::mem::offset_of!(ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2, pkts) - 0usize]; + ["Offset of field: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2::lost"] + [::core::mem::offset_of!(ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2, lost) - 8usize]; + ["Offset of field: ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2::err"] + [::core::mem::offset_of!(ethtool_ts_stats__bindgen_ty_1__bindgen_ty_2, err) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ts_stats__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_ts_stats__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_ts_stats__bindgen_ty_1::tx_stats"] + [::core::mem::offset_of!(ethtool_ts_stats__bindgen_ty_1, tx_stats) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_ts_stats"][::core::mem::size_of::() - 24usize]; + ["Alignment of ethtool_ts_stats"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ethtool_tunable { + pub cmd: __u32, + pub id: __u32, + pub type_id: __u32, + pub len: __u32, + pub data: __IncompleteArrayField<*mut ::core::ffi::c_void>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_tunable"][::core::mem::size_of::() - 16usize]; + ["Alignment of ethtool_tunable"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ethtool_tunable::cmd"] + [::core::mem::offset_of!(ethtool_tunable, cmd) - 0usize]; + ["Offset of field: ethtool_tunable::id"][::core::mem::offset_of!(ethtool_tunable, id) - 4usize]; + ["Offset of field: ethtool_tunable::type_id"] + [::core::mem::offset_of!(ethtool_tunable, type_id) - 8usize]; + ["Offset of field: ethtool_tunable::len"] + [::core::mem::offset_of!(ethtool_tunable, len) - 12usize]; + ["Offset of field: ethtool_tunable::data"] + [::core::mem::offset_of!(ethtool_tunable, data) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ethtool_wolinfo { + pub cmd: __u32, + pub supported: __u32, + pub wolopts: __u32, + pub sopass: [__u8; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ethtool_wolinfo"][::core::mem::size_of::() - 20usize]; + ["Alignment of ethtool_wolinfo"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ethtool_wolinfo::cmd"] + [::core::mem::offset_of!(ethtool_wolinfo, cmd) - 0usize]; + ["Offset of field: ethtool_wolinfo::supported"] + [::core::mem::offset_of!(ethtool_wolinfo, supported) - 4usize]; + ["Offset of field: ethtool_wolinfo::wolopts"] + [::core::mem::offset_of!(ethtool_wolinfo, wolopts) - 8usize]; + ["Offset of field: ethtool_wolinfo::sopass"] + [::core::mem::offset_of!(ethtool_wolinfo, sopass) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct event_filter { + pub prog: *mut prog_entry, + pub filter_string: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of event_filter"][::core::mem::size_of::() - 16usize]; + ["Alignment of event_filter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: event_filter::prog"][::core::mem::offset_of!(event_filter, prog) - 0usize]; + ["Offset of field: event_filter::filter_string"] + [::core::mem::offset_of!(event_filter, filter_string) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct event_subsystem { + pub list: list_head, + pub name: *const ::core::ffi::c_char, + pub filter: *mut event_filter, + pub ref_count: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of event_subsystem"][::core::mem::size_of::() - 40usize]; + ["Alignment of event_subsystem"][::core::mem::align_of::() - 8usize]; + ["Offset of field: event_subsystem::list"] + [::core::mem::offset_of!(event_subsystem, list) - 0usize]; + ["Offset of field: event_subsystem::name"] + [::core::mem::offset_of!(event_subsystem, name) - 16usize]; + ["Offset of field: event_subsystem::filter"] + [::core::mem::offset_of!(event_subsystem, filter) - 24usize]; + ["Offset of field: event_subsystem::ref_count"] + [::core::mem::offset_of!(event_subsystem, ref_count) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct eventfd_ctx { + pub kref: kref, + pub wqh: wait_queue_head_t, + pub count: __u64, + pub flags: ::core::ffi::c_uint, + pub id: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of eventfd_ctx"][::core::mem::size_of::() - 48usize]; + ["Alignment of eventfd_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: eventfd_ctx::kref"][::core::mem::offset_of!(eventfd_ctx, kref) - 0usize]; + ["Offset of field: eventfd_ctx::wqh"][::core::mem::offset_of!(eventfd_ctx, wqh) - 8usize]; + ["Offset of field: eventfd_ctx::count"][::core::mem::offset_of!(eventfd_ctx, count) - 32usize]; + ["Offset of field: eventfd_ctx::flags"][::core::mem::offset_of!(eventfd_ctx, flags) - 40usize]; + ["Offset of field: eventfd_ctx::id"][::core::mem::offset_of!(eventfd_ctx, id) - 44usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct eventfs_attr { + pub mode: ::core::ffi::c_int, + pub uid: kuid_t, + pub gid: kgid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of eventfs_attr"][::core::mem::size_of::() - 12usize]; + ["Alignment of eventfs_attr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: eventfs_attr::mode"][::core::mem::offset_of!(eventfs_attr, mode) - 0usize]; + ["Offset of field: eventfs_attr::uid"][::core::mem::offset_of!(eventfs_attr, uid) - 4usize]; + ["Offset of field: eventfs_attr::gid"][::core::mem::offset_of!(eventfs_attr, gid) - 8usize]; +}; +pub type eventfs_callback = ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_char, + arg2: *mut umode_t, + arg3: *mut *mut ::core::ffi::c_void, + arg4: *mut *const file_operations, + ) -> ::core::ffi::c_int, +>; +pub type eventfs_release = ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_char, arg2: *mut ::core::ffi::c_void), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct eventfs_entry { + pub name: *const ::core::ffi::c_char, + pub callback: eventfs_callback, + pub release: eventfs_release, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of eventfs_entry"][::core::mem::size_of::() - 24usize]; + ["Alignment of eventfs_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: eventfs_entry::name"][::core::mem::offset_of!(eventfs_entry, name) - 0usize]; + ["Offset of field: eventfs_entry::callback"] + [::core::mem::offset_of!(eventfs_entry, callback) - 8usize]; + ["Offset of field: eventfs_entry::release"] + [::core::mem::offset_of!(eventfs_entry, release) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct eventfs_inode { + pub __bindgen_anon_1: eventfs_inode__bindgen_ty_1, + pub children: list_head, + pub entries: *const eventfs_entry, + pub name: *const ::core::ffi::c_char, + pub entry_attrs: *mut eventfs_attr, + pub data: *mut ::core::ffi::c_void, + pub attr: eventfs_attr, + pub kref: kref, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub ino: ::core::ffi::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union eventfs_inode__bindgen_ty_1 { + pub list: list_head, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of eventfs_inode__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of eventfs_inode__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: eventfs_inode__bindgen_ty_1::list"] + [::core::mem::offset_of!(eventfs_inode__bindgen_ty_1, list) - 0usize]; + ["Offset of field: eventfs_inode__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(eventfs_inode__bindgen_ty_1, rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of eventfs_inode"][::core::mem::size_of::() - 88usize]; + ["Alignment of eventfs_inode"][::core::mem::align_of::() - 8usize]; + ["Offset of field: eventfs_inode::children"] + [::core::mem::offset_of!(eventfs_inode, children) - 16usize]; + ["Offset of field: eventfs_inode::entries"] + [::core::mem::offset_of!(eventfs_inode, entries) - 32usize]; + ["Offset of field: eventfs_inode::name"] + [::core::mem::offset_of!(eventfs_inode, name) - 40usize]; + ["Offset of field: eventfs_inode::entry_attrs"] + [::core::mem::offset_of!(eventfs_inode, entry_attrs) - 48usize]; + ["Offset of field: eventfs_inode::data"] + [::core::mem::offset_of!(eventfs_inode, data) - 56usize]; + ["Offset of field: eventfs_inode::attr"] + [::core::mem::offset_of!(eventfs_inode, attr) - 64usize]; + ["Offset of field: eventfs_inode::kref"] + [::core::mem::offset_of!(eventfs_inode, kref) - 76usize]; + ["Offset of field: eventfs_inode::ino"][::core::mem::offset_of!(eventfs_inode, ino) - 84usize]; +}; +impl eventfs_inode { + #[inline] + pub fn is_freed(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_freed(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_freed_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_freed_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_events(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_events(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_events_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_events_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn nr_entries(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_nr_entries(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub unsafe fn nr_entries_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 30u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_nr_entries_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 30u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_freed: ::core::ffi::c_uint, + is_events: ::core::ffi::c_uint, + nr_entries: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_freed: u32 = unsafe { ::core::mem::transmute(is_freed) }; + is_freed as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let is_events: u32 = unsafe { ::core::mem::transmute(is_events) }; + is_events as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let nr_entries: u32 = unsafe { ::core::mem::transmute(nr_entries) }; + nr_entries as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct exception_table_entry { + pub insn: ::core::ffi::c_int, + pub fixup: ::core::ffi::c_int, + pub data: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of exception_table_entry"][::core::mem::size_of::() - 12usize]; + ["Alignment of exception_table_entry"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: exception_table_entry::insn"] + [::core::mem::offset_of!(exception_table_entry, insn) - 0usize]; + ["Offset of field: exception_table_entry::fixup"] + [::core::mem::offset_of!(exception_table_entry, fixup) - 4usize]; + ["Offset of field: exception_table_entry::data"] + [::core::mem::offset_of!(exception_table_entry, data) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct export_operations { + pub encode_fh: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut __u32, + arg3: *mut ::core::ffi::c_int, + arg4: *mut inode, + ) -> ::core::ffi::c_int, + >, + pub fh_to_dentry: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut fid, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> *mut dentry, + >, + pub fh_to_parent: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut fid, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> *mut dentry, + >, + pub get_name: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dentry, + arg2: *mut ::core::ffi::c_char, + arg3: *mut dentry, + ) -> ::core::ffi::c_int, + >, + pub get_parent: ::core::option::Option *mut dentry>, + pub commit_metadata: + ::core::option::Option ::core::ffi::c_int>, + pub get_uuid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut u8_, + arg3: *mut u32_, + arg4: *mut u64_, + ) -> ::core::ffi::c_int, + >, + pub map_blocks: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: loff_t, + arg3: u64_, + arg4: *mut iomap, + arg5: bool_, + arg6: *mut u32_, + ) -> ::core::ffi::c_int, + >, + pub commit_blocks: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut iomap, + arg3: ::core::ffi::c_int, + arg4: *mut iattr, + ) -> ::core::ffi::c_int, + >, + pub flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of export_operations"][::core::mem::size_of::() - 80usize]; + ["Alignment of export_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: export_operations::encode_fh"] + [::core::mem::offset_of!(export_operations, encode_fh) - 0usize]; + ["Offset of field: export_operations::fh_to_dentry"] + [::core::mem::offset_of!(export_operations, fh_to_dentry) - 8usize]; + ["Offset of field: export_operations::fh_to_parent"] + [::core::mem::offset_of!(export_operations, fh_to_parent) - 16usize]; + ["Offset of field: export_operations::get_name"] + [::core::mem::offset_of!(export_operations, get_name) - 24usize]; + ["Offset of field: export_operations::get_parent"] + [::core::mem::offset_of!(export_operations, get_parent) - 32usize]; + ["Offset of field: export_operations::commit_metadata"] + [::core::mem::offset_of!(export_operations, commit_metadata) - 40usize]; + ["Offset of field: export_operations::get_uuid"] + [::core::mem::offset_of!(export_operations, get_uuid) - 48usize]; + ["Offset of field: export_operations::map_blocks"] + [::core::mem::offset_of!(export_operations, map_blocks) - 56usize]; + ["Offset of field: export_operations::commit_blocks"] + [::core::mem::offset_of!(export_operations, commit_blocks) - 64usize]; + ["Offset of field: export_operations::flags"] + [::core::mem::offset_of!(export_operations, flags) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsnotify_event { + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_event"][::core::mem::size_of::() - 16usize]; + ["Alignment of fsnotify_event"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_event::list"] + [::core::mem::offset_of!(fsnotify_event, list) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fanotify_group_private_data { + pub merge_hash: *mut hlist_head, + pub access_list: list_head, + pub access_waitq: wait_queue_head_t, + pub flags: ::core::ffi::c_int, + pub f_flags: ::core::ffi::c_int, + pub ucounts: *mut ucounts, + pub error_events_pool: mempool_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fanotify_group_private_data"] + [::core::mem::size_of::() - 136usize]; + ["Alignment of fanotify_group_private_data"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fanotify_group_private_data::merge_hash"] + [::core::mem::offset_of!(fanotify_group_private_data, merge_hash) - 0usize]; + ["Offset of field: fanotify_group_private_data::access_list"] + [::core::mem::offset_of!(fanotify_group_private_data, access_list) - 8usize]; + ["Offset of field: fanotify_group_private_data::access_waitq"] + [::core::mem::offset_of!(fanotify_group_private_data, access_waitq) - 24usize]; + ["Offset of field: fanotify_group_private_data::flags"] + [::core::mem::offset_of!(fanotify_group_private_data, flags) - 48usize]; + ["Offset of field: fanotify_group_private_data::f_flags"] + [::core::mem::offset_of!(fanotify_group_private_data, f_flags) - 52usize]; + ["Offset of field: fanotify_group_private_data::ucounts"] + [::core::mem::offset_of!(fanotify_group_private_data, ucounts) - 56usize]; + ["Offset of field: fanotify_group_private_data::error_events_pool"] + [::core::mem::offset_of!(fanotify_group_private_data, error_events_pool) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fasync_struct { + pub fa_lock: rwlock_t, + pub magic: ::core::ffi::c_int, + pub fa_fd: ::core::ffi::c_int, + pub fa_next: *mut fasync_struct, + pub fa_file: *mut file, + pub fa_rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fasync_struct"][::core::mem::size_of::() - 48usize]; + ["Alignment of fasync_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fasync_struct::fa_lock"] + [::core::mem::offset_of!(fasync_struct, fa_lock) - 0usize]; + ["Offset of field: fasync_struct::magic"] + [::core::mem::offset_of!(fasync_struct, magic) - 8usize]; + ["Offset of field: fasync_struct::fa_fd"] + [::core::mem::offset_of!(fasync_struct, fa_fd) - 12usize]; + ["Offset of field: fasync_struct::fa_next"] + [::core::mem::offset_of!(fasync_struct, fa_next) - 16usize]; + ["Offset of field: fasync_struct::fa_file"] + [::core::mem::offset_of!(fasync_struct, fa_file) - 24usize]; + ["Offset of field: fasync_struct::fa_rcu"] + [::core::mem::offset_of!(fasync_struct, fa_rcu) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fc_log { + pub usage: refcount_t, + pub head: u8_, + pub tail: u8_, + pub need_free: u8_, + pub owner: *mut module, + pub buffer: [*mut ::core::ffi::c_char; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fc_log"][::core::mem::size_of::() - 80usize]; + ["Alignment of fc_log"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fc_log::usage"][::core::mem::offset_of!(fc_log, usage) - 0usize]; + ["Offset of field: fc_log::head"][::core::mem::offset_of!(fc_log, head) - 4usize]; + ["Offset of field: fc_log::tail"][::core::mem::offset_of!(fc_log, tail) - 5usize]; + ["Offset of field: fc_log::need_free"][::core::mem::offset_of!(fc_log, need_free) - 6usize]; + ["Offset of field: fc_log::owner"][::core::mem::offset_of!(fc_log, owner) - 8usize]; + ["Offset of field: fc_log::buffer"][::core::mem::offset_of!(fc_log, buffer) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fdtable { + pub max_fds: ::core::ffi::c_uint, + pub fd: *mut *mut file, + pub close_on_exec: *mut ::core::ffi::c_ulong, + pub open_fds: *mut ::core::ffi::c_ulong, + pub full_fds_bits: *mut ::core::ffi::c_ulong, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fdtable"][::core::mem::size_of::() - 56usize]; + ["Alignment of fdtable"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fdtable::max_fds"][::core::mem::offset_of!(fdtable, max_fds) - 0usize]; + ["Offset of field: fdtable::fd"][::core::mem::offset_of!(fdtable, fd) - 8usize]; + ["Offset of field: fdtable::close_on_exec"] + [::core::mem::offset_of!(fdtable, close_on_exec) - 16usize]; + ["Offset of field: fdtable::open_fds"][::core::mem::offset_of!(fdtable, open_fds) - 24usize]; + ["Offset of field: fdtable::full_fds_bits"] + [::core::mem::offset_of!(fdtable, full_fds_bits) - 32usize]; + ["Offset of field: fdtable::rcu"][::core::mem::offset_of!(fdtable, rcu) - 40usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct ftrace_graph_ent { + pub func: ::core::ffi::c_ulong, + pub depth: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ftrace_graph_ent"][::core::mem::size_of::() - 12usize]; + ["Alignment of ftrace_graph_ent"][::core::mem::align_of::() - 1usize]; + ["Offset of field: ftrace_graph_ent::func"] + [::core::mem::offset_of!(ftrace_graph_ent, func) - 0usize]; + ["Offset of field: ftrace_graph_ent::depth"] + [::core::mem::offset_of!(ftrace_graph_ent, depth) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ftrace_graph_ret { + pub func: ::core::ffi::c_ulong, + pub retval: ::core::ffi::c_ulong, + pub depth: ::core::ffi::c_int, + pub overrun: ::core::ffi::c_uint, + pub calltime: ::core::ffi::c_ulonglong, + pub rettime: ::core::ffi::c_ulonglong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ftrace_graph_ret"][::core::mem::size_of::() - 40usize]; + ["Alignment of ftrace_graph_ret"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ftrace_graph_ret::func"] + [::core::mem::offset_of!(ftrace_graph_ret, func) - 0usize]; + ["Offset of field: ftrace_graph_ret::retval"] + [::core::mem::offset_of!(ftrace_graph_ret, retval) - 8usize]; + ["Offset of field: ftrace_graph_ret::depth"] + [::core::mem::offset_of!(ftrace_graph_ret, depth) - 16usize]; + ["Offset of field: ftrace_graph_ret::overrun"] + [::core::mem::offset_of!(ftrace_graph_ret, overrun) - 20usize]; + ["Offset of field: ftrace_graph_ret::calltime"] + [::core::mem::offset_of!(ftrace_graph_ret, calltime) - 24usize]; + ["Offset of field: ftrace_graph_ret::rettime"] + [::core::mem::offset_of!(ftrace_graph_ret, rettime) - 32usize]; +}; +pub type trace_func_graph_ent_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ftrace_graph_ent, arg2: *mut fgraph_ops) -> ::core::ffi::c_int, +>; +pub type trace_func_graph_ret_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ftrace_graph_ret, arg2: *mut fgraph_ops), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fgraph_ops { + pub entryfunc: trace_func_graph_ent_t, + pub retfunc: trace_func_graph_ret_t, + pub ops: ftrace_ops, + pub private: *mut ::core::ffi::c_void, + pub saved_func: trace_func_graph_ent_t, + pub idx: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fgraph_ops"][::core::mem::size_of::() - 256usize]; + ["Alignment of fgraph_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fgraph_ops::entryfunc"] + [::core::mem::offset_of!(fgraph_ops, entryfunc) - 0usize]; + ["Offset of field: fgraph_ops::retfunc"][::core::mem::offset_of!(fgraph_ops, retfunc) - 8usize]; + ["Offset of field: fgraph_ops::ops"][::core::mem::offset_of!(fgraph_ops, ops) - 16usize]; + ["Offset of field: fgraph_ops::private"] + [::core::mem::offset_of!(fgraph_ops, private) - 232usize]; + ["Offset of field: fgraph_ops::saved_func"] + [::core::mem::offset_of!(fgraph_ops, saved_func) - 240usize]; + ["Offset of field: fgraph_ops::idx"][::core::mem::offset_of!(fgraph_ops, idx) - 248usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_kuid_range { + pub start: kuid_t, + pub end: kuid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_kuid_range"][::core::mem::size_of::() - 8usize]; + ["Alignment of fib_kuid_range"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fib_kuid_range::start"] + [::core::mem::offset_of!(fib_kuid_range, start) - 0usize]; + ["Offset of field: fib_kuid_range::end"][::core::mem::offset_of!(fib_kuid_range, end) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_rule_port_range { + pub start: __u16, + pub end: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_rule_port_range"][::core::mem::size_of::() - 4usize]; + ["Alignment of fib_rule_port_range"][::core::mem::align_of::() - 2usize]; + ["Offset of field: fib_rule_port_range::start"] + [::core::mem::offset_of!(fib_rule_port_range, start) - 0usize]; + ["Offset of field: fib_rule_port_range::end"] + [::core::mem::offset_of!(fib_rule_port_range, end) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_rule { + pub list: list_head, + pub iifindex: ::core::ffi::c_int, + pub oifindex: ::core::ffi::c_int, + pub mark: u32_, + pub mark_mask: u32_, + pub flags: u32_, + pub table: u32_, + pub action: u8_, + pub l3mdev: u8_, + pub proto: u8_, + pub ip_proto: u8_, + pub target: u32_, + pub tun_id: __be64, + pub ctarget: *mut fib_rule, + pub fr_net: *mut net, + pub refcnt: refcount_t, + pub pref: u32_, + pub suppress_ifgroup: ::core::ffi::c_int, + pub suppress_prefixlen: ::core::ffi::c_int, + pub iifname: [::core::ffi::c_char; 16usize], + pub oifname: [::core::ffi::c_char; 16usize], + pub uid_range: fib_kuid_range, + pub sport_range: fib_rule_port_range, + pub dport_range: fib_rule_port_range, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_rule"][::core::mem::size_of::() - 152usize]; + ["Alignment of fib_rule"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_rule::list"][::core::mem::offset_of!(fib_rule, list) - 0usize]; + ["Offset of field: fib_rule::iifindex"][::core::mem::offset_of!(fib_rule, iifindex) - 16usize]; + ["Offset of field: fib_rule::oifindex"][::core::mem::offset_of!(fib_rule, oifindex) - 20usize]; + ["Offset of field: fib_rule::mark"][::core::mem::offset_of!(fib_rule, mark) - 24usize]; + ["Offset of field: fib_rule::mark_mask"] + [::core::mem::offset_of!(fib_rule, mark_mask) - 28usize]; + ["Offset of field: fib_rule::flags"][::core::mem::offset_of!(fib_rule, flags) - 32usize]; + ["Offset of field: fib_rule::table"][::core::mem::offset_of!(fib_rule, table) - 36usize]; + ["Offset of field: fib_rule::action"][::core::mem::offset_of!(fib_rule, action) - 40usize]; + ["Offset of field: fib_rule::l3mdev"][::core::mem::offset_of!(fib_rule, l3mdev) - 41usize]; + ["Offset of field: fib_rule::proto"][::core::mem::offset_of!(fib_rule, proto) - 42usize]; + ["Offset of field: fib_rule::ip_proto"][::core::mem::offset_of!(fib_rule, ip_proto) - 43usize]; + ["Offset of field: fib_rule::target"][::core::mem::offset_of!(fib_rule, target) - 44usize]; + ["Offset of field: fib_rule::tun_id"][::core::mem::offset_of!(fib_rule, tun_id) - 48usize]; + ["Offset of field: fib_rule::ctarget"][::core::mem::offset_of!(fib_rule, ctarget) - 56usize]; + ["Offset of field: fib_rule::fr_net"][::core::mem::offset_of!(fib_rule, fr_net) - 64usize]; + ["Offset of field: fib_rule::refcnt"][::core::mem::offset_of!(fib_rule, refcnt) - 72usize]; + ["Offset of field: fib_rule::pref"][::core::mem::offset_of!(fib_rule, pref) - 76usize]; + ["Offset of field: fib_rule::suppress_ifgroup"] + [::core::mem::offset_of!(fib_rule, suppress_ifgroup) - 80usize]; + ["Offset of field: fib_rule::suppress_prefixlen"] + [::core::mem::offset_of!(fib_rule, suppress_prefixlen) - 84usize]; + ["Offset of field: fib_rule::iifname"][::core::mem::offset_of!(fib_rule, iifname) - 88usize]; + ["Offset of field: fib_rule::oifname"][::core::mem::offset_of!(fib_rule, oifname) - 104usize]; + ["Offset of field: fib_rule::uid_range"] + [::core::mem::offset_of!(fib_rule, uid_range) - 120usize]; + ["Offset of field: fib_rule::sport_range"] + [::core::mem::offset_of!(fib_rule, sport_range) - 128usize]; + ["Offset of field: fib_rule::dport_range"] + [::core::mem::offset_of!(fib_rule, dport_range) - 132usize]; + ["Offset of field: fib_rule::rcu"][::core::mem::offset_of!(fib_rule, rcu) - 136usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rt6key { + pub addr: in6_addr, + pub plen: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt6key"][::core::mem::size_of::() - 20usize]; + ["Alignment of rt6key"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rt6key::addr"][::core::mem::offset_of!(rt6key, addr) - 0usize]; + ["Offset of field: rt6key::plen"][::core::mem::offset_of!(rt6key, plen) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fib_nh_common { + pub nhc_dev: *mut net_device, + pub nhc_dev_tracker: netdevice_tracker, + pub nhc_oif: ::core::ffi::c_int, + pub nhc_scope: ::core::ffi::c_uchar, + pub nhc_family: u8_, + pub nhc_gw_family: u8_, + pub nhc_flags: ::core::ffi::c_uchar, + pub nhc_lwtstate: *mut lwtunnel_state, + pub nhc_gw: fib_nh_common__bindgen_ty_1, + pub nhc_weight: ::core::ffi::c_int, + pub nhc_upper_bound: atomic_t, + pub nhc_pcpu_rth_output: *mut *mut rtable, + pub nhc_rth_input: *mut rtable, + pub nhc_exceptions: *mut fnhe_hash_bucket, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fib_nh_common__bindgen_ty_1 { + pub ipv4: __be32, + pub ipv6: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_nh_common__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of fib_nh_common__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: fib_nh_common__bindgen_ty_1::ipv4"] + [::core::mem::offset_of!(fib_nh_common__bindgen_ty_1, ipv4) - 0usize]; + ["Offset of field: fib_nh_common__bindgen_ty_1::ipv6"] + [::core::mem::offset_of!(fib_nh_common__bindgen_ty_1, ipv6) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_nh_common"][::core::mem::size_of::() - 72usize]; + ["Alignment of fib_nh_common"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_nh_common::nhc_dev"] + [::core::mem::offset_of!(fib_nh_common, nhc_dev) - 0usize]; + ["Offset of field: fib_nh_common::nhc_dev_tracker"] + [::core::mem::offset_of!(fib_nh_common, nhc_dev_tracker) - 8usize]; + ["Offset of field: fib_nh_common::nhc_oif"] + [::core::mem::offset_of!(fib_nh_common, nhc_oif) - 8usize]; + ["Offset of field: fib_nh_common::nhc_scope"] + [::core::mem::offset_of!(fib_nh_common, nhc_scope) - 12usize]; + ["Offset of field: fib_nh_common::nhc_family"] + [::core::mem::offset_of!(fib_nh_common, nhc_family) - 13usize]; + ["Offset of field: fib_nh_common::nhc_gw_family"] + [::core::mem::offset_of!(fib_nh_common, nhc_gw_family) - 14usize]; + ["Offset of field: fib_nh_common::nhc_flags"] + [::core::mem::offset_of!(fib_nh_common, nhc_flags) - 15usize]; + ["Offset of field: fib_nh_common::nhc_lwtstate"] + [::core::mem::offset_of!(fib_nh_common, nhc_lwtstate) - 16usize]; + ["Offset of field: fib_nh_common::nhc_gw"] + [::core::mem::offset_of!(fib_nh_common, nhc_gw) - 24usize]; + ["Offset of field: fib_nh_common::nhc_weight"] + [::core::mem::offset_of!(fib_nh_common, nhc_weight) - 40usize]; + ["Offset of field: fib_nh_common::nhc_upper_bound"] + [::core::mem::offset_of!(fib_nh_common, nhc_upper_bound) - 44usize]; + ["Offset of field: fib_nh_common::nhc_pcpu_rth_output"] + [::core::mem::offset_of!(fib_nh_common, nhc_pcpu_rth_output) - 48usize]; + ["Offset of field: fib_nh_common::nhc_rth_input"] + [::core::mem::offset_of!(fib_nh_common, nhc_rth_input) - 56usize]; + ["Offset of field: fib_nh_common::nhc_exceptions"] + [::core::mem::offset_of!(fib_nh_common, nhc_exceptions) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fib6_nh { + pub nh_common: fib_nh_common, + pub last_probe: ::core::ffi::c_ulong, + pub rt6i_pcpu: *mut *mut rt6_info, + pub rt6i_exception_bucket: *mut rt6_exception_bucket, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib6_nh"][::core::mem::size_of::() - 96usize]; + ["Alignment of fib6_nh"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib6_nh::nh_common"][::core::mem::offset_of!(fib6_nh, nh_common) - 0usize]; + ["Offset of field: fib6_nh::last_probe"] + [::core::mem::offset_of!(fib6_nh, last_probe) - 72usize]; + ["Offset of field: fib6_nh::rt6i_pcpu"][::core::mem::offset_of!(fib6_nh, rt6i_pcpu) - 80usize]; + ["Offset of field: fib6_nh::rt6i_exception_bucket"] + [::core::mem::offset_of!(fib6_nh, rt6i_exception_bucket) - 88usize]; +}; +#[repr(C)] +pub struct fib6_info { + pub fib6_table: *mut fib6_table, + pub fib6_next: *mut fib6_info, + pub fib6_node: *mut fib6_node, + pub __bindgen_anon_1: fib6_info__bindgen_ty_1, + pub fib6_nsiblings: ::core::ffi::c_uint, + pub fib6_ref: refcount_t, + pub expires: ::core::ffi::c_ulong, + pub gc_link: hlist_node, + pub fib6_metrics: *mut dst_metrics, + pub fib6_dst: rt6key, + pub fib6_flags: u32_, + pub fib6_src: rt6key, + pub fib6_prefsrc: rt6key, + pub fib6_metric: u32_, + pub fib6_protocol: u8_, + pub fib6_type: u8_, + pub offload: u8_, + pub trap: u8_, + pub offload_failed: u8_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub rcu: callback_head, + pub nh: *mut nexthop, + pub fib6_nh: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fib6_info__bindgen_ty_1 { + pub fib6_siblings: list_head, + pub nh_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib6_info__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of fib6_info__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fib6_info__bindgen_ty_1::fib6_siblings"] + [::core::mem::offset_of!(fib6_info__bindgen_ty_1, fib6_siblings) - 0usize]; + ["Offset of field: fib6_info__bindgen_ty_1::nh_list"] + [::core::mem::offset_of!(fib6_info__bindgen_ty_1, nh_list) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib6_info"][::core::mem::size_of::() - 184usize]; + ["Alignment of fib6_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib6_info::fib6_table"] + [::core::mem::offset_of!(fib6_info, fib6_table) - 0usize]; + ["Offset of field: fib6_info::fib6_next"] + [::core::mem::offset_of!(fib6_info, fib6_next) - 8usize]; + ["Offset of field: fib6_info::fib6_node"] + [::core::mem::offset_of!(fib6_info, fib6_node) - 16usize]; + ["Offset of field: fib6_info::fib6_nsiblings"] + [::core::mem::offset_of!(fib6_info, fib6_nsiblings) - 40usize]; + ["Offset of field: fib6_info::fib6_ref"] + [::core::mem::offset_of!(fib6_info, fib6_ref) - 44usize]; + ["Offset of field: fib6_info::expires"][::core::mem::offset_of!(fib6_info, expires) - 48usize]; + ["Offset of field: fib6_info::gc_link"][::core::mem::offset_of!(fib6_info, gc_link) - 56usize]; + ["Offset of field: fib6_info::fib6_metrics"] + [::core::mem::offset_of!(fib6_info, fib6_metrics) - 72usize]; + ["Offset of field: fib6_info::fib6_dst"] + [::core::mem::offset_of!(fib6_info, fib6_dst) - 80usize]; + ["Offset of field: fib6_info::fib6_flags"] + [::core::mem::offset_of!(fib6_info, fib6_flags) - 100usize]; + ["Offset of field: fib6_info::fib6_src"] + [::core::mem::offset_of!(fib6_info, fib6_src) - 104usize]; + ["Offset of field: fib6_info::fib6_prefsrc"] + [::core::mem::offset_of!(fib6_info, fib6_prefsrc) - 124usize]; + ["Offset of field: fib6_info::fib6_metric"] + [::core::mem::offset_of!(fib6_info, fib6_metric) - 144usize]; + ["Offset of field: fib6_info::fib6_protocol"] + [::core::mem::offset_of!(fib6_info, fib6_protocol) - 148usize]; + ["Offset of field: fib6_info::fib6_type"] + [::core::mem::offset_of!(fib6_info, fib6_type) - 149usize]; + ["Offset of field: fib6_info::offload"][::core::mem::offset_of!(fib6_info, offload) - 150usize]; + ["Offset of field: fib6_info::trap"][::core::mem::offset_of!(fib6_info, trap) - 151usize]; + ["Offset of field: fib6_info::offload_failed"] + [::core::mem::offset_of!(fib6_info, offload_failed) - 152usize]; + ["Offset of field: fib6_info::rcu"][::core::mem::offset_of!(fib6_info, rcu) - 160usize]; + ["Offset of field: fib6_info::nh"][::core::mem::offset_of!(fib6_info, nh) - 176usize]; + ["Offset of field: fib6_info::fib6_nh"][::core::mem::offset_of!(fib6_info, fib6_nh) - 184usize]; +}; +impl fib6_info { + #[inline] + pub fn should_flush(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_should_flush(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn should_flush_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_should_flush_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dst_nocount(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_dst_nocount(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dst_nocount_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dst_nocount_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dst_nopolicy(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_dst_nopolicy(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dst_nopolicy_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dst_nopolicy_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fib6_destroying(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_fib6_destroying(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fib6_destroying_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fib6_destroying_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unused(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_unused(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn unused_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unused_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + should_flush: u8_, + dst_nocount: u8_, + dst_nopolicy: u8_, + fib6_destroying: u8_, + unused: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let should_flush: u8 = unsafe { ::core::mem::transmute(should_flush) }; + should_flush as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let dst_nocount: u8 = unsafe { ::core::mem::transmute(dst_nocount) }; + dst_nocount as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let dst_nopolicy: u8 = unsafe { ::core::mem::transmute(dst_nopolicy) }; + dst_nopolicy as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fib6_destroying: u8 = unsafe { ::core::mem::transmute(fib6_destroying) }; + fib6_destroying as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let unused: u8 = unsafe { ::core::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib6_node { + pub parent: *mut fib6_node, + pub left: *mut fib6_node, + pub right: *mut fib6_node, + pub subtree: *mut fib6_node, + pub leaf: *mut fib6_info, + pub fn_bit: __u16, + pub fn_flags: __u16, + pub fn_sernum: ::core::ffi::c_int, + pub rr_ptr: *mut fib6_info, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib6_node"][::core::mem::size_of::() - 72usize]; + ["Alignment of fib6_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib6_node::parent"][::core::mem::offset_of!(fib6_node, parent) - 0usize]; + ["Offset of field: fib6_node::left"][::core::mem::offset_of!(fib6_node, left) - 8usize]; + ["Offset of field: fib6_node::right"][::core::mem::offset_of!(fib6_node, right) - 16usize]; + ["Offset of field: fib6_node::subtree"][::core::mem::offset_of!(fib6_node, subtree) - 24usize]; + ["Offset of field: fib6_node::leaf"][::core::mem::offset_of!(fib6_node, leaf) - 32usize]; + ["Offset of field: fib6_node::fn_bit"][::core::mem::offset_of!(fib6_node, fn_bit) - 40usize]; + ["Offset of field: fib6_node::fn_flags"] + [::core::mem::offset_of!(fib6_node, fn_flags) - 42usize]; + ["Offset of field: fib6_node::fn_sernum"] + [::core::mem::offset_of!(fib6_node, fn_sernum) - 44usize]; + ["Offset of field: fib6_node::rr_ptr"][::core::mem::offset_of!(fib6_node, rr_ptr) - 48usize]; + ["Offset of field: fib6_node::rcu"][::core::mem::offset_of!(fib6_node, rcu) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct inet_peer_base { + pub rb_root: rb_root, + pub lock: seqlock_t, + pub total: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_peer_base"][::core::mem::size_of::() - 24usize]; + ["Alignment of inet_peer_base"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_peer_base::rb_root"] + [::core::mem::offset_of!(inet_peer_base, rb_root) - 0usize]; + ["Offset of field: inet_peer_base::lock"] + [::core::mem::offset_of!(inet_peer_base, lock) - 8usize]; + ["Offset of field: inet_peer_base::total"] + [::core::mem::offset_of!(inet_peer_base, total) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fib6_table { + pub tb6_hlist: hlist_node, + pub tb6_id: u32_, + pub tb6_lock: spinlock_t, + pub tb6_root: fib6_node, + pub tb6_peers: inet_peer_base, + pub flags: ::core::ffi::c_uint, + pub fib_seq: ::core::ffi::c_uint, + pub tb6_gc_hlist: hlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib6_table"][::core::mem::size_of::() - 136usize]; + ["Alignment of fib6_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib6_table::tb6_hlist"] + [::core::mem::offset_of!(fib6_table, tb6_hlist) - 0usize]; + ["Offset of field: fib6_table::tb6_id"][::core::mem::offset_of!(fib6_table, tb6_id) - 16usize]; + ["Offset of field: fib6_table::tb6_lock"] + [::core::mem::offset_of!(fib6_table, tb6_lock) - 20usize]; + ["Offset of field: fib6_table::tb6_root"] + [::core::mem::offset_of!(fib6_table, tb6_root) - 24usize]; + ["Offset of field: fib6_table::tb6_peers"] + [::core::mem::offset_of!(fib6_table, tb6_peers) - 96usize]; + ["Offset of field: fib6_table::flags"][::core::mem::offset_of!(fib6_table, flags) - 120usize]; + ["Offset of field: fib6_table::fib_seq"] + [::core::mem::offset_of!(fib6_table, fib_seq) - 124usize]; + ["Offset of field: fib6_table::tb6_gc_hlist"] + [::core::mem::offset_of!(fib6_table, tb6_gc_hlist) - 128usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fib_nh { + pub nh_common: fib_nh_common, + pub nh_hash: hlist_node, + pub nh_parent: *mut fib_info, + pub nh_tclassid: __u32, + pub nh_saddr: __be32, + pub nh_saddr_genid: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_nh"][::core::mem::size_of::() - 112usize]; + ["Alignment of fib_nh"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_nh::nh_common"][::core::mem::offset_of!(fib_nh, nh_common) - 0usize]; + ["Offset of field: fib_nh::nh_hash"][::core::mem::offset_of!(fib_nh, nh_hash) - 72usize]; + ["Offset of field: fib_nh::nh_parent"][::core::mem::offset_of!(fib_nh, nh_parent) - 88usize]; + ["Offset of field: fib_nh::nh_tclassid"] + [::core::mem::offset_of!(fib_nh, nh_tclassid) - 96usize]; + ["Offset of field: fib_nh::nh_saddr"][::core::mem::offset_of!(fib_nh, nh_saddr) - 100usize]; + ["Offset of field: fib_nh::nh_saddr_genid"] + [::core::mem::offset_of!(fib_nh, nh_saddr_genid) - 104usize]; +}; +#[repr(C)] +pub struct fib_info { + pub fib_hash: hlist_node, + pub fib_lhash: hlist_node, + pub nh_list: list_head, + pub fib_net: *mut net, + pub fib_treeref: refcount_t, + pub fib_clntref: refcount_t, + pub fib_flags: ::core::ffi::c_uint, + pub fib_dead: ::core::ffi::c_uchar, + pub fib_protocol: ::core::ffi::c_uchar, + pub fib_scope: ::core::ffi::c_uchar, + pub fib_type: ::core::ffi::c_uchar, + pub fib_prefsrc: __be32, + pub fib_tb_id: u32_, + pub fib_priority: u32_, + pub fib_metrics: *mut dst_metrics, + pub fib_nhs: ::core::ffi::c_int, + pub fib_nh_is_v6: bool_, + pub nh_updated: bool_, + pub pfsrc_removed: bool_, + pub nh: *mut nexthop, + pub rcu: callback_head, + pub fib_nh: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_info"][::core::mem::size_of::() - 128usize]; + ["Alignment of fib_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_info::fib_hash"][::core::mem::offset_of!(fib_info, fib_hash) - 0usize]; + ["Offset of field: fib_info::fib_lhash"] + [::core::mem::offset_of!(fib_info, fib_lhash) - 16usize]; + ["Offset of field: fib_info::nh_list"][::core::mem::offset_of!(fib_info, nh_list) - 32usize]; + ["Offset of field: fib_info::fib_net"][::core::mem::offset_of!(fib_info, fib_net) - 48usize]; + ["Offset of field: fib_info::fib_treeref"] + [::core::mem::offset_of!(fib_info, fib_treeref) - 56usize]; + ["Offset of field: fib_info::fib_clntref"] + [::core::mem::offset_of!(fib_info, fib_clntref) - 60usize]; + ["Offset of field: fib_info::fib_flags"] + [::core::mem::offset_of!(fib_info, fib_flags) - 64usize]; + ["Offset of field: fib_info::fib_dead"][::core::mem::offset_of!(fib_info, fib_dead) - 68usize]; + ["Offset of field: fib_info::fib_protocol"] + [::core::mem::offset_of!(fib_info, fib_protocol) - 69usize]; + ["Offset of field: fib_info::fib_scope"] + [::core::mem::offset_of!(fib_info, fib_scope) - 70usize]; + ["Offset of field: fib_info::fib_type"][::core::mem::offset_of!(fib_info, fib_type) - 71usize]; + ["Offset of field: fib_info::fib_prefsrc"] + [::core::mem::offset_of!(fib_info, fib_prefsrc) - 72usize]; + ["Offset of field: fib_info::fib_tb_id"] + [::core::mem::offset_of!(fib_info, fib_tb_id) - 76usize]; + ["Offset of field: fib_info::fib_priority"] + [::core::mem::offset_of!(fib_info, fib_priority) - 80usize]; + ["Offset of field: fib_info::fib_metrics"] + [::core::mem::offset_of!(fib_info, fib_metrics) - 88usize]; + ["Offset of field: fib_info::fib_nhs"][::core::mem::offset_of!(fib_info, fib_nhs) - 96usize]; + ["Offset of field: fib_info::fib_nh_is_v6"] + [::core::mem::offset_of!(fib_info, fib_nh_is_v6) - 100usize]; + ["Offset of field: fib_info::nh_updated"] + [::core::mem::offset_of!(fib_info, nh_updated) - 101usize]; + ["Offset of field: fib_info::pfsrc_removed"] + [::core::mem::offset_of!(fib_info, pfsrc_removed) - 102usize]; + ["Offset of field: fib_info::nh"][::core::mem::offset_of!(fib_info, nh) - 104usize]; + ["Offset of field: fib_info::rcu"][::core::mem::offset_of!(fib_info, rcu) - 112usize]; + ["Offset of field: fib_info::fib_nh"][::core::mem::offset_of!(fib_info, fib_nh) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_lookup_arg { + pub lookup_ptr: *mut ::core::ffi::c_void, + pub lookup_data: *const ::core::ffi::c_void, + pub result: *mut ::core::ffi::c_void, + pub rule: *mut fib_rule, + pub table: u32_, + pub flags: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_lookup_arg"][::core::mem::size_of::() - 40usize]; + ["Alignment of fib_lookup_arg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_lookup_arg::lookup_ptr"] + [::core::mem::offset_of!(fib_lookup_arg, lookup_ptr) - 0usize]; + ["Offset of field: fib_lookup_arg::lookup_data"] + [::core::mem::offset_of!(fib_lookup_arg, lookup_data) - 8usize]; + ["Offset of field: fib_lookup_arg::result"] + [::core::mem::offset_of!(fib_lookup_arg, result) - 16usize]; + ["Offset of field: fib_lookup_arg::rule"] + [::core::mem::offset_of!(fib_lookup_arg, rule) - 24usize]; + ["Offset of field: fib_lookup_arg::table"] + [::core::mem::offset_of!(fib_lookup_arg, table) - 32usize]; + ["Offset of field: fib_lookup_arg::flags"] + [::core::mem::offset_of!(fib_lookup_arg, flags) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_nh_exception { + pub fnhe_next: *mut fib_nh_exception, + pub fnhe_genid: ::core::ffi::c_int, + pub fnhe_daddr: __be32, + pub fnhe_pmtu: u32_, + pub fnhe_mtu_locked: bool_, + pub fnhe_gw: __be32, + pub fnhe_expires: ::core::ffi::c_ulong, + pub fnhe_rth_input: *mut rtable, + pub fnhe_rth_output: *mut rtable, + pub fnhe_stamp: ::core::ffi::c_ulong, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_nh_exception"][::core::mem::size_of::() - 80usize]; + ["Alignment of fib_nh_exception"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_nh_exception::fnhe_next"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_next) - 0usize]; + ["Offset of field: fib_nh_exception::fnhe_genid"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_genid) - 8usize]; + ["Offset of field: fib_nh_exception::fnhe_daddr"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_daddr) - 12usize]; + ["Offset of field: fib_nh_exception::fnhe_pmtu"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_pmtu) - 16usize]; + ["Offset of field: fib_nh_exception::fnhe_mtu_locked"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_mtu_locked) - 20usize]; + ["Offset of field: fib_nh_exception::fnhe_gw"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_gw) - 24usize]; + ["Offset of field: fib_nh_exception::fnhe_expires"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_expires) - 32usize]; + ["Offset of field: fib_nh_exception::fnhe_rth_input"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_rth_input) - 40usize]; + ["Offset of field: fib_nh_exception::fnhe_rth_output"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_rth_output) - 48usize]; + ["Offset of field: fib_nh_exception::fnhe_stamp"] + [::core::mem::offset_of!(fib_nh_exception, fnhe_stamp) - 56usize]; + ["Offset of field: fib_nh_exception::rcu"] + [::core::mem::offset_of!(fib_nh_exception, rcu) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_notifier_ops { + pub family: ::core::ffi::c_int, + pub list: list_head, + pub fib_seq_read: + ::core::option::Option ::core::ffi::c_uint>, + pub fib_dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut notifier_block, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub owner: *mut module, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_notifier_ops"][::core::mem::size_of::() - 64usize]; + ["Alignment of fib_notifier_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_notifier_ops::family"] + [::core::mem::offset_of!(fib_notifier_ops, family) - 0usize]; + ["Offset of field: fib_notifier_ops::list"] + [::core::mem::offset_of!(fib_notifier_ops, list) - 8usize]; + ["Offset of field: fib_notifier_ops::fib_seq_read"] + [::core::mem::offset_of!(fib_notifier_ops, fib_seq_read) - 24usize]; + ["Offset of field: fib_notifier_ops::fib_dump"] + [::core::mem::offset_of!(fib_notifier_ops, fib_dump) - 32usize]; + ["Offset of field: fib_notifier_ops::owner"] + [::core::mem::offset_of!(fib_notifier_ops, owner) - 40usize]; + ["Offset of field: fib_notifier_ops::rcu"] + [::core::mem::offset_of!(fib_notifier_ops, rcu) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_rule_hdr { + pub family: __u8, + pub dst_len: __u8, + pub src_len: __u8, + pub tos: __u8, + pub table: __u8, + pub res1: __u8, + pub res2: __u8, + pub action: __u8, + pub flags: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_rule_hdr"][::core::mem::size_of::() - 12usize]; + ["Alignment of fib_rule_hdr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fib_rule_hdr::family"] + [::core::mem::offset_of!(fib_rule_hdr, family) - 0usize]; + ["Offset of field: fib_rule_hdr::dst_len"] + [::core::mem::offset_of!(fib_rule_hdr, dst_len) - 1usize]; + ["Offset of field: fib_rule_hdr::src_len"] + [::core::mem::offset_of!(fib_rule_hdr, src_len) - 2usize]; + ["Offset of field: fib_rule_hdr::tos"][::core::mem::offset_of!(fib_rule_hdr, tos) - 3usize]; + ["Offset of field: fib_rule_hdr::table"][::core::mem::offset_of!(fib_rule_hdr, table) - 4usize]; + ["Offset of field: fib_rule_hdr::res1"][::core::mem::offset_of!(fib_rule_hdr, res1) - 5usize]; + ["Offset of field: fib_rule_hdr::res2"][::core::mem::offset_of!(fib_rule_hdr, res2) - 6usize]; + ["Offset of field: fib_rule_hdr::action"] + [::core::mem::offset_of!(fib_rule_hdr, action) - 7usize]; + ["Offset of field: fib_rule_hdr::flags"][::core::mem::offset_of!(fib_rule_hdr, flags) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fib_rules_ops { + pub family: ::core::ffi::c_int, + pub list: list_head, + pub rule_size: ::core::ffi::c_int, + pub addr_size: ::core::ffi::c_int, + pub unresolved_rules: ::core::ffi::c_int, + pub nr_goto_rules: ::core::ffi::c_int, + pub fib_rules_seq: ::core::ffi::c_uint, + pub action: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fib_rule, + arg2: *mut flowi, + arg3: ::core::ffi::c_int, + arg4: *mut fib_lookup_arg, + ) -> ::core::ffi::c_int, + >, + pub suppress: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fib_rule, + arg2: ::core::ffi::c_int, + arg3: *mut fib_lookup_arg, + ) -> bool_, + >, + pub match_: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fib_rule, + arg2: *mut flowi, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub configure: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fib_rule, + arg2: *mut sk_buff, + arg3: *mut fib_rule_hdr, + arg4: *mut *mut nlattr, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub delete: + ::core::option::Option ::core::ffi::c_int>, + pub compare: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fib_rule, + arg2: *mut fib_rule_hdr, + arg3: *mut *mut nlattr, + ) -> ::core::ffi::c_int, + >, + pub fill: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fib_rule, + arg2: *mut sk_buff, + arg3: *mut fib_rule_hdr, + ) -> ::core::ffi::c_int, + >, + pub nlmsg_payload: ::core::option::Option usize>, + pub flush_cache: ::core::option::Option, + pub nlgroup: ::core::ffi::c_int, + pub rules_list: list_head, + pub owner: *mut module, + pub fro_net: *mut net, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_rules_ops"][::core::mem::size_of::() - 176usize]; + ["Alignment of fib_rules_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_rules_ops::family"] + [::core::mem::offset_of!(fib_rules_ops, family) - 0usize]; + ["Offset of field: fib_rules_ops::list"][::core::mem::offset_of!(fib_rules_ops, list) - 8usize]; + ["Offset of field: fib_rules_ops::rule_size"] + [::core::mem::offset_of!(fib_rules_ops, rule_size) - 24usize]; + ["Offset of field: fib_rules_ops::addr_size"] + [::core::mem::offset_of!(fib_rules_ops, addr_size) - 28usize]; + ["Offset of field: fib_rules_ops::unresolved_rules"] + [::core::mem::offset_of!(fib_rules_ops, unresolved_rules) - 32usize]; + ["Offset of field: fib_rules_ops::nr_goto_rules"] + [::core::mem::offset_of!(fib_rules_ops, nr_goto_rules) - 36usize]; + ["Offset of field: fib_rules_ops::fib_rules_seq"] + [::core::mem::offset_of!(fib_rules_ops, fib_rules_seq) - 40usize]; + ["Offset of field: fib_rules_ops::action"] + [::core::mem::offset_of!(fib_rules_ops, action) - 48usize]; + ["Offset of field: fib_rules_ops::suppress"] + [::core::mem::offset_of!(fib_rules_ops, suppress) - 56usize]; + ["Offset of field: fib_rules_ops::match_"] + [::core::mem::offset_of!(fib_rules_ops, match_) - 64usize]; + ["Offset of field: fib_rules_ops::configure"] + [::core::mem::offset_of!(fib_rules_ops, configure) - 72usize]; + ["Offset of field: fib_rules_ops::delete"] + [::core::mem::offset_of!(fib_rules_ops, delete) - 80usize]; + ["Offset of field: fib_rules_ops::compare"] + [::core::mem::offset_of!(fib_rules_ops, compare) - 88usize]; + ["Offset of field: fib_rules_ops::fill"] + [::core::mem::offset_of!(fib_rules_ops, fill) - 96usize]; + ["Offset of field: fib_rules_ops::nlmsg_payload"] + [::core::mem::offset_of!(fib_rules_ops, nlmsg_payload) - 104usize]; + ["Offset of field: fib_rules_ops::flush_cache"] + [::core::mem::offset_of!(fib_rules_ops, flush_cache) - 112usize]; + ["Offset of field: fib_rules_ops::nlgroup"] + [::core::mem::offset_of!(fib_rules_ops, nlgroup) - 120usize]; + ["Offset of field: fib_rules_ops::rules_list"] + [::core::mem::offset_of!(fib_rules_ops, rules_list) - 128usize]; + ["Offset of field: fib_rules_ops::owner"] + [::core::mem::offset_of!(fib_rules_ops, owner) - 144usize]; + ["Offset of field: fib_rules_ops::fro_net"] + [::core::mem::offset_of!(fib_rules_ops, fro_net) - 152usize]; + ["Offset of field: fib_rules_ops::rcu"][::core::mem::offset_of!(fib_rules_ops, rcu) - 160usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct fib_table { + pub tb_hlist: hlist_node, + pub tb_id: u32_, + pub tb_num_default: ::core::ffi::c_int, + pub rcu: callback_head, + pub tb_data: *mut ::core::ffi::c_ulong, + pub __data: __IncompleteArrayField<::core::ffi::c_ulong>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fib_table"][::core::mem::size_of::() - 48usize]; + ["Alignment of fib_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fib_table::tb_hlist"][::core::mem::offset_of!(fib_table, tb_hlist) - 0usize]; + ["Offset of field: fib_table::tb_id"][::core::mem::offset_of!(fib_table, tb_id) - 16usize]; + ["Offset of field: fib_table::tb_num_default"] + [::core::mem::offset_of!(fib_table, tb_num_default) - 20usize]; + ["Offset of field: fib_table::rcu"][::core::mem::offset_of!(fib_table, rcu) - 24usize]; + ["Offset of field: fib_table::tb_data"][::core::mem::offset_of!(fib_table, tb_data) - 40usize]; + ["Offset of field: fib_table::__data"][::core::mem::offset_of!(fib_table, __data) - 48usize]; +}; +#[repr(C)] +pub struct fid { + pub __bindgen_anon_1: fid__bindgen_ty_1, +} +#[repr(C)] +pub struct fid__bindgen_ty_1 { + pub i32_: __BindgenUnionField, + pub i64_: __BindgenUnionField, + pub udf: __BindgenUnionField, + pub __bindgen_anon_1: __BindgenUnionField, + pub bindgen_union_field: [u32; 5usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fid__bindgen_ty_1__bindgen_ty_1 { + pub ino: u32_, + pub gen_: u32_, + pub parent_ino: u32_, + pub parent_gen: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fid__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of fid__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_1::ino"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_1, ino) - 0usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_1::gen_"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_1, gen_) - 4usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_1::parent_ino"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_1, parent_ino) - 8usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_1::parent_gen"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_1, parent_gen) - 12usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct fid__bindgen_ty_1__bindgen_ty_2 { + pub ino: u64_, + pub gen_: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fid__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of fid__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_2::ino"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_2, ino) - 0usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_2::gen_"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_2, gen_) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fid__bindgen_ty_1__bindgen_ty_3 { + pub block: u32_, + pub partref: u16_, + pub parent_partref: u16_, + pub generation: u32_, + pub parent_block: u32_, + pub parent_generation: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fid__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of fid__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_3::block"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_3, block) - 0usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_3::partref"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_3, partref) - 4usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_3::parent_partref"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_3, parent_partref) - 6usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_3::generation"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_3, generation) - 8usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_3::parent_block"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_3, parent_block) - 12usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_3::parent_generation"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_3, parent_generation) - 16usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct fid__bindgen_ty_1__bindgen_ty_4 { + pub __empty_raw: fid__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1, + pub raw: __IncompleteArrayField<__u32>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fid__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fid__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of fid__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fid__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of fid__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_4::__empty_raw"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_4, __empty_raw) - 0usize]; + ["Offset of field: fid__bindgen_ty_1__bindgen_ty_4::raw"] + [::core::mem::offset_of!(fid__bindgen_ty_1__bindgen_ty_4, raw) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fid__bindgen_ty_1"][::core::mem::size_of::() - 20usize]; + ["Alignment of fid__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fid__bindgen_ty_1::i32_"] + [::core::mem::offset_of!(fid__bindgen_ty_1, i32_) - 0usize]; + ["Offset of field: fid__bindgen_ty_1::i64_"] + [::core::mem::offset_of!(fid__bindgen_ty_1, i64_) - 0usize]; + ["Offset of field: fid__bindgen_ty_1::udf"] + [::core::mem::offset_of!(fid__bindgen_ty_1, udf) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fid"][::core::mem::size_of::() - 20usize]; + ["Alignment of fid"][::core::mem::align_of::() - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fiemap_extent { + pub fe_logical: __u64, + pub fe_physical: __u64, + pub fe_length: __u64, + pub fe_reserved64: [__u64; 2usize], + pub fe_flags: __u32, + pub fe_reserved: [__u32; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fiemap_extent"][::core::mem::size_of::() - 56usize]; + ["Alignment of fiemap_extent"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fiemap_extent::fe_logical"] + [::core::mem::offset_of!(fiemap_extent, fe_logical) - 0usize]; + ["Offset of field: fiemap_extent::fe_physical"] + [::core::mem::offset_of!(fiemap_extent, fe_physical) - 8usize]; + ["Offset of field: fiemap_extent::fe_length"] + [::core::mem::offset_of!(fiemap_extent, fe_length) - 16usize]; + ["Offset of field: fiemap_extent::fe_reserved64"] + [::core::mem::offset_of!(fiemap_extent, fe_reserved64) - 24usize]; + ["Offset of field: fiemap_extent::fe_flags"] + [::core::mem::offset_of!(fiemap_extent, fe_flags) - 40usize]; + ["Offset of field: fiemap_extent::fe_reserved"] + [::core::mem::offset_of!(fiemap_extent, fe_reserved) - 44usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fiemap_extent_info { + pub fi_flags: ::core::ffi::c_uint, + pub fi_extents_mapped: ::core::ffi::c_uint, + pub fi_extents_max: ::core::ffi::c_uint, + pub fi_extents_start: *mut fiemap_extent, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fiemap_extent_info"][::core::mem::size_of::() - 24usize]; + ["Alignment of fiemap_extent_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fiemap_extent_info::fi_flags"] + [::core::mem::offset_of!(fiemap_extent_info, fi_flags) - 0usize]; + ["Offset of field: fiemap_extent_info::fi_extents_mapped"] + [::core::mem::offset_of!(fiemap_extent_info, fi_extents_mapped) - 4usize]; + ["Offset of field: fiemap_extent_info::fi_extents_max"] + [::core::mem::offset_of!(fiemap_extent_info, fi_extents_max) - 8usize]; + ["Offset of field: fiemap_extent_info::fi_extents_start"] + [::core::mem::offset_of!(fiemap_extent_info, fi_extents_start) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct file_lock_core { + pub flc_blocker: *mut file_lock_core, + pub flc_list: list_head, + pub flc_link: hlist_node, + pub flc_blocked_requests: list_head, + pub flc_blocked_member: list_head, + pub flc_owner: fl_owner_t, + pub flc_flags: ::core::ffi::c_uint, + pub flc_type: ::core::ffi::c_uchar, + pub flc_pid: pid_t, + pub flc_link_cpu: ::core::ffi::c_int, + pub flc_wait: wait_queue_head_t, + pub flc_file: *mut file, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lock_core"][::core::mem::size_of::() - 128usize]; + ["Alignment of file_lock_core"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lock_core::flc_blocker"] + [::core::mem::offset_of!(file_lock_core, flc_blocker) - 0usize]; + ["Offset of field: file_lock_core::flc_list"] + [::core::mem::offset_of!(file_lock_core, flc_list) - 8usize]; + ["Offset of field: file_lock_core::flc_link"] + [::core::mem::offset_of!(file_lock_core, flc_link) - 24usize]; + ["Offset of field: file_lock_core::flc_blocked_requests"] + [::core::mem::offset_of!(file_lock_core, flc_blocked_requests) - 40usize]; + ["Offset of field: file_lock_core::flc_blocked_member"] + [::core::mem::offset_of!(file_lock_core, flc_blocked_member) - 56usize]; + ["Offset of field: file_lock_core::flc_owner"] + [::core::mem::offset_of!(file_lock_core, flc_owner) - 72usize]; + ["Offset of field: file_lock_core::flc_flags"] + [::core::mem::offset_of!(file_lock_core, flc_flags) - 80usize]; + ["Offset of field: file_lock_core::flc_type"] + [::core::mem::offset_of!(file_lock_core, flc_type) - 84usize]; + ["Offset of field: file_lock_core::flc_pid"] + [::core::mem::offset_of!(file_lock_core, flc_pid) - 88usize]; + ["Offset of field: file_lock_core::flc_link_cpu"] + [::core::mem::offset_of!(file_lock_core, flc_link_cpu) - 92usize]; + ["Offset of field: file_lock_core::flc_wait"] + [::core::mem::offset_of!(file_lock_core, flc_wait) - 96usize]; + ["Offset of field: file_lock_core::flc_file"] + [::core::mem::offset_of!(file_lock_core, flc_file) - 120usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct file_lease { + pub c: file_lock_core, + pub fl_fasync: *mut fasync_struct, + pub fl_break_time: ::core::ffi::c_ulong, + pub fl_downgrade_time: ::core::ffi::c_ulong, + pub fl_lmops: *const lease_manager_operations, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lease"][::core::mem::size_of::() - 160usize]; + ["Alignment of file_lease"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lease::c"][::core::mem::offset_of!(file_lease, c) - 0usize]; + ["Offset of field: file_lease::fl_fasync"] + [::core::mem::offset_of!(file_lease, fl_fasync) - 128usize]; + ["Offset of field: file_lease::fl_break_time"] + [::core::mem::offset_of!(file_lease, fl_break_time) - 136usize]; + ["Offset of field: file_lease::fl_downgrade_time"] + [::core::mem::offset_of!(file_lease, fl_downgrade_time) - 144usize]; + ["Offset of field: file_lease::fl_lmops"] + [::core::mem::offset_of!(file_lease, fl_lmops) - 152usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nlm_lockowner { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_lock_info { + pub state: u32_, + pub owner: *mut nlm_lockowner, + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_lock_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of nfs_lock_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_lock_info::state"] + [::core::mem::offset_of!(nfs_lock_info, state) - 0usize]; + ["Offset of field: nfs_lock_info::owner"] + [::core::mem::offset_of!(nfs_lock_info, owner) - 8usize]; + ["Offset of field: nfs_lock_info::list"] + [::core::mem::offset_of!(nfs_lock_info, list) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_lock_info { + pub owner: *mut nfs4_lock_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_lock_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of nfs4_lock_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_lock_info::owner"] + [::core::mem::offset_of!(nfs4_lock_info, owner) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct file_lock { + pub c: file_lock_core, + pub fl_start: loff_t, + pub fl_end: loff_t, + pub fl_ops: *const file_lock_operations, + pub fl_lmops: *const lock_manager_operations, + pub fl_u: file_lock__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union file_lock__bindgen_ty_1 { + pub nfs_fl: nfs_lock_info, + pub nfs4_fl: nfs4_lock_info, + pub afs: file_lock__bindgen_ty_1__bindgen_ty_1, + pub ceph: file_lock__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_lock__bindgen_ty_1__bindgen_ty_1 { + pub link: list_head, + pub state: ::core::ffi::c_int, + pub debug_id: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lock__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of file_lock__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lock__bindgen_ty_1__bindgen_ty_1::link"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1__bindgen_ty_1, link) - 0usize]; + ["Offset of field: file_lock__bindgen_ty_1__bindgen_ty_1::state"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1__bindgen_ty_1, state) - 16usize]; + ["Offset of field: file_lock__bindgen_ty_1__bindgen_ty_1::debug_id"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1__bindgen_ty_1, debug_id) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_lock__bindgen_ty_1__bindgen_ty_2 { + pub inode: *mut inode, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lock__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of file_lock__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lock__bindgen_ty_1__bindgen_ty_2::inode"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1__bindgen_ty_2, inode) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lock__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of file_lock__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lock__bindgen_ty_1::nfs_fl"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1, nfs_fl) - 0usize]; + ["Offset of field: file_lock__bindgen_ty_1::nfs4_fl"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1, nfs4_fl) - 0usize]; + ["Offset of field: file_lock__bindgen_ty_1::afs"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1, afs) - 0usize]; + ["Offset of field: file_lock__bindgen_ty_1::ceph"] + [::core::mem::offset_of!(file_lock__bindgen_ty_1, ceph) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lock"][::core::mem::size_of::() - 192usize]; + ["Alignment of file_lock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lock::c"][::core::mem::offset_of!(file_lock, c) - 0usize]; + ["Offset of field: file_lock::fl_start"] + [::core::mem::offset_of!(file_lock, fl_start) - 128usize]; + ["Offset of field: file_lock::fl_end"][::core::mem::offset_of!(file_lock, fl_end) - 136usize]; + ["Offset of field: file_lock::fl_ops"][::core::mem::offset_of!(file_lock, fl_ops) - 144usize]; + ["Offset of field: file_lock::fl_lmops"] + [::core::mem::offset_of!(file_lock, fl_lmops) - 152usize]; + ["Offset of field: file_lock::fl_u"][::core::mem::offset_of!(file_lock, fl_u) - 160usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct file_lock_context { + pub flc_lock: spinlock_t, + pub flc_flock: list_head, + pub flc_posix: list_head, + pub flc_lease: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lock_context"][::core::mem::size_of::() - 56usize]; + ["Alignment of file_lock_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lock_context::flc_lock"] + [::core::mem::offset_of!(file_lock_context, flc_lock) - 0usize]; + ["Offset of field: file_lock_context::flc_flock"] + [::core::mem::offset_of!(file_lock_context, flc_flock) - 8usize]; + ["Offset of field: file_lock_context::flc_posix"] + [::core::mem::offset_of!(file_lock_context, flc_posix) - 24usize]; + ["Offset of field: file_lock_context::flc_lease"] + [::core::mem::offset_of!(file_lock_context, flc_lease) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_lock_operations { + pub fl_copy_lock: + ::core::option::Option, + pub fl_release_private: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_lock_operations"][::core::mem::size_of::() - 16usize]; + ["Alignment of file_lock_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_lock_operations::fl_copy_lock"] + [::core::mem::offset_of!(file_lock_operations, fl_copy_lock) - 0usize]; + ["Offset of field: file_lock_operations::fl_release_private"] + [::core::mem::offset_of!(file_lock_operations, fl_release_private) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_operations { + pub owner: *mut module, + pub fop_flags: fop_flags_t, + pub llseek: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: loff_t, arg3: ::core::ffi::c_int) -> loff_t, + >, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + arg4: *mut loff_t, + ) -> isize, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *const ::core::ffi::c_char, + arg3: usize, + arg4: *mut loff_t, + ) -> isize, + >, + pub read_iter: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kiocb, arg2: *mut iov_iter) -> isize, + >, + pub write_iter: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kiocb, arg2: *mut iov_iter) -> isize, + >, + pub iopoll: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kiocb, + arg2: *mut io_comp_batch, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub iterate_shared: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: *mut dir_context) -> ::core::ffi::c_int, + >, + pub poll: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: *mut poll_table_struct) -> __poll_t, + >, + pub unlocked_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_long, + >, + pub compat_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_long, + >, + pub mmap: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: *mut vm_area_struct) -> ::core::ffi::c_int, + >, + pub open: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut file) -> ::core::ffi::c_int, + >, + pub flush: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: fl_owner_t) -> ::core::ffi::c_int, + >, + pub release: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut file) -> ::core::ffi::c_int, + >, + pub fsync: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: loff_t, + arg3: loff_t, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub fasync: ::core::option::Option< + unsafe extern "C" fn( + arg1: ::core::ffi::c_int, + arg2: *mut file, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub lock: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_int, + arg3: *mut file_lock, + ) -> ::core::ffi::c_int, + >, + pub get_unmapped_area: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + arg4: ::core::ffi::c_ulong, + arg5: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_ulong, + >, + pub check_flags: ::core::option::Option< + unsafe extern "C" fn(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub flock: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_int, + arg3: *mut file_lock, + ) -> ::core::ffi::c_int, + >, + pub splice_write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pipe_inode_info, + arg2: *mut file, + arg3: *mut loff_t, + arg4: usize, + arg5: ::core::ffi::c_uint, + ) -> isize, + >, + pub splice_read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut loff_t, + arg3: *mut pipe_inode_info, + arg4: usize, + arg5: ::core::ffi::c_uint, + ) -> isize, + >, + pub splice_eof: ::core::option::Option, + pub setlease: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_int, + arg3: *mut *mut file_lease, + arg4: *mut *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub fallocate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_int, + arg3: loff_t, + arg4: loff_t, + ) -> ::core::ffi::c_long, + >, + pub show_fdinfo: + ::core::option::Option, + pub copy_file_range: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: loff_t, + arg3: *mut file, + arg4: loff_t, + arg5: usize, + arg6: ::core::ffi::c_uint, + ) -> isize, + >, + pub remap_file_range: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: loff_t, + arg3: *mut file, + arg4: loff_t, + arg5: loff_t, + arg6: ::core::ffi::c_uint, + ) -> loff_t, + >, + pub fadvise: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: loff_t, + arg3: loff_t, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub uring_cmd: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut io_uring_cmd, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub uring_cmd_iopoll: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut io_uring_cmd, + arg2: *mut io_comp_batch, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_operations"][::core::mem::size_of::() - 264usize]; + ["Alignment of file_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_operations::owner"] + [::core::mem::offset_of!(file_operations, owner) - 0usize]; + ["Offset of field: file_operations::fop_flags"] + [::core::mem::offset_of!(file_operations, fop_flags) - 8usize]; + ["Offset of field: file_operations::llseek"] + [::core::mem::offset_of!(file_operations, llseek) - 16usize]; + ["Offset of field: file_operations::read"] + [::core::mem::offset_of!(file_operations, read) - 24usize]; + ["Offset of field: file_operations::write"] + [::core::mem::offset_of!(file_operations, write) - 32usize]; + ["Offset of field: file_operations::read_iter"] + [::core::mem::offset_of!(file_operations, read_iter) - 40usize]; + ["Offset of field: file_operations::write_iter"] + [::core::mem::offset_of!(file_operations, write_iter) - 48usize]; + ["Offset of field: file_operations::iopoll"] + [::core::mem::offset_of!(file_operations, iopoll) - 56usize]; + ["Offset of field: file_operations::iterate_shared"] + [::core::mem::offset_of!(file_operations, iterate_shared) - 64usize]; + ["Offset of field: file_operations::poll"] + [::core::mem::offset_of!(file_operations, poll) - 72usize]; + ["Offset of field: file_operations::unlocked_ioctl"] + [::core::mem::offset_of!(file_operations, unlocked_ioctl) - 80usize]; + ["Offset of field: file_operations::compat_ioctl"] + [::core::mem::offset_of!(file_operations, compat_ioctl) - 88usize]; + ["Offset of field: file_operations::mmap"] + [::core::mem::offset_of!(file_operations, mmap) - 96usize]; + ["Offset of field: file_operations::open"] + [::core::mem::offset_of!(file_operations, open) - 104usize]; + ["Offset of field: file_operations::flush"] + [::core::mem::offset_of!(file_operations, flush) - 112usize]; + ["Offset of field: file_operations::release"] + [::core::mem::offset_of!(file_operations, release) - 120usize]; + ["Offset of field: file_operations::fsync"] + [::core::mem::offset_of!(file_operations, fsync) - 128usize]; + ["Offset of field: file_operations::fasync"] + [::core::mem::offset_of!(file_operations, fasync) - 136usize]; + ["Offset of field: file_operations::lock"] + [::core::mem::offset_of!(file_operations, lock) - 144usize]; + ["Offset of field: file_operations::get_unmapped_area"] + [::core::mem::offset_of!(file_operations, get_unmapped_area) - 152usize]; + ["Offset of field: file_operations::check_flags"] + [::core::mem::offset_of!(file_operations, check_flags) - 160usize]; + ["Offset of field: file_operations::flock"] + [::core::mem::offset_of!(file_operations, flock) - 168usize]; + ["Offset of field: file_operations::splice_write"] + [::core::mem::offset_of!(file_operations, splice_write) - 176usize]; + ["Offset of field: file_operations::splice_read"] + [::core::mem::offset_of!(file_operations, splice_read) - 184usize]; + ["Offset of field: file_operations::splice_eof"] + [::core::mem::offset_of!(file_operations, splice_eof) - 192usize]; + ["Offset of field: file_operations::setlease"] + [::core::mem::offset_of!(file_operations, setlease) - 200usize]; + ["Offset of field: file_operations::fallocate"] + [::core::mem::offset_of!(file_operations, fallocate) - 208usize]; + ["Offset of field: file_operations::show_fdinfo"] + [::core::mem::offset_of!(file_operations, show_fdinfo) - 216usize]; + ["Offset of field: file_operations::copy_file_range"] + [::core::mem::offset_of!(file_operations, copy_file_range) - 224usize]; + ["Offset of field: file_operations::remap_file_range"] + [::core::mem::offset_of!(file_operations, remap_file_range) - 232usize]; + ["Offset of field: file_operations::fadvise"] + [::core::mem::offset_of!(file_operations, fadvise) - 240usize]; + ["Offset of field: file_operations::uring_cmd"] + [::core::mem::offset_of!(file_operations, uring_cmd) - 248usize]; + ["Offset of field: file_operations::uring_cmd_iopoll"] + [::core::mem::offset_of!(file_operations, uring_cmd_iopoll) - 256usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct file_system_type { + pub name: *const ::core::ffi::c_char, + pub fs_flags: ::core::ffi::c_int, + pub init_fs_context: + ::core::option::Option ::core::ffi::c_int>, + pub parameters: *const fs_parameter_spec, + pub mount: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file_system_type, + arg2: ::core::ffi::c_int, + arg3: *const ::core::ffi::c_char, + arg4: *mut ::core::ffi::c_void, + ) -> *mut dentry, + >, + pub kill_sb: ::core::option::Option, + pub owner: *mut module, + pub next: *mut file_system_type, + pub fs_supers: hlist_head, + pub s_lock_key: lock_class_key, + pub s_umount_key: lock_class_key, + pub s_vfs_rename_key: lock_class_key, + pub s_writers_key: [lock_class_key; 3usize], + pub i_lock_key: lock_class_key, + pub i_mutex_key: lock_class_key, + pub invalidate_lock_key: lock_class_key, + pub i_mutex_dir_key: lock_class_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of file_system_type"][::core::mem::size_of::() - 72usize]; + ["Alignment of file_system_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: file_system_type::name"] + [::core::mem::offset_of!(file_system_type, name) - 0usize]; + ["Offset of field: file_system_type::fs_flags"] + [::core::mem::offset_of!(file_system_type, fs_flags) - 8usize]; + ["Offset of field: file_system_type::init_fs_context"] + [::core::mem::offset_of!(file_system_type, init_fs_context) - 16usize]; + ["Offset of field: file_system_type::parameters"] + [::core::mem::offset_of!(file_system_type, parameters) - 24usize]; + ["Offset of field: file_system_type::mount"] + [::core::mem::offset_of!(file_system_type, mount) - 32usize]; + ["Offset of field: file_system_type::kill_sb"] + [::core::mem::offset_of!(file_system_type, kill_sb) - 40usize]; + ["Offset of field: file_system_type::owner"] + [::core::mem::offset_of!(file_system_type, owner) - 48usize]; + ["Offset of field: file_system_type::next"] + [::core::mem::offset_of!(file_system_type, next) - 56usize]; + ["Offset of field: file_system_type::fs_supers"] + [::core::mem::offset_of!(file_system_type, fs_supers) - 64usize]; + ["Offset of field: file_system_type::s_lock_key"] + [::core::mem::offset_of!(file_system_type, s_lock_key) - 72usize]; + ["Offset of field: file_system_type::s_umount_key"] + [::core::mem::offset_of!(file_system_type, s_umount_key) - 72usize]; + ["Offset of field: file_system_type::s_vfs_rename_key"] + [::core::mem::offset_of!(file_system_type, s_vfs_rename_key) - 72usize]; + ["Offset of field: file_system_type::s_writers_key"] + [::core::mem::offset_of!(file_system_type, s_writers_key) - 72usize]; + ["Offset of field: file_system_type::i_lock_key"] + [::core::mem::offset_of!(file_system_type, i_lock_key) - 72usize]; + ["Offset of field: file_system_type::i_mutex_key"] + [::core::mem::offset_of!(file_system_type, i_mutex_key) - 72usize]; + ["Offset of field: file_system_type::invalidate_lock_key"] + [::core::mem::offset_of!(file_system_type, invalidate_lock_key) - 72usize]; + ["Offset of field: file_system_type::i_mutex_dir_key"] + [::core::mem::offset_of!(file_system_type, i_mutex_dir_key) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fileattr { + pub flags: u32_, + pub fsx_xflags: u32_, + pub fsx_extsize: u32_, + pub fsx_nextents: u32_, + pub fsx_projid: u32_, + pub fsx_cowextsize: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fileattr"][::core::mem::size_of::() - 28usize]; + ["Alignment of fileattr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fileattr::flags"][::core::mem::offset_of!(fileattr, flags) - 0usize]; + ["Offset of field: fileattr::fsx_xflags"] + [::core::mem::offset_of!(fileattr, fsx_xflags) - 4usize]; + ["Offset of field: fileattr::fsx_extsize"] + [::core::mem::offset_of!(fileattr, fsx_extsize) - 8usize]; + ["Offset of field: fileattr::fsx_nextents"] + [::core::mem::offset_of!(fileattr, fsx_nextents) - 12usize]; + ["Offset of field: fileattr::fsx_projid"] + [::core::mem::offset_of!(fileattr, fsx_projid) - 16usize]; + ["Offset of field: fileattr::fsx_cowextsize"] + [::core::mem::offset_of!(fileattr, fsx_cowextsize) - 20usize]; +}; +impl fileattr { + #[inline] + pub fn flags_valid(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_flags_valid(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn flags_valid_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_flags_valid_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fsx_valid(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_fsx_valid(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fsx_valid_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fsx_valid_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + flags_valid: bool_, + fsx_valid: bool_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let flags_valid: u8 = unsafe { ::core::mem::transmute(flags_valid) }; + flags_valid as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fsx_valid: u8 = unsafe { ::core::mem::transmute(fsx_valid) }; + fsx_valid as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug)] +pub struct filename { + pub name: *const ::core::ffi::c_char, + pub uptr: *const ::core::ffi::c_char, + pub refcnt: atomic_t, + pub aname: *mut audit_names, + pub iname: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of filename"][::core::mem::size_of::() - 32usize]; + ["Alignment of filename"][::core::mem::align_of::() - 8usize]; + ["Offset of field: filename::name"][::core::mem::offset_of!(filename, name) - 0usize]; + ["Offset of field: filename::uptr"][::core::mem::offset_of!(filename, uptr) - 8usize]; + ["Offset of field: filename::refcnt"][::core::mem::offset_of!(filename, refcnt) - 16usize]; + ["Offset of field: filename::aname"][::core::mem::offset_of!(filename, aname) - 24usize]; + ["Offset of field: filename::iname"][::core::mem::offset_of!(filename, iname) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct files_struct { + pub count: atomic_t, + pub resize_in_progress: bool_, + pub resize_wait: wait_queue_head_t, + pub fdt: *mut fdtable, + pub fdtab: fdtable, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, + pub file_lock: spinlock_t, + pub next_fd: ::core::ffi::c_uint, + pub close_on_exec_init: [::core::ffi::c_ulong; 1usize], + pub open_fds_init: [::core::ffi::c_ulong; 1usize], + pub full_fds_bits_init: [::core::ffi::c_ulong; 1usize], + pub fd_array: [*mut file; 64usize], + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of files_struct"][::core::mem::size_of::() - 704usize]; + ["Alignment of files_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: files_struct::count"][::core::mem::offset_of!(files_struct, count) - 0usize]; + ["Offset of field: files_struct::resize_in_progress"] + [::core::mem::offset_of!(files_struct, resize_in_progress) - 4usize]; + ["Offset of field: files_struct::resize_wait"] + [::core::mem::offset_of!(files_struct, resize_wait) - 8usize]; + ["Offset of field: files_struct::fdt"][::core::mem::offset_of!(files_struct, fdt) - 32usize]; + ["Offset of field: files_struct::fdtab"] + [::core::mem::offset_of!(files_struct, fdtab) - 40usize]; + ["Offset of field: files_struct::file_lock"] + [::core::mem::offset_of!(files_struct, file_lock) - 128usize]; + ["Offset of field: files_struct::next_fd"] + [::core::mem::offset_of!(files_struct, next_fd) - 132usize]; + ["Offset of field: files_struct::close_on_exec_init"] + [::core::mem::offset_of!(files_struct, close_on_exec_init) - 136usize]; + ["Offset of field: files_struct::open_fds_init"] + [::core::mem::offset_of!(files_struct, open_fds_init) - 144usize]; + ["Offset of field: files_struct::full_fds_bits_init"] + [::core::mem::offset_of!(files_struct, full_fds_bits_init) - 152usize]; + ["Offset of field: files_struct::fd_array"] + [::core::mem::offset_of!(files_struct, fd_array) - 160usize]; +}; +impl files_struct { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct filter_pred { + pub regex: *mut regex, + pub mask: *mut cpumask, + pub ops: *mut ::core::ffi::c_ushort, + pub field: *mut ftrace_event_field, + pub val: u64_, + pub val2: u64_, + pub fn_num: filter_pred_fn, + pub offset: ::core::ffi::c_int, + pub not: ::core::ffi::c_int, + pub op: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of filter_pred"][::core::mem::size_of::() - 64usize]; + ["Alignment of filter_pred"][::core::mem::align_of::() - 8usize]; + ["Offset of field: filter_pred::regex"][::core::mem::offset_of!(filter_pred, regex) - 0usize]; + ["Offset of field: filter_pred::mask"][::core::mem::offset_of!(filter_pred, mask) - 8usize]; + ["Offset of field: filter_pred::ops"][::core::mem::offset_of!(filter_pred, ops) - 16usize]; + ["Offset of field: filter_pred::field"][::core::mem::offset_of!(filter_pred, field) - 24usize]; + ["Offset of field: filter_pred::val"][::core::mem::offset_of!(filter_pred, val) - 32usize]; + ["Offset of field: filter_pred::val2"][::core::mem::offset_of!(filter_pred, val2) - 40usize]; + ["Offset of field: filter_pred::fn_num"] + [::core::mem::offset_of!(filter_pred, fn_num) - 48usize]; + ["Offset of field: filter_pred::offset"] + [::core::mem::offset_of!(filter_pred, offset) - 52usize]; + ["Offset of field: filter_pred::not"][::core::mem::offset_of!(filter_pred, not) - 56usize]; + ["Offset of field: filter_pred::op"][::core::mem::offset_of!(filter_pred, op) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct firmware { + pub size: usize, + pub data: *const u8_, + pub priv_: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of firmware"][::core::mem::size_of::() - 24usize]; + ["Alignment of firmware"][::core::mem::align_of::() - 8usize]; + ["Offset of field: firmware::size"][::core::mem::offset_of!(firmware, size) - 0usize]; + ["Offset of field: firmware::data"][::core::mem::offset_of!(firmware, data) - 8usize]; + ["Offset of field: firmware::priv_"][::core::mem::offset_of!(firmware, priv_) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_state { + pub uV: ::core::ffi::c_int, + pub min_uV: ::core::ffi::c_int, + pub max_uV: ::core::ffi::c_int, + pub mode: ::core::ffi::c_uint, + pub enabled: ::core::ffi::c_int, + pub changeable: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_state"][::core::mem::size_of::() - 24usize]; + ["Alignment of regulator_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: regulator_state::uV"][::core::mem::offset_of!(regulator_state, uV) - 0usize]; + ["Offset of field: regulator_state::min_uV"] + [::core::mem::offset_of!(regulator_state, min_uV) - 4usize]; + ["Offset of field: regulator_state::max_uV"] + [::core::mem::offset_of!(regulator_state, max_uV) - 8usize]; + ["Offset of field: regulator_state::mode"] + [::core::mem::offset_of!(regulator_state, mode) - 12usize]; + ["Offset of field: regulator_state::enabled"] + [::core::mem::offset_of!(regulator_state, enabled) - 16usize]; + ["Offset of field: regulator_state::changeable"] + [::core::mem::offset_of!(regulator_state, changeable) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct notification_limit { + pub prot: ::core::ffi::c_int, + pub err: ::core::ffi::c_int, + pub warn: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of notification_limit"][::core::mem::size_of::() - 12usize]; + ["Alignment of notification_limit"][::core::mem::align_of::() - 4usize]; + ["Offset of field: notification_limit::prot"] + [::core::mem::offset_of!(notification_limit, prot) - 0usize]; + ["Offset of field: notification_limit::err"] + [::core::mem::offset_of!(notification_limit, err) - 4usize]; + ["Offset of field: notification_limit::warn"] + [::core::mem::offset_of!(notification_limit, warn) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulation_constraints { + pub name: *const ::core::ffi::c_char, + pub min_uV: ::core::ffi::c_int, + pub max_uV: ::core::ffi::c_int, + pub uV_offset: ::core::ffi::c_int, + pub min_uA: ::core::ffi::c_int, + pub max_uA: ::core::ffi::c_int, + pub ilim_uA: ::core::ffi::c_int, + pub system_load: ::core::ffi::c_int, + pub max_spread: *mut u32_, + pub max_uV_step: ::core::ffi::c_int, + pub valid_modes_mask: ::core::ffi::c_uint, + pub valid_ops_mask: ::core::ffi::c_uint, + pub input_uV: ::core::ffi::c_int, + pub state_disk: regulator_state, + pub state_mem: regulator_state, + pub state_standby: regulator_state, + pub over_curr_limits: notification_limit, + pub over_voltage_limits: notification_limit, + pub under_voltage_limits: notification_limit, + pub temp_limits: notification_limit, + pub initial_state: suspend_state_t, + pub initial_mode: ::core::ffi::c_uint, + pub ramp_delay: ::core::ffi::c_uint, + pub settling_time: ::core::ffi::c_uint, + pub settling_time_up: ::core::ffi::c_uint, + pub settling_time_down: ::core::ffi::c_uint, + pub enable_time: ::core::ffi::c_uint, + pub uv_less_critical_window_ms: ::core::ffi::c_uint, + pub active_discharge: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub __bindgen_padding_0: u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulation_constraints"][::core::mem::size_of::() - 224usize]; + ["Alignment of regulation_constraints"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: regulation_constraints::name"] + [::core::mem::offset_of!(regulation_constraints, name) - 0usize]; + ["Offset of field: regulation_constraints::min_uV"] + [::core::mem::offset_of!(regulation_constraints, min_uV) - 8usize]; + ["Offset of field: regulation_constraints::max_uV"] + [::core::mem::offset_of!(regulation_constraints, max_uV) - 12usize]; + ["Offset of field: regulation_constraints::uV_offset"] + [::core::mem::offset_of!(regulation_constraints, uV_offset) - 16usize]; + ["Offset of field: regulation_constraints::min_uA"] + [::core::mem::offset_of!(regulation_constraints, min_uA) - 20usize]; + ["Offset of field: regulation_constraints::max_uA"] + [::core::mem::offset_of!(regulation_constraints, max_uA) - 24usize]; + ["Offset of field: regulation_constraints::ilim_uA"] + [::core::mem::offset_of!(regulation_constraints, ilim_uA) - 28usize]; + ["Offset of field: regulation_constraints::system_load"] + [::core::mem::offset_of!(regulation_constraints, system_load) - 32usize]; + ["Offset of field: regulation_constraints::max_spread"] + [::core::mem::offset_of!(regulation_constraints, max_spread) - 40usize]; + ["Offset of field: regulation_constraints::max_uV_step"] + [::core::mem::offset_of!(regulation_constraints, max_uV_step) - 48usize]; + ["Offset of field: regulation_constraints::valid_modes_mask"] + [::core::mem::offset_of!(regulation_constraints, valid_modes_mask) - 52usize]; + ["Offset of field: regulation_constraints::valid_ops_mask"] + [::core::mem::offset_of!(regulation_constraints, valid_ops_mask) - 56usize]; + ["Offset of field: regulation_constraints::input_uV"] + [::core::mem::offset_of!(regulation_constraints, input_uV) - 60usize]; + ["Offset of field: regulation_constraints::state_disk"] + [::core::mem::offset_of!(regulation_constraints, state_disk) - 64usize]; + ["Offset of field: regulation_constraints::state_mem"] + [::core::mem::offset_of!(regulation_constraints, state_mem) - 88usize]; + ["Offset of field: regulation_constraints::state_standby"] + [::core::mem::offset_of!(regulation_constraints, state_standby) - 112usize]; + ["Offset of field: regulation_constraints::over_curr_limits"] + [::core::mem::offset_of!(regulation_constraints, over_curr_limits) - 136usize]; + ["Offset of field: regulation_constraints::over_voltage_limits"] + [::core::mem::offset_of!(regulation_constraints, over_voltage_limits) - 148usize]; + ["Offset of field: regulation_constraints::under_voltage_limits"] + [::core::mem::offset_of!(regulation_constraints, under_voltage_limits) - 160usize]; + ["Offset of field: regulation_constraints::temp_limits"] + [::core::mem::offset_of!(regulation_constraints, temp_limits) - 172usize]; + ["Offset of field: regulation_constraints::initial_state"] + [::core::mem::offset_of!(regulation_constraints, initial_state) - 184usize]; + ["Offset of field: regulation_constraints::initial_mode"] + [::core::mem::offset_of!(regulation_constraints, initial_mode) - 188usize]; + ["Offset of field: regulation_constraints::ramp_delay"] + [::core::mem::offset_of!(regulation_constraints, ramp_delay) - 192usize]; + ["Offset of field: regulation_constraints::settling_time"] + [::core::mem::offset_of!(regulation_constraints, settling_time) - 196usize]; + ["Offset of field: regulation_constraints::settling_time_up"] + [::core::mem::offset_of!(regulation_constraints, settling_time_up) - 200usize]; + ["Offset of field: regulation_constraints::settling_time_down"] + [::core::mem::offset_of!(regulation_constraints, settling_time_down) - 204usize]; + ["Offset of field: regulation_constraints::enable_time"] + [::core::mem::offset_of!(regulation_constraints, enable_time) - 208usize]; + ["Offset of field: regulation_constraints::uv_less_critical_window_ms"] + [::core::mem::offset_of!(regulation_constraints, uv_less_critical_window_ms) - 212usize]; + ["Offset of field: regulation_constraints::active_discharge"] + [::core::mem::offset_of!(regulation_constraints, active_discharge) - 216usize]; +}; +impl regulation_constraints { + #[inline] + pub fn always_on(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_always_on(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn always_on_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_always_on_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn boot_on(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_boot_on(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn boot_on_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_boot_on_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn apply_uV(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_apply_uV(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn apply_uV_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_apply_uV_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ramp_disable(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_ramp_disable(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ramp_disable_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_ramp_disable_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn soft_start(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_soft_start(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn soft_start_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_soft_start_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn pull_down(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_pull_down(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn pull_down_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_pull_down_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn system_critical(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_system_critical(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn system_critical_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_system_critical_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn over_current_protection(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_over_current_protection(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn over_current_protection_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_over_current_protection_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn over_current_detection(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_over_current_detection(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn over_current_detection_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_over_current_detection_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn over_voltage_detection(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_over_voltage_detection(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn over_voltage_detection_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_over_voltage_detection_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn under_voltage_detection(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_under_voltage_detection(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn under_voltage_detection_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 10usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_under_voltage_detection_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn over_temp_detection(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_over_temp_detection(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn over_temp_detection_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_over_temp_detection_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + always_on: ::core::ffi::c_uint, + boot_on: ::core::ffi::c_uint, + apply_uV: ::core::ffi::c_uint, + ramp_disable: ::core::ffi::c_uint, + soft_start: ::core::ffi::c_uint, + pull_down: ::core::ffi::c_uint, + system_critical: ::core::ffi::c_uint, + over_current_protection: ::core::ffi::c_uint, + over_current_detection: ::core::ffi::c_uint, + over_voltage_detection: ::core::ffi::c_uint, + under_voltage_detection: ::core::ffi::c_uint, + over_temp_detection: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let always_on: u32 = unsafe { ::core::mem::transmute(always_on) }; + always_on as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let boot_on: u32 = unsafe { ::core::mem::transmute(boot_on) }; + boot_on as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let apply_uV: u32 = unsafe { ::core::mem::transmute(apply_uV) }; + apply_uV as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let ramp_disable: u32 = unsafe { ::core::mem::transmute(ramp_disable) }; + ramp_disable as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let soft_start: u32 = unsafe { ::core::mem::transmute(soft_start) }; + soft_start as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let pull_down: u32 = unsafe { ::core::mem::transmute(pull_down) }; + pull_down as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let system_critical: u32 = unsafe { ::core::mem::transmute(system_critical) }; + system_critical as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let over_current_protection: u32 = + unsafe { ::core::mem::transmute(over_current_protection) }; + over_current_protection as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let over_current_detection: u32 = + unsafe { ::core::mem::transmute(over_current_detection) }; + over_current_detection as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let over_voltage_detection: u32 = + unsafe { ::core::mem::transmute(over_voltage_detection) }; + over_voltage_detection as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let under_voltage_detection: u32 = + unsafe { ::core::mem::transmute(under_voltage_detection) }; + under_voltage_detection as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let over_temp_detection: u32 = unsafe { ::core::mem::transmute(over_temp_detection) }; + over_temp_detection as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_init_data { + pub supply_regulator: *const ::core::ffi::c_char, + pub constraints: regulation_constraints, + pub num_consumer_supplies: ::core::ffi::c_int, + pub consumer_supplies: *mut regulator_consumer_supply, + pub regulator_init: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int, + >, + pub driver_data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_init_data"][::core::mem::size_of::() - 264usize]; + ["Alignment of regulator_init_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_init_data::supply_regulator"] + [::core::mem::offset_of!(regulator_init_data, supply_regulator) - 0usize]; + ["Offset of field: regulator_init_data::constraints"] + [::core::mem::offset_of!(regulator_init_data, constraints) - 8usize]; + ["Offset of field: regulator_init_data::num_consumer_supplies"] + [::core::mem::offset_of!(regulator_init_data, num_consumer_supplies) - 232usize]; + ["Offset of field: regulator_init_data::consumer_supplies"] + [::core::mem::offset_of!(regulator_init_data, consumer_supplies) - 240usize]; + ["Offset of field: regulator_init_data::regulator_init"] + [::core::mem::offset_of!(regulator_init_data, regulator_init) - 248usize]; + ["Offset of field: regulator_init_data::driver_data"] + [::core::mem::offset_of!(regulator_init_data, driver_data) - 256usize]; +}; +pub type action_destr = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_flowtable { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct flow_action_entry { + pub id: flow_action_id, + pub hw_index: u32_, + pub cookie: ::core::ffi::c_ulong, + pub miss_cookie: u64_, + pub hw_stats: flow_action_hw_stats, + pub destructor: action_destr, + pub destructor_priv: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: flow_action_entry__bindgen_ty_1, + pub user_cookie: *mut flow_action_cookie, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union flow_action_entry__bindgen_ty_1 { + pub chain_index: u32_, + pub dev: *mut net_device, + pub vlan: flow_action_entry__bindgen_ty_1__bindgen_ty_1, + pub vlan_push_eth: flow_action_entry__bindgen_ty_1__bindgen_ty_2, + pub mangle: flow_action_entry__bindgen_ty_1__bindgen_ty_3, + pub tunnel: *mut ip_tunnel_info, + pub csum_flags: u32_, + pub mark: u32_, + pub ptype: u16_, + pub rx_queue: u16_, + pub priority: u32_, + pub queue: flow_action_entry__bindgen_ty_1__bindgen_ty_4, + pub sample: flow_action_entry__bindgen_ty_1__bindgen_ty_5, + pub police: flow_action_entry__bindgen_ty_1__bindgen_ty_6, + pub ct: flow_action_entry__bindgen_ty_1__bindgen_ty_7, + pub ct_metadata: flow_action_entry__bindgen_ty_1__bindgen_ty_8, + pub mpls_push: flow_action_entry__bindgen_ty_1__bindgen_ty_9, + pub mpls_pop: flow_action_entry__bindgen_ty_1__bindgen_ty_10, + pub mpls_mangle: flow_action_entry__bindgen_ty_1__bindgen_ty_11, + pub gate: flow_action_entry__bindgen_ty_1__bindgen_ty_12, + pub pppoe: flow_action_entry__bindgen_ty_1__bindgen_ty_13, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_1 { + pub vid: u16_, + pub proto: __be16, + pub prio: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 6usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_1::vid"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_1, vid) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_1::proto"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_1, proto) - 2usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_1::prio"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_1, prio) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_2 { + pub dst: [::core::ffi::c_uchar; 6usize], + pub src: [::core::ffi::c_uchar; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_2::dst"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_2, dst) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_2::src"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_2, src) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_3 { + pub htype: flow_action_mangle_base, + pub offset: u32_, + pub mask: u32_, + pub val: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_3::htype"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_3, htype) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_3::offset"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_3, offset) - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_3::mask"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_3, mask) - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_3::val"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_3, val) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_4 { + pub ctx: u32_, + pub index: u32_, + pub vf: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_4::ctx"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_4, ctx) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_4::index"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_4, index) - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_4::vf"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_4, vf) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_5 { + pub psample_group: *mut psample_group, + pub rate: u32_, + pub trunc_size: u32_, + pub truncate: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_5::psample_group"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_5, + psample_group + ) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_5::rate"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_5, rate) - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_5::trunc_size"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_5, + trunc_size + ) - 12usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_5::truncate"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_5, + truncate + ) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_6 { + pub burst: u32_, + pub rate_bytes_ps: u64_, + pub peakrate_bytes_ps: u64_, + pub avrate: u32_, + pub overhead: u16_, + pub burst_pkt: u64_, + pub rate_pkt_ps: u64_, + pub mtu: u32_, + pub exceed: flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1, + pub notexceed: flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1 { + pub act_id: flow_action_id, + pub extval: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1"][::core::mem::size_of::< + flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1, + >() - 8usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1"] + [::core::mem::align_of::() + - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1::act_id"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1, + act_id + ) + - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1::extval"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1, + extval + ) + - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2 { + pub act_id: flow_action_id, + pub extval: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2"][::core::mem::size_of::< + flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2, + >() - 8usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2"] + [::core::mem::align_of::() + - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2::act_id"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2, + act_id + ) + - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2::extval"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6__bindgen_ty_2, + extval + ) + - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::size_of::() - 72usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::burst"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_6, burst) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::rate_bytes_ps"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6, + rate_bytes_ps + ) - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::peakrate_bytes_ps"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6, + peakrate_bytes_ps + ) + - 16usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::avrate"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_6, avrate) - 24usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::overhead"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6, + overhead + ) - 28usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::burst_pkt"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6, + burst_pkt + ) - 32usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::rate_pkt_ps"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6, + rate_pkt_ps + ) - 40usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::mtu"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_6, mtu) - 48usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::exceed"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_6, exceed) - 52usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_6::notexceed"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_6, + notexceed + ) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_7 { + pub action: ::core::ffi::c_int, + pub zone: u16_, + pub flow_table: *mut nf_flowtable, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_7"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_7"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_7::action"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_7, action) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_7::zone"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_7, zone) - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_7::flow_table"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_7, + flow_table + ) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_8 { + pub cookie: ::core::ffi::c_ulong, + pub mark: u32_, + pub labels: [u32_; 4usize], + pub orig_dir: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_8"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_8"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_8::cookie"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_8, cookie) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_8::mark"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_8, mark) - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_8::labels"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_8, labels) - 12usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_8::orig_dir"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_8, + orig_dir + ) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_9 { + pub label: u32_, + pub proto: __be16, + pub tc: u8_, + pub bos: u8_, + pub ttl: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_9"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_9"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_9::label"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_9, label) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_9::proto"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_9, proto) - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_9::tc"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_9, tc) - 6usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_9::bos"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_9, bos) - 7usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_9::ttl"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_9, ttl) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_10 { + pub proto: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_10"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_10"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_10::proto"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_10, proto) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_11 { + pub label: u32_, + pub tc: u8_, + pub bos: u8_, + pub ttl: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_11"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_11"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_11::label"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_11, label) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_11::tc"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_11, tc) - 4usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_11::bos"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_11, bos) - 5usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_11::ttl"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_11, ttl) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_12 { + pub prio: s32, + pub basetime: u64_, + pub cycletime: u64_, + pub cycletimeext: u64_, + pub num_entries: u32_, + pub entries: *mut action_gate_entry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_12"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_12"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_12::prio"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_12, prio) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_12::basetime"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_12, + basetime + ) - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_12::cycletime"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_12, + cycletime + ) - 16usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_12::cycletimeext"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_12, + cycletimeext + ) - 24usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_12::num_entries"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_12, + num_entries + ) - 32usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_12::entries"][::core::mem::offset_of!( + flow_action_entry__bindgen_ty_1__bindgen_ty_12, + entries + ) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_action_entry__bindgen_ty_1__bindgen_ty_13 { + pub sid: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1__bindgen_ty_13"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of flow_action_entry__bindgen_ty_1__bindgen_ty_13"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1__bindgen_ty_13::sid"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1__bindgen_ty_13, sid) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry__bindgen_ty_1"] + [::core::mem::size_of::() - 72usize]; + ["Alignment of flow_action_entry__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::chain_index"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, chain_index) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::dev"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, dev) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::vlan"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, vlan) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::vlan_push_eth"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, vlan_push_eth) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::mangle"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, mangle) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::tunnel"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, tunnel) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::csum_flags"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, csum_flags) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::mark"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, mark) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::ptype"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, ptype) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::rx_queue"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, rx_queue) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::priority"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, priority) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::queue"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, queue) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::sample"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, sample) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::police"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, police) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::ct"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, ct) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::ct_metadata"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, ct_metadata) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::mpls_push"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, mpls_push) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::mpls_pop"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, mpls_pop) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::mpls_mangle"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, mpls_mangle) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::gate"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, gate) - 0usize]; + ["Offset of field: flow_action_entry__bindgen_ty_1::pppoe"] + [::core::mem::offset_of!(flow_action_entry__bindgen_ty_1, pppoe) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_entry"][::core::mem::size_of::() - 128usize]; + ["Alignment of flow_action_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action_entry::id"] + [::core::mem::offset_of!(flow_action_entry, id) - 0usize]; + ["Offset of field: flow_action_entry::hw_index"] + [::core::mem::offset_of!(flow_action_entry, hw_index) - 4usize]; + ["Offset of field: flow_action_entry::cookie"] + [::core::mem::offset_of!(flow_action_entry, cookie) - 8usize]; + ["Offset of field: flow_action_entry::miss_cookie"] + [::core::mem::offset_of!(flow_action_entry, miss_cookie) - 16usize]; + ["Offset of field: flow_action_entry::hw_stats"] + [::core::mem::offset_of!(flow_action_entry, hw_stats) - 24usize]; + ["Offset of field: flow_action_entry::destructor"] + [::core::mem::offset_of!(flow_action_entry, destructor) - 32usize]; + ["Offset of field: flow_action_entry::destructor_priv"] + [::core::mem::offset_of!(flow_action_entry, destructor_priv) - 40usize]; + ["Offset of field: flow_action_entry::user_cookie"] + [::core::mem::offset_of!(flow_action_entry, user_cookie) - 120usize]; +}; +#[repr(C)] +pub struct flow_action { + pub num_entries: ::core::ffi::c_uint, + pub entries: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action"][::core::mem::size_of::() - 8usize]; + ["Alignment of flow_action"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_action::num_entries"] + [::core::mem::offset_of!(flow_action, num_entries) - 0usize]; + ["Offset of field: flow_action::entries"] + [::core::mem::offset_of!(flow_action, entries) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct flow_action_cookie { + pub cookie_len: u32_, + pub cookie: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_action_cookie"][::core::mem::size_of::() - 4usize]; + ["Alignment of flow_action_cookie"][::core::mem::align_of::() - 4usize]; + ["Offset of field: flow_action_cookie::cookie_len"] + [::core::mem::offset_of!(flow_action_cookie, cookie_len) - 0usize]; + ["Offset of field: flow_action_cookie::cookie"] + [::core::mem::offset_of!(flow_action_cookie, cookie) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_block { + pub cb_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_block"][::core::mem::size_of::() - 16usize]; + ["Alignment of flow_block"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_block::cb_list"][::core::mem::offset_of!(flow_block, cb_list) - 0usize]; +}; +pub type flow_setup_cb_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: tc_setup_type, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_cls_common_offload { + pub chain_index: u32_, + pub protocol: __be16, + pub prio: u32_, + pub extack: *mut netlink_ext_ack, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_cls_common_offload"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of flow_cls_common_offload"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_cls_common_offload::chain_index"] + [::core::mem::offset_of!(flow_cls_common_offload, chain_index) - 0usize]; + ["Offset of field: flow_cls_common_offload::protocol"] + [::core::mem::offset_of!(flow_cls_common_offload, protocol) - 4usize]; + ["Offset of field: flow_cls_common_offload::prio"] + [::core::mem::offset_of!(flow_cls_common_offload, prio) - 8usize]; + ["Offset of field: flow_cls_common_offload::extack"] + [::core::mem::offset_of!(flow_cls_common_offload, extack) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_stats { + pub pkts: u64_, + pub bytes: u64_, + pub drops: u64_, + pub lastused: u64_, + pub used_hw_stats: flow_action_hw_stats, + pub used_hw_stats_valid: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_stats"][::core::mem::size_of::() - 40usize]; + ["Alignment of flow_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_stats::pkts"][::core::mem::offset_of!(flow_stats, pkts) - 0usize]; + ["Offset of field: flow_stats::bytes"][::core::mem::offset_of!(flow_stats, bytes) - 8usize]; + ["Offset of field: flow_stats::drops"][::core::mem::offset_of!(flow_stats, drops) - 16usize]; + ["Offset of field: flow_stats::lastused"] + [::core::mem::offset_of!(flow_stats, lastused) - 24usize]; + ["Offset of field: flow_stats::used_hw_stats"] + [::core::mem::offset_of!(flow_stats, used_hw_stats) - 32usize]; + ["Offset of field: flow_stats::used_hw_stats_valid"] + [::core::mem::offset_of!(flow_stats, used_hw_stats_valid) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_cls_offload { + pub common: flow_cls_common_offload, + pub command: flow_cls_command, + pub use_act_stats: bool_, + pub cookie: ::core::ffi::c_ulong, + pub rule: *mut flow_rule, + pub stats: flow_stats, + pub classid: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_cls_offload"][::core::mem::size_of::() - 96usize]; + ["Alignment of flow_cls_offload"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_cls_offload::common"] + [::core::mem::offset_of!(flow_cls_offload, common) - 0usize]; + ["Offset of field: flow_cls_offload::command"] + [::core::mem::offset_of!(flow_cls_offload, command) - 24usize]; + ["Offset of field: flow_cls_offload::use_act_stats"] + [::core::mem::offset_of!(flow_cls_offload, use_act_stats) - 28usize]; + ["Offset of field: flow_cls_offload::cookie"] + [::core::mem::offset_of!(flow_cls_offload, cookie) - 32usize]; + ["Offset of field: flow_cls_offload::rule"] + [::core::mem::offset_of!(flow_cls_offload, rule) - 40usize]; + ["Offset of field: flow_cls_offload::stats"] + [::core::mem::offset_of!(flow_cls_offload, stats) - 48usize]; + ["Offset of field: flow_cls_offload::classid"] + [::core::mem::offset_of!(flow_cls_offload, classid) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flow_match { + pub dissector: *mut flow_dissector, + pub mask: *mut ::core::ffi::c_void, + pub key: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_match"][::core::mem::size_of::() - 24usize]; + ["Alignment of flow_match"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_match::dissector"] + [::core::mem::offset_of!(flow_match, dissector) - 0usize]; + ["Offset of field: flow_match::mask"][::core::mem::offset_of!(flow_match, mask) - 8usize]; + ["Offset of field: flow_match::key"][::core::mem::offset_of!(flow_match, key) - 16usize]; +}; +#[repr(C)] +pub struct flow_rule { + pub match_: flow_match, + pub action: flow_action, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flow_rule"][::core::mem::size_of::() - 32usize]; + ["Alignment of flow_rule"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flow_rule::match_"][::core::mem::offset_of!(flow_rule, match_) - 0usize]; + ["Offset of field: flow_rule::action"][::core::mem::offset_of!(flow_rule, action) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flowi_tunnel { + pub tun_id: __be64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi_tunnel"][::core::mem::size_of::() - 8usize]; + ["Alignment of flowi_tunnel"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flowi_tunnel::tun_id"] + [::core::mem::offset_of!(flowi_tunnel, tun_id) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flowi_common { + pub flowic_oif: ::core::ffi::c_int, + pub flowic_iif: ::core::ffi::c_int, + pub flowic_l3mdev: ::core::ffi::c_int, + pub flowic_mark: __u32, + pub flowic_tos: __u8, + pub flowic_scope: __u8, + pub flowic_proto: __u8, + pub flowic_flags: __u8, + pub flowic_secid: __u32, + pub flowic_uid: kuid_t, + pub flowic_multipath_hash: __u32, + pub flowic_tun_key: flowi_tunnel, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi_common"][::core::mem::size_of::() - 40usize]; + ["Alignment of flowi_common"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flowi_common::flowic_oif"] + [::core::mem::offset_of!(flowi_common, flowic_oif) - 0usize]; + ["Offset of field: flowi_common::flowic_iif"] + [::core::mem::offset_of!(flowi_common, flowic_iif) - 4usize]; + ["Offset of field: flowi_common::flowic_l3mdev"] + [::core::mem::offset_of!(flowi_common, flowic_l3mdev) - 8usize]; + ["Offset of field: flowi_common::flowic_mark"] + [::core::mem::offset_of!(flowi_common, flowic_mark) - 12usize]; + ["Offset of field: flowi_common::flowic_tos"] + [::core::mem::offset_of!(flowi_common, flowic_tos) - 16usize]; + ["Offset of field: flowi_common::flowic_scope"] + [::core::mem::offset_of!(flowi_common, flowic_scope) - 17usize]; + ["Offset of field: flowi_common::flowic_proto"] + [::core::mem::offset_of!(flowi_common, flowic_proto) - 18usize]; + ["Offset of field: flowi_common::flowic_flags"] + [::core::mem::offset_of!(flowi_common, flowic_flags) - 19usize]; + ["Offset of field: flowi_common::flowic_secid"] + [::core::mem::offset_of!(flowi_common, flowic_secid) - 20usize]; + ["Offset of field: flowi_common::flowic_uid"] + [::core::mem::offset_of!(flowi_common, flowic_uid) - 24usize]; + ["Offset of field: flowi_common::flowic_multipath_hash"] + [::core::mem::offset_of!(flowi_common, flowic_multipath_hash) - 28usize]; + ["Offset of field: flowi_common::flowic_tun_key"] + [::core::mem::offset_of!(flowi_common, flowic_tun_key) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union flowi_uli { + pub ports: flowi_uli__bindgen_ty_1, + pub icmpt: flowi_uli__bindgen_ty_2, + pub gre_key: __be32, + pub mht: flowi_uli__bindgen_ty_3, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flowi_uli__bindgen_ty_1 { + pub dport: __be16, + pub sport: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi_uli__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of flowi_uli__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: flowi_uli__bindgen_ty_1::dport"] + [::core::mem::offset_of!(flowi_uli__bindgen_ty_1, dport) - 0usize]; + ["Offset of field: flowi_uli__bindgen_ty_1::sport"] + [::core::mem::offset_of!(flowi_uli__bindgen_ty_1, sport) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flowi_uli__bindgen_ty_2 { + pub type_: __u8, + pub code: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi_uli__bindgen_ty_2"][::core::mem::size_of::() - 2usize]; + ["Alignment of flowi_uli__bindgen_ty_2"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: flowi_uli__bindgen_ty_2::type_"] + [::core::mem::offset_of!(flowi_uli__bindgen_ty_2, type_) - 0usize]; + ["Offset of field: flowi_uli__bindgen_ty_2::code"] + [::core::mem::offset_of!(flowi_uli__bindgen_ty_2, code) - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flowi_uli__bindgen_ty_3 { + pub type_: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi_uli__bindgen_ty_3"][::core::mem::size_of::() - 1usize]; + ["Alignment of flowi_uli__bindgen_ty_3"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: flowi_uli__bindgen_ty_3::type_"] + [::core::mem::offset_of!(flowi_uli__bindgen_ty_3, type_) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi_uli"][::core::mem::size_of::() - 4usize]; + ["Alignment of flowi_uli"][::core::mem::align_of::() - 4usize]; + ["Offset of field: flowi_uli::ports"][::core::mem::offset_of!(flowi_uli, ports) - 0usize]; + ["Offset of field: flowi_uli::icmpt"][::core::mem::offset_of!(flowi_uli, icmpt) - 0usize]; + ["Offset of field: flowi_uli::gre_key"][::core::mem::offset_of!(flowi_uli, gre_key) - 0usize]; + ["Offset of field: flowi_uli::mht"][::core::mem::offset_of!(flowi_uli, mht) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct flowi4 { + pub __fl_common: flowi_common, + pub saddr: __be32, + pub daddr: __be32, + pub uli: flowi_uli, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi4"][::core::mem::size_of::() - 56usize]; + ["Alignment of flowi4"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flowi4::__fl_common"][::core::mem::offset_of!(flowi4, __fl_common) - 0usize]; + ["Offset of field: flowi4::saddr"][::core::mem::offset_of!(flowi4, saddr) - 40usize]; + ["Offset of field: flowi4::daddr"][::core::mem::offset_of!(flowi4, daddr) - 44usize]; + ["Offset of field: flowi4::uli"][::core::mem::offset_of!(flowi4, uli) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct flowi6 { + pub __fl_common: flowi_common, + pub daddr: in6_addr, + pub saddr: in6_addr, + pub flowlabel: __be32, + pub uli: flowi_uli, + pub mp_hash: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi6"][::core::mem::size_of::() - 88usize]; + ["Alignment of flowi6"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flowi6::__fl_common"][::core::mem::offset_of!(flowi6, __fl_common) - 0usize]; + ["Offset of field: flowi6::daddr"][::core::mem::offset_of!(flowi6, daddr) - 40usize]; + ["Offset of field: flowi6::saddr"][::core::mem::offset_of!(flowi6, saddr) - 56usize]; + ["Offset of field: flowi6::flowlabel"][::core::mem::offset_of!(flowi6, flowlabel) - 72usize]; + ["Offset of field: flowi6::uli"][::core::mem::offset_of!(flowi6, uli) - 76usize]; + ["Offset of field: flowi6::mp_hash"][::core::mem::offset_of!(flowi6, mp_hash) - 80usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct flowi { + pub u: flowi__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union flowi__bindgen_ty_1 { + pub __fl_common: flowi_common, + pub ip4: flowi4, + pub ip6: flowi6, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi__bindgen_ty_1"][::core::mem::size_of::() - 88usize]; + ["Alignment of flowi__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flowi__bindgen_ty_1::__fl_common"] + [::core::mem::offset_of!(flowi__bindgen_ty_1, __fl_common) - 0usize]; + ["Offset of field: flowi__bindgen_ty_1::ip4"] + [::core::mem::offset_of!(flowi__bindgen_ty_1, ip4) - 0usize]; + ["Offset of field: flowi__bindgen_ty_1::ip6"] + [::core::mem::offset_of!(flowi__bindgen_ty_1, ip6) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of flowi"][::core::mem::size_of::() - 88usize]; + ["Alignment of flowi"][::core::mem::align_of::() - 8usize]; + ["Offset of field: flowi::u"][::core::mem::offset_of!(flowi, u) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fnhe_hash_bucket { + pub chain: *mut fib_nh_exception, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fnhe_hash_bucket"][::core::mem::size_of::() - 8usize]; + ["Alignment of fnhe_hash_bucket"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fnhe_hash_bucket::chain"] + [::core::mem::offset_of!(fnhe_hash_bucket, chain) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct page { + pub flags: ::core::ffi::c_ulong, + pub __bindgen_anon_1: page__bindgen_ty_1, + pub __bindgen_anon_2: page__bindgen_ty_2, + pub _refcount: atomic_t, + pub memcg_data: ::core::ffi::c_ulong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union page__bindgen_ty_1 { + pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: page__bindgen_ty_1__bindgen_ty_2, + pub __bindgen_anon_3: page__bindgen_ty_1__bindgen_ty_3, + pub __bindgen_anon_4: page__bindgen_ty_1__bindgen_ty_4, + pub callback_head: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct page__bindgen_ty_1__bindgen_ty_1 { + pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub mapping: *mut address_space, + pub __bindgen_anon_2: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + pub private: ::core::ffi::c_ulong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub lru: list_head, + pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub buddy_list: list_head, + pub pcp_list: list_head, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub __filler: *mut ::core::ffi::c_void, + pub mlock_count: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >() - 16usize]; + ["Alignment of page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() + - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::__filler"][::core::mem::offset_of!( + page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + __filler + ) + - 0usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::mlock_count"] [:: core :: mem :: offset_of ! (page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 , mlock_count) - 8usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::lru"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, lru) - 0usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::buddy_list"][::core::mem::offset_of!( + page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + buddy_list + ) - 0usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::pcp_list"][::core::mem::offset_of!( + page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pcp_list + ) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 { + pub index: ::core::ffi::c_ulong, + pub share: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2::index"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, index) - 0usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2::share"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, share) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of page__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1::mapping"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_1, mapping) - 16usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_1::private"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_1, private) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page__bindgen_ty_1__bindgen_ty_2 { + pub pp_magic: ::core::ffi::c_ulong, + pub pp: *mut page_pool, + pub _pp_mapping_pad: ::core::ffi::c_ulong, + pub dma_addr: ::core::ffi::c_ulong, + pub pp_ref_count: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of page__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_2::pp_magic"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_2, pp_magic) - 0usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_2::pp"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_2, pp) - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_2::_pp_mapping_pad"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_2, _pp_mapping_pad) - 16usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_2::dma_addr"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_2, dma_addr) - 24usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_2::pp_ref_count"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_2, pp_ref_count) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page__bindgen_ty_1__bindgen_ty_3 { + pub compound_head: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of page__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_3::compound_head"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_3, compound_head) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page__bindgen_ty_1__bindgen_ty_4 { + pub pgmap: *mut dev_pagemap, + pub zone_device_data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of page__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_4::pgmap"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_4, pgmap) - 0usize]; + ["Offset of field: page__bindgen_ty_1__bindgen_ty_4::zone_device_data"] + [::core::mem::offset_of!(page__bindgen_ty_1__bindgen_ty_4, zone_device_data) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_1"][::core::mem::size_of::() - 40usize]; + ["Alignment of page__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: page__bindgen_ty_1::callback_head"] + [::core::mem::offset_of!(page__bindgen_ty_1, callback_head) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union page__bindgen_ty_2 { + pub page_type: ::core::ffi::c_uint, + pub _mapcount: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page__bindgen_ty_2"][::core::mem::size_of::() - 4usize]; + ["Alignment of page__bindgen_ty_2"][::core::mem::align_of::() - 4usize]; + ["Offset of field: page__bindgen_ty_2::page_type"] + [::core::mem::offset_of!(page__bindgen_ty_2, page_type) - 0usize]; + ["Offset of field: page__bindgen_ty_2::_mapcount"] + [::core::mem::offset_of!(page__bindgen_ty_2, _mapcount) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page"][::core::mem::size_of::() - 64usize]; + ["Alignment of page"][::core::mem::align_of::() - 8usize]; + ["Offset of field: page::flags"][::core::mem::offset_of!(page, flags) - 0usize]; + ["Offset of field: page::_refcount"][::core::mem::offset_of!(page, _refcount) - 52usize]; + ["Offset of field: page::memcg_data"][::core::mem::offset_of!(page, memcg_data) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct folio { + pub __bindgen_anon_1: folio__bindgen_ty_1, + pub __bindgen_anon_2: folio__bindgen_ty_2, + pub __bindgen_anon_3: folio__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union folio__bindgen_ty_1 { + pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1, + pub page: page, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct folio__bindgen_ty_1__bindgen_ty_1 { + pub flags: ::core::ffi::c_ulong, + pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub mapping: *mut address_space, + pub index: ::core::ffi::c_ulong, + pub __bindgen_anon_2: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + pub _mapcount: atomic_t, + pub _refcount: atomic_t, + pub memcg_data: ::core::ffi::c_ulong, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub lru: list_head, + pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub __filler: *mut ::core::ffi::c_void, + pub mlock_count: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >() - 16usize]; + ["Alignment of folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() + - 8usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::__filler"][::core::mem::offset_of!( + folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + __filler + ) + - 0usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::mlock_count"] [:: core :: mem :: offset_of ! (folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 , mlock_count) - 8usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::lru"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, lru) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 { + pub private: *mut ::core::ffi::c_void, + pub swap: swp_entry_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2::private"][::core::mem::offset_of!( + folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + private + ) - 0usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2::swap"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, swap) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of folio__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1::flags"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1, flags) - 0usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1::mapping"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1, mapping) - 24usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1::index"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1, index) - 32usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1::_mapcount"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1, _mapcount) - 48usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1::_refcount"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1, _refcount) - 52usize]; + ["Offset of field: folio__bindgen_ty_1__bindgen_ty_1::memcg_data"] + [::core::mem::offset_of!(folio__bindgen_ty_1__bindgen_ty_1, memcg_data) - 56usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_1"][::core::mem::size_of::() - 64usize]; + ["Alignment of folio__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_1::page"] + [::core::mem::offset_of!(folio__bindgen_ty_1, page) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union folio__bindgen_ty_2 { + pub __bindgen_anon_1: folio__bindgen_ty_2__bindgen_ty_1, + pub __page_1: page, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct folio__bindgen_ty_2__bindgen_ty_1 { + pub _flags_1: ::core::ffi::c_ulong, + pub _head_1: ::core::ffi::c_ulong, + pub _large_mapcount: atomic_t, + pub _entire_mapcount: atomic_t, + pub _nr_pages_mapped: atomic_t, + pub _pincount: atomic_t, + pub _folio_nr_pages: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of folio__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_2__bindgen_ty_1::_flags_1"] + [::core::mem::offset_of!(folio__bindgen_ty_2__bindgen_ty_1, _flags_1) - 0usize]; + ["Offset of field: folio__bindgen_ty_2__bindgen_ty_1::_head_1"] + [::core::mem::offset_of!(folio__bindgen_ty_2__bindgen_ty_1, _head_1) - 8usize]; + ["Offset of field: folio__bindgen_ty_2__bindgen_ty_1::_large_mapcount"] + [::core::mem::offset_of!(folio__bindgen_ty_2__bindgen_ty_1, _large_mapcount) - 16usize]; + ["Offset of field: folio__bindgen_ty_2__bindgen_ty_1::_entire_mapcount"] + [::core::mem::offset_of!(folio__bindgen_ty_2__bindgen_ty_1, _entire_mapcount) - 20usize]; + ["Offset of field: folio__bindgen_ty_2__bindgen_ty_1::_nr_pages_mapped"] + [::core::mem::offset_of!(folio__bindgen_ty_2__bindgen_ty_1, _nr_pages_mapped) - 24usize]; + ["Offset of field: folio__bindgen_ty_2__bindgen_ty_1::_pincount"] + [::core::mem::offset_of!(folio__bindgen_ty_2__bindgen_ty_1, _pincount) - 28usize]; + ["Offset of field: folio__bindgen_ty_2__bindgen_ty_1::_folio_nr_pages"] + [::core::mem::offset_of!(folio__bindgen_ty_2__bindgen_ty_1, _folio_nr_pages) - 32usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_2"][::core::mem::size_of::() - 64usize]; + ["Alignment of folio__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_2::__page_1"] + [::core::mem::offset_of!(folio__bindgen_ty_2, __page_1) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union folio__bindgen_ty_3 { + pub __bindgen_anon_1: folio__bindgen_ty_3__bindgen_ty_1, + pub __bindgen_anon_2: folio__bindgen_ty_3__bindgen_ty_2, + pub __page_2: page, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct folio__bindgen_ty_3__bindgen_ty_1 { + pub _flags_2: ::core::ffi::c_ulong, + pub _head_2: ::core::ffi::c_ulong, + pub _hugetlb_subpool: *mut ::core::ffi::c_void, + pub _hugetlb_cgroup: *mut ::core::ffi::c_void, + pub _hugetlb_cgroup_rsvd: *mut ::core::ffi::c_void, + pub _hugetlb_hwpoison: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of folio__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_1::_flags_2"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_1, _flags_2) - 0usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_1::_head_2"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_1, _head_2) - 8usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_1::_hugetlb_subpool"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_1, _hugetlb_subpool) - 16usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_1::_hugetlb_cgroup"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_1, _hugetlb_cgroup) - 24usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_1::_hugetlb_cgroup_rsvd"][::core::mem::offset_of!( + folio__bindgen_ty_3__bindgen_ty_1, + _hugetlb_cgroup_rsvd + ) - 32usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_1::_hugetlb_hwpoison"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_1, _hugetlb_hwpoison) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct folio__bindgen_ty_3__bindgen_ty_2 { + pub _flags_2a: ::core::ffi::c_ulong, + pub _head_2a: ::core::ffi::c_ulong, + pub _deferred_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_3__bindgen_ty_2"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of folio__bindgen_ty_3__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_2::_flags_2a"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_2, _flags_2a) - 0usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_2::_head_2a"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_2, _head_2a) - 8usize]; + ["Offset of field: folio__bindgen_ty_3__bindgen_ty_2::_deferred_list"] + [::core::mem::offset_of!(folio__bindgen_ty_3__bindgen_ty_2, _deferred_list) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio__bindgen_ty_3"][::core::mem::size_of::() - 64usize]; + ["Alignment of folio__bindgen_ty_3"][::core::mem::align_of::() - 8usize]; + ["Offset of field: folio__bindgen_ty_3::__page_2"] + [::core::mem::offset_of!(folio__bindgen_ty_3, __page_2) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio"][::core::mem::size_of::() - 192usize]; + ["Alignment of folio"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct folio_queue { + pub vec: folio_batch, + pub orders: [u8_; 31usize], + pub next: *mut folio_queue, + pub prev: *mut folio_queue, + pub marks: ::core::ffi::c_ulong, + pub marks2: ::core::ffi::c_ulong, + pub marks3: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of folio_queue"][::core::mem::size_of::() - 328usize]; + ["Alignment of folio_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: folio_queue::vec"][::core::mem::offset_of!(folio_queue, vec) - 0usize]; + ["Offset of field: folio_queue::orders"] + [::core::mem::offset_of!(folio_queue, orders) - 256usize]; + ["Offset of field: folio_queue::next"][::core::mem::offset_of!(folio_queue, next) - 288usize]; + ["Offset of field: folio_queue::prev"][::core::mem::offset_of!(folio_queue, prev) - 296usize]; + ["Offset of field: folio_queue::marks"][::core::mem::offset_of!(folio_queue, marks) - 304usize]; + ["Offset of field: folio_queue::marks2"] + [::core::mem::offset_of!(folio_queue, marks2) - 312usize]; + ["Offset of field: folio_queue::marks3"] + [::core::mem::offset_of!(folio_queue, marks3) - 320usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fown_struct { + pub file: *mut file, + pub lock: rwlock_t, + pub pid: *mut pid, + pub pid_type: pid_type, + pub uid: kuid_t, + pub euid: kuid_t, + pub signum: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fown_struct"][::core::mem::size_of::() - 40usize]; + ["Alignment of fown_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fown_struct::file"][::core::mem::offset_of!(fown_struct, file) - 0usize]; + ["Offset of field: fown_struct::lock"][::core::mem::offset_of!(fown_struct, lock) - 8usize]; + ["Offset of field: fown_struct::pid"][::core::mem::offset_of!(fown_struct, pid) - 16usize]; + ["Offset of field: fown_struct::pid_type"] + [::core::mem::offset_of!(fown_struct, pid_type) - 24usize]; + ["Offset of field: fown_struct::uid"][::core::mem::offset_of!(fown_struct, uid) - 28usize]; + ["Offset of field: fown_struct::euid"][::core::mem::offset_of!(fown_struct, euid) - 32usize]; + ["Offset of field: fown_struct::signum"] + [::core::mem::offset_of!(fown_struct, signum) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fregs_state { + pub cwd: u32_, + pub swd: u32_, + pub twd: u32_, + pub fip: u32_, + pub fcs: u32_, + pub foo: u32_, + pub fos: u32_, + pub st_space: [u32_; 20usize], + pub status: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fregs_state"][::core::mem::size_of::() - 112usize]; + ["Alignment of fregs_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: fregs_state::cwd"][::core::mem::offset_of!(fregs_state, cwd) - 0usize]; + ["Offset of field: fregs_state::swd"][::core::mem::offset_of!(fregs_state, swd) - 4usize]; + ["Offset of field: fregs_state::twd"][::core::mem::offset_of!(fregs_state, twd) - 8usize]; + ["Offset of field: fregs_state::fip"][::core::mem::offset_of!(fregs_state, fip) - 12usize]; + ["Offset of field: fregs_state::fcs"][::core::mem::offset_of!(fregs_state, fcs) - 16usize]; + ["Offset of field: fregs_state::foo"][::core::mem::offset_of!(fregs_state, foo) - 20usize]; + ["Offset of field: fregs_state::fos"][::core::mem::offset_of!(fregs_state, fos) - 24usize]; + ["Offset of field: fregs_state::st_space"] + [::core::mem::offset_of!(fregs_state, st_space) - 28usize]; + ["Offset of field: fregs_state::status"] + [::core::mem::offset_of!(fregs_state, status) - 108usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fxregs_state { + pub cwd: u16_, + pub swd: u16_, + pub twd: u16_, + pub fop: u16_, + pub __bindgen_anon_1: fxregs_state__bindgen_ty_1, + pub mxcsr: u32_, + pub mxcsr_mask: u32_, + pub st_space: [u32_; 32usize], + pub xmm_space: [u32_; 64usize], + pub padding: [u32_; 12usize], + pub __bindgen_anon_2: fxregs_state__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fxregs_state__bindgen_ty_1 { + pub __bindgen_anon_1: fxregs_state__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: fxregs_state__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fxregs_state__bindgen_ty_1__bindgen_ty_1 { + pub rip: u64_, + pub rdp: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fxregs_state__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of fxregs_state__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fxregs_state__bindgen_ty_1__bindgen_ty_1::rip"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_1__bindgen_ty_1, rip) - 0usize]; + ["Offset of field: fxregs_state__bindgen_ty_1__bindgen_ty_1::rdp"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_1__bindgen_ty_1, rdp) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fxregs_state__bindgen_ty_1__bindgen_ty_2 { + pub fip: u32_, + pub fcs: u32_, + pub foo: u32_, + pub fos: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fxregs_state__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of fxregs_state__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: fxregs_state__bindgen_ty_1__bindgen_ty_2::fip"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_1__bindgen_ty_2, fip) - 0usize]; + ["Offset of field: fxregs_state__bindgen_ty_1__bindgen_ty_2::fcs"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_1__bindgen_ty_2, fcs) - 4usize]; + ["Offset of field: fxregs_state__bindgen_ty_1__bindgen_ty_2::foo"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_1__bindgen_ty_2, foo) - 8usize]; + ["Offset of field: fxregs_state__bindgen_ty_1__bindgen_ty_2::fos"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_1__bindgen_ty_2, fos) - 12usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fxregs_state__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of fxregs_state__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union fxregs_state__bindgen_ty_2 { + pub padding1: [u32_; 12usize], + pub sw_reserved: [u32_; 12usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fxregs_state__bindgen_ty_2"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of fxregs_state__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: fxregs_state__bindgen_ty_2::padding1"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_2, padding1) - 0usize]; + ["Offset of field: fxregs_state__bindgen_ty_2::sw_reserved"] + [::core::mem::offset_of!(fxregs_state__bindgen_ty_2, sw_reserved) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fxregs_state"][::core::mem::size_of::() - 512usize]; + ["Alignment of fxregs_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fxregs_state::cwd"][::core::mem::offset_of!(fxregs_state, cwd) - 0usize]; + ["Offset of field: fxregs_state::swd"][::core::mem::offset_of!(fxregs_state, swd) - 2usize]; + ["Offset of field: fxregs_state::twd"][::core::mem::offset_of!(fxregs_state, twd) - 4usize]; + ["Offset of field: fxregs_state::fop"][::core::mem::offset_of!(fxregs_state, fop) - 6usize]; + ["Offset of field: fxregs_state::mxcsr"] + [::core::mem::offset_of!(fxregs_state, mxcsr) - 24usize]; + ["Offset of field: fxregs_state::mxcsr_mask"] + [::core::mem::offset_of!(fxregs_state, mxcsr_mask) - 28usize]; + ["Offset of field: fxregs_state::st_space"] + [::core::mem::offset_of!(fxregs_state, st_space) - 32usize]; + ["Offset of field: fxregs_state::xmm_space"] + [::core::mem::offset_of!(fxregs_state, xmm_space) - 160usize]; + ["Offset of field: fxregs_state::padding"] + [::core::mem::offset_of!(fxregs_state, padding) - 416usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct swregs_state { + pub cwd: u32_, + pub swd: u32_, + pub twd: u32_, + pub fip: u32_, + pub fcs: u32_, + pub foo: u32_, + pub fos: u32_, + pub st_space: [u32_; 20usize], + pub ftop: u8_, + pub changed: u8_, + pub lookahead: u8_, + pub no_update: u8_, + pub rm: u8_, + pub alimit: u8_, + pub info: *mut math_emu_info, + pub entry_eip: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of swregs_state"][::core::mem::size_of::() - 136usize]; + ["Alignment of swregs_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: swregs_state::cwd"][::core::mem::offset_of!(swregs_state, cwd) - 0usize]; + ["Offset of field: swregs_state::swd"][::core::mem::offset_of!(swregs_state, swd) - 4usize]; + ["Offset of field: swregs_state::twd"][::core::mem::offset_of!(swregs_state, twd) - 8usize]; + ["Offset of field: swregs_state::fip"][::core::mem::offset_of!(swregs_state, fip) - 12usize]; + ["Offset of field: swregs_state::fcs"][::core::mem::offset_of!(swregs_state, fcs) - 16usize]; + ["Offset of field: swregs_state::foo"][::core::mem::offset_of!(swregs_state, foo) - 20usize]; + ["Offset of field: swregs_state::fos"][::core::mem::offset_of!(swregs_state, fos) - 24usize]; + ["Offset of field: swregs_state::st_space"] + [::core::mem::offset_of!(swregs_state, st_space) - 28usize]; + ["Offset of field: swregs_state::ftop"][::core::mem::offset_of!(swregs_state, ftop) - 108usize]; + ["Offset of field: swregs_state::changed"] + [::core::mem::offset_of!(swregs_state, changed) - 109usize]; + ["Offset of field: swregs_state::lookahead"] + [::core::mem::offset_of!(swregs_state, lookahead) - 110usize]; + ["Offset of field: swregs_state::no_update"] + [::core::mem::offset_of!(swregs_state, no_update) - 111usize]; + ["Offset of field: swregs_state::rm"][::core::mem::offset_of!(swregs_state, rm) - 112usize]; + ["Offset of field: swregs_state::alimit"] + [::core::mem::offset_of!(swregs_state, alimit) - 113usize]; + ["Offset of field: swregs_state::info"][::core::mem::offset_of!(swregs_state, info) - 120usize]; + ["Offset of field: swregs_state::entry_eip"] + [::core::mem::offset_of!(swregs_state, entry_eip) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xstate_header { + pub xfeatures: u64_, + pub xcomp_bv: u64_, + pub reserved: [u64_; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xstate_header"][::core::mem::size_of::() - 64usize]; + ["Alignment of xstate_header"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xstate_header::xfeatures"] + [::core::mem::offset_of!(xstate_header, xfeatures) - 0usize]; + ["Offset of field: xstate_header::xcomp_bv"] + [::core::mem::offset_of!(xstate_header, xcomp_bv) - 8usize]; + ["Offset of field: xstate_header::reserved"] + [::core::mem::offset_of!(xstate_header, reserved) - 16usize]; +}; +#[repr(C)] +pub struct xregs_state { + pub i387: fxregs_state, + pub header: xstate_header, + pub extended_state_area: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xregs_state"][::core::mem::size_of::() - 576usize]; + ["Alignment of xregs_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xregs_state::i387"][::core::mem::offset_of!(xregs_state, i387) - 0usize]; + ["Offset of field: xregs_state::header"] + [::core::mem::offset_of!(xregs_state, header) - 512usize]; + ["Offset of field: xregs_state::extended_state_area"] + [::core::mem::offset_of!(xregs_state, extended_state_area) - 576usize]; +}; +#[repr(C)] +pub struct fpregs_state { + pub fsave: __BindgenUnionField, + pub fxsave: __BindgenUnionField, + pub soft: __BindgenUnionField, + pub xsave: __BindgenUnionField, + pub __padding: __BindgenUnionField<[u8_; 4096usize]>, + pub bindgen_union_field: [u64; 512usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fpregs_state"][::core::mem::size_of::() - 4096usize]; + ["Alignment of fpregs_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fpregs_state::fsave"][::core::mem::offset_of!(fpregs_state, fsave) - 0usize]; + ["Offset of field: fpregs_state::fxsave"] + [::core::mem::offset_of!(fpregs_state, fxsave) - 0usize]; + ["Offset of field: fpregs_state::soft"][::core::mem::offset_of!(fpregs_state, soft) - 0usize]; + ["Offset of field: fpregs_state::xsave"][::core::mem::offset_of!(fpregs_state, xsave) - 0usize]; + ["Offset of field: fpregs_state::__padding"] + [::core::mem::offset_of!(fpregs_state, __padding) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fprop_global { + pub events: percpu_counter, + pub period: ::core::ffi::c_uint, + pub sequence: seqcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fprop_global"][::core::mem::size_of::() - 48usize]; + ["Alignment of fprop_global"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fprop_global::events"] + [::core::mem::offset_of!(fprop_global, events) - 0usize]; + ["Offset of field: fprop_global::period"] + [::core::mem::offset_of!(fprop_global, period) - 40usize]; + ["Offset of field: fprop_global::sequence"] + [::core::mem::offset_of!(fprop_global, sequence) - 44usize]; +}; +#[repr(C)] +pub struct fpstate { + pub size: ::core::ffi::c_uint, + pub user_size: ::core::ffi::c_uint, + pub xfeatures: u64_, + pub user_xfeatures: u64_, + pub xfd: u64_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, + pub regs: fpregs_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fpstate"][::core::mem::size_of::() - 4160usize]; + ["Alignment of fpstate"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fpstate::size"][::core::mem::offset_of!(fpstate, size) - 0usize]; + ["Offset of field: fpstate::user_size"][::core::mem::offset_of!(fpstate, user_size) - 4usize]; + ["Offset of field: fpstate::xfeatures"][::core::mem::offset_of!(fpstate, xfeatures) - 8usize]; + ["Offset of field: fpstate::user_xfeatures"] + [::core::mem::offset_of!(fpstate, user_xfeatures) - 16usize]; + ["Offset of field: fpstate::xfd"][::core::mem::offset_of!(fpstate, xfd) - 24usize]; + ["Offset of field: fpstate::regs"][::core::mem::offset_of!(fpstate, regs) - 64usize]; +}; +impl fpstate { + #[inline] + pub fn is_valloc(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_valloc(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_valloc_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 32usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_valloc_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 32usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_guest(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_guest(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_guest_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 32usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_guest_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 32usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_confidential(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_confidential(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_confidential_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 32usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_confidential_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 32usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_use(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_use(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_use_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 32usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_use_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 32usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_valloc: ::core::ffi::c_uint, + is_guest: ::core::ffi::c_uint, + is_confidential: ::core::ffi::c_uint, + in_use: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_valloc: u32 = unsafe { ::core::mem::transmute(is_valloc) }; + is_valloc as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let is_guest: u32 = unsafe { ::core::mem::transmute(is_guest) }; + is_guest as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let is_confidential: u32 = unsafe { ::core::mem::transmute(is_confidential) }; + is_confidential as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let in_use: u32 = unsafe { ::core::mem::transmute(in_use) }; + in_use as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fpu_state_perm { + pub __state_perm: u64_, + pub __state_size: ::core::ffi::c_uint, + pub __user_state_size: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fpu_state_perm"][::core::mem::size_of::() - 16usize]; + ["Alignment of fpu_state_perm"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fpu_state_perm::__state_perm"] + [::core::mem::offset_of!(fpu_state_perm, __state_perm) - 0usize]; + ["Offset of field: fpu_state_perm::__state_size"] + [::core::mem::offset_of!(fpu_state_perm, __state_size) - 8usize]; + ["Offset of field: fpu_state_perm::__user_state_size"] + [::core::mem::offset_of!(fpu_state_perm, __user_state_size) - 12usize]; +}; +#[repr(C)] +pub struct fpu { + pub last_cpu: ::core::ffi::c_uint, + pub avx512_timestamp: ::core::ffi::c_ulong, + pub fpstate: *mut fpstate, + pub __task_fpstate: *mut fpstate, + pub perm: fpu_state_perm, + pub guest_perm: fpu_state_perm, + pub __fpstate: fpstate, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fpu"][::core::mem::size_of::() - 4224usize]; + ["Alignment of fpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fpu::last_cpu"][::core::mem::offset_of!(fpu, last_cpu) - 0usize]; + ["Offset of field: fpu::avx512_timestamp"] + [::core::mem::offset_of!(fpu, avx512_timestamp) - 8usize]; + ["Offset of field: fpu::fpstate"][::core::mem::offset_of!(fpu, fpstate) - 16usize]; + ["Offset of field: fpu::__task_fpstate"] + [::core::mem::offset_of!(fpu, __task_fpstate) - 24usize]; + ["Offset of field: fpu::perm"][::core::mem::offset_of!(fpu, perm) - 32usize]; + ["Offset of field: fpu::guest_perm"][::core::mem::offset_of!(fpu, guest_perm) - 48usize]; + ["Offset of field: fpu::__fpstate"][::core::mem::offset_of!(fpu, __fpstate) - 64usize]; +}; +pub type rht_hashfn_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_void, arg2: u32_, arg3: u32_) -> u32_, +>; +pub type rht_obj_hashfn_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_void, arg2: u32_, arg3: u32_) -> u32_, +>; +pub type rht_obj_cmpfn_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rhashtable_compare_arg, + arg2: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rhashtable_params { + pub nelem_hint: u16_, + pub key_len: u16_, + pub key_offset: u16_, + pub head_offset: u16_, + pub max_size: ::core::ffi::c_uint, + pub min_size: u16_, + pub automatic_shrinking: bool_, + pub hashfn: rht_hashfn_t, + pub obj_hashfn: rht_obj_hashfn_t, + pub obj_cmpfn: rht_obj_cmpfn_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rhashtable_params"][::core::mem::size_of::() - 40usize]; + ["Alignment of rhashtable_params"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rhashtable_params::nelem_hint"] + [::core::mem::offset_of!(rhashtable_params, nelem_hint) - 0usize]; + ["Offset of field: rhashtable_params::key_len"] + [::core::mem::offset_of!(rhashtable_params, key_len) - 2usize]; + ["Offset of field: rhashtable_params::key_offset"] + [::core::mem::offset_of!(rhashtable_params, key_offset) - 4usize]; + ["Offset of field: rhashtable_params::head_offset"] + [::core::mem::offset_of!(rhashtable_params, head_offset) - 6usize]; + ["Offset of field: rhashtable_params::max_size"] + [::core::mem::offset_of!(rhashtable_params, max_size) - 8usize]; + ["Offset of field: rhashtable_params::min_size"] + [::core::mem::offset_of!(rhashtable_params, min_size) - 12usize]; + ["Offset of field: rhashtable_params::automatic_shrinking"] + [::core::mem::offset_of!(rhashtable_params, automatic_shrinking) - 14usize]; + ["Offset of field: rhashtable_params::hashfn"] + [::core::mem::offset_of!(rhashtable_params, hashfn) - 16usize]; + ["Offset of field: rhashtable_params::obj_hashfn"] + [::core::mem::offset_of!(rhashtable_params, obj_hashfn) - 24usize]; + ["Offset of field: rhashtable_params::obj_cmpfn"] + [::core::mem::offset_of!(rhashtable_params, obj_cmpfn) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rhashtable { + pub tbl: *mut bucket_table, + pub key_len: ::core::ffi::c_uint, + pub max_elems: ::core::ffi::c_uint, + pub p: rhashtable_params, + pub rhlist: bool_, + pub run_work: work_struct, + pub mutex: mutex, + pub lock: spinlock_t, + pub nelems: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rhashtable"][::core::mem::size_of::() - 136usize]; + ["Alignment of rhashtable"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rhashtable::tbl"][::core::mem::offset_of!(rhashtable, tbl) - 0usize]; + ["Offset of field: rhashtable::key_len"][::core::mem::offset_of!(rhashtable, key_len) - 8usize]; + ["Offset of field: rhashtable::max_elems"] + [::core::mem::offset_of!(rhashtable, max_elems) - 12usize]; + ["Offset of field: rhashtable::p"][::core::mem::offset_of!(rhashtable, p) - 16usize]; + ["Offset of field: rhashtable::rhlist"][::core::mem::offset_of!(rhashtable, rhlist) - 56usize]; + ["Offset of field: rhashtable::run_work"] + [::core::mem::offset_of!(rhashtable, run_work) - 64usize]; + ["Offset of field: rhashtable::mutex"][::core::mem::offset_of!(rhashtable, mutex) - 96usize]; + ["Offset of field: rhashtable::lock"][::core::mem::offset_of!(rhashtable, lock) - 128usize]; + ["Offset of field: rhashtable::nelems"][::core::mem::offset_of!(rhashtable, nelems) - 132usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fqdir { + pub high_thresh: ::core::ffi::c_long, + pub low_thresh: ::core::ffi::c_long, + pub timeout: ::core::ffi::c_int, + pub max_dist: ::core::ffi::c_int, + pub f: *mut inet_frags, + pub net: *mut net, + pub dead: bool_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub rhashtable: rhashtable, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, + pub mem: atomic_long_t, + pub destroy_work: work_struct, + pub free_list: llist_node, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fqdir"][::core::mem::size_of::() - 320usize]; + ["Alignment of fqdir"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fqdir::high_thresh"][::core::mem::offset_of!(fqdir, high_thresh) - 0usize]; + ["Offset of field: fqdir::low_thresh"][::core::mem::offset_of!(fqdir, low_thresh) - 8usize]; + ["Offset of field: fqdir::timeout"][::core::mem::offset_of!(fqdir, timeout) - 16usize]; + ["Offset of field: fqdir::max_dist"][::core::mem::offset_of!(fqdir, max_dist) - 20usize]; + ["Offset of field: fqdir::f"][::core::mem::offset_of!(fqdir, f) - 24usize]; + ["Offset of field: fqdir::net"][::core::mem::offset_of!(fqdir, net) - 32usize]; + ["Offset of field: fqdir::dead"][::core::mem::offset_of!(fqdir, dead) - 40usize]; + ["Offset of field: fqdir::rhashtable"][::core::mem::offset_of!(fqdir, rhashtable) - 64usize]; + ["Offset of field: fqdir::mem"][::core::mem::offset_of!(fqdir, mem) - 256usize]; + ["Offset of field: fqdir::destroy_work"] + [::core::mem::offset_of!(fqdir, destroy_work) - 264usize]; + ["Offset of field: fqdir::free_list"][::core::mem::offset_of!(fqdir, free_list) - 296usize]; +}; +impl fqdir { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_3() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct frag_v4_compare_key { + pub saddr: __be32, + pub daddr: __be32, + pub user: u32_, + pub vif: u32_, + pub id: __be16, + pub protocol: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of frag_v4_compare_key"][::core::mem::size_of::() - 20usize]; + ["Alignment of frag_v4_compare_key"][::core::mem::align_of::() - 4usize]; + ["Offset of field: frag_v4_compare_key::saddr"] + [::core::mem::offset_of!(frag_v4_compare_key, saddr) - 0usize]; + ["Offset of field: frag_v4_compare_key::daddr"] + [::core::mem::offset_of!(frag_v4_compare_key, daddr) - 4usize]; + ["Offset of field: frag_v4_compare_key::user"] + [::core::mem::offset_of!(frag_v4_compare_key, user) - 8usize]; + ["Offset of field: frag_v4_compare_key::vif"] + [::core::mem::offset_of!(frag_v4_compare_key, vif) - 12usize]; + ["Offset of field: frag_v4_compare_key::id"] + [::core::mem::offset_of!(frag_v4_compare_key, id) - 16usize]; + ["Offset of field: frag_v4_compare_key::protocol"] + [::core::mem::offset_of!(frag_v4_compare_key, protocol) - 18usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct frag_v6_compare_key { + pub saddr: in6_addr, + pub daddr: in6_addr, + pub user: u32_, + pub id: __be32, + pub iif: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of frag_v6_compare_key"][::core::mem::size_of::() - 44usize]; + ["Alignment of frag_v6_compare_key"][::core::mem::align_of::() - 4usize]; + ["Offset of field: frag_v6_compare_key::saddr"] + [::core::mem::offset_of!(frag_v6_compare_key, saddr) - 0usize]; + ["Offset of field: frag_v6_compare_key::daddr"] + [::core::mem::offset_of!(frag_v6_compare_key, daddr) - 16usize]; + ["Offset of field: frag_v6_compare_key::user"] + [::core::mem::offset_of!(frag_v6_compare_key, user) - 32usize]; + ["Offset of field: frag_v6_compare_key::id"] + [::core::mem::offset_of!(frag_v6_compare_key, id) - 36usize]; + ["Offset of field: frag_v6_compare_key::iif"] + [::core::mem::offset_of!(frag_v6_compare_key, iif) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct inet_frag_queue { + pub node: rhash_head, + pub key: inet_frag_queue__bindgen_ty_1, + pub timer: timer_list, + pub lock: spinlock_t, + pub refcnt: refcount_t, + pub rb_fragments: rb_root, + pub fragments_tail: *mut sk_buff, + pub last_run_head: *mut sk_buff, + pub stamp: ktime_t, + pub len: ::core::ffi::c_int, + pub meat: ::core::ffi::c_int, + pub tstamp_type: u8_, + pub flags: __u8, + pub max_size: u16_, + pub fqdir: *mut fqdir, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union inet_frag_queue__bindgen_ty_1 { + pub v4: frag_v4_compare_key, + pub v6: frag_v6_compare_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_frag_queue__bindgen_ty_1"] + [::core::mem::size_of::() - 44usize]; + ["Alignment of inet_frag_queue__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: inet_frag_queue__bindgen_ty_1::v4"] + [::core::mem::offset_of!(inet_frag_queue__bindgen_ty_1, v4) - 0usize]; + ["Offset of field: inet_frag_queue__bindgen_ty_1::v6"] + [::core::mem::offset_of!(inet_frag_queue__bindgen_ty_1, v6) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_frag_queue"][::core::mem::size_of::() - 176usize]; + ["Alignment of inet_frag_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_frag_queue::node"] + [::core::mem::offset_of!(inet_frag_queue, node) - 0usize]; + ["Offset of field: inet_frag_queue::key"] + [::core::mem::offset_of!(inet_frag_queue, key) - 8usize]; + ["Offset of field: inet_frag_queue::timer"] + [::core::mem::offset_of!(inet_frag_queue, timer) - 56usize]; + ["Offset of field: inet_frag_queue::lock"] + [::core::mem::offset_of!(inet_frag_queue, lock) - 96usize]; + ["Offset of field: inet_frag_queue::refcnt"] + [::core::mem::offset_of!(inet_frag_queue, refcnt) - 100usize]; + ["Offset of field: inet_frag_queue::rb_fragments"] + [::core::mem::offset_of!(inet_frag_queue, rb_fragments) - 104usize]; + ["Offset of field: inet_frag_queue::fragments_tail"] + [::core::mem::offset_of!(inet_frag_queue, fragments_tail) - 112usize]; + ["Offset of field: inet_frag_queue::last_run_head"] + [::core::mem::offset_of!(inet_frag_queue, last_run_head) - 120usize]; + ["Offset of field: inet_frag_queue::stamp"] + [::core::mem::offset_of!(inet_frag_queue, stamp) - 128usize]; + ["Offset of field: inet_frag_queue::len"] + [::core::mem::offset_of!(inet_frag_queue, len) - 136usize]; + ["Offset of field: inet_frag_queue::meat"] + [::core::mem::offset_of!(inet_frag_queue, meat) - 140usize]; + ["Offset of field: inet_frag_queue::tstamp_type"] + [::core::mem::offset_of!(inet_frag_queue, tstamp_type) - 144usize]; + ["Offset of field: inet_frag_queue::flags"] + [::core::mem::offset_of!(inet_frag_queue, flags) - 145usize]; + ["Offset of field: inet_frag_queue::max_size"] + [::core::mem::offset_of!(inet_frag_queue, max_size) - 146usize]; + ["Offset of field: inet_frag_queue::fqdir"] + [::core::mem::offset_of!(inet_frag_queue, fqdir) - 152usize]; + ["Offset of field: inet_frag_queue::rcu"] + [::core::mem::offset_of!(inet_frag_queue, rcu) - 160usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct free_area { + pub free_list: [list_head; 6usize], + pub nr_free: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of free_area"][::core::mem::size_of::() - 104usize]; + ["Alignment of free_area"][::core::mem::align_of::() - 8usize]; + ["Offset of field: free_area::free_list"] + [::core::mem::offset_of!(free_area, free_list) - 0usize]; + ["Offset of field: free_area::nr_free"][::core::mem::offset_of!(free_area, nr_free) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct p_log { + pub prefix: *const ::core::ffi::c_char, + pub log: *mut fc_log, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of p_log"][::core::mem::size_of::() - 16usize]; + ["Alignment of p_log"][::core::mem::align_of::() - 8usize]; + ["Offset of field: p_log::prefix"][::core::mem::offset_of!(p_log, prefix) - 0usize]; + ["Offset of field: p_log::log"][::core::mem::offset_of!(p_log, log) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fs_context { + pub ops: *const fs_context_operations, + pub uapi_mutex: mutex, + pub fs_type: *mut file_system_type, + pub fs_private: *mut ::core::ffi::c_void, + pub sget_key: *mut ::core::ffi::c_void, + pub root: *mut dentry, + pub user_ns: *mut user_namespace, + pub net_ns: *mut net, + pub cred: *const cred, + pub log: p_log, + pub source: *const ::core::ffi::c_char, + pub security: *mut ::core::ffi::c_void, + pub s_fs_info: *mut ::core::ffi::c_void, + pub sb_flags: ::core::ffi::c_uint, + pub sb_flags_mask: ::core::ffi::c_uint, + pub s_iflags: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>, + pub __bindgen_padding_0: u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_context"][::core::mem::size_of::() - 152usize]; + ["Alignment of fs_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_context::ops"][::core::mem::offset_of!(fs_context, ops) - 0usize]; + ["Offset of field: fs_context::uapi_mutex"] + [::core::mem::offset_of!(fs_context, uapi_mutex) - 8usize]; + ["Offset of field: fs_context::fs_type"] + [::core::mem::offset_of!(fs_context, fs_type) - 40usize]; + ["Offset of field: fs_context::fs_private"] + [::core::mem::offset_of!(fs_context, fs_private) - 48usize]; + ["Offset of field: fs_context::sget_key"] + [::core::mem::offset_of!(fs_context, sget_key) - 56usize]; + ["Offset of field: fs_context::root"][::core::mem::offset_of!(fs_context, root) - 64usize]; + ["Offset of field: fs_context::user_ns"] + [::core::mem::offset_of!(fs_context, user_ns) - 72usize]; + ["Offset of field: fs_context::net_ns"][::core::mem::offset_of!(fs_context, net_ns) - 80usize]; + ["Offset of field: fs_context::cred"][::core::mem::offset_of!(fs_context, cred) - 88usize]; + ["Offset of field: fs_context::log"][::core::mem::offset_of!(fs_context, log) - 96usize]; + ["Offset of field: fs_context::source"][::core::mem::offset_of!(fs_context, source) - 112usize]; + ["Offset of field: fs_context::security"] + [::core::mem::offset_of!(fs_context, security) - 120usize]; + ["Offset of field: fs_context::s_fs_info"] + [::core::mem::offset_of!(fs_context, s_fs_info) - 128usize]; + ["Offset of field: fs_context::sb_flags"] + [::core::mem::offset_of!(fs_context, sb_flags) - 136usize]; + ["Offset of field: fs_context::sb_flags_mask"] + [::core::mem::offset_of!(fs_context, sb_flags_mask) - 140usize]; + ["Offset of field: fs_context::s_iflags"] + [::core::mem::offset_of!(fs_context, s_iflags) - 144usize]; +}; +impl fs_context { + #[inline] + pub fn purpose(&self) -> fs_context_purpose { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_purpose(&mut self, val: fs_context_purpose) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn purpose_raw(this: *const Self) -> fs_context_purpose { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_purpose_raw(this: *mut Self, val: fs_context_purpose) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn phase(&self) -> fs_context_phase { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_phase(&mut self, val: fs_context_phase) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn phase_raw(this: *const Self) -> fs_context_phase { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_phase_raw(this: *mut Self, val: fs_context_phase) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn need_free(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u8) } + } + #[inline] + pub fn set_need_free(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn need_free_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_need_free_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn global(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u8) } + } + #[inline] + pub fn set_global(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn global_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 17usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_global_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 17usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn oldapi(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u8) } + } + #[inline] + pub fn set_oldapi(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn oldapi_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 18usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_oldapi_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 18usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclusive(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u8) } + } + #[inline] + pub fn set_exclusive(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclusive_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 19usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_exclusive_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 19usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + purpose: fs_context_purpose, + phase: fs_context_phase, + need_free: bool_, + global: bool_, + oldapi: bool_, + exclusive: bool_, + ) -> __BindgenBitfieldUnit<[u8; 3usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let purpose: u32 = unsafe { ::core::mem::transmute(purpose) }; + purpose as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let phase: u32 = unsafe { ::core::mem::transmute(phase) }; + phase as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let need_free: u8 = unsafe { ::core::mem::transmute(need_free) }; + need_free as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let global: u8 = unsafe { ::core::mem::transmute(global) }; + global as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let oldapi: u8 = unsafe { ::core::mem::transmute(oldapi) }; + oldapi as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let exclusive: u8 = unsafe { ::core::mem::transmute(exclusive) }; + exclusive as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fs_context_operations { + pub free: ::core::option::Option, + pub dup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fs_context, arg2: *mut fs_context) -> ::core::ffi::c_int, + >, + pub parse_param: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fs_context, arg2: *mut fs_parameter) -> ::core::ffi::c_int, + >, + pub parse_monolithic: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fs_context, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub get_tree: + ::core::option::Option ::core::ffi::c_int>, + pub reconfigure: + ::core::option::Option ::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_context_operations"][::core::mem::size_of::() - 48usize]; + ["Alignment of fs_context_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_context_operations::free"] + [::core::mem::offset_of!(fs_context_operations, free) - 0usize]; + ["Offset of field: fs_context_operations::dup"] + [::core::mem::offset_of!(fs_context_operations, dup) - 8usize]; + ["Offset of field: fs_context_operations::parse_param"] + [::core::mem::offset_of!(fs_context_operations, parse_param) - 16usize]; + ["Offset of field: fs_context_operations::parse_monolithic"] + [::core::mem::offset_of!(fs_context_operations, parse_monolithic) - 24usize]; + ["Offset of field: fs_context_operations::get_tree"] + [::core::mem::offset_of!(fs_context_operations, get_tree) - 32usize]; + ["Offset of field: fs_context_operations::reconfigure"] + [::core::mem::offset_of!(fs_context_operations, reconfigure) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fs_parameter { + pub key: *const ::core::ffi::c_char, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_anon_1: fs_parameter__bindgen_ty_1, + pub size: usize, + pub dirfd: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fs_parameter__bindgen_ty_1 { + pub string: *mut ::core::ffi::c_char, + pub blob: *mut ::core::ffi::c_void, + pub name: *mut filename, + pub file: *mut file, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_parameter__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of fs_parameter__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_parameter__bindgen_ty_1::string"] + [::core::mem::offset_of!(fs_parameter__bindgen_ty_1, string) - 0usize]; + ["Offset of field: fs_parameter__bindgen_ty_1::blob"] + [::core::mem::offset_of!(fs_parameter__bindgen_ty_1, blob) - 0usize]; + ["Offset of field: fs_parameter__bindgen_ty_1::name"] + [::core::mem::offset_of!(fs_parameter__bindgen_ty_1, name) - 0usize]; + ["Offset of field: fs_parameter__bindgen_ty_1::file"] + [::core::mem::offset_of!(fs_parameter__bindgen_ty_1, file) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_parameter"][::core::mem::size_of::() - 40usize]; + ["Alignment of fs_parameter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_parameter::key"][::core::mem::offset_of!(fs_parameter, key) - 0usize]; + ["Offset of field: fs_parameter::size"][::core::mem::offset_of!(fs_parameter, size) - 24usize]; + ["Offset of field: fs_parameter::dirfd"] + [::core::mem::offset_of!(fs_parameter, dirfd) - 32usize]; +}; +impl fs_parameter { + #[inline] + pub fn type_(&self) -> fs_value_type { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_type(&mut self, val: fs_value_type) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn type__raw(this: *const Self) -> fs_value_type { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_type_raw(this: *mut Self, val: fs_value_type) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(type_: fs_value_type) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let type_: u32 = unsafe { ::core::mem::transmute(type_) }; + type_ as u64 + }); + __bindgen_bitfield_unit + } +} +pub type fs_param_type = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut p_log, + arg2: *const fs_parameter_spec, + arg3: *mut fs_parameter, + arg4: *mut fs_parse_result, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fs_parameter_spec { + pub name: *const ::core::ffi::c_char, + pub type_: fs_param_type, + pub opt: u8_, + pub flags: ::core::ffi::c_ushort, + pub data: *const ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_parameter_spec"][::core::mem::size_of::() - 32usize]; + ["Alignment of fs_parameter_spec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_parameter_spec::name"] + [::core::mem::offset_of!(fs_parameter_spec, name) - 0usize]; + ["Offset of field: fs_parameter_spec::type_"] + [::core::mem::offset_of!(fs_parameter_spec, type_) - 8usize]; + ["Offset of field: fs_parameter_spec::opt"] + [::core::mem::offset_of!(fs_parameter_spec, opt) - 16usize]; + ["Offset of field: fs_parameter_spec::flags"] + [::core::mem::offset_of!(fs_parameter_spec, flags) - 18usize]; + ["Offset of field: fs_parameter_spec::data"] + [::core::mem::offset_of!(fs_parameter_spec, data) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fs_parse_result { + pub negated: bool_, + pub __bindgen_anon_1: fs_parse_result__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fs_parse_result__bindgen_ty_1 { + pub boolean: bool_, + pub int_32: ::core::ffi::c_int, + pub uint_32: ::core::ffi::c_uint, + pub uint_64: u64_, + pub uid: kuid_t, + pub gid: kgid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_parse_result__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of fs_parse_result__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_parse_result__bindgen_ty_1::boolean"] + [::core::mem::offset_of!(fs_parse_result__bindgen_ty_1, boolean) - 0usize]; + ["Offset of field: fs_parse_result__bindgen_ty_1::int_32"] + [::core::mem::offset_of!(fs_parse_result__bindgen_ty_1, int_32) - 0usize]; + ["Offset of field: fs_parse_result__bindgen_ty_1::uint_32"] + [::core::mem::offset_of!(fs_parse_result__bindgen_ty_1, uint_32) - 0usize]; + ["Offset of field: fs_parse_result__bindgen_ty_1::uint_64"] + [::core::mem::offset_of!(fs_parse_result__bindgen_ty_1, uint_64) - 0usize]; + ["Offset of field: fs_parse_result__bindgen_ty_1::uid"] + [::core::mem::offset_of!(fs_parse_result__bindgen_ty_1, uid) - 0usize]; + ["Offset of field: fs_parse_result__bindgen_ty_1::gid"] + [::core::mem::offset_of!(fs_parse_result__bindgen_ty_1, gid) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_parse_result"][::core::mem::size_of::() - 16usize]; + ["Alignment of fs_parse_result"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_parse_result::negated"] + [::core::mem::offset_of!(fs_parse_result, negated) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fs_struct { + pub users: ::core::ffi::c_int, + pub lock: spinlock_t, + pub seq: seqcount_spinlock_t, + pub umask: ::core::ffi::c_int, + pub in_exec: ::core::ffi::c_int, + pub root: path, + pub pwd: path, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fs_struct"][::core::mem::size_of::() - 56usize]; + ["Alignment of fs_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fs_struct::users"][::core::mem::offset_of!(fs_struct, users) - 0usize]; + ["Offset of field: fs_struct::lock"][::core::mem::offset_of!(fs_struct, lock) - 4usize]; + ["Offset of field: fs_struct::seq"][::core::mem::offset_of!(fs_struct, seq) - 8usize]; + ["Offset of field: fs_struct::umask"][::core::mem::offset_of!(fs_struct, umask) - 12usize]; + ["Offset of field: fs_struct::in_exec"][::core::mem::offset_of!(fs_struct, in_exec) - 16usize]; + ["Offset of field: fs_struct::root"][::core::mem::offset_of!(fs_struct, root) - 24usize]; + ["Offset of field: fs_struct::pwd"][::core::mem::offset_of!(fs_struct, pwd) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_key_specifier { + pub type_: __u32, + pub __reserved: __u32, + pub u: fscrypt_key_specifier__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_key_specifier__bindgen_ty_1 { + pub __reserved: [__u8; 32usize], + pub descriptor: [__u8; 8usize], + pub identifier: [__u8; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_key_specifier__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of fscrypt_key_specifier__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: fscrypt_key_specifier__bindgen_ty_1::__reserved"] + [::core::mem::offset_of!(fscrypt_key_specifier__bindgen_ty_1, __reserved) - 0usize]; + ["Offset of field: fscrypt_key_specifier__bindgen_ty_1::descriptor"] + [::core::mem::offset_of!(fscrypt_key_specifier__bindgen_ty_1, descriptor) - 0usize]; + ["Offset of field: fscrypt_key_specifier__bindgen_ty_1::identifier"] + [::core::mem::offset_of!(fscrypt_key_specifier__bindgen_ty_1, identifier) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_key_specifier"][::core::mem::size_of::() - 40usize]; + ["Alignment of fscrypt_key_specifier"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: fscrypt_key_specifier::type_"] + [::core::mem::offset_of!(fscrypt_key_specifier, type_) - 0usize]; + ["Offset of field: fscrypt_key_specifier::__reserved"] + [::core::mem::offset_of!(fscrypt_key_specifier, __reserved) - 4usize]; + ["Offset of field: fscrypt_key_specifier::u"] + [::core::mem::offset_of!(fscrypt_key_specifier, u) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_prepared_key { + pub tfm: *mut crypto_skcipher, + pub blk_key: *mut blk_crypto_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_prepared_key"][::core::mem::size_of::() - 16usize]; + ["Alignment of fscrypt_prepared_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_prepared_key::tfm"] + [::core::mem::offset_of!(fscrypt_prepared_key, tfm) - 0usize]; + ["Offset of field: fscrypt_prepared_key::blk_key"] + [::core::mem::offset_of!(fscrypt_prepared_key, blk_key) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_direct_key { + pub dk_sb: *mut super_block, + pub dk_node: hlist_node, + pub dk_refcount: refcount_t, + pub dk_mode: *const fscrypt_mode, + pub dk_key: fscrypt_prepared_key, + pub dk_descriptor: [u8_; 8usize], + pub dk_raw: [u8_; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_direct_key"][::core::mem::size_of::() - 128usize]; + ["Alignment of fscrypt_direct_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_direct_key::dk_sb"] + [::core::mem::offset_of!(fscrypt_direct_key, dk_sb) - 0usize]; + ["Offset of field: fscrypt_direct_key::dk_node"] + [::core::mem::offset_of!(fscrypt_direct_key, dk_node) - 8usize]; + ["Offset of field: fscrypt_direct_key::dk_refcount"] + [::core::mem::offset_of!(fscrypt_direct_key, dk_refcount) - 24usize]; + ["Offset of field: fscrypt_direct_key::dk_mode"] + [::core::mem::offset_of!(fscrypt_direct_key, dk_mode) - 32usize]; + ["Offset of field: fscrypt_direct_key::dk_key"] + [::core::mem::offset_of!(fscrypt_direct_key, dk_key) - 40usize]; + ["Offset of field: fscrypt_direct_key::dk_descriptor"] + [::core::mem::offset_of!(fscrypt_direct_key, dk_descriptor) - 56usize]; + ["Offset of field: fscrypt_direct_key::dk_raw"] + [::core::mem::offset_of!(fscrypt_direct_key, dk_raw) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v1 { + pub version: __u8, + pub contents_encryption_mode: __u8, + pub filenames_encryption_mode: __u8, + pub flags: __u8, + pub master_key_descriptor: [__u8; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_policy_v1"][::core::mem::size_of::() - 12usize]; + ["Alignment of fscrypt_policy_v1"][::core::mem::align_of::() - 1usize]; + ["Offset of field: fscrypt_policy_v1::version"] + [::core::mem::offset_of!(fscrypt_policy_v1, version) - 0usize]; + ["Offset of field: fscrypt_policy_v1::contents_encryption_mode"] + [::core::mem::offset_of!(fscrypt_policy_v1, contents_encryption_mode) - 1usize]; + ["Offset of field: fscrypt_policy_v1::filenames_encryption_mode"] + [::core::mem::offset_of!(fscrypt_policy_v1, filenames_encryption_mode) - 2usize]; + ["Offset of field: fscrypt_policy_v1::flags"] + [::core::mem::offset_of!(fscrypt_policy_v1, flags) - 3usize]; + ["Offset of field: fscrypt_policy_v1::master_key_descriptor"] + [::core::mem::offset_of!(fscrypt_policy_v1, master_key_descriptor) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_policy_v2 { + pub version: __u8, + pub contents_encryption_mode: __u8, + pub filenames_encryption_mode: __u8, + pub flags: __u8, + pub log2_data_unit_size: __u8, + pub __reserved: [__u8; 3usize], + pub master_key_identifier: [__u8; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_policy_v2"][::core::mem::size_of::() - 24usize]; + ["Alignment of fscrypt_policy_v2"][::core::mem::align_of::() - 1usize]; + ["Offset of field: fscrypt_policy_v2::version"] + [::core::mem::offset_of!(fscrypt_policy_v2, version) - 0usize]; + ["Offset of field: fscrypt_policy_v2::contents_encryption_mode"] + [::core::mem::offset_of!(fscrypt_policy_v2, contents_encryption_mode) - 1usize]; + ["Offset of field: fscrypt_policy_v2::filenames_encryption_mode"] + [::core::mem::offset_of!(fscrypt_policy_v2, filenames_encryption_mode) - 2usize]; + ["Offset of field: fscrypt_policy_v2::flags"] + [::core::mem::offset_of!(fscrypt_policy_v2, flags) - 3usize]; + ["Offset of field: fscrypt_policy_v2::log2_data_unit_size"] + [::core::mem::offset_of!(fscrypt_policy_v2, log2_data_unit_size) - 4usize]; + ["Offset of field: fscrypt_policy_v2::__reserved"] + [::core::mem::offset_of!(fscrypt_policy_v2, __reserved) - 5usize]; + ["Offset of field: fscrypt_policy_v2::master_key_identifier"] + [::core::mem::offset_of!(fscrypt_policy_v2, master_key_identifier) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_hkdf { + pub hmac_tfm: *mut crypto_shash, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_hkdf"][::core::mem::size_of::() - 8usize]; + ["Alignment of fscrypt_hkdf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_hkdf::hmac_tfm"] + [::core::mem::offset_of!(fscrypt_hkdf, hmac_tfm) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union fscrypt_policy { + pub version: u8_, + pub v1: fscrypt_policy_v1, + pub v2: fscrypt_policy_v2, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_policy"][::core::mem::size_of::() - 24usize]; + ["Alignment of fscrypt_policy"][::core::mem::align_of::() - 1usize]; + ["Offset of field: fscrypt_policy::version"] + [::core::mem::offset_of!(fscrypt_policy, version) - 0usize]; + ["Offset of field: fscrypt_policy::v1"][::core::mem::offset_of!(fscrypt_policy, v1) - 0usize]; + ["Offset of field: fscrypt_policy::v2"][::core::mem::offset_of!(fscrypt_policy, v2) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_inode_info { + pub ci_enc_key: fscrypt_prepared_key, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub ci_data_unit_bits: u8_, + pub ci_data_units_per_block_bits: u8_, + pub ci_hashed_ino: u32_, + pub ci_mode: *mut fscrypt_mode, + pub ci_inode: *mut inode, + pub ci_master_key: *mut fscrypt_master_key, + pub ci_master_key_link: list_head, + pub ci_direct_key: *mut fscrypt_direct_key, + pub ci_dirhash_key: siphash_key_t, + pub ci_policy: fscrypt_policy, + pub ci_nonce: [u8_; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_inode_info"][::core::mem::size_of::() - 128usize]; + ["Alignment of fscrypt_inode_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_inode_info::ci_enc_key"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_enc_key) - 0usize]; + ["Offset of field: fscrypt_inode_info::ci_data_unit_bits"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_data_unit_bits) - 17usize]; + ["Offset of field: fscrypt_inode_info::ci_data_units_per_block_bits"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_data_units_per_block_bits) - 18usize]; + ["Offset of field: fscrypt_inode_info::ci_hashed_ino"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_hashed_ino) - 20usize]; + ["Offset of field: fscrypt_inode_info::ci_mode"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_mode) - 24usize]; + ["Offset of field: fscrypt_inode_info::ci_inode"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_inode) - 32usize]; + ["Offset of field: fscrypt_inode_info::ci_master_key"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_master_key) - 40usize]; + ["Offset of field: fscrypt_inode_info::ci_master_key_link"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_master_key_link) - 48usize]; + ["Offset of field: fscrypt_inode_info::ci_direct_key"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_direct_key) - 64usize]; + ["Offset of field: fscrypt_inode_info::ci_dirhash_key"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_dirhash_key) - 72usize]; + ["Offset of field: fscrypt_inode_info::ci_policy"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_policy) - 88usize]; + ["Offset of field: fscrypt_inode_info::ci_nonce"] + [::core::mem::offset_of!(fscrypt_inode_info, ci_nonce) - 112usize]; +}; +impl fscrypt_inode_info { + #[inline] + pub fn ci_owns_key(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_ci_owns_key(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ci_owns_key_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ci_owns_key_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ci_inlinecrypt(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_ci_inlinecrypt(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ci_inlinecrypt_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ci_inlinecrypt_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ci_dirhash_key_initialized(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_ci_dirhash_key_initialized(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ci_dirhash_key_initialized_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ci_dirhash_key_initialized_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + ci_owns_key: u8_, + ci_inlinecrypt: u8_, + ci_dirhash_key_initialized: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ci_owns_key: u8 = unsafe { ::core::mem::transmute(ci_owns_key) }; + ci_owns_key as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let ci_inlinecrypt: u8 = unsafe { ::core::mem::transmute(ci_inlinecrypt) }; + ci_inlinecrypt as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let ci_dirhash_key_initialized: u8 = + unsafe { ::core::mem::transmute(ci_dirhash_key_initialized) }; + ci_dirhash_key_initialized as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_keyring { + pub lock: spinlock_t, + pub key_hashtable: [hlist_head; 128usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_keyring"][::core::mem::size_of::() - 1032usize]; + ["Alignment of fscrypt_keyring"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_keyring::lock"] + [::core::mem::offset_of!(fscrypt_keyring, lock) - 0usize]; + ["Offset of field: fscrypt_keyring::key_hashtable"] + [::core::mem::offset_of!(fscrypt_keyring, key_hashtable) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_master_key_secret { + pub hkdf: fscrypt_hkdf, + pub size: u32_, + pub raw: [u8_; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_master_key_secret"] + [::core::mem::size_of::() - 80usize]; + ["Alignment of fscrypt_master_key_secret"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_master_key_secret::hkdf"] + [::core::mem::offset_of!(fscrypt_master_key_secret, hkdf) - 0usize]; + ["Offset of field: fscrypt_master_key_secret::size"] + [::core::mem::offset_of!(fscrypt_master_key_secret, size) - 8usize]; + ["Offset of field: fscrypt_master_key_secret::raw"] + [::core::mem::offset_of!(fscrypt_master_key_secret, raw) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fscrypt_master_key { + pub mk_node: hlist_node, + pub mk_sem: rw_semaphore, + pub mk_active_refs: refcount_t, + pub mk_struct_refs: refcount_t, + pub mk_rcu_head: callback_head, + pub mk_secret: fscrypt_master_key_secret, + pub mk_spec: fscrypt_key_specifier, + pub mk_users: *mut key, + pub mk_decrypted_inodes: list_head, + pub mk_decrypted_inodes_lock: spinlock_t, + pub mk_direct_keys: [fscrypt_prepared_key; 11usize], + pub mk_iv_ino_lblk_64_keys: [fscrypt_prepared_key; 11usize], + pub mk_iv_ino_lblk_32_keys: [fscrypt_prepared_key; 11usize], + pub mk_ino_hash_key: siphash_key_t, + pub mk_ino_hash_key_initialized: bool_, + pub mk_present: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_master_key"][::core::mem::size_of::() - 784usize]; + ["Alignment of fscrypt_master_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_master_key::mk_node"] + [::core::mem::offset_of!(fscrypt_master_key, mk_node) - 0usize]; + ["Offset of field: fscrypt_master_key::mk_sem"] + [::core::mem::offset_of!(fscrypt_master_key, mk_sem) - 16usize]; + ["Offset of field: fscrypt_master_key::mk_active_refs"] + [::core::mem::offset_of!(fscrypt_master_key, mk_active_refs) - 56usize]; + ["Offset of field: fscrypt_master_key::mk_struct_refs"] + [::core::mem::offset_of!(fscrypt_master_key, mk_struct_refs) - 60usize]; + ["Offset of field: fscrypt_master_key::mk_rcu_head"] + [::core::mem::offset_of!(fscrypt_master_key, mk_rcu_head) - 64usize]; + ["Offset of field: fscrypt_master_key::mk_secret"] + [::core::mem::offset_of!(fscrypt_master_key, mk_secret) - 80usize]; + ["Offset of field: fscrypt_master_key::mk_spec"] + [::core::mem::offset_of!(fscrypt_master_key, mk_spec) - 160usize]; + ["Offset of field: fscrypt_master_key::mk_users"] + [::core::mem::offset_of!(fscrypt_master_key, mk_users) - 200usize]; + ["Offset of field: fscrypt_master_key::mk_decrypted_inodes"] + [::core::mem::offset_of!(fscrypt_master_key, mk_decrypted_inodes) - 208usize]; + ["Offset of field: fscrypt_master_key::mk_decrypted_inodes_lock"] + [::core::mem::offset_of!(fscrypt_master_key, mk_decrypted_inodes_lock) - 224usize]; + ["Offset of field: fscrypt_master_key::mk_direct_keys"] + [::core::mem::offset_of!(fscrypt_master_key, mk_direct_keys) - 232usize]; + ["Offset of field: fscrypt_master_key::mk_iv_ino_lblk_64_keys"] + [::core::mem::offset_of!(fscrypt_master_key, mk_iv_ino_lblk_64_keys) - 408usize]; + ["Offset of field: fscrypt_master_key::mk_iv_ino_lblk_32_keys"] + [::core::mem::offset_of!(fscrypt_master_key, mk_iv_ino_lblk_32_keys) - 584usize]; + ["Offset of field: fscrypt_master_key::mk_ino_hash_key"] + [::core::mem::offset_of!(fscrypt_master_key, mk_ino_hash_key) - 760usize]; + ["Offset of field: fscrypt_master_key::mk_ino_hash_key_initialized"] + [::core::mem::offset_of!(fscrypt_master_key, mk_ino_hash_key_initialized) - 776usize]; + ["Offset of field: fscrypt_master_key::mk_present"] + [::core::mem::offset_of!(fscrypt_master_key, mk_present) - 777usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_mode { + pub friendly_name: *const ::core::ffi::c_char, + pub cipher_str: *const ::core::ffi::c_char, + pub keysize: ::core::ffi::c_int, + pub security_strength: ::core::ffi::c_int, + pub ivsize: ::core::ffi::c_int, + pub logged_cryptoapi_impl: ::core::ffi::c_int, + pub logged_blk_crypto_native: ::core::ffi::c_int, + pub logged_blk_crypto_fallback: ::core::ffi::c_int, + pub blk_crypto_mode: blk_crypto_mode_num, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_mode"][::core::mem::size_of::() - 48usize]; + ["Alignment of fscrypt_mode"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_mode::friendly_name"] + [::core::mem::offset_of!(fscrypt_mode, friendly_name) - 0usize]; + ["Offset of field: fscrypt_mode::cipher_str"] + [::core::mem::offset_of!(fscrypt_mode, cipher_str) - 8usize]; + ["Offset of field: fscrypt_mode::keysize"] + [::core::mem::offset_of!(fscrypt_mode, keysize) - 16usize]; + ["Offset of field: fscrypt_mode::security_strength"] + [::core::mem::offset_of!(fscrypt_mode, security_strength) - 20usize]; + ["Offset of field: fscrypt_mode::ivsize"] + [::core::mem::offset_of!(fscrypt_mode, ivsize) - 24usize]; + ["Offset of field: fscrypt_mode::logged_cryptoapi_impl"] + [::core::mem::offset_of!(fscrypt_mode, logged_cryptoapi_impl) - 28usize]; + ["Offset of field: fscrypt_mode::logged_blk_crypto_native"] + [::core::mem::offset_of!(fscrypt_mode, logged_blk_crypto_native) - 32usize]; + ["Offset of field: fscrypt_mode::logged_blk_crypto_fallback"] + [::core::mem::offset_of!(fscrypt_mode, logged_blk_crypto_fallback) - 36usize]; + ["Offset of field: fscrypt_mode::blk_crypto_mode"] + [::core::mem::offset_of!(fscrypt_mode, blk_crypto_mode) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscrypt_operations { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub legacy_key_prefix: *const ::core::ffi::c_char, + pub get_context: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut ::core::ffi::c_void, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub set_context: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *const ::core::ffi::c_void, + arg3: usize, + arg4: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub get_dummy_policy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut super_block) -> *const fscrypt_policy, + >, + pub empty_dir: ::core::option::Option bool_>, + pub has_stable_inodes: + ::core::option::Option bool_>, + pub get_devices: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut ::core::ffi::c_uint, + ) -> *mut *mut block_device, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fscrypt_operations"][::core::mem::size_of::() - 64usize]; + ["Alignment of fscrypt_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fscrypt_operations::legacy_key_prefix"] + [::core::mem::offset_of!(fscrypt_operations, legacy_key_prefix) - 8usize]; + ["Offset of field: fscrypt_operations::get_context"] + [::core::mem::offset_of!(fscrypt_operations, get_context) - 16usize]; + ["Offset of field: fscrypt_operations::set_context"] + [::core::mem::offset_of!(fscrypt_operations, set_context) - 24usize]; + ["Offset of field: fscrypt_operations::get_dummy_policy"] + [::core::mem::offset_of!(fscrypt_operations, get_dummy_policy) - 32usize]; + ["Offset of field: fscrypt_operations::empty_dir"] + [::core::mem::offset_of!(fscrypt_operations, empty_dir) - 40usize]; + ["Offset of field: fscrypt_operations::has_stable_inodes"] + [::core::mem::offset_of!(fscrypt_operations, has_stable_inodes) - 48usize]; + ["Offset of field: fscrypt_operations::get_devices"] + [::core::mem::offset_of!(fscrypt_operations, get_devices) - 56usize]; +}; +impl fscrypt_operations { + #[inline] + pub fn needs_bounce_pages(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_needs_bounce_pages(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn needs_bounce_pages_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_needs_bounce_pages_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn has_32bit_inodes(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_has_32bit_inodes(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_32bit_inodes_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_has_32bit_inodes_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn supports_subblock_data_units(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_supports_subblock_data_units(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn supports_subblock_data_units_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_supports_subblock_data_units_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + needs_bounce_pages: ::core::ffi::c_uint, + has_32bit_inodes: ::core::ffi::c_uint, + supports_subblock_data_units: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let needs_bounce_pages: u32 = unsafe { ::core::mem::transmute(needs_bounce_pages) }; + needs_bounce_pages as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let has_32bit_inodes: u32 = unsafe { ::core::mem::transmute(has_32bit_inodes) }; + has_32bit_inodes as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let supports_subblock_data_units: u32 = + unsafe { ::core::mem::transmute(supports_subblock_data_units) }; + supports_subblock_data_units as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct inotify_group_private_data { + pub idr_lock: spinlock_t, + pub idr: idr, + pub ucounts: *mut ucounts, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inotify_group_private_data"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of inotify_group_private_data"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: inotify_group_private_data::idr_lock"] + [::core::mem::offset_of!(inotify_group_private_data, idr_lock) - 0usize]; + ["Offset of field: inotify_group_private_data::idr"] + [::core::mem::offset_of!(inotify_group_private_data, idr) - 8usize]; + ["Offset of field: inotify_group_private_data::ucounts"] + [::core::mem::offset_of!(inotify_group_private_data, ucounts) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fsnotify_group { + pub ops: *const fsnotify_ops, + pub refcnt: refcount_t, + pub notification_lock: spinlock_t, + pub notification_list: list_head, + pub notification_waitq: wait_queue_head_t, + pub q_len: ::core::ffi::c_uint, + pub max_events: ::core::ffi::c_uint, + pub priority: fsnotify_group_prio, + pub shutdown: bool_, + pub flags: ::core::ffi::c_int, + pub owner_flags: ::core::ffi::c_uint, + pub mark_mutex: mutex, + pub user_waits: atomic_t, + pub marks_list: list_head, + pub fsn_fa: *mut fasync_struct, + pub overflow_event: *mut fsnotify_event, + pub memcg: *mut mem_cgroup, + pub __bindgen_anon_1: fsnotify_group__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fsnotify_group__bindgen_ty_1 { + pub private: *mut ::core::ffi::c_void, + pub inotify_data: inotify_group_private_data, + pub fanotify_data: fanotify_group_private_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_group__bindgen_ty_1"] + [::core::mem::size_of::() - 136usize]; + ["Alignment of fsnotify_group__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_group__bindgen_ty_1::private"] + [::core::mem::offset_of!(fsnotify_group__bindgen_ty_1, private) - 0usize]; + ["Offset of field: fsnotify_group__bindgen_ty_1::inotify_data"] + [::core::mem::offset_of!(fsnotify_group__bindgen_ty_1, inotify_data) - 0usize]; + ["Offset of field: fsnotify_group__bindgen_ty_1::fanotify_data"] + [::core::mem::offset_of!(fsnotify_group__bindgen_ty_1, fanotify_data) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_group"][::core::mem::size_of::() - 296usize]; + ["Alignment of fsnotify_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_group::ops"][::core::mem::offset_of!(fsnotify_group, ops) - 0usize]; + ["Offset of field: fsnotify_group::refcnt"] + [::core::mem::offset_of!(fsnotify_group, refcnt) - 8usize]; + ["Offset of field: fsnotify_group::notification_lock"] + [::core::mem::offset_of!(fsnotify_group, notification_lock) - 12usize]; + ["Offset of field: fsnotify_group::notification_list"] + [::core::mem::offset_of!(fsnotify_group, notification_list) - 16usize]; + ["Offset of field: fsnotify_group::notification_waitq"] + [::core::mem::offset_of!(fsnotify_group, notification_waitq) - 32usize]; + ["Offset of field: fsnotify_group::q_len"] + [::core::mem::offset_of!(fsnotify_group, q_len) - 56usize]; + ["Offset of field: fsnotify_group::max_events"] + [::core::mem::offset_of!(fsnotify_group, max_events) - 60usize]; + ["Offset of field: fsnotify_group::priority"] + [::core::mem::offset_of!(fsnotify_group, priority) - 64usize]; + ["Offset of field: fsnotify_group::shutdown"] + [::core::mem::offset_of!(fsnotify_group, shutdown) - 68usize]; + ["Offset of field: fsnotify_group::flags"] + [::core::mem::offset_of!(fsnotify_group, flags) - 72usize]; + ["Offset of field: fsnotify_group::owner_flags"] + [::core::mem::offset_of!(fsnotify_group, owner_flags) - 76usize]; + ["Offset of field: fsnotify_group::mark_mutex"] + [::core::mem::offset_of!(fsnotify_group, mark_mutex) - 80usize]; + ["Offset of field: fsnotify_group::user_waits"] + [::core::mem::offset_of!(fsnotify_group, user_waits) - 112usize]; + ["Offset of field: fsnotify_group::marks_list"] + [::core::mem::offset_of!(fsnotify_group, marks_list) - 120usize]; + ["Offset of field: fsnotify_group::fsn_fa"] + [::core::mem::offset_of!(fsnotify_group, fsn_fa) - 136usize]; + ["Offset of field: fsnotify_group::overflow_event"] + [::core::mem::offset_of!(fsnotify_group, overflow_event) - 144usize]; + ["Offset of field: fsnotify_group::memcg"] + [::core::mem::offset_of!(fsnotify_group, memcg) - 152usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsnotify_iter_info { + pub marks: [*mut fsnotify_mark; 5usize], + pub current_group: *mut fsnotify_group, + pub report_mask: ::core::ffi::c_uint, + pub srcu_idx: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_iter_info"][::core::mem::size_of::() - 56usize]; + ["Alignment of fsnotify_iter_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_iter_info::marks"] + [::core::mem::offset_of!(fsnotify_iter_info, marks) - 0usize]; + ["Offset of field: fsnotify_iter_info::current_group"] + [::core::mem::offset_of!(fsnotify_iter_info, current_group) - 40usize]; + ["Offset of field: fsnotify_iter_info::report_mask"] + [::core::mem::offset_of!(fsnotify_iter_info, report_mask) - 48usize]; + ["Offset of field: fsnotify_iter_info::srcu_idx"] + [::core::mem::offset_of!(fsnotify_iter_info, srcu_idx) - 52usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct fsnotify_mark_connector { + pub lock: spinlock_t, + pub type_: ::core::ffi::c_uchar, + pub prio: ::core::ffi::c_uchar, + pub flags: ::core::ffi::c_ushort, + pub __bindgen_anon_1: fsnotify_mark_connector__bindgen_ty_1, + pub list: hlist_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union fsnotify_mark_connector__bindgen_ty_1 { + pub obj: *mut ::core::ffi::c_void, + pub destroy_next: *mut fsnotify_mark_connector, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_mark_connector__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of fsnotify_mark_connector__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_mark_connector__bindgen_ty_1::obj"] + [::core::mem::offset_of!(fsnotify_mark_connector__bindgen_ty_1, obj) - 0usize]; + ["Offset of field: fsnotify_mark_connector__bindgen_ty_1::destroy_next"] + [::core::mem::offset_of!(fsnotify_mark_connector__bindgen_ty_1, destroy_next) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_mark_connector"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of fsnotify_mark_connector"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_mark_connector::lock"] + [::core::mem::offset_of!(fsnotify_mark_connector, lock) - 0usize]; + ["Offset of field: fsnotify_mark_connector::type_"] + [::core::mem::offset_of!(fsnotify_mark_connector, type_) - 4usize]; + ["Offset of field: fsnotify_mark_connector::prio"] + [::core::mem::offset_of!(fsnotify_mark_connector, prio) - 5usize]; + ["Offset of field: fsnotify_mark_connector::flags"] + [::core::mem::offset_of!(fsnotify_mark_connector, flags) - 6usize]; + ["Offset of field: fsnotify_mark_connector::list"] + [::core::mem::offset_of!(fsnotify_mark_connector, list) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsnotify_ops { + pub handle_event: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fsnotify_group, + arg2: u32_, + arg3: *const ::core::ffi::c_void, + arg4: ::core::ffi::c_int, + arg5: *mut inode, + arg6: *const qstr, + arg7: u32_, + arg8: *mut fsnotify_iter_info, + ) -> ::core::ffi::c_int, + >, + pub handle_inode_event: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fsnotify_mark, + arg2: u32_, + arg3: *mut inode, + arg4: *mut inode, + arg5: *const qstr, + arg6: u32_, + ) -> ::core::ffi::c_int, + >, + pub free_group_priv: ::core::option::Option, + pub freeing_mark: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fsnotify_mark, arg2: *mut fsnotify_group), + >, + pub free_event: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fsnotify_group, arg2: *mut fsnotify_event), + >, + pub free_mark: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_ops"][::core::mem::size_of::() - 48usize]; + ["Alignment of fsnotify_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_ops::handle_event"] + [::core::mem::offset_of!(fsnotify_ops, handle_event) - 0usize]; + ["Offset of field: fsnotify_ops::handle_inode_event"] + [::core::mem::offset_of!(fsnotify_ops, handle_inode_event) - 8usize]; + ["Offset of field: fsnotify_ops::free_group_priv"] + [::core::mem::offset_of!(fsnotify_ops, free_group_priv) - 16usize]; + ["Offset of field: fsnotify_ops::freeing_mark"] + [::core::mem::offset_of!(fsnotify_ops, freeing_mark) - 24usize]; + ["Offset of field: fsnotify_ops::free_event"] + [::core::mem::offset_of!(fsnotify_ops, free_event) - 32usize]; + ["Offset of field: fsnotify_ops::free_mark"] + [::core::mem::offset_of!(fsnotify_ops, free_mark) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsnotify_sb_info { + pub sb_marks: *mut fsnotify_mark_connector, + pub watched_objects: [atomic_long_t; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsnotify_sb_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of fsnotify_sb_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsnotify_sb_info::sb_marks"] + [::core::mem::offset_of!(fsnotify_sb_info, sb_marks) - 0usize]; + ["Offset of field: fsnotify_sb_info::watched_objects"] + [::core::mem::offset_of!(fsnotify_sb_info, watched_objects) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsverity_hash_alg { + pub tfm: *mut crypto_shash, + pub name: *const ::core::ffi::c_char, + pub digest_size: ::core::ffi::c_uint, + pub block_size: ::core::ffi::c_uint, + pub algo_id: hash_algo, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsverity_hash_alg"][::core::mem::size_of::() - 32usize]; + ["Alignment of fsverity_hash_alg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsverity_hash_alg::tfm"] + [::core::mem::offset_of!(fsverity_hash_alg, tfm) - 0usize]; + ["Offset of field: fsverity_hash_alg::name"] + [::core::mem::offset_of!(fsverity_hash_alg, name) - 8usize]; + ["Offset of field: fsverity_hash_alg::digest_size"] + [::core::mem::offset_of!(fsverity_hash_alg, digest_size) - 16usize]; + ["Offset of field: fsverity_hash_alg::block_size"] + [::core::mem::offset_of!(fsverity_hash_alg, block_size) - 20usize]; + ["Offset of field: fsverity_hash_alg::algo_id"] + [::core::mem::offset_of!(fsverity_hash_alg, algo_id) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct merkle_tree_params { + pub hash_alg: *const fsverity_hash_alg, + pub hashstate: *const u8_, + pub digest_size: ::core::ffi::c_uint, + pub block_size: ::core::ffi::c_uint, + pub hashes_per_block: ::core::ffi::c_uint, + pub blocks_per_page: ::core::ffi::c_uint, + pub log_digestsize: u8_, + pub log_blocksize: u8_, + pub log_arity: u8_, + pub log_blocks_per_page: u8_, + pub num_levels: ::core::ffi::c_uint, + pub tree_size: u64_, + pub tree_pages: ::core::ffi::c_ulong, + pub level_start: [::core::ffi::c_ulong; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of merkle_tree_params"][::core::mem::size_of::() - 120usize]; + ["Alignment of merkle_tree_params"][::core::mem::align_of::() - 8usize]; + ["Offset of field: merkle_tree_params::hash_alg"] + [::core::mem::offset_of!(merkle_tree_params, hash_alg) - 0usize]; + ["Offset of field: merkle_tree_params::hashstate"] + [::core::mem::offset_of!(merkle_tree_params, hashstate) - 8usize]; + ["Offset of field: merkle_tree_params::digest_size"] + [::core::mem::offset_of!(merkle_tree_params, digest_size) - 16usize]; + ["Offset of field: merkle_tree_params::block_size"] + [::core::mem::offset_of!(merkle_tree_params, block_size) - 20usize]; + ["Offset of field: merkle_tree_params::hashes_per_block"] + [::core::mem::offset_of!(merkle_tree_params, hashes_per_block) - 24usize]; + ["Offset of field: merkle_tree_params::blocks_per_page"] + [::core::mem::offset_of!(merkle_tree_params, blocks_per_page) - 28usize]; + ["Offset of field: merkle_tree_params::log_digestsize"] + [::core::mem::offset_of!(merkle_tree_params, log_digestsize) - 32usize]; + ["Offset of field: merkle_tree_params::log_blocksize"] + [::core::mem::offset_of!(merkle_tree_params, log_blocksize) - 33usize]; + ["Offset of field: merkle_tree_params::log_arity"] + [::core::mem::offset_of!(merkle_tree_params, log_arity) - 34usize]; + ["Offset of field: merkle_tree_params::log_blocks_per_page"] + [::core::mem::offset_of!(merkle_tree_params, log_blocks_per_page) - 35usize]; + ["Offset of field: merkle_tree_params::num_levels"] + [::core::mem::offset_of!(merkle_tree_params, num_levels) - 36usize]; + ["Offset of field: merkle_tree_params::tree_size"] + [::core::mem::offset_of!(merkle_tree_params, tree_size) - 40usize]; + ["Offset of field: merkle_tree_params::tree_pages"] + [::core::mem::offset_of!(merkle_tree_params, tree_pages) - 48usize]; + ["Offset of field: merkle_tree_params::level_start"] + [::core::mem::offset_of!(merkle_tree_params, level_start) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsverity_info { + pub tree_params: merkle_tree_params, + pub root_hash: [u8_; 64usize], + pub file_digest: [u8_; 64usize], + pub inode: *const inode, + pub hash_block_verified: *mut ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsverity_info"][::core::mem::size_of::() - 264usize]; + ["Alignment of fsverity_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsverity_info::tree_params"] + [::core::mem::offset_of!(fsverity_info, tree_params) - 0usize]; + ["Offset of field: fsverity_info::root_hash"] + [::core::mem::offset_of!(fsverity_info, root_hash) - 120usize]; + ["Offset of field: fsverity_info::file_digest"] + [::core::mem::offset_of!(fsverity_info, file_digest) - 184usize]; + ["Offset of field: fsverity_info::inode"] + [::core::mem::offset_of!(fsverity_info, inode) - 248usize]; + ["Offset of field: fsverity_info::hash_block_verified"] + [::core::mem::offset_of!(fsverity_info, hash_block_verified) - 256usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fsverity_operations { + pub begin_enable_verity: + ::core::option::Option ::core::ffi::c_int>, + pub end_enable_verity: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *const ::core::ffi::c_void, + arg3: usize, + arg4: u64_, + ) -> ::core::ffi::c_int, + >, + pub get_verity_descriptor: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut ::core::ffi::c_void, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub read_merkle_tree_page: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + ) -> *mut page, + >, + pub write_merkle_tree_block: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *const ::core::ffi::c_void, + arg3: u64_, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fsverity_operations"][::core::mem::size_of::() - 40usize]; + ["Alignment of fsverity_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fsverity_operations::begin_enable_verity"] + [::core::mem::offset_of!(fsverity_operations, begin_enable_verity) - 0usize]; + ["Offset of field: fsverity_operations::end_enable_verity"] + [::core::mem::offset_of!(fsverity_operations, end_enable_verity) - 8usize]; + ["Offset of field: fsverity_operations::get_verity_descriptor"] + [::core::mem::offset_of!(fsverity_operations, get_verity_descriptor) - 16usize]; + ["Offset of field: fsverity_operations::read_merkle_tree_page"] + [::core::mem::offset_of!(fsverity_operations, read_merkle_tree_page) - 24usize]; + ["Offset of field: fsverity_operations::write_merkle_tree_block"] + [::core::mem::offset_of!(fsverity_operations, write_merkle_tree_block) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_seq { + pub buffer: [::core::ffi::c_char; 8156usize], + pub seq: seq_buf, + pub readpos: usize, + pub full: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_seq"][::core::mem::size_of::() - 8200usize]; + ["Alignment of trace_seq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_seq::buffer"][::core::mem::offset_of!(trace_seq, buffer) - 0usize]; + ["Offset of field: trace_seq::seq"][::core::mem::offset_of!(trace_seq, seq) - 8160usize]; + ["Offset of field: trace_seq::readpos"] + [::core::mem::offset_of!(trace_seq, readpos) - 8184usize]; + ["Offset of field: trace_seq::full"][::core::mem::offset_of!(trace_seq, full) - 8192usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct trace_iterator { + pub tr: *mut trace_array, + pub trace: *mut tracer, + pub array_buffer: *mut array_buffer, + pub private: *mut ::core::ffi::c_void, + pub cpu_file: ::core::ffi::c_int, + pub mutex: mutex, + pub buffer_iter: *mut *mut ring_buffer_iter, + pub iter_flags: ::core::ffi::c_ulong, + pub temp: *mut ::core::ffi::c_void, + pub temp_size: ::core::ffi::c_uint, + pub fmt: *mut ::core::ffi::c_char, + pub fmt_size: ::core::ffi::c_uint, + pub wait_index: atomic_t, + pub tmp_seq: trace_seq, + pub started: cpumask_var_t, + pub closed: bool_, + pub snapshot: bool_, + pub seq: trace_seq, + pub ent: *mut trace_entry, + pub lost_events: ::core::ffi::c_ulong, + pub leftover: ::core::ffi::c_int, + pub ent_size: ::core::ffi::c_int, + pub cpu: ::core::ffi::c_int, + pub ts: u64_, + pub pos: loff_t, + pub idx: ::core::ffi::c_long, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_iterator"][::core::mem::size_of::() - 16592usize]; + ["Alignment of trace_iterator"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_iterator::tr"][::core::mem::offset_of!(trace_iterator, tr) - 0usize]; + ["Offset of field: trace_iterator::trace"] + [::core::mem::offset_of!(trace_iterator, trace) - 8usize]; + ["Offset of field: trace_iterator::array_buffer"] + [::core::mem::offset_of!(trace_iterator, array_buffer) - 16usize]; + ["Offset of field: trace_iterator::private"] + [::core::mem::offset_of!(trace_iterator, private) - 24usize]; + ["Offset of field: trace_iterator::cpu_file"] + [::core::mem::offset_of!(trace_iterator, cpu_file) - 32usize]; + ["Offset of field: trace_iterator::mutex"] + [::core::mem::offset_of!(trace_iterator, mutex) - 40usize]; + ["Offset of field: trace_iterator::buffer_iter"] + [::core::mem::offset_of!(trace_iterator, buffer_iter) - 72usize]; + ["Offset of field: trace_iterator::iter_flags"] + [::core::mem::offset_of!(trace_iterator, iter_flags) - 80usize]; + ["Offset of field: trace_iterator::temp"] + [::core::mem::offset_of!(trace_iterator, temp) - 88usize]; + ["Offset of field: trace_iterator::temp_size"] + [::core::mem::offset_of!(trace_iterator, temp_size) - 96usize]; + ["Offset of field: trace_iterator::fmt"] + [::core::mem::offset_of!(trace_iterator, fmt) - 104usize]; + ["Offset of field: trace_iterator::fmt_size"] + [::core::mem::offset_of!(trace_iterator, fmt_size) - 112usize]; + ["Offset of field: trace_iterator::wait_index"] + [::core::mem::offset_of!(trace_iterator, wait_index) - 116usize]; + ["Offset of field: trace_iterator::tmp_seq"] + [::core::mem::offset_of!(trace_iterator, tmp_seq) - 120usize]; + ["Offset of field: trace_iterator::started"] + [::core::mem::offset_of!(trace_iterator, started) - 8320usize]; + ["Offset of field: trace_iterator::closed"] + [::core::mem::offset_of!(trace_iterator, closed) - 8328usize]; + ["Offset of field: trace_iterator::snapshot"] + [::core::mem::offset_of!(trace_iterator, snapshot) - 8329usize]; + ["Offset of field: trace_iterator::seq"] + [::core::mem::offset_of!(trace_iterator, seq) - 8336usize]; + ["Offset of field: trace_iterator::ent"] + [::core::mem::offset_of!(trace_iterator, ent) - 16536usize]; + ["Offset of field: trace_iterator::lost_events"] + [::core::mem::offset_of!(trace_iterator, lost_events) - 16544usize]; + ["Offset of field: trace_iterator::leftover"] + [::core::mem::offset_of!(trace_iterator, leftover) - 16552usize]; + ["Offset of field: trace_iterator::ent_size"] + [::core::mem::offset_of!(trace_iterator, ent_size) - 16556usize]; + ["Offset of field: trace_iterator::cpu"] + [::core::mem::offset_of!(trace_iterator, cpu) - 16560usize]; + ["Offset of field: trace_iterator::ts"] + [::core::mem::offset_of!(trace_iterator, ts) - 16568usize]; + ["Offset of field: trace_iterator::pos"] + [::core::mem::offset_of!(trace_iterator, pos) - 16576usize]; + ["Offset of field: trace_iterator::idx"] + [::core::mem::offset_of!(trace_iterator, idx) - 16584usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ftrace_event_field { + pub link: list_head, + pub name: *const ::core::ffi::c_char, + pub type_: *const ::core::ffi::c_char, + pub filter_type: ::core::ffi::c_int, + pub offset: ::core::ffi::c_int, + pub size: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub len: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ftrace_event_field"][::core::mem::size_of::() - 56usize]; + ["Alignment of ftrace_event_field"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ftrace_event_field::link"] + [::core::mem::offset_of!(ftrace_event_field, link) - 0usize]; + ["Offset of field: ftrace_event_field::name"] + [::core::mem::offset_of!(ftrace_event_field, name) - 16usize]; + ["Offset of field: ftrace_event_field::type_"] + [::core::mem::offset_of!(ftrace_event_field, type_) - 24usize]; + ["Offset of field: ftrace_event_field::filter_type"] + [::core::mem::offset_of!(ftrace_event_field, filter_type) - 32usize]; + ["Offset of field: ftrace_event_field::offset"] + [::core::mem::offset_of!(ftrace_event_field, offset) - 36usize]; + ["Offset of field: ftrace_event_field::size"] + [::core::mem::offset_of!(ftrace_event_field, size) - 40usize]; + ["Offset of field: ftrace_event_field::len"] + [::core::mem::offset_of!(ftrace_event_field, len) - 48usize]; +}; +impl ftrace_event_field { + #[inline] + pub fn is_signed(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_signed(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_signed_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_signed_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn needs_test(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_needs_test(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn needs_test_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_needs_test_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_signed: ::core::ffi::c_uint, + needs_test: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_signed: u32 = unsafe { ::core::mem::transmute(is_signed) }; + is_signed as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let needs_test: u32 = unsafe { ::core::mem::transmute(needs_test) }; + needs_test as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ftrace_hash { + pub size_bits: ::core::ffi::c_ulong, + pub buckets: *mut hlist_head, + pub count: ::core::ffi::c_ulong, + pub flags: ::core::ffi::c_ulong, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ftrace_hash"][::core::mem::size_of::() - 48usize]; + ["Alignment of ftrace_hash"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ftrace_hash::size_bits"] + [::core::mem::offset_of!(ftrace_hash, size_bits) - 0usize]; + ["Offset of field: ftrace_hash::buckets"] + [::core::mem::offset_of!(ftrace_hash, buckets) - 8usize]; + ["Offset of field: ftrace_hash::count"][::core::mem::offset_of!(ftrace_hash, count) - 16usize]; + ["Offset of field: ftrace_hash::flags"][::core::mem::offset_of!(ftrace_hash, flags) - 24usize]; + ["Offset of field: ftrace_hash::rcu"][::core::mem::offset_of!(ftrace_hash, rcu) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ftrace_regs { + pub regs: pt_regs, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ftrace_regs"][::core::mem::size_of::() - 168usize]; + ["Alignment of ftrace_regs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ftrace_regs::regs"][::core::mem::offset_of!(ftrace_regs, regs) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union futex_key { + pub shared: futex_key__bindgen_ty_1, + pub private: futex_key__bindgen_ty_2, + pub both: futex_key__bindgen_ty_3, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct futex_key__bindgen_ty_1 { + pub i_seq: u64_, + pub pgoff: ::core::ffi::c_ulong, + pub offset: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of futex_key__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of futex_key__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: futex_key__bindgen_ty_1::i_seq"] + [::core::mem::offset_of!(futex_key__bindgen_ty_1, i_seq) - 0usize]; + ["Offset of field: futex_key__bindgen_ty_1::pgoff"] + [::core::mem::offset_of!(futex_key__bindgen_ty_1, pgoff) - 8usize]; + ["Offset of field: futex_key__bindgen_ty_1::offset"] + [::core::mem::offset_of!(futex_key__bindgen_ty_1, offset) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct futex_key__bindgen_ty_2 { + pub __bindgen_anon_1: futex_key__bindgen_ty_2__bindgen_ty_1, + pub address: ::core::ffi::c_ulong, + pub offset: ::core::ffi::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union futex_key__bindgen_ty_2__bindgen_ty_1 { + pub mm: *mut mm_struct, + pub __tmp: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of futex_key__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of futex_key__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: futex_key__bindgen_ty_2__bindgen_ty_1::mm"] + [::core::mem::offset_of!(futex_key__bindgen_ty_2__bindgen_ty_1, mm) - 0usize]; + ["Offset of field: futex_key__bindgen_ty_2__bindgen_ty_1::__tmp"] + [::core::mem::offset_of!(futex_key__bindgen_ty_2__bindgen_ty_1, __tmp) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of futex_key__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of futex_key__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: futex_key__bindgen_ty_2::address"] + [::core::mem::offset_of!(futex_key__bindgen_ty_2, address) - 8usize]; + ["Offset of field: futex_key__bindgen_ty_2::offset"] + [::core::mem::offset_of!(futex_key__bindgen_ty_2, offset) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct futex_key__bindgen_ty_3 { + pub ptr: u64_, + pub word: ::core::ffi::c_ulong, + pub offset: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of futex_key__bindgen_ty_3"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of futex_key__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: futex_key__bindgen_ty_3::ptr"] + [::core::mem::offset_of!(futex_key__bindgen_ty_3, ptr) - 0usize]; + ["Offset of field: futex_key__bindgen_ty_3::word"] + [::core::mem::offset_of!(futex_key__bindgen_ty_3, word) - 8usize]; + ["Offset of field: futex_key__bindgen_ty_3::offset"] + [::core::mem::offset_of!(futex_key__bindgen_ty_3, offset) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of futex_key"][::core::mem::size_of::() - 24usize]; + ["Alignment of futex_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: futex_key::shared"][::core::mem::offset_of!(futex_key, shared) - 0usize]; + ["Offset of field: futex_key::private"][::core::mem::offset_of!(futex_key, private) - 0usize]; + ["Offset of field: futex_key::both"][::core::mem::offset_of!(futex_key, both) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct futex_pi_state { + pub list: list_head, + pub pi_mutex: rt_mutex_base, + pub owner: *mut task_struct, + pub refcount: refcount_t, + pub key: futex_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of futex_pi_state"][::core::mem::size_of::() - 88usize]; + ["Alignment of futex_pi_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: futex_pi_state::list"] + [::core::mem::offset_of!(futex_pi_state, list) - 0usize]; + ["Offset of field: futex_pi_state::pi_mutex"] + [::core::mem::offset_of!(futex_pi_state, pi_mutex) - 16usize]; + ["Offset of field: futex_pi_state::owner"] + [::core::mem::offset_of!(futex_pi_state, owner) - 48usize]; + ["Offset of field: futex_pi_state::refcount"] + [::core::mem::offset_of!(futex_pi_state, refcount) - 56usize]; + ["Offset of field: futex_pi_state::key"] + [::core::mem::offset_of!(futex_pi_state, key) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fwnode_endpoint { + pub port: ::core::ffi::c_uint, + pub id: ::core::ffi::c_uint, + pub local_fwnode: *const fwnode_handle, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fwnode_endpoint"][::core::mem::size_of::() - 16usize]; + ["Alignment of fwnode_endpoint"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fwnode_endpoint::port"] + [::core::mem::offset_of!(fwnode_endpoint, port) - 0usize]; + ["Offset of field: fwnode_endpoint::id"][::core::mem::offset_of!(fwnode_endpoint, id) - 4usize]; + ["Offset of field: fwnode_endpoint::local_fwnode"] + [::core::mem::offset_of!(fwnode_endpoint, local_fwnode) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fwnode_operations { + pub get: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fwnode_handle) -> *mut fwnode_handle, + >, + pub put: ::core::option::Option, + pub device_is_available: + ::core::option::Option bool_>, + pub device_get_match_data: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *const device, + ) -> *const ::core::ffi::c_void, + >, + pub device_dma_supported: + ::core::option::Option bool_>, + pub device_get_dma_attr: + ::core::option::Option dev_dma_attr>, + pub property_present: ::core::option::Option< + unsafe extern "C" fn(arg1: *const fwnode_handle, arg2: *const ::core::ffi::c_char) -> bool_, + >, + pub property_read_int_array: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *const ::core::ffi::c_char, + arg3: ::core::ffi::c_uint, + arg4: *mut ::core::ffi::c_void, + arg5: usize, + ) -> ::core::ffi::c_int, + >, + pub property_read_string_array: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *const ::core::ffi::c_char, + arg3: *mut *const ::core::ffi::c_char, + arg4: usize, + ) -> ::core::ffi::c_int, + >, + pub get_name: ::core::option::Option< + unsafe extern "C" fn(arg1: *const fwnode_handle) -> *const ::core::ffi::c_char, + >, + pub get_name_prefix: ::core::option::Option< + unsafe extern "C" fn(arg1: *const fwnode_handle) -> *const ::core::ffi::c_char, + >, + pub get_parent: ::core::option::Option< + unsafe extern "C" fn(arg1: *const fwnode_handle) -> *mut fwnode_handle, + >, + pub get_next_child_node: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *mut fwnode_handle, + ) -> *mut fwnode_handle, + >, + pub get_named_child_node: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *const ::core::ffi::c_char, + ) -> *mut fwnode_handle, + >, + pub get_reference_args: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *const ::core::ffi::c_char, + arg3: *const ::core::ffi::c_char, + arg4: ::core::ffi::c_uint, + arg5: ::core::ffi::c_uint, + arg6: *mut fwnode_reference_args, + ) -> ::core::ffi::c_int, + >, + pub graph_get_next_endpoint: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *mut fwnode_handle, + ) -> *mut fwnode_handle, + >, + pub graph_get_remote_endpoint: ::core::option::Option< + unsafe extern "C" fn(arg1: *const fwnode_handle) -> *mut fwnode_handle, + >, + pub graph_get_port_parent: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fwnode_handle) -> *mut fwnode_handle, + >, + pub graph_parse_endpoint: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: *mut fwnode_endpoint, + ) -> ::core::ffi::c_int, + >, + pub iomap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut fwnode_handle, + arg2: ::core::ffi::c_int, + ) -> *mut ::core::ffi::c_void, + >, + pub irq_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const fwnode_handle, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub add_links: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fwnode_handle) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fwnode_operations"][::core::mem::size_of::() - 176usize]; + ["Alignment of fwnode_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: fwnode_operations::get"] + [::core::mem::offset_of!(fwnode_operations, get) - 0usize]; + ["Offset of field: fwnode_operations::put"] + [::core::mem::offset_of!(fwnode_operations, put) - 8usize]; + ["Offset of field: fwnode_operations::device_is_available"] + [::core::mem::offset_of!(fwnode_operations, device_is_available) - 16usize]; + ["Offset of field: fwnode_operations::device_get_match_data"] + [::core::mem::offset_of!(fwnode_operations, device_get_match_data) - 24usize]; + ["Offset of field: fwnode_operations::device_dma_supported"] + [::core::mem::offset_of!(fwnode_operations, device_dma_supported) - 32usize]; + ["Offset of field: fwnode_operations::device_get_dma_attr"] + [::core::mem::offset_of!(fwnode_operations, device_get_dma_attr) - 40usize]; + ["Offset of field: fwnode_operations::property_present"] + [::core::mem::offset_of!(fwnode_operations, property_present) - 48usize]; + ["Offset of field: fwnode_operations::property_read_int_array"] + [::core::mem::offset_of!(fwnode_operations, property_read_int_array) - 56usize]; + ["Offset of field: fwnode_operations::property_read_string_array"] + [::core::mem::offset_of!(fwnode_operations, property_read_string_array) - 64usize]; + ["Offset of field: fwnode_operations::get_name"] + [::core::mem::offset_of!(fwnode_operations, get_name) - 72usize]; + ["Offset of field: fwnode_operations::get_name_prefix"] + [::core::mem::offset_of!(fwnode_operations, get_name_prefix) - 80usize]; + ["Offset of field: fwnode_operations::get_parent"] + [::core::mem::offset_of!(fwnode_operations, get_parent) - 88usize]; + ["Offset of field: fwnode_operations::get_next_child_node"] + [::core::mem::offset_of!(fwnode_operations, get_next_child_node) - 96usize]; + ["Offset of field: fwnode_operations::get_named_child_node"] + [::core::mem::offset_of!(fwnode_operations, get_named_child_node) - 104usize]; + ["Offset of field: fwnode_operations::get_reference_args"] + [::core::mem::offset_of!(fwnode_operations, get_reference_args) - 112usize]; + ["Offset of field: fwnode_operations::graph_get_next_endpoint"] + [::core::mem::offset_of!(fwnode_operations, graph_get_next_endpoint) - 120usize]; + ["Offset of field: fwnode_operations::graph_get_remote_endpoint"] + [::core::mem::offset_of!(fwnode_operations, graph_get_remote_endpoint) - 128usize]; + ["Offset of field: fwnode_operations::graph_get_port_parent"] + [::core::mem::offset_of!(fwnode_operations, graph_get_port_parent) - 136usize]; + ["Offset of field: fwnode_operations::graph_parse_endpoint"] + [::core::mem::offset_of!(fwnode_operations, graph_parse_endpoint) - 144usize]; + ["Offset of field: fwnode_operations::iomap"] + [::core::mem::offset_of!(fwnode_operations, iomap) - 152usize]; + ["Offset of field: fwnode_operations::irq_get"] + [::core::mem::offset_of!(fwnode_operations, irq_get) - 160usize]; + ["Offset of field: fwnode_operations::add_links"] + [::core::mem::offset_of!(fwnode_operations, add_links) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fwnode_reference_args { + pub fwnode: *mut fwnode_handle, + pub nargs: ::core::ffi::c_uint, + pub args: [u64_; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of fwnode_reference_args"][::core::mem::size_of::() - 144usize]; + ["Alignment of fwnode_reference_args"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: fwnode_reference_args::fwnode"] + [::core::mem::offset_of!(fwnode_reference_args, fwnode) - 0usize]; + ["Offset of field: fwnode_reference_args::nargs"] + [::core::mem::offset_of!(fwnode_reference_args, nargs) - 8usize]; + ["Offset of field: fwnode_reference_args::args"] + [::core::mem::offset_of!(fwnode_reference_args, args) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct gendisk { + pub major: ::core::ffi::c_int, + pub first_minor: ::core::ffi::c_int, + pub minors: ::core::ffi::c_int, + pub disk_name: [::core::ffi::c_char; 32usize], + pub events: ::core::ffi::c_ushort, + pub event_flags: ::core::ffi::c_ushort, + pub part_tbl: xarray, + pub part0: *mut block_device, + pub fops: *const block_device_operations, + pub queue: *mut request_queue, + pub private_data: *mut ::core::ffi::c_void, + pub bio_split: bio_set, + pub flags: ::core::ffi::c_int, + pub state: ::core::ffi::c_ulong, + pub open_mutex: mutex, + pub open_partitions: ::core::ffi::c_uint, + pub bdi: *mut backing_dev_info, + pub queue_kobj: kobject, + pub slave_dir: *mut kobject, + pub slave_bdevs: list_head, + pub random: *mut timer_rand_state, + pub sync_io: atomic_t, + pub ev: *mut disk_events, + pub nr_zones: ::core::ffi::c_uint, + pub zone_capacity: ::core::ffi::c_uint, + pub last_zone_capacity: ::core::ffi::c_uint, + pub conv_zones_bitmap: *mut ::core::ffi::c_ulong, + pub zone_wplugs_hash_bits: ::core::ffi::c_uint, + pub nr_zone_wplugs: atomic_t, + pub zone_wplugs_lock: spinlock_t, + pub zone_wplugs_pool: *mut mempool_s, + pub zone_wplugs_hash: *mut hlist_head, + pub zone_wplugs_wq: *mut workqueue_struct, + pub cdi: *mut cdrom_device_info, + pub node_id: ::core::ffi::c_int, + pub bb: *mut badblocks, + pub lockdep_map: lockdep_map, + pub diskseq: u64_, + pub open_mode: blk_mode_t, + pub ia_ranges: *mut blk_independent_access_ranges, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gendisk"][::core::mem::size_of::() - 776usize]; + ["Alignment of gendisk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gendisk::major"][::core::mem::offset_of!(gendisk, major) - 0usize]; + ["Offset of field: gendisk::first_minor"] + [::core::mem::offset_of!(gendisk, first_minor) - 4usize]; + ["Offset of field: gendisk::minors"][::core::mem::offset_of!(gendisk, minors) - 8usize]; + ["Offset of field: gendisk::disk_name"][::core::mem::offset_of!(gendisk, disk_name) - 12usize]; + ["Offset of field: gendisk::events"][::core::mem::offset_of!(gendisk, events) - 44usize]; + ["Offset of field: gendisk::event_flags"] + [::core::mem::offset_of!(gendisk, event_flags) - 46usize]; + ["Offset of field: gendisk::part_tbl"][::core::mem::offset_of!(gendisk, part_tbl) - 48usize]; + ["Offset of field: gendisk::part0"][::core::mem::offset_of!(gendisk, part0) - 64usize]; + ["Offset of field: gendisk::fops"][::core::mem::offset_of!(gendisk, fops) - 72usize]; + ["Offset of field: gendisk::queue"][::core::mem::offset_of!(gendisk, queue) - 80usize]; + ["Offset of field: gendisk::private_data"] + [::core::mem::offset_of!(gendisk, private_data) - 88usize]; + ["Offset of field: gendisk::bio_split"][::core::mem::offset_of!(gendisk, bio_split) - 96usize]; + ["Offset of field: gendisk::flags"][::core::mem::offset_of!(gendisk, flags) - 488usize]; + ["Offset of field: gendisk::state"][::core::mem::offset_of!(gendisk, state) - 496usize]; + ["Offset of field: gendisk::open_mutex"] + [::core::mem::offset_of!(gendisk, open_mutex) - 504usize]; + ["Offset of field: gendisk::open_partitions"] + [::core::mem::offset_of!(gendisk, open_partitions) - 536usize]; + ["Offset of field: gendisk::bdi"][::core::mem::offset_of!(gendisk, bdi) - 544usize]; + ["Offset of field: gendisk::queue_kobj"] + [::core::mem::offset_of!(gendisk, queue_kobj) - 552usize]; + ["Offset of field: gendisk::slave_dir"][::core::mem::offset_of!(gendisk, slave_dir) - 616usize]; + ["Offset of field: gendisk::slave_bdevs"] + [::core::mem::offset_of!(gendisk, slave_bdevs) - 624usize]; + ["Offset of field: gendisk::random"][::core::mem::offset_of!(gendisk, random) - 640usize]; + ["Offset of field: gendisk::sync_io"][::core::mem::offset_of!(gendisk, sync_io) - 648usize]; + ["Offset of field: gendisk::ev"][::core::mem::offset_of!(gendisk, ev) - 656usize]; + ["Offset of field: gendisk::nr_zones"][::core::mem::offset_of!(gendisk, nr_zones) - 664usize]; + ["Offset of field: gendisk::zone_capacity"] + [::core::mem::offset_of!(gendisk, zone_capacity) - 668usize]; + ["Offset of field: gendisk::last_zone_capacity"] + [::core::mem::offset_of!(gendisk, last_zone_capacity) - 672usize]; + ["Offset of field: gendisk::conv_zones_bitmap"] + [::core::mem::offset_of!(gendisk, conv_zones_bitmap) - 680usize]; + ["Offset of field: gendisk::zone_wplugs_hash_bits"] + [::core::mem::offset_of!(gendisk, zone_wplugs_hash_bits) - 688usize]; + ["Offset of field: gendisk::nr_zone_wplugs"] + [::core::mem::offset_of!(gendisk, nr_zone_wplugs) - 692usize]; + ["Offset of field: gendisk::zone_wplugs_lock"] + [::core::mem::offset_of!(gendisk, zone_wplugs_lock) - 696usize]; + ["Offset of field: gendisk::zone_wplugs_pool"] + [::core::mem::offset_of!(gendisk, zone_wplugs_pool) - 704usize]; + ["Offset of field: gendisk::zone_wplugs_hash"] + [::core::mem::offset_of!(gendisk, zone_wplugs_hash) - 712usize]; + ["Offset of field: gendisk::zone_wplugs_wq"] + [::core::mem::offset_of!(gendisk, zone_wplugs_wq) - 720usize]; + ["Offset of field: gendisk::cdi"][::core::mem::offset_of!(gendisk, cdi) - 728usize]; + ["Offset of field: gendisk::node_id"][::core::mem::offset_of!(gendisk, node_id) - 736usize]; + ["Offset of field: gendisk::bb"][::core::mem::offset_of!(gendisk, bb) - 744usize]; + ["Offset of field: gendisk::lockdep_map"] + [::core::mem::offset_of!(gendisk, lockdep_map) - 752usize]; + ["Offset of field: gendisk::diskseq"][::core::mem::offset_of!(gendisk, diskseq) - 752usize]; + ["Offset of field: gendisk::open_mode"][::core::mem::offset_of!(gendisk, open_mode) - 760usize]; + ["Offset of field: gendisk::ia_ranges"][::core::mem::offset_of!(gendisk, ia_ranges) - 768usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pm_domain_data { + pub list_node: list_head, + pub dev: *mut device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pm_domain_data"][::core::mem::size_of::() - 24usize]; + ["Alignment of pm_domain_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pm_domain_data::list_node"] + [::core::mem::offset_of!(pm_domain_data, list_node) - 0usize]; + ["Offset of field: pm_domain_data::dev"] + [::core::mem::offset_of!(pm_domain_data, dev) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tc_stats { + pub bytes: __u64, + pub packets: __u32, + pub drops: __u32, + pub overlimits: __u32, + pub bps: __u32, + pub pps: __u32, + pub qlen: __u32, + pub backlog: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tc_stats"][::core::mem::size_of::() - 40usize]; + ["Alignment of tc_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tc_stats::bytes"][::core::mem::offset_of!(tc_stats, bytes) - 0usize]; + ["Offset of field: tc_stats::packets"][::core::mem::offset_of!(tc_stats, packets) - 8usize]; + ["Offset of field: tc_stats::drops"][::core::mem::offset_of!(tc_stats, drops) - 12usize]; + ["Offset of field: tc_stats::overlimits"] + [::core::mem::offset_of!(tc_stats, overlimits) - 16usize]; + ["Offset of field: tc_stats::bps"][::core::mem::offset_of!(tc_stats, bps) - 20usize]; + ["Offset of field: tc_stats::pps"][::core::mem::offset_of!(tc_stats, pps) - 24usize]; + ["Offset of field: tc_stats::qlen"][::core::mem::offset_of!(tc_stats, qlen) - 28usize]; + ["Offset of field: tc_stats::backlog"][::core::mem::offset_of!(tc_stats, backlog) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gnet_dump { + pub lock: *mut spinlock_t, + pub skb: *mut sk_buff, + pub tail: *mut nlattr, + pub compat_tc_stats: ::core::ffi::c_int, + pub compat_xstats: ::core::ffi::c_int, + pub padattr: ::core::ffi::c_int, + pub xstats: *mut ::core::ffi::c_void, + pub xstats_len: ::core::ffi::c_int, + pub tc_stats: tc_stats, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gnet_dump"][::core::mem::size_of::() - 96usize]; + ["Alignment of gnet_dump"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gnet_dump::lock"][::core::mem::offset_of!(gnet_dump, lock) - 0usize]; + ["Offset of field: gnet_dump::skb"][::core::mem::offset_of!(gnet_dump, skb) - 8usize]; + ["Offset of field: gnet_dump::tail"][::core::mem::offset_of!(gnet_dump, tail) - 16usize]; + ["Offset of field: gnet_dump::compat_tc_stats"] + [::core::mem::offset_of!(gnet_dump, compat_tc_stats) - 24usize]; + ["Offset of field: gnet_dump::compat_xstats"] + [::core::mem::offset_of!(gnet_dump, compat_xstats) - 28usize]; + ["Offset of field: gnet_dump::padattr"][::core::mem::offset_of!(gnet_dump, padattr) - 32usize]; + ["Offset of field: gnet_dump::xstats"][::core::mem::offset_of!(gnet_dump, xstats) - 40usize]; + ["Offset of field: gnet_dump::xstats_len"] + [::core::mem::offset_of!(gnet_dump, xstats_len) - 48usize]; + ["Offset of field: gnet_dump::tc_stats"] + [::core::mem::offset_of!(gnet_dump, tc_stats) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gpio_desc { + pub gdev: *mut gpio_device, + pub flags: ::core::ffi::c_ulong, + pub label: *mut gpio_desc_label, + pub name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gpio_desc"][::core::mem::size_of::() - 32usize]; + ["Alignment of gpio_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gpio_desc::gdev"][::core::mem::offset_of!(gpio_desc, gdev) - 0usize]; + ["Offset of field: gpio_desc::flags"][::core::mem::offset_of!(gpio_desc, flags) - 8usize]; + ["Offset of field: gpio_desc::label"][::core::mem::offset_of!(gpio_desc, label) - 16usize]; + ["Offset of field: gpio_desc::name"][::core::mem::offset_of!(gpio_desc, name) - 24usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct gpio_desc_label { + pub rh: callback_head, + pub str_: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gpio_desc_label"][::core::mem::size_of::() - 16usize]; + ["Alignment of gpio_desc_label"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gpio_desc_label::rh"][::core::mem::offset_of!(gpio_desc_label, rh) - 0usize]; + ["Offset of field: gpio_desc_label::str_"] + [::core::mem::offset_of!(gpio_desc_label, str_) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct gpio_device { + pub dev: device, + pub chrdev: cdev, + pub id: ::core::ffi::c_int, + pub mockdev: *mut device, + pub owner: *mut module, + pub chip: *mut gpio_chip, + pub descs: *mut gpio_desc, + pub desc_srcu: srcu_struct, + pub base: ::core::ffi::c_uint, + pub ngpio: u16_, + pub can_sleep: bool_, + pub label: *const ::core::ffi::c_char, + pub data: *mut ::core::ffi::c_void, + pub list: list_head, + pub line_state_notifier: blocking_notifier_head, + pub device_notifier: blocking_notifier_head, + pub srcu: srcu_struct, + pub pin_ranges: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gpio_device"][::core::mem::size_of::() - 1096usize]; + ["Alignment of gpio_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gpio_device::dev"][::core::mem::offset_of!(gpio_device, dev) - 0usize]; + ["Offset of field: gpio_device::chrdev"] + [::core::mem::offset_of!(gpio_device, chrdev) - 752usize]; + ["Offset of field: gpio_device::id"][::core::mem::offset_of!(gpio_device, id) - 856usize]; + ["Offset of field: gpio_device::mockdev"] + [::core::mem::offset_of!(gpio_device, mockdev) - 864usize]; + ["Offset of field: gpio_device::owner"][::core::mem::offset_of!(gpio_device, owner) - 872usize]; + ["Offset of field: gpio_device::chip"][::core::mem::offset_of!(gpio_device, chip) - 880usize]; + ["Offset of field: gpio_device::descs"][::core::mem::offset_of!(gpio_device, descs) - 888usize]; + ["Offset of field: gpio_device::desc_srcu"] + [::core::mem::offset_of!(gpio_device, desc_srcu) - 896usize]; + ["Offset of field: gpio_device::base"][::core::mem::offset_of!(gpio_device, base) - 920usize]; + ["Offset of field: gpio_device::ngpio"][::core::mem::offset_of!(gpio_device, ngpio) - 924usize]; + ["Offset of field: gpio_device::can_sleep"] + [::core::mem::offset_of!(gpio_device, can_sleep) - 926usize]; + ["Offset of field: gpio_device::label"][::core::mem::offset_of!(gpio_device, label) - 928usize]; + ["Offset of field: gpio_device::data"][::core::mem::offset_of!(gpio_device, data) - 936usize]; + ["Offset of field: gpio_device::list"][::core::mem::offset_of!(gpio_device, list) - 944usize]; + ["Offset of field: gpio_device::line_state_notifier"] + [::core::mem::offset_of!(gpio_device, line_state_notifier) - 960usize]; + ["Offset of field: gpio_device::device_notifier"] + [::core::mem::offset_of!(gpio_device, device_notifier) - 1008usize]; + ["Offset of field: gpio_device::srcu"][::core::mem::offset_of!(gpio_device, srcu) - 1056usize]; + ["Offset of field: gpio_device::pin_ranges"] + [::core::mem::offset_of!(gpio_device, pin_ranges) - 1080usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_fwspec { + pub fwnode: *mut fwnode_handle, + pub param_count: ::core::ffi::c_int, + pub param: [u32_; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_fwspec"][::core::mem::size_of::() - 80usize]; + ["Alignment of irq_fwspec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_fwspec::fwnode"][::core::mem::offset_of!(irq_fwspec, fwnode) - 0usize]; + ["Offset of field: irq_fwspec::param_count"] + [::core::mem::offset_of!(irq_fwspec, param_count) - 8usize]; + ["Offset of field: irq_fwspec::param"][::core::mem::offset_of!(irq_fwspec, param) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ioapic_alloc_info { + pub pin: ::core::ffi::c_int, + pub node: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ioapic_alloc_info"][::core::mem::size_of::() - 12usize]; + ["Alignment of ioapic_alloc_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ioapic_alloc_info::pin"] + [::core::mem::offset_of!(ioapic_alloc_info, pin) - 0usize]; + ["Offset of field: ioapic_alloc_info::node"] + [::core::mem::offset_of!(ioapic_alloc_info, node) - 4usize]; +}; +impl ioapic_alloc_info { + #[inline] + pub fn is_level(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_level(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_level_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_level_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn active_low(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_active_low(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn active_low_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_active_low_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn valid(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_valid(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn valid_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_valid_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_level: u32_, + active_low: u32_, + valid: u32_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_level: u32 = unsafe { ::core::mem::transmute(is_level) }; + is_level as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let active_low: u32 = unsafe { ::core::mem::transmute(active_low) }; + active_low as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let valid: u32 = unsafe { ::core::mem::transmute(valid) }; + valid as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uv_alloc_info { + pub limit: ::core::ffi::c_int, + pub blade: ::core::ffi::c_int, + pub offset: ::core::ffi::c_ulong, + pub name: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uv_alloc_info"][::core::mem::size_of::() - 24usize]; + ["Alignment of uv_alloc_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uv_alloc_info::limit"] + [::core::mem::offset_of!(uv_alloc_info, limit) - 0usize]; + ["Offset of field: uv_alloc_info::blade"] + [::core::mem::offset_of!(uv_alloc_info, blade) - 4usize]; + ["Offset of field: uv_alloc_info::offset"] + [::core::mem::offset_of!(uv_alloc_info, offset) - 8usize]; + ["Offset of field: uv_alloc_info::name"] + [::core::mem::offset_of!(uv_alloc_info, name) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct irq_alloc_info { + pub type_: irq_alloc_type, + pub flags: u32_, + pub devid: u32_, + pub hwirq: irq_hw_number_t, + pub mask: *const cpumask, + pub desc: *mut msi_desc, + pub data: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: irq_alloc_info__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union irq_alloc_info__bindgen_ty_1 { + pub ioapic: ioapic_alloc_info, + pub uv: uv_alloc_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_alloc_info__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of irq_alloc_info__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_alloc_info__bindgen_ty_1::ioapic"] + [::core::mem::offset_of!(irq_alloc_info__bindgen_ty_1, ioapic) - 0usize]; + ["Offset of field: irq_alloc_info__bindgen_ty_1::uv"] + [::core::mem::offset_of!(irq_alloc_info__bindgen_ty_1, uv) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_alloc_info"][::core::mem::size_of::() - 72usize]; + ["Alignment of irq_alloc_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_alloc_info::type_"] + [::core::mem::offset_of!(irq_alloc_info, type_) - 0usize]; + ["Offset of field: irq_alloc_info::flags"] + [::core::mem::offset_of!(irq_alloc_info, flags) - 4usize]; + ["Offset of field: irq_alloc_info::devid"] + [::core::mem::offset_of!(irq_alloc_info, devid) - 8usize]; + ["Offset of field: irq_alloc_info::hwirq"] + [::core::mem::offset_of!(irq_alloc_info, hwirq) - 16usize]; + ["Offset of field: irq_alloc_info::mask"] + [::core::mem::offset_of!(irq_alloc_info, mask) - 24usize]; + ["Offset of field: irq_alloc_info::desc"] + [::core::mem::offset_of!(irq_alloc_info, desc) - 32usize]; + ["Offset of field: irq_alloc_info::data"] + [::core::mem::offset_of!(irq_alloc_info, data) - 40usize]; +}; +pub type msi_alloc_info_t = irq_alloc_info; +#[repr(C)] +#[derive(Copy, Clone)] +pub union gpio_irq_fwspec { + pub fwspec: irq_fwspec, + pub msiinfo: msi_alloc_info_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gpio_irq_fwspec"][::core::mem::size_of::() - 80usize]; + ["Alignment of gpio_irq_fwspec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gpio_irq_fwspec::fwspec"] + [::core::mem::offset_of!(gpio_irq_fwspec, fwspec) - 0usize]; + ["Offset of field: gpio_irq_fwspec::msiinfo"] + [::core::mem::offset_of!(gpio_irq_fwspec, msiinfo) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gro_list { + pub list: list_head, + pub count: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gro_list"][::core::mem::size_of::() - 24usize]; + ["Alignment of gro_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gro_list::list"][::core::mem::offset_of!(gro_list, list) - 0usize]; + ["Offset of field: gro_list::count"][::core::mem::offset_of!(gro_list, count) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct napi_struct { + pub poll_list: list_head, + pub state: ::core::ffi::c_ulong, + pub weight: ::core::ffi::c_int, + pub defer_hard_irqs_count: u32_, + pub gro_bitmask: ::core::ffi::c_ulong, + pub poll: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut napi_struct, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub poll_owner: ::core::ffi::c_int, + pub list_owner: ::core::ffi::c_int, + pub dev: *mut net_device, + pub gro_hash: [gro_list; 8usize], + pub skb: *mut sk_buff, + pub rx_list: list_head, + pub rx_count: ::core::ffi::c_int, + pub napi_id: ::core::ffi::c_uint, + pub timer: hrtimer, + pub thread: *mut task_struct, + pub dev_list: list_head, + pub napi_hash_node: hlist_node, + pub irq: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of napi_struct"][::core::mem::size_of::() - 400usize]; + ["Alignment of napi_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: napi_struct::poll_list"] + [::core::mem::offset_of!(napi_struct, poll_list) - 0usize]; + ["Offset of field: napi_struct::state"][::core::mem::offset_of!(napi_struct, state) - 16usize]; + ["Offset of field: napi_struct::weight"] + [::core::mem::offset_of!(napi_struct, weight) - 24usize]; + ["Offset of field: napi_struct::defer_hard_irqs_count"] + [::core::mem::offset_of!(napi_struct, defer_hard_irqs_count) - 28usize]; + ["Offset of field: napi_struct::gro_bitmask"] + [::core::mem::offset_of!(napi_struct, gro_bitmask) - 32usize]; + ["Offset of field: napi_struct::poll"][::core::mem::offset_of!(napi_struct, poll) - 40usize]; + ["Offset of field: napi_struct::poll_owner"] + [::core::mem::offset_of!(napi_struct, poll_owner) - 48usize]; + ["Offset of field: napi_struct::list_owner"] + [::core::mem::offset_of!(napi_struct, list_owner) - 52usize]; + ["Offset of field: napi_struct::dev"][::core::mem::offset_of!(napi_struct, dev) - 56usize]; + ["Offset of field: napi_struct::gro_hash"] + [::core::mem::offset_of!(napi_struct, gro_hash) - 64usize]; + ["Offset of field: napi_struct::skb"][::core::mem::offset_of!(napi_struct, skb) - 256usize]; + ["Offset of field: napi_struct::rx_list"] + [::core::mem::offset_of!(napi_struct, rx_list) - 264usize]; + ["Offset of field: napi_struct::rx_count"] + [::core::mem::offset_of!(napi_struct, rx_count) - 280usize]; + ["Offset of field: napi_struct::napi_id"] + [::core::mem::offset_of!(napi_struct, napi_id) - 284usize]; + ["Offset of field: napi_struct::timer"][::core::mem::offset_of!(napi_struct, timer) - 288usize]; + ["Offset of field: napi_struct::thread"] + [::core::mem::offset_of!(napi_struct, thread) - 352usize]; + ["Offset of field: napi_struct::dev_list"] + [::core::mem::offset_of!(napi_struct, dev_list) - 360usize]; + ["Offset of field: napi_struct::napi_hash_node"] + [::core::mem::offset_of!(napi_struct, napi_hash_node) - 376usize]; + ["Offset of field: napi_struct::irq"][::core::mem::offset_of!(napi_struct, irq) - 392usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct group_info { + pub usage: refcount_t, + pub ngroups: ::core::ffi::c_int, + pub gid: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of group_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of group_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: group_info::usage"][::core::mem::offset_of!(group_info, usage) - 0usize]; + ["Offset of field: group_info::ngroups"][::core::mem::offset_of!(group_info, ngroups) - 4usize]; + ["Offset of field: group_info::gid"][::core::mem::offset_of!(group_info, gid) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpcsec_gss_oid { + pub len: ::core::ffi::c_uint, + pub data: [u8_; 32usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpcsec_gss_oid"][::core::mem::size_of::() - 36usize]; + ["Alignment of rpcsec_gss_oid"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rpcsec_gss_oid::len"][::core::mem::offset_of!(rpcsec_gss_oid, len) - 0usize]; + ["Offset of field: rpcsec_gss_oid::data"] + [::core::mem::offset_of!(rpcsec_gss_oid, data) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gss_api_mech { + pub gm_list: list_head, + pub gm_owner: *mut module, + pub gm_oid: rpcsec_gss_oid, + pub gm_name: *mut ::core::ffi::c_char, + pub gm_ops: *const gss_api_ops, + pub gm_pf_num: ::core::ffi::c_int, + pub gm_pfs: *mut pf_desc, + pub gm_upcall_enctypes: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gss_api_mech"][::core::mem::size_of::() - 104usize]; + ["Alignment of gss_api_mech"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gss_api_mech::gm_list"] + [::core::mem::offset_of!(gss_api_mech, gm_list) - 0usize]; + ["Offset of field: gss_api_mech::gm_owner"] + [::core::mem::offset_of!(gss_api_mech, gm_owner) - 16usize]; + ["Offset of field: gss_api_mech::gm_oid"] + [::core::mem::offset_of!(gss_api_mech, gm_oid) - 24usize]; + ["Offset of field: gss_api_mech::gm_name"] + [::core::mem::offset_of!(gss_api_mech, gm_name) - 64usize]; + ["Offset of field: gss_api_mech::gm_ops"] + [::core::mem::offset_of!(gss_api_mech, gm_ops) - 72usize]; + ["Offset of field: gss_api_mech::gm_pf_num"] + [::core::mem::offset_of!(gss_api_mech, gm_pf_num) - 80usize]; + ["Offset of field: gss_api_mech::gm_pfs"] + [::core::mem::offset_of!(gss_api_mech, gm_pfs) - 88usize]; + ["Offset of field: gss_api_mech::gm_upcall_enctypes"] + [::core::mem::offset_of!(gss_api_mech, gm_upcall_enctypes) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gss_api_ops { + pub gss_import_sec_context: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_void, + arg2: usize, + arg3: *mut gss_ctx, + arg4: *mut time64_t, + arg5: gfp_t, + ) -> ::core::ffi::c_int, + >, + pub gss_get_mic: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gss_ctx, arg2: *mut xdr_buf, arg3: *mut xdr_netobj) -> u32_, + >, + pub gss_verify_mic: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut gss_ctx, arg2: *mut xdr_buf, arg3: *mut xdr_netobj) -> u32_, + >, + pub gss_wrap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gss_ctx, + arg2: ::core::ffi::c_int, + arg3: *mut xdr_buf, + arg4: *mut *mut page, + ) -> u32_, + >, + pub gss_unwrap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut gss_ctx, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: *mut xdr_buf, + ) -> u32_, + >, + pub gss_delete_sec_context: + ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gss_api_ops"][::core::mem::size_of::() - 48usize]; + ["Alignment of gss_api_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gss_api_ops::gss_import_sec_context"] + [::core::mem::offset_of!(gss_api_ops, gss_import_sec_context) - 0usize]; + ["Offset of field: gss_api_ops::gss_get_mic"] + [::core::mem::offset_of!(gss_api_ops, gss_get_mic) - 8usize]; + ["Offset of field: gss_api_ops::gss_verify_mic"] + [::core::mem::offset_of!(gss_api_ops, gss_verify_mic) - 16usize]; + ["Offset of field: gss_api_ops::gss_wrap"] + [::core::mem::offset_of!(gss_api_ops, gss_wrap) - 24usize]; + ["Offset of field: gss_api_ops::gss_unwrap"] + [::core::mem::offset_of!(gss_api_ops, gss_unwrap) - 32usize]; + ["Offset of field: gss_api_ops::gss_delete_sec_context"] + [::core::mem::offset_of!(gss_api_ops, gss_delete_sec_context) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct gss_ctx { + pub mech_type: *mut gss_api_mech, + pub internal_ctx_id: *mut ::core::ffi::c_void, + pub slack: ::core::ffi::c_uint, + pub align: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of gss_ctx"][::core::mem::size_of::() - 24usize]; + ["Alignment of gss_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: gss_ctx::mech_type"][::core::mem::offset_of!(gss_ctx, mech_type) - 0usize]; + ["Offset of field: gss_ctx::internal_ctx_id"] + [::core::mem::offset_of!(gss_ctx, internal_ctx_id) - 8usize]; + ["Offset of field: gss_ctx::slack"][::core::mem::offset_of!(gss_ctx, slack) - 16usize]; + ["Offset of field: gss_ctx::align"][::core::mem::offset_of!(gss_ctx, align) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hd_geometry { + pub heads: ::core::ffi::c_uchar, + pub sectors: ::core::ffi::c_uchar, + pub cylinders: ::core::ffi::c_ushort, + pub start: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hd_geometry"][::core::mem::size_of::() - 16usize]; + ["Alignment of hd_geometry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hd_geometry::heads"][::core::mem::offset_of!(hd_geometry, heads) - 0usize]; + ["Offset of field: hd_geometry::sectors"] + [::core::mem::offset_of!(hd_geometry, sectors) - 1usize]; + ["Offset of field: hd_geometry::cylinders"] + [::core::mem::offset_of!(hd_geometry, cylinders) - 2usize]; + ["Offset of field: hd_geometry::start"][::core::mem::offset_of!(hd_geometry, start) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct header_ops { + pub create: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut net_device, + arg3: ::core::ffi::c_ushort, + arg4: *const ::core::ffi::c_void, + arg5: *const ::core::ffi::c_void, + arg6: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub parse: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const sk_buff, + arg2: *mut ::core::ffi::c_uchar, + ) -> ::core::ffi::c_int, + >, + pub cache: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const neighbour, + arg2: *mut hh_cache, + arg3: __be16, + ) -> ::core::ffi::c_int, + >, + pub cache_update: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut hh_cache, + arg2: *const net_device, + arg3: *const ::core::ffi::c_uchar, + ), + >, + pub validate: ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_char, arg2: ::core::ffi::c_uint) -> bool_, + >, + pub parse_protocol: + ::core::option::Option __be16>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of header_ops"][::core::mem::size_of::() - 48usize]; + ["Alignment of header_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: header_ops::create"][::core::mem::offset_of!(header_ops, create) - 0usize]; + ["Offset of field: header_ops::parse"][::core::mem::offset_of!(header_ops, parse) - 8usize]; + ["Offset of field: header_ops::cache"][::core::mem::offset_of!(header_ops, cache) - 16usize]; + ["Offset of field: header_ops::cache_update"] + [::core::mem::offset_of!(header_ops, cache_update) - 24usize]; + ["Offset of field: header_ops::validate"] + [::core::mem::offset_of!(header_ops, validate) - 32usize]; + ["Offset of field: header_ops::parse_protocol"] + [::core::mem::offset_of!(header_ops, parse_protocol) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct hh_cache { + pub hh_len: ::core::ffi::c_uint, + pub hh_lock: seqlock_t, + pub hh_data: [::core::ffi::c_ulong; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hh_cache"][::core::mem::size_of::() - 144usize]; + ["Alignment of hh_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hh_cache::hh_len"][::core::mem::offset_of!(hh_cache, hh_len) - 0usize]; + ["Offset of field: hh_cache::hh_lock"][::core::mem::offset_of!(hh_cache, hh_lock) - 4usize]; + ["Offset of field: hh_cache::hh_data"][::core::mem::offset_of!(hh_cache, hh_data) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct semaphore { + pub lock: raw_spinlock_t, + pub count: ::core::ffi::c_uint, + pub wait_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of semaphore"][::core::mem::size_of::() - 24usize]; + ["Alignment of semaphore"][::core::mem::align_of::() - 8usize]; + ["Offset of field: semaphore::lock"][::core::mem::offset_of!(semaphore, lock) - 0usize]; + ["Offset of field: semaphore::count"][::core::mem::offset_of!(semaphore, count) - 4usize]; + ["Offset of field: semaphore::wait_list"] + [::core::mem::offset_of!(semaphore, wait_list) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hlist_bl_head { + pub first: *mut hlist_bl_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hlist_bl_head"][::core::mem::size_of::() - 8usize]; + ["Alignment of hlist_bl_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hlist_bl_head::first"] + [::core::mem::offset_of!(hlist_bl_head, first) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct seqcount_raw_spinlock { + pub seqcount: seqcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seqcount_raw_spinlock"][::core::mem::size_of::() - 4usize]; + ["Alignment of seqcount_raw_spinlock"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: seqcount_raw_spinlock::seqcount"] + [::core::mem::offset_of!(seqcount_raw_spinlock, seqcount) - 0usize]; +}; +pub type seqcount_raw_spinlock_t = seqcount_raw_spinlock; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hrtimer_clock_base { + pub cpu_base: *mut hrtimer_cpu_base, + pub index: ::core::ffi::c_uint, + pub clockid: clockid_t, + pub seq: seqcount_raw_spinlock_t, + pub running: *mut hrtimer, + pub active: timerqueue_head, + pub get_time: ::core::option::Option ktime_t>, + pub offset: ktime_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hrtimer_clock_base"][::core::mem::size_of::() - 64usize]; + ["Alignment of hrtimer_clock_base"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hrtimer_clock_base::cpu_base"] + [::core::mem::offset_of!(hrtimer_clock_base, cpu_base) - 0usize]; + ["Offset of field: hrtimer_clock_base::index"] + [::core::mem::offset_of!(hrtimer_clock_base, index) - 8usize]; + ["Offset of field: hrtimer_clock_base::clockid"] + [::core::mem::offset_of!(hrtimer_clock_base, clockid) - 12usize]; + ["Offset of field: hrtimer_clock_base::seq"] + [::core::mem::offset_of!(hrtimer_clock_base, seq) - 16usize]; + ["Offset of field: hrtimer_clock_base::running"] + [::core::mem::offset_of!(hrtimer_clock_base, running) - 24usize]; + ["Offset of field: hrtimer_clock_base::active"] + [::core::mem::offset_of!(hrtimer_clock_base, active) - 32usize]; + ["Offset of field: hrtimer_clock_base::get_time"] + [::core::mem::offset_of!(hrtimer_clock_base, get_time) - 48usize]; + ["Offset of field: hrtimer_clock_base::offset"] + [::core::mem::offset_of!(hrtimer_clock_base, offset) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct hrtimer_cpu_base { + pub lock: raw_spinlock_t, + pub cpu: ::core::ffi::c_uint, + pub active_bases: ::core::ffi::c_uint, + pub clock_was_set_seq: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub nr_events: ::core::ffi::c_uint, + pub nr_retries: ::core::ffi::c_ushort, + pub nr_hangs: ::core::ffi::c_ushort, + pub max_hang_time: ::core::ffi::c_uint, + pub expires_next: ktime_t, + pub next_timer: *mut hrtimer, + pub softirq_expires_next: ktime_t, + pub softirq_next_timer: *mut hrtimer, + pub clock_base: [hrtimer_clock_base; 8usize], + pub csd: call_single_data_t, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hrtimer_cpu_base"][::core::mem::size_of::() - 640usize]; + ["Alignment of hrtimer_cpu_base"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hrtimer_cpu_base::lock"] + [::core::mem::offset_of!(hrtimer_cpu_base, lock) - 0usize]; + ["Offset of field: hrtimer_cpu_base::cpu"] + [::core::mem::offset_of!(hrtimer_cpu_base, cpu) - 4usize]; + ["Offset of field: hrtimer_cpu_base::active_bases"] + [::core::mem::offset_of!(hrtimer_cpu_base, active_bases) - 8usize]; + ["Offset of field: hrtimer_cpu_base::clock_was_set_seq"] + [::core::mem::offset_of!(hrtimer_cpu_base, clock_was_set_seq) - 12usize]; + ["Offset of field: hrtimer_cpu_base::nr_events"] + [::core::mem::offset_of!(hrtimer_cpu_base, nr_events) - 20usize]; + ["Offset of field: hrtimer_cpu_base::nr_retries"] + [::core::mem::offset_of!(hrtimer_cpu_base, nr_retries) - 24usize]; + ["Offset of field: hrtimer_cpu_base::nr_hangs"] + [::core::mem::offset_of!(hrtimer_cpu_base, nr_hangs) - 26usize]; + ["Offset of field: hrtimer_cpu_base::max_hang_time"] + [::core::mem::offset_of!(hrtimer_cpu_base, max_hang_time) - 28usize]; + ["Offset of field: hrtimer_cpu_base::expires_next"] + [::core::mem::offset_of!(hrtimer_cpu_base, expires_next) - 32usize]; + ["Offset of field: hrtimer_cpu_base::next_timer"] + [::core::mem::offset_of!(hrtimer_cpu_base, next_timer) - 40usize]; + ["Offset of field: hrtimer_cpu_base::softirq_expires_next"] + [::core::mem::offset_of!(hrtimer_cpu_base, softirq_expires_next) - 48usize]; + ["Offset of field: hrtimer_cpu_base::softirq_next_timer"] + [::core::mem::offset_of!(hrtimer_cpu_base, softirq_next_timer) - 56usize]; + ["Offset of field: hrtimer_cpu_base::clock_base"] + [::core::mem::offset_of!(hrtimer_cpu_base, clock_base) - 64usize]; + ["Offset of field: hrtimer_cpu_base::csd"] + [::core::mem::offset_of!(hrtimer_cpu_base, csd) - 576usize]; +}; +impl hrtimer_cpu_base { + #[inline] + pub fn hres_active(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_hres_active(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn hres_active_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_hres_active_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_hrtirq(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_hrtirq(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_hrtirq_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_hrtirq_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn hang_detected(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_hang_detected(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn hang_detected_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_hang_detected_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn softirq_activated(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_softirq_activated(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn softirq_activated_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_softirq_activated_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn online(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_online(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn online_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_online_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + hres_active: ::core::ffi::c_uint, + in_hrtirq: ::core::ffi::c_uint, + hang_detected: ::core::ffi::c_uint, + softirq_activated: ::core::ffi::c_uint, + online: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let hres_active: u32 = unsafe { ::core::mem::transmute(hres_active) }; + hres_active as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let in_hrtirq: u32 = unsafe { ::core::mem::transmute(in_hrtirq) }; + in_hrtirq as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let hang_detected: u32 = unsafe { ::core::mem::transmute(hang_detected) }; + hang_detected as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let softirq_activated: u32 = unsafe { ::core::mem::transmute(softirq_activated) }; + softirq_activated as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let online: u32 = unsafe { ::core::mem::transmute(online) }; + online as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug)] +pub struct page_counter { + pub usage: atomic_long_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub _pad1_: cacheline_padding, + pub emin: ::core::ffi::c_ulong, + pub min_usage: atomic_long_t, + pub children_min_usage: atomic_long_t, + pub elow: ::core::ffi::c_ulong, + pub low_usage: atomic_long_t, + pub children_low_usage: atomic_long_t, + pub watermark: ::core::ffi::c_ulong, + pub local_watermark: ::core::ffi::c_ulong, + pub failcnt: ::core::ffi::c_ulong, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, + pub _pad2_: cacheline_padding, + pub protection_support: bool_, + pub min: ::core::ffi::c_ulong, + pub low: ::core::ffi::c_ulong, + pub high: ::core::ffi::c_ulong, + pub max: ::core::ffi::c_ulong, + pub parent: *mut page_counter, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_counter"][::core::mem::size_of::() - 256usize]; + ["Alignment of page_counter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: page_counter::usage"][::core::mem::offset_of!(page_counter, usage) - 0usize]; + ["Offset of field: page_counter::_pad1_"] + [::core::mem::offset_of!(page_counter, _pad1_) - 64usize]; + ["Offset of field: page_counter::emin"][::core::mem::offset_of!(page_counter, emin) - 64usize]; + ["Offset of field: page_counter::min_usage"] + [::core::mem::offset_of!(page_counter, min_usage) - 72usize]; + ["Offset of field: page_counter::children_min_usage"] + [::core::mem::offset_of!(page_counter, children_min_usage) - 80usize]; + ["Offset of field: page_counter::elow"][::core::mem::offset_of!(page_counter, elow) - 88usize]; + ["Offset of field: page_counter::low_usage"] + [::core::mem::offset_of!(page_counter, low_usage) - 96usize]; + ["Offset of field: page_counter::children_low_usage"] + [::core::mem::offset_of!(page_counter, children_low_usage) - 104usize]; + ["Offset of field: page_counter::watermark"] + [::core::mem::offset_of!(page_counter, watermark) - 112usize]; + ["Offset of field: page_counter::local_watermark"] + [::core::mem::offset_of!(page_counter, local_watermark) - 120usize]; + ["Offset of field: page_counter::failcnt"] + [::core::mem::offset_of!(page_counter, failcnt) - 128usize]; + ["Offset of field: page_counter::_pad2_"] + [::core::mem::offset_of!(page_counter, _pad2_) - 192usize]; + ["Offset of field: page_counter::protection_support"] + [::core::mem::offset_of!(page_counter, protection_support) - 192usize]; + ["Offset of field: page_counter::min"][::core::mem::offset_of!(page_counter, min) - 200usize]; + ["Offset of field: page_counter::low"][::core::mem::offset_of!(page_counter, low) - 208usize]; + ["Offset of field: page_counter::high"][::core::mem::offset_of!(page_counter, high) - 216usize]; + ["Offset of field: page_counter::max"][::core::mem::offset_of!(page_counter, max) - 224usize]; + ["Offset of field: page_counter::parent"] + [::core::mem::offset_of!(page_counter, parent) - 232usize]; +}; +impl page_counter { + #[inline] + pub fn new_bitfield_3() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct winsize { + pub ws_row: ::core::ffi::c_ushort, + pub ws_col: ::core::ffi::c_ushort, + pub ws_xpixel: ::core::ffi::c_ushort, + pub ws_ypixel: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of winsize"][::core::mem::size_of::() - 8usize]; + ["Alignment of winsize"][::core::mem::align_of::() - 2usize]; + ["Offset of field: winsize::ws_row"][::core::mem::offset_of!(winsize, ws_row) - 0usize]; + ["Offset of field: winsize::ws_col"][::core::mem::offset_of!(winsize, ws_col) - 2usize]; + ["Offset of field: winsize::ws_xpixel"][::core::mem::offset_of!(winsize, ws_xpixel) - 4usize]; + ["Offset of field: winsize::ws_ypixel"][::core::mem::offset_of!(winsize, ws_ypixel) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event_extra { + pub config: u64_, + pub reg: ::core::ffi::c_uint, + pub alloc: ::core::ffi::c_int, + pub idx: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event_extra"][::core::mem::size_of::() - 24usize]; + ["Alignment of hw_perf_event_extra"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event_extra::config"] + [::core::mem::offset_of!(hw_perf_event_extra, config) - 0usize]; + ["Offset of field: hw_perf_event_extra::reg"] + [::core::mem::offset_of!(hw_perf_event_extra, reg) - 8usize]; + ["Offset of field: hw_perf_event_extra::alloc"] + [::core::mem::offset_of!(hw_perf_event_extra, alloc) - 12usize]; + ["Offset of field: hw_perf_event_extra::idx"] + [::core::mem::offset_of!(hw_perf_event_extra, idx) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rhlist_head { + pub rhead: rhash_head, + pub next: *mut rhlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rhlist_head"][::core::mem::size_of::() - 16usize]; + ["Alignment of rhlist_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rhlist_head::rhead"][::core::mem::offset_of!(rhlist_head, rhead) - 0usize]; + ["Offset of field: rhlist_head::next"][::core::mem::offset_of!(rhlist_head, next) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct hw_perf_event { + pub __bindgen_anon_1: hw_perf_event__bindgen_ty_1, + pub target: *mut task_struct, + pub addr_filters: *mut ::core::ffi::c_void, + pub addr_filters_gen: ::core::ffi::c_ulong, + pub state: ::core::ffi::c_int, + pub prev_count: local64_t, + pub sample_period: u64_, + pub __bindgen_anon_2: hw_perf_event__bindgen_ty_2, + pub interrupts_seq: u64_, + pub interrupts: u64_, + pub freq_time_stamp: u64_, + pub freq_count_stamp: u64_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union hw_perf_event__bindgen_ty_1 { + pub __bindgen_anon_1: hw_perf_event__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: hw_perf_event__bindgen_ty_1__bindgen_ty_2, + pub __bindgen_anon_3: hw_perf_event__bindgen_ty_1__bindgen_ty_3, + pub __bindgen_anon_4: hw_perf_event__bindgen_ty_1__bindgen_ty_4, + pub __bindgen_anon_5: hw_perf_event__bindgen_ty_1__bindgen_ty_5, + pub __bindgen_anon_6: hw_perf_event__bindgen_ty_1__bindgen_ty_6, + pub __bindgen_anon_7: hw_perf_event__bindgen_ty_1__bindgen_ty_7, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_1 { + pub config: u64_, + pub last_tag: u64_, + pub config_base: ::core::ffi::c_ulong, + pub event_base: ::core::ffi::c_ulong, + pub event_base_rdpmc: ::core::ffi::c_int, + pub idx: ::core::ffi::c_int, + pub last_cpu: ::core::ffi::c_int, + pub flags: ::core::ffi::c_int, + pub extra_reg: hw_perf_event_extra, + pub branch_reg: hw_perf_event_extra, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 96usize]; + ["Alignment of hw_perf_event__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::config"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, config) - 0usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::last_tag"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, last_tag) - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::config_base"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, config_base) - 16usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::event_base"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, event_base) - 24usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::event_base_rdpmc"][::core::mem::offset_of!( + hw_perf_event__bindgen_ty_1__bindgen_ty_1, + event_base_rdpmc + ) - 32usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::idx"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, idx) - 36usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::last_cpu"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, last_cpu) - 40usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::flags"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, flags) - 44usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::extra_reg"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, extra_reg) - 48usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_1::branch_reg"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_1, branch_reg) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_2 { + pub aux_config: u64_, + pub aux_paused: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of hw_perf_event__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_2::aux_config"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_2, aux_config) - 0usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_2::aux_paused"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_2, aux_paused) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_3 { + pub hrtimer: hrtimer, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of hw_perf_event__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_3::hrtimer"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_3, hrtimer) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_4 { + pub tp_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of hw_perf_event__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_4::tp_list"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_4, tp_list) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_5 { + pub pwr_acc: u64_, + pub ptsc: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of hw_perf_event__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_5::pwr_acc"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_5, pwr_acc) - 0usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_5::ptsc"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_5, ptsc) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_6 { + pub info: arch_hw_breakpoint, + pub bp_list: rhlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of hw_perf_event__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_6::info"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_6, info) - 0usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_6::bp_list"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_6, bp_list) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_7 { + pub iommu_bank: u8_, + pub iommu_cntr: u8_, + pub padding: u16_, + pub conf: u64_, + pub conf1: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1__bindgen_ty_7"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of hw_perf_event__bindgen_ty_1__bindgen_ty_7"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_7::iommu_bank"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_7, iommu_bank) - 0usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_7::iommu_cntr"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_7, iommu_cntr) - 1usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_7::padding"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_7, padding) - 2usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_7::conf"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_7, conf) - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_1__bindgen_ty_7::conf1"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_1__bindgen_ty_7, conf1) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_1"] + [::core::mem::size_of::() - 96usize]; + ["Alignment of hw_perf_event__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union hw_perf_event__bindgen_ty_2 { + pub __bindgen_anon_1: hw_perf_event__bindgen_ty_2__bindgen_ty_1, + pub __bindgen_anon_2: hw_perf_event__bindgen_ty_2__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_2__bindgen_ty_1 { + pub last_period: u64_, + pub period_left: local64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of hw_perf_event__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_2__bindgen_ty_1::last_period"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_2__bindgen_ty_1, last_period) - 0usize]; + ["Offset of field: hw_perf_event__bindgen_ty_2__bindgen_ty_1::period_left"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_2__bindgen_ty_1, period_left) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_perf_event__bindgen_ty_2__bindgen_ty_2 { + pub saved_metric: u64_, + pub saved_slots: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of hw_perf_event__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event__bindgen_ty_2__bindgen_ty_2::saved_metric"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_2__bindgen_ty_2, saved_metric) - 0usize]; + ["Offset of field: hw_perf_event__bindgen_ty_2__bindgen_ty_2::saved_slots"] + [::core::mem::offset_of!(hw_perf_event__bindgen_ty_2__bindgen_ty_2, saved_slots) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of hw_perf_event__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_perf_event"][::core::mem::size_of::() - 192usize]; + ["Alignment of hw_perf_event"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_perf_event::target"] + [::core::mem::offset_of!(hw_perf_event, target) - 96usize]; + ["Offset of field: hw_perf_event::addr_filters"] + [::core::mem::offset_of!(hw_perf_event, addr_filters) - 104usize]; + ["Offset of field: hw_perf_event::addr_filters_gen"] + [::core::mem::offset_of!(hw_perf_event, addr_filters_gen) - 112usize]; + ["Offset of field: hw_perf_event::state"] + [::core::mem::offset_of!(hw_perf_event, state) - 120usize]; + ["Offset of field: hw_perf_event::prev_count"] + [::core::mem::offset_of!(hw_perf_event, prev_count) - 128usize]; + ["Offset of field: hw_perf_event::sample_period"] + [::core::mem::offset_of!(hw_perf_event, sample_period) - 136usize]; + ["Offset of field: hw_perf_event::interrupts_seq"] + [::core::mem::offset_of!(hw_perf_event, interrupts_seq) - 160usize]; + ["Offset of field: hw_perf_event::interrupts"] + [::core::mem::offset_of!(hw_perf_event, interrupts) - 168usize]; + ["Offset of field: hw_perf_event::freq_time_stamp"] + [::core::mem::offset_of!(hw_perf_event, freq_time_stamp) - 176usize]; + ["Offset of field: hw_perf_event::freq_count_stamp"] + [::core::mem::offset_of!(hw_perf_event, freq_count_stamp) - 184usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_port_info { + pub lower_dev: *mut net_device, + pub port_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hw_port_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of hw_port_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hw_port_info::lower_dev"] + [::core::mem::offset_of!(hw_port_info, lower_dev) - 0usize]; + ["Offset of field: hw_port_info::port_id"] + [::core::mem::offset_of!(hw_port_info, port_id) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct hwspinlock { + pub bank: *mut hwspinlock_device, + pub lock: spinlock_t, + pub priv_: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hwspinlock"][::core::mem::size_of::() - 24usize]; + ["Alignment of hwspinlock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hwspinlock::bank"][::core::mem::offset_of!(hwspinlock, bank) - 0usize]; + ["Offset of field: hwspinlock::lock"][::core::mem::offset_of!(hwspinlock, lock) - 8usize]; + ["Offset of field: hwspinlock::priv_"][::core::mem::offset_of!(hwspinlock, priv_) - 16usize]; +}; +#[repr(C)] +pub struct hwspinlock_device { + pub dev: *mut device, + pub ops: *const hwspinlock_ops, + pub base_id: ::core::ffi::c_int, + pub num_locks: ::core::ffi::c_int, + pub lock: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hwspinlock_device"][::core::mem::size_of::() - 24usize]; + ["Alignment of hwspinlock_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hwspinlock_device::dev"] + [::core::mem::offset_of!(hwspinlock_device, dev) - 0usize]; + ["Offset of field: hwspinlock_device::ops"] + [::core::mem::offset_of!(hwspinlock_device, ops) - 8usize]; + ["Offset of field: hwspinlock_device::base_id"] + [::core::mem::offset_of!(hwspinlock_device, base_id) - 16usize]; + ["Offset of field: hwspinlock_device::num_locks"] + [::core::mem::offset_of!(hwspinlock_device, num_locks) - 20usize]; + ["Offset of field: hwspinlock_device::lock"] + [::core::mem::offset_of!(hwspinlock_device, lock) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hwspinlock_ops { + pub trylock: + ::core::option::Option ::core::ffi::c_int>, + pub unlock: ::core::option::Option, + pub bust: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut hwspinlock, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub relax: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of hwspinlock_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of hwspinlock_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: hwspinlock_ops::trylock"] + [::core::mem::offset_of!(hwspinlock_ops, trylock) - 0usize]; + ["Offset of field: hwspinlock_ops::unlock"] + [::core::mem::offset_of!(hwspinlock_ops, unlock) - 8usize]; + ["Offset of field: hwspinlock_ops::bust"] + [::core::mem::offset_of!(hwspinlock_ops, bust) - 16usize]; + ["Offset of field: hwspinlock_ops::relax"] + [::core::mem::offset_of!(hwspinlock_ops, relax) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iattr { + pub ia_valid: ::core::ffi::c_uint, + pub ia_mode: umode_t, + pub __bindgen_anon_1: iattr__bindgen_ty_1, + pub __bindgen_anon_2: iattr__bindgen_ty_2, + pub ia_size: loff_t, + pub ia_atime: timespec64, + pub ia_mtime: timespec64, + pub ia_ctime: timespec64, + pub ia_file: *mut file, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iattr__bindgen_ty_1 { + pub ia_uid: kuid_t, + pub ia_vfsuid: vfsuid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iattr__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of iattr__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iattr__bindgen_ty_1::ia_uid"] + [::core::mem::offset_of!(iattr__bindgen_ty_1, ia_uid) - 0usize]; + ["Offset of field: iattr__bindgen_ty_1::ia_vfsuid"] + [::core::mem::offset_of!(iattr__bindgen_ty_1, ia_vfsuid) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union iattr__bindgen_ty_2 { + pub ia_gid: kgid_t, + pub ia_vfsgid: vfsgid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iattr__bindgen_ty_2"][::core::mem::size_of::() - 4usize]; + ["Alignment of iattr__bindgen_ty_2"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iattr__bindgen_ty_2::ia_gid"] + [::core::mem::offset_of!(iattr__bindgen_ty_2, ia_gid) - 0usize]; + ["Offset of field: iattr__bindgen_ty_2::ia_vfsgid"] + [::core::mem::offset_of!(iattr__bindgen_ty_2, ia_vfsgid) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iattr"][::core::mem::size_of::() - 80usize]; + ["Alignment of iattr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iattr::ia_valid"][::core::mem::offset_of!(iattr, ia_valid) - 0usize]; + ["Offset of field: iattr::ia_mode"][::core::mem::offset_of!(iattr, ia_mode) - 4usize]; + ["Offset of field: iattr::ia_size"][::core::mem::offset_of!(iattr, ia_size) - 16usize]; + ["Offset of field: iattr::ia_atime"][::core::mem::offset_of!(iattr, ia_atime) - 24usize]; + ["Offset of field: iattr::ia_mtime"][::core::mem::offset_of!(iattr, ia_mtime) - 40usize]; + ["Offset of field: iattr::ia_ctime"][::core::mem::offset_of!(iattr, ia_ctime) - 56usize]; + ["Offset of field: iattr::ia_file"][::core::mem::offset_of!(iattr, ia_file) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_ah { + pub device: *mut ib_device, + pub pd: *mut ib_pd, + pub uobject: *mut ib_uobject, + pub sgid_attr: *const ib_gid_attr, + pub type_: rdma_ah_attr_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_ah"][::core::mem::size_of::() - 40usize]; + ["Alignment of ib_ah"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_ah::device"][::core::mem::offset_of!(ib_ah, device) - 0usize]; + ["Offset of field: ib_ah::pd"][::core::mem::offset_of!(ib_ah, pd) - 8usize]; + ["Offset of field: ib_ah::uobject"][::core::mem::offset_of!(ib_ah, uobject) - 16usize]; + ["Offset of field: ib_ah::sgid_attr"][::core::mem::offset_of!(ib_ah, sgid_attr) - 24usize]; + ["Offset of field: ib_ah::type_"][::core::mem::offset_of!(ib_ah, type_) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_ah_attr { + pub dlid: u16_, + pub src_path_bits: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_ah_attr"][::core::mem::size_of::() - 4usize]; + ["Alignment of ib_ah_attr"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ib_ah_attr::dlid"][::core::mem::offset_of!(ib_ah_attr, dlid) - 0usize]; + ["Offset of field: ib_ah_attr::src_path_bits"] + [::core::mem::offset_of!(ib_ah_attr, src_path_bits) - 2usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_core_device { + pub dev: device, + pub rdma_net: possible_net_t, + pub ports_kobj: *mut kobject, + pub port_list: list_head, + pub owner: *mut ib_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_core_device"][::core::mem::size_of::() - 792usize]; + ["Alignment of ib_core_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_core_device::dev"][::core::mem::offset_of!(ib_core_device, dev) - 0usize]; + ["Offset of field: ib_core_device::rdma_net"] + [::core::mem::offset_of!(ib_core_device, rdma_net) - 752usize]; + ["Offset of field: ib_core_device::ports_kobj"] + [::core::mem::offset_of!(ib_core_device, ports_kobj) - 760usize]; + ["Offset of field: ib_core_device::port_list"] + [::core::mem::offset_of!(ib_core_device, port_list) - 768usize]; + ["Offset of field: ib_core_device::owner"] + [::core::mem::offset_of!(ib_core_device, owner) - 784usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_counters { + pub device: *mut ib_device, + pub uobject: *mut ib_uobject, + pub usecnt: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_counters"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_counters"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_counters::device"][::core::mem::offset_of!(ib_counters, device) - 0usize]; + ["Offset of field: ib_counters::uobject"] + [::core::mem::offset_of!(ib_counters, uobject) - 8usize]; + ["Offset of field: ib_counters::usecnt"] + [::core::mem::offset_of!(ib_counters, usecnt) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_counters_read_attr { + pub counters_buff: *mut u64_, + pub ncounters: u32_, + pub flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_counters_read_attr"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_counters_read_attr"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_counters_read_attr::counters_buff"] + [::core::mem::offset_of!(ib_counters_read_attr, counters_buff) - 0usize]; + ["Offset of field: ib_counters_read_attr::ncounters"] + [::core::mem::offset_of!(ib_counters_read_attr, ncounters) - 8usize]; + ["Offset of field: ib_counters_read_attr::flags"] + [::core::mem::offset_of!(ib_counters_read_attr, flags) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_ucq_object { + _unused: [u8; 0], +} +pub type ib_comp_handler = + ::core::option::Option; +pub type irq_poll_fn = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut irq_poll, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_poll { + pub list: list_head, + pub state: ::core::ffi::c_ulong, + pub weight: ::core::ffi::c_int, + pub poll: irq_poll_fn, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_poll"][::core::mem::size_of::() - 40usize]; + ["Alignment of irq_poll"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_poll::list"][::core::mem::offset_of!(irq_poll, list) - 0usize]; + ["Offset of field: irq_poll::state"][::core::mem::offset_of!(irq_poll, state) - 16usize]; + ["Offset of field: irq_poll::weight"][::core::mem::offset_of!(irq_poll, weight) - 24usize]; + ["Offset of field: irq_poll::poll"][::core::mem::offset_of!(irq_poll, poll) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rdma_restrack_entry { + pub valid: bool_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub kref: kref, + pub comp: completion, + pub task: *mut task_struct, + pub kern_name: *const ::core::ffi::c_char, + pub type_: rdma_restrack_type, + pub user: bool_, + pub id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_restrack_entry"][::core::mem::size_of::() - 72usize]; + ["Alignment of rdma_restrack_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_restrack_entry::valid"] + [::core::mem::offset_of!(rdma_restrack_entry, valid) - 0usize]; + ["Offset of field: rdma_restrack_entry::kref"] + [::core::mem::offset_of!(rdma_restrack_entry, kref) - 4usize]; + ["Offset of field: rdma_restrack_entry::comp"] + [::core::mem::offset_of!(rdma_restrack_entry, comp) - 8usize]; + ["Offset of field: rdma_restrack_entry::task"] + [::core::mem::offset_of!(rdma_restrack_entry, task) - 40usize]; + ["Offset of field: rdma_restrack_entry::kern_name"] + [::core::mem::offset_of!(rdma_restrack_entry, kern_name) - 48usize]; + ["Offset of field: rdma_restrack_entry::type_"] + [::core::mem::offset_of!(rdma_restrack_entry, type_) - 56usize]; + ["Offset of field: rdma_restrack_entry::user"] + [::core::mem::offset_of!(rdma_restrack_entry, user) - 60usize]; + ["Offset of field: rdma_restrack_entry::id"] + [::core::mem::offset_of!(rdma_restrack_entry, id) - 64usize]; +}; +impl rdma_restrack_entry { + #[inline] + pub fn no_track(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_no_track(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_track_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_no_track_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(no_track: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let no_track: u8 = unsafe { ::core::mem::transmute(no_track) }; + no_track as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_cq { + pub device: *mut ib_device, + pub uobject: *mut ib_ucq_object, + pub comp_handler: ib_comp_handler, + pub event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub cq_context: *mut ::core::ffi::c_void, + pub cqe: ::core::ffi::c_int, + pub cqe_used: ::core::ffi::c_uint, + pub usecnt: atomic_t, + pub poll_ctx: ib_poll_context, + pub wc: *mut ib_wc, + pub pool_entry: list_head, + pub __bindgen_anon_1: ib_cq__bindgen_ty_1, + pub comp_wq: *mut workqueue_struct, + pub dim: *mut dim, + pub timestamp: ktime_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub comp_vector: ::core::ffi::c_uint, + pub res: rdma_restrack_entry, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_cq__bindgen_ty_1 { + pub iop: irq_poll, + pub work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_cq__bindgen_ty_1"][::core::mem::size_of::() - 40usize]; + ["Alignment of ib_cq__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_cq__bindgen_ty_1::iop"] + [::core::mem::offset_of!(ib_cq__bindgen_ty_1, iop) - 0usize]; + ["Offset of field: ib_cq__bindgen_ty_1::work"] + [::core::mem::offset_of!(ib_cq__bindgen_ty_1, work) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_cq"][::core::mem::size_of::() - 224usize]; + ["Alignment of ib_cq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_cq::device"][::core::mem::offset_of!(ib_cq, device) - 0usize]; + ["Offset of field: ib_cq::uobject"][::core::mem::offset_of!(ib_cq, uobject) - 8usize]; + ["Offset of field: ib_cq::comp_handler"] + [::core::mem::offset_of!(ib_cq, comp_handler) - 16usize]; + ["Offset of field: ib_cq::event_handler"] + [::core::mem::offset_of!(ib_cq, event_handler) - 24usize]; + ["Offset of field: ib_cq::cq_context"][::core::mem::offset_of!(ib_cq, cq_context) - 32usize]; + ["Offset of field: ib_cq::cqe"][::core::mem::offset_of!(ib_cq, cqe) - 40usize]; + ["Offset of field: ib_cq::cqe_used"][::core::mem::offset_of!(ib_cq, cqe_used) - 44usize]; + ["Offset of field: ib_cq::usecnt"][::core::mem::offset_of!(ib_cq, usecnt) - 48usize]; + ["Offset of field: ib_cq::poll_ctx"][::core::mem::offset_of!(ib_cq, poll_ctx) - 52usize]; + ["Offset of field: ib_cq::wc"][::core::mem::offset_of!(ib_cq, wc) - 56usize]; + ["Offset of field: ib_cq::pool_entry"][::core::mem::offset_of!(ib_cq, pool_entry) - 64usize]; + ["Offset of field: ib_cq::comp_wq"][::core::mem::offset_of!(ib_cq, comp_wq) - 120usize]; + ["Offset of field: ib_cq::dim"][::core::mem::offset_of!(ib_cq, dim) - 128usize]; + ["Offset of field: ib_cq::timestamp"][::core::mem::offset_of!(ib_cq, timestamp) - 136usize]; + ["Offset of field: ib_cq::comp_vector"][::core::mem::offset_of!(ib_cq, comp_vector) - 148usize]; + ["Offset of field: ib_cq::res"][::core::mem::offset_of!(ib_cq, res) - 152usize]; +}; +impl ib_cq { + #[inline] + pub fn interrupt(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_interrupt(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn interrupt_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_interrupt_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn shared(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_shared(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn shared_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_shared_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(interrupt: u8_, shared: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let interrupt: u8 = unsafe { ::core::mem::transmute(interrupt) }; + interrupt as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let shared: u8 = unsafe { ::core::mem::transmute(shared) }; + shared as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_cq_caps { + pub max_cq_moderation_count: u16_, + pub max_cq_moderation_period: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_cq_caps"][::core::mem::size_of::() - 4usize]; + ["Alignment of ib_cq_caps"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ib_cq_caps::max_cq_moderation_count"] + [::core::mem::offset_of!(ib_cq_caps, max_cq_moderation_count) - 0usize]; + ["Offset of field: ib_cq_caps::max_cq_moderation_period"] + [::core::mem::offset_of!(ib_cq_caps, max_cq_moderation_period) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_cq_init_attr { + pub cqe: ::core::ffi::c_uint, + pub comp_vector: u32_, + pub flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_cq_init_attr"][::core::mem::size_of::() - 12usize]; + ["Alignment of ib_cq_init_attr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_cq_init_attr::cqe"] + [::core::mem::offset_of!(ib_cq_init_attr, cqe) - 0usize]; + ["Offset of field: ib_cq_init_attr::comp_vector"] + [::core::mem::offset_of!(ib_cq_init_attr, comp_vector) - 4usize]; + ["Offset of field: ib_cq_init_attr::flags"] + [::core::mem::offset_of!(ib_cq_init_attr, flags) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_cqe { + pub done: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_cqe"][::core::mem::size_of::() - 8usize]; + ["Alignment of ib_cqe"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_cqe::done"][::core::mem::offset_of!(ib_cqe, done) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_mad { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uverbs_attr_bundle { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_cm_id { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_cm_id { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_cm_conn_param { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_device_ops { + pub owner: *mut module, + pub driver_id: rdma_driver_id, + pub uverbs_abi_ver: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub device_group: *const attribute_group, + pub port_groups: *mut *const attribute_group, + pub post_send: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_qp, + arg2: *const ib_send_wr, + arg3: *mut *const ib_send_wr, + ) -> ::core::ffi::c_int, + >, + pub post_recv: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_qp, + arg2: *const ib_recv_wr, + arg3: *mut *const ib_recv_wr, + ) -> ::core::ffi::c_int, + >, + pub drain_rq: ::core::option::Option, + pub drain_sq: ::core::option::Option, + pub poll_cq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_cq, + arg2: ::core::ffi::c_int, + arg3: *mut ib_wc, + ) -> ::core::ffi::c_int, + >, + pub peek_cq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_cq, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub req_notify_cq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_cq, arg2: ib_cq_notify_flags) -> ::core::ffi::c_int, + >, + pub post_srq_recv: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_srq, + arg2: *const ib_recv_wr, + arg3: *mut *const ib_recv_wr, + ) -> ::core::ffi::c_int, + >, + pub process_mad: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: ::core::ffi::c_int, + arg3: u32_, + arg4: *const ib_wc, + arg5: *const ib_grh, + arg6: *const ib_mad, + arg7: *mut ib_mad, + arg8: *mut usize, + arg9: *mut u16_, + ) -> ::core::ffi::c_int, + >, + pub query_device: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: *mut ib_device_attr, + arg3: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub modify_device: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: ::core::ffi::c_int, + arg3: *mut ib_device_modify, + ) -> ::core::ffi::c_int, + >, + pub get_dev_fw_str: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_device, arg2: *mut ::core::ffi::c_char), + >, + pub get_vector_affinity: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_device, arg2: ::core::ffi::c_int) -> *const cpumask, + >, + pub query_port: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: *mut ib_port_attr, + ) -> ::core::ffi::c_int, + >, + pub modify_port: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: ::core::ffi::c_int, + arg4: *mut ib_port_modify, + ) -> ::core::ffi::c_int, + >, + pub get_port_immutable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: *mut ib_port_immutable, + ) -> ::core::ffi::c_int, + >, + pub get_link_layer: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_device, arg2: u32_) -> rdma_link_layer, + >, + pub get_netdev: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_device, arg2: u32_) -> *mut net_device, + >, + pub alloc_rdma_netdev: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: rdma_netdev_t, + arg4: *const ::core::ffi::c_char, + arg5: ::core::ffi::c_uchar, + arg6: ::core::option::Option, + ) -> *mut net_device, + >, + pub rdma_netdev_get_params: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: rdma_netdev_t, + arg4: *mut rdma_netdev_alloc_params, + ) -> ::core::ffi::c_int, + >, + pub query_gid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: ::core::ffi::c_int, + arg4: *mut ib_gid, + ) -> ::core::ffi::c_int, + >, + pub add_gid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ib_gid_attr, + arg2: *mut *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub del_gid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ib_gid_attr, + arg2: *mut *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub query_pkey: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: u16_, + arg4: *mut u16_, + ) -> ::core::ffi::c_int, + >, + pub alloc_ucontext: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_ucontext, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub dealloc_ucontext: ::core::option::Option, + pub mmap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_ucontext, + arg2: *mut vm_area_struct, + ) -> ::core::ffi::c_int, + >, + pub mmap_free: ::core::option::Option, + pub disassociate_ucontext: ::core::option::Option, + pub alloc_pd: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_pd, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub dealloc_pd: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_pd, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub create_ah: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_ah, + arg2: *mut rdma_ah_init_attr, + arg3: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub create_user_ah: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_ah, + arg2: *mut rdma_ah_init_attr, + arg3: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub modify_ah: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_ah, arg2: *mut rdma_ah_attr) -> ::core::ffi::c_int, + >, + pub query_ah: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_ah, arg2: *mut rdma_ah_attr) -> ::core::ffi::c_int, + >, + pub destroy_ah: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_ah, arg2: u32_) -> ::core::ffi::c_int, + >, + pub create_srq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_srq, + arg2: *mut ib_srq_init_attr, + arg3: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub modify_srq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_srq, + arg2: *mut ib_srq_attr, + arg3: ib_srq_attr_mask, + arg4: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub query_srq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_srq, arg2: *mut ib_srq_attr) -> ::core::ffi::c_int, + >, + pub destroy_srq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_srq, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub create_qp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_qp, + arg2: *mut ib_qp_init_attr, + arg3: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub modify_qp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_qp, + arg2: *mut ib_qp_attr, + arg3: ::core::ffi::c_int, + arg4: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub query_qp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_qp, + arg2: *mut ib_qp_attr, + arg3: ::core::ffi::c_int, + arg4: *mut ib_qp_init_attr, + ) -> ::core::ffi::c_int, + >, + pub destroy_qp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_qp, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub create_cq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_cq, + arg2: *const ib_cq_init_attr, + arg3: *mut uverbs_attr_bundle, + ) -> ::core::ffi::c_int, + >, + pub modify_cq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_cq, arg2: u16_, arg3: u16_) -> ::core::ffi::c_int, + >, + pub destroy_cq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_cq, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub resize_cq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_cq, + arg2: ::core::ffi::c_int, + arg3: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub get_dma_mr: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_pd, arg2: ::core::ffi::c_int) -> *mut ib_mr, + >, + pub reg_user_mr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_pd, + arg2: u64_, + arg3: u64_, + arg4: u64_, + arg5: ::core::ffi::c_int, + arg6: *mut ib_udata, + ) -> *mut ib_mr, + >, + pub reg_user_mr_dmabuf: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_pd, + arg2: u64_, + arg3: u64_, + arg4: u64_, + arg5: ::core::ffi::c_int, + arg6: ::core::ffi::c_int, + arg7: *mut uverbs_attr_bundle, + ) -> *mut ib_mr, + >, + pub rereg_user_mr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_mr, + arg2: ::core::ffi::c_int, + arg3: u64_, + arg4: u64_, + arg5: u64_, + arg6: ::core::ffi::c_int, + arg7: *mut ib_pd, + arg8: *mut ib_udata, + ) -> *mut ib_mr, + >, + pub dereg_mr: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_mr, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub alloc_mr: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_pd, arg2: ib_mr_type, arg3: u32_) -> *mut ib_mr, + >, + pub alloc_mr_integrity: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_pd, arg2: u32_, arg3: u32_) -> *mut ib_mr, + >, + pub advise_mr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_pd, + arg2: ib_uverbs_advise_mr_advice, + arg3: u32_, + arg4: *mut ib_sge, + arg5: u32_, + arg6: *mut uverbs_attr_bundle, + ) -> ::core::ffi::c_int, + >, + pub map_mr_sg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_mr, + arg2: *mut scatterlist, + arg3: ::core::ffi::c_int, + arg4: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub check_mr_status: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_mr, + arg2: u32_, + arg3: *mut ib_mr_status, + ) -> ::core::ffi::c_int, + >, + pub alloc_mw: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_mw, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub dealloc_mw: + ::core::option::Option ::core::ffi::c_int>, + pub attach_mcast: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_qp, arg2: *mut ib_gid, arg3: u16_) -> ::core::ffi::c_int, + >, + pub detach_mcast: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_qp, arg2: *mut ib_gid, arg3: u16_) -> ::core::ffi::c_int, + >, + pub alloc_xrcd: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_xrcd, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub dealloc_xrcd: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_xrcd, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub create_flow: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_qp, + arg2: *mut ib_flow_attr, + arg3: *mut ib_udata, + ) -> *mut ib_flow, + >, + pub destroy_flow: + ::core::option::Option ::core::ffi::c_int>, + pub destroy_flow_action: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_flow_action) -> ::core::ffi::c_int, + >, + pub set_vf_link_state: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: ::core::ffi::c_int, + arg3: u32_, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub get_vf_config: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: ::core::ffi::c_int, + arg3: u32_, + arg4: *mut ifla_vf_info, + ) -> ::core::ffi::c_int, + >, + pub get_vf_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: ::core::ffi::c_int, + arg3: u32_, + arg4: *mut ifla_vf_stats, + ) -> ::core::ffi::c_int, + >, + pub get_vf_guid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: ::core::ffi::c_int, + arg3: u32_, + arg4: *mut ifla_vf_guid, + arg5: *mut ifla_vf_guid, + ) -> ::core::ffi::c_int, + >, + pub set_vf_guid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: ::core::ffi::c_int, + arg3: u32_, + arg4: u64_, + arg5: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub create_wq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_pd, + arg2: *mut ib_wq_init_attr, + arg3: *mut ib_udata, + ) -> *mut ib_wq, + >, + pub destroy_wq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_wq, arg2: *mut ib_udata) -> ::core::ffi::c_int, + >, + pub modify_wq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_wq, + arg2: *mut ib_wq_attr, + arg3: u32_, + arg4: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub create_rwq_ind_table: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_rwq_ind_table, + arg2: *mut ib_rwq_ind_table_init_attr, + arg3: *mut ib_udata, + ) -> ::core::ffi::c_int, + >, + pub destroy_rwq_ind_table: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_rwq_ind_table) -> ::core::ffi::c_int, + >, + pub alloc_dm: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: *mut ib_ucontext, + arg3: *mut ib_dm_alloc_attr, + arg4: *mut uverbs_attr_bundle, + ) -> *mut ib_dm, + >, + pub dealloc_dm: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_dm, arg2: *mut uverbs_attr_bundle) -> ::core::ffi::c_int, + >, + pub reg_dm_mr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_pd, + arg2: *mut ib_dm, + arg3: *mut ib_dm_mr_attr, + arg4: *mut uverbs_attr_bundle, + ) -> *mut ib_mr, + >, + pub create_counters: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_counters, + arg2: *mut uverbs_attr_bundle, + ) -> ::core::ffi::c_int, + >, + pub destroy_counters: + ::core::option::Option ::core::ffi::c_int>, + pub read_counters: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_counters, + arg2: *mut ib_counters_read_attr, + arg3: *mut uverbs_attr_bundle, + ) -> ::core::ffi::c_int, + >, + pub map_mr_sg_pi: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_mr, + arg2: *mut scatterlist, + arg3: ::core::ffi::c_int, + arg4: *mut ::core::ffi::c_uint, + arg5: *mut scatterlist, + arg6: ::core::ffi::c_int, + arg7: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub alloc_hw_device_stats: + ::core::option::Option *mut rdma_hw_stats>, + pub alloc_hw_port_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_device, arg2: u32_) -> *mut rdma_hw_stats, + >, + pub get_hw_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: *mut rdma_hw_stats, + arg3: u32_, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub modify_hw_stat: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: ::core::ffi::c_uint, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub fill_res_mr_entry: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_mr) -> ::core::ffi::c_int, + >, + pub fill_res_mr_entry_raw: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_mr) -> ::core::ffi::c_int, + >, + pub fill_res_cq_entry: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_cq) -> ::core::ffi::c_int, + >, + pub fill_res_cq_entry_raw: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_cq) -> ::core::ffi::c_int, + >, + pub fill_res_qp_entry: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_qp) -> ::core::ffi::c_int, + >, + pub fill_res_qp_entry_raw: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_qp) -> ::core::ffi::c_int, + >, + pub fill_res_cm_id_entry: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut rdma_cm_id) -> ::core::ffi::c_int, + >, + pub fill_res_srq_entry: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_srq) -> ::core::ffi::c_int, + >, + pub fill_res_srq_entry_raw: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_srq) -> ::core::ffi::c_int, + >, + pub enable_driver: + ::core::option::Option ::core::ffi::c_int>, + pub dealloc_driver: ::core::option::Option, + pub iw_add_ref: ::core::option::Option, + pub iw_rem_ref: ::core::option::Option, + pub iw_get_qp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_device, arg2: ::core::ffi::c_int) -> *mut ib_qp, + >, + pub iw_connect: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iw_cm_id, + arg2: *mut iw_cm_conn_param, + ) -> ::core::ffi::c_int, + >, + pub iw_accept: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iw_cm_id, + arg2: *mut iw_cm_conn_param, + ) -> ::core::ffi::c_int, + >, + pub iw_reject: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iw_cm_id, + arg2: *const ::core::ffi::c_void, + arg3: u8_, + ) -> ::core::ffi::c_int, + >, + pub iw_create_listen: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut iw_cm_id, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub iw_destroy_listen: + ::core::option::Option ::core::ffi::c_int>, + pub counter_bind_qp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rdma_counter, arg2: *mut ib_qp) -> ::core::ffi::c_int, + >, + pub counter_unbind_qp: + ::core::option::Option ::core::ffi::c_int>, + pub counter_dealloc: + ::core::option::Option ::core::ffi::c_int>, + pub counter_alloc_stats: + ::core::option::Option *mut rdma_hw_stats>, + pub counter_update_stats: + ::core::option::Option ::core::ffi::c_int>, + pub fill_stat_mr_entry: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ib_mr) -> ::core::ffi::c_int, + >, + pub query_ucontext: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_ucontext, + arg2: *mut uverbs_attr_bundle, + ) -> ::core::ffi::c_int, + >, + pub get_numa_node: + ::core::option::Option ::core::ffi::c_int>, + pub add_sub_dev: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: rdma_nl_dev_type, + arg3: *const ::core::ffi::c_char, + ) -> *mut ib_device, + >, + pub del_sub_dev: ::core::option::Option, + pub size_ib_ah: usize, + pub size_ib_counters: usize, + pub size_ib_cq: usize, + pub size_ib_mw: usize, + pub size_ib_pd: usize, + pub size_ib_qp: usize, + pub size_ib_rwq_ind_table: usize, + pub size_ib_srq: usize, + pub size_ib_ucontext: usize, + pub size_ib_xrcd: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_device_ops"][::core::mem::size_of::() - 1056usize]; + ["Alignment of ib_device_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_device_ops::owner"] + [::core::mem::offset_of!(ib_device_ops, owner) - 0usize]; + ["Offset of field: ib_device_ops::driver_id"] + [::core::mem::offset_of!(ib_device_ops, driver_id) - 8usize]; + ["Offset of field: ib_device_ops::uverbs_abi_ver"] + [::core::mem::offset_of!(ib_device_ops, uverbs_abi_ver) - 12usize]; + ["Offset of field: ib_device_ops::device_group"] + [::core::mem::offset_of!(ib_device_ops, device_group) - 24usize]; + ["Offset of field: ib_device_ops::port_groups"] + [::core::mem::offset_of!(ib_device_ops, port_groups) - 32usize]; + ["Offset of field: ib_device_ops::post_send"] + [::core::mem::offset_of!(ib_device_ops, post_send) - 40usize]; + ["Offset of field: ib_device_ops::post_recv"] + [::core::mem::offset_of!(ib_device_ops, post_recv) - 48usize]; + ["Offset of field: ib_device_ops::drain_rq"] + [::core::mem::offset_of!(ib_device_ops, drain_rq) - 56usize]; + ["Offset of field: ib_device_ops::drain_sq"] + [::core::mem::offset_of!(ib_device_ops, drain_sq) - 64usize]; + ["Offset of field: ib_device_ops::poll_cq"] + [::core::mem::offset_of!(ib_device_ops, poll_cq) - 72usize]; + ["Offset of field: ib_device_ops::peek_cq"] + [::core::mem::offset_of!(ib_device_ops, peek_cq) - 80usize]; + ["Offset of field: ib_device_ops::req_notify_cq"] + [::core::mem::offset_of!(ib_device_ops, req_notify_cq) - 88usize]; + ["Offset of field: ib_device_ops::post_srq_recv"] + [::core::mem::offset_of!(ib_device_ops, post_srq_recv) - 96usize]; + ["Offset of field: ib_device_ops::process_mad"] + [::core::mem::offset_of!(ib_device_ops, process_mad) - 104usize]; + ["Offset of field: ib_device_ops::query_device"] + [::core::mem::offset_of!(ib_device_ops, query_device) - 112usize]; + ["Offset of field: ib_device_ops::modify_device"] + [::core::mem::offset_of!(ib_device_ops, modify_device) - 120usize]; + ["Offset of field: ib_device_ops::get_dev_fw_str"] + [::core::mem::offset_of!(ib_device_ops, get_dev_fw_str) - 128usize]; + ["Offset of field: ib_device_ops::get_vector_affinity"] + [::core::mem::offset_of!(ib_device_ops, get_vector_affinity) - 136usize]; + ["Offset of field: ib_device_ops::query_port"] + [::core::mem::offset_of!(ib_device_ops, query_port) - 144usize]; + ["Offset of field: ib_device_ops::modify_port"] + [::core::mem::offset_of!(ib_device_ops, modify_port) - 152usize]; + ["Offset of field: ib_device_ops::get_port_immutable"] + [::core::mem::offset_of!(ib_device_ops, get_port_immutable) - 160usize]; + ["Offset of field: ib_device_ops::get_link_layer"] + [::core::mem::offset_of!(ib_device_ops, get_link_layer) - 168usize]; + ["Offset of field: ib_device_ops::get_netdev"] + [::core::mem::offset_of!(ib_device_ops, get_netdev) - 176usize]; + ["Offset of field: ib_device_ops::alloc_rdma_netdev"] + [::core::mem::offset_of!(ib_device_ops, alloc_rdma_netdev) - 184usize]; + ["Offset of field: ib_device_ops::rdma_netdev_get_params"] + [::core::mem::offset_of!(ib_device_ops, rdma_netdev_get_params) - 192usize]; + ["Offset of field: ib_device_ops::query_gid"] + [::core::mem::offset_of!(ib_device_ops, query_gid) - 200usize]; + ["Offset of field: ib_device_ops::add_gid"] + [::core::mem::offset_of!(ib_device_ops, add_gid) - 208usize]; + ["Offset of field: ib_device_ops::del_gid"] + [::core::mem::offset_of!(ib_device_ops, del_gid) - 216usize]; + ["Offset of field: ib_device_ops::query_pkey"] + [::core::mem::offset_of!(ib_device_ops, query_pkey) - 224usize]; + ["Offset of field: ib_device_ops::alloc_ucontext"] + [::core::mem::offset_of!(ib_device_ops, alloc_ucontext) - 232usize]; + ["Offset of field: ib_device_ops::dealloc_ucontext"] + [::core::mem::offset_of!(ib_device_ops, dealloc_ucontext) - 240usize]; + ["Offset of field: ib_device_ops::mmap"] + [::core::mem::offset_of!(ib_device_ops, mmap) - 248usize]; + ["Offset of field: ib_device_ops::mmap_free"] + [::core::mem::offset_of!(ib_device_ops, mmap_free) - 256usize]; + ["Offset of field: ib_device_ops::disassociate_ucontext"] + [::core::mem::offset_of!(ib_device_ops, disassociate_ucontext) - 264usize]; + ["Offset of field: ib_device_ops::alloc_pd"] + [::core::mem::offset_of!(ib_device_ops, alloc_pd) - 272usize]; + ["Offset of field: ib_device_ops::dealloc_pd"] + [::core::mem::offset_of!(ib_device_ops, dealloc_pd) - 280usize]; + ["Offset of field: ib_device_ops::create_ah"] + [::core::mem::offset_of!(ib_device_ops, create_ah) - 288usize]; + ["Offset of field: ib_device_ops::create_user_ah"] + [::core::mem::offset_of!(ib_device_ops, create_user_ah) - 296usize]; + ["Offset of field: ib_device_ops::modify_ah"] + [::core::mem::offset_of!(ib_device_ops, modify_ah) - 304usize]; + ["Offset of field: ib_device_ops::query_ah"] + [::core::mem::offset_of!(ib_device_ops, query_ah) - 312usize]; + ["Offset of field: ib_device_ops::destroy_ah"] + [::core::mem::offset_of!(ib_device_ops, destroy_ah) - 320usize]; + ["Offset of field: ib_device_ops::create_srq"] + [::core::mem::offset_of!(ib_device_ops, create_srq) - 328usize]; + ["Offset of field: ib_device_ops::modify_srq"] + [::core::mem::offset_of!(ib_device_ops, modify_srq) - 336usize]; + ["Offset of field: ib_device_ops::query_srq"] + [::core::mem::offset_of!(ib_device_ops, query_srq) - 344usize]; + ["Offset of field: ib_device_ops::destroy_srq"] + [::core::mem::offset_of!(ib_device_ops, destroy_srq) - 352usize]; + ["Offset of field: ib_device_ops::create_qp"] + [::core::mem::offset_of!(ib_device_ops, create_qp) - 360usize]; + ["Offset of field: ib_device_ops::modify_qp"] + [::core::mem::offset_of!(ib_device_ops, modify_qp) - 368usize]; + ["Offset of field: ib_device_ops::query_qp"] + [::core::mem::offset_of!(ib_device_ops, query_qp) - 376usize]; + ["Offset of field: ib_device_ops::destroy_qp"] + [::core::mem::offset_of!(ib_device_ops, destroy_qp) - 384usize]; + ["Offset of field: ib_device_ops::create_cq"] + [::core::mem::offset_of!(ib_device_ops, create_cq) - 392usize]; + ["Offset of field: ib_device_ops::modify_cq"] + [::core::mem::offset_of!(ib_device_ops, modify_cq) - 400usize]; + ["Offset of field: ib_device_ops::destroy_cq"] + [::core::mem::offset_of!(ib_device_ops, destroy_cq) - 408usize]; + ["Offset of field: ib_device_ops::resize_cq"] + [::core::mem::offset_of!(ib_device_ops, resize_cq) - 416usize]; + ["Offset of field: ib_device_ops::get_dma_mr"] + [::core::mem::offset_of!(ib_device_ops, get_dma_mr) - 424usize]; + ["Offset of field: ib_device_ops::reg_user_mr"] + [::core::mem::offset_of!(ib_device_ops, reg_user_mr) - 432usize]; + ["Offset of field: ib_device_ops::reg_user_mr_dmabuf"] + [::core::mem::offset_of!(ib_device_ops, reg_user_mr_dmabuf) - 440usize]; + ["Offset of field: ib_device_ops::rereg_user_mr"] + [::core::mem::offset_of!(ib_device_ops, rereg_user_mr) - 448usize]; + ["Offset of field: ib_device_ops::dereg_mr"] + [::core::mem::offset_of!(ib_device_ops, dereg_mr) - 456usize]; + ["Offset of field: ib_device_ops::alloc_mr"] + [::core::mem::offset_of!(ib_device_ops, alloc_mr) - 464usize]; + ["Offset of field: ib_device_ops::alloc_mr_integrity"] + [::core::mem::offset_of!(ib_device_ops, alloc_mr_integrity) - 472usize]; + ["Offset of field: ib_device_ops::advise_mr"] + [::core::mem::offset_of!(ib_device_ops, advise_mr) - 480usize]; + ["Offset of field: ib_device_ops::map_mr_sg"] + [::core::mem::offset_of!(ib_device_ops, map_mr_sg) - 488usize]; + ["Offset of field: ib_device_ops::check_mr_status"] + [::core::mem::offset_of!(ib_device_ops, check_mr_status) - 496usize]; + ["Offset of field: ib_device_ops::alloc_mw"] + [::core::mem::offset_of!(ib_device_ops, alloc_mw) - 504usize]; + ["Offset of field: ib_device_ops::dealloc_mw"] + [::core::mem::offset_of!(ib_device_ops, dealloc_mw) - 512usize]; + ["Offset of field: ib_device_ops::attach_mcast"] + [::core::mem::offset_of!(ib_device_ops, attach_mcast) - 520usize]; + ["Offset of field: ib_device_ops::detach_mcast"] + [::core::mem::offset_of!(ib_device_ops, detach_mcast) - 528usize]; + ["Offset of field: ib_device_ops::alloc_xrcd"] + [::core::mem::offset_of!(ib_device_ops, alloc_xrcd) - 536usize]; + ["Offset of field: ib_device_ops::dealloc_xrcd"] + [::core::mem::offset_of!(ib_device_ops, dealloc_xrcd) - 544usize]; + ["Offset of field: ib_device_ops::create_flow"] + [::core::mem::offset_of!(ib_device_ops, create_flow) - 552usize]; + ["Offset of field: ib_device_ops::destroy_flow"] + [::core::mem::offset_of!(ib_device_ops, destroy_flow) - 560usize]; + ["Offset of field: ib_device_ops::destroy_flow_action"] + [::core::mem::offset_of!(ib_device_ops, destroy_flow_action) - 568usize]; + ["Offset of field: ib_device_ops::set_vf_link_state"] + [::core::mem::offset_of!(ib_device_ops, set_vf_link_state) - 576usize]; + ["Offset of field: ib_device_ops::get_vf_config"] + [::core::mem::offset_of!(ib_device_ops, get_vf_config) - 584usize]; + ["Offset of field: ib_device_ops::get_vf_stats"] + [::core::mem::offset_of!(ib_device_ops, get_vf_stats) - 592usize]; + ["Offset of field: ib_device_ops::get_vf_guid"] + [::core::mem::offset_of!(ib_device_ops, get_vf_guid) - 600usize]; + ["Offset of field: ib_device_ops::set_vf_guid"] + [::core::mem::offset_of!(ib_device_ops, set_vf_guid) - 608usize]; + ["Offset of field: ib_device_ops::create_wq"] + [::core::mem::offset_of!(ib_device_ops, create_wq) - 616usize]; + ["Offset of field: ib_device_ops::destroy_wq"] + [::core::mem::offset_of!(ib_device_ops, destroy_wq) - 624usize]; + ["Offset of field: ib_device_ops::modify_wq"] + [::core::mem::offset_of!(ib_device_ops, modify_wq) - 632usize]; + ["Offset of field: ib_device_ops::create_rwq_ind_table"] + [::core::mem::offset_of!(ib_device_ops, create_rwq_ind_table) - 640usize]; + ["Offset of field: ib_device_ops::destroy_rwq_ind_table"] + [::core::mem::offset_of!(ib_device_ops, destroy_rwq_ind_table) - 648usize]; + ["Offset of field: ib_device_ops::alloc_dm"] + [::core::mem::offset_of!(ib_device_ops, alloc_dm) - 656usize]; + ["Offset of field: ib_device_ops::dealloc_dm"] + [::core::mem::offset_of!(ib_device_ops, dealloc_dm) - 664usize]; + ["Offset of field: ib_device_ops::reg_dm_mr"] + [::core::mem::offset_of!(ib_device_ops, reg_dm_mr) - 672usize]; + ["Offset of field: ib_device_ops::create_counters"] + [::core::mem::offset_of!(ib_device_ops, create_counters) - 680usize]; + ["Offset of field: ib_device_ops::destroy_counters"] + [::core::mem::offset_of!(ib_device_ops, destroy_counters) - 688usize]; + ["Offset of field: ib_device_ops::read_counters"] + [::core::mem::offset_of!(ib_device_ops, read_counters) - 696usize]; + ["Offset of field: ib_device_ops::map_mr_sg_pi"] + [::core::mem::offset_of!(ib_device_ops, map_mr_sg_pi) - 704usize]; + ["Offset of field: ib_device_ops::alloc_hw_device_stats"] + [::core::mem::offset_of!(ib_device_ops, alloc_hw_device_stats) - 712usize]; + ["Offset of field: ib_device_ops::alloc_hw_port_stats"] + [::core::mem::offset_of!(ib_device_ops, alloc_hw_port_stats) - 720usize]; + ["Offset of field: ib_device_ops::get_hw_stats"] + [::core::mem::offset_of!(ib_device_ops, get_hw_stats) - 728usize]; + ["Offset of field: ib_device_ops::modify_hw_stat"] + [::core::mem::offset_of!(ib_device_ops, modify_hw_stat) - 736usize]; + ["Offset of field: ib_device_ops::fill_res_mr_entry"] + [::core::mem::offset_of!(ib_device_ops, fill_res_mr_entry) - 744usize]; + ["Offset of field: ib_device_ops::fill_res_mr_entry_raw"] + [::core::mem::offset_of!(ib_device_ops, fill_res_mr_entry_raw) - 752usize]; + ["Offset of field: ib_device_ops::fill_res_cq_entry"] + [::core::mem::offset_of!(ib_device_ops, fill_res_cq_entry) - 760usize]; + ["Offset of field: ib_device_ops::fill_res_cq_entry_raw"] + [::core::mem::offset_of!(ib_device_ops, fill_res_cq_entry_raw) - 768usize]; + ["Offset of field: ib_device_ops::fill_res_qp_entry"] + [::core::mem::offset_of!(ib_device_ops, fill_res_qp_entry) - 776usize]; + ["Offset of field: ib_device_ops::fill_res_qp_entry_raw"] + [::core::mem::offset_of!(ib_device_ops, fill_res_qp_entry_raw) - 784usize]; + ["Offset of field: ib_device_ops::fill_res_cm_id_entry"] + [::core::mem::offset_of!(ib_device_ops, fill_res_cm_id_entry) - 792usize]; + ["Offset of field: ib_device_ops::fill_res_srq_entry"] + [::core::mem::offset_of!(ib_device_ops, fill_res_srq_entry) - 800usize]; + ["Offset of field: ib_device_ops::fill_res_srq_entry_raw"] + [::core::mem::offset_of!(ib_device_ops, fill_res_srq_entry_raw) - 808usize]; + ["Offset of field: ib_device_ops::enable_driver"] + [::core::mem::offset_of!(ib_device_ops, enable_driver) - 816usize]; + ["Offset of field: ib_device_ops::dealloc_driver"] + [::core::mem::offset_of!(ib_device_ops, dealloc_driver) - 824usize]; + ["Offset of field: ib_device_ops::iw_add_ref"] + [::core::mem::offset_of!(ib_device_ops, iw_add_ref) - 832usize]; + ["Offset of field: ib_device_ops::iw_rem_ref"] + [::core::mem::offset_of!(ib_device_ops, iw_rem_ref) - 840usize]; + ["Offset of field: ib_device_ops::iw_get_qp"] + [::core::mem::offset_of!(ib_device_ops, iw_get_qp) - 848usize]; + ["Offset of field: ib_device_ops::iw_connect"] + [::core::mem::offset_of!(ib_device_ops, iw_connect) - 856usize]; + ["Offset of field: ib_device_ops::iw_accept"] + [::core::mem::offset_of!(ib_device_ops, iw_accept) - 864usize]; + ["Offset of field: ib_device_ops::iw_reject"] + [::core::mem::offset_of!(ib_device_ops, iw_reject) - 872usize]; + ["Offset of field: ib_device_ops::iw_create_listen"] + [::core::mem::offset_of!(ib_device_ops, iw_create_listen) - 880usize]; + ["Offset of field: ib_device_ops::iw_destroy_listen"] + [::core::mem::offset_of!(ib_device_ops, iw_destroy_listen) - 888usize]; + ["Offset of field: ib_device_ops::counter_bind_qp"] + [::core::mem::offset_of!(ib_device_ops, counter_bind_qp) - 896usize]; + ["Offset of field: ib_device_ops::counter_unbind_qp"] + [::core::mem::offset_of!(ib_device_ops, counter_unbind_qp) - 904usize]; + ["Offset of field: ib_device_ops::counter_dealloc"] + [::core::mem::offset_of!(ib_device_ops, counter_dealloc) - 912usize]; + ["Offset of field: ib_device_ops::counter_alloc_stats"] + [::core::mem::offset_of!(ib_device_ops, counter_alloc_stats) - 920usize]; + ["Offset of field: ib_device_ops::counter_update_stats"] + [::core::mem::offset_of!(ib_device_ops, counter_update_stats) - 928usize]; + ["Offset of field: ib_device_ops::fill_stat_mr_entry"] + [::core::mem::offset_of!(ib_device_ops, fill_stat_mr_entry) - 936usize]; + ["Offset of field: ib_device_ops::query_ucontext"] + [::core::mem::offset_of!(ib_device_ops, query_ucontext) - 944usize]; + ["Offset of field: ib_device_ops::get_numa_node"] + [::core::mem::offset_of!(ib_device_ops, get_numa_node) - 952usize]; + ["Offset of field: ib_device_ops::add_sub_dev"] + [::core::mem::offset_of!(ib_device_ops, add_sub_dev) - 960usize]; + ["Offset of field: ib_device_ops::del_sub_dev"] + [::core::mem::offset_of!(ib_device_ops, del_sub_dev) - 968usize]; + ["Offset of field: ib_device_ops::size_ib_ah"] + [::core::mem::offset_of!(ib_device_ops, size_ib_ah) - 976usize]; + ["Offset of field: ib_device_ops::size_ib_counters"] + [::core::mem::offset_of!(ib_device_ops, size_ib_counters) - 984usize]; + ["Offset of field: ib_device_ops::size_ib_cq"] + [::core::mem::offset_of!(ib_device_ops, size_ib_cq) - 992usize]; + ["Offset of field: ib_device_ops::size_ib_mw"] + [::core::mem::offset_of!(ib_device_ops, size_ib_mw) - 1000usize]; + ["Offset of field: ib_device_ops::size_ib_pd"] + [::core::mem::offset_of!(ib_device_ops, size_ib_pd) - 1008usize]; + ["Offset of field: ib_device_ops::size_ib_qp"] + [::core::mem::offset_of!(ib_device_ops, size_ib_qp) - 1016usize]; + ["Offset of field: ib_device_ops::size_ib_rwq_ind_table"] + [::core::mem::offset_of!(ib_device_ops, size_ib_rwq_ind_table) - 1024usize]; + ["Offset of field: ib_device_ops::size_ib_srq"] + [::core::mem::offset_of!(ib_device_ops, size_ib_srq) - 1032usize]; + ["Offset of field: ib_device_ops::size_ib_ucontext"] + [::core::mem::offset_of!(ib_device_ops, size_ib_ucontext) - 1040usize]; + ["Offset of field: ib_device_ops::size_ib_xrcd"] + [::core::mem::offset_of!(ib_device_ops, size_ib_xrcd) - 1048usize]; +}; +impl ib_device_ops { + #[inline] + pub fn uverbs_no_driver_id_binding(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_uverbs_no_driver_id_binding(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn uverbs_no_driver_id_binding_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_uverbs_no_driver_id_binding_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + uverbs_no_driver_id_binding: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let uverbs_no_driver_id_binding: u32 = + unsafe { ::core::mem::transmute(uverbs_no_driver_id_binding) }; + uverbs_no_driver_id_binding as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_odp_caps { + pub general_caps: u64, + pub per_transport_caps: ib_odp_caps__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_odp_caps__bindgen_ty_1 { + pub rc_odp_caps: u32, + pub uc_odp_caps: u32, + pub ud_odp_caps: u32, + pub xrc_odp_caps: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_odp_caps__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ib_odp_caps__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_odp_caps__bindgen_ty_1::rc_odp_caps"] + [::core::mem::offset_of!(ib_odp_caps__bindgen_ty_1, rc_odp_caps) - 0usize]; + ["Offset of field: ib_odp_caps__bindgen_ty_1::uc_odp_caps"] + [::core::mem::offset_of!(ib_odp_caps__bindgen_ty_1, uc_odp_caps) - 4usize]; + ["Offset of field: ib_odp_caps__bindgen_ty_1::ud_odp_caps"] + [::core::mem::offset_of!(ib_odp_caps__bindgen_ty_1, ud_odp_caps) - 8usize]; + ["Offset of field: ib_odp_caps__bindgen_ty_1::xrc_odp_caps"] + [::core::mem::offset_of!(ib_odp_caps__bindgen_ty_1, xrc_odp_caps) - 12usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_odp_caps"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_odp_caps"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_odp_caps::general_caps"] + [::core::mem::offset_of!(ib_odp_caps, general_caps) - 0usize]; + ["Offset of field: ib_odp_caps::per_transport_caps"] + [::core::mem::offset_of!(ib_odp_caps, per_transport_caps) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_rss_caps { + pub supported_qpts: u32_, + pub max_rwq_indirection_tables: u32_, + pub max_rwq_indirection_table_size: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_rss_caps"][::core::mem::size_of::() - 12usize]; + ["Alignment of ib_rss_caps"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_rss_caps::supported_qpts"] + [::core::mem::offset_of!(ib_rss_caps, supported_qpts) - 0usize]; + ["Offset of field: ib_rss_caps::max_rwq_indirection_tables"] + [::core::mem::offset_of!(ib_rss_caps, max_rwq_indirection_tables) - 4usize]; + ["Offset of field: ib_rss_caps::max_rwq_indirection_table_size"] + [::core::mem::offset_of!(ib_rss_caps, max_rwq_indirection_table_size) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_tm_caps { + pub max_rndv_hdr_size: u32_, + pub max_num_tags: u32_, + pub flags: u32_, + pub max_ops: u32_, + pub max_sge: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_tm_caps"][::core::mem::size_of::() - 20usize]; + ["Alignment of ib_tm_caps"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_tm_caps::max_rndv_hdr_size"] + [::core::mem::offset_of!(ib_tm_caps, max_rndv_hdr_size) - 0usize]; + ["Offset of field: ib_tm_caps::max_num_tags"] + [::core::mem::offset_of!(ib_tm_caps, max_num_tags) - 4usize]; + ["Offset of field: ib_tm_caps::flags"][::core::mem::offset_of!(ib_tm_caps, flags) - 8usize]; + ["Offset of field: ib_tm_caps::max_ops"] + [::core::mem::offset_of!(ib_tm_caps, max_ops) - 12usize]; + ["Offset of field: ib_tm_caps::max_sge"] + [::core::mem::offset_of!(ib_tm_caps, max_sge) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_device_attr { + pub fw_ver: u64_, + pub sys_image_guid: __be64, + pub max_mr_size: u64_, + pub page_size_cap: u64_, + pub vendor_id: u32_, + pub vendor_part_id: u32_, + pub hw_ver: u32_, + pub max_qp: ::core::ffi::c_int, + pub max_qp_wr: ::core::ffi::c_int, + pub device_cap_flags: u64_, + pub kernel_cap_flags: u64_, + pub max_send_sge: ::core::ffi::c_int, + pub max_recv_sge: ::core::ffi::c_int, + pub max_sge_rd: ::core::ffi::c_int, + pub max_cq: ::core::ffi::c_int, + pub max_cqe: ::core::ffi::c_int, + pub max_mr: ::core::ffi::c_int, + pub max_pd: ::core::ffi::c_int, + pub max_qp_rd_atom: ::core::ffi::c_int, + pub max_ee_rd_atom: ::core::ffi::c_int, + pub max_res_rd_atom: ::core::ffi::c_int, + pub max_qp_init_rd_atom: ::core::ffi::c_int, + pub max_ee_init_rd_atom: ::core::ffi::c_int, + pub atomic_cap: ib_atomic_cap, + pub masked_atomic_cap: ib_atomic_cap, + pub max_ee: ::core::ffi::c_int, + pub max_rdd: ::core::ffi::c_int, + pub max_mw: ::core::ffi::c_int, + pub max_raw_ipv6_qp: ::core::ffi::c_int, + pub max_raw_ethy_qp: ::core::ffi::c_int, + pub max_mcast_grp: ::core::ffi::c_int, + pub max_mcast_qp_attach: ::core::ffi::c_int, + pub max_total_mcast_qp_attach: ::core::ffi::c_int, + pub max_ah: ::core::ffi::c_int, + pub max_srq: ::core::ffi::c_int, + pub max_srq_wr: ::core::ffi::c_int, + pub max_srq_sge: ::core::ffi::c_int, + pub max_fast_reg_page_list_len: ::core::ffi::c_uint, + pub max_pi_fast_reg_page_list_len: ::core::ffi::c_uint, + pub max_pkeys: u16_, + pub local_ca_ack_delay: u8_, + pub sig_prot_cap: ::core::ffi::c_int, + pub sig_guard_cap: ::core::ffi::c_int, + pub odp_caps: ib_odp_caps, + pub timestamp_mask: u64, + pub hca_core_clock: u64, + pub rss_caps: ib_rss_caps, + pub max_wq_type_rq: u32_, + pub raw_packet_caps: u32_, + pub tm_caps: ib_tm_caps, + pub cq_caps: ib_cq_caps, + pub max_dm_size: u64_, + pub max_sgl_rd: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_device_attr"][::core::mem::size_of::() - 304usize]; + ["Alignment of ib_device_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_device_attr::fw_ver"] + [::core::mem::offset_of!(ib_device_attr, fw_ver) - 0usize]; + ["Offset of field: ib_device_attr::sys_image_guid"] + [::core::mem::offset_of!(ib_device_attr, sys_image_guid) - 8usize]; + ["Offset of field: ib_device_attr::max_mr_size"] + [::core::mem::offset_of!(ib_device_attr, max_mr_size) - 16usize]; + ["Offset of field: ib_device_attr::page_size_cap"] + [::core::mem::offset_of!(ib_device_attr, page_size_cap) - 24usize]; + ["Offset of field: ib_device_attr::vendor_id"] + [::core::mem::offset_of!(ib_device_attr, vendor_id) - 32usize]; + ["Offset of field: ib_device_attr::vendor_part_id"] + [::core::mem::offset_of!(ib_device_attr, vendor_part_id) - 36usize]; + ["Offset of field: ib_device_attr::hw_ver"] + [::core::mem::offset_of!(ib_device_attr, hw_ver) - 40usize]; + ["Offset of field: ib_device_attr::max_qp"] + [::core::mem::offset_of!(ib_device_attr, max_qp) - 44usize]; + ["Offset of field: ib_device_attr::max_qp_wr"] + [::core::mem::offset_of!(ib_device_attr, max_qp_wr) - 48usize]; + ["Offset of field: ib_device_attr::device_cap_flags"] + [::core::mem::offset_of!(ib_device_attr, device_cap_flags) - 56usize]; + ["Offset of field: ib_device_attr::kernel_cap_flags"] + [::core::mem::offset_of!(ib_device_attr, kernel_cap_flags) - 64usize]; + ["Offset of field: ib_device_attr::max_send_sge"] + [::core::mem::offset_of!(ib_device_attr, max_send_sge) - 72usize]; + ["Offset of field: ib_device_attr::max_recv_sge"] + [::core::mem::offset_of!(ib_device_attr, max_recv_sge) - 76usize]; + ["Offset of field: ib_device_attr::max_sge_rd"] + [::core::mem::offset_of!(ib_device_attr, max_sge_rd) - 80usize]; + ["Offset of field: ib_device_attr::max_cq"] + [::core::mem::offset_of!(ib_device_attr, max_cq) - 84usize]; + ["Offset of field: ib_device_attr::max_cqe"] + [::core::mem::offset_of!(ib_device_attr, max_cqe) - 88usize]; + ["Offset of field: ib_device_attr::max_mr"] + [::core::mem::offset_of!(ib_device_attr, max_mr) - 92usize]; + ["Offset of field: ib_device_attr::max_pd"] + [::core::mem::offset_of!(ib_device_attr, max_pd) - 96usize]; + ["Offset of field: ib_device_attr::max_qp_rd_atom"] + [::core::mem::offset_of!(ib_device_attr, max_qp_rd_atom) - 100usize]; + ["Offset of field: ib_device_attr::max_ee_rd_atom"] + [::core::mem::offset_of!(ib_device_attr, max_ee_rd_atom) - 104usize]; + ["Offset of field: ib_device_attr::max_res_rd_atom"] + [::core::mem::offset_of!(ib_device_attr, max_res_rd_atom) - 108usize]; + ["Offset of field: ib_device_attr::max_qp_init_rd_atom"] + [::core::mem::offset_of!(ib_device_attr, max_qp_init_rd_atom) - 112usize]; + ["Offset of field: ib_device_attr::max_ee_init_rd_atom"] + [::core::mem::offset_of!(ib_device_attr, max_ee_init_rd_atom) - 116usize]; + ["Offset of field: ib_device_attr::atomic_cap"] + [::core::mem::offset_of!(ib_device_attr, atomic_cap) - 120usize]; + ["Offset of field: ib_device_attr::masked_atomic_cap"] + [::core::mem::offset_of!(ib_device_attr, masked_atomic_cap) - 124usize]; + ["Offset of field: ib_device_attr::max_ee"] + [::core::mem::offset_of!(ib_device_attr, max_ee) - 128usize]; + ["Offset of field: ib_device_attr::max_rdd"] + [::core::mem::offset_of!(ib_device_attr, max_rdd) - 132usize]; + ["Offset of field: ib_device_attr::max_mw"] + [::core::mem::offset_of!(ib_device_attr, max_mw) - 136usize]; + ["Offset of field: ib_device_attr::max_raw_ipv6_qp"] + [::core::mem::offset_of!(ib_device_attr, max_raw_ipv6_qp) - 140usize]; + ["Offset of field: ib_device_attr::max_raw_ethy_qp"] + [::core::mem::offset_of!(ib_device_attr, max_raw_ethy_qp) - 144usize]; + ["Offset of field: ib_device_attr::max_mcast_grp"] + [::core::mem::offset_of!(ib_device_attr, max_mcast_grp) - 148usize]; + ["Offset of field: ib_device_attr::max_mcast_qp_attach"] + [::core::mem::offset_of!(ib_device_attr, max_mcast_qp_attach) - 152usize]; + ["Offset of field: ib_device_attr::max_total_mcast_qp_attach"] + [::core::mem::offset_of!(ib_device_attr, max_total_mcast_qp_attach) - 156usize]; + ["Offset of field: ib_device_attr::max_ah"] + [::core::mem::offset_of!(ib_device_attr, max_ah) - 160usize]; + ["Offset of field: ib_device_attr::max_srq"] + [::core::mem::offset_of!(ib_device_attr, max_srq) - 164usize]; + ["Offset of field: ib_device_attr::max_srq_wr"] + [::core::mem::offset_of!(ib_device_attr, max_srq_wr) - 168usize]; + ["Offset of field: ib_device_attr::max_srq_sge"] + [::core::mem::offset_of!(ib_device_attr, max_srq_sge) - 172usize]; + ["Offset of field: ib_device_attr::max_fast_reg_page_list_len"] + [::core::mem::offset_of!(ib_device_attr, max_fast_reg_page_list_len) - 176usize]; + ["Offset of field: ib_device_attr::max_pi_fast_reg_page_list_len"] + [::core::mem::offset_of!(ib_device_attr, max_pi_fast_reg_page_list_len) - 180usize]; + ["Offset of field: ib_device_attr::max_pkeys"] + [::core::mem::offset_of!(ib_device_attr, max_pkeys) - 184usize]; + ["Offset of field: ib_device_attr::local_ca_ack_delay"] + [::core::mem::offset_of!(ib_device_attr, local_ca_ack_delay) - 186usize]; + ["Offset of field: ib_device_attr::sig_prot_cap"] + [::core::mem::offset_of!(ib_device_attr, sig_prot_cap) - 188usize]; + ["Offset of field: ib_device_attr::sig_guard_cap"] + [::core::mem::offset_of!(ib_device_attr, sig_guard_cap) - 192usize]; + ["Offset of field: ib_device_attr::odp_caps"] + [::core::mem::offset_of!(ib_device_attr, odp_caps) - 200usize]; + ["Offset of field: ib_device_attr::timestamp_mask"] + [::core::mem::offset_of!(ib_device_attr, timestamp_mask) - 224usize]; + ["Offset of field: ib_device_attr::hca_core_clock"] + [::core::mem::offset_of!(ib_device_attr, hca_core_clock) - 232usize]; + ["Offset of field: ib_device_attr::rss_caps"] + [::core::mem::offset_of!(ib_device_attr, rss_caps) - 240usize]; + ["Offset of field: ib_device_attr::max_wq_type_rq"] + [::core::mem::offset_of!(ib_device_attr, max_wq_type_rq) - 252usize]; + ["Offset of field: ib_device_attr::raw_packet_caps"] + [::core::mem::offset_of!(ib_device_attr, raw_packet_caps) - 256usize]; + ["Offset of field: ib_device_attr::tm_caps"] + [::core::mem::offset_of!(ib_device_attr, tm_caps) - 260usize]; + ["Offset of field: ib_device_attr::cq_caps"] + [::core::mem::offset_of!(ib_device_attr, cq_caps) - 280usize]; + ["Offset of field: ib_device_attr::max_dm_size"] + [::core::mem::offset_of!(ib_device_attr, max_dm_size) - 288usize]; + ["Offset of field: ib_device_attr::max_sgl_rd"] + [::core::mem::offset_of!(ib_device_attr, max_sgl_rd) - 296usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hw_stats_device_data { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdmacg_device { + pub dev_node: list_head, + pub rpools: list_head, + pub name: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdmacg_device"][::core::mem::size_of::() - 40usize]; + ["Alignment of rdmacg_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdmacg_device::dev_node"] + [::core::mem::offset_of!(rdmacg_device, dev_node) - 0usize]; + ["Offset of field: rdmacg_device::rpools"] + [::core::mem::offset_of!(rdmacg_device, rpools) - 16usize]; + ["Offset of field: rdmacg_device::name"] + [::core::mem::offset_of!(rdmacg_device, name) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_restrack_root { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uapi_definition { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_device { + pub dma_device: *mut device, + pub ops: ib_device_ops, + pub name: [::core::ffi::c_char; 64usize], + pub callback_head: callback_head, + pub event_handler_list: list_head, + pub event_handler_rwsem: rw_semaphore, + pub qp_open_list_lock: spinlock_t, + pub client_data_rwsem: rw_semaphore, + pub client_data: xarray, + pub unregistration_lock: mutex, + pub cache_lock: rwlock_t, + pub port_data: *mut ib_port_data, + pub num_comp_vectors: ::core::ffi::c_int, + pub __bindgen_anon_1: ib_device__bindgen_ty_1, + pub groups: [*const attribute_group; 4usize], + pub hw_stats_attr_index: u8_, + pub uverbs_cmd_mask: u64_, + pub node_desc: [::core::ffi::c_char; 64usize], + pub node_guid: __be64, + pub local_dma_lkey: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub node_type: u8_, + pub phys_port_cnt: u32_, + pub attrs: ib_device_attr, + pub hw_stats_data: *mut hw_stats_device_data, + pub cg_device: rdmacg_device, + pub index: u32_, + pub cq_pools_lock: spinlock_t, + pub cq_pools: [list_head; 3usize], + pub res: *mut rdma_restrack_root, + pub driver_def: *const uapi_definition, + pub refcount: refcount_t, + pub unreg_completion: completion, + pub unregistration_work: work_struct, + pub link_ops: *const rdma_link_ops, + pub compat_devs_mutex: mutex, + pub compat_devs: xarray, + pub iw_ifname: [::core::ffi::c_char; 16usize], + pub iw_driver_flags: u32_, + pub lag_flags: u32_, + pub subdev_lock: mutex, + pub subdev_list_head: list_head, + pub type_: rdma_nl_dev_type, + pub parent: *mut ib_device, + pub subdev_list: list_head, + pub name_assign_type: rdma_nl_name_assign_type, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_device__bindgen_ty_1 { + pub dev: device, + pub coredev: ib_core_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_device__bindgen_ty_1"] + [::core::mem::size_of::() - 792usize]; + ["Alignment of ib_device__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_device__bindgen_ty_1::dev"] + [::core::mem::offset_of!(ib_device__bindgen_ty_1, dev) - 0usize]; + ["Offset of field: ib_device__bindgen_ty_1::coredev"] + [::core::mem::offset_of!(ib_device__bindgen_ty_1, coredev) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_device"][::core::mem::size_of::() - 2912usize]; + ["Alignment of ib_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_device::dma_device"] + [::core::mem::offset_of!(ib_device, dma_device) - 0usize]; + ["Offset of field: ib_device::ops"][::core::mem::offset_of!(ib_device, ops) - 8usize]; + ["Offset of field: ib_device::name"][::core::mem::offset_of!(ib_device, name) - 1064usize]; + ["Offset of field: ib_device::callback_head"] + [::core::mem::offset_of!(ib_device, callback_head) - 1128usize]; + ["Offset of field: ib_device::event_handler_list"] + [::core::mem::offset_of!(ib_device, event_handler_list) - 1144usize]; + ["Offset of field: ib_device::event_handler_rwsem"] + [::core::mem::offset_of!(ib_device, event_handler_rwsem) - 1160usize]; + ["Offset of field: ib_device::qp_open_list_lock"] + [::core::mem::offset_of!(ib_device, qp_open_list_lock) - 1200usize]; + ["Offset of field: ib_device::client_data_rwsem"] + [::core::mem::offset_of!(ib_device, client_data_rwsem) - 1208usize]; + ["Offset of field: ib_device::client_data"] + [::core::mem::offset_of!(ib_device, client_data) - 1248usize]; + ["Offset of field: ib_device::unregistration_lock"] + [::core::mem::offset_of!(ib_device, unregistration_lock) - 1264usize]; + ["Offset of field: ib_device::cache_lock"] + [::core::mem::offset_of!(ib_device, cache_lock) - 1296usize]; + ["Offset of field: ib_device::port_data"] + [::core::mem::offset_of!(ib_device, port_data) - 1304usize]; + ["Offset of field: ib_device::num_comp_vectors"] + [::core::mem::offset_of!(ib_device, num_comp_vectors) - 1312usize]; + ["Offset of field: ib_device::groups"][::core::mem::offset_of!(ib_device, groups) - 2112usize]; + ["Offset of field: ib_device::hw_stats_attr_index"] + [::core::mem::offset_of!(ib_device, hw_stats_attr_index) - 2144usize]; + ["Offset of field: ib_device::uverbs_cmd_mask"] + [::core::mem::offset_of!(ib_device, uverbs_cmd_mask) - 2152usize]; + ["Offset of field: ib_device::node_desc"] + [::core::mem::offset_of!(ib_device, node_desc) - 2160usize]; + ["Offset of field: ib_device::node_guid"] + [::core::mem::offset_of!(ib_device, node_guid) - 2224usize]; + ["Offset of field: ib_device::local_dma_lkey"] + [::core::mem::offset_of!(ib_device, local_dma_lkey) - 2232usize]; + ["Offset of field: ib_device::node_type"] + [::core::mem::offset_of!(ib_device, node_type) - 2237usize]; + ["Offset of field: ib_device::phys_port_cnt"] + [::core::mem::offset_of!(ib_device, phys_port_cnt) - 2240usize]; + ["Offset of field: ib_device::attrs"][::core::mem::offset_of!(ib_device, attrs) - 2248usize]; + ["Offset of field: ib_device::hw_stats_data"] + [::core::mem::offset_of!(ib_device, hw_stats_data) - 2552usize]; + ["Offset of field: ib_device::cg_device"] + [::core::mem::offset_of!(ib_device, cg_device) - 2560usize]; + ["Offset of field: ib_device::index"][::core::mem::offset_of!(ib_device, index) - 2600usize]; + ["Offset of field: ib_device::cq_pools_lock"] + [::core::mem::offset_of!(ib_device, cq_pools_lock) - 2604usize]; + ["Offset of field: ib_device::cq_pools"] + [::core::mem::offset_of!(ib_device, cq_pools) - 2608usize]; + ["Offset of field: ib_device::res"][::core::mem::offset_of!(ib_device, res) - 2656usize]; + ["Offset of field: ib_device::driver_def"] + [::core::mem::offset_of!(ib_device, driver_def) - 2664usize]; + ["Offset of field: ib_device::refcount"] + [::core::mem::offset_of!(ib_device, refcount) - 2672usize]; + ["Offset of field: ib_device::unreg_completion"] + [::core::mem::offset_of!(ib_device, unreg_completion) - 2680usize]; + ["Offset of field: ib_device::unregistration_work"] + [::core::mem::offset_of!(ib_device, unregistration_work) - 2712usize]; + ["Offset of field: ib_device::link_ops"] + [::core::mem::offset_of!(ib_device, link_ops) - 2744usize]; + ["Offset of field: ib_device::compat_devs_mutex"] + [::core::mem::offset_of!(ib_device, compat_devs_mutex) - 2752usize]; + ["Offset of field: ib_device::compat_devs"] + [::core::mem::offset_of!(ib_device, compat_devs) - 2784usize]; + ["Offset of field: ib_device::iw_ifname"] + [::core::mem::offset_of!(ib_device, iw_ifname) - 2800usize]; + ["Offset of field: ib_device::iw_driver_flags"] + [::core::mem::offset_of!(ib_device, iw_driver_flags) - 2816usize]; + ["Offset of field: ib_device::lag_flags"] + [::core::mem::offset_of!(ib_device, lag_flags) - 2820usize]; + ["Offset of field: ib_device::subdev_lock"] + [::core::mem::offset_of!(ib_device, subdev_lock) - 2824usize]; + ["Offset of field: ib_device::subdev_list_head"] + [::core::mem::offset_of!(ib_device, subdev_list_head) - 2856usize]; + ["Offset of field: ib_device::type_"][::core::mem::offset_of!(ib_device, type_) - 2872usize]; + ["Offset of field: ib_device::parent"][::core::mem::offset_of!(ib_device, parent) - 2880usize]; + ["Offset of field: ib_device::subdev_list"] + [::core::mem::offset_of!(ib_device, subdev_list) - 2888usize]; + ["Offset of field: ib_device::name_assign_type"] + [::core::mem::offset_of!(ib_device, name_assign_type) - 2904usize]; +}; +impl ib_device { + #[inline] + pub fn is_switch(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u16) } + } + #[inline] + pub fn set_is_switch(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_switch_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_is_switch_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn kverbs_provider(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u16) } + } + #[inline] + pub fn set_kverbs_provider(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn kverbs_provider_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_kverbs_provider_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn use_cq_dim(&self) -> u16_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u16) } + } + #[inline] + pub fn set_use_cq_dim(&mut self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn use_cq_dim_raw(this: *const Self) -> u16_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u16) + } + } + #[inline] + pub unsafe fn set_use_cq_dim_raw(this: *mut Self, val: u16_) { + unsafe { + let val: u16 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_switch: u16_, + kverbs_provider: u16_, + use_cq_dim: u16_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_switch: u16 = unsafe { ::core::mem::transmute(is_switch) }; + is_switch as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let kverbs_provider: u16 = unsafe { ::core::mem::transmute(kverbs_provider) }; + kverbs_provider as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let use_cq_dim: u16 = unsafe { ::core::mem::transmute(use_cq_dim) }; + use_cq_dim as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_device_modify { + pub sys_image_guid: u64_, + pub node_desc: [::core::ffi::c_char; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_device_modify"][::core::mem::size_of::() - 72usize]; + ["Alignment of ib_device_modify"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_device_modify::sys_image_guid"] + [::core::mem::offset_of!(ib_device_modify, sys_image_guid) - 0usize]; + ["Offset of field: ib_device_modify::node_desc"] + [::core::mem::offset_of!(ib_device_modify, node_desc) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_dm { + pub device: *mut ib_device, + pub length: u32_, + pub flags: u32_, + pub uobject: *mut ib_uobject, + pub usecnt: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_dm"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_dm"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_dm::device"][::core::mem::offset_of!(ib_dm, device) - 0usize]; + ["Offset of field: ib_dm::length"][::core::mem::offset_of!(ib_dm, length) - 8usize]; + ["Offset of field: ib_dm::flags"][::core::mem::offset_of!(ib_dm, flags) - 12usize]; + ["Offset of field: ib_dm::uobject"][::core::mem::offset_of!(ib_dm, uobject) - 16usize]; + ["Offset of field: ib_dm::usecnt"][::core::mem::offset_of!(ib_dm, usecnt) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_dm_alloc_attr { + pub length: u64_, + pub alignment: u32_, + pub flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_dm_alloc_attr"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_dm_alloc_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_dm_alloc_attr::length"] + [::core::mem::offset_of!(ib_dm_alloc_attr, length) - 0usize]; + ["Offset of field: ib_dm_alloc_attr::alignment"] + [::core::mem::offset_of!(ib_dm_alloc_attr, alignment) - 8usize]; + ["Offset of field: ib_dm_alloc_attr::flags"] + [::core::mem::offset_of!(ib_dm_alloc_attr, flags) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_dm_mr_attr { + pub length: u64_, + pub offset: u64_, + pub access_flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_dm_mr_attr"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_dm_mr_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_dm_mr_attr::length"] + [::core::mem::offset_of!(ib_dm_mr_attr, length) - 0usize]; + ["Offset of field: ib_dm_mr_attr::offset"] + [::core::mem::offset_of!(ib_dm_mr_attr, offset) - 8usize]; + ["Offset of field: ib_dm_mr_attr::access_flags"] + [::core::mem::offset_of!(ib_dm_mr_attr, access_flags) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_event { + pub device: *mut ib_device, + pub element: ib_event__bindgen_ty_1, + pub event: ib_event_type, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_event__bindgen_ty_1 { + pub cq: *mut ib_cq, + pub qp: *mut ib_qp, + pub srq: *mut ib_srq, + pub wq: *mut ib_wq, + pub port_num: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_event__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of ib_event__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_event__bindgen_ty_1::cq"] + [::core::mem::offset_of!(ib_event__bindgen_ty_1, cq) - 0usize]; + ["Offset of field: ib_event__bindgen_ty_1::qp"] + [::core::mem::offset_of!(ib_event__bindgen_ty_1, qp) - 0usize]; + ["Offset of field: ib_event__bindgen_ty_1::srq"] + [::core::mem::offset_of!(ib_event__bindgen_ty_1, srq) - 0usize]; + ["Offset of field: ib_event__bindgen_ty_1::wq"] + [::core::mem::offset_of!(ib_event__bindgen_ty_1, wq) - 0usize]; + ["Offset of field: ib_event__bindgen_ty_1::port_num"] + [::core::mem::offset_of!(ib_event__bindgen_ty_1, port_num) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_event"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_event"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_event::device"][::core::mem::offset_of!(ib_event, device) - 0usize]; + ["Offset of field: ib_event::element"][::core::mem::offset_of!(ib_event, element) - 8usize]; + ["Offset of field: ib_event::event"][::core::mem::offset_of!(ib_event, event) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow { + pub qp: *mut ib_qp, + pub device: *mut ib_device, + pub uobject: *mut ib_uobject, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_flow"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_flow::qp"][::core::mem::offset_of!(ib_flow, qp) - 0usize]; + ["Offset of field: ib_flow::device"][::core::mem::offset_of!(ib_flow, device) - 8usize]; + ["Offset of field: ib_flow::uobject"][::core::mem::offset_of!(ib_flow, uobject) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_action { + pub device: *mut ib_device, + pub uobject: *mut ib_uobject, + pub type_: ib_flow_action_type, + pub usecnt: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_action"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_flow_action"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_flow_action::device"] + [::core::mem::offset_of!(ib_flow_action, device) - 0usize]; + ["Offset of field: ib_flow_action::uobject"] + [::core::mem::offset_of!(ib_flow_action, uobject) - 8usize]; + ["Offset of field: ib_flow_action::type_"] + [::core::mem::offset_of!(ib_flow_action, type_) - 16usize]; + ["Offset of field: ib_flow_action::usecnt"] + [::core::mem::offset_of!(ib_flow_action, usecnt) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_eth_filter { + pub dst_mac: [u8_; 6usize], + pub src_mac: [u8_; 6usize], + pub ether_type: __be16, + pub vlan_tag: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_eth_filter"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_flow_eth_filter"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ib_flow_eth_filter::dst_mac"] + [::core::mem::offset_of!(ib_flow_eth_filter, dst_mac) - 0usize]; + ["Offset of field: ib_flow_eth_filter::src_mac"] + [::core::mem::offset_of!(ib_flow_eth_filter, src_mac) - 6usize]; + ["Offset of field: ib_flow_eth_filter::ether_type"] + [::core::mem::offset_of!(ib_flow_eth_filter, ether_type) - 12usize]; + ["Offset of field: ib_flow_eth_filter::vlan_tag"] + [::core::mem::offset_of!(ib_flow_eth_filter, vlan_tag) - 14usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_eth { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_eth_filter, + pub mask: ib_flow_eth_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_eth"][::core::mem::size_of::() - 40usize]; + ["Alignment of ib_flow_spec_eth"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_eth::type_"] + [::core::mem::offset_of!(ib_flow_spec_eth, type_) - 0usize]; + ["Offset of field: ib_flow_spec_eth::size"] + [::core::mem::offset_of!(ib_flow_spec_eth, size) - 4usize]; + ["Offset of field: ib_flow_spec_eth::val"] + [::core::mem::offset_of!(ib_flow_spec_eth, val) - 6usize]; + ["Offset of field: ib_flow_spec_eth::mask"] + [::core::mem::offset_of!(ib_flow_spec_eth, mask) - 22usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_ib_filter { + pub dlid: __be16, + pub sl: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_ib_filter"][::core::mem::size_of::() - 4usize]; + ["Alignment of ib_flow_ib_filter"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ib_flow_ib_filter::dlid"] + [::core::mem::offset_of!(ib_flow_ib_filter, dlid) - 0usize]; + ["Offset of field: ib_flow_ib_filter::sl"] + [::core::mem::offset_of!(ib_flow_ib_filter, sl) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_ib { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_ib_filter, + pub mask: ib_flow_ib_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_ib"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_flow_spec_ib"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_ib::type_"] + [::core::mem::offset_of!(ib_flow_spec_ib, type_) - 0usize]; + ["Offset of field: ib_flow_spec_ib::size"] + [::core::mem::offset_of!(ib_flow_spec_ib, size) - 4usize]; + ["Offset of field: ib_flow_spec_ib::val"] + [::core::mem::offset_of!(ib_flow_spec_ib, val) - 6usize]; + ["Offset of field: ib_flow_spec_ib::mask"] + [::core::mem::offset_of!(ib_flow_spec_ib, mask) - 10usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_ipv4_filter { + pub src_ip: __be32, + pub dst_ip: __be32, + pub proto: u8_, + pub tos: u8_, + pub ttl: u8_, + pub flags: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_ipv4_filter"][::core::mem::size_of::() - 12usize]; + ["Alignment of ib_flow_ipv4_filter"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_ipv4_filter::src_ip"] + [::core::mem::offset_of!(ib_flow_ipv4_filter, src_ip) - 0usize]; + ["Offset of field: ib_flow_ipv4_filter::dst_ip"] + [::core::mem::offset_of!(ib_flow_ipv4_filter, dst_ip) - 4usize]; + ["Offset of field: ib_flow_ipv4_filter::proto"] + [::core::mem::offset_of!(ib_flow_ipv4_filter, proto) - 8usize]; + ["Offset of field: ib_flow_ipv4_filter::tos"] + [::core::mem::offset_of!(ib_flow_ipv4_filter, tos) - 9usize]; + ["Offset of field: ib_flow_ipv4_filter::ttl"] + [::core::mem::offset_of!(ib_flow_ipv4_filter, ttl) - 10usize]; + ["Offset of field: ib_flow_ipv4_filter::flags"] + [::core::mem::offset_of!(ib_flow_ipv4_filter, flags) - 11usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_ipv4 { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_ipv4_filter, + pub mask: ib_flow_ipv4_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_ipv4"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_flow_spec_ipv4"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_ipv4::type_"] + [::core::mem::offset_of!(ib_flow_spec_ipv4, type_) - 0usize]; + ["Offset of field: ib_flow_spec_ipv4::size"] + [::core::mem::offset_of!(ib_flow_spec_ipv4, size) - 4usize]; + ["Offset of field: ib_flow_spec_ipv4::val"] + [::core::mem::offset_of!(ib_flow_spec_ipv4, val) - 8usize]; + ["Offset of field: ib_flow_spec_ipv4::mask"] + [::core::mem::offset_of!(ib_flow_spec_ipv4, mask) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_tcp_udp_filter { + pub dst_port: __be16, + pub src_port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_tcp_udp_filter"][::core::mem::size_of::() - 4usize]; + ["Alignment of ib_flow_tcp_udp_filter"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: ib_flow_tcp_udp_filter::dst_port"] + [::core::mem::offset_of!(ib_flow_tcp_udp_filter, dst_port) - 0usize]; + ["Offset of field: ib_flow_tcp_udp_filter::src_port"] + [::core::mem::offset_of!(ib_flow_tcp_udp_filter, src_port) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_tcp_udp { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_tcp_udp_filter, + pub mask: ib_flow_tcp_udp_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_tcp_udp"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_flow_spec_tcp_udp"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_tcp_udp::type_"] + [::core::mem::offset_of!(ib_flow_spec_tcp_udp, type_) - 0usize]; + ["Offset of field: ib_flow_spec_tcp_udp::size"] + [::core::mem::offset_of!(ib_flow_spec_tcp_udp, size) - 4usize]; + ["Offset of field: ib_flow_spec_tcp_udp::val"] + [::core::mem::offset_of!(ib_flow_spec_tcp_udp, val) - 6usize]; + ["Offset of field: ib_flow_spec_tcp_udp::mask"] + [::core::mem::offset_of!(ib_flow_spec_tcp_udp, mask) - 10usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_ipv6_filter { + pub src_ip: [u8_; 16usize], + pub dst_ip: [u8_; 16usize], + pub flow_label: __be32, + pub next_hdr: u8_, + pub traffic_class: u8_, + pub hop_limit: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_ipv6_filter"][::core::mem::size_of::() - 39usize]; + ["Alignment of ib_flow_ipv6_filter"][::core::mem::align_of::() - 1usize]; + ["Offset of field: ib_flow_ipv6_filter::src_ip"] + [::core::mem::offset_of!(ib_flow_ipv6_filter, src_ip) - 0usize]; + ["Offset of field: ib_flow_ipv6_filter::dst_ip"] + [::core::mem::offset_of!(ib_flow_ipv6_filter, dst_ip) - 16usize]; + ["Offset of field: ib_flow_ipv6_filter::flow_label"] + [::core::mem::offset_of!(ib_flow_ipv6_filter, flow_label) - 32usize]; + ["Offset of field: ib_flow_ipv6_filter::next_hdr"] + [::core::mem::offset_of!(ib_flow_ipv6_filter, next_hdr) - 36usize]; + ["Offset of field: ib_flow_ipv6_filter::traffic_class"] + [::core::mem::offset_of!(ib_flow_ipv6_filter, traffic_class) - 37usize]; + ["Offset of field: ib_flow_ipv6_filter::hop_limit"] + [::core::mem::offset_of!(ib_flow_ipv6_filter, hop_limit) - 38usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_ipv6 { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_ipv6_filter, + pub mask: ib_flow_ipv6_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_ipv6"][::core::mem::size_of::() - 84usize]; + ["Alignment of ib_flow_spec_ipv6"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_ipv6::type_"] + [::core::mem::offset_of!(ib_flow_spec_ipv6, type_) - 0usize]; + ["Offset of field: ib_flow_spec_ipv6::size"] + [::core::mem::offset_of!(ib_flow_spec_ipv6, size) - 4usize]; + ["Offset of field: ib_flow_spec_ipv6::val"] + [::core::mem::offset_of!(ib_flow_spec_ipv6, val) - 6usize]; + ["Offset of field: ib_flow_spec_ipv6::mask"] + [::core::mem::offset_of!(ib_flow_spec_ipv6, mask) - 45usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_tunnel_filter { + pub tunnel_id: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_tunnel_filter"][::core::mem::size_of::() - 4usize]; + ["Alignment of ib_flow_tunnel_filter"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_tunnel_filter::tunnel_id"] + [::core::mem::offset_of!(ib_flow_tunnel_filter, tunnel_id) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_tunnel { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_tunnel_filter, + pub mask: ib_flow_tunnel_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_tunnel"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_flow_spec_tunnel"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_tunnel::type_"] + [::core::mem::offset_of!(ib_flow_spec_tunnel, type_) - 0usize]; + ["Offset of field: ib_flow_spec_tunnel::size"] + [::core::mem::offset_of!(ib_flow_spec_tunnel, size) - 4usize]; + ["Offset of field: ib_flow_spec_tunnel::val"] + [::core::mem::offset_of!(ib_flow_spec_tunnel, val) - 8usize]; + ["Offset of field: ib_flow_spec_tunnel::mask"] + [::core::mem::offset_of!(ib_flow_spec_tunnel, mask) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_esp_filter { + pub spi: __be32, + pub seq: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_esp_filter"][::core::mem::size_of::() - 8usize]; + ["Alignment of ib_flow_esp_filter"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_esp_filter::spi"] + [::core::mem::offset_of!(ib_flow_esp_filter, spi) - 0usize]; + ["Offset of field: ib_flow_esp_filter::seq"] + [::core::mem::offset_of!(ib_flow_esp_filter, seq) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_esp { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_esp_filter, + pub mask: ib_flow_esp_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_esp"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_flow_spec_esp"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_esp::type_"] + [::core::mem::offset_of!(ib_flow_spec_esp, type_) - 0usize]; + ["Offset of field: ib_flow_spec_esp::size"] + [::core::mem::offset_of!(ib_flow_spec_esp, size) - 4usize]; + ["Offset of field: ib_flow_spec_esp::val"] + [::core::mem::offset_of!(ib_flow_spec_esp, val) - 8usize]; + ["Offset of field: ib_flow_spec_esp::mask"] + [::core::mem::offset_of!(ib_flow_spec_esp, mask) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_gre_filter { + pub c_ks_res0_ver: __be16, + pub protocol: __be16, + pub key: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_gre_filter"][::core::mem::size_of::() - 8usize]; + ["Alignment of ib_flow_gre_filter"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_gre_filter::c_ks_res0_ver"] + [::core::mem::offset_of!(ib_flow_gre_filter, c_ks_res0_ver) - 0usize]; + ["Offset of field: ib_flow_gre_filter::protocol"] + [::core::mem::offset_of!(ib_flow_gre_filter, protocol) - 2usize]; + ["Offset of field: ib_flow_gre_filter::key"] + [::core::mem::offset_of!(ib_flow_gre_filter, key) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_gre { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_gre_filter, + pub mask: ib_flow_gre_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_gre"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_flow_spec_gre"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_gre::type_"] + [::core::mem::offset_of!(ib_flow_spec_gre, type_) - 0usize]; + ["Offset of field: ib_flow_spec_gre::size"] + [::core::mem::offset_of!(ib_flow_spec_gre, size) - 4usize]; + ["Offset of field: ib_flow_spec_gre::val"] + [::core::mem::offset_of!(ib_flow_spec_gre, val) - 8usize]; + ["Offset of field: ib_flow_spec_gre::mask"] + [::core::mem::offset_of!(ib_flow_spec_gre, mask) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_mpls_filter { + pub tag: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_mpls_filter"][::core::mem::size_of::() - 4usize]; + ["Alignment of ib_flow_mpls_filter"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_mpls_filter::tag"] + [::core::mem::offset_of!(ib_flow_mpls_filter, tag) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_mpls { + pub type_: u32_, + pub size: u16_, + pub val: ib_flow_mpls_filter, + pub mask: ib_flow_mpls_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_mpls"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_flow_spec_mpls"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_mpls::type_"] + [::core::mem::offset_of!(ib_flow_spec_mpls, type_) - 0usize]; + ["Offset of field: ib_flow_spec_mpls::size"] + [::core::mem::offset_of!(ib_flow_spec_mpls, size) - 4usize]; + ["Offset of field: ib_flow_spec_mpls::val"] + [::core::mem::offset_of!(ib_flow_spec_mpls, val) - 8usize]; + ["Offset of field: ib_flow_spec_mpls::mask"] + [::core::mem::offset_of!(ib_flow_spec_mpls, mask) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_action_tag { + pub type_: ib_flow_spec_type, + pub size: u16_, + pub tag_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_action_tag"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of ib_flow_spec_action_tag"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_action_tag::type_"] + [::core::mem::offset_of!(ib_flow_spec_action_tag, type_) - 0usize]; + ["Offset of field: ib_flow_spec_action_tag::size"] + [::core::mem::offset_of!(ib_flow_spec_action_tag, size) - 4usize]; + ["Offset of field: ib_flow_spec_action_tag::tag_id"] + [::core::mem::offset_of!(ib_flow_spec_action_tag, tag_id) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_action_drop { + pub type_: ib_flow_spec_type, + pub size: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_action_drop"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ib_flow_spec_action_drop"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec_action_drop::type_"] + [::core::mem::offset_of!(ib_flow_spec_action_drop, type_) - 0usize]; + ["Offset of field: ib_flow_spec_action_drop::size"] + [::core::mem::offset_of!(ib_flow_spec_action_drop, size) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_action_handle { + pub type_: ib_flow_spec_type, + pub size: u16_, + pub act: *mut ib_flow_action, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_action_handle"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ib_flow_spec_action_handle"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_flow_spec_action_handle::type_"] + [::core::mem::offset_of!(ib_flow_spec_action_handle, type_) - 0usize]; + ["Offset of field: ib_flow_spec_action_handle::size"] + [::core::mem::offset_of!(ib_flow_spec_action_handle, size) - 4usize]; + ["Offset of field: ib_flow_spec_action_handle::act"] + [::core::mem::offset_of!(ib_flow_spec_action_handle, act) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec_action_count { + pub type_: ib_flow_spec_type, + pub size: u16_, + pub counters: *mut ib_counters, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec_action_count"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ib_flow_spec_action_count"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_flow_spec_action_count::type_"] + [::core::mem::offset_of!(ib_flow_spec_action_count, type_) - 0usize]; + ["Offset of field: ib_flow_spec_action_count::size"] + [::core::mem::offset_of!(ib_flow_spec_action_count, size) - 4usize]; + ["Offset of field: ib_flow_spec_action_count::counters"] + [::core::mem::offset_of!(ib_flow_spec_action_count, counters) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_flow_spec { + pub __bindgen_anon_1: ib_flow_spec__bindgen_ty_1, + pub eth: ib_flow_spec_eth, + pub ib: ib_flow_spec_ib, + pub ipv4: ib_flow_spec_ipv4, + pub tcp_udp: ib_flow_spec_tcp_udp, + pub ipv6: ib_flow_spec_ipv6, + pub tunnel: ib_flow_spec_tunnel, + pub esp: ib_flow_spec_esp, + pub gre: ib_flow_spec_gre, + pub mpls: ib_flow_spec_mpls, + pub flow_tag: ib_flow_spec_action_tag, + pub drop: ib_flow_spec_action_drop, + pub action: ib_flow_spec_action_handle, + pub flow_count: ib_flow_spec_action_count, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_flow_spec__bindgen_ty_1 { + pub type_: u32_, + pub size: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ib_flow_spec__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_flow_spec__bindgen_ty_1::type_"] + [::core::mem::offset_of!(ib_flow_spec__bindgen_ty_1, type_) - 0usize]; + ["Offset of field: ib_flow_spec__bindgen_ty_1::size"] + [::core::mem::offset_of!(ib_flow_spec__bindgen_ty_1, size) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_spec"][::core::mem::size_of::() - 88usize]; + ["Alignment of ib_flow_spec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_flow_spec::eth"][::core::mem::offset_of!(ib_flow_spec, eth) - 0usize]; + ["Offset of field: ib_flow_spec::ib"][::core::mem::offset_of!(ib_flow_spec, ib) - 0usize]; + ["Offset of field: ib_flow_spec::ipv4"][::core::mem::offset_of!(ib_flow_spec, ipv4) - 0usize]; + ["Offset of field: ib_flow_spec::tcp_udp"] + [::core::mem::offset_of!(ib_flow_spec, tcp_udp) - 0usize]; + ["Offset of field: ib_flow_spec::ipv6"][::core::mem::offset_of!(ib_flow_spec, ipv6) - 0usize]; + ["Offset of field: ib_flow_spec::tunnel"] + [::core::mem::offset_of!(ib_flow_spec, tunnel) - 0usize]; + ["Offset of field: ib_flow_spec::esp"][::core::mem::offset_of!(ib_flow_spec, esp) - 0usize]; + ["Offset of field: ib_flow_spec::gre"][::core::mem::offset_of!(ib_flow_spec, gre) - 0usize]; + ["Offset of field: ib_flow_spec::mpls"][::core::mem::offset_of!(ib_flow_spec, mpls) - 0usize]; + ["Offset of field: ib_flow_spec::flow_tag"] + [::core::mem::offset_of!(ib_flow_spec, flow_tag) - 0usize]; + ["Offset of field: ib_flow_spec::drop"][::core::mem::offset_of!(ib_flow_spec, drop) - 0usize]; + ["Offset of field: ib_flow_spec::action"] + [::core::mem::offset_of!(ib_flow_spec, action) - 0usize]; + ["Offset of field: ib_flow_spec::flow_count"] + [::core::mem::offset_of!(ib_flow_spec, flow_count) - 0usize]; +}; +#[repr(C)] +pub struct ib_flow_attr { + pub type_: ib_flow_attr_type, + pub size: u16_, + pub priority: u16_, + pub flags: u32_, + pub num_of_specs: u8_, + pub port: u32_, + pub flows: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_flow_attr"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_flow_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_flow_attr::type_"][::core::mem::offset_of!(ib_flow_attr, type_) - 0usize]; + ["Offset of field: ib_flow_attr::size"][::core::mem::offset_of!(ib_flow_attr, size) - 4usize]; + ["Offset of field: ib_flow_attr::priority"] + [::core::mem::offset_of!(ib_flow_attr, priority) - 6usize]; + ["Offset of field: ib_flow_attr::flags"][::core::mem::offset_of!(ib_flow_attr, flags) - 8usize]; + ["Offset of field: ib_flow_attr::num_of_specs"] + [::core::mem::offset_of!(ib_flow_attr, num_of_specs) - 12usize]; + ["Offset of field: ib_flow_attr::port"][::core::mem::offset_of!(ib_flow_attr, port) - 16usize]; + ["Offset of field: ib_flow_attr::flows"] + [::core::mem::offset_of!(ib_flow_attr, flows) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_gid { + pub raw: [u8_; 16usize], + pub global: ib_gid__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_gid__bindgen_ty_1 { + pub subnet_prefix: __be64, + pub interface_id: __be64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_gid__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_gid__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_gid__bindgen_ty_1::subnet_prefix"] + [::core::mem::offset_of!(ib_gid__bindgen_ty_1, subnet_prefix) - 0usize]; + ["Offset of field: ib_gid__bindgen_ty_1::interface_id"] + [::core::mem::offset_of!(ib_gid__bindgen_ty_1, interface_id) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_gid"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_gid"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_gid::raw"][::core::mem::offset_of!(ib_gid, raw) - 0usize]; + ["Offset of field: ib_gid::global"][::core::mem::offset_of!(ib_gid, global) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_gid_attr { + pub ndev: *mut net_device, + pub device: *mut ib_device, + pub gid: ib_gid, + pub gid_type: ib_gid_type, + pub index: u16_, + pub port_num: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_gid_attr"][::core::mem::size_of::() - 48usize]; + ["Alignment of ib_gid_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_gid_attr::ndev"][::core::mem::offset_of!(ib_gid_attr, ndev) - 0usize]; + ["Offset of field: ib_gid_attr::device"][::core::mem::offset_of!(ib_gid_attr, device) - 8usize]; + ["Offset of field: ib_gid_attr::gid"][::core::mem::offset_of!(ib_gid_attr, gid) - 16usize]; + ["Offset of field: ib_gid_attr::gid_type"] + [::core::mem::offset_of!(ib_gid_attr, gid_type) - 32usize]; + ["Offset of field: ib_gid_attr::index"][::core::mem::offset_of!(ib_gid_attr, index) - 36usize]; + ["Offset of field: ib_gid_attr::port_num"] + [::core::mem::offset_of!(ib_gid_attr, port_num) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_global_route { + pub sgid_attr: *const ib_gid_attr, + pub dgid: ib_gid, + pub flow_label: u32_, + pub sgid_index: u8_, + pub hop_limit: u8_, + pub traffic_class: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_global_route"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_global_route"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_global_route::sgid_attr"] + [::core::mem::offset_of!(ib_global_route, sgid_attr) - 0usize]; + ["Offset of field: ib_global_route::dgid"] + [::core::mem::offset_of!(ib_global_route, dgid) - 8usize]; + ["Offset of field: ib_global_route::flow_label"] + [::core::mem::offset_of!(ib_global_route, flow_label) - 24usize]; + ["Offset of field: ib_global_route::sgid_index"] + [::core::mem::offset_of!(ib_global_route, sgid_index) - 28usize]; + ["Offset of field: ib_global_route::hop_limit"] + [::core::mem::offset_of!(ib_global_route, hop_limit) - 29usize]; + ["Offset of field: ib_global_route::traffic_class"] + [::core::mem::offset_of!(ib_global_route, traffic_class) - 30usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_grh { + pub version_tclass_flow: __be32, + pub paylen: __be16, + pub next_hdr: u8_, + pub hop_limit: u8_, + pub sgid: ib_gid, + pub dgid: ib_gid, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_grh"][::core::mem::size_of::() - 40usize]; + ["Alignment of ib_grh"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_grh::version_tclass_flow"] + [::core::mem::offset_of!(ib_grh, version_tclass_flow) - 0usize]; + ["Offset of field: ib_grh::paylen"][::core::mem::offset_of!(ib_grh, paylen) - 4usize]; + ["Offset of field: ib_grh::next_hdr"][::core::mem::offset_of!(ib_grh, next_hdr) - 6usize]; + ["Offset of field: ib_grh::hop_limit"][::core::mem::offset_of!(ib_grh, hop_limit) - 7usize]; + ["Offset of field: ib_grh::sgid"][::core::mem::offset_of!(ib_grh, sgid) - 8usize]; + ["Offset of field: ib_grh::dgid"][::core::mem::offset_of!(ib_grh, dgid) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_mr { + pub device: *mut ib_device, + pub pd: *mut ib_pd, + pub lkey: u32_, + pub rkey: u32_, + pub iova: u64_, + pub length: u64_, + pub page_size: ::core::ffi::c_uint, + pub type_: ib_mr_type, + pub need_inval: bool_, + pub __bindgen_anon_1: ib_mr__bindgen_ty_1, + pub dm: *mut ib_dm, + pub sig_attrs: *mut ib_sig_attrs, + pub res: rdma_restrack_entry, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_mr__bindgen_ty_1 { + pub uobject: *mut ib_uobject, + pub qp_entry: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_mr__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_mr__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_mr__bindgen_ty_1::uobject"] + [::core::mem::offset_of!(ib_mr__bindgen_ty_1, uobject) - 0usize]; + ["Offset of field: ib_mr__bindgen_ty_1::qp_entry"] + [::core::mem::offset_of!(ib_mr__bindgen_ty_1, qp_entry) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_mr"][::core::mem::size_of::() - 160usize]; + ["Alignment of ib_mr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_mr::device"][::core::mem::offset_of!(ib_mr, device) - 0usize]; + ["Offset of field: ib_mr::pd"][::core::mem::offset_of!(ib_mr, pd) - 8usize]; + ["Offset of field: ib_mr::lkey"][::core::mem::offset_of!(ib_mr, lkey) - 16usize]; + ["Offset of field: ib_mr::rkey"][::core::mem::offset_of!(ib_mr, rkey) - 20usize]; + ["Offset of field: ib_mr::iova"][::core::mem::offset_of!(ib_mr, iova) - 24usize]; + ["Offset of field: ib_mr::length"][::core::mem::offset_of!(ib_mr, length) - 32usize]; + ["Offset of field: ib_mr::page_size"][::core::mem::offset_of!(ib_mr, page_size) - 40usize]; + ["Offset of field: ib_mr::type_"][::core::mem::offset_of!(ib_mr, type_) - 44usize]; + ["Offset of field: ib_mr::need_inval"][::core::mem::offset_of!(ib_mr, need_inval) - 48usize]; + ["Offset of field: ib_mr::dm"][::core::mem::offset_of!(ib_mr, dm) - 72usize]; + ["Offset of field: ib_mr::sig_attrs"][::core::mem::offset_of!(ib_mr, sig_attrs) - 80usize]; + ["Offset of field: ib_mr::res"][::core::mem::offset_of!(ib_mr, res) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_sig_err { + pub err_type: ib_sig_err_type, + pub expected: u32_, + pub actual: u32_, + pub sig_err_offset: u64_, + pub key: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_sig_err"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_sig_err"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_sig_err::err_type"] + [::core::mem::offset_of!(ib_sig_err, err_type) - 0usize]; + ["Offset of field: ib_sig_err::expected"] + [::core::mem::offset_of!(ib_sig_err, expected) - 4usize]; + ["Offset of field: ib_sig_err::actual"][::core::mem::offset_of!(ib_sig_err, actual) - 8usize]; + ["Offset of field: ib_sig_err::sig_err_offset"] + [::core::mem::offset_of!(ib_sig_err, sig_err_offset) - 16usize]; + ["Offset of field: ib_sig_err::key"][::core::mem::offset_of!(ib_sig_err, key) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_mr_status { + pub fail_status: u32_, + pub sig_err: ib_sig_err, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_mr_status"][::core::mem::size_of::() - 40usize]; + ["Alignment of ib_mr_status"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_mr_status::fail_status"] + [::core::mem::offset_of!(ib_mr_status, fail_status) - 0usize]; + ["Offset of field: ib_mr_status::sig_err"] + [::core::mem::offset_of!(ib_mr_status, sig_err) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_mw { + pub device: *mut ib_device, + pub pd: *mut ib_pd, + pub uobject: *mut ib_uobject, + pub rkey: u32_, + pub type_: ib_mw_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_mw"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_mw"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_mw::device"][::core::mem::offset_of!(ib_mw, device) - 0usize]; + ["Offset of field: ib_mw::pd"][::core::mem::offset_of!(ib_mw, pd) - 8usize]; + ["Offset of field: ib_mw::uobject"][::core::mem::offset_of!(ib_mw, uobject) - 16usize]; + ["Offset of field: ib_mw::rkey"][::core::mem::offset_of!(ib_mw, rkey) - 24usize]; + ["Offset of field: ib_mw::type_"][::core::mem::offset_of!(ib_mw, type_) - 28usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_pd { + pub local_dma_lkey: u32_, + pub flags: u32_, + pub device: *mut ib_device, + pub uobject: *mut ib_uobject, + pub usecnt: atomic_t, + pub unsafe_global_rkey: u32_, + pub __internal_mr: *mut ib_mr, + pub res: rdma_restrack_entry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_pd"][::core::mem::size_of::() - 112usize]; + ["Alignment of ib_pd"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_pd::local_dma_lkey"] + [::core::mem::offset_of!(ib_pd, local_dma_lkey) - 0usize]; + ["Offset of field: ib_pd::flags"][::core::mem::offset_of!(ib_pd, flags) - 4usize]; + ["Offset of field: ib_pd::device"][::core::mem::offset_of!(ib_pd, device) - 8usize]; + ["Offset of field: ib_pd::uobject"][::core::mem::offset_of!(ib_pd, uobject) - 16usize]; + ["Offset of field: ib_pd::usecnt"][::core::mem::offset_of!(ib_pd, usecnt) - 24usize]; + ["Offset of field: ib_pd::unsafe_global_rkey"] + [::core::mem::offset_of!(ib_pd, unsafe_global_rkey) - 28usize]; + ["Offset of field: ib_pd::__internal_mr"] + [::core::mem::offset_of!(ib_pd, __internal_mr) - 32usize]; + ["Offset of field: ib_pd::res"][::core::mem::offset_of!(ib_pd, res) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_port_attr { + pub subnet_prefix: u64_, + pub state: ib_port_state, + pub max_mtu: ib_mtu, + pub active_mtu: ib_mtu, + pub phys_mtu: u32_, + pub gid_tbl_len: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub port_cap_flags: u32_, + pub max_msg_sz: u32_, + pub bad_pkey_cntr: u32_, + pub qkey_viol_cntr: u32_, + pub pkey_tbl_len: u16_, + pub sm_lid: u32_, + pub lid: u32_, + pub lmc: u8_, + pub max_vl_num: u8_, + pub sm_sl: u8_, + pub subnet_timeout: u8_, + pub init_type_reply: u8_, + pub active_width: u8_, + pub active_speed: u16_, + pub phys_state: u8_, + pub port_cap_flags2: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_port_attr"][::core::mem::size_of::() - 72usize]; + ["Alignment of ib_port_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_port_attr::subnet_prefix"] + [::core::mem::offset_of!(ib_port_attr, subnet_prefix) - 0usize]; + ["Offset of field: ib_port_attr::state"][::core::mem::offset_of!(ib_port_attr, state) - 8usize]; + ["Offset of field: ib_port_attr::max_mtu"] + [::core::mem::offset_of!(ib_port_attr, max_mtu) - 12usize]; + ["Offset of field: ib_port_attr::active_mtu"] + [::core::mem::offset_of!(ib_port_attr, active_mtu) - 16usize]; + ["Offset of field: ib_port_attr::phys_mtu"] + [::core::mem::offset_of!(ib_port_attr, phys_mtu) - 20usize]; + ["Offset of field: ib_port_attr::gid_tbl_len"] + [::core::mem::offset_of!(ib_port_attr, gid_tbl_len) - 24usize]; + ["Offset of field: ib_port_attr::port_cap_flags"] + [::core::mem::offset_of!(ib_port_attr, port_cap_flags) - 32usize]; + ["Offset of field: ib_port_attr::max_msg_sz"] + [::core::mem::offset_of!(ib_port_attr, max_msg_sz) - 36usize]; + ["Offset of field: ib_port_attr::bad_pkey_cntr"] + [::core::mem::offset_of!(ib_port_attr, bad_pkey_cntr) - 40usize]; + ["Offset of field: ib_port_attr::qkey_viol_cntr"] + [::core::mem::offset_of!(ib_port_attr, qkey_viol_cntr) - 44usize]; + ["Offset of field: ib_port_attr::pkey_tbl_len"] + [::core::mem::offset_of!(ib_port_attr, pkey_tbl_len) - 48usize]; + ["Offset of field: ib_port_attr::sm_lid"] + [::core::mem::offset_of!(ib_port_attr, sm_lid) - 52usize]; + ["Offset of field: ib_port_attr::lid"][::core::mem::offset_of!(ib_port_attr, lid) - 56usize]; + ["Offset of field: ib_port_attr::lmc"][::core::mem::offset_of!(ib_port_attr, lmc) - 60usize]; + ["Offset of field: ib_port_attr::max_vl_num"] + [::core::mem::offset_of!(ib_port_attr, max_vl_num) - 61usize]; + ["Offset of field: ib_port_attr::sm_sl"] + [::core::mem::offset_of!(ib_port_attr, sm_sl) - 62usize]; + ["Offset of field: ib_port_attr::subnet_timeout"] + [::core::mem::offset_of!(ib_port_attr, subnet_timeout) - 63usize]; + ["Offset of field: ib_port_attr::init_type_reply"] + [::core::mem::offset_of!(ib_port_attr, init_type_reply) - 64usize]; + ["Offset of field: ib_port_attr::active_width"] + [::core::mem::offset_of!(ib_port_attr, active_width) - 65usize]; + ["Offset of field: ib_port_attr::active_speed"] + [::core::mem::offset_of!(ib_port_attr, active_speed) - 66usize]; + ["Offset of field: ib_port_attr::phys_state"] + [::core::mem::offset_of!(ib_port_attr, phys_state) - 68usize]; + ["Offset of field: ib_port_attr::port_cap_flags2"] + [::core::mem::offset_of!(ib_port_attr, port_cap_flags2) - 70usize]; +}; +impl ib_port_attr { + #[inline] + pub fn ip_gids(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_ip_gids(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ip_gids_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_ip_gids_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(ip_gids: ::core::ffi::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ip_gids: u32 = unsafe { ::core::mem::transmute(ip_gids) }; + ip_gids as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_pkey_cache { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_gid_table { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_port_cache { + pub subnet_prefix: u64_, + pub pkey: *mut ib_pkey_cache, + pub gid: *mut ib_gid_table, + pub lmc: u8_, + pub port_state: ib_port_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_port_cache"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_port_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_port_cache::subnet_prefix"] + [::core::mem::offset_of!(ib_port_cache, subnet_prefix) - 0usize]; + ["Offset of field: ib_port_cache::pkey"][::core::mem::offset_of!(ib_port_cache, pkey) - 8usize]; + ["Offset of field: ib_port_cache::gid"][::core::mem::offset_of!(ib_port_cache, gid) - 16usize]; + ["Offset of field: ib_port_cache::lmc"][::core::mem::offset_of!(ib_port_cache, lmc) - 24usize]; + ["Offset of field: ib_port_cache::port_state"] + [::core::mem::offset_of!(ib_port_cache, port_state) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_port_immutable { + pub pkey_tbl_len: ::core::ffi::c_int, + pub gid_tbl_len: ::core::ffi::c_int, + pub core_cap_flags: u32_, + pub max_mad_size: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_port_immutable"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_port_immutable"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_port_immutable::pkey_tbl_len"] + [::core::mem::offset_of!(ib_port_immutable, pkey_tbl_len) - 0usize]; + ["Offset of field: ib_port_immutable::gid_tbl_len"] + [::core::mem::offset_of!(ib_port_immutable, gid_tbl_len) - 4usize]; + ["Offset of field: ib_port_immutable::core_cap_flags"] + [::core::mem::offset_of!(ib_port_immutable, core_cap_flags) - 8usize]; + ["Offset of field: ib_port_immutable::max_mad_size"] + [::core::mem::offset_of!(ib_port_immutable, max_mad_size) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_counter_mode { + pub mode: rdma_nl_counter_mode, + pub mask: rdma_nl_counter_mask, + pub param: auto_mode_param, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_counter_mode"][::core::mem::size_of::() - 12usize]; + ["Alignment of rdma_counter_mode"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rdma_counter_mode::mode"] + [::core::mem::offset_of!(rdma_counter_mode, mode) - 0usize]; + ["Offset of field: rdma_counter_mode::mask"] + [::core::mem::offset_of!(rdma_counter_mode, mask) - 4usize]; + ["Offset of field: rdma_counter_mode::param"] + [::core::mem::offset_of!(rdma_counter_mode, param) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rdma_port_counter { + pub mode: rdma_counter_mode, + pub hstats: *mut rdma_hw_stats, + pub num_counters: ::core::ffi::c_uint, + pub lock: mutex, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_port_counter"][::core::mem::size_of::() - 64usize]; + ["Alignment of rdma_port_counter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_port_counter::mode"] + [::core::mem::offset_of!(rdma_port_counter, mode) - 0usize]; + ["Offset of field: rdma_port_counter::hstats"] + [::core::mem::offset_of!(rdma_port_counter, hstats) - 16usize]; + ["Offset of field: rdma_port_counter::num_counters"] + [::core::mem::offset_of!(rdma_port_counter, num_counters) - 24usize]; + ["Offset of field: rdma_port_counter::lock"] + [::core::mem::offset_of!(rdma_port_counter, lock) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_port { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_port_data { + pub ib_dev: *mut ib_device, + pub immutable: ib_port_immutable, + pub pkey_list_lock: spinlock_t, + pub netdev_lock: spinlock_t, + pub pkey_list: list_head, + pub cache: ib_port_cache, + pub netdev: *mut net_device, + pub netdev_tracker: netdevice_tracker, + pub ndev_hash_link: hlist_node, + pub port_counter: rdma_port_counter, + pub sysfs: *mut ib_port, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_port_data"][::core::mem::size_of::() - 176usize]; + ["Alignment of ib_port_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_port_data::ib_dev"] + [::core::mem::offset_of!(ib_port_data, ib_dev) - 0usize]; + ["Offset of field: ib_port_data::immutable"] + [::core::mem::offset_of!(ib_port_data, immutable) - 8usize]; + ["Offset of field: ib_port_data::pkey_list_lock"] + [::core::mem::offset_of!(ib_port_data, pkey_list_lock) - 24usize]; + ["Offset of field: ib_port_data::netdev_lock"] + [::core::mem::offset_of!(ib_port_data, netdev_lock) - 28usize]; + ["Offset of field: ib_port_data::pkey_list"] + [::core::mem::offset_of!(ib_port_data, pkey_list) - 32usize]; + ["Offset of field: ib_port_data::cache"] + [::core::mem::offset_of!(ib_port_data, cache) - 48usize]; + ["Offset of field: ib_port_data::netdev"] + [::core::mem::offset_of!(ib_port_data, netdev) - 80usize]; + ["Offset of field: ib_port_data::netdev_tracker"] + [::core::mem::offset_of!(ib_port_data, netdev_tracker) - 88usize]; + ["Offset of field: ib_port_data::ndev_hash_link"] + [::core::mem::offset_of!(ib_port_data, ndev_hash_link) - 88usize]; + ["Offset of field: ib_port_data::port_counter"] + [::core::mem::offset_of!(ib_port_data, port_counter) - 104usize]; + ["Offset of field: ib_port_data::sysfs"] + [::core::mem::offset_of!(ib_port_data, sysfs) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_port_modify { + pub set_port_cap_mask: u32_, + pub clr_port_cap_mask: u32_, + pub init_type: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_port_modify"][::core::mem::size_of::() - 12usize]; + ["Alignment of ib_port_modify"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_port_modify::set_port_cap_mask"] + [::core::mem::offset_of!(ib_port_modify, set_port_cap_mask) - 0usize]; + ["Offset of field: ib_port_modify::clr_port_cap_mask"] + [::core::mem::offset_of!(ib_port_modify, clr_port_cap_mask) - 4usize]; + ["Offset of field: ib_port_modify::init_type"] + [::core::mem::offset_of!(ib_port_modify, init_type) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_port_pkey { + pub state: port_pkey_state, + pub pkey_index: u16_, + pub port_num: u32_, + pub qp_list: list_head, + pub to_error_list: list_head, + pub sec: *mut ib_qp_security, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_port_pkey"][::core::mem::size_of::() - 56usize]; + ["Alignment of ib_port_pkey"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_port_pkey::state"][::core::mem::offset_of!(ib_port_pkey, state) - 0usize]; + ["Offset of field: ib_port_pkey::pkey_index"] + [::core::mem::offset_of!(ib_port_pkey, pkey_index) - 4usize]; + ["Offset of field: ib_port_pkey::port_num"] + [::core::mem::offset_of!(ib_port_pkey, port_num) - 8usize]; + ["Offset of field: ib_port_pkey::qp_list"] + [::core::mem::offset_of!(ib_port_pkey, qp_list) - 16usize]; + ["Offset of field: ib_port_pkey::to_error_list"] + [::core::mem::offset_of!(ib_port_pkey, to_error_list) - 32usize]; + ["Offset of field: ib_port_pkey::sec"][::core::mem::offset_of!(ib_port_pkey, sec) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_ports_pkeys { + pub main: ib_port_pkey, + pub alt: ib_port_pkey, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_ports_pkeys"][::core::mem::size_of::() - 112usize]; + ["Alignment of ib_ports_pkeys"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_ports_pkeys::main"] + [::core::mem::offset_of!(ib_ports_pkeys, main) - 0usize]; + ["Offset of field: ib_ports_pkeys::alt"] + [::core::mem::offset_of!(ib_ports_pkeys, alt) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_uqp_object { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_qp { + pub device: *mut ib_device, + pub pd: *mut ib_pd, + pub send_cq: *mut ib_cq, + pub recv_cq: *mut ib_cq, + pub mr_lock: spinlock_t, + pub mrs_used: ::core::ffi::c_int, + pub rdma_mrs: list_head, + pub sig_mrs: list_head, + pub srq: *mut ib_srq, + pub srq_completion: completion, + pub xrcd: *mut ib_xrcd, + pub xrcd_list: list_head, + pub usecnt: atomic_t, + pub open_list: list_head, + pub real_qp: *mut ib_qp, + pub uobject: *mut ib_uqp_object, + pub event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub registered_event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub qp_context: *mut ::core::ffi::c_void, + pub av_sgid_attr: *const ib_gid_attr, + pub alt_path_sgid_attr: *const ib_gid_attr, + pub qp_num: u32_, + pub max_write_sge: u32_, + pub max_read_sge: u32_, + pub qp_type: ib_qp_type, + pub rwq_ind_tbl: *mut ib_rwq_ind_table, + pub qp_sec: *mut ib_qp_security, + pub port: u32_, + pub integrity_en: bool_, + pub res: rdma_restrack_entry, + pub counter: *mut rdma_counter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_qp"][::core::mem::size_of::() - 336usize]; + ["Alignment of ib_qp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_qp::device"][::core::mem::offset_of!(ib_qp, device) - 0usize]; + ["Offset of field: ib_qp::pd"][::core::mem::offset_of!(ib_qp, pd) - 8usize]; + ["Offset of field: ib_qp::send_cq"][::core::mem::offset_of!(ib_qp, send_cq) - 16usize]; + ["Offset of field: ib_qp::recv_cq"][::core::mem::offset_of!(ib_qp, recv_cq) - 24usize]; + ["Offset of field: ib_qp::mr_lock"][::core::mem::offset_of!(ib_qp, mr_lock) - 32usize]; + ["Offset of field: ib_qp::mrs_used"][::core::mem::offset_of!(ib_qp, mrs_used) - 36usize]; + ["Offset of field: ib_qp::rdma_mrs"][::core::mem::offset_of!(ib_qp, rdma_mrs) - 40usize]; + ["Offset of field: ib_qp::sig_mrs"][::core::mem::offset_of!(ib_qp, sig_mrs) - 56usize]; + ["Offset of field: ib_qp::srq"][::core::mem::offset_of!(ib_qp, srq) - 72usize]; + ["Offset of field: ib_qp::srq_completion"] + [::core::mem::offset_of!(ib_qp, srq_completion) - 80usize]; + ["Offset of field: ib_qp::xrcd"][::core::mem::offset_of!(ib_qp, xrcd) - 112usize]; + ["Offset of field: ib_qp::xrcd_list"][::core::mem::offset_of!(ib_qp, xrcd_list) - 120usize]; + ["Offset of field: ib_qp::usecnt"][::core::mem::offset_of!(ib_qp, usecnt) - 136usize]; + ["Offset of field: ib_qp::open_list"][::core::mem::offset_of!(ib_qp, open_list) - 144usize]; + ["Offset of field: ib_qp::real_qp"][::core::mem::offset_of!(ib_qp, real_qp) - 160usize]; + ["Offset of field: ib_qp::uobject"][::core::mem::offset_of!(ib_qp, uobject) - 168usize]; + ["Offset of field: ib_qp::event_handler"] + [::core::mem::offset_of!(ib_qp, event_handler) - 176usize]; + ["Offset of field: ib_qp::registered_event_handler"] + [::core::mem::offset_of!(ib_qp, registered_event_handler) - 184usize]; + ["Offset of field: ib_qp::qp_context"][::core::mem::offset_of!(ib_qp, qp_context) - 192usize]; + ["Offset of field: ib_qp::av_sgid_attr"] + [::core::mem::offset_of!(ib_qp, av_sgid_attr) - 200usize]; + ["Offset of field: ib_qp::alt_path_sgid_attr"] + [::core::mem::offset_of!(ib_qp, alt_path_sgid_attr) - 208usize]; + ["Offset of field: ib_qp::qp_num"][::core::mem::offset_of!(ib_qp, qp_num) - 216usize]; + ["Offset of field: ib_qp::max_write_sge"] + [::core::mem::offset_of!(ib_qp, max_write_sge) - 220usize]; + ["Offset of field: ib_qp::max_read_sge"] + [::core::mem::offset_of!(ib_qp, max_read_sge) - 224usize]; + ["Offset of field: ib_qp::qp_type"][::core::mem::offset_of!(ib_qp, qp_type) - 228usize]; + ["Offset of field: ib_qp::rwq_ind_tbl"][::core::mem::offset_of!(ib_qp, rwq_ind_tbl) - 232usize]; + ["Offset of field: ib_qp::qp_sec"][::core::mem::offset_of!(ib_qp, qp_sec) - 240usize]; + ["Offset of field: ib_qp::port"][::core::mem::offset_of!(ib_qp, port) - 248usize]; + ["Offset of field: ib_qp::integrity_en"] + [::core::mem::offset_of!(ib_qp, integrity_en) - 252usize]; + ["Offset of field: ib_qp::res"][::core::mem::offset_of!(ib_qp, res) - 256usize]; + ["Offset of field: ib_qp::counter"][::core::mem::offset_of!(ib_qp, counter) - 328usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_qp_cap { + pub max_send_wr: u32_, + pub max_recv_wr: u32_, + pub max_send_sge: u32_, + pub max_recv_sge: u32_, + pub max_inline_data: u32_, + pub max_rdma_ctxs: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_qp_cap"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_qp_cap"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_qp_cap::max_send_wr"] + [::core::mem::offset_of!(ib_qp_cap, max_send_wr) - 0usize]; + ["Offset of field: ib_qp_cap::max_recv_wr"] + [::core::mem::offset_of!(ib_qp_cap, max_recv_wr) - 4usize]; + ["Offset of field: ib_qp_cap::max_send_sge"] + [::core::mem::offset_of!(ib_qp_cap, max_send_sge) - 8usize]; + ["Offset of field: ib_qp_cap::max_recv_sge"] + [::core::mem::offset_of!(ib_qp_cap, max_recv_sge) - 12usize]; + ["Offset of field: ib_qp_cap::max_inline_data"] + [::core::mem::offset_of!(ib_qp_cap, max_inline_data) - 16usize]; + ["Offset of field: ib_qp_cap::max_rdma_ctxs"] + [::core::mem::offset_of!(ib_qp_cap, max_rdma_ctxs) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct roce_ah_attr { + pub dmac: [u8_; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of roce_ah_attr"][::core::mem::size_of::() - 6usize]; + ["Alignment of roce_ah_attr"][::core::mem::align_of::() - 1usize]; + ["Offset of field: roce_ah_attr::dmac"][::core::mem::offset_of!(roce_ah_attr, dmac) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct opa_ah_attr { + pub dlid: u32_, + pub src_path_bits: u8_, + pub make_grd: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of opa_ah_attr"][::core::mem::size_of::() - 8usize]; + ["Alignment of opa_ah_attr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: opa_ah_attr::dlid"][::core::mem::offset_of!(opa_ah_attr, dlid) - 0usize]; + ["Offset of field: opa_ah_attr::src_path_bits"] + [::core::mem::offset_of!(opa_ah_attr, src_path_bits) - 4usize]; + ["Offset of field: opa_ah_attr::make_grd"] + [::core::mem::offset_of!(opa_ah_attr, make_grd) - 5usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rdma_ah_attr { + pub grh: ib_global_route, + pub sl: u8_, + pub static_rate: u8_, + pub port_num: u32_, + pub ah_flags: u8_, + pub type_: rdma_ah_attr_type, + pub __bindgen_anon_1: rdma_ah_attr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union rdma_ah_attr__bindgen_ty_1 { + pub ib: ib_ah_attr, + pub roce: roce_ah_attr, + pub opa: opa_ah_attr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_ah_attr__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of rdma_ah_attr__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: rdma_ah_attr__bindgen_ty_1::ib"] + [::core::mem::offset_of!(rdma_ah_attr__bindgen_ty_1, ib) - 0usize]; + ["Offset of field: rdma_ah_attr__bindgen_ty_1::roce"] + [::core::mem::offset_of!(rdma_ah_attr__bindgen_ty_1, roce) - 0usize]; + ["Offset of field: rdma_ah_attr__bindgen_ty_1::opa"] + [::core::mem::offset_of!(rdma_ah_attr__bindgen_ty_1, opa) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_ah_attr"][::core::mem::size_of::() - 56usize]; + ["Alignment of rdma_ah_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_ah_attr::grh"][::core::mem::offset_of!(rdma_ah_attr, grh) - 0usize]; + ["Offset of field: rdma_ah_attr::sl"][::core::mem::offset_of!(rdma_ah_attr, sl) - 32usize]; + ["Offset of field: rdma_ah_attr::static_rate"] + [::core::mem::offset_of!(rdma_ah_attr, static_rate) - 33usize]; + ["Offset of field: rdma_ah_attr::port_num"] + [::core::mem::offset_of!(rdma_ah_attr, port_num) - 36usize]; + ["Offset of field: rdma_ah_attr::ah_flags"] + [::core::mem::offset_of!(rdma_ah_attr, ah_flags) - 40usize]; + ["Offset of field: rdma_ah_attr::type_"] + [::core::mem::offset_of!(rdma_ah_attr, type_) - 44usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_qp_attr { + pub qp_state: ib_qp_state, + pub cur_qp_state: ib_qp_state, + pub path_mtu: ib_mtu, + pub path_mig_state: ib_mig_state, + pub qkey: u32_, + pub rq_psn: u32_, + pub sq_psn: u32_, + pub dest_qp_num: u32_, + pub qp_access_flags: ::core::ffi::c_int, + pub cap: ib_qp_cap, + pub ah_attr: rdma_ah_attr, + pub alt_ah_attr: rdma_ah_attr, + pub pkey_index: u16_, + pub alt_pkey_index: u16_, + pub en_sqd_async_notify: u8_, + pub sq_draining: u8_, + pub max_rd_atomic: u8_, + pub max_dest_rd_atomic: u8_, + pub min_rnr_timer: u8_, + pub port_num: u32_, + pub timeout: u8_, + pub retry_cnt: u8_, + pub rnr_retry: u8_, + pub alt_port_num: u32_, + pub alt_timeout: u8_, + pub rate_limit: u32_, + pub xmit_slave: *mut net_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_qp_attr"][::core::mem::size_of::() - 216usize]; + ["Alignment of ib_qp_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_qp_attr::qp_state"] + [::core::mem::offset_of!(ib_qp_attr, qp_state) - 0usize]; + ["Offset of field: ib_qp_attr::cur_qp_state"] + [::core::mem::offset_of!(ib_qp_attr, cur_qp_state) - 4usize]; + ["Offset of field: ib_qp_attr::path_mtu"] + [::core::mem::offset_of!(ib_qp_attr, path_mtu) - 8usize]; + ["Offset of field: ib_qp_attr::path_mig_state"] + [::core::mem::offset_of!(ib_qp_attr, path_mig_state) - 12usize]; + ["Offset of field: ib_qp_attr::qkey"][::core::mem::offset_of!(ib_qp_attr, qkey) - 16usize]; + ["Offset of field: ib_qp_attr::rq_psn"][::core::mem::offset_of!(ib_qp_attr, rq_psn) - 20usize]; + ["Offset of field: ib_qp_attr::sq_psn"][::core::mem::offset_of!(ib_qp_attr, sq_psn) - 24usize]; + ["Offset of field: ib_qp_attr::dest_qp_num"] + [::core::mem::offset_of!(ib_qp_attr, dest_qp_num) - 28usize]; + ["Offset of field: ib_qp_attr::qp_access_flags"] + [::core::mem::offset_of!(ib_qp_attr, qp_access_flags) - 32usize]; + ["Offset of field: ib_qp_attr::cap"][::core::mem::offset_of!(ib_qp_attr, cap) - 36usize]; + ["Offset of field: ib_qp_attr::ah_attr"] + [::core::mem::offset_of!(ib_qp_attr, ah_attr) - 64usize]; + ["Offset of field: ib_qp_attr::alt_ah_attr"] + [::core::mem::offset_of!(ib_qp_attr, alt_ah_attr) - 120usize]; + ["Offset of field: ib_qp_attr::pkey_index"] + [::core::mem::offset_of!(ib_qp_attr, pkey_index) - 176usize]; + ["Offset of field: ib_qp_attr::alt_pkey_index"] + [::core::mem::offset_of!(ib_qp_attr, alt_pkey_index) - 178usize]; + ["Offset of field: ib_qp_attr::en_sqd_async_notify"] + [::core::mem::offset_of!(ib_qp_attr, en_sqd_async_notify) - 180usize]; + ["Offset of field: ib_qp_attr::sq_draining"] + [::core::mem::offset_of!(ib_qp_attr, sq_draining) - 181usize]; + ["Offset of field: ib_qp_attr::max_rd_atomic"] + [::core::mem::offset_of!(ib_qp_attr, max_rd_atomic) - 182usize]; + ["Offset of field: ib_qp_attr::max_dest_rd_atomic"] + [::core::mem::offset_of!(ib_qp_attr, max_dest_rd_atomic) - 183usize]; + ["Offset of field: ib_qp_attr::min_rnr_timer"] + [::core::mem::offset_of!(ib_qp_attr, min_rnr_timer) - 184usize]; + ["Offset of field: ib_qp_attr::port_num"] + [::core::mem::offset_of!(ib_qp_attr, port_num) - 188usize]; + ["Offset of field: ib_qp_attr::timeout"] + [::core::mem::offset_of!(ib_qp_attr, timeout) - 192usize]; + ["Offset of field: ib_qp_attr::retry_cnt"] + [::core::mem::offset_of!(ib_qp_attr, retry_cnt) - 193usize]; + ["Offset of field: ib_qp_attr::rnr_retry"] + [::core::mem::offset_of!(ib_qp_attr, rnr_retry) - 194usize]; + ["Offset of field: ib_qp_attr::alt_port_num"] + [::core::mem::offset_of!(ib_qp_attr, alt_port_num) - 196usize]; + ["Offset of field: ib_qp_attr::alt_timeout"] + [::core::mem::offset_of!(ib_qp_attr, alt_timeout) - 200usize]; + ["Offset of field: ib_qp_attr::rate_limit"] + [::core::mem::offset_of!(ib_qp_attr, rate_limit) - 204usize]; + ["Offset of field: ib_qp_attr::xmit_slave"] + [::core::mem::offset_of!(ib_qp_attr, xmit_slave) - 208usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_qp_init_attr { + pub event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub qp_context: *mut ::core::ffi::c_void, + pub send_cq: *mut ib_cq, + pub recv_cq: *mut ib_cq, + pub srq: *mut ib_srq, + pub xrcd: *mut ib_xrcd, + pub cap: ib_qp_cap, + pub sq_sig_type: ib_sig_type, + pub qp_type: ib_qp_type, + pub create_flags: u32_, + pub port_num: u32_, + pub rwq_ind_tbl: *mut ib_rwq_ind_table, + pub source_qpn: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_qp_init_attr"][::core::mem::size_of::() - 104usize]; + ["Alignment of ib_qp_init_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_qp_init_attr::event_handler"] + [::core::mem::offset_of!(ib_qp_init_attr, event_handler) - 0usize]; + ["Offset of field: ib_qp_init_attr::qp_context"] + [::core::mem::offset_of!(ib_qp_init_attr, qp_context) - 8usize]; + ["Offset of field: ib_qp_init_attr::send_cq"] + [::core::mem::offset_of!(ib_qp_init_attr, send_cq) - 16usize]; + ["Offset of field: ib_qp_init_attr::recv_cq"] + [::core::mem::offset_of!(ib_qp_init_attr, recv_cq) - 24usize]; + ["Offset of field: ib_qp_init_attr::srq"] + [::core::mem::offset_of!(ib_qp_init_attr, srq) - 32usize]; + ["Offset of field: ib_qp_init_attr::xrcd"] + [::core::mem::offset_of!(ib_qp_init_attr, xrcd) - 40usize]; + ["Offset of field: ib_qp_init_attr::cap"] + [::core::mem::offset_of!(ib_qp_init_attr, cap) - 48usize]; + ["Offset of field: ib_qp_init_attr::sq_sig_type"] + [::core::mem::offset_of!(ib_qp_init_attr, sq_sig_type) - 72usize]; + ["Offset of field: ib_qp_init_attr::qp_type"] + [::core::mem::offset_of!(ib_qp_init_attr, qp_type) - 76usize]; + ["Offset of field: ib_qp_init_attr::create_flags"] + [::core::mem::offset_of!(ib_qp_init_attr, create_flags) - 80usize]; + ["Offset of field: ib_qp_init_attr::port_num"] + [::core::mem::offset_of!(ib_qp_init_attr, port_num) - 84usize]; + ["Offset of field: ib_qp_init_attr::rwq_ind_tbl"] + [::core::mem::offset_of!(ib_qp_init_attr, rwq_ind_tbl) - 88usize]; + ["Offset of field: ib_qp_init_attr::source_qpn"] + [::core::mem::offset_of!(ib_qp_init_attr, source_qpn) - 96usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_qp_security { + pub qp: *mut ib_qp, + pub dev: *mut ib_device, + pub mutex: mutex, + pub ports_pkeys: *mut ib_ports_pkeys, + pub shared_qp_list: list_head, + pub security: *mut ::core::ffi::c_void, + pub destroying: bool_, + pub error_list_count: atomic_t, + pub error_complete: completion, + pub error_comps_pending: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_qp_security"][::core::mem::size_of::() - 128usize]; + ["Alignment of ib_qp_security"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_qp_security::qp"][::core::mem::offset_of!(ib_qp_security, qp) - 0usize]; + ["Offset of field: ib_qp_security::dev"][::core::mem::offset_of!(ib_qp_security, dev) - 8usize]; + ["Offset of field: ib_qp_security::mutex"] + [::core::mem::offset_of!(ib_qp_security, mutex) - 16usize]; + ["Offset of field: ib_qp_security::ports_pkeys"] + [::core::mem::offset_of!(ib_qp_security, ports_pkeys) - 48usize]; + ["Offset of field: ib_qp_security::shared_qp_list"] + [::core::mem::offset_of!(ib_qp_security, shared_qp_list) - 56usize]; + ["Offset of field: ib_qp_security::security"] + [::core::mem::offset_of!(ib_qp_security, security) - 72usize]; + ["Offset of field: ib_qp_security::destroying"] + [::core::mem::offset_of!(ib_qp_security, destroying) - 80usize]; + ["Offset of field: ib_qp_security::error_list_count"] + [::core::mem::offset_of!(ib_qp_security, error_list_count) - 84usize]; + ["Offset of field: ib_qp_security::error_complete"] + [::core::mem::offset_of!(ib_qp_security, error_complete) - 88usize]; + ["Offset of field: ib_qp_security::error_comps_pending"] + [::core::mem::offset_of!(ib_qp_security, error_comps_pending) - 120usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_rdmacg_object { + pub cg: *mut rdma_cgroup, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_rdmacg_object"][::core::mem::size_of::() - 8usize]; + ["Alignment of ib_rdmacg_object"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_rdmacg_object::cg"] + [::core::mem::offset_of!(ib_rdmacg_object, cg) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_recv_wr { + pub next: *mut ib_recv_wr, + pub __bindgen_anon_1: ib_recv_wr__bindgen_ty_1, + pub sg_list: *mut ib_sge, + pub num_sge: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_recv_wr__bindgen_ty_1 { + pub wr_id: u64_, + pub wr_cqe: *mut ib_cqe, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_recv_wr__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ib_recv_wr__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_recv_wr__bindgen_ty_1::wr_id"] + [::core::mem::offset_of!(ib_recv_wr__bindgen_ty_1, wr_id) - 0usize]; + ["Offset of field: ib_recv_wr__bindgen_ty_1::wr_cqe"] + [::core::mem::offset_of!(ib_recv_wr__bindgen_ty_1, wr_cqe) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_recv_wr"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_recv_wr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_recv_wr::next"][::core::mem::offset_of!(ib_recv_wr, next) - 0usize]; + ["Offset of field: ib_recv_wr::sg_list"] + [::core::mem::offset_of!(ib_recv_wr, sg_list) - 16usize]; + ["Offset of field: ib_recv_wr::num_sge"] + [::core::mem::offset_of!(ib_recv_wr, num_sge) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_rwq_ind_table { + pub device: *mut ib_device, + pub uobject: *mut ib_uobject, + pub usecnt: atomic_t, + pub ind_tbl_num: u32_, + pub log_ind_tbl_size: u32_, + pub ind_tbl: *mut *mut ib_wq, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_rwq_ind_table"][::core::mem::size_of::() - 40usize]; + ["Alignment of ib_rwq_ind_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_rwq_ind_table::device"] + [::core::mem::offset_of!(ib_rwq_ind_table, device) - 0usize]; + ["Offset of field: ib_rwq_ind_table::uobject"] + [::core::mem::offset_of!(ib_rwq_ind_table, uobject) - 8usize]; + ["Offset of field: ib_rwq_ind_table::usecnt"] + [::core::mem::offset_of!(ib_rwq_ind_table, usecnt) - 16usize]; + ["Offset of field: ib_rwq_ind_table::ind_tbl_num"] + [::core::mem::offset_of!(ib_rwq_ind_table, ind_tbl_num) - 20usize]; + ["Offset of field: ib_rwq_ind_table::log_ind_tbl_size"] + [::core::mem::offset_of!(ib_rwq_ind_table, log_ind_tbl_size) - 24usize]; + ["Offset of field: ib_rwq_ind_table::ind_tbl"] + [::core::mem::offset_of!(ib_rwq_ind_table, ind_tbl) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_rwq_ind_table_init_attr { + pub log_ind_tbl_size: u32_, + pub ind_tbl: *mut *mut ib_wq, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_rwq_ind_table_init_attr"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ib_rwq_ind_table_init_attr"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_rwq_ind_table_init_attr::log_ind_tbl_size"] + [::core::mem::offset_of!(ib_rwq_ind_table_init_attr, log_ind_tbl_size) - 0usize]; + ["Offset of field: ib_rwq_ind_table_init_attr::ind_tbl"] + [::core::mem::offset_of!(ib_rwq_ind_table_init_attr, ind_tbl) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_send_wr { + pub next: *mut ib_send_wr, + pub __bindgen_anon_1: ib_send_wr__bindgen_ty_1, + pub sg_list: *mut ib_sge, + pub num_sge: ::core::ffi::c_int, + pub opcode: ib_wr_opcode, + pub send_flags: ::core::ffi::c_int, + pub ex: ib_send_wr__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_send_wr__bindgen_ty_1 { + pub wr_id: u64_, + pub wr_cqe: *mut ib_cqe, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_send_wr__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ib_send_wr__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_send_wr__bindgen_ty_1::wr_id"] + [::core::mem::offset_of!(ib_send_wr__bindgen_ty_1, wr_id) - 0usize]; + ["Offset of field: ib_send_wr__bindgen_ty_1::wr_cqe"] + [::core::mem::offset_of!(ib_send_wr__bindgen_ty_1, wr_cqe) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_send_wr__bindgen_ty_2 { + pub imm_data: __be32, + pub invalidate_rkey: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_send_wr__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of ib_send_wr__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_send_wr__bindgen_ty_2::imm_data"] + [::core::mem::offset_of!(ib_send_wr__bindgen_ty_2, imm_data) - 0usize]; + ["Offset of field: ib_send_wr__bindgen_ty_2::invalidate_rkey"] + [::core::mem::offset_of!(ib_send_wr__bindgen_ty_2, invalidate_rkey) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_send_wr"][::core::mem::size_of::() - 40usize]; + ["Alignment of ib_send_wr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_send_wr::next"][::core::mem::offset_of!(ib_send_wr, next) - 0usize]; + ["Offset of field: ib_send_wr::sg_list"] + [::core::mem::offset_of!(ib_send_wr, sg_list) - 16usize]; + ["Offset of field: ib_send_wr::num_sge"] + [::core::mem::offset_of!(ib_send_wr, num_sge) - 24usize]; + ["Offset of field: ib_send_wr::opcode"][::core::mem::offset_of!(ib_send_wr, opcode) - 28usize]; + ["Offset of field: ib_send_wr::send_flags"] + [::core::mem::offset_of!(ib_send_wr, send_flags) - 32usize]; + ["Offset of field: ib_send_wr::ex"][::core::mem::offset_of!(ib_send_wr, ex) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_sge { + pub addr: u64_, + pub length: u32_, + pub lkey: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_sge"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_sge"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_sge::addr"][::core::mem::offset_of!(ib_sge, addr) - 0usize]; + ["Offset of field: ib_sge::length"][::core::mem::offset_of!(ib_sge, length) - 8usize]; + ["Offset of field: ib_sge::lkey"][::core::mem::offset_of!(ib_sge, lkey) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_t10_dif_domain { + pub bg_type: ib_t10_dif_bg_type, + pub pi_interval: u16_, + pub bg: u16_, + pub app_tag: u16_, + pub ref_tag: u32_, + pub ref_remap: bool_, + pub app_escape: bool_, + pub ref_escape: bool_, + pub apptag_check_mask: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_t10_dif_domain"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_t10_dif_domain"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_t10_dif_domain::bg_type"] + [::core::mem::offset_of!(ib_t10_dif_domain, bg_type) - 0usize]; + ["Offset of field: ib_t10_dif_domain::pi_interval"] + [::core::mem::offset_of!(ib_t10_dif_domain, pi_interval) - 4usize]; + ["Offset of field: ib_t10_dif_domain::bg"] + [::core::mem::offset_of!(ib_t10_dif_domain, bg) - 6usize]; + ["Offset of field: ib_t10_dif_domain::app_tag"] + [::core::mem::offset_of!(ib_t10_dif_domain, app_tag) - 8usize]; + ["Offset of field: ib_t10_dif_domain::ref_tag"] + [::core::mem::offset_of!(ib_t10_dif_domain, ref_tag) - 12usize]; + ["Offset of field: ib_t10_dif_domain::ref_remap"] + [::core::mem::offset_of!(ib_t10_dif_domain, ref_remap) - 16usize]; + ["Offset of field: ib_t10_dif_domain::app_escape"] + [::core::mem::offset_of!(ib_t10_dif_domain, app_escape) - 17usize]; + ["Offset of field: ib_t10_dif_domain::ref_escape"] + [::core::mem::offset_of!(ib_t10_dif_domain, ref_escape) - 18usize]; + ["Offset of field: ib_t10_dif_domain::apptag_check_mask"] + [::core::mem::offset_of!(ib_t10_dif_domain, apptag_check_mask) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_sig_domain { + pub sig_type: ib_signature_type, + pub sig: ib_sig_domain__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_sig_domain__bindgen_ty_1 { + pub dif: ib_t10_dif_domain, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_sig_domain__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ib_sig_domain__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_sig_domain__bindgen_ty_1::dif"] + [::core::mem::offset_of!(ib_sig_domain__bindgen_ty_1, dif) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_sig_domain"][::core::mem::size_of::() - 28usize]; + ["Alignment of ib_sig_domain"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_sig_domain::sig_type"] + [::core::mem::offset_of!(ib_sig_domain, sig_type) - 0usize]; + ["Offset of field: ib_sig_domain::sig"][::core::mem::offset_of!(ib_sig_domain, sig) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_sig_attrs { + pub check_mask: u8_, + pub mem: ib_sig_domain, + pub wire: ib_sig_domain, + pub meta_length: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_sig_attrs"][::core::mem::size_of::() - 64usize]; + ["Alignment of ib_sig_attrs"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_sig_attrs::check_mask"] + [::core::mem::offset_of!(ib_sig_attrs, check_mask) - 0usize]; + ["Offset of field: ib_sig_attrs::mem"][::core::mem::offset_of!(ib_sig_attrs, mem) - 4usize]; + ["Offset of field: ib_sig_attrs::wire"][::core::mem::offset_of!(ib_sig_attrs, wire) - 32usize]; + ["Offset of field: ib_sig_attrs::meta_length"] + [::core::mem::offset_of!(ib_sig_attrs, meta_length) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_usrq_object { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_srq { + pub device: *mut ib_device, + pub pd: *mut ib_pd, + pub uobject: *mut ib_usrq_object, + pub event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub srq_context: *mut ::core::ffi::c_void, + pub srq_type: ib_srq_type, + pub usecnt: atomic_t, + pub ext: ib_srq__bindgen_ty_1, + pub res: rdma_restrack_entry, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_srq__bindgen_ty_1 { + pub cq: *mut ib_cq, + pub __bindgen_anon_1: ib_srq__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_srq__bindgen_ty_1__bindgen_ty_1 { + pub xrc: ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub xrcd: *mut ib_xrcd, + pub srq_num: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::xrcd"] + [::core::mem::offset_of!(ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, xrcd) - 0usize]; + ["Offset of field: ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::srq_num"][::core::mem::offset_of!( + ib_srq__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + srq_num + ) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ib_srq__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_srq__bindgen_ty_1__bindgen_ty_1::xrc"] + [::core::mem::offset_of!(ib_srq__bindgen_ty_1__bindgen_ty_1, xrc) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of ib_srq__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_srq__bindgen_ty_1::cq"] + [::core::mem::offset_of!(ib_srq__bindgen_ty_1, cq) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq"][::core::mem::size_of::() - 144usize]; + ["Alignment of ib_srq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_srq::device"][::core::mem::offset_of!(ib_srq, device) - 0usize]; + ["Offset of field: ib_srq::pd"][::core::mem::offset_of!(ib_srq, pd) - 8usize]; + ["Offset of field: ib_srq::uobject"][::core::mem::offset_of!(ib_srq, uobject) - 16usize]; + ["Offset of field: ib_srq::event_handler"] + [::core::mem::offset_of!(ib_srq, event_handler) - 24usize]; + ["Offset of field: ib_srq::srq_context"] + [::core::mem::offset_of!(ib_srq, srq_context) - 32usize]; + ["Offset of field: ib_srq::srq_type"][::core::mem::offset_of!(ib_srq, srq_type) - 40usize]; + ["Offset of field: ib_srq::usecnt"][::core::mem::offset_of!(ib_srq, usecnt) - 44usize]; + ["Offset of field: ib_srq::ext"][::core::mem::offset_of!(ib_srq, ext) - 48usize]; + ["Offset of field: ib_srq::res"][::core::mem::offset_of!(ib_srq, res) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_srq_attr { + pub max_wr: u32_, + pub max_sge: u32_, + pub srq_limit: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq_attr"][::core::mem::size_of::() - 12usize]; + ["Alignment of ib_srq_attr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_srq_attr::max_wr"][::core::mem::offset_of!(ib_srq_attr, max_wr) - 0usize]; + ["Offset of field: ib_srq_attr::max_sge"] + [::core::mem::offset_of!(ib_srq_attr, max_sge) - 4usize]; + ["Offset of field: ib_srq_attr::srq_limit"] + [::core::mem::offset_of!(ib_srq_attr, srq_limit) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_srq_init_attr { + pub event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub srq_context: *mut ::core::ffi::c_void, + pub attr: ib_srq_attr, + pub srq_type: ib_srq_type, + pub ext: ib_srq_init_attr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_srq_init_attr__bindgen_ty_1 { + pub cq: *mut ib_cq, + pub __bindgen_anon_1: ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1 { + pub xrc: ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub tag_matching: ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub xrcd: *mut ib_xrcd, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >() - 8usize]; + ["Alignment of ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() + - 8usize]; + ["Offset of field: ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::xrcd"][::core::mem::offset_of!( + ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + xrcd + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 { + pub max_num_tags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"][::core::mem::size_of::< + ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + >() - 4usize]; + ["Alignment of ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() + - 4usize]; + ["Offset of field: ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2::max_num_tags"][::core::mem::offset_of!( + ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + max_num_tags + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1::xrc"] + [::core::mem::offset_of!(ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1, xrc) - 0usize]; + ["Offset of field: ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1::tag_matching"][::core::mem::offset_of!( + ib_srq_init_attr__bindgen_ty_1__bindgen_ty_1, + tag_matching + ) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq_init_attr__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ib_srq_init_attr__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_srq_init_attr__bindgen_ty_1::cq"] + [::core::mem::offset_of!(ib_srq_init_attr__bindgen_ty_1, cq) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_srq_init_attr"][::core::mem::size_of::() - 48usize]; + ["Alignment of ib_srq_init_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_srq_init_attr::event_handler"] + [::core::mem::offset_of!(ib_srq_init_attr, event_handler) - 0usize]; + ["Offset of field: ib_srq_init_attr::srq_context"] + [::core::mem::offset_of!(ib_srq_init_attr, srq_context) - 8usize]; + ["Offset of field: ib_srq_init_attr::attr"] + [::core::mem::offset_of!(ib_srq_init_attr, attr) - 16usize]; + ["Offset of field: ib_srq_init_attr::srq_type"] + [::core::mem::offset_of!(ib_srq_init_attr, srq_type) - 28usize]; + ["Offset of field: ib_srq_init_attr::ext"] + [::core::mem::offset_of!(ib_srq_init_attr, ext) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_uverbs_file { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_ucontext { + pub device: *mut ib_device, + pub ufile: *mut ib_uverbs_file, + pub cg_obj: ib_rdmacg_object, + pub res: rdma_restrack_entry, + pub mmap_xa: xarray, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_ucontext"][::core::mem::size_of::() - 112usize]; + ["Alignment of ib_ucontext"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_ucontext::device"][::core::mem::offset_of!(ib_ucontext, device) - 0usize]; + ["Offset of field: ib_ucontext::ufile"][::core::mem::offset_of!(ib_ucontext, ufile) - 8usize]; + ["Offset of field: ib_ucontext::cg_obj"] + [::core::mem::offset_of!(ib_ucontext, cg_obj) - 16usize]; + ["Offset of field: ib_ucontext::res"][::core::mem::offset_of!(ib_ucontext, res) - 24usize]; + ["Offset of field: ib_ucontext::mmap_xa"] + [::core::mem::offset_of!(ib_ucontext, mmap_xa) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_udata { + pub inbuf: *const ::core::ffi::c_void, + pub outbuf: *mut ::core::ffi::c_void, + pub inlen: usize, + pub outlen: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_udata"][::core::mem::size_of::() - 32usize]; + ["Alignment of ib_udata"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_udata::inbuf"][::core::mem::offset_of!(ib_udata, inbuf) - 0usize]; + ["Offset of field: ib_udata::outbuf"][::core::mem::offset_of!(ib_udata, outbuf) - 8usize]; + ["Offset of field: ib_udata::inlen"][::core::mem::offset_of!(ib_udata, inlen) - 16usize]; + ["Offset of field: ib_udata::outlen"][::core::mem::offset_of!(ib_udata, outlen) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uverbs_api_object { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_uobject { + pub user_handle: u64_, + pub ufile: *mut ib_uverbs_file, + pub context: *mut ib_ucontext, + pub object: *mut ::core::ffi::c_void, + pub list: list_head, + pub cg_obj: ib_rdmacg_object, + pub id: ::core::ffi::c_int, + pub ref_: kref, + pub usecnt: atomic_t, + pub rcu: callback_head, + pub uapi_object: *const uverbs_api_object, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_uobject"][::core::mem::size_of::() - 96usize]; + ["Alignment of ib_uobject"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_uobject::user_handle"] + [::core::mem::offset_of!(ib_uobject, user_handle) - 0usize]; + ["Offset of field: ib_uobject::ufile"][::core::mem::offset_of!(ib_uobject, ufile) - 8usize]; + ["Offset of field: ib_uobject::context"] + [::core::mem::offset_of!(ib_uobject, context) - 16usize]; + ["Offset of field: ib_uobject::object"][::core::mem::offset_of!(ib_uobject, object) - 24usize]; + ["Offset of field: ib_uobject::list"][::core::mem::offset_of!(ib_uobject, list) - 32usize]; + ["Offset of field: ib_uobject::cg_obj"][::core::mem::offset_of!(ib_uobject, cg_obj) - 48usize]; + ["Offset of field: ib_uobject::id"][::core::mem::offset_of!(ib_uobject, id) - 56usize]; + ["Offset of field: ib_uobject::ref_"][::core::mem::offset_of!(ib_uobject, ref_) - 60usize]; + ["Offset of field: ib_uobject::usecnt"][::core::mem::offset_of!(ib_uobject, usecnt) - 64usize]; + ["Offset of field: ib_uobject::rcu"][::core::mem::offset_of!(ib_uobject, rcu) - 72usize]; + ["Offset of field: ib_uobject::uapi_object"] + [::core::mem::offset_of!(ib_uobject, uapi_object) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_wc { + pub __bindgen_anon_1: ib_wc__bindgen_ty_1, + pub status: ib_wc_status, + pub opcode: ib_wc_opcode, + pub vendor_err: u32_, + pub byte_len: u32_, + pub qp: *mut ib_qp, + pub ex: ib_wc__bindgen_ty_2, + pub src_qp: u32_, + pub slid: u32_, + pub wc_flags: ::core::ffi::c_int, + pub pkey_index: u16_, + pub sl: u8_, + pub dlid_path_bits: u8_, + pub port_num: u32_, + pub smac: [u8_; 6usize], + pub vlan_id: u16_, + pub network_hdr_type: u8_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_wc__bindgen_ty_1 { + pub wr_id: u64_, + pub wr_cqe: *mut ib_cqe, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_wc__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of ib_wc__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_wc__bindgen_ty_1::wr_id"] + [::core::mem::offset_of!(ib_wc__bindgen_ty_1, wr_id) - 0usize]; + ["Offset of field: ib_wc__bindgen_ty_1::wr_cqe"] + [::core::mem::offset_of!(ib_wc__bindgen_ty_1, wr_cqe) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union ib_wc__bindgen_ty_2 { + pub imm_data: __be32, + pub invalidate_rkey: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_wc__bindgen_ty_2"][::core::mem::size_of::() - 4usize]; + ["Alignment of ib_wc__bindgen_ty_2"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_wc__bindgen_ty_2::imm_data"] + [::core::mem::offset_of!(ib_wc__bindgen_ty_2, imm_data) - 0usize]; + ["Offset of field: ib_wc__bindgen_ty_2::invalidate_rkey"] + [::core::mem::offset_of!(ib_wc__bindgen_ty_2, invalidate_rkey) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_wc"][::core::mem::size_of::() - 72usize]; + ["Alignment of ib_wc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_wc::status"][::core::mem::offset_of!(ib_wc, status) - 8usize]; + ["Offset of field: ib_wc::opcode"][::core::mem::offset_of!(ib_wc, opcode) - 12usize]; + ["Offset of field: ib_wc::vendor_err"][::core::mem::offset_of!(ib_wc, vendor_err) - 16usize]; + ["Offset of field: ib_wc::byte_len"][::core::mem::offset_of!(ib_wc, byte_len) - 20usize]; + ["Offset of field: ib_wc::qp"][::core::mem::offset_of!(ib_wc, qp) - 24usize]; + ["Offset of field: ib_wc::ex"][::core::mem::offset_of!(ib_wc, ex) - 32usize]; + ["Offset of field: ib_wc::src_qp"][::core::mem::offset_of!(ib_wc, src_qp) - 36usize]; + ["Offset of field: ib_wc::slid"][::core::mem::offset_of!(ib_wc, slid) - 40usize]; + ["Offset of field: ib_wc::wc_flags"][::core::mem::offset_of!(ib_wc, wc_flags) - 44usize]; + ["Offset of field: ib_wc::pkey_index"][::core::mem::offset_of!(ib_wc, pkey_index) - 48usize]; + ["Offset of field: ib_wc::sl"][::core::mem::offset_of!(ib_wc, sl) - 50usize]; + ["Offset of field: ib_wc::dlid_path_bits"] + [::core::mem::offset_of!(ib_wc, dlid_path_bits) - 51usize]; + ["Offset of field: ib_wc::port_num"][::core::mem::offset_of!(ib_wc, port_num) - 52usize]; + ["Offset of field: ib_wc::smac"][::core::mem::offset_of!(ib_wc, smac) - 56usize]; + ["Offset of field: ib_wc::vlan_id"][::core::mem::offset_of!(ib_wc, vlan_id) - 62usize]; + ["Offset of field: ib_wc::network_hdr_type"] + [::core::mem::offset_of!(ib_wc, network_hdr_type) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_uwq_object { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_wq { + pub device: *mut ib_device, + pub uobject: *mut ib_uwq_object, + pub wq_context: *mut ::core::ffi::c_void, + pub event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub pd: *mut ib_pd, + pub cq: *mut ib_cq, + pub wq_num: u32_, + pub state: ib_wq_state, + pub wq_type: ib_wq_type, + pub usecnt: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_wq"][::core::mem::size_of::() - 64usize]; + ["Alignment of ib_wq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_wq::device"][::core::mem::offset_of!(ib_wq, device) - 0usize]; + ["Offset of field: ib_wq::uobject"][::core::mem::offset_of!(ib_wq, uobject) - 8usize]; + ["Offset of field: ib_wq::wq_context"][::core::mem::offset_of!(ib_wq, wq_context) - 16usize]; + ["Offset of field: ib_wq::event_handler"] + [::core::mem::offset_of!(ib_wq, event_handler) - 24usize]; + ["Offset of field: ib_wq::pd"][::core::mem::offset_of!(ib_wq, pd) - 32usize]; + ["Offset of field: ib_wq::cq"][::core::mem::offset_of!(ib_wq, cq) - 40usize]; + ["Offset of field: ib_wq::wq_num"][::core::mem::offset_of!(ib_wq, wq_num) - 48usize]; + ["Offset of field: ib_wq::state"][::core::mem::offset_of!(ib_wq, state) - 52usize]; + ["Offset of field: ib_wq::wq_type"][::core::mem::offset_of!(ib_wq, wq_type) - 56usize]; + ["Offset of field: ib_wq::usecnt"][::core::mem::offset_of!(ib_wq, usecnt) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_wq_attr { + pub wq_state: ib_wq_state, + pub curr_wq_state: ib_wq_state, + pub flags: u32_, + pub flags_mask: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_wq_attr"][::core::mem::size_of::() - 16usize]; + ["Alignment of ib_wq_attr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ib_wq_attr::wq_state"] + [::core::mem::offset_of!(ib_wq_attr, wq_state) - 0usize]; + ["Offset of field: ib_wq_attr::curr_wq_state"] + [::core::mem::offset_of!(ib_wq_attr, curr_wq_state) - 4usize]; + ["Offset of field: ib_wq_attr::flags"][::core::mem::offset_of!(ib_wq_attr, flags) - 8usize]; + ["Offset of field: ib_wq_attr::flags_mask"] + [::core::mem::offset_of!(ib_wq_attr, flags_mask) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ib_wq_init_attr { + pub wq_context: *mut ::core::ffi::c_void, + pub wq_type: ib_wq_type, + pub max_wr: u32_, + pub max_sge: u32_, + pub cq: *mut ib_cq, + pub event_handler: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ib_event, arg2: *mut ::core::ffi::c_void), + >, + pub create_flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_wq_init_attr"][::core::mem::size_of::() - 48usize]; + ["Alignment of ib_wq_init_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_wq_init_attr::wq_context"] + [::core::mem::offset_of!(ib_wq_init_attr, wq_context) - 0usize]; + ["Offset of field: ib_wq_init_attr::wq_type"] + [::core::mem::offset_of!(ib_wq_init_attr, wq_type) - 8usize]; + ["Offset of field: ib_wq_init_attr::max_wr"] + [::core::mem::offset_of!(ib_wq_init_attr, max_wr) - 12usize]; + ["Offset of field: ib_wq_init_attr::max_sge"] + [::core::mem::offset_of!(ib_wq_init_attr, max_sge) - 16usize]; + ["Offset of field: ib_wq_init_attr::cq"] + [::core::mem::offset_of!(ib_wq_init_attr, cq) - 24usize]; + ["Offset of field: ib_wq_init_attr::event_handler"] + [::core::mem::offset_of!(ib_wq_init_attr, event_handler) - 32usize]; + ["Offset of field: ib_wq_init_attr::create_flags"] + [::core::mem::offset_of!(ib_wq_init_attr, create_flags) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ib_xrcd { + pub device: *mut ib_device, + pub usecnt: atomic_t, + pub inode: *mut inode, + pub tgt_qps_rwsem: rw_semaphore, + pub tgt_qps: xarray, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ib_xrcd"][::core::mem::size_of::() - 80usize]; + ["Alignment of ib_xrcd"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ib_xrcd::device"][::core::mem::offset_of!(ib_xrcd, device) - 0usize]; + ["Offset of field: ib_xrcd::usecnt"][::core::mem::offset_of!(ib_xrcd, usecnt) - 8usize]; + ["Offset of field: ib_xrcd::inode"][::core::mem::offset_of!(ib_xrcd, inode) - 16usize]; + ["Offset of field: ib_xrcd::tgt_qps_rwsem"] + [::core::mem::offset_of!(ib_xrcd, tgt_qps_rwsem) - 24usize]; + ["Offset of field: ib_xrcd::tgt_qps"][::core::mem::offset_of!(ib_xrcd, tgt_qps) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct icmp_mib { + pub mibs: [::core::ffi::c_ulong; 30usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of icmp_mib"][::core::mem::size_of::() - 240usize]; + ["Alignment of icmp_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: icmp_mib::mibs"][::core::mem::offset_of!(icmp_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct icmpmsg_mib { + pub mibs: [atomic_long_t; 512usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of icmpmsg_mib"][::core::mem::size_of::() - 4096usize]; + ["Alignment of icmpmsg_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: icmpmsg_mib::mibs"][::core::mem::offset_of!(icmpmsg_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct icmpv6_mib { + pub mibs: [::core::ffi::c_ulong; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of icmpv6_mib"][::core::mem::size_of::() - 56usize]; + ["Alignment of icmpv6_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: icmpv6_mib::mibs"][::core::mem::offset_of!(icmpv6_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct icmpv6_mib_device { + pub mibs: [atomic_long_t; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of icmpv6_mib_device"][::core::mem::size_of::() - 56usize]; + ["Alignment of icmpv6_mib_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: icmpv6_mib_device::mibs"] + [::core::mem::offset_of!(icmpv6_mib_device, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct icmpv6msg_mib { + pub mibs: [atomic_long_t; 512usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of icmpv6msg_mib"][::core::mem::size_of::() - 4096usize]; + ["Alignment of icmpv6msg_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: icmpv6msg_mib::mibs"][::core::mem::offset_of!(icmpv6msg_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct icmpv6msg_mib_device { + pub mibs: [atomic_long_t; 512usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of icmpv6msg_mib_device"][::core::mem::size_of::() - 4096usize]; + ["Alignment of icmpv6msg_mib_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: icmpv6msg_mib_device::mibs"] + [::core::mem::offset_of!(icmpv6msg_mib_device, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_channel { + pub band: nl80211_band, + pub center_freq: u32_, + pub freq_offset: u16_, + pub hw_value: u16_, + pub flags: u32_, + pub max_antenna_gain: ::core::ffi::c_int, + pub max_power: ::core::ffi::c_int, + pub max_reg_power: ::core::ffi::c_int, + pub beacon_found: bool_, + pub orig_flags: u32_, + pub orig_mag: ::core::ffi::c_int, + pub orig_mpwr: ::core::ffi::c_int, + pub dfs_state: nl80211_dfs_state, + pub dfs_state_entered: ::core::ffi::c_ulong, + pub dfs_cac_ms: ::core::ffi::c_uint, + pub psd: s8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_channel"][::core::mem::size_of::() - 64usize]; + ["Alignment of ieee80211_channel"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee80211_channel::band"] + [::core::mem::offset_of!(ieee80211_channel, band) - 0usize]; + ["Offset of field: ieee80211_channel::center_freq"] + [::core::mem::offset_of!(ieee80211_channel, center_freq) - 4usize]; + ["Offset of field: ieee80211_channel::freq_offset"] + [::core::mem::offset_of!(ieee80211_channel, freq_offset) - 8usize]; + ["Offset of field: ieee80211_channel::hw_value"] + [::core::mem::offset_of!(ieee80211_channel, hw_value) - 10usize]; + ["Offset of field: ieee80211_channel::flags"] + [::core::mem::offset_of!(ieee80211_channel, flags) - 12usize]; + ["Offset of field: ieee80211_channel::max_antenna_gain"] + [::core::mem::offset_of!(ieee80211_channel, max_antenna_gain) - 16usize]; + ["Offset of field: ieee80211_channel::max_power"] + [::core::mem::offset_of!(ieee80211_channel, max_power) - 20usize]; + ["Offset of field: ieee80211_channel::max_reg_power"] + [::core::mem::offset_of!(ieee80211_channel, max_reg_power) - 24usize]; + ["Offset of field: ieee80211_channel::beacon_found"] + [::core::mem::offset_of!(ieee80211_channel, beacon_found) - 28usize]; + ["Offset of field: ieee80211_channel::orig_flags"] + [::core::mem::offset_of!(ieee80211_channel, orig_flags) - 32usize]; + ["Offset of field: ieee80211_channel::orig_mag"] + [::core::mem::offset_of!(ieee80211_channel, orig_mag) - 36usize]; + ["Offset of field: ieee80211_channel::orig_mpwr"] + [::core::mem::offset_of!(ieee80211_channel, orig_mpwr) - 40usize]; + ["Offset of field: ieee80211_channel::dfs_state"] + [::core::mem::offset_of!(ieee80211_channel, dfs_state) - 44usize]; + ["Offset of field: ieee80211_channel::dfs_state_entered"] + [::core::mem::offset_of!(ieee80211_channel, dfs_state_entered) - 48usize]; + ["Offset of field: ieee80211_channel::dfs_cac_ms"] + [::core::mem::offset_of!(ieee80211_channel, dfs_cac_ms) - 56usize]; + ["Offset of field: ieee80211_channel::psd"] + [::core::mem::offset_of!(ieee80211_channel, psd) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_eht_cap_elem_fixed { + pub mac_cap_info: [u8_; 2usize], + pub phy_cap_info: [u8_; 9usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_cap_elem_fixed"] + [::core::mem::size_of::() - 11usize]; + ["Alignment of ieee80211_eht_cap_elem_fixed"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_eht_cap_elem_fixed::mac_cap_info"] + [::core::mem::offset_of!(ieee80211_eht_cap_elem_fixed, mac_cap_info) - 0usize]; + ["Offset of field: ieee80211_eht_cap_elem_fixed::phy_cap_info"] + [::core::mem::offset_of!(ieee80211_eht_cap_elem_fixed, phy_cap_info) - 2usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ieee80211_eht_mcs_nss_supp_20mhz_only { + pub __bindgen_anon_1: ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1 { + pub __bindgen_anon_1: ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1, + pub rx_tx_max_nss: [u8_; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1 { + pub rx_tx_mcs7_max_nss: u8_, + pub rx_tx_mcs9_max_nss: u8_, + pub rx_tx_mcs11_max_nss: u8_, + pub rx_tx_mcs13_max_nss: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::( + ) - 4usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::( + ) - 1usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1::rx_tx_mcs7_max_nss"] [:: core :: mem :: offset_of ! (ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1 , rx_tx_mcs7_max_nss) - 0usize] ; + ["Offset of field: ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1::rx_tx_mcs9_max_nss"] [:: core :: mem :: offset_of ! (ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1 , rx_tx_mcs9_max_nss) - 1usize] ; + ["Offset of field: ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1::rx_tx_mcs11_max_nss"] [:: core :: mem :: offset_of ! (ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1 , rx_tx_mcs11_max_nss) - 2usize] ; + ["Offset of field: ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1::rx_tx_mcs13_max_nss"] [:: core :: mem :: offset_of ! (ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1__bindgen_ty_1 , rx_tx_mcs13_max_nss) - 3usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1::rx_tx_max_nss"][::core::mem::offset_of!( + ieee80211_eht_mcs_nss_supp_20mhz_only__bindgen_ty_1, + rx_tx_max_nss + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp_20mhz_only"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp_20mhz_only"] + [::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ieee80211_eht_mcs_nss_supp_bw { + pub __bindgen_anon_1: ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1 { + pub __bindgen_anon_1: ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1, + pub rx_tx_max_nss: [u8_; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1 { + pub rx_tx_mcs9_max_nss: u8_, + pub rx_tx_mcs11_max_nss: u8_, + pub rx_tx_mcs13_max_nss: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1, + >() - 3usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1"][::core::mem::align_of::< + ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1, + >() - 1usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1::rx_tx_mcs9_max_nss"] [:: core :: mem :: offset_of ! (ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1 , rx_tx_mcs9_max_nss) - 0usize] ; + ["Offset of field: ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1::rx_tx_mcs11_max_nss"] [:: core :: mem :: offset_of ! (ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1 , rx_tx_mcs11_max_nss) - 1usize] ; + ["Offset of field: ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1::rx_tx_mcs13_max_nss"] [:: core :: mem :: offset_of ! (ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1__bindgen_ty_1 , rx_tx_mcs13_max_nss) - 2usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1"] + [::core::mem::size_of::() - 3usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1::rx_tx_max_nss"][::core::mem::offset_of!( + ieee80211_eht_mcs_nss_supp_bw__bindgen_ty_1, + rx_tx_max_nss + ) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp_bw"] + [::core::mem::size_of::() - 3usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp_bw"] + [::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ieee80211_eht_mcs_nss_supp { + pub __bindgen_anon_1: ieee80211_eht_mcs_nss_supp__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ieee80211_eht_mcs_nss_supp__bindgen_ty_1 { + pub only_20mhz: ieee80211_eht_mcs_nss_supp_20mhz_only, + pub bw: ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1 { + pub _80: ieee80211_eht_mcs_nss_supp_bw, + pub _160: ieee80211_eht_mcs_nss_supp_bw, + pub _320: ieee80211_eht_mcs_nss_supp_bw, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 9usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1"][::core::mem::align_of::< + ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1, + >() - 1usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1::_80"][::core::mem::offset_of!( + ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1, + _80 + ) - 0usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1::_160"][::core::mem::offset_of!( + ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1, + _160 + ) - 3usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1::_320"][::core::mem::offset_of!( + ieee80211_eht_mcs_nss_supp__bindgen_ty_1__bindgen_ty_1, + _320 + ) - 6usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp__bindgen_ty_1"] + [::core::mem::size_of::() - 9usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp__bindgen_ty_1::only_20mhz"] + [::core::mem::offset_of!(ieee80211_eht_mcs_nss_supp__bindgen_ty_1, only_20mhz) - 0usize]; + ["Offset of field: ieee80211_eht_mcs_nss_supp__bindgen_ty_1::bw"] + [::core::mem::offset_of!(ieee80211_eht_mcs_nss_supp__bindgen_ty_1, bw) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_eht_mcs_nss_supp"] + [::core::mem::size_of::() - 9usize]; + ["Alignment of ieee80211_eht_mcs_nss_supp"] + [::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_freq_range { + pub start_freq_khz: u32_, + pub end_freq_khz: u32_, + pub max_bandwidth_khz: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_freq_range"][::core::mem::size_of::() - 12usize]; + ["Alignment of ieee80211_freq_range"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee80211_freq_range::start_freq_khz"] + [::core::mem::offset_of!(ieee80211_freq_range, start_freq_khz) - 0usize]; + ["Offset of field: ieee80211_freq_range::end_freq_khz"] + [::core::mem::offset_of!(ieee80211_freq_range, end_freq_khz) - 4usize]; + ["Offset of field: ieee80211_freq_range::max_bandwidth_khz"] + [::core::mem::offset_of!(ieee80211_freq_range, max_bandwidth_khz) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_he_6ghz_capa { + pub capa: __le16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_he_6ghz_capa"][::core::mem::size_of::() - 2usize]; + ["Alignment of ieee80211_he_6ghz_capa"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_he_6ghz_capa::capa"] + [::core::mem::offset_of!(ieee80211_he_6ghz_capa, capa) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_he_cap_elem { + pub mac_cap_info: [u8_; 6usize], + pub phy_cap_info: [u8_; 11usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_he_cap_elem"][::core::mem::size_of::() - 17usize]; + ["Alignment of ieee80211_he_cap_elem"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_he_cap_elem::mac_cap_info"] + [::core::mem::offset_of!(ieee80211_he_cap_elem, mac_cap_info) - 0usize]; + ["Offset of field: ieee80211_he_cap_elem::phy_cap_info"] + [::core::mem::offset_of!(ieee80211_he_cap_elem, phy_cap_info) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_he_mcs_nss_supp { + pub rx_mcs_80: __le16, + pub tx_mcs_80: __le16, + pub rx_mcs_160: __le16, + pub tx_mcs_160: __le16, + pub rx_mcs_80p80: __le16, + pub tx_mcs_80p80: __le16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_he_mcs_nss_supp"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of ieee80211_he_mcs_nss_supp"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_he_mcs_nss_supp::rx_mcs_80"] + [::core::mem::offset_of!(ieee80211_he_mcs_nss_supp, rx_mcs_80) - 0usize]; + ["Offset of field: ieee80211_he_mcs_nss_supp::tx_mcs_80"] + [::core::mem::offset_of!(ieee80211_he_mcs_nss_supp, tx_mcs_80) - 2usize]; + ["Offset of field: ieee80211_he_mcs_nss_supp::rx_mcs_160"] + [::core::mem::offset_of!(ieee80211_he_mcs_nss_supp, rx_mcs_160) - 4usize]; + ["Offset of field: ieee80211_he_mcs_nss_supp::tx_mcs_160"] + [::core::mem::offset_of!(ieee80211_he_mcs_nss_supp, tx_mcs_160) - 6usize]; + ["Offset of field: ieee80211_he_mcs_nss_supp::rx_mcs_80p80"] + [::core::mem::offset_of!(ieee80211_he_mcs_nss_supp, rx_mcs_80p80) - 8usize]; + ["Offset of field: ieee80211_he_mcs_nss_supp::tx_mcs_80p80"] + [::core::mem::offset_of!(ieee80211_he_mcs_nss_supp, tx_mcs_80p80) - 10usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_iface_combination { + pub limits: *const ieee80211_iface_limit, + pub num_different_channels: u32_, + pub max_interfaces: u16_, + pub n_limits: u8_, + pub beacon_int_infra_match: bool_, + pub radar_detect_widths: u8_, + pub radar_detect_regions: u8_, + pub beacon_int_min_gcd: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_iface_combination"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of ieee80211_iface_combination"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee80211_iface_combination::limits"] + [::core::mem::offset_of!(ieee80211_iface_combination, limits) - 0usize]; + ["Offset of field: ieee80211_iface_combination::num_different_channels"] + [::core::mem::offset_of!(ieee80211_iface_combination, num_different_channels) - 8usize]; + ["Offset of field: ieee80211_iface_combination::max_interfaces"] + [::core::mem::offset_of!(ieee80211_iface_combination, max_interfaces) - 12usize]; + ["Offset of field: ieee80211_iface_combination::n_limits"] + [::core::mem::offset_of!(ieee80211_iface_combination, n_limits) - 14usize]; + ["Offset of field: ieee80211_iface_combination::beacon_int_infra_match"] + [::core::mem::offset_of!(ieee80211_iface_combination, beacon_int_infra_match) - 15usize]; + ["Offset of field: ieee80211_iface_combination::radar_detect_widths"] + [::core::mem::offset_of!(ieee80211_iface_combination, radar_detect_widths) - 16usize]; + ["Offset of field: ieee80211_iface_combination::radar_detect_regions"] + [::core::mem::offset_of!(ieee80211_iface_combination, radar_detect_regions) - 17usize]; + ["Offset of field: ieee80211_iface_combination::beacon_int_min_gcd"] + [::core::mem::offset_of!(ieee80211_iface_combination, beacon_int_min_gcd) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_iface_limit { + pub max: u16_, + pub types: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_iface_limit"][::core::mem::size_of::() - 4usize]; + ["Alignment of ieee80211_iface_limit"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_iface_limit::max"] + [::core::mem::offset_of!(ieee80211_iface_limit, max) - 0usize]; + ["Offset of field: ieee80211_iface_limit::types"] + [::core::mem::offset_of!(ieee80211_iface_limit, types) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_power_rule { + pub max_antenna_gain: u32_, + pub max_eirp: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_power_rule"][::core::mem::size_of::() - 8usize]; + ["Alignment of ieee80211_power_rule"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee80211_power_rule::max_antenna_gain"] + [::core::mem::offset_of!(ieee80211_power_rule, max_antenna_gain) - 0usize]; + ["Offset of field: ieee80211_power_rule::max_eirp"] + [::core::mem::offset_of!(ieee80211_power_rule, max_eirp) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_rate { + pub flags: u32_, + pub bitrate: u16_, + pub hw_value: u16_, + pub hw_value_short: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_rate"][::core::mem::size_of::() - 12usize]; + ["Alignment of ieee80211_rate"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee80211_rate::flags"] + [::core::mem::offset_of!(ieee80211_rate, flags) - 0usize]; + ["Offset of field: ieee80211_rate::bitrate"] + [::core::mem::offset_of!(ieee80211_rate, bitrate) - 4usize]; + ["Offset of field: ieee80211_rate::hw_value"] + [::core::mem::offset_of!(ieee80211_rate, hw_value) - 6usize]; + ["Offset of field: ieee80211_rate::hw_value_short"] + [::core::mem::offset_of!(ieee80211_rate, hw_value_short) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_wmm_ac { + pub cw_min: u16_, + pub cw_max: u16_, + pub cot: u16_, + pub aifsn: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_wmm_ac"][::core::mem::size_of::() - 8usize]; + ["Alignment of ieee80211_wmm_ac"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_wmm_ac::cw_min"] + [::core::mem::offset_of!(ieee80211_wmm_ac, cw_min) - 0usize]; + ["Offset of field: ieee80211_wmm_ac::cw_max"] + [::core::mem::offset_of!(ieee80211_wmm_ac, cw_max) - 2usize]; + ["Offset of field: ieee80211_wmm_ac::cot"] + [::core::mem::offset_of!(ieee80211_wmm_ac, cot) - 4usize]; + ["Offset of field: ieee80211_wmm_ac::aifsn"] + [::core::mem::offset_of!(ieee80211_wmm_ac, aifsn) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_wmm_rule { + pub client: [ieee80211_wmm_ac; 4usize], + pub ap: [ieee80211_wmm_ac; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_wmm_rule"][::core::mem::size_of::() - 64usize]; + ["Alignment of ieee80211_wmm_rule"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_wmm_rule::client"] + [::core::mem::offset_of!(ieee80211_wmm_rule, client) - 0usize]; + ["Offset of field: ieee80211_wmm_rule::ap"] + [::core::mem::offset_of!(ieee80211_wmm_rule, ap) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_reg_rule { + pub freq_range: ieee80211_freq_range, + pub power_rule: ieee80211_power_rule, + pub wmm_rule: ieee80211_wmm_rule, + pub flags: u32_, + pub dfs_cac_ms: u32_, + pub has_wmm: bool_, + pub psd: s8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_reg_rule"][::core::mem::size_of::() - 96usize]; + ["Alignment of ieee80211_reg_rule"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee80211_reg_rule::freq_range"] + [::core::mem::offset_of!(ieee80211_reg_rule, freq_range) - 0usize]; + ["Offset of field: ieee80211_reg_rule::power_rule"] + [::core::mem::offset_of!(ieee80211_reg_rule, power_rule) - 12usize]; + ["Offset of field: ieee80211_reg_rule::wmm_rule"] + [::core::mem::offset_of!(ieee80211_reg_rule, wmm_rule) - 20usize]; + ["Offset of field: ieee80211_reg_rule::flags"] + [::core::mem::offset_of!(ieee80211_reg_rule, flags) - 84usize]; + ["Offset of field: ieee80211_reg_rule::dfs_cac_ms"] + [::core::mem::offset_of!(ieee80211_reg_rule, dfs_cac_ms) - 88usize]; + ["Offset of field: ieee80211_reg_rule::has_wmm"] + [::core::mem::offset_of!(ieee80211_reg_rule, has_wmm) - 92usize]; + ["Offset of field: ieee80211_reg_rule::psd"] + [::core::mem::offset_of!(ieee80211_reg_rule, psd) - 93usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ieee80211_regdomain { + pub callback_head: callback_head, + pub n_reg_rules: u32_, + pub alpha2: [::core::ffi::c_char; 3usize], + pub dfs_region: nl80211_dfs_regions, + pub reg_rules: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_regdomain"][::core::mem::size_of::() - 32usize]; + ["Alignment of ieee80211_regdomain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee80211_regdomain::callback_head"] + [::core::mem::offset_of!(ieee80211_regdomain, callback_head) - 0usize]; + ["Offset of field: ieee80211_regdomain::n_reg_rules"] + [::core::mem::offset_of!(ieee80211_regdomain, n_reg_rules) - 16usize]; + ["Offset of field: ieee80211_regdomain::alpha2"] + [::core::mem::offset_of!(ieee80211_regdomain, alpha2) - 20usize]; + ["Offset of field: ieee80211_regdomain::dfs_region"] + [::core::mem::offset_of!(ieee80211_regdomain, dfs_region) - 24usize]; + ["Offset of field: ieee80211_regdomain::reg_rules"] + [::core::mem::offset_of!(ieee80211_regdomain, reg_rules) - 28usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_sta_he_cap { + pub has_he: bool_, + pub he_cap_elem: ieee80211_he_cap_elem, + pub he_mcs_nss_supp: ieee80211_he_mcs_nss_supp, + pub ppe_thres: [u8_; 25usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_sta_he_cap"][::core::mem::size_of::() - 55usize]; + ["Alignment of ieee80211_sta_he_cap"][::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_sta_he_cap::has_he"] + [::core::mem::offset_of!(ieee80211_sta_he_cap, has_he) - 0usize]; + ["Offset of field: ieee80211_sta_he_cap::he_cap_elem"] + [::core::mem::offset_of!(ieee80211_sta_he_cap, he_cap_elem) - 1usize]; + ["Offset of field: ieee80211_sta_he_cap::he_mcs_nss_supp"] + [::core::mem::offset_of!(ieee80211_sta_he_cap, he_mcs_nss_supp) - 18usize]; + ["Offset of field: ieee80211_sta_he_cap::ppe_thres"] + [::core::mem::offset_of!(ieee80211_sta_he_cap, ppe_thres) - 30usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ieee80211_sta_eht_cap { + pub has_eht: bool_, + pub eht_cap_elem: ieee80211_eht_cap_elem_fixed, + pub eht_mcs_nss_supp: ieee80211_eht_mcs_nss_supp, + pub eht_ppe_thres: [u8_; 32usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_sta_eht_cap"][::core::mem::size_of::() - 53usize]; + ["Alignment of ieee80211_sta_eht_cap"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_sta_eht_cap::has_eht"] + [::core::mem::offset_of!(ieee80211_sta_eht_cap, has_eht) - 0usize]; + ["Offset of field: ieee80211_sta_eht_cap::eht_cap_elem"] + [::core::mem::offset_of!(ieee80211_sta_eht_cap, eht_cap_elem) - 1usize]; + ["Offset of field: ieee80211_sta_eht_cap::eht_mcs_nss_supp"] + [::core::mem::offset_of!(ieee80211_sta_eht_cap, eht_mcs_nss_supp) - 12usize]; + ["Offset of field: ieee80211_sta_eht_cap::eht_ppe_thres"] + [::core::mem::offset_of!(ieee80211_sta_eht_cap, eht_ppe_thres) - 21usize]; +}; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct ieee80211_sband_iftype_data { + pub types_mask: u16_, + pub he_cap: ieee80211_sta_he_cap, + pub he_6ghz_capa: ieee80211_he_6ghz_capa, + pub eht_cap: ieee80211_sta_eht_cap, + pub vendor_elems: ieee80211_sband_iftype_data__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_sband_iftype_data__bindgen_ty_1 { + pub data: *const u8_, + pub len: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_sband_iftype_data__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of ieee80211_sband_iftype_data__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee80211_sband_iftype_data__bindgen_ty_1::data"] + [::core::mem::offset_of!(ieee80211_sband_iftype_data__bindgen_ty_1, data) - 0usize]; + ["Offset of field: ieee80211_sband_iftype_data__bindgen_ty_1::len"] + [::core::mem::offset_of!(ieee80211_sband_iftype_data__bindgen_ty_1, len) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_sband_iftype_data"] + [::core::mem::size_of::() - 128usize]; + ["Alignment of ieee80211_sband_iftype_data"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_sband_iftype_data::types_mask"] + [::core::mem::offset_of!(ieee80211_sband_iftype_data, types_mask) - 0usize]; + ["Offset of field: ieee80211_sband_iftype_data::he_cap"] + [::core::mem::offset_of!(ieee80211_sband_iftype_data, he_cap) - 2usize]; + ["Offset of field: ieee80211_sband_iftype_data::he_6ghz_capa"] + [::core::mem::offset_of!(ieee80211_sband_iftype_data, he_6ghz_capa) - 57usize]; + ["Offset of field: ieee80211_sband_iftype_data::eht_cap"] + [::core::mem::offset_of!(ieee80211_sband_iftype_data, eht_cap) - 59usize]; + ["Offset of field: ieee80211_sband_iftype_data::vendor_elems"] + [::core::mem::offset_of!(ieee80211_sband_iftype_data, vendor_elems) - 112usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_sta_ht_cap { + pub cap: u16_, + pub ht_supported: bool_, + pub ampdu_factor: u8_, + pub ampdu_density: u8_, + pub mcs: ieee80211_mcs_info, + pub __bindgen_padding_0: u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_sta_ht_cap"][::core::mem::size_of::() - 22usize]; + ["Alignment of ieee80211_sta_ht_cap"][::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_sta_ht_cap::cap"] + [::core::mem::offset_of!(ieee80211_sta_ht_cap, cap) - 0usize]; + ["Offset of field: ieee80211_sta_ht_cap::ht_supported"] + [::core::mem::offset_of!(ieee80211_sta_ht_cap, ht_supported) - 2usize]; + ["Offset of field: ieee80211_sta_ht_cap::ampdu_factor"] + [::core::mem::offset_of!(ieee80211_sta_ht_cap, ampdu_factor) - 3usize]; + ["Offset of field: ieee80211_sta_ht_cap::ampdu_density"] + [::core::mem::offset_of!(ieee80211_sta_ht_cap, ampdu_density) - 4usize]; + ["Offset of field: ieee80211_sta_ht_cap::mcs"] + [::core::mem::offset_of!(ieee80211_sta_ht_cap, mcs) - 5usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_sta_s1g_cap { + pub s1g: bool_, + pub cap: [u8_; 10usize], + pub nss_mcs: [u8_; 5usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_sta_s1g_cap"][::core::mem::size_of::() - 16usize]; + ["Alignment of ieee80211_sta_s1g_cap"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee80211_sta_s1g_cap::s1g"] + [::core::mem::offset_of!(ieee80211_sta_s1g_cap, s1g) - 0usize]; + ["Offset of field: ieee80211_sta_s1g_cap::cap"] + [::core::mem::offset_of!(ieee80211_sta_s1g_cap, cap) - 1usize]; + ["Offset of field: ieee80211_sta_s1g_cap::nss_mcs"] + [::core::mem::offset_of!(ieee80211_sta_s1g_cap, nss_mcs) - 11usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_sta_vht_cap { + pub vht_supported: bool_, + pub cap: u32_, + pub vht_mcs: ieee80211_vht_mcs_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_sta_vht_cap"][::core::mem::size_of::() - 16usize]; + ["Alignment of ieee80211_sta_vht_cap"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee80211_sta_vht_cap::vht_supported"] + [::core::mem::offset_of!(ieee80211_sta_vht_cap, vht_supported) - 0usize]; + ["Offset of field: ieee80211_sta_vht_cap::cap"] + [::core::mem::offset_of!(ieee80211_sta_vht_cap, cap) - 4usize]; + ["Offset of field: ieee80211_sta_vht_cap::vht_mcs"] + [::core::mem::offset_of!(ieee80211_sta_vht_cap, vht_mcs) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_supported_band { + pub channels: *mut ieee80211_channel, + pub bitrates: *mut ieee80211_rate, + pub band: nl80211_band, + pub n_channels: ::core::ffi::c_int, + pub n_bitrates: ::core::ffi::c_int, + pub ht_cap: ieee80211_sta_ht_cap, + pub vht_cap: ieee80211_sta_vht_cap, + pub s1g_cap: ieee80211_sta_s1g_cap, + pub edmg_cap: ieee80211_edmg, + pub n_iftype_data: u16_, + pub iftype_data: *const ieee80211_sband_iftype_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_supported_band"] + [::core::mem::size_of::() - 104usize]; + ["Alignment of ieee80211_supported_band"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee80211_supported_band::channels"] + [::core::mem::offset_of!(ieee80211_supported_band, channels) - 0usize]; + ["Offset of field: ieee80211_supported_band::bitrates"] + [::core::mem::offset_of!(ieee80211_supported_band, bitrates) - 8usize]; + ["Offset of field: ieee80211_supported_band::band"] + [::core::mem::offset_of!(ieee80211_supported_band, band) - 16usize]; + ["Offset of field: ieee80211_supported_band::n_channels"] + [::core::mem::offset_of!(ieee80211_supported_band, n_channels) - 20usize]; + ["Offset of field: ieee80211_supported_band::n_bitrates"] + [::core::mem::offset_of!(ieee80211_supported_band, n_bitrates) - 24usize]; + ["Offset of field: ieee80211_supported_band::ht_cap"] + [::core::mem::offset_of!(ieee80211_supported_band, ht_cap) - 28usize]; + ["Offset of field: ieee80211_supported_band::vht_cap"] + [::core::mem::offset_of!(ieee80211_supported_band, vht_cap) - 52usize]; + ["Offset of field: ieee80211_supported_band::s1g_cap"] + [::core::mem::offset_of!(ieee80211_supported_band, s1g_cap) - 68usize]; + ["Offset of field: ieee80211_supported_band::edmg_cap"] + [::core::mem::offset_of!(ieee80211_supported_band, edmg_cap) - 84usize]; + ["Offset of field: ieee80211_supported_band::n_iftype_data"] + [::core::mem::offset_of!(ieee80211_supported_band, n_iftype_data) - 92usize]; + ["Offset of field: ieee80211_supported_band::iftype_data"] + [::core::mem::offset_of!(ieee80211_supported_band, iftype_data) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee80211_txrx_stypes { + pub tx: u16_, + pub rx: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee80211_txrx_stypes"][::core::mem::size_of::() - 4usize]; + ["Alignment of ieee80211_txrx_stypes"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: ieee80211_txrx_stypes::tx"] + [::core::mem::offset_of!(ieee80211_txrx_stypes, tx) - 0usize]; + ["Offset of field: ieee80211_txrx_stypes::rx"] + [::core::mem::offset_of!(ieee80211_txrx_stypes, rx) - 2usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ieee802154_addr { + pub mode: u8_, + pub pan_id: __le16, + pub __bindgen_anon_1: ieee802154_addr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ieee802154_addr__bindgen_ty_1 { + pub short_addr: __le16, + pub extended_addr: __le64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee802154_addr__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ieee802154_addr__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee802154_addr__bindgen_ty_1::short_addr"] + [::core::mem::offset_of!(ieee802154_addr__bindgen_ty_1, short_addr) - 0usize]; + ["Offset of field: ieee802154_addr__bindgen_ty_1::extended_addr"] + [::core::mem::offset_of!(ieee802154_addr__bindgen_ty_1, extended_addr) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee802154_addr"][::core::mem::size_of::() - 16usize]; + ["Alignment of ieee802154_addr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee802154_addr::mode"] + [::core::mem::offset_of!(ieee802154_addr, mode) - 0usize]; + ["Offset of field: ieee802154_addr::pan_id"] + [::core::mem::offset_of!(ieee802154_addr, pan_id) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee802154_pan_device { + pub pan_id: __le16, + pub mode: u8_, + pub short_addr: __le16, + pub extended_addr: __le64, + pub node: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee802154_pan_device"][::core::mem::size_of::() - 32usize]; + ["Alignment of ieee802154_pan_device"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee802154_pan_device::pan_id"] + [::core::mem::offset_of!(ieee802154_pan_device, pan_id) - 0usize]; + ["Offset of field: ieee802154_pan_device::mode"] + [::core::mem::offset_of!(ieee802154_pan_device, mode) - 2usize]; + ["Offset of field: ieee802154_pan_device::short_addr"] + [::core::mem::offset_of!(ieee802154_pan_device, short_addr) - 4usize]; + ["Offset of field: ieee802154_pan_device::extended_addr"] + [::core::mem::offset_of!(ieee802154_pan_device, extended_addr) - 8usize]; + ["Offset of field: ieee802154_pan_device::node"] + [::core::mem::offset_of!(ieee802154_pan_device, node) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee_ets { + pub willing: __u8, + pub ets_cap: __u8, + pub cbs: __u8, + pub tc_tx_bw: [__u8; 8usize], + pub tc_rx_bw: [__u8; 8usize], + pub tc_tsa: [__u8; 8usize], + pub prio_tc: [__u8; 8usize], + pub tc_reco_bw: [__u8; 8usize], + pub tc_reco_tsa: [__u8; 8usize], + pub reco_prio_tc: [__u8; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee_ets"][::core::mem::size_of::() - 59usize]; + ["Alignment of ieee_ets"][::core::mem::align_of::() - 1usize]; + ["Offset of field: ieee_ets::willing"][::core::mem::offset_of!(ieee_ets, willing) - 0usize]; + ["Offset of field: ieee_ets::ets_cap"][::core::mem::offset_of!(ieee_ets, ets_cap) - 1usize]; + ["Offset of field: ieee_ets::cbs"][::core::mem::offset_of!(ieee_ets, cbs) - 2usize]; + ["Offset of field: ieee_ets::tc_tx_bw"][::core::mem::offset_of!(ieee_ets, tc_tx_bw) - 3usize]; + ["Offset of field: ieee_ets::tc_rx_bw"][::core::mem::offset_of!(ieee_ets, tc_rx_bw) - 11usize]; + ["Offset of field: ieee_ets::tc_tsa"][::core::mem::offset_of!(ieee_ets, tc_tsa) - 19usize]; + ["Offset of field: ieee_ets::prio_tc"][::core::mem::offset_of!(ieee_ets, prio_tc) - 27usize]; + ["Offset of field: ieee_ets::tc_reco_bw"] + [::core::mem::offset_of!(ieee_ets, tc_reco_bw) - 35usize]; + ["Offset of field: ieee_ets::tc_reco_tsa"] + [::core::mem::offset_of!(ieee_ets, tc_reco_tsa) - 43usize]; + ["Offset of field: ieee_ets::reco_prio_tc"] + [::core::mem::offset_of!(ieee_ets, reco_prio_tc) - 51usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee_maxrate { + pub tc_maxrate: [__u64; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee_maxrate"][::core::mem::size_of::() - 64usize]; + ["Alignment of ieee_maxrate"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee_maxrate::tc_maxrate"] + [::core::mem::offset_of!(ieee_maxrate, tc_maxrate) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee_pfc { + pub pfc_cap: __u8, + pub pfc_en: __u8, + pub mbc: __u8, + pub delay: __u16, + pub requests: [__u64; 8usize], + pub indications: [__u64; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee_pfc"][::core::mem::size_of::() - 136usize]; + ["Alignment of ieee_pfc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee_pfc::pfc_cap"][::core::mem::offset_of!(ieee_pfc, pfc_cap) - 0usize]; + ["Offset of field: ieee_pfc::pfc_en"][::core::mem::offset_of!(ieee_pfc, pfc_en) - 1usize]; + ["Offset of field: ieee_pfc::mbc"][::core::mem::offset_of!(ieee_pfc, mbc) - 2usize]; + ["Offset of field: ieee_pfc::delay"][::core::mem::offset_of!(ieee_pfc, delay) - 4usize]; + ["Offset of field: ieee_pfc::requests"][::core::mem::offset_of!(ieee_pfc, requests) - 8usize]; + ["Offset of field: ieee_pfc::indications"] + [::core::mem::offset_of!(ieee_pfc, indications) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee_qcn { + pub rpg_enable: [__u8; 8usize], + pub rppp_max_rps: [__u32; 8usize], + pub rpg_time_reset: [__u32; 8usize], + pub rpg_byte_reset: [__u32; 8usize], + pub rpg_threshold: [__u32; 8usize], + pub rpg_max_rate: [__u32; 8usize], + pub rpg_ai_rate: [__u32; 8usize], + pub rpg_hai_rate: [__u32; 8usize], + pub rpg_gd: [__u32; 8usize], + pub rpg_min_dec_fac: [__u32; 8usize], + pub rpg_min_rate: [__u32; 8usize], + pub cndd_state_machine: [__u32; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee_qcn"][::core::mem::size_of::() - 360usize]; + ["Alignment of ieee_qcn"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ieee_qcn::rpg_enable"] + [::core::mem::offset_of!(ieee_qcn, rpg_enable) - 0usize]; + ["Offset of field: ieee_qcn::rppp_max_rps"] + [::core::mem::offset_of!(ieee_qcn, rppp_max_rps) - 8usize]; + ["Offset of field: ieee_qcn::rpg_time_reset"] + [::core::mem::offset_of!(ieee_qcn, rpg_time_reset) - 40usize]; + ["Offset of field: ieee_qcn::rpg_byte_reset"] + [::core::mem::offset_of!(ieee_qcn, rpg_byte_reset) - 72usize]; + ["Offset of field: ieee_qcn::rpg_threshold"] + [::core::mem::offset_of!(ieee_qcn, rpg_threshold) - 104usize]; + ["Offset of field: ieee_qcn::rpg_max_rate"] + [::core::mem::offset_of!(ieee_qcn, rpg_max_rate) - 136usize]; + ["Offset of field: ieee_qcn::rpg_ai_rate"] + [::core::mem::offset_of!(ieee_qcn, rpg_ai_rate) - 168usize]; + ["Offset of field: ieee_qcn::rpg_hai_rate"] + [::core::mem::offset_of!(ieee_qcn, rpg_hai_rate) - 200usize]; + ["Offset of field: ieee_qcn::rpg_gd"][::core::mem::offset_of!(ieee_qcn, rpg_gd) - 232usize]; + ["Offset of field: ieee_qcn::rpg_min_dec_fac"] + [::core::mem::offset_of!(ieee_qcn, rpg_min_dec_fac) - 264usize]; + ["Offset of field: ieee_qcn::rpg_min_rate"] + [::core::mem::offset_of!(ieee_qcn, rpg_min_rate) - 296usize]; + ["Offset of field: ieee_qcn::cndd_state_machine"] + [::core::mem::offset_of!(ieee_qcn, cndd_state_machine) - 328usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ieee_qcn_stats { + pub rppp_rp_centiseconds: [__u64; 8usize], + pub rppp_created_rps: [__u32; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ieee_qcn_stats"][::core::mem::size_of::() - 96usize]; + ["Alignment of ieee_qcn_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ieee_qcn_stats::rppp_rp_centiseconds"] + [::core::mem::offset_of!(ieee_qcn_stats, rppp_rp_centiseconds) - 0usize]; + ["Offset of field: ieee_qcn_stats::rppp_created_rps"] + [::core::mem::offset_of!(ieee_qcn_stats, rppp_created_rps) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct if_settings { + pub type_: ::core::ffi::c_uint, + pub size: ::core::ffi::c_uint, + pub ifs_ifsu: if_settings__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union if_settings__bindgen_ty_1 { + pub raw_hdlc: *mut raw_hdlc_proto, + pub cisco: *mut cisco_proto, + pub fr: *mut fr_proto, + pub fr_pvc: *mut fr_proto_pvc, + pub fr_pvc_info: *mut fr_proto_pvc_info, + pub x25: *mut x25_hdlc_proto, + pub sync: *mut sync_serial_settings, + pub te1: *mut te1_settings, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of if_settings__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of if_settings__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: if_settings__bindgen_ty_1::raw_hdlc"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, raw_hdlc) - 0usize]; + ["Offset of field: if_settings__bindgen_ty_1::cisco"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, cisco) - 0usize]; + ["Offset of field: if_settings__bindgen_ty_1::fr"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, fr) - 0usize]; + ["Offset of field: if_settings__bindgen_ty_1::fr_pvc"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, fr_pvc) - 0usize]; + ["Offset of field: if_settings__bindgen_ty_1::fr_pvc_info"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, fr_pvc_info) - 0usize]; + ["Offset of field: if_settings__bindgen_ty_1::x25"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, x25) - 0usize]; + ["Offset of field: if_settings__bindgen_ty_1::sync"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, sync) - 0usize]; + ["Offset of field: if_settings__bindgen_ty_1::te1"] + [::core::mem::offset_of!(if_settings__bindgen_ty_1, te1) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of if_settings"][::core::mem::size_of::() - 16usize]; + ["Alignment of if_settings"][::core::mem::align_of::() - 8usize]; + ["Offset of field: if_settings::type_"][::core::mem::offset_of!(if_settings, type_) - 0usize]; + ["Offset of field: if_settings::size"][::core::mem::offset_of!(if_settings, size) - 4usize]; + ["Offset of field: if_settings::ifs_ifsu"] + [::core::mem::offset_of!(if_settings, ifs_ifsu) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ifacaddr6 { + pub aca_addr: in6_addr, + pub aca_rt: *mut fib6_info, + pub aca_next: *mut ifacaddr6, + pub aca_addr_lst: hlist_node, + pub aca_users: ::core::ffi::c_int, + pub aca_refcnt: refcount_t, + pub aca_cstamp: ::core::ffi::c_ulong, + pub aca_tstamp: ::core::ffi::c_ulong, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifacaddr6"][::core::mem::size_of::() - 88usize]; + ["Alignment of ifacaddr6"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ifacaddr6::aca_addr"][::core::mem::offset_of!(ifacaddr6, aca_addr) - 0usize]; + ["Offset of field: ifacaddr6::aca_rt"][::core::mem::offset_of!(ifacaddr6, aca_rt) - 16usize]; + ["Offset of field: ifacaddr6::aca_next"] + [::core::mem::offset_of!(ifacaddr6, aca_next) - 24usize]; + ["Offset of field: ifacaddr6::aca_addr_lst"] + [::core::mem::offset_of!(ifacaddr6, aca_addr_lst) - 32usize]; + ["Offset of field: ifacaddr6::aca_users"] + [::core::mem::offset_of!(ifacaddr6, aca_users) - 48usize]; + ["Offset of field: ifacaddr6::aca_refcnt"] + [::core::mem::offset_of!(ifacaddr6, aca_refcnt) - 52usize]; + ["Offset of field: ifacaddr6::aca_cstamp"] + [::core::mem::offset_of!(ifacaddr6, aca_cstamp) - 56usize]; + ["Offset of field: ifacaddr6::aca_tstamp"] + [::core::mem::offset_of!(ifacaddr6, aca_tstamp) - 64usize]; + ["Offset of field: ifacaddr6::rcu"][::core::mem::offset_of!(ifacaddr6, rcu) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ifla_vf_guid { + pub vf: __u32, + pub guid: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifla_vf_guid"][::core::mem::size_of::() - 16usize]; + ["Alignment of ifla_vf_guid"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ifla_vf_guid::vf"][::core::mem::offset_of!(ifla_vf_guid, vf) - 0usize]; + ["Offset of field: ifla_vf_guid::guid"][::core::mem::offset_of!(ifla_vf_guid, guid) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ifla_vf_info { + pub vf: __u32, + pub mac: [__u8; 32usize], + pub vlan: __u32, + pub qos: __u32, + pub spoofchk: __u32, + pub linkstate: __u32, + pub min_tx_rate: __u32, + pub max_tx_rate: __u32, + pub rss_query_en: __u32, + pub trusted: __u32, + pub vlan_proto: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifla_vf_info"][::core::mem::size_of::() - 72usize]; + ["Alignment of ifla_vf_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ifla_vf_info::vf"][::core::mem::offset_of!(ifla_vf_info, vf) - 0usize]; + ["Offset of field: ifla_vf_info::mac"][::core::mem::offset_of!(ifla_vf_info, mac) - 4usize]; + ["Offset of field: ifla_vf_info::vlan"][::core::mem::offset_of!(ifla_vf_info, vlan) - 36usize]; + ["Offset of field: ifla_vf_info::qos"][::core::mem::offset_of!(ifla_vf_info, qos) - 40usize]; + ["Offset of field: ifla_vf_info::spoofchk"] + [::core::mem::offset_of!(ifla_vf_info, spoofchk) - 44usize]; + ["Offset of field: ifla_vf_info::linkstate"] + [::core::mem::offset_of!(ifla_vf_info, linkstate) - 48usize]; + ["Offset of field: ifla_vf_info::min_tx_rate"] + [::core::mem::offset_of!(ifla_vf_info, min_tx_rate) - 52usize]; + ["Offset of field: ifla_vf_info::max_tx_rate"] + [::core::mem::offset_of!(ifla_vf_info, max_tx_rate) - 56usize]; + ["Offset of field: ifla_vf_info::rss_query_en"] + [::core::mem::offset_of!(ifla_vf_info, rss_query_en) - 60usize]; + ["Offset of field: ifla_vf_info::trusted"] + [::core::mem::offset_of!(ifla_vf_info, trusted) - 64usize]; + ["Offset of field: ifla_vf_info::vlan_proto"] + [::core::mem::offset_of!(ifla_vf_info, vlan_proto) - 68usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ifla_vf_stats { + pub rx_packets: __u64, + pub tx_packets: __u64, + pub rx_bytes: __u64, + pub tx_bytes: __u64, + pub broadcast: __u64, + pub multicast: __u64, + pub rx_dropped: __u64, + pub tx_dropped: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifla_vf_stats"][::core::mem::size_of::() - 64usize]; + ["Alignment of ifla_vf_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ifla_vf_stats::rx_packets"] + [::core::mem::offset_of!(ifla_vf_stats, rx_packets) - 0usize]; + ["Offset of field: ifla_vf_stats::tx_packets"] + [::core::mem::offset_of!(ifla_vf_stats, tx_packets) - 8usize]; + ["Offset of field: ifla_vf_stats::rx_bytes"] + [::core::mem::offset_of!(ifla_vf_stats, rx_bytes) - 16usize]; + ["Offset of field: ifla_vf_stats::tx_bytes"] + [::core::mem::offset_of!(ifla_vf_stats, tx_bytes) - 24usize]; + ["Offset of field: ifla_vf_stats::broadcast"] + [::core::mem::offset_of!(ifla_vf_stats, broadcast) - 32usize]; + ["Offset of field: ifla_vf_stats::multicast"] + [::core::mem::offset_of!(ifla_vf_stats, multicast) - 40usize]; + ["Offset of field: ifla_vf_stats::rx_dropped"] + [::core::mem::offset_of!(ifla_vf_stats, rx_dropped) - 48usize]; + ["Offset of field: ifla_vf_stats::tx_dropped"] + [::core::mem::offset_of!(ifla_vf_stats, tx_dropped) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ifmap { + pub mem_start: ::core::ffi::c_ulong, + pub mem_end: ::core::ffi::c_ulong, + pub base_addr: ::core::ffi::c_ushort, + pub irq: ::core::ffi::c_uchar, + pub dma: ::core::ffi::c_uchar, + pub port: ::core::ffi::c_uchar, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifmap"][::core::mem::size_of::() - 24usize]; + ["Alignment of ifmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ifmap::mem_start"][::core::mem::offset_of!(ifmap, mem_start) - 0usize]; + ["Offset of field: ifmap::mem_end"][::core::mem::offset_of!(ifmap, mem_end) - 8usize]; + ["Offset of field: ifmap::base_addr"][::core::mem::offset_of!(ifmap, base_addr) - 16usize]; + ["Offset of field: ifmap::irq"][::core::mem::offset_of!(ifmap, irq) - 18usize]; + ["Offset of field: ifmap::dma"][::core::mem::offset_of!(ifmap, dma) - 19usize]; + ["Offset of field: ifmap::port"][::core::mem::offset_of!(ifmap, port) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ifmcaddr6 { + pub mca_addr: in6_addr, + pub idev: *mut inet6_dev, + pub next: *mut ifmcaddr6, + pub mca_sources: *mut ip6_sf_list, + pub mca_tomb: *mut ip6_sf_list, + pub mca_sfmode: ::core::ffi::c_uint, + pub mca_crcount: ::core::ffi::c_uchar, + pub mca_sfcount: [::core::ffi::c_ulong; 2usize], + pub mca_work: delayed_work, + pub mca_flags: ::core::ffi::c_uint, + pub mca_users: ::core::ffi::c_int, + pub mca_refcnt: refcount_t, + pub mca_cstamp: ::core::ffi::c_ulong, + pub mca_tstamp: ::core::ffi::c_ulong, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifmcaddr6"][::core::mem::size_of::() - 208usize]; + ["Alignment of ifmcaddr6"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ifmcaddr6::mca_addr"][::core::mem::offset_of!(ifmcaddr6, mca_addr) - 0usize]; + ["Offset of field: ifmcaddr6::idev"][::core::mem::offset_of!(ifmcaddr6, idev) - 16usize]; + ["Offset of field: ifmcaddr6::next"][::core::mem::offset_of!(ifmcaddr6, next) - 24usize]; + ["Offset of field: ifmcaddr6::mca_sources"] + [::core::mem::offset_of!(ifmcaddr6, mca_sources) - 32usize]; + ["Offset of field: ifmcaddr6::mca_tomb"] + [::core::mem::offset_of!(ifmcaddr6, mca_tomb) - 40usize]; + ["Offset of field: ifmcaddr6::mca_sfmode"] + [::core::mem::offset_of!(ifmcaddr6, mca_sfmode) - 48usize]; + ["Offset of field: ifmcaddr6::mca_crcount"] + [::core::mem::offset_of!(ifmcaddr6, mca_crcount) - 52usize]; + ["Offset of field: ifmcaddr6::mca_sfcount"] + [::core::mem::offset_of!(ifmcaddr6, mca_sfcount) - 56usize]; + ["Offset of field: ifmcaddr6::mca_work"] + [::core::mem::offset_of!(ifmcaddr6, mca_work) - 72usize]; + ["Offset of field: ifmcaddr6::mca_flags"] + [::core::mem::offset_of!(ifmcaddr6, mca_flags) - 160usize]; + ["Offset of field: ifmcaddr6::mca_users"] + [::core::mem::offset_of!(ifmcaddr6, mca_users) - 164usize]; + ["Offset of field: ifmcaddr6::mca_refcnt"] + [::core::mem::offset_of!(ifmcaddr6, mca_refcnt) - 168usize]; + ["Offset of field: ifmcaddr6::mca_cstamp"] + [::core::mem::offset_of!(ifmcaddr6, mca_cstamp) - 176usize]; + ["Offset of field: ifmcaddr6::mca_tstamp"] + [::core::mem::offset_of!(ifmcaddr6, mca_tstamp) - 184usize]; + ["Offset of field: ifmcaddr6::rcu"][::core::mem::offset_of!(ifmcaddr6, rcu) - 192usize]; +}; +#[repr(C)] +pub struct ifreq { + pub ifr_ifrn: ifreq__bindgen_ty_1, + pub ifr_ifru: ifreq__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ifreq__bindgen_ty_1 { + pub ifrn_name: [::core::ffi::c_char; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifreq__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of ifreq__bindgen_ty_1"][::core::mem::align_of::() - 1usize]; + ["Offset of field: ifreq__bindgen_ty_1::ifrn_name"] + [::core::mem::offset_of!(ifreq__bindgen_ty_1, ifrn_name) - 0usize]; +}; +#[repr(C)] +pub struct ifreq__bindgen_ty_2 { + pub ifru_addr: __BindgenUnionField, + pub ifru_dstaddr: __BindgenUnionField, + pub ifru_broadaddr: __BindgenUnionField, + pub ifru_netmask: __BindgenUnionField, + pub ifru_hwaddr: __BindgenUnionField, + pub ifru_flags: __BindgenUnionField<::core::ffi::c_short>, + pub ifru_ivalue: __BindgenUnionField<::core::ffi::c_int>, + pub ifru_mtu: __BindgenUnionField<::core::ffi::c_int>, + pub ifru_map: __BindgenUnionField, + pub ifru_slave: __BindgenUnionField<[::core::ffi::c_char; 16usize]>, + pub ifru_newname: __BindgenUnionField<[::core::ffi::c_char; 16usize]>, + pub ifru_data: __BindgenUnionField<*mut ::core::ffi::c_void>, + pub ifru_settings: __BindgenUnionField, + pub bindgen_union_field: [u64; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifreq__bindgen_ty_2"][::core::mem::size_of::() - 24usize]; + ["Alignment of ifreq__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_addr"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_addr) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_dstaddr"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_dstaddr) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_broadaddr"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_broadaddr) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_netmask"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_netmask) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_hwaddr"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_hwaddr) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_flags"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_flags) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_ivalue"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_ivalue) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_mtu"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_mtu) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_map"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_map) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_slave"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_slave) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_newname"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_newname) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_data"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_data) - 0usize]; + ["Offset of field: ifreq__bindgen_ty_2::ifru_settings"] + [::core::mem::offset_of!(ifreq__bindgen_ty_2, ifru_settings) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ifreq"][::core::mem::size_of::() - 40usize]; + ["Alignment of ifreq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ifreq::ifr_ifrn"][::core::mem::offset_of!(ifreq, ifr_ifrn) - 0usize]; + ["Offset of field: ifreq::ifr_ifru"][::core::mem::offset_of!(ifreq, ifr_ifru) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ipv4_devconf { + pub sysctl: *mut ::core::ffi::c_void, + pub data: [::core::ffi::c_int; 33usize], + pub state: [::core::ffi::c_ulong; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ipv4_devconf"][::core::mem::size_of::() - 152usize]; + ["Alignment of ipv4_devconf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ipv4_devconf::sysctl"] + [::core::mem::offset_of!(ipv4_devconf, sysctl) - 0usize]; + ["Offset of field: ipv4_devconf::data"][::core::mem::offset_of!(ipv4_devconf, data) - 8usize]; + ["Offset of field: ipv4_devconf::state"] + [::core::mem::offset_of!(ipv4_devconf, state) - 144usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in_device { + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub refcnt: refcount_t, + pub dead: ::core::ffi::c_int, + pub ifa_list: *mut in_ifaddr, + pub mc_list: *mut ip_mc_list, + pub mc_hash: *mut *mut ip_mc_list, + pub mc_count: ::core::ffi::c_int, + pub mc_tomb_lock: spinlock_t, + pub mc_tomb: *mut ip_mc_list, + pub mr_v1_seen: ::core::ffi::c_ulong, + pub mr_v2_seen: ::core::ffi::c_ulong, + pub mr_maxdelay: ::core::ffi::c_ulong, + pub mr_qi: ::core::ffi::c_ulong, + pub mr_qri: ::core::ffi::c_ulong, + pub mr_qrv: ::core::ffi::c_uchar, + pub mr_gq_running: ::core::ffi::c_uchar, + pub mr_ifc_count: u32_, + pub mr_gq_timer: timer_list, + pub mr_ifc_timer: timer_list, + pub arp_parms: *mut neigh_parms, + pub cnf: ipv4_devconf, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of in_device"][::core::mem::size_of::() - 360usize]; + ["Alignment of in_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: in_device::dev"][::core::mem::offset_of!(in_device, dev) - 0usize]; + ["Offset of field: in_device::dev_tracker"] + [::core::mem::offset_of!(in_device, dev_tracker) - 8usize]; + ["Offset of field: in_device::refcnt"][::core::mem::offset_of!(in_device, refcnt) - 8usize]; + ["Offset of field: in_device::dead"][::core::mem::offset_of!(in_device, dead) - 12usize]; + ["Offset of field: in_device::ifa_list"] + [::core::mem::offset_of!(in_device, ifa_list) - 16usize]; + ["Offset of field: in_device::mc_list"][::core::mem::offset_of!(in_device, mc_list) - 24usize]; + ["Offset of field: in_device::mc_hash"][::core::mem::offset_of!(in_device, mc_hash) - 32usize]; + ["Offset of field: in_device::mc_count"] + [::core::mem::offset_of!(in_device, mc_count) - 40usize]; + ["Offset of field: in_device::mc_tomb_lock"] + [::core::mem::offset_of!(in_device, mc_tomb_lock) - 44usize]; + ["Offset of field: in_device::mc_tomb"][::core::mem::offset_of!(in_device, mc_tomb) - 48usize]; + ["Offset of field: in_device::mr_v1_seen"] + [::core::mem::offset_of!(in_device, mr_v1_seen) - 56usize]; + ["Offset of field: in_device::mr_v2_seen"] + [::core::mem::offset_of!(in_device, mr_v2_seen) - 64usize]; + ["Offset of field: in_device::mr_maxdelay"] + [::core::mem::offset_of!(in_device, mr_maxdelay) - 72usize]; + ["Offset of field: in_device::mr_qi"][::core::mem::offset_of!(in_device, mr_qi) - 80usize]; + ["Offset of field: in_device::mr_qri"][::core::mem::offset_of!(in_device, mr_qri) - 88usize]; + ["Offset of field: in_device::mr_qrv"][::core::mem::offset_of!(in_device, mr_qrv) - 96usize]; + ["Offset of field: in_device::mr_gq_running"] + [::core::mem::offset_of!(in_device, mr_gq_running) - 97usize]; + ["Offset of field: in_device::mr_ifc_count"] + [::core::mem::offset_of!(in_device, mr_ifc_count) - 100usize]; + ["Offset of field: in_device::mr_gq_timer"] + [::core::mem::offset_of!(in_device, mr_gq_timer) - 104usize]; + ["Offset of field: in_device::mr_ifc_timer"] + [::core::mem::offset_of!(in_device, mr_ifc_timer) - 144usize]; + ["Offset of field: in_device::arp_parms"] + [::core::mem::offset_of!(in_device, arp_parms) - 184usize]; + ["Offset of field: in_device::cnf"][::core::mem::offset_of!(in_device, cnf) - 192usize]; + ["Offset of field: in_device::callback_head"] + [::core::mem::offset_of!(in_device, callback_head) - 344usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct in_ifaddr { + pub hash: hlist_node, + pub ifa_next: *mut in_ifaddr, + pub ifa_dev: *mut in_device, + pub callback_head: callback_head, + pub ifa_local: __be32, + pub ifa_address: __be32, + pub ifa_mask: __be32, + pub ifa_rt_priority: __u32, + pub ifa_broadcast: __be32, + pub ifa_scope: ::core::ffi::c_uchar, + pub ifa_prefixlen: ::core::ffi::c_uchar, + pub ifa_proto: ::core::ffi::c_uchar, + pub ifa_flags: __u32, + pub ifa_label: [::core::ffi::c_char; 16usize], + pub ifa_valid_lft: __u32, + pub ifa_preferred_lft: __u32, + pub ifa_cstamp: ::core::ffi::c_ulong, + pub ifa_tstamp: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of in_ifaddr"][::core::mem::size_of::() - 120usize]; + ["Alignment of in_ifaddr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: in_ifaddr::hash"][::core::mem::offset_of!(in_ifaddr, hash) - 0usize]; + ["Offset of field: in_ifaddr::ifa_next"] + [::core::mem::offset_of!(in_ifaddr, ifa_next) - 16usize]; + ["Offset of field: in_ifaddr::ifa_dev"][::core::mem::offset_of!(in_ifaddr, ifa_dev) - 24usize]; + ["Offset of field: in_ifaddr::callback_head"] + [::core::mem::offset_of!(in_ifaddr, callback_head) - 32usize]; + ["Offset of field: in_ifaddr::ifa_local"] + [::core::mem::offset_of!(in_ifaddr, ifa_local) - 48usize]; + ["Offset of field: in_ifaddr::ifa_address"] + [::core::mem::offset_of!(in_ifaddr, ifa_address) - 52usize]; + ["Offset of field: in_ifaddr::ifa_mask"] + [::core::mem::offset_of!(in_ifaddr, ifa_mask) - 56usize]; + ["Offset of field: in_ifaddr::ifa_rt_priority"] + [::core::mem::offset_of!(in_ifaddr, ifa_rt_priority) - 60usize]; + ["Offset of field: in_ifaddr::ifa_broadcast"] + [::core::mem::offset_of!(in_ifaddr, ifa_broadcast) - 64usize]; + ["Offset of field: in_ifaddr::ifa_scope"] + [::core::mem::offset_of!(in_ifaddr, ifa_scope) - 68usize]; + ["Offset of field: in_ifaddr::ifa_prefixlen"] + [::core::mem::offset_of!(in_ifaddr, ifa_prefixlen) - 69usize]; + ["Offset of field: in_ifaddr::ifa_proto"] + [::core::mem::offset_of!(in_ifaddr, ifa_proto) - 70usize]; + ["Offset of field: in_ifaddr::ifa_flags"] + [::core::mem::offset_of!(in_ifaddr, ifa_flags) - 72usize]; + ["Offset of field: in_ifaddr::ifa_label"] + [::core::mem::offset_of!(in_ifaddr, ifa_label) - 76usize]; + ["Offset of field: in_ifaddr::ifa_valid_lft"] + [::core::mem::offset_of!(in_ifaddr, ifa_valid_lft) - 92usize]; + ["Offset of field: in_ifaddr::ifa_preferred_lft"] + [::core::mem::offset_of!(in_ifaddr, ifa_preferred_lft) - 96usize]; + ["Offset of field: in_ifaddr::ifa_cstamp"] + [::core::mem::offset_of!(in_ifaddr, ifa_cstamp) - 104usize]; + ["Offset of field: in_ifaddr::ifa_tstamp"] + [::core::mem::offset_of!(in_ifaddr, ifa_tstamp) - 112usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ipv6_stable_secret { + pub initialized: bool_, + pub secret: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ipv6_stable_secret"][::core::mem::size_of::() - 20usize]; + ["Alignment of ipv6_stable_secret"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ipv6_stable_secret::initialized"] + [::core::mem::offset_of!(ipv6_stable_secret, initialized) - 0usize]; + ["Offset of field: ipv6_stable_secret::secret"] + [::core::mem::offset_of!(ipv6_stable_secret, secret) - 4usize]; +}; +#[repr(C)] +pub struct ipv6_devconf { + pub __cacheline_group_begin__ipv6_devconf_read_txrx: __IncompleteArrayField<__u8>, + pub disable_ipv6: __s32, + pub hop_limit: __s32, + pub mtu6: __s32, + pub forwarding: __s32, + pub disable_policy: __s32, + pub proxy_ndp: __s32, + pub __cacheline_group_end__ipv6_devconf_read_txrx: __IncompleteArrayField<__u8>, + pub accept_ra: __s32, + pub accept_redirects: __s32, + pub autoconf: __s32, + pub dad_transmits: __s32, + pub rtr_solicits: __s32, + pub rtr_solicit_interval: __s32, + pub rtr_solicit_max_interval: __s32, + pub rtr_solicit_delay: __s32, + pub force_mld_version: __s32, + pub mldv1_unsolicited_report_interval: __s32, + pub mldv2_unsolicited_report_interval: __s32, + pub use_tempaddr: __s32, + pub temp_valid_lft: __s32, + pub temp_prefered_lft: __s32, + pub regen_min_advance: __s32, + pub regen_max_retry: __s32, + pub max_desync_factor: __s32, + pub max_addresses: __s32, + pub accept_ra_defrtr: __s32, + pub ra_defrtr_metric: __u32, + pub accept_ra_min_hop_limit: __s32, + pub accept_ra_min_lft: __s32, + pub accept_ra_pinfo: __s32, + pub ignore_routes_with_linkdown: __s32, + pub accept_ra_rtr_pref: __s32, + pub rtr_probe_interval: __s32, + pub accept_ra_rt_info_min_plen: __s32, + pub accept_ra_rt_info_max_plen: __s32, + pub accept_source_route: __s32, + pub accept_ra_from_local: __s32, + pub optimistic_dad: __s32, + pub use_optimistic: __s32, + pub mc_forwarding: atomic_t, + pub drop_unicast_in_l2_multicast: __s32, + pub accept_dad: __s32, + pub force_tllao: __s32, + pub ndisc_notify: __s32, + pub suppress_frag_ndisc: __s32, + pub accept_ra_mtu: __s32, + pub drop_unsolicited_na: __s32, + pub accept_untracked_na: __s32, + pub stable_secret: ipv6_stable_secret, + pub use_oif_addrs_only: __s32, + pub keep_addr_on_down: __s32, + pub seg6_enabled: __s32, + pub seg6_require_hmac: __s32, + pub enhanced_dad: __u32, + pub addr_gen_mode: __u32, + pub ndisc_tclass: __s32, + pub rpl_seg_enabled: __s32, + pub ioam6_id: __u32, + pub ioam6_id_wide: __u32, + pub ioam6_enabled: __u8, + pub ndisc_evict_nocarrier: __u8, + pub ra_honor_pio_life: __u8, + pub ra_honor_pio_pflag: __u8, + pub sysctl_header: *mut ctl_table_header, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ipv6_devconf"][::core::mem::size_of::() - 264usize]; + ["Alignment of ipv6_devconf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ipv6_devconf::__cacheline_group_begin__ipv6_devconf_read_txrx"][::core::mem::offset_of!( + ipv6_devconf, + __cacheline_group_begin__ipv6_devconf_read_txrx + ) - 0usize]; + ["Offset of field: ipv6_devconf::disable_ipv6"] + [::core::mem::offset_of!(ipv6_devconf, disable_ipv6) - 0usize]; + ["Offset of field: ipv6_devconf::hop_limit"] + [::core::mem::offset_of!(ipv6_devconf, hop_limit) - 4usize]; + ["Offset of field: ipv6_devconf::mtu6"][::core::mem::offset_of!(ipv6_devconf, mtu6) - 8usize]; + ["Offset of field: ipv6_devconf::forwarding"] + [::core::mem::offset_of!(ipv6_devconf, forwarding) - 12usize]; + ["Offset of field: ipv6_devconf::disable_policy"] + [::core::mem::offset_of!(ipv6_devconf, disable_policy) - 16usize]; + ["Offset of field: ipv6_devconf::proxy_ndp"] + [::core::mem::offset_of!(ipv6_devconf, proxy_ndp) - 20usize]; + ["Offset of field: ipv6_devconf::__cacheline_group_end__ipv6_devconf_read_txrx"][::core::mem::offset_of!( + ipv6_devconf, + __cacheline_group_end__ipv6_devconf_read_txrx + ) - 24usize]; + ["Offset of field: ipv6_devconf::accept_ra"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra) - 24usize]; + ["Offset of field: ipv6_devconf::accept_redirects"] + [::core::mem::offset_of!(ipv6_devconf, accept_redirects) - 28usize]; + ["Offset of field: ipv6_devconf::autoconf"] + [::core::mem::offset_of!(ipv6_devconf, autoconf) - 32usize]; + ["Offset of field: ipv6_devconf::dad_transmits"] + [::core::mem::offset_of!(ipv6_devconf, dad_transmits) - 36usize]; + ["Offset of field: ipv6_devconf::rtr_solicits"] + [::core::mem::offset_of!(ipv6_devconf, rtr_solicits) - 40usize]; + ["Offset of field: ipv6_devconf::rtr_solicit_interval"] + [::core::mem::offset_of!(ipv6_devconf, rtr_solicit_interval) - 44usize]; + ["Offset of field: ipv6_devconf::rtr_solicit_max_interval"] + [::core::mem::offset_of!(ipv6_devconf, rtr_solicit_max_interval) - 48usize]; + ["Offset of field: ipv6_devconf::rtr_solicit_delay"] + [::core::mem::offset_of!(ipv6_devconf, rtr_solicit_delay) - 52usize]; + ["Offset of field: ipv6_devconf::force_mld_version"] + [::core::mem::offset_of!(ipv6_devconf, force_mld_version) - 56usize]; + ["Offset of field: ipv6_devconf::mldv1_unsolicited_report_interval"] + [::core::mem::offset_of!(ipv6_devconf, mldv1_unsolicited_report_interval) - 60usize]; + ["Offset of field: ipv6_devconf::mldv2_unsolicited_report_interval"] + [::core::mem::offset_of!(ipv6_devconf, mldv2_unsolicited_report_interval) - 64usize]; + ["Offset of field: ipv6_devconf::use_tempaddr"] + [::core::mem::offset_of!(ipv6_devconf, use_tempaddr) - 68usize]; + ["Offset of field: ipv6_devconf::temp_valid_lft"] + [::core::mem::offset_of!(ipv6_devconf, temp_valid_lft) - 72usize]; + ["Offset of field: ipv6_devconf::temp_prefered_lft"] + [::core::mem::offset_of!(ipv6_devconf, temp_prefered_lft) - 76usize]; + ["Offset of field: ipv6_devconf::regen_min_advance"] + [::core::mem::offset_of!(ipv6_devconf, regen_min_advance) - 80usize]; + ["Offset of field: ipv6_devconf::regen_max_retry"] + [::core::mem::offset_of!(ipv6_devconf, regen_max_retry) - 84usize]; + ["Offset of field: ipv6_devconf::max_desync_factor"] + [::core::mem::offset_of!(ipv6_devconf, max_desync_factor) - 88usize]; + ["Offset of field: ipv6_devconf::max_addresses"] + [::core::mem::offset_of!(ipv6_devconf, max_addresses) - 92usize]; + ["Offset of field: ipv6_devconf::accept_ra_defrtr"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_defrtr) - 96usize]; + ["Offset of field: ipv6_devconf::ra_defrtr_metric"] + [::core::mem::offset_of!(ipv6_devconf, ra_defrtr_metric) - 100usize]; + ["Offset of field: ipv6_devconf::accept_ra_min_hop_limit"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_min_hop_limit) - 104usize]; + ["Offset of field: ipv6_devconf::accept_ra_min_lft"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_min_lft) - 108usize]; + ["Offset of field: ipv6_devconf::accept_ra_pinfo"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_pinfo) - 112usize]; + ["Offset of field: ipv6_devconf::ignore_routes_with_linkdown"] + [::core::mem::offset_of!(ipv6_devconf, ignore_routes_with_linkdown) - 116usize]; + ["Offset of field: ipv6_devconf::accept_ra_rtr_pref"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_rtr_pref) - 120usize]; + ["Offset of field: ipv6_devconf::rtr_probe_interval"] + [::core::mem::offset_of!(ipv6_devconf, rtr_probe_interval) - 124usize]; + ["Offset of field: ipv6_devconf::accept_ra_rt_info_min_plen"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_rt_info_min_plen) - 128usize]; + ["Offset of field: ipv6_devconf::accept_ra_rt_info_max_plen"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_rt_info_max_plen) - 132usize]; + ["Offset of field: ipv6_devconf::accept_source_route"] + [::core::mem::offset_of!(ipv6_devconf, accept_source_route) - 136usize]; + ["Offset of field: ipv6_devconf::accept_ra_from_local"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_from_local) - 140usize]; + ["Offset of field: ipv6_devconf::optimistic_dad"] + [::core::mem::offset_of!(ipv6_devconf, optimistic_dad) - 144usize]; + ["Offset of field: ipv6_devconf::use_optimistic"] + [::core::mem::offset_of!(ipv6_devconf, use_optimistic) - 148usize]; + ["Offset of field: ipv6_devconf::mc_forwarding"] + [::core::mem::offset_of!(ipv6_devconf, mc_forwarding) - 152usize]; + ["Offset of field: ipv6_devconf::drop_unicast_in_l2_multicast"] + [::core::mem::offset_of!(ipv6_devconf, drop_unicast_in_l2_multicast) - 156usize]; + ["Offset of field: ipv6_devconf::accept_dad"] + [::core::mem::offset_of!(ipv6_devconf, accept_dad) - 160usize]; + ["Offset of field: ipv6_devconf::force_tllao"] + [::core::mem::offset_of!(ipv6_devconf, force_tllao) - 164usize]; + ["Offset of field: ipv6_devconf::ndisc_notify"] + [::core::mem::offset_of!(ipv6_devconf, ndisc_notify) - 168usize]; + ["Offset of field: ipv6_devconf::suppress_frag_ndisc"] + [::core::mem::offset_of!(ipv6_devconf, suppress_frag_ndisc) - 172usize]; + ["Offset of field: ipv6_devconf::accept_ra_mtu"] + [::core::mem::offset_of!(ipv6_devconf, accept_ra_mtu) - 176usize]; + ["Offset of field: ipv6_devconf::drop_unsolicited_na"] + [::core::mem::offset_of!(ipv6_devconf, drop_unsolicited_na) - 180usize]; + ["Offset of field: ipv6_devconf::accept_untracked_na"] + [::core::mem::offset_of!(ipv6_devconf, accept_untracked_na) - 184usize]; + ["Offset of field: ipv6_devconf::stable_secret"] + [::core::mem::offset_of!(ipv6_devconf, stable_secret) - 188usize]; + ["Offset of field: ipv6_devconf::use_oif_addrs_only"] + [::core::mem::offset_of!(ipv6_devconf, use_oif_addrs_only) - 208usize]; + ["Offset of field: ipv6_devconf::keep_addr_on_down"] + [::core::mem::offset_of!(ipv6_devconf, keep_addr_on_down) - 212usize]; + ["Offset of field: ipv6_devconf::seg6_enabled"] + [::core::mem::offset_of!(ipv6_devconf, seg6_enabled) - 216usize]; + ["Offset of field: ipv6_devconf::seg6_require_hmac"] + [::core::mem::offset_of!(ipv6_devconf, seg6_require_hmac) - 220usize]; + ["Offset of field: ipv6_devconf::enhanced_dad"] + [::core::mem::offset_of!(ipv6_devconf, enhanced_dad) - 224usize]; + ["Offset of field: ipv6_devconf::addr_gen_mode"] + [::core::mem::offset_of!(ipv6_devconf, addr_gen_mode) - 228usize]; + ["Offset of field: ipv6_devconf::ndisc_tclass"] + [::core::mem::offset_of!(ipv6_devconf, ndisc_tclass) - 232usize]; + ["Offset of field: ipv6_devconf::rpl_seg_enabled"] + [::core::mem::offset_of!(ipv6_devconf, rpl_seg_enabled) - 236usize]; + ["Offset of field: ipv6_devconf::ioam6_id"] + [::core::mem::offset_of!(ipv6_devconf, ioam6_id) - 240usize]; + ["Offset of field: ipv6_devconf::ioam6_id_wide"] + [::core::mem::offset_of!(ipv6_devconf, ioam6_id_wide) - 244usize]; + ["Offset of field: ipv6_devconf::ioam6_enabled"] + [::core::mem::offset_of!(ipv6_devconf, ioam6_enabled) - 248usize]; + ["Offset of field: ipv6_devconf::ndisc_evict_nocarrier"] + [::core::mem::offset_of!(ipv6_devconf, ndisc_evict_nocarrier) - 249usize]; + ["Offset of field: ipv6_devconf::ra_honor_pio_life"] + [::core::mem::offset_of!(ipv6_devconf, ra_honor_pio_life) - 250usize]; + ["Offset of field: ipv6_devconf::ra_honor_pio_pflag"] + [::core::mem::offset_of!(ipv6_devconf, ra_honor_pio_pflag) - 251usize]; + ["Offset of field: ipv6_devconf::sysctl_header"] + [::core::mem::offset_of!(ipv6_devconf, sysctl_header) - 256usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ipv6_devstat { + pub proc_dir_entry: *mut proc_dir_entry, + pub ipv6: *mut ipstats_mib, + pub icmpv6dev: *mut icmpv6_mib_device, + pub icmpv6msgdev: *mut icmpv6msg_mib_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ipv6_devstat"][::core::mem::size_of::() - 32usize]; + ["Alignment of ipv6_devstat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ipv6_devstat::proc_dir_entry"] + [::core::mem::offset_of!(ipv6_devstat, proc_dir_entry) - 0usize]; + ["Offset of field: ipv6_devstat::ipv6"][::core::mem::offset_of!(ipv6_devstat, ipv6) - 8usize]; + ["Offset of field: ipv6_devstat::icmpv6dev"] + [::core::mem::offset_of!(ipv6_devstat, icmpv6dev) - 16usize]; + ["Offset of field: ipv6_devstat::icmpv6msgdev"] + [::core::mem::offset_of!(ipv6_devstat, icmpv6msgdev) - 24usize]; +}; +#[repr(C)] +pub struct inet6_dev { + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub addr_list: list_head, + pub mc_list: *mut ifmcaddr6, + pub mc_tomb: *mut ifmcaddr6, + pub mc_qrv: ::core::ffi::c_uchar, + pub mc_gq_running: ::core::ffi::c_uchar, + pub mc_ifc_count: ::core::ffi::c_uchar, + pub mc_dad_count: ::core::ffi::c_uchar, + pub mc_v1_seen: ::core::ffi::c_ulong, + pub mc_qi: ::core::ffi::c_ulong, + pub mc_qri: ::core::ffi::c_ulong, + pub mc_maxdelay: ::core::ffi::c_ulong, + pub mc_gq_work: delayed_work, + pub mc_ifc_work: delayed_work, + pub mc_dad_work: delayed_work, + pub mc_query_work: delayed_work, + pub mc_report_work: delayed_work, + pub mc_query_queue: sk_buff_head, + pub mc_report_queue: sk_buff_head, + pub mc_query_lock: spinlock_t, + pub mc_report_lock: spinlock_t, + pub mc_lock: mutex, + pub ac_list: *mut ifacaddr6, + pub lock: rwlock_t, + pub refcnt: refcount_t, + pub if_flags: __u32, + pub dead: ::core::ffi::c_int, + pub desync_factor: u32_, + pub tempaddr_list: list_head, + pub token: in6_addr, + pub nd_parms: *mut neigh_parms, + pub cnf: ipv6_devconf, + pub stats: ipv6_devstat, + pub rs_timer: timer_list, + pub rs_interval: __s32, + pub rs_probes: __u8, + pub tstamp: ::core::ffi::c_ulong, + pub rcu: callback_head, + pub ra_mtu: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet6_dev"][::core::mem::size_of::() - 1056usize]; + ["Alignment of inet6_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inet6_dev::dev"][::core::mem::offset_of!(inet6_dev, dev) - 0usize]; + ["Offset of field: inet6_dev::dev_tracker"] + [::core::mem::offset_of!(inet6_dev, dev_tracker) - 8usize]; + ["Offset of field: inet6_dev::addr_list"] + [::core::mem::offset_of!(inet6_dev, addr_list) - 8usize]; + ["Offset of field: inet6_dev::mc_list"][::core::mem::offset_of!(inet6_dev, mc_list) - 24usize]; + ["Offset of field: inet6_dev::mc_tomb"][::core::mem::offset_of!(inet6_dev, mc_tomb) - 32usize]; + ["Offset of field: inet6_dev::mc_qrv"][::core::mem::offset_of!(inet6_dev, mc_qrv) - 40usize]; + ["Offset of field: inet6_dev::mc_gq_running"] + [::core::mem::offset_of!(inet6_dev, mc_gq_running) - 41usize]; + ["Offset of field: inet6_dev::mc_ifc_count"] + [::core::mem::offset_of!(inet6_dev, mc_ifc_count) - 42usize]; + ["Offset of field: inet6_dev::mc_dad_count"] + [::core::mem::offset_of!(inet6_dev, mc_dad_count) - 43usize]; + ["Offset of field: inet6_dev::mc_v1_seen"] + [::core::mem::offset_of!(inet6_dev, mc_v1_seen) - 48usize]; + ["Offset of field: inet6_dev::mc_qi"][::core::mem::offset_of!(inet6_dev, mc_qi) - 56usize]; + ["Offset of field: inet6_dev::mc_qri"][::core::mem::offset_of!(inet6_dev, mc_qri) - 64usize]; + ["Offset of field: inet6_dev::mc_maxdelay"] + [::core::mem::offset_of!(inet6_dev, mc_maxdelay) - 72usize]; + ["Offset of field: inet6_dev::mc_gq_work"] + [::core::mem::offset_of!(inet6_dev, mc_gq_work) - 80usize]; + ["Offset of field: inet6_dev::mc_ifc_work"] + [::core::mem::offset_of!(inet6_dev, mc_ifc_work) - 168usize]; + ["Offset of field: inet6_dev::mc_dad_work"] + [::core::mem::offset_of!(inet6_dev, mc_dad_work) - 256usize]; + ["Offset of field: inet6_dev::mc_query_work"] + [::core::mem::offset_of!(inet6_dev, mc_query_work) - 344usize]; + ["Offset of field: inet6_dev::mc_report_work"] + [::core::mem::offset_of!(inet6_dev, mc_report_work) - 432usize]; + ["Offset of field: inet6_dev::mc_query_queue"] + [::core::mem::offset_of!(inet6_dev, mc_query_queue) - 520usize]; + ["Offset of field: inet6_dev::mc_report_queue"] + [::core::mem::offset_of!(inet6_dev, mc_report_queue) - 544usize]; + ["Offset of field: inet6_dev::mc_query_lock"] + [::core::mem::offset_of!(inet6_dev, mc_query_lock) - 568usize]; + ["Offset of field: inet6_dev::mc_report_lock"] + [::core::mem::offset_of!(inet6_dev, mc_report_lock) - 572usize]; + ["Offset of field: inet6_dev::mc_lock"][::core::mem::offset_of!(inet6_dev, mc_lock) - 576usize]; + ["Offset of field: inet6_dev::ac_list"][::core::mem::offset_of!(inet6_dev, ac_list) - 608usize]; + ["Offset of field: inet6_dev::lock"][::core::mem::offset_of!(inet6_dev, lock) - 616usize]; + ["Offset of field: inet6_dev::refcnt"][::core::mem::offset_of!(inet6_dev, refcnt) - 624usize]; + ["Offset of field: inet6_dev::if_flags"] + [::core::mem::offset_of!(inet6_dev, if_flags) - 628usize]; + ["Offset of field: inet6_dev::dead"][::core::mem::offset_of!(inet6_dev, dead) - 632usize]; + ["Offset of field: inet6_dev::desync_factor"] + [::core::mem::offset_of!(inet6_dev, desync_factor) - 636usize]; + ["Offset of field: inet6_dev::tempaddr_list"] + [::core::mem::offset_of!(inet6_dev, tempaddr_list) - 640usize]; + ["Offset of field: inet6_dev::token"][::core::mem::offset_of!(inet6_dev, token) - 656usize]; + ["Offset of field: inet6_dev::nd_parms"] + [::core::mem::offset_of!(inet6_dev, nd_parms) - 672usize]; + ["Offset of field: inet6_dev::cnf"][::core::mem::offset_of!(inet6_dev, cnf) - 680usize]; + ["Offset of field: inet6_dev::stats"][::core::mem::offset_of!(inet6_dev, stats) - 944usize]; + ["Offset of field: inet6_dev::rs_timer"] + [::core::mem::offset_of!(inet6_dev, rs_timer) - 976usize]; + ["Offset of field: inet6_dev::rs_interval"] + [::core::mem::offset_of!(inet6_dev, rs_interval) - 1016usize]; + ["Offset of field: inet6_dev::rs_probes"] + [::core::mem::offset_of!(inet6_dev, rs_probes) - 1020usize]; + ["Offset of field: inet6_dev::tstamp"][::core::mem::offset_of!(inet6_dev, tstamp) - 1024usize]; + ["Offset of field: inet6_dev::rcu"][::core::mem::offset_of!(inet6_dev, rcu) - 1032usize]; + ["Offset of field: inet6_dev::ra_mtu"][::core::mem::offset_of!(inet6_dev, ra_mtu) - 1048usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union inet_addr { + pub all: [__u32; 4usize], + pub ip: __be32, + pub ip6: [__be32; 4usize], + pub in_: in_addr, + pub in6: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_addr"][::core::mem::size_of::() - 16usize]; + ["Alignment of inet_addr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: inet_addr::all"][::core::mem::offset_of!(inet_addr, all) - 0usize]; + ["Offset of field: inet_addr::ip"][::core::mem::offset_of!(inet_addr, ip) - 0usize]; + ["Offset of field: inet_addr::ip6"][::core::mem::offset_of!(inet_addr, ip6) - 0usize]; + ["Offset of field: inet_addr::in_"][::core::mem::offset_of!(inet_addr, in_) - 0usize]; + ["Offset of field: inet_addr::in6"][::core::mem::offset_of!(inet_addr, in6) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct inet_bind_hashbucket { + pub lock: spinlock_t, + pub chain: hlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_bind_hashbucket"][::core::mem::size_of::() - 16usize]; + ["Alignment of inet_bind_hashbucket"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_bind_hashbucket::lock"] + [::core::mem::offset_of!(inet_bind_hashbucket, lock) - 0usize]; + ["Offset of field: inet_bind_hashbucket::chain"] + [::core::mem::offset_of!(inet_bind_hashbucket, chain) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inet_ehash_bucket { + pub chain: hlist_nulls_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_ehash_bucket"][::core::mem::size_of::() - 8usize]; + ["Alignment of inet_ehash_bucket"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_ehash_bucket::chain"] + [::core::mem::offset_of!(inet_ehash_bucket, chain) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct inet_frags { + pub qsize: ::core::ffi::c_uint, + pub constructor: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inet_frag_queue, arg2: *const ::core::ffi::c_void), + >, + pub destructor: ::core::option::Option, + pub frag_expire: ::core::option::Option, + pub frags_cachep: *mut kmem_cache, + pub frags_cache_name: *const ::core::ffi::c_char, + pub rhash_params: rhashtable_params, + pub refcnt: refcount_t, + pub completion: completion, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_frags"][::core::mem::size_of::() - 128usize]; + ["Alignment of inet_frags"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_frags::qsize"][::core::mem::offset_of!(inet_frags, qsize) - 0usize]; + ["Offset of field: inet_frags::constructor"] + [::core::mem::offset_of!(inet_frags, constructor) - 8usize]; + ["Offset of field: inet_frags::destructor"] + [::core::mem::offset_of!(inet_frags, destructor) - 16usize]; + ["Offset of field: inet_frags::frag_expire"] + [::core::mem::offset_of!(inet_frags, frag_expire) - 24usize]; + ["Offset of field: inet_frags::frags_cachep"] + [::core::mem::offset_of!(inet_frags, frags_cachep) - 32usize]; + ["Offset of field: inet_frags::frags_cache_name"] + [::core::mem::offset_of!(inet_frags, frags_cache_name) - 40usize]; + ["Offset of field: inet_frags::rhash_params"] + [::core::mem::offset_of!(inet_frags, rhash_params) - 48usize]; + ["Offset of field: inet_frags::refcnt"][::core::mem::offset_of!(inet_frags, refcnt) - 88usize]; + ["Offset of field: inet_frags::completion"] + [::core::mem::offset_of!(inet_frags, completion) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inet_hashinfo { + pub ehash: *mut inet_ehash_bucket, + pub ehash_locks: *mut spinlock_t, + pub ehash_mask: ::core::ffi::c_uint, + pub ehash_locks_mask: ::core::ffi::c_uint, + pub bind_bucket_cachep: *mut kmem_cache, + pub bhash: *mut inet_bind_hashbucket, + pub bind2_bucket_cachep: *mut kmem_cache, + pub bhash2: *mut inet_bind_hashbucket, + pub bhash_size: ::core::ffi::c_uint, + pub lhash2_mask: ::core::ffi::c_uint, + pub lhash2: *mut inet_listen_hashbucket, + pub pernet: bool_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 48usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_hashinfo"][::core::mem::size_of::() - 128usize]; + ["Alignment of inet_hashinfo"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_hashinfo::ehash"] + [::core::mem::offset_of!(inet_hashinfo, ehash) - 0usize]; + ["Offset of field: inet_hashinfo::ehash_locks"] + [::core::mem::offset_of!(inet_hashinfo, ehash_locks) - 8usize]; + ["Offset of field: inet_hashinfo::ehash_mask"] + [::core::mem::offset_of!(inet_hashinfo, ehash_mask) - 16usize]; + ["Offset of field: inet_hashinfo::ehash_locks_mask"] + [::core::mem::offset_of!(inet_hashinfo, ehash_locks_mask) - 20usize]; + ["Offset of field: inet_hashinfo::bind_bucket_cachep"] + [::core::mem::offset_of!(inet_hashinfo, bind_bucket_cachep) - 24usize]; + ["Offset of field: inet_hashinfo::bhash"] + [::core::mem::offset_of!(inet_hashinfo, bhash) - 32usize]; + ["Offset of field: inet_hashinfo::bind2_bucket_cachep"] + [::core::mem::offset_of!(inet_hashinfo, bind2_bucket_cachep) - 40usize]; + ["Offset of field: inet_hashinfo::bhash2"] + [::core::mem::offset_of!(inet_hashinfo, bhash2) - 48usize]; + ["Offset of field: inet_hashinfo::bhash_size"] + [::core::mem::offset_of!(inet_hashinfo, bhash_size) - 56usize]; + ["Offset of field: inet_hashinfo::lhash2_mask"] + [::core::mem::offset_of!(inet_hashinfo, lhash2_mask) - 60usize]; + ["Offset of field: inet_hashinfo::lhash2"] + [::core::mem::offset_of!(inet_hashinfo, lhash2) - 64usize]; + ["Offset of field: inet_hashinfo::pernet"] + [::core::mem::offset_of!(inet_hashinfo, pernet) - 72usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct inet_listen_hashbucket { + pub lock: spinlock_t, + pub nulls_head: hlist_nulls_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_listen_hashbucket"][::core::mem::size_of::() - 16usize]; + ["Alignment of inet_listen_hashbucket"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_listen_hashbucket::lock"] + [::core::mem::offset_of!(inet_listen_hashbucket, lock) - 0usize]; + ["Offset of field: inet_listen_hashbucket::nulls_head"] + [::core::mem::offset_of!(inet_listen_hashbucket, nulls_head) - 8usize]; +}; +#[repr(C)] +pub struct request_sock { + pub __req_common: sock_common, + pub dl_next: *mut request_sock, + pub mss: u16_, + pub num_retrans: u8_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub ts_recent: u32_, + pub rsk_timer: timer_list, + pub rsk_ops: *const request_sock_ops, + pub sk: *mut sock, + pub saved_syn: *mut saved_syn, + pub secid: u32_, + pub peer_secid: u32_, + pub timeout: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request_sock"][::core::mem::size_of::() - 232usize]; + ["Alignment of request_sock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: request_sock::__req_common"] + [::core::mem::offset_of!(request_sock, __req_common) - 0usize]; + ["Offset of field: request_sock::dl_next"] + [::core::mem::offset_of!(request_sock, dl_next) - 136usize]; + ["Offset of field: request_sock::mss"][::core::mem::offset_of!(request_sock, mss) - 144usize]; + ["Offset of field: request_sock::num_retrans"] + [::core::mem::offset_of!(request_sock, num_retrans) - 146usize]; + ["Offset of field: request_sock::ts_recent"] + [::core::mem::offset_of!(request_sock, ts_recent) - 148usize]; + ["Offset of field: request_sock::rsk_timer"] + [::core::mem::offset_of!(request_sock, rsk_timer) - 152usize]; + ["Offset of field: request_sock::rsk_ops"] + [::core::mem::offset_of!(request_sock, rsk_ops) - 192usize]; + ["Offset of field: request_sock::sk"][::core::mem::offset_of!(request_sock, sk) - 200usize]; + ["Offset of field: request_sock::saved_syn"] + [::core::mem::offset_of!(request_sock, saved_syn) - 208usize]; + ["Offset of field: request_sock::secid"] + [::core::mem::offset_of!(request_sock, secid) - 216usize]; + ["Offset of field: request_sock::peer_secid"] + [::core::mem::offset_of!(request_sock, peer_secid) - 220usize]; + ["Offset of field: request_sock::timeout"] + [::core::mem::offset_of!(request_sock, timeout) - 224usize]; +}; +impl request_sock { + #[inline] + pub fn syncookie(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_syncookie(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn syncookie_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_syncookie_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn num_timeout(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_num_timeout(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub unsafe fn num_timeout_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 7u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_num_timeout_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 7u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(syncookie: u8_, num_timeout: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let syncookie: u8 = unsafe { ::core::mem::transmute(syncookie) }; + syncookie as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let num_timeout: u8 = unsafe { ::core::mem::transmute(num_timeout) }; + num_timeout as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inet_timewait_death_row { + pub tw_refcount: refcount_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub hashinfo: *mut inet_hashinfo, + pub sysctl_max_tw_buckets: ::core::ffi::c_int, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inet_timewait_death_row"] + [::core::mem::size_of::() - 128usize]; + ["Alignment of inet_timewait_death_row"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: inet_timewait_death_row::tw_refcount"] + [::core::mem::offset_of!(inet_timewait_death_row, tw_refcount) - 0usize]; + ["Offset of field: inet_timewait_death_row::hashinfo"] + [::core::mem::offset_of!(inet_timewait_death_row, hashinfo) - 64usize]; + ["Offset of field: inet_timewait_death_row::sysctl_max_tw_buckets"] + [::core::mem::offset_of!(inet_timewait_death_row, sysctl_max_tw_buckets) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct inode_operations { + pub lookup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut dentry, + arg3: ::core::ffi::c_uint, + ) -> *mut dentry, + >, + pub get_link: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dentry, + arg2: *mut inode, + arg3: *mut delayed_call, + ) -> *const ::core::ffi::c_char, + >, + pub permission: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut inode, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub get_inode_acl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: ::core::ffi::c_int, + arg3: bool_, + ) -> *mut posix_acl, + >, + pub readlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dentry, + arg2: *mut ::core::ffi::c_char, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub create: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut inode, + arg3: *mut dentry, + arg4: umode_t, + arg5: bool_, + ) -> ::core::ffi::c_int, + >, + pub link: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dentry, + arg2: *mut inode, + arg3: *mut dentry, + ) -> ::core::ffi::c_int, + >, + pub unlink: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut dentry) -> ::core::ffi::c_int, + >, + pub symlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut inode, + arg3: *mut dentry, + arg4: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int, + >, + pub mkdir: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut inode, + arg3: *mut dentry, + arg4: umode_t, + ) -> ::core::ffi::c_int, + >, + pub rmdir: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut dentry) -> ::core::ffi::c_int, + >, + pub mknod: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut inode, + arg3: *mut dentry, + arg4: umode_t, + arg5: dev_t, + ) -> ::core::ffi::c_int, + >, + pub rename: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut inode, + arg3: *mut dentry, + arg4: *mut inode, + arg5: *mut dentry, + arg6: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub setattr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut dentry, + arg3: *mut iattr, + ) -> ::core::ffi::c_int, + >, + pub getattr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *const path, + arg3: *mut kstat, + arg4: u32_, + arg5: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub listxattr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dentry, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + ) -> isize, + >, + pub fiemap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut fiemap_extent_info, + arg3: u64_, + arg4: u64_, + ) -> ::core::ffi::c_int, + >, + pub update_time: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub atomic_open: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut dentry, + arg3: *mut file, + arg4: ::core::ffi::c_uint, + arg5: umode_t, + ) -> ::core::ffi::c_int, + >, + pub tmpfile: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut inode, + arg3: *mut file, + arg4: umode_t, + ) -> ::core::ffi::c_int, + >, + pub get_acl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut dentry, + arg3: ::core::ffi::c_int, + ) -> *mut posix_acl, + >, + pub set_acl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut dentry, + arg3: *mut posix_acl, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub fileattr_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mnt_idmap, + arg2: *mut dentry, + arg3: *mut fileattr, + ) -> ::core::ffi::c_int, + >, + pub fileattr_get: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dentry, arg2: *mut fileattr) -> ::core::ffi::c_int, + >, + pub get_offset_ctx: + ::core::option::Option *mut offset_ctx>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of inode_operations"][::core::mem::size_of::() - 256usize]; + ["Alignment of inode_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: inode_operations::lookup"] + [::core::mem::offset_of!(inode_operations, lookup) - 0usize]; + ["Offset of field: inode_operations::get_link"] + [::core::mem::offset_of!(inode_operations, get_link) - 8usize]; + ["Offset of field: inode_operations::permission"] + [::core::mem::offset_of!(inode_operations, permission) - 16usize]; + ["Offset of field: inode_operations::get_inode_acl"] + [::core::mem::offset_of!(inode_operations, get_inode_acl) - 24usize]; + ["Offset of field: inode_operations::readlink"] + [::core::mem::offset_of!(inode_operations, readlink) - 32usize]; + ["Offset of field: inode_operations::create"] + [::core::mem::offset_of!(inode_operations, create) - 40usize]; + ["Offset of field: inode_operations::link"] + [::core::mem::offset_of!(inode_operations, link) - 48usize]; + ["Offset of field: inode_operations::unlink"] + [::core::mem::offset_of!(inode_operations, unlink) - 56usize]; + ["Offset of field: inode_operations::symlink"] + [::core::mem::offset_of!(inode_operations, symlink) - 64usize]; + ["Offset of field: inode_operations::mkdir"] + [::core::mem::offset_of!(inode_operations, mkdir) - 72usize]; + ["Offset of field: inode_operations::rmdir"] + [::core::mem::offset_of!(inode_operations, rmdir) - 80usize]; + ["Offset of field: inode_operations::mknod"] + [::core::mem::offset_of!(inode_operations, mknod) - 88usize]; + ["Offset of field: inode_operations::rename"] + [::core::mem::offset_of!(inode_operations, rename) - 96usize]; + ["Offset of field: inode_operations::setattr"] + [::core::mem::offset_of!(inode_operations, setattr) - 104usize]; + ["Offset of field: inode_operations::getattr"] + [::core::mem::offset_of!(inode_operations, getattr) - 112usize]; + ["Offset of field: inode_operations::listxattr"] + [::core::mem::offset_of!(inode_operations, listxattr) - 120usize]; + ["Offset of field: inode_operations::fiemap"] + [::core::mem::offset_of!(inode_operations, fiemap) - 128usize]; + ["Offset of field: inode_operations::update_time"] + [::core::mem::offset_of!(inode_operations, update_time) - 136usize]; + ["Offset of field: inode_operations::atomic_open"] + [::core::mem::offset_of!(inode_operations, atomic_open) - 144usize]; + ["Offset of field: inode_operations::tmpfile"] + [::core::mem::offset_of!(inode_operations, tmpfile) - 152usize]; + ["Offset of field: inode_operations::get_acl"] + [::core::mem::offset_of!(inode_operations, get_acl) - 160usize]; + ["Offset of field: inode_operations::set_acl"] + [::core::mem::offset_of!(inode_operations, set_acl) - 168usize]; + ["Offset of field: inode_operations::fileattr_set"] + [::core::mem::offset_of!(inode_operations, fileattr_set) - 176usize]; + ["Offset of field: inode_operations::fileattr_get"] + [::core::mem::offset_of!(inode_operations, fileattr_get) - 184usize]; + ["Offset of field: inode_operations::get_offset_ctx"] + [::core::mem::offset_of!(inode_operations, get_offset_ctx) - 192usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_alloc_cache { + pub entries: *mut *mut ::core::ffi::c_void, + pub nr_cached: ::core::ffi::c_uint, + pub max_cached: ::core::ffi::c_uint, + pub elem_size: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_alloc_cache"][::core::mem::size_of::() - 24usize]; + ["Alignment of io_alloc_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_alloc_cache::entries"] + [::core::mem::offset_of!(io_alloc_cache, entries) - 0usize]; + ["Offset of field: io_alloc_cache::nr_cached"] + [::core::mem::offset_of!(io_alloc_cache, nr_cached) - 8usize]; + ["Offset of field: io_alloc_cache::max_cached"] + [::core::mem::offset_of!(io_alloc_cache, max_cached) - 12usize]; + ["Offset of field: io_alloc_cache::elem_size"] + [::core::mem::offset_of!(io_alloc_cache, elem_size) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct msghdr { + pub msg_name: *mut ::core::ffi::c_void, + pub msg_namelen: ::core::ffi::c_int, + pub msg_inq: ::core::ffi::c_int, + pub msg_iter: iov_iter, + pub __bindgen_anon_1: msghdr__bindgen_ty_1, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub msg_flags: ::core::ffi::c_uint, + pub msg_controllen: __kernel_size_t, + pub msg_iocb: *mut kiocb, + pub msg_ubuf: *mut ubuf_info, + pub sg_from_iter: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut iov_iter, + arg3: usize, + ) -> ::core::ffi::c_int, + >, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union msghdr__bindgen_ty_1 { + pub msg_control: *mut ::core::ffi::c_void, + pub msg_control_user: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msghdr__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of msghdr__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msghdr__bindgen_ty_1::msg_control"] + [::core::mem::offset_of!(msghdr__bindgen_ty_1, msg_control) - 0usize]; + ["Offset of field: msghdr__bindgen_ty_1::msg_control_user"] + [::core::mem::offset_of!(msghdr__bindgen_ty_1, msg_control_user) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msghdr"][::core::mem::size_of::() - 104usize]; + ["Alignment of msghdr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msghdr::msg_name"][::core::mem::offset_of!(msghdr, msg_name) - 0usize]; + ["Offset of field: msghdr::msg_namelen"][::core::mem::offset_of!(msghdr, msg_namelen) - 8usize]; + ["Offset of field: msghdr::msg_inq"][::core::mem::offset_of!(msghdr, msg_inq) - 12usize]; + ["Offset of field: msghdr::msg_iter"][::core::mem::offset_of!(msghdr, msg_iter) - 16usize]; + ["Offset of field: msghdr::msg_flags"][::core::mem::offset_of!(msghdr, msg_flags) - 68usize]; + ["Offset of field: msghdr::msg_controllen"] + [::core::mem::offset_of!(msghdr, msg_controllen) - 72usize]; + ["Offset of field: msghdr::msg_iocb"][::core::mem::offset_of!(msghdr, msg_iocb) - 80usize]; + ["Offset of field: msghdr::msg_ubuf"][::core::mem::offset_of!(msghdr, msg_ubuf) - 88usize]; + ["Offset of field: msghdr::sg_from_iter"] + [::core::mem::offset_of!(msghdr, sg_from_iter) - 96usize]; +}; +impl msghdr { + #[inline] + pub fn msg_control_is_user(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_msg_control_is_user(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn msg_control_is_user_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_msg_control_is_user_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn msg_get_inq(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_msg_get_inq(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn msg_get_inq_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_msg_get_inq_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + msg_control_is_user: bool_, + msg_get_inq: bool_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let msg_control_is_user: u8 = unsafe { ::core::mem::transmute(msg_control_is_user) }; + msg_control_is_user as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let msg_get_inq: u8 = unsafe { ::core::mem::transmute(msg_get_inq) }; + msg_get_inq as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wait_page_queue { + pub folio: *mut folio, + pub bit_nr: ::core::ffi::c_int, + pub wait: wait_queue_entry_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wait_page_queue"][::core::mem::size_of::() - 56usize]; + ["Alignment of wait_page_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wait_page_queue::folio"] + [::core::mem::offset_of!(wait_page_queue, folio) - 0usize]; + ["Offset of field: wait_page_queue::bit_nr"] + [::core::mem::offset_of!(wait_page_queue, bit_nr) - 8usize]; + ["Offset of field: wait_page_queue::wait"] + [::core::mem::offset_of!(wait_page_queue, wait) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_bitmap { + pub sequence: u64_, + pub refcnt: refcount_t, + pub max: ::core::ffi::c_uint, + pub bitmap: [::core::ffi::c_ulong; 1024usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_bitmap"][::core::mem::size_of::() - 8208usize]; + ["Alignment of io_bitmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_bitmap::sequence"][::core::mem::offset_of!(io_bitmap, sequence) - 0usize]; + ["Offset of field: io_bitmap::refcnt"][::core::mem::offset_of!(io_bitmap, refcnt) - 8usize]; + ["Offset of field: io_bitmap::max"][::core::mem::offset_of!(io_bitmap, max) - 12usize]; + ["Offset of field: io_bitmap::bitmap"][::core::mem::offset_of!(io_bitmap, bitmap) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_buffer { + pub list: list_head, + pub addr: __u64, + pub len: __u32, + pub bid: __u16, + pub bgid: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_buffer"][::core::mem::size_of::() - 32usize]; + ["Alignment of io_buffer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_buffer::list"][::core::mem::offset_of!(io_buffer, list) - 0usize]; + ["Offset of field: io_buffer::addr"][::core::mem::offset_of!(io_buffer, addr) - 16usize]; + ["Offset of field: io_buffer::len"][::core::mem::offset_of!(io_buffer, len) - 24usize]; + ["Offset of field: io_buffer::bid"][::core::mem::offset_of!(io_buffer, bid) - 28usize]; + ["Offset of field: io_buffer::bgid"][::core::mem::offset_of!(io_buffer, bgid) - 30usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_buffer_list { + pub __bindgen_anon_1: io_buffer_list__bindgen_ty_1, + pub bgid: __u16, + pub buf_nr_pages: __u16, + pub nr_entries: __u16, + pub head: __u16, + pub mask: __u16, + pub flags: __u16, + pub refs: atomic_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_buffer_list__bindgen_ty_1 { + pub buf_list: list_head, + pub __bindgen_anon_1: io_buffer_list__bindgen_ty_1__bindgen_ty_1, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_buffer_list__bindgen_ty_1__bindgen_ty_1 { + pub buf_pages: *mut *mut page, + pub buf_ring: *mut io_uring_buf_ring, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_buffer_list__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of io_buffer_list__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_buffer_list__bindgen_ty_1__bindgen_ty_1::buf_pages"] + [::core::mem::offset_of!(io_buffer_list__bindgen_ty_1__bindgen_ty_1, buf_pages) - 0usize]; + ["Offset of field: io_buffer_list__bindgen_ty_1__bindgen_ty_1::buf_ring"] + [::core::mem::offset_of!(io_buffer_list__bindgen_ty_1__bindgen_ty_1, buf_ring) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_buffer_list__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of io_buffer_list__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_buffer_list__bindgen_ty_1::buf_list"] + [::core::mem::offset_of!(io_buffer_list__bindgen_ty_1, buf_list) - 0usize]; + ["Offset of field: io_buffer_list__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(io_buffer_list__bindgen_ty_1, rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_buffer_list"][::core::mem::size_of::() - 32usize]; + ["Alignment of io_buffer_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_buffer_list::bgid"] + [::core::mem::offset_of!(io_buffer_list, bgid) - 16usize]; + ["Offset of field: io_buffer_list::buf_nr_pages"] + [::core::mem::offset_of!(io_buffer_list, buf_nr_pages) - 18usize]; + ["Offset of field: io_buffer_list::nr_entries"] + [::core::mem::offset_of!(io_buffer_list, nr_entries) - 20usize]; + ["Offset of field: io_buffer_list::head"] + [::core::mem::offset_of!(io_buffer_list, head) - 22usize]; + ["Offset of field: io_buffer_list::mask"] + [::core::mem::offset_of!(io_buffer_list, mask) - 24usize]; + ["Offset of field: io_buffer_list::flags"] + [::core::mem::offset_of!(io_buffer_list, flags) - 26usize]; + ["Offset of field: io_buffer_list::refs"] + [::core::mem::offset_of!(io_buffer_list, refs) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_cmd_data { + pub file: *mut file, + pub data: [__u8; 56usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_cmd_data"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_cmd_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_cmd_data::file"][::core::mem::offset_of!(io_cmd_data, file) - 0usize]; + ["Offset of field: io_cmd_data::data"][::core::mem::offset_of!(io_cmd_data, data) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_comp_batch { + pub req_list: rq_list, + pub need_ts: bool_, + pub complete: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_comp_batch"][::core::mem::size_of::() - 32usize]; + ["Alignment of io_comp_batch"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_comp_batch::req_list"] + [::core::mem::offset_of!(io_comp_batch, req_list) - 0usize]; + ["Offset of field: io_comp_batch::need_ts"] + [::core::mem::offset_of!(io_comp_batch, need_ts) - 16usize]; + ["Offset of field: io_comp_batch::complete"] + [::core::mem::offset_of!(io_comp_batch, complete) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_context { + pub refcount: atomic_long_t, + pub active_ref: atomic_t, + pub ioprio: ::core::ffi::c_ushort, + pub lock: spinlock_t, + pub icq_tree: xarray, + pub icq_hint: *mut io_cq, + pub icq_list: hlist_head, + pub release_work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_context"][::core::mem::size_of::() - 88usize]; + ["Alignment of io_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_context::refcount"] + [::core::mem::offset_of!(io_context, refcount) - 0usize]; + ["Offset of field: io_context::active_ref"] + [::core::mem::offset_of!(io_context, active_ref) - 8usize]; + ["Offset of field: io_context::ioprio"][::core::mem::offset_of!(io_context, ioprio) - 12usize]; + ["Offset of field: io_context::lock"][::core::mem::offset_of!(io_context, lock) - 16usize]; + ["Offset of field: io_context::icq_tree"] + [::core::mem::offset_of!(io_context, icq_tree) - 24usize]; + ["Offset of field: io_context::icq_hint"] + [::core::mem::offset_of!(io_context, icq_hint) - 40usize]; + ["Offset of field: io_context::icq_list"] + [::core::mem::offset_of!(io_context, icq_list) - 48usize]; + ["Offset of field: io_context::release_work"] + [::core::mem::offset_of!(io_context, release_work) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_cqe { + pub user_data: __u64, + pub res: __s32, + pub __bindgen_anon_1: io_cqe__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_cqe__bindgen_ty_1 { + pub flags: __u32, + pub fd: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_cqe__bindgen_ty_1"][::core::mem::size_of::() - 4usize]; + ["Alignment of io_cqe__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: io_cqe__bindgen_ty_1::flags"] + [::core::mem::offset_of!(io_cqe__bindgen_ty_1, flags) - 0usize]; + ["Offset of field: io_cqe__bindgen_ty_1::fd"] + [::core::mem::offset_of!(io_cqe__bindgen_ty_1, fd) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_cqe"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_cqe"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_cqe::user_data"][::core::mem::offset_of!(io_cqe, user_data) - 0usize]; + ["Offset of field: io_cqe::res"][::core::mem::offset_of!(io_cqe, res) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_ev_fd { + pub cq_ev_fd: *mut eventfd_ctx, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub rcu: callback_head, + pub refs: refcount_t, + pub ops: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_ev_fd"][::core::mem::size_of::() - 40usize]; + ["Alignment of io_ev_fd"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_ev_fd::cq_ev_fd"][::core::mem::offset_of!(io_ev_fd, cq_ev_fd) - 0usize]; + ["Offset of field: io_ev_fd::rcu"][::core::mem::offset_of!(io_ev_fd, rcu) - 16usize]; + ["Offset of field: io_ev_fd::refs"][::core::mem::offset_of!(io_ev_fd, refs) - 32usize]; + ["Offset of field: io_ev_fd::ops"][::core::mem::offset_of!(io_ev_fd, ops) - 36usize]; +}; +impl io_ev_fd { + #[inline] + pub fn eventfd_async(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_eventfd_async(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn eventfd_async_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_eventfd_async_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + eventfd_async: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let eventfd_async: u32 = unsafe { ::core::mem::transmute(eventfd_async) }; + eventfd_async as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_file_table { + pub files: *mut io_fixed_file, + pub bitmap: *mut ::core::ffi::c_ulong, + pub alloc_hint: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_file_table"][::core::mem::size_of::() - 24usize]; + ["Alignment of io_file_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_file_table::files"] + [::core::mem::offset_of!(io_file_table, files) - 0usize]; + ["Offset of field: io_file_table::bitmap"] + [::core::mem::offset_of!(io_file_table, bitmap) - 8usize]; + ["Offset of field: io_file_table::alloc_hint"] + [::core::mem::offset_of!(io_file_table, alloc_hint) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_fixed_file { + pub file_ptr: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_fixed_file"][::core::mem::size_of::() - 8usize]; + ["Alignment of io_fixed_file"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_fixed_file::file_ptr"] + [::core::mem::offset_of!(io_fixed_file, file_ptr) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_hash_bucket { + pub lock: spinlock_t, + pub list: hlist_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_hash_bucket"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_hash_bucket"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_hash_bucket::lock"] + [::core::mem::offset_of!(io_hash_bucket, lock) - 0usize]; + ["Offset of field: io_hash_bucket::list"] + [::core::mem::offset_of!(io_hash_bucket, list) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_hash_table { + pub hbs: *mut io_hash_bucket, + pub hash_bits: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_hash_table"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_hash_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_hash_table::hbs"][::core::mem::offset_of!(io_hash_table, hbs) - 0usize]; + ["Offset of field: io_hash_table::hash_bits"] + [::core::mem::offset_of!(io_hash_table, hash_bits) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_wq_work_node { + pub next: *mut io_wq_work_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_wq_work_node"][::core::mem::size_of::() - 8usize]; + ["Alignment of io_wq_work_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_wq_work_node::next"] + [::core::mem::offset_of!(io_wq_work_node, next) - 0usize]; +}; +pub type io_req_tw_func_t = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_task_work { + pub node: llist_node, + pub func: io_req_tw_func_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_task_work"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_task_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_task_work::node"][::core::mem::offset_of!(io_task_work, node) - 0usize]; + ["Offset of field: io_task_work::func"][::core::mem::offset_of!(io_task_work, func) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_wq_work { + pub list: io_wq_work_node, + pub flags: atomic_t, + pub cancel_seq: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_wq_work"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_wq_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_wq_work::list"][::core::mem::offset_of!(io_wq_work, list) - 0usize]; + ["Offset of field: io_wq_work::flags"][::core::mem::offset_of!(io_wq_work, flags) - 8usize]; + ["Offset of field: io_wq_work::cancel_seq"] + [::core::mem::offset_of!(io_wq_work, cancel_seq) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_kiocb { + pub __bindgen_anon_1: io_kiocb__bindgen_ty_1, + pub opcode: u8_, + pub iopoll_completed: u8_, + pub buf_index: u16_, + pub nr_tw: ::core::ffi::c_uint, + pub flags: io_req_flags_t, + pub cqe: io_cqe, + pub ctx: *mut io_ring_ctx, + pub task: *mut task_struct, + pub __bindgen_anon_2: io_kiocb__bindgen_ty_2, + pub __bindgen_anon_3: io_kiocb__bindgen_ty_3, + pub rsrc_node: *mut io_rsrc_node, + pub refs: atomic_t, + pub cancel_seq_set: bool_, + pub io_task_work: io_task_work, + pub hash_node: hlist_node, + pub apoll: *mut async_poll, + pub async_data: *mut ::core::ffi::c_void, + pub poll_refs: atomic_t, + pub link: *mut io_kiocb, + pub creds: *const cred, + pub work: io_wq_work, + pub big_cqe: io_kiocb__bindgen_ty_4, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_kiocb__bindgen_ty_1 { + pub file: *mut file, + pub cmd: io_cmd_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_kiocb__bindgen_ty_1"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_kiocb__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_kiocb__bindgen_ty_1::file"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_1, file) - 0usize]; + ["Offset of field: io_kiocb__bindgen_ty_1::cmd"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_1, cmd) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_kiocb__bindgen_ty_2 { + pub imu: *mut io_mapped_ubuf, + pub kbuf: *mut io_buffer, + pub buf_list: *mut io_buffer_list, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_kiocb__bindgen_ty_2"][::core::mem::size_of::() - 8usize]; + ["Alignment of io_kiocb__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_kiocb__bindgen_ty_2::imu"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_2, imu) - 0usize]; + ["Offset of field: io_kiocb__bindgen_ty_2::kbuf"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_2, kbuf) - 0usize]; + ["Offset of field: io_kiocb__bindgen_ty_2::buf_list"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_2, buf_list) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_kiocb__bindgen_ty_3 { + pub comp_list: io_wq_work_node, + pub apoll_events: __poll_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_kiocb__bindgen_ty_3"][::core::mem::size_of::() - 8usize]; + ["Alignment of io_kiocb__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_kiocb__bindgen_ty_3::comp_list"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_3, comp_list) - 0usize]; + ["Offset of field: io_kiocb__bindgen_ty_3::apoll_events"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_3, apoll_events) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_kiocb__bindgen_ty_4 { + pub extra1: u64_, + pub extra2: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_kiocb__bindgen_ty_4"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_kiocb__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_kiocb__bindgen_ty_4::extra1"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_4, extra1) - 0usize]; + ["Offset of field: io_kiocb__bindgen_ty_4::extra2"] + [::core::mem::offset_of!(io_kiocb__bindgen_ty_4, extra2) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_kiocb"][::core::mem::size_of::() - 248usize]; + ["Alignment of io_kiocb"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_kiocb::opcode"][::core::mem::offset_of!(io_kiocb, opcode) - 64usize]; + ["Offset of field: io_kiocb::iopoll_completed"] + [::core::mem::offset_of!(io_kiocb, iopoll_completed) - 65usize]; + ["Offset of field: io_kiocb::buf_index"] + [::core::mem::offset_of!(io_kiocb, buf_index) - 66usize]; + ["Offset of field: io_kiocb::nr_tw"][::core::mem::offset_of!(io_kiocb, nr_tw) - 68usize]; + ["Offset of field: io_kiocb::flags"][::core::mem::offset_of!(io_kiocb, flags) - 72usize]; + ["Offset of field: io_kiocb::cqe"][::core::mem::offset_of!(io_kiocb, cqe) - 80usize]; + ["Offset of field: io_kiocb::ctx"][::core::mem::offset_of!(io_kiocb, ctx) - 96usize]; + ["Offset of field: io_kiocb::task"][::core::mem::offset_of!(io_kiocb, task) - 104usize]; + ["Offset of field: io_kiocb::rsrc_node"] + [::core::mem::offset_of!(io_kiocb, rsrc_node) - 128usize]; + ["Offset of field: io_kiocb::refs"][::core::mem::offset_of!(io_kiocb, refs) - 136usize]; + ["Offset of field: io_kiocb::cancel_seq_set"] + [::core::mem::offset_of!(io_kiocb, cancel_seq_set) - 140usize]; + ["Offset of field: io_kiocb::io_task_work"] + [::core::mem::offset_of!(io_kiocb, io_task_work) - 144usize]; + ["Offset of field: io_kiocb::hash_node"] + [::core::mem::offset_of!(io_kiocb, hash_node) - 160usize]; + ["Offset of field: io_kiocb::apoll"][::core::mem::offset_of!(io_kiocb, apoll) - 176usize]; + ["Offset of field: io_kiocb::async_data"] + [::core::mem::offset_of!(io_kiocb, async_data) - 184usize]; + ["Offset of field: io_kiocb::poll_refs"] + [::core::mem::offset_of!(io_kiocb, poll_refs) - 192usize]; + ["Offset of field: io_kiocb::link"][::core::mem::offset_of!(io_kiocb, link) - 200usize]; + ["Offset of field: io_kiocb::creds"][::core::mem::offset_of!(io_kiocb, creds) - 208usize]; + ["Offset of field: io_kiocb::work"][::core::mem::offset_of!(io_kiocb, work) - 216usize]; + ["Offset of field: io_kiocb::big_cqe"][::core::mem::offset_of!(io_kiocb, big_cqe) - 232usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct io_mapped_ubuf { + pub ubuf: u64_, + pub len: ::core::ffi::c_uint, + pub nr_bvecs: ::core::ffi::c_uint, + pub folio_shift: ::core::ffi::c_uint, + pub refs: refcount_t, + pub acct_pages: ::core::ffi::c_ulong, + pub bvec: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_mapped_ubuf"][::core::mem::size_of::() - 32usize]; + ["Alignment of io_mapped_ubuf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_mapped_ubuf::ubuf"] + [::core::mem::offset_of!(io_mapped_ubuf, ubuf) - 0usize]; + ["Offset of field: io_mapped_ubuf::len"][::core::mem::offset_of!(io_mapped_ubuf, len) - 8usize]; + ["Offset of field: io_mapped_ubuf::nr_bvecs"] + [::core::mem::offset_of!(io_mapped_ubuf, nr_bvecs) - 12usize]; + ["Offset of field: io_mapped_ubuf::folio_shift"] + [::core::mem::offset_of!(io_mapped_ubuf, folio_shift) - 16usize]; + ["Offset of field: io_mapped_ubuf::refs"] + [::core::mem::offset_of!(io_mapped_ubuf, refs) - 20usize]; + ["Offset of field: io_mapped_ubuf::acct_pages"] + [::core::mem::offset_of!(io_mapped_ubuf, acct_pages) - 24usize]; + ["Offset of field: io_mapped_ubuf::bvec"] + [::core::mem::offset_of!(io_mapped_ubuf, bvec) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ubuf_info { + pub ops: *const ubuf_info_ops, + pub refcnt: refcount_t, + pub flags: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ubuf_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of ubuf_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ubuf_info::ops"][::core::mem::offset_of!(ubuf_info, ops) - 0usize]; + ["Offset of field: ubuf_info::refcnt"][::core::mem::offset_of!(ubuf_info, refcnt) - 8usize]; + ["Offset of field: ubuf_info::flags"][::core::mem::offset_of!(ubuf_info, flags) - 12usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct io_uring_cqe { + pub user_data: __u64, + pub res: __s32, + pub flags: __u32, + pub big_cqe: __IncompleteArrayField<__u64>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_cqe"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_uring_cqe"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_cqe::user_data"] + [::core::mem::offset_of!(io_uring_cqe, user_data) - 0usize]; + ["Offset of field: io_uring_cqe::res"][::core::mem::offset_of!(io_uring_cqe, res) - 8usize]; + ["Offset of field: io_uring_cqe::flags"] + [::core::mem::offset_of!(io_uring_cqe, flags) - 12usize]; + ["Offset of field: io_uring_cqe::big_cqe"] + [::core::mem::offset_of!(io_uring_cqe, big_cqe) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_restriction { + pub register_op: [::core::ffi::c_ulong; 1usize], + pub sqe_op: [::core::ffi::c_ulong; 1usize], + pub sqe_flags_allowed: u8_, + pub sqe_flags_required: u8_, + pub registered: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_restriction"][::core::mem::size_of::() - 24usize]; + ["Alignment of io_restriction"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_restriction::register_op"] + [::core::mem::offset_of!(io_restriction, register_op) - 0usize]; + ["Offset of field: io_restriction::sqe_op"] + [::core::mem::offset_of!(io_restriction, sqe_op) - 8usize]; + ["Offset of field: io_restriction::sqe_flags_allowed"] + [::core::mem::offset_of!(io_restriction, sqe_flags_allowed) - 16usize]; + ["Offset of field: io_restriction::sqe_flags_required"] + [::core::mem::offset_of!(io_restriction, sqe_flags_required) - 17usize]; + ["Offset of field: io_restriction::registered"] + [::core::mem::offset_of!(io_restriction, registered) - 18usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_wq_work_list { + pub first: *mut io_wq_work_node, + pub last: *mut io_wq_work_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_wq_work_list"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_wq_work_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_wq_work_list::first"] + [::core::mem::offset_of!(io_wq_work_list, first) - 0usize]; + ["Offset of field: io_wq_work_list::last"] + [::core::mem::offset_of!(io_wq_work_list, last) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_submit_link { + pub head: *mut io_kiocb, + pub last: *mut io_kiocb, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_submit_link"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_submit_link"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_submit_link::head"] + [::core::mem::offset_of!(io_submit_link, head) - 0usize]; + ["Offset of field: io_submit_link::last"] + [::core::mem::offset_of!(io_submit_link, last) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_submit_state { + pub free_list: io_wq_work_node, + pub compl_reqs: io_wq_work_list, + pub link: io_submit_link, + pub plug_started: bool_, + pub need_plug: bool_, + pub cq_flush: bool_, + pub submit_nr: ::core::ffi::c_ushort, + pub plug: blk_plug, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_submit_state"][::core::mem::size_of::() - 112usize]; + ["Alignment of io_submit_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_submit_state::free_list"] + [::core::mem::offset_of!(io_submit_state, free_list) - 0usize]; + ["Offset of field: io_submit_state::compl_reqs"] + [::core::mem::offset_of!(io_submit_state, compl_reqs) - 8usize]; + ["Offset of field: io_submit_state::link"] + [::core::mem::offset_of!(io_submit_state, link) - 24usize]; + ["Offset of field: io_submit_state::plug_started"] + [::core::mem::offset_of!(io_submit_state, plug_started) - 40usize]; + ["Offset of field: io_submit_state::need_plug"] + [::core::mem::offset_of!(io_submit_state, need_plug) - 41usize]; + ["Offset of field: io_submit_state::cq_flush"] + [::core::mem::offset_of!(io_submit_state, cq_flush) - 42usize]; + ["Offset of field: io_submit_state::submit_nr"] + [::core::mem::offset_of!(io_submit_state, submit_nr) - 44usize]; + ["Offset of field: io_submit_state::plug"] + [::core::mem::offset_of!(io_submit_state, plug) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_ring_ctx { + pub __bindgen_anon_1: io_ring_ctx__bindgen_ty_1, + pub __bindgen_anon_2: io_ring_ctx__bindgen_ty_2, + pub __bindgen_anon_3: io_ring_ctx__bindgen_ty_3, + pub __bindgen_anon_4: io_ring_ctx__bindgen_ty_4, + pub __bindgen_anon_5: io_ring_ctx__bindgen_ty_5, + pub completion_lock: spinlock_t, + pub io_buffers_comp: list_head, + pub cq_overflow_list: list_head, + pub cancel_table: io_hash_table, + pub waitid_list: hlist_head, + pub futex_list: hlist_head, + pub futex_cache: io_alloc_cache, + pub sq_creds: *const cred, + pub sq_data: *mut io_sq_data, + pub sqo_sq_wait: wait_queue_head, + pub sqd_list: list_head, + pub file_alloc_start: ::core::ffi::c_uint, + pub file_alloc_end: ::core::ffi::c_uint, + pub io_buffers_cache: list_head, + pub poll_wq: wait_queue_head, + pub restrictions: io_restriction, + pub file_data: *mut io_rsrc_data, + pub buf_data: *mut io_rsrc_data, + pub rsrc_ref_list: list_head, + pub rsrc_node_cache: io_alloc_cache, + pub rsrc_quiesce_wq: wait_queue_head, + pub rsrc_quiesce: ::core::ffi::c_uint, + pub pers_next: u32_, + pub personalities: xarray, + pub hash_map: *mut io_wq_hash, + pub user: *mut user_struct, + pub mm_account: *mut mm_struct, + pub fallback_llist: llist_head, + pub fallback_work: delayed_work, + pub exit_work: work_struct, + pub tctx_list: list_head, + pub ref_comp: completion, + pub iowq_limits: [u32_; 2usize], + pub poll_wq_task_work: callback_head, + pub defer_list: list_head, + pub msg_cache: io_alloc_cache, + pub msg_lock: spinlock_t, + pub napi_list: list_head, + pub napi_lock: spinlock_t, + pub napi_busy_poll_dt: ktime_t, + pub napi_prefer_busy_poll: bool_, + pub napi_enabled: bool_, + pub napi_ht: [hlist_head; 16usize], + pub evfd_last_cq_tail: ::core::ffi::c_uint, + pub n_ring_pages: ::core::ffi::c_ushort, + pub n_sqe_pages: ::core::ffi::c_ushort, + pub ring_pages: *mut *mut page, + pub sqe_pages: *mut *mut page, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_ring_ctx__bindgen_ty_1 { + pub flags: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub submitter_task: *mut task_struct, + pub rings: *mut io_rings, + pub refs: percpu_ref, + pub clockid: clockid_t, + pub clock_offset: tk_offsets, + pub notify_method: task_work_notify_mode, + pub sq_thread_idle: ::core::ffi::c_uint, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_ring_ctx__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of io_ring_ctx__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::flags"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, flags) - 0usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::submitter_task"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, submitter_task) - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::rings"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, rings) - 16usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::refs"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, refs) - 24usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::clockid"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, clockid) - 40usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::clock_offset"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, clock_offset) - 44usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::notify_method"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, notify_method) - 48usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_1::sq_thread_idle"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_1, sq_thread_idle) - 52usize]; +}; +impl io_ring_ctx__bindgen_ty_1 { + #[inline] + pub fn drain_next(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_drain_next(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn drain_next_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_drain_next_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn restricted(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_restricted(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn restricted_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_restricted_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn off_timeout_used(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_off_timeout_used(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn off_timeout_used_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_off_timeout_used_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn drain_active(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_drain_active(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn drain_active_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_drain_active_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn has_evfd(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_has_evfd(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_evfd_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_has_evfd_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn task_complete(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_task_complete(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn task_complete_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_task_complete_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn lockless_cq(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_lockless_cq(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn lockless_cq_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_lockless_cq_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn syscall_iopoll(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_syscall_iopoll(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn syscall_iopoll_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_syscall_iopoll_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn poll_activated(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_poll_activated(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn poll_activated_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_poll_activated_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn drain_disabled(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_drain_disabled(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn drain_disabled_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_drain_disabled_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn compat(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_compat(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn compat_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 10usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_compat_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn iowq_limits_set(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_iowq_limits_set(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn iowq_limits_set_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_iowq_limits_set_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + drain_next: ::core::ffi::c_uint, + restricted: ::core::ffi::c_uint, + off_timeout_used: ::core::ffi::c_uint, + drain_active: ::core::ffi::c_uint, + has_evfd: ::core::ffi::c_uint, + task_complete: ::core::ffi::c_uint, + lockless_cq: ::core::ffi::c_uint, + syscall_iopoll: ::core::ffi::c_uint, + poll_activated: ::core::ffi::c_uint, + drain_disabled: ::core::ffi::c_uint, + compat: ::core::ffi::c_uint, + iowq_limits_set: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let drain_next: u32 = unsafe { ::core::mem::transmute(drain_next) }; + drain_next as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let restricted: u32 = unsafe { ::core::mem::transmute(restricted) }; + restricted as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let off_timeout_used: u32 = unsafe { ::core::mem::transmute(off_timeout_used) }; + off_timeout_used as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let drain_active: u32 = unsafe { ::core::mem::transmute(drain_active) }; + drain_active as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let has_evfd: u32 = unsafe { ::core::mem::transmute(has_evfd) }; + has_evfd as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let task_complete: u32 = unsafe { ::core::mem::transmute(task_complete) }; + task_complete as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let lockless_cq: u32 = unsafe { ::core::mem::transmute(lockless_cq) }; + lockless_cq as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let syscall_iopoll: u32 = unsafe { ::core::mem::transmute(syscall_iopoll) }; + syscall_iopoll as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let poll_activated: u32 = unsafe { ::core::mem::transmute(poll_activated) }; + poll_activated as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let drain_disabled: u32 = unsafe { ::core::mem::transmute(drain_disabled) }; + drain_disabled as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let compat: u32 = unsafe { ::core::mem::transmute(compat) }; + compat as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let iowq_limits_set: u32 = unsafe { ::core::mem::transmute(iowq_limits_set) }; + iowq_limits_set as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_ring_ctx__bindgen_ty_2 { + pub uring_lock: mutex, + pub sq_array: *mut u32_, + pub sq_sqes: *mut io_uring_sqe, + pub cached_sq_head: ::core::ffi::c_uint, + pub sq_entries: ::core::ffi::c_uint, + pub rsrc_node: *mut io_rsrc_node, + pub cancel_seq: atomic_t, + pub poll_multi_queue: bool_, + pub iopoll_list: io_wq_work_list, + pub file_table: io_file_table, + pub user_bufs: *mut *mut io_mapped_ubuf, + pub nr_user_files: ::core::ffi::c_uint, + pub nr_user_bufs: ::core::ffi::c_uint, + pub submit_state: io_submit_state, + pub io_bl_xa: xarray, + pub cancel_table_locked: io_hash_table, + pub apoll_cache: io_alloc_cache, + pub netmsg_cache: io_alloc_cache, + pub rw_cache: io_alloc_cache, + pub uring_cache: io_alloc_cache, + pub cancelable_uring_cmd: hlist_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_ring_ctx__bindgen_ty_2"] + [::core::mem::size_of::() - 384usize]; + ["Alignment of io_ring_ctx__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::uring_lock"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, uring_lock) - 0usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::sq_array"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, sq_array) - 32usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::sq_sqes"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, sq_sqes) - 40usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::cached_sq_head"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, cached_sq_head) - 48usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::sq_entries"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, sq_entries) - 52usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::rsrc_node"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, rsrc_node) - 56usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::cancel_seq"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, cancel_seq) - 64usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::poll_multi_queue"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, poll_multi_queue) - 68usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::iopoll_list"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, iopoll_list) - 72usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::file_table"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, file_table) - 88usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::user_bufs"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, user_bufs) - 112usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::nr_user_files"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, nr_user_files) - 120usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::nr_user_bufs"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, nr_user_bufs) - 124usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::submit_state"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, submit_state) - 128usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::io_bl_xa"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, io_bl_xa) - 240usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::cancel_table_locked"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, cancel_table_locked) - 256usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::apoll_cache"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, apoll_cache) - 272usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::netmsg_cache"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, netmsg_cache) - 296usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::rw_cache"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, rw_cache) - 320usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::uring_cache"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, uring_cache) - 344usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_2::cancelable_uring_cmd"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_2, cancelable_uring_cmd) - 368usize]; +}; +impl io_ring_ctx__bindgen_ty_2 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_ring_ctx__bindgen_ty_3 { + pub cqe_cached: *mut io_uring_cqe, + pub cqe_sentinel: *mut io_uring_cqe, + pub cached_cq_tail: ::core::ffi::c_uint, + pub cq_entries: ::core::ffi::c_uint, + pub io_ev_fd: *mut io_ev_fd, + pub cq_extra: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_ring_ctx__bindgen_ty_3"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of io_ring_ctx__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_3::cqe_cached"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_3, cqe_cached) - 0usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_3::cqe_sentinel"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_3, cqe_sentinel) - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_3::cached_cq_tail"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_3, cached_cq_tail) - 16usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_3::cq_entries"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_3, cq_entries) - 20usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_3::io_ev_fd"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_3, io_ev_fd) - 24usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_3::cq_extra"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_3, cq_extra) - 32usize]; +}; +impl io_ring_ctx__bindgen_ty_3 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_ring_ctx__bindgen_ty_4 { + pub work_llist: llist_head, + pub check_cq: ::core::ffi::c_ulong, + pub cq_wait_nr: atomic_t, + pub cq_timeouts: atomic_t, + pub cq_wait: wait_queue_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_ring_ctx__bindgen_ty_4"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of io_ring_ctx__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_4::work_llist"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_4, work_llist) - 0usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_4::check_cq"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_4, check_cq) - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_4::cq_wait_nr"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_4, cq_wait_nr) - 16usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_4::cq_timeouts"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_4, cq_timeouts) - 20usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_4::cq_wait"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_4, cq_wait) - 24usize]; +}; +impl io_ring_ctx__bindgen_ty_4 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_ring_ctx__bindgen_ty_5 { + pub timeout_lock: spinlock_t, + pub timeout_list: list_head, + pub ltimeout_list: list_head, + pub cq_last_tm_flush: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_ring_ctx__bindgen_ty_5"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of io_ring_ctx__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_5::timeout_lock"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_5, timeout_lock) - 0usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_5::timeout_list"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_5, timeout_list) - 8usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_5::ltimeout_list"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_5, ltimeout_list) - 24usize]; + ["Offset of field: io_ring_ctx__bindgen_ty_5::cq_last_tm_flush"] + [::core::mem::offset_of!(io_ring_ctx__bindgen_ty_5, cq_last_tm_flush) - 40usize]; +}; +impl io_ring_ctx__bindgen_ty_5 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_ring_ctx"][::core::mem::size_of::() - 1472usize]; + ["Alignment of io_ring_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_ring_ctx::completion_lock"] + [::core::mem::offset_of!(io_ring_ctx, completion_lock) - 640usize]; + ["Offset of field: io_ring_ctx::io_buffers_comp"] + [::core::mem::offset_of!(io_ring_ctx, io_buffers_comp) - 648usize]; + ["Offset of field: io_ring_ctx::cq_overflow_list"] + [::core::mem::offset_of!(io_ring_ctx, cq_overflow_list) - 664usize]; + ["Offset of field: io_ring_ctx::cancel_table"] + [::core::mem::offset_of!(io_ring_ctx, cancel_table) - 680usize]; + ["Offset of field: io_ring_ctx::waitid_list"] + [::core::mem::offset_of!(io_ring_ctx, waitid_list) - 696usize]; + ["Offset of field: io_ring_ctx::futex_list"] + [::core::mem::offset_of!(io_ring_ctx, futex_list) - 704usize]; + ["Offset of field: io_ring_ctx::futex_cache"] + [::core::mem::offset_of!(io_ring_ctx, futex_cache) - 712usize]; + ["Offset of field: io_ring_ctx::sq_creds"] + [::core::mem::offset_of!(io_ring_ctx, sq_creds) - 736usize]; + ["Offset of field: io_ring_ctx::sq_data"] + [::core::mem::offset_of!(io_ring_ctx, sq_data) - 744usize]; + ["Offset of field: io_ring_ctx::sqo_sq_wait"] + [::core::mem::offset_of!(io_ring_ctx, sqo_sq_wait) - 752usize]; + ["Offset of field: io_ring_ctx::sqd_list"] + [::core::mem::offset_of!(io_ring_ctx, sqd_list) - 776usize]; + ["Offset of field: io_ring_ctx::file_alloc_start"] + [::core::mem::offset_of!(io_ring_ctx, file_alloc_start) - 792usize]; + ["Offset of field: io_ring_ctx::file_alloc_end"] + [::core::mem::offset_of!(io_ring_ctx, file_alloc_end) - 796usize]; + ["Offset of field: io_ring_ctx::io_buffers_cache"] + [::core::mem::offset_of!(io_ring_ctx, io_buffers_cache) - 800usize]; + ["Offset of field: io_ring_ctx::poll_wq"] + [::core::mem::offset_of!(io_ring_ctx, poll_wq) - 816usize]; + ["Offset of field: io_ring_ctx::restrictions"] + [::core::mem::offset_of!(io_ring_ctx, restrictions) - 840usize]; + ["Offset of field: io_ring_ctx::file_data"] + [::core::mem::offset_of!(io_ring_ctx, file_data) - 864usize]; + ["Offset of field: io_ring_ctx::buf_data"] + [::core::mem::offset_of!(io_ring_ctx, buf_data) - 872usize]; + ["Offset of field: io_ring_ctx::rsrc_ref_list"] + [::core::mem::offset_of!(io_ring_ctx, rsrc_ref_list) - 880usize]; + ["Offset of field: io_ring_ctx::rsrc_node_cache"] + [::core::mem::offset_of!(io_ring_ctx, rsrc_node_cache) - 896usize]; + ["Offset of field: io_ring_ctx::rsrc_quiesce_wq"] + [::core::mem::offset_of!(io_ring_ctx, rsrc_quiesce_wq) - 920usize]; + ["Offset of field: io_ring_ctx::rsrc_quiesce"] + [::core::mem::offset_of!(io_ring_ctx, rsrc_quiesce) - 944usize]; + ["Offset of field: io_ring_ctx::pers_next"] + [::core::mem::offset_of!(io_ring_ctx, pers_next) - 948usize]; + ["Offset of field: io_ring_ctx::personalities"] + [::core::mem::offset_of!(io_ring_ctx, personalities) - 952usize]; + ["Offset of field: io_ring_ctx::hash_map"] + [::core::mem::offset_of!(io_ring_ctx, hash_map) - 968usize]; + ["Offset of field: io_ring_ctx::user"][::core::mem::offset_of!(io_ring_ctx, user) - 976usize]; + ["Offset of field: io_ring_ctx::mm_account"] + [::core::mem::offset_of!(io_ring_ctx, mm_account) - 984usize]; + ["Offset of field: io_ring_ctx::fallback_llist"] + [::core::mem::offset_of!(io_ring_ctx, fallback_llist) - 992usize]; + ["Offset of field: io_ring_ctx::fallback_work"] + [::core::mem::offset_of!(io_ring_ctx, fallback_work) - 1000usize]; + ["Offset of field: io_ring_ctx::exit_work"] + [::core::mem::offset_of!(io_ring_ctx, exit_work) - 1088usize]; + ["Offset of field: io_ring_ctx::tctx_list"] + [::core::mem::offset_of!(io_ring_ctx, tctx_list) - 1120usize]; + ["Offset of field: io_ring_ctx::ref_comp"] + [::core::mem::offset_of!(io_ring_ctx, ref_comp) - 1136usize]; + ["Offset of field: io_ring_ctx::iowq_limits"] + [::core::mem::offset_of!(io_ring_ctx, iowq_limits) - 1168usize]; + ["Offset of field: io_ring_ctx::poll_wq_task_work"] + [::core::mem::offset_of!(io_ring_ctx, poll_wq_task_work) - 1176usize]; + ["Offset of field: io_ring_ctx::defer_list"] + [::core::mem::offset_of!(io_ring_ctx, defer_list) - 1192usize]; + ["Offset of field: io_ring_ctx::msg_cache"] + [::core::mem::offset_of!(io_ring_ctx, msg_cache) - 1208usize]; + ["Offset of field: io_ring_ctx::msg_lock"] + [::core::mem::offset_of!(io_ring_ctx, msg_lock) - 1232usize]; + ["Offset of field: io_ring_ctx::napi_list"] + [::core::mem::offset_of!(io_ring_ctx, napi_list) - 1240usize]; + ["Offset of field: io_ring_ctx::napi_lock"] + [::core::mem::offset_of!(io_ring_ctx, napi_lock) - 1256usize]; + ["Offset of field: io_ring_ctx::napi_busy_poll_dt"] + [::core::mem::offset_of!(io_ring_ctx, napi_busy_poll_dt) - 1264usize]; + ["Offset of field: io_ring_ctx::napi_prefer_busy_poll"] + [::core::mem::offset_of!(io_ring_ctx, napi_prefer_busy_poll) - 1272usize]; + ["Offset of field: io_ring_ctx::napi_enabled"] + [::core::mem::offset_of!(io_ring_ctx, napi_enabled) - 1273usize]; + ["Offset of field: io_ring_ctx::napi_ht"] + [::core::mem::offset_of!(io_ring_ctx, napi_ht) - 1280usize]; + ["Offset of field: io_ring_ctx::evfd_last_cq_tail"] + [::core::mem::offset_of!(io_ring_ctx, evfd_last_cq_tail) - 1408usize]; + ["Offset of field: io_ring_ctx::n_ring_pages"] + [::core::mem::offset_of!(io_ring_ctx, n_ring_pages) - 1412usize]; + ["Offset of field: io_ring_ctx::n_sqe_pages"] + [::core::mem::offset_of!(io_ring_ctx, n_sqe_pages) - 1414usize]; + ["Offset of field: io_ring_ctx::ring_pages"] + [::core::mem::offset_of!(io_ring_ctx, ring_pages) - 1416usize]; + ["Offset of field: io_ring_ctx::sqe_pages"] + [::core::mem::offset_of!(io_ring_ctx, sqe_pages) - 1424usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring { + pub head: u32_, + pub tail: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring"][::core::mem::size_of::() - 8usize]; + ["Alignment of io_uring"][::core::mem::align_of::() - 4usize]; + ["Offset of field: io_uring::head"][::core::mem::offset_of!(io_uring, head) - 0usize]; + ["Offset of field: io_uring::tail"][::core::mem::offset_of!(io_uring, tail) - 4usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct io_rings { + pub sq: io_uring, + pub cq: io_uring, + pub sq_ring_mask: u32_, + pub cq_ring_mask: u32_, + pub sq_ring_entries: u32_, + pub cq_ring_entries: u32_, + pub sq_dropped: u32_, + pub sq_flags: atomic_t, + pub cq_flags: u32_, + pub cq_overflow: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub cqes: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_rings"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_rings"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_rings::sq"][::core::mem::offset_of!(io_rings, sq) - 0usize]; + ["Offset of field: io_rings::cq"][::core::mem::offset_of!(io_rings, cq) - 8usize]; + ["Offset of field: io_rings::sq_ring_mask"] + [::core::mem::offset_of!(io_rings, sq_ring_mask) - 16usize]; + ["Offset of field: io_rings::cq_ring_mask"] + [::core::mem::offset_of!(io_rings, cq_ring_mask) - 20usize]; + ["Offset of field: io_rings::sq_ring_entries"] + [::core::mem::offset_of!(io_rings, sq_ring_entries) - 24usize]; + ["Offset of field: io_rings::cq_ring_entries"] + [::core::mem::offset_of!(io_rings, cq_ring_entries) - 28usize]; + ["Offset of field: io_rings::sq_dropped"] + [::core::mem::offset_of!(io_rings, sq_dropped) - 32usize]; + ["Offset of field: io_rings::sq_flags"][::core::mem::offset_of!(io_rings, sq_flags) - 36usize]; + ["Offset of field: io_rings::cq_flags"][::core::mem::offset_of!(io_rings, cq_flags) - 40usize]; + ["Offset of field: io_rings::cq_overflow"] + [::core::mem::offset_of!(io_rings, cq_overflow) - 44usize]; + ["Offset of field: io_rings::cqes"][::core::mem::offset_of!(io_rings, cqes) - 64usize]; +}; +impl io_rings { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_rsrc_data { + pub ctx: *mut io_ring_ctx, + pub tags: *mut *mut u64_, + pub nr: ::core::ffi::c_uint, + pub rsrc_type: u16_, + pub quiesce: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_rsrc_data"][::core::mem::size_of::() - 24usize]; + ["Alignment of io_rsrc_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_rsrc_data::ctx"][::core::mem::offset_of!(io_rsrc_data, ctx) - 0usize]; + ["Offset of field: io_rsrc_data::tags"][::core::mem::offset_of!(io_rsrc_data, tags) - 8usize]; + ["Offset of field: io_rsrc_data::nr"][::core::mem::offset_of!(io_rsrc_data, nr) - 16usize]; + ["Offset of field: io_rsrc_data::rsrc_type"] + [::core::mem::offset_of!(io_rsrc_data, rsrc_type) - 20usize]; + ["Offset of field: io_rsrc_data::quiesce"] + [::core::mem::offset_of!(io_rsrc_data, quiesce) - 22usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_rsrc_put { + pub tag: u64_, + pub __bindgen_anon_1: io_rsrc_put__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_rsrc_put__bindgen_ty_1 { + pub rsrc: *mut ::core::ffi::c_void, + pub file: *mut file, + pub buf: *mut io_mapped_ubuf, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_rsrc_put__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of io_rsrc_put__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_rsrc_put__bindgen_ty_1::rsrc"] + [::core::mem::offset_of!(io_rsrc_put__bindgen_ty_1, rsrc) - 0usize]; + ["Offset of field: io_rsrc_put__bindgen_ty_1::file"] + [::core::mem::offset_of!(io_rsrc_put__bindgen_ty_1, file) - 0usize]; + ["Offset of field: io_rsrc_put__bindgen_ty_1::buf"] + [::core::mem::offset_of!(io_rsrc_put__bindgen_ty_1, buf) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_rsrc_put"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_rsrc_put"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_rsrc_put::tag"][::core::mem::offset_of!(io_rsrc_put, tag) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_rsrc_node { + pub ctx: *mut io_ring_ctx, + pub refs: ::core::ffi::c_int, + pub empty: bool_, + pub type_: u16_, + pub node: list_head, + pub item: io_rsrc_put, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_rsrc_node"][::core::mem::size_of::() - 48usize]; + ["Alignment of io_rsrc_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_rsrc_node::ctx"][::core::mem::offset_of!(io_rsrc_node, ctx) - 0usize]; + ["Offset of field: io_rsrc_node::refs"][::core::mem::offset_of!(io_rsrc_node, refs) - 8usize]; + ["Offset of field: io_rsrc_node::empty"] + [::core::mem::offset_of!(io_rsrc_node, empty) - 12usize]; + ["Offset of field: io_rsrc_node::type_"] + [::core::mem::offset_of!(io_rsrc_node, type_) - 14usize]; + ["Offset of field: io_rsrc_node::node"][::core::mem::offset_of!(io_rsrc_node, node) - 16usize]; + ["Offset of field: io_rsrc_node::item"][::core::mem::offset_of!(io_rsrc_node, item) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_sq_data { + pub refs: refcount_t, + pub park_pending: atomic_t, + pub lock: mutex, + pub ctx_list: list_head, + pub thread: *mut task_struct, + pub wait: wait_queue_head, + pub sq_thread_idle: ::core::ffi::c_uint, + pub sq_cpu: ::core::ffi::c_int, + pub task_pid: pid_t, + pub task_tgid: pid_t, + pub work_time: u64_, + pub state: ::core::ffi::c_ulong, + pub exited: completion, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_sq_data"][::core::mem::size_of::() - 152usize]; + ["Alignment of io_sq_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_sq_data::refs"][::core::mem::offset_of!(io_sq_data, refs) - 0usize]; + ["Offset of field: io_sq_data::park_pending"] + [::core::mem::offset_of!(io_sq_data, park_pending) - 4usize]; + ["Offset of field: io_sq_data::lock"][::core::mem::offset_of!(io_sq_data, lock) - 8usize]; + ["Offset of field: io_sq_data::ctx_list"] + [::core::mem::offset_of!(io_sq_data, ctx_list) - 40usize]; + ["Offset of field: io_sq_data::thread"][::core::mem::offset_of!(io_sq_data, thread) - 56usize]; + ["Offset of field: io_sq_data::wait"][::core::mem::offset_of!(io_sq_data, wait) - 64usize]; + ["Offset of field: io_sq_data::sq_thread_idle"] + [::core::mem::offset_of!(io_sq_data, sq_thread_idle) - 88usize]; + ["Offset of field: io_sq_data::sq_cpu"][::core::mem::offset_of!(io_sq_data, sq_cpu) - 92usize]; + ["Offset of field: io_sq_data::task_pid"] + [::core::mem::offset_of!(io_sq_data, task_pid) - 96usize]; + ["Offset of field: io_sq_data::task_tgid"] + [::core::mem::offset_of!(io_sq_data, task_tgid) - 100usize]; + ["Offset of field: io_sq_data::work_time"] + [::core::mem::offset_of!(io_sq_data, work_time) - 104usize]; + ["Offset of field: io_sq_data::state"][::core::mem::offset_of!(io_sq_data, state) - 112usize]; + ["Offset of field: io_sq_data::exited"][::core::mem::offset_of!(io_sq_data, exited) - 120usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_tlb_area { + pub used: ::core::ffi::c_ulong, + pub index: ::core::ffi::c_uint, + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_tlb_area"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_tlb_area"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_tlb_area::used"][::core::mem::offset_of!(io_tlb_area, used) - 0usize]; + ["Offset of field: io_tlb_area::index"][::core::mem::offset_of!(io_tlb_area, index) - 8usize]; + ["Offset of field: io_tlb_area::lock"][::core::mem::offset_of!(io_tlb_area, lock) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_tlb_pool { + pub start: phys_addr_t, + pub end: phys_addr_t, + pub vaddr: *mut ::core::ffi::c_void, + pub nslabs: ::core::ffi::c_ulong, + pub late_alloc: bool_, + pub nareas: ::core::ffi::c_uint, + pub area_nslabs: ::core::ffi::c_uint, + pub areas: *mut io_tlb_area, + pub slots: *mut io_tlb_slot, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_tlb_pool"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_tlb_pool"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_tlb_pool::start"][::core::mem::offset_of!(io_tlb_pool, start) - 0usize]; + ["Offset of field: io_tlb_pool::end"][::core::mem::offset_of!(io_tlb_pool, end) - 8usize]; + ["Offset of field: io_tlb_pool::vaddr"][::core::mem::offset_of!(io_tlb_pool, vaddr) - 16usize]; + ["Offset of field: io_tlb_pool::nslabs"] + [::core::mem::offset_of!(io_tlb_pool, nslabs) - 24usize]; + ["Offset of field: io_tlb_pool::late_alloc"] + [::core::mem::offset_of!(io_tlb_pool, late_alloc) - 32usize]; + ["Offset of field: io_tlb_pool::nareas"] + [::core::mem::offset_of!(io_tlb_pool, nareas) - 36usize]; + ["Offset of field: io_tlb_pool::area_nslabs"] + [::core::mem::offset_of!(io_tlb_pool, area_nslabs) - 40usize]; + ["Offset of field: io_tlb_pool::areas"][::core::mem::offset_of!(io_tlb_pool, areas) - 48usize]; + ["Offset of field: io_tlb_pool::slots"][::core::mem::offset_of!(io_tlb_pool, slots) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_tlb_mem { + pub defpool: io_tlb_pool, + pub nslabs: ::core::ffi::c_ulong, + pub debugfs: *mut dentry, + pub force_bounce: bool_, + pub for_alloc: bool_, + pub total_used: atomic_long_t, + pub used_hiwater: atomic_long_t, + pub transient_nslabs: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_tlb_mem"][::core::mem::size_of::() - 112usize]; + ["Alignment of io_tlb_mem"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_tlb_mem::defpool"][::core::mem::offset_of!(io_tlb_mem, defpool) - 0usize]; + ["Offset of field: io_tlb_mem::nslabs"][::core::mem::offset_of!(io_tlb_mem, nslabs) - 64usize]; + ["Offset of field: io_tlb_mem::debugfs"] + [::core::mem::offset_of!(io_tlb_mem, debugfs) - 72usize]; + ["Offset of field: io_tlb_mem::force_bounce"] + [::core::mem::offset_of!(io_tlb_mem, force_bounce) - 80usize]; + ["Offset of field: io_tlb_mem::for_alloc"] + [::core::mem::offset_of!(io_tlb_mem, for_alloc) - 81usize]; + ["Offset of field: io_tlb_mem::total_used"] + [::core::mem::offset_of!(io_tlb_mem, total_used) - 88usize]; + ["Offset of field: io_tlb_mem::used_hiwater"] + [::core::mem::offset_of!(io_tlb_mem, used_hiwater) - 96usize]; + ["Offset of field: io_tlb_mem::transient_nslabs"] + [::core::mem::offset_of!(io_tlb_mem, transient_nslabs) - 104usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_tlb_slot { + pub orig_addr: phys_addr_t, + pub alloc_size: usize, + pub list: ::core::ffi::c_ushort, + pub pad_slots: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_tlb_slot"][::core::mem::size_of::() - 24usize]; + ["Alignment of io_tlb_slot"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_tlb_slot::orig_addr"] + [::core::mem::offset_of!(io_tlb_slot, orig_addr) - 0usize]; + ["Offset of field: io_tlb_slot::alloc_size"] + [::core::mem::offset_of!(io_tlb_slot, alloc_size) - 8usize]; + ["Offset of field: io_tlb_slot::list"][::core::mem::offset_of!(io_tlb_slot, list) - 16usize]; + ["Offset of field: io_tlb_slot::pad_slots"] + [::core::mem::offset_of!(io_tlb_slot, pad_slots) - 18usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_tw_state {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_tw_state"][::core::mem::size_of::() - 0usize]; + ["Alignment of io_tw_state"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_buf { + pub addr: __u64, + pub len: __u32, + pub bid: __u16, + pub resv: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_buf"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_uring_buf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_buf::addr"][::core::mem::offset_of!(io_uring_buf, addr) - 0usize]; + ["Offset of field: io_uring_buf::len"][::core::mem::offset_of!(io_uring_buf, len) - 8usize]; + ["Offset of field: io_uring_buf::bid"][::core::mem::offset_of!(io_uring_buf, bid) - 12usize]; + ["Offset of field: io_uring_buf::resv"][::core::mem::offset_of!(io_uring_buf, resv) - 14usize]; +}; +#[repr(C)] +pub struct io_uring_buf_ring { + pub __bindgen_anon_1: io_uring_buf_ring__bindgen_ty_1, +} +#[repr(C)] +pub struct io_uring_buf_ring__bindgen_ty_1 { + pub __bindgen_anon_1: __BindgenUnionField, + pub __bindgen_anon_2: __BindgenUnionField, + pub bindgen_union_field: [u64; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 { + pub resv1: __u64, + pub resv2: __u32, + pub resv3: __u16, + pub tail: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1::resv1"] + [::core::mem::offset_of!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1, resv1) - 0usize]; + ["Offset of field: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1::resv2"] + [::core::mem::offset_of!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1, resv2) - 8usize]; + ["Offset of field: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1::resv3"] + [::core::mem::offset_of!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1, resv3) - 12usize]; + ["Offset of field: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1::tail"] + [::core::mem::offset_of!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1, tail) - 14usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 { + pub __empty_bufs: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub bufs: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::core::mem::size_of::< + io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + >() - 0usize]; + ["Alignment of io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() + - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2::__empty_bufs"][::core::mem::offset_of!( + io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2, + __empty_bufs + ) - 0usize]; + ["Offset of field: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2::bufs"] + [::core::mem::offset_of!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2, bufs) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_buf_ring__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of io_uring_buf_ring__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_buf_ring"][::core::mem::size_of::() - 16usize]; + ["Alignment of io_uring_buf_ring"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_cmd { + pub file: *mut file, + pub sqe: *const io_uring_sqe, + pub task_work_cb: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut io_uring_cmd, arg2: ::core::ffi::c_uint), + >, + pub cmd_op: u32_, + pub flags: u32_, + pub pdu: [u8_; 32usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_cmd"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_uring_cmd"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_cmd::file"][::core::mem::offset_of!(io_uring_cmd, file) - 0usize]; + ["Offset of field: io_uring_cmd::sqe"][::core::mem::offset_of!(io_uring_cmd, sqe) - 8usize]; + ["Offset of field: io_uring_cmd::task_work_cb"] + [::core::mem::offset_of!(io_uring_cmd, task_work_cb) - 16usize]; + ["Offset of field: io_uring_cmd::cmd_op"] + [::core::mem::offset_of!(io_uring_cmd, cmd_op) - 24usize]; + ["Offset of field: io_uring_cmd::flags"] + [::core::mem::offset_of!(io_uring_cmd, flags) - 28usize]; + ["Offset of field: io_uring_cmd::pdu"][::core::mem::offset_of!(io_uring_cmd, pdu) - 32usize]; +}; +#[repr(C)] +pub struct io_uring_sqe { + pub opcode: __u8, + pub flags: __u8, + pub ioprio: __u16, + pub fd: __s32, + pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1, + pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2, + pub len: __u32, + pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3, + pub user_data: __u64, + pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4, + pub personality: __u16, + pub __bindgen_anon_5: io_uring_sqe__bindgen_ty_5, + pub __bindgen_anon_6: io_uring_sqe__bindgen_ty_6, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_uring_sqe__bindgen_ty_1 { + pub off: __u64, + pub addr2: __u64, + pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_sqe__bindgen_ty_1__bindgen_ty_1 { + pub cmd_op: __u32, + pub __pad1: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of io_uring_sqe__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_1__bindgen_ty_1::cmd_op"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_1__bindgen_ty_1, cmd_op) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_1__bindgen_ty_1::__pad1"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_1__bindgen_ty_1, __pad1) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of io_uring_sqe__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_1::off"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_1, off) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_1::addr2"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_1, addr2) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_uring_sqe__bindgen_ty_2 { + pub addr: __u64, + pub splice_off_in: __u64, + pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_sqe__bindgen_ty_2__bindgen_ty_1 { + pub level: __u32, + pub optname: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of io_uring_sqe__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_2__bindgen_ty_1::level"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_2__bindgen_ty_1, level) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_2__bindgen_ty_1::optname"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_2__bindgen_ty_1, optname) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of io_uring_sqe__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_2::addr"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_2, addr) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_2::splice_off_in"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_2, splice_off_in) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_uring_sqe__bindgen_ty_3 { + pub rw_flags: __u32, + pub fsync_flags: __u32, + pub poll_events: __u16, + pub poll32_events: __u32, + pub sync_range_flags: __u32, + pub msg_flags: __u32, + pub timeout_flags: __u32, + pub accept_flags: __u32, + pub cancel_flags: __u32, + pub open_flags: __u32, + pub statx_flags: __u32, + pub fadvise_advice: __u32, + pub splice_flags: __u32, + pub rename_flags: __u32, + pub unlink_flags: __u32, + pub hardlink_flags: __u32, + pub xattr_flags: __u32, + pub msg_ring_flags: __u32, + pub uring_cmd_flags: __u32, + pub waitid_flags: __u32, + pub futex_flags: __u32, + pub install_fd_flags: __u32, + pub nop_flags: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_3"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of io_uring_sqe__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::rw_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, rw_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::fsync_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, fsync_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::poll_events"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, poll_events) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::poll32_events"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, poll32_events) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::sync_range_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, sync_range_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::msg_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, msg_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::timeout_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, timeout_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::accept_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, accept_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::cancel_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, cancel_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::open_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, open_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::statx_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, statx_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::fadvise_advice"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, fadvise_advice) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::splice_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, splice_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::rename_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, rename_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::unlink_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, unlink_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::hardlink_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, hardlink_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::xattr_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, xattr_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::msg_ring_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, msg_ring_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::uring_cmd_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, uring_cmd_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::waitid_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, waitid_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::futex_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, futex_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::install_fd_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, install_fd_flags) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_3::nop_flags"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_3, nop_flags) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_uring_sqe__bindgen_ty_4 { + pub buf_index: __u16, + pub buf_group: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_4"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of io_uring_sqe__bindgen_ty_4"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_4::buf_index"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_4, buf_index) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_4::buf_group"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_4, buf_group) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union io_uring_sqe__bindgen_ty_5 { + pub splice_fd_in: __s32, + pub file_index: __u32, + pub optlen: __u32, + pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_5__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_1 { + pub addr_len: __u16, + pub __pad3: [__u16; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_5__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of io_uring_sqe__bindgen_ty_5__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_5__bindgen_ty_1::addr_len"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_5__bindgen_ty_1, addr_len) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_5__bindgen_ty_1::__pad3"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_5__bindgen_ty_1, __pad3) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_5"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of io_uring_sqe__bindgen_ty_5"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_5::splice_fd_in"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_5, splice_fd_in) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_5::file_index"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_5, file_index) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_5::optlen"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_5, optlen) - 0usize]; +}; +#[repr(C)] +pub struct io_uring_sqe__bindgen_ty_6 { + pub __bindgen_anon_1: __BindgenUnionField, + pub optval: __BindgenUnionField<__u64>, + pub cmd: __BindgenUnionField<[__u8; 0usize]>, + pub bindgen_union_field: [u64; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_1 { + pub addr3: __u64, + pub __pad2: [__u64; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_6__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of io_uring_sqe__bindgen_ty_6__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_6__bindgen_ty_1::addr3"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_6__bindgen_ty_1, addr3) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_6__bindgen_ty_1::__pad2"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_6__bindgen_ty_1, __pad2) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe__bindgen_ty_6"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of io_uring_sqe__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_6::optval"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_6, optval) - 0usize]; + ["Offset of field: io_uring_sqe__bindgen_ty_6::cmd"] + [::core::mem::offset_of!(io_uring_sqe__bindgen_ty_6, cmd) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_sqe"][::core::mem::size_of::() - 64usize]; + ["Alignment of io_uring_sqe"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_sqe::opcode"] + [::core::mem::offset_of!(io_uring_sqe, opcode) - 0usize]; + ["Offset of field: io_uring_sqe::flags"][::core::mem::offset_of!(io_uring_sqe, flags) - 1usize]; + ["Offset of field: io_uring_sqe::ioprio"] + [::core::mem::offset_of!(io_uring_sqe, ioprio) - 2usize]; + ["Offset of field: io_uring_sqe::fd"][::core::mem::offset_of!(io_uring_sqe, fd) - 4usize]; + ["Offset of field: io_uring_sqe::len"][::core::mem::offset_of!(io_uring_sqe, len) - 24usize]; + ["Offset of field: io_uring_sqe::user_data"] + [::core::mem::offset_of!(io_uring_sqe, user_data) - 32usize]; + ["Offset of field: io_uring_sqe::personality"] + [::core::mem::offset_of!(io_uring_sqe, personality) - 42usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_uring_task { + pub cached_refs: ::core::ffi::c_int, + pub last: *const io_ring_ctx, + pub io_wq: *mut io_wq, + pub registered_rings: [*mut file; 16usize], + pub xa: xarray, + pub wait: wait_queue_head, + pub in_cancel: atomic_t, + pub inflight_tracked: atomic_t, + pub inflight: percpu_counter, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub __bindgen_anon_1: io_uring_task__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_task__bindgen_ty_1 { + pub task_list: llist_head, + pub task_work: callback_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_task__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of io_uring_task__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_task__bindgen_ty_1::task_list"] + [::core::mem::offset_of!(io_uring_task__bindgen_ty_1, task_list) - 0usize]; + ["Offset of field: io_uring_task__bindgen_ty_1::task_work"] + [::core::mem::offset_of!(io_uring_task__bindgen_ty_1, task_work) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_uring_task"][::core::mem::size_of::() - 320usize]; + ["Alignment of io_uring_task"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_uring_task::cached_refs"] + [::core::mem::offset_of!(io_uring_task, cached_refs) - 0usize]; + ["Offset of field: io_uring_task::last"][::core::mem::offset_of!(io_uring_task, last) - 8usize]; + ["Offset of field: io_uring_task::io_wq"] + [::core::mem::offset_of!(io_uring_task, io_wq) - 16usize]; + ["Offset of field: io_uring_task::registered_rings"] + [::core::mem::offset_of!(io_uring_task, registered_rings) - 24usize]; + ["Offset of field: io_uring_task::xa"][::core::mem::offset_of!(io_uring_task, xa) - 152usize]; + ["Offset of field: io_uring_task::wait"] + [::core::mem::offset_of!(io_uring_task, wait) - 168usize]; + ["Offset of field: io_uring_task::in_cancel"] + [::core::mem::offset_of!(io_uring_task, in_cancel) - 192usize]; + ["Offset of field: io_uring_task::inflight_tracked"] + [::core::mem::offset_of!(io_uring_task, inflight_tracked) - 196usize]; + ["Offset of field: io_uring_task::inflight"] + [::core::mem::offset_of!(io_uring_task, inflight) - 200usize]; +}; +impl io_uring_task { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +pub type free_work_fn = + ::core::option::Option *mut io_wq_work>; +pub type io_wq_work_fn = ::core::option::Option; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_wq_acct { + pub nr_workers: ::core::ffi::c_uint, + pub max_workers: ::core::ffi::c_uint, + pub index: ::core::ffi::c_int, + pub nr_running: atomic_t, + pub lock: raw_spinlock_t, + pub work_list: io_wq_work_list, + pub flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_wq_acct"][::core::mem::size_of::() - 48usize]; + ["Alignment of io_wq_acct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_wq_acct::nr_workers"] + [::core::mem::offset_of!(io_wq_acct, nr_workers) - 0usize]; + ["Offset of field: io_wq_acct::max_workers"] + [::core::mem::offset_of!(io_wq_acct, max_workers) - 4usize]; + ["Offset of field: io_wq_acct::index"][::core::mem::offset_of!(io_wq_acct, index) - 8usize]; + ["Offset of field: io_wq_acct::nr_running"] + [::core::mem::offset_of!(io_wq_acct, nr_running) - 12usize]; + ["Offset of field: io_wq_acct::lock"][::core::mem::offset_of!(io_wq_acct, lock) - 16usize]; + ["Offset of field: io_wq_acct::work_list"] + [::core::mem::offset_of!(io_wq_acct, work_list) - 24usize]; + ["Offset of field: io_wq_acct::flags"][::core::mem::offset_of!(io_wq_acct, flags) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_wq { + pub state: ::core::ffi::c_ulong, + pub free_work: free_work_fn, + pub do_work: io_wq_work_fn, + pub hash: *mut io_wq_hash, + pub worker_refs: atomic_t, + pub worker_done: completion, + pub cpuhp_node: hlist_node, + pub task: *mut task_struct, + pub acct: [io_wq_acct; 2usize], + pub lock: raw_spinlock_t, + pub free_list: hlist_nulls_head, + pub all_list: list_head, + pub wait: wait_queue_entry, + pub hash_tail: [*mut io_wq_work; 64usize], + pub cpu_mask: cpumask_var_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_wq"][::core::mem::size_of::() - 784usize]; + ["Alignment of io_wq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_wq::state"][::core::mem::offset_of!(io_wq, state) - 0usize]; + ["Offset of field: io_wq::free_work"][::core::mem::offset_of!(io_wq, free_work) - 8usize]; + ["Offset of field: io_wq::do_work"][::core::mem::offset_of!(io_wq, do_work) - 16usize]; + ["Offset of field: io_wq::hash"][::core::mem::offset_of!(io_wq, hash) - 24usize]; + ["Offset of field: io_wq::worker_refs"][::core::mem::offset_of!(io_wq, worker_refs) - 32usize]; + ["Offset of field: io_wq::worker_done"][::core::mem::offset_of!(io_wq, worker_done) - 40usize]; + ["Offset of field: io_wq::cpuhp_node"][::core::mem::offset_of!(io_wq, cpuhp_node) - 72usize]; + ["Offset of field: io_wq::task"][::core::mem::offset_of!(io_wq, task) - 88usize]; + ["Offset of field: io_wq::acct"][::core::mem::offset_of!(io_wq, acct) - 96usize]; + ["Offset of field: io_wq::lock"][::core::mem::offset_of!(io_wq, lock) - 192usize]; + ["Offset of field: io_wq::free_list"][::core::mem::offset_of!(io_wq, free_list) - 200usize]; + ["Offset of field: io_wq::all_list"][::core::mem::offset_of!(io_wq, all_list) - 208usize]; + ["Offset of field: io_wq::wait"][::core::mem::offset_of!(io_wq, wait) - 224usize]; + ["Offset of field: io_wq::hash_tail"][::core::mem::offset_of!(io_wq, hash_tail) - 264usize]; + ["Offset of field: io_wq::cpu_mask"][::core::mem::offset_of!(io_wq, cpu_mask) - 776usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct io_wq_hash { + pub refs: refcount_t, + pub map: ::core::ffi::c_ulong, + pub wait: wait_queue_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of io_wq_hash"][::core::mem::size_of::() - 40usize]; + ["Alignment of io_wq_hash"][::core::mem::align_of::() - 8usize]; + ["Offset of field: io_wq_hash::refs"][::core::mem::offset_of!(io_wq_hash, refs) - 0usize]; + ["Offset of field: io_wq_hash::map"][::core::mem::offset_of!(io_wq_hash, map) - 8usize]; + ["Offset of field: io_wq_hash::wait"][::core::mem::offset_of!(io_wq_hash, wait) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ioam6_pernet_data { + pub lock: mutex, + pub namespaces: rhashtable, + pub schemas: rhashtable, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ioam6_pernet_data"][::core::mem::size_of::() - 304usize]; + ["Alignment of ioam6_pernet_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ioam6_pernet_data::lock"] + [::core::mem::offset_of!(ioam6_pernet_data, lock) - 0usize]; + ["Offset of field: ioam6_pernet_data::namespaces"] + [::core::mem::offset_of!(ioam6_pernet_data, namespaces) - 32usize]; + ["Offset of field: ioam6_pernet_data::schemas"] + [::core::mem::offset_of!(ioam6_pernet_data, schemas) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iomap { + pub addr: u64_, + pub offset: loff_t, + pub length: u64_, + pub type_: u16_, + pub flags: u16_, + pub bdev: *mut block_device, + pub dax_dev: *mut dax_device, + pub inline_data: *mut ::core::ffi::c_void, + pub private: *mut ::core::ffi::c_void, + pub folio_ops: *const iomap_folio_ops, + pub validity_cookie: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iomap"][::core::mem::size_of::() - 80usize]; + ["Alignment of iomap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iomap::addr"][::core::mem::offset_of!(iomap, addr) - 0usize]; + ["Offset of field: iomap::offset"][::core::mem::offset_of!(iomap, offset) - 8usize]; + ["Offset of field: iomap::length"][::core::mem::offset_of!(iomap, length) - 16usize]; + ["Offset of field: iomap::type_"][::core::mem::offset_of!(iomap, type_) - 24usize]; + ["Offset of field: iomap::flags"][::core::mem::offset_of!(iomap, flags) - 26usize]; + ["Offset of field: iomap::bdev"][::core::mem::offset_of!(iomap, bdev) - 32usize]; + ["Offset of field: iomap::dax_dev"][::core::mem::offset_of!(iomap, dax_dev) - 40usize]; + ["Offset of field: iomap::inline_data"][::core::mem::offset_of!(iomap, inline_data) - 48usize]; + ["Offset of field: iomap::private"][::core::mem::offset_of!(iomap, private) - 56usize]; + ["Offset of field: iomap::folio_ops"][::core::mem::offset_of!(iomap, folio_ops) - 64usize]; + ["Offset of field: iomap::validity_cookie"] + [::core::mem::offset_of!(iomap, validity_cookie) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iomap_folio_ops { + pub get_folio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iomap_iter, + arg2: loff_t, + arg3: ::core::ffi::c_uint, + ) -> *mut folio, + >, + pub put_folio: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: loff_t, + arg3: ::core::ffi::c_uint, + arg4: *mut folio, + ), + >, + pub iomap_valid: + ::core::option::Option bool_>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iomap_folio_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of iomap_folio_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iomap_folio_ops::get_folio"] + [::core::mem::offset_of!(iomap_folio_ops, get_folio) - 0usize]; + ["Offset of field: iomap_folio_ops::put_folio"] + [::core::mem::offset_of!(iomap_folio_ops, put_folio) - 8usize]; + ["Offset of field: iomap_folio_ops::iomap_valid"] + [::core::mem::offset_of!(iomap_folio_ops, iomap_valid) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iomap_iter { + pub inode: *mut inode, + pub pos: loff_t, + pub len: u64_, + pub processed: s64, + pub flags: ::core::ffi::c_uint, + pub iomap: iomap, + pub srcmap: iomap, + pub private: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iomap_iter"][::core::mem::size_of::() - 208usize]; + ["Alignment of iomap_iter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iomap_iter::inode"][::core::mem::offset_of!(iomap_iter, inode) - 0usize]; + ["Offset of field: iomap_iter::pos"][::core::mem::offset_of!(iomap_iter, pos) - 8usize]; + ["Offset of field: iomap_iter::len"][::core::mem::offset_of!(iomap_iter, len) - 16usize]; + ["Offset of field: iomap_iter::processed"] + [::core::mem::offset_of!(iomap_iter, processed) - 24usize]; + ["Offset of field: iomap_iter::flags"][::core::mem::offset_of!(iomap_iter, flags) - 32usize]; + ["Offset of field: iomap_iter::iomap"][::core::mem::offset_of!(iomap_iter, iomap) - 40usize]; + ["Offset of field: iomap_iter::srcmap"][::core::mem::offset_of!(iomap_iter, srcmap) - 120usize]; + ["Offset of field: iomap_iter::private"] + [::core::mem::offset_of!(iomap_iter, private) - 200usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_attach_handle { + pub domain: *mut iommu_domain, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_attach_handle"][::core::mem::size_of::() - 8usize]; + ["Alignment of iommu_attach_handle"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_attach_handle::domain"] + [::core::mem::offset_of!(iommu_attach_handle, domain) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_dirty_bitmap { + pub bitmap: *mut iova_bitmap, + pub gather: *mut iommu_iotlb_gather, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_dirty_bitmap"][::core::mem::size_of::() - 16usize]; + ["Alignment of iommu_dirty_bitmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_dirty_bitmap::bitmap"] + [::core::mem::offset_of!(iommu_dirty_bitmap, bitmap) - 0usize]; + ["Offset of field: iommu_dirty_bitmap::gather"] + [::core::mem::offset_of!(iommu_dirty_bitmap, gather) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_dirty_ops { + pub set_dirty_tracking: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut iommu_domain, arg2: bool_) -> ::core::ffi::c_int, + >, + pub read_and_clear_dirty: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: ::core::ffi::c_ulong, + arg3: usize, + arg4: ::core::ffi::c_ulong, + arg5: *mut iommu_dirty_bitmap, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_dirty_ops"][::core::mem::size_of::() - 16usize]; + ["Alignment of iommu_dirty_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_dirty_ops::set_dirty_tracking"] + [::core::mem::offset_of!(iommu_dirty_ops, set_dirty_tracking) - 0usize]; + ["Offset of field: iommu_dirty_ops::read_and_clear_dirty"] + [::core::mem::offset_of!(iommu_dirty_ops, read_and_clear_dirty) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iova { + pub node: rb_node, + pub pfn_hi: ::core::ffi::c_ulong, + pub pfn_lo: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova"][::core::mem::size_of::() - 40usize]; + ["Alignment of iova"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova::node"][::core::mem::offset_of!(iova, node) - 0usize]; + ["Offset of field: iova::pfn_hi"][::core::mem::offset_of!(iova, pfn_hi) - 24usize]; + ["Offset of field: iova::pfn_lo"][::core::mem::offset_of!(iova, pfn_lo) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iova_domain { + pub iova_rbtree_lock: spinlock_t, + pub rbroot: rb_root, + pub cached_node: *mut rb_node, + pub cached32_node: *mut rb_node, + pub granule: ::core::ffi::c_ulong, + pub start_pfn: ::core::ffi::c_ulong, + pub dma_32bit_pfn: ::core::ffi::c_ulong, + pub max32_alloc_size: ::core::ffi::c_ulong, + pub anchor: iova, + pub rcaches: *mut iova_rcache, + pub cpuhp_dead: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_domain"][::core::mem::size_of::() - 128usize]; + ["Alignment of iova_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_domain::iova_rbtree_lock"] + [::core::mem::offset_of!(iova_domain, iova_rbtree_lock) - 0usize]; + ["Offset of field: iova_domain::rbroot"][::core::mem::offset_of!(iova_domain, rbroot) - 8usize]; + ["Offset of field: iova_domain::cached_node"] + [::core::mem::offset_of!(iova_domain, cached_node) - 16usize]; + ["Offset of field: iova_domain::cached32_node"] + [::core::mem::offset_of!(iova_domain, cached32_node) - 24usize]; + ["Offset of field: iova_domain::granule"] + [::core::mem::offset_of!(iova_domain, granule) - 32usize]; + ["Offset of field: iova_domain::start_pfn"] + [::core::mem::offset_of!(iova_domain, start_pfn) - 40usize]; + ["Offset of field: iova_domain::dma_32bit_pfn"] + [::core::mem::offset_of!(iova_domain, dma_32bit_pfn) - 48usize]; + ["Offset of field: iova_domain::max32_alloc_size"] + [::core::mem::offset_of!(iova_domain, max32_alloc_size) - 56usize]; + ["Offset of field: iova_domain::anchor"] + [::core::mem::offset_of!(iova_domain, anchor) - 64usize]; + ["Offset of field: iova_domain::rcaches"] + [::core::mem::offset_of!(iova_domain, rcaches) - 104usize]; + ["Offset of field: iova_domain::cpuhp_dead"] + [::core::mem::offset_of!(iova_domain, cpuhp_dead) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_dma_options { + pub qt: iommu_dma_queue_type, + pub fq_size: usize, + pub fq_timeout: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_dma_options"][::core::mem::size_of::() - 24usize]; + ["Alignment of iommu_dma_options"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_dma_options::qt"] + [::core::mem::offset_of!(iommu_dma_options, qt) - 0usize]; + ["Offset of field: iommu_dma_options::fq_size"] + [::core::mem::offset_of!(iommu_dma_options, fq_size) - 8usize]; + ["Offset of field: iommu_dma_options::fq_timeout"] + [::core::mem::offset_of!(iommu_dma_options, fq_timeout) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iommu_dma_cookie { + pub type_: iommu_dma_cookie_type, + pub __bindgen_anon_1: iommu_dma_cookie__bindgen_ty_1, + pub msi_page_list: list_head, + pub fq_domain: *mut iommu_domain, + pub options: iommu_dma_options, + pub mutex: mutex, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iommu_dma_cookie__bindgen_ty_1 { + pub __bindgen_anon_1: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1, + pub msi_iova: dma_addr_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1 { + pub iovad: iova_domain, + pub __bindgen_anon_1: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub fq_flush_start_cnt: atomic64_t, + pub fq_flush_finish_cnt: atomic64_t, + pub fq_timer: timer_list, + pub fq_timer_on: atomic_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub single_fq: *mut iova_fq, + pub percpu_fq: *mut iova_fq, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >() - 8usize]; + ["Alignment of iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() + - 8usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::single_fq"][::core::mem::offset_of!( + iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + single_fq + ) + - 0usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::percpu_fq"][::core::mem::offset_of!( + iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + percpu_fq + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 200usize]; + ["Alignment of iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1::iovad"] + [::core::mem::offset_of!(iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1, iovad) - 0usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1::fq_flush_start_cnt"][::core::mem::offset_of!( + iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1, + fq_flush_start_cnt + ) + - 136usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1::fq_flush_finish_cnt"][::core::mem::offset_of!( + iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1, + fq_flush_finish_cnt + ) + - 144usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1::fq_timer"][::core::mem::offset_of!( + iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1, + fq_timer + ) - 152usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1::fq_timer_on"][::core::mem::offset_of!( + iommu_dma_cookie__bindgen_ty_1__bindgen_ty_1, + fq_timer_on + ) - 192usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_dma_cookie__bindgen_ty_1"] + [::core::mem::size_of::() - 200usize]; + ["Alignment of iommu_dma_cookie__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_dma_cookie__bindgen_ty_1::msi_iova"] + [::core::mem::offset_of!(iommu_dma_cookie__bindgen_ty_1, msi_iova) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_dma_cookie"][::core::mem::size_of::() - 288usize]; + ["Alignment of iommu_dma_cookie"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_dma_cookie::type_"] + [::core::mem::offset_of!(iommu_dma_cookie, type_) - 0usize]; + ["Offset of field: iommu_dma_cookie::msi_page_list"] + [::core::mem::offset_of!(iommu_dma_cookie, msi_page_list) - 208usize]; + ["Offset of field: iommu_dma_cookie::fq_domain"] + [::core::mem::offset_of!(iommu_dma_cookie, fq_domain) - 224usize]; + ["Offset of field: iommu_dma_cookie::options"] + [::core::mem::offset_of!(iommu_dma_cookie, options) - 232usize]; + ["Offset of field: iommu_dma_cookie::mutex"] + [::core::mem::offset_of!(iommu_dma_cookie, mutex) - 256usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_domain_ops { + pub attach_dev: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut iommu_domain, arg2: *mut device) -> ::core::ffi::c_int, + >, + pub set_dev_pasid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: *mut device, + arg3: ioasid_t, + ) -> ::core::ffi::c_int, + >, + pub map_pages: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: ::core::ffi::c_ulong, + arg3: phys_addr_t, + arg4: usize, + arg5: usize, + arg6: ::core::ffi::c_int, + arg7: gfp_t, + arg8: *mut usize, + ) -> ::core::ffi::c_int, + >, + pub unmap_pages: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: ::core::ffi::c_ulong, + arg3: usize, + arg4: usize, + arg5: *mut iommu_iotlb_gather, + ) -> usize, + >, + pub flush_iotlb_all: ::core::option::Option, + pub iotlb_sync_map: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: ::core::ffi::c_ulong, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub iotlb_sync: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut iommu_domain, arg2: *mut iommu_iotlb_gather), + >, + pub cache_invalidate_user: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: *mut iommu_user_data_array, + ) -> ::core::ffi::c_int, + >, + pub iova_to_phys: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut iommu_domain, arg2: dma_addr_t) -> phys_addr_t, + >, + pub enforce_cache_coherency: + ::core::option::Option bool_>, + pub enable_nesting: + ::core::option::Option ::core::ffi::c_int>, + pub set_pgtable_quirks: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut iommu_domain, + arg2: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub free: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_domain_ops"][::core::mem::size_of::() - 104usize]; + ["Alignment of iommu_domain_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_domain_ops::attach_dev"] + [::core::mem::offset_of!(iommu_domain_ops, attach_dev) - 0usize]; + ["Offset of field: iommu_domain_ops::set_dev_pasid"] + [::core::mem::offset_of!(iommu_domain_ops, set_dev_pasid) - 8usize]; + ["Offset of field: iommu_domain_ops::map_pages"] + [::core::mem::offset_of!(iommu_domain_ops, map_pages) - 16usize]; + ["Offset of field: iommu_domain_ops::unmap_pages"] + [::core::mem::offset_of!(iommu_domain_ops, unmap_pages) - 24usize]; + ["Offset of field: iommu_domain_ops::flush_iotlb_all"] + [::core::mem::offset_of!(iommu_domain_ops, flush_iotlb_all) - 32usize]; + ["Offset of field: iommu_domain_ops::iotlb_sync_map"] + [::core::mem::offset_of!(iommu_domain_ops, iotlb_sync_map) - 40usize]; + ["Offset of field: iommu_domain_ops::iotlb_sync"] + [::core::mem::offset_of!(iommu_domain_ops, iotlb_sync) - 48usize]; + ["Offset of field: iommu_domain_ops::cache_invalidate_user"] + [::core::mem::offset_of!(iommu_domain_ops, cache_invalidate_user) - 56usize]; + ["Offset of field: iommu_domain_ops::iova_to_phys"] + [::core::mem::offset_of!(iommu_domain_ops, iova_to_phys) - 64usize]; + ["Offset of field: iommu_domain_ops::enforce_cache_coherency"] + [::core::mem::offset_of!(iommu_domain_ops, enforce_cache_coherency) - 72usize]; + ["Offset of field: iommu_domain_ops::enable_nesting"] + [::core::mem::offset_of!(iommu_domain_ops, enable_nesting) - 80usize]; + ["Offset of field: iommu_domain_ops::set_pgtable_quirks"] + [::core::mem::offset_of!(iommu_domain_ops, set_pgtable_quirks) - 88usize]; + ["Offset of field: iommu_domain_ops::free"] + [::core::mem::offset_of!(iommu_domain_ops, free) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_fault_page_request { + pub flags: u32_, + pub pasid: u32_, + pub grpid: u32_, + pub perm: u32_, + pub addr: u64_, + pub private_data: [u64_; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_fault_page_request"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of iommu_fault_page_request"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_fault_page_request::flags"] + [::core::mem::offset_of!(iommu_fault_page_request, flags) - 0usize]; + ["Offset of field: iommu_fault_page_request::pasid"] + [::core::mem::offset_of!(iommu_fault_page_request, pasid) - 4usize]; + ["Offset of field: iommu_fault_page_request::grpid"] + [::core::mem::offset_of!(iommu_fault_page_request, grpid) - 8usize]; + ["Offset of field: iommu_fault_page_request::perm"] + [::core::mem::offset_of!(iommu_fault_page_request, perm) - 12usize]; + ["Offset of field: iommu_fault_page_request::addr"] + [::core::mem::offset_of!(iommu_fault_page_request, addr) - 16usize]; + ["Offset of field: iommu_fault_page_request::private_data"] + [::core::mem::offset_of!(iommu_fault_page_request, private_data) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_fault { + pub type_: u32_, + pub prm: iommu_fault_page_request, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_fault"][::core::mem::size_of::() - 48usize]; + ["Alignment of iommu_fault"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_fault::type_"][::core::mem::offset_of!(iommu_fault, type_) - 0usize]; + ["Offset of field: iommu_fault::prm"][::core::mem::offset_of!(iommu_fault, prm) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iommu_fault_param { + pub lock: mutex, + pub users: refcount_t, + pub rcu: callback_head, + pub dev: *mut device, + pub queue: *mut iopf_queue, + pub queue_list: list_head, + pub partial: list_head, + pub faults: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_fault_param"][::core::mem::size_of::() - 120usize]; + ["Alignment of iommu_fault_param"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_fault_param::lock"] + [::core::mem::offset_of!(iommu_fault_param, lock) - 0usize]; + ["Offset of field: iommu_fault_param::users"] + [::core::mem::offset_of!(iommu_fault_param, users) - 32usize]; + ["Offset of field: iommu_fault_param::rcu"] + [::core::mem::offset_of!(iommu_fault_param, rcu) - 40usize]; + ["Offset of field: iommu_fault_param::dev"] + [::core::mem::offset_of!(iommu_fault_param, dev) - 56usize]; + ["Offset of field: iommu_fault_param::queue"] + [::core::mem::offset_of!(iommu_fault_param, queue) - 64usize]; + ["Offset of field: iommu_fault_param::queue_list"] + [::core::mem::offset_of!(iommu_fault_param, queue_list) - 72usize]; + ["Offset of field: iommu_fault_param::partial"] + [::core::mem::offset_of!(iommu_fault_param, partial) - 88usize]; + ["Offset of field: iommu_fault_param::faults"] + [::core::mem::offset_of!(iommu_fault_param, faults) - 104usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct iommu_fwspec { + pub iommu_fwnode: *mut fwnode_handle, + pub flags: u32_, + pub num_ids: ::core::ffi::c_uint, + pub ids: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_fwspec"][::core::mem::size_of::() - 16usize]; + ["Alignment of iommu_fwspec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_fwspec::iommu_fwnode"] + [::core::mem::offset_of!(iommu_fwspec, iommu_fwnode) - 0usize]; + ["Offset of field: iommu_fwspec::flags"][::core::mem::offset_of!(iommu_fwspec, flags) - 8usize]; + ["Offset of field: iommu_fwspec::num_ids"] + [::core::mem::offset_of!(iommu_fwspec, num_ids) - 12usize]; + ["Offset of field: iommu_fwspec::ids"][::core::mem::offset_of!(iommu_fwspec, ids) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iommu_group { + pub kobj: kobject, + pub devices_kobj: *mut kobject, + pub devices: list_head, + pub pasid_array: xarray, + pub mutex: mutex, + pub iommu_data: *mut ::core::ffi::c_void, + pub iommu_data_release: + ::core::option::Option, + pub name: *mut ::core::ffi::c_char, + pub id: ::core::ffi::c_int, + pub default_domain: *mut iommu_domain, + pub blocking_domain: *mut iommu_domain, + pub domain: *mut iommu_domain, + pub entry: list_head, + pub owner_cnt: ::core::ffi::c_uint, + pub owner: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_group"][::core::mem::size_of::() - 224usize]; + ["Alignment of iommu_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_group::kobj"][::core::mem::offset_of!(iommu_group, kobj) - 0usize]; + ["Offset of field: iommu_group::devices_kobj"] + [::core::mem::offset_of!(iommu_group, devices_kobj) - 64usize]; + ["Offset of field: iommu_group::devices"] + [::core::mem::offset_of!(iommu_group, devices) - 72usize]; + ["Offset of field: iommu_group::pasid_array"] + [::core::mem::offset_of!(iommu_group, pasid_array) - 88usize]; + ["Offset of field: iommu_group::mutex"][::core::mem::offset_of!(iommu_group, mutex) - 104usize]; + ["Offset of field: iommu_group::iommu_data"] + [::core::mem::offset_of!(iommu_group, iommu_data) - 136usize]; + ["Offset of field: iommu_group::iommu_data_release"] + [::core::mem::offset_of!(iommu_group, iommu_data_release) - 144usize]; + ["Offset of field: iommu_group::name"][::core::mem::offset_of!(iommu_group, name) - 152usize]; + ["Offset of field: iommu_group::id"][::core::mem::offset_of!(iommu_group, id) - 160usize]; + ["Offset of field: iommu_group::default_domain"] + [::core::mem::offset_of!(iommu_group, default_domain) - 168usize]; + ["Offset of field: iommu_group::blocking_domain"] + [::core::mem::offset_of!(iommu_group, blocking_domain) - 176usize]; + ["Offset of field: iommu_group::domain"] + [::core::mem::offset_of!(iommu_group, domain) - 184usize]; + ["Offset of field: iommu_group::entry"][::core::mem::offset_of!(iommu_group, entry) - 192usize]; + ["Offset of field: iommu_group::owner_cnt"] + [::core::mem::offset_of!(iommu_group, owner_cnt) - 208usize]; + ["Offset of field: iommu_group::owner"][::core::mem::offset_of!(iommu_group, owner) - 216usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_iotlb_gather { + pub start: ::core::ffi::c_ulong, + pub end: ::core::ffi::c_ulong, + pub pgsize: usize, + pub freelist: list_head, + pub queued: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_iotlb_gather"][::core::mem::size_of::() - 48usize]; + ["Alignment of iommu_iotlb_gather"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_iotlb_gather::start"] + [::core::mem::offset_of!(iommu_iotlb_gather, start) - 0usize]; + ["Offset of field: iommu_iotlb_gather::end"] + [::core::mem::offset_of!(iommu_iotlb_gather, end) - 8usize]; + ["Offset of field: iommu_iotlb_gather::pgsize"] + [::core::mem::offset_of!(iommu_iotlb_gather, pgsize) - 16usize]; + ["Offset of field: iommu_iotlb_gather::freelist"] + [::core::mem::offset_of!(iommu_iotlb_gather, freelist) - 24usize]; + ["Offset of field: iommu_iotlb_gather::queued"] + [::core::mem::offset_of!(iommu_iotlb_gather, queued) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_mm_data { + pub pasid: u32_, + pub sva_domains: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_mm_data"][::core::mem::size_of::() - 24usize]; + ["Alignment of iommu_mm_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_mm_data::pasid"] + [::core::mem::offset_of!(iommu_mm_data, pasid) - 0usize]; + ["Offset of field: iommu_mm_data::sva_domains"] + [::core::mem::offset_of!(iommu_mm_data, sva_domains) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_ops { + pub capable: + ::core::option::Option bool_>, + pub hw_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut u32_, + arg3: *mut u32_, + ) -> *mut ::core::ffi::c_void, + >, + pub domain_alloc: ::core::option::Option< + unsafe extern "C" fn(arg1: ::core::ffi::c_uint) -> *mut iommu_domain, + >, + pub domain_alloc_user: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: u32_, + arg3: *mut iommu_domain, + arg4: *const iommu_user_data, + ) -> *mut iommu_domain, + >, + pub domain_alloc_paging: + ::core::option::Option *mut iommu_domain>, + pub domain_alloc_sva: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: *mut mm_struct) -> *mut iommu_domain, + >, + pub probe_device: + ::core::option::Option *mut iommu_device>, + pub release_device: ::core::option::Option, + pub probe_finalize: ::core::option::Option, + pub device_group: + ::core::option::Option *mut iommu_group>, + pub get_resv_regions: + ::core::option::Option, + pub of_xlate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: *const of_phandle_args) -> ::core::ffi::c_int, + >, + pub is_attach_deferred: + ::core::option::Option bool_>, + pub dev_enable_feat: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: iommu_dev_features) -> ::core::ffi::c_int, + >, + pub dev_disable_feat: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: iommu_dev_features) -> ::core::ffi::c_int, + >, + pub page_response: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut iopf_fault, + arg3: *mut iommu_page_response, + ), + >, + pub def_domain_type: + ::core::option::Option ::core::ffi::c_int>, + pub remove_dev_pasid: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ioasid_t, arg3: *mut iommu_domain), + >, + pub default_domain_ops: *const iommu_domain_ops, + pub pgsize_bitmap: ::core::ffi::c_ulong, + pub owner: *mut module, + pub identity_domain: *mut iommu_domain, + pub blocked_domain: *mut iommu_domain, + pub release_domain: *mut iommu_domain, + pub default_domain: *mut iommu_domain, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_ops"][::core::mem::size_of::() - 208usize]; + ["Alignment of iommu_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_ops::capable"][::core::mem::offset_of!(iommu_ops, capable) - 0usize]; + ["Offset of field: iommu_ops::hw_info"][::core::mem::offset_of!(iommu_ops, hw_info) - 8usize]; + ["Offset of field: iommu_ops::domain_alloc"] + [::core::mem::offset_of!(iommu_ops, domain_alloc) - 16usize]; + ["Offset of field: iommu_ops::domain_alloc_user"] + [::core::mem::offset_of!(iommu_ops, domain_alloc_user) - 24usize]; + ["Offset of field: iommu_ops::domain_alloc_paging"] + [::core::mem::offset_of!(iommu_ops, domain_alloc_paging) - 32usize]; + ["Offset of field: iommu_ops::domain_alloc_sva"] + [::core::mem::offset_of!(iommu_ops, domain_alloc_sva) - 40usize]; + ["Offset of field: iommu_ops::probe_device"] + [::core::mem::offset_of!(iommu_ops, probe_device) - 48usize]; + ["Offset of field: iommu_ops::release_device"] + [::core::mem::offset_of!(iommu_ops, release_device) - 56usize]; + ["Offset of field: iommu_ops::probe_finalize"] + [::core::mem::offset_of!(iommu_ops, probe_finalize) - 64usize]; + ["Offset of field: iommu_ops::device_group"] + [::core::mem::offset_of!(iommu_ops, device_group) - 72usize]; + ["Offset of field: iommu_ops::get_resv_regions"] + [::core::mem::offset_of!(iommu_ops, get_resv_regions) - 80usize]; + ["Offset of field: iommu_ops::of_xlate"] + [::core::mem::offset_of!(iommu_ops, of_xlate) - 88usize]; + ["Offset of field: iommu_ops::is_attach_deferred"] + [::core::mem::offset_of!(iommu_ops, is_attach_deferred) - 96usize]; + ["Offset of field: iommu_ops::dev_enable_feat"] + [::core::mem::offset_of!(iommu_ops, dev_enable_feat) - 104usize]; + ["Offset of field: iommu_ops::dev_disable_feat"] + [::core::mem::offset_of!(iommu_ops, dev_disable_feat) - 112usize]; + ["Offset of field: iommu_ops::page_response"] + [::core::mem::offset_of!(iommu_ops, page_response) - 120usize]; + ["Offset of field: iommu_ops::def_domain_type"] + [::core::mem::offset_of!(iommu_ops, def_domain_type) - 128usize]; + ["Offset of field: iommu_ops::remove_dev_pasid"] + [::core::mem::offset_of!(iommu_ops, remove_dev_pasid) - 136usize]; + ["Offset of field: iommu_ops::default_domain_ops"] + [::core::mem::offset_of!(iommu_ops, default_domain_ops) - 144usize]; + ["Offset of field: iommu_ops::pgsize_bitmap"] + [::core::mem::offset_of!(iommu_ops, pgsize_bitmap) - 152usize]; + ["Offset of field: iommu_ops::owner"][::core::mem::offset_of!(iommu_ops, owner) - 160usize]; + ["Offset of field: iommu_ops::identity_domain"] + [::core::mem::offset_of!(iommu_ops, identity_domain) - 168usize]; + ["Offset of field: iommu_ops::blocked_domain"] + [::core::mem::offset_of!(iommu_ops, blocked_domain) - 176usize]; + ["Offset of field: iommu_ops::release_domain"] + [::core::mem::offset_of!(iommu_ops, release_domain) - 184usize]; + ["Offset of field: iommu_ops::default_domain"] + [::core::mem::offset_of!(iommu_ops, default_domain) - 192usize]; +}; +impl iommu_ops { + #[inline] + pub fn user_pasid_table(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_user_pasid_table(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn user_pasid_table_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_user_pasid_table_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(user_pasid_table: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let user_pasid_table: u8 = unsafe { ::core::mem::transmute(user_pasid_table) }; + user_pasid_table as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_page_response { + pub pasid: u32_, + pub grpid: u32_, + pub code: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_page_response"][::core::mem::size_of::() - 12usize]; + ["Alignment of iommu_page_response"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iommu_page_response::pasid"] + [::core::mem::offset_of!(iommu_page_response, pasid) - 0usize]; + ["Offset of field: iommu_page_response::grpid"] + [::core::mem::offset_of!(iommu_page_response, grpid) - 4usize]; + ["Offset of field: iommu_page_response::code"] + [::core::mem::offset_of!(iommu_page_response, code) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pmu { + pub entry: list_head, + pub module: *mut module, + pub dev: *mut device, + pub parent: *mut device, + pub attr_groups: *mut *const attribute_group, + pub attr_update: *mut *const attribute_group, + pub name: *const ::core::ffi::c_char, + pub type_: ::core::ffi::c_int, + pub capabilities: ::core::ffi::c_int, + pub scope: ::core::ffi::c_uint, + pub pmu_disable_count: *mut ::core::ffi::c_int, + pub cpu_pmu_context: *mut perf_cpu_pmu_context, + pub exclusive_cnt: atomic_t, + pub task_ctx_nr: ::core::ffi::c_int, + pub hrtimer_interval_ms: ::core::ffi::c_int, + pub nr_addr_filters: ::core::ffi::c_uint, + pub pmu_enable: ::core::option::Option, + pub pmu_disable: ::core::option::Option, + pub event_init: + ::core::option::Option ::core::ffi::c_int>, + pub event_mapped: + ::core::option::Option, + pub event_unmapped: + ::core::option::Option, + pub add: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub del: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event, arg2: ::core::ffi::c_int), + >, + pub start: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event, arg2: ::core::ffi::c_int), + >, + pub stop: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event, arg2: ::core::ffi::c_int), + >, + pub read: ::core::option::Option, + pub start_txn: + ::core::option::Option, + pub commit_txn: + ::core::option::Option ::core::ffi::c_int>, + pub cancel_txn: ::core::option::Option, + pub event_idx: + ::core::option::Option ::core::ffi::c_int>, + pub sched_task: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event_pmu_context, arg2: bool_), + >, + pub task_ctx_cache: *mut kmem_cache, + pub swap_task_ctx: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event_pmu_context, arg2: *mut perf_event_pmu_context), + >, + pub setup_aux: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut perf_event, + arg2: *mut *mut ::core::ffi::c_void, + arg3: ::core::ffi::c_int, + arg4: bool_, + ) -> *mut ::core::ffi::c_void, + >, + pub free_aux: ::core::option::Option, + pub snapshot_aux: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut perf_event, + arg2: *mut perf_output_handle, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_long, + >, + pub addr_filters_validate: + ::core::option::Option ::core::ffi::c_int>, + pub addr_filters_sync: ::core::option::Option, + pub aux_output_match: + ::core::option::Option ::core::ffi::c_int>, + pub filter: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut pmu, arg2: ::core::ffi::c_int) -> bool_, + >, + pub check_period: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event, arg2: u64_) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pmu"][::core::mem::size_of::() - 312usize]; + ["Alignment of pmu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pmu::entry"][::core::mem::offset_of!(pmu, entry) - 0usize]; + ["Offset of field: pmu::module"][::core::mem::offset_of!(pmu, module) - 16usize]; + ["Offset of field: pmu::dev"][::core::mem::offset_of!(pmu, dev) - 24usize]; + ["Offset of field: pmu::parent"][::core::mem::offset_of!(pmu, parent) - 32usize]; + ["Offset of field: pmu::attr_groups"][::core::mem::offset_of!(pmu, attr_groups) - 40usize]; + ["Offset of field: pmu::attr_update"][::core::mem::offset_of!(pmu, attr_update) - 48usize]; + ["Offset of field: pmu::name"][::core::mem::offset_of!(pmu, name) - 56usize]; + ["Offset of field: pmu::type_"][::core::mem::offset_of!(pmu, type_) - 64usize]; + ["Offset of field: pmu::capabilities"][::core::mem::offset_of!(pmu, capabilities) - 68usize]; + ["Offset of field: pmu::scope"][::core::mem::offset_of!(pmu, scope) - 72usize]; + ["Offset of field: pmu::pmu_disable_count"] + [::core::mem::offset_of!(pmu, pmu_disable_count) - 80usize]; + ["Offset of field: pmu::cpu_pmu_context"] + [::core::mem::offset_of!(pmu, cpu_pmu_context) - 88usize]; + ["Offset of field: pmu::exclusive_cnt"][::core::mem::offset_of!(pmu, exclusive_cnt) - 96usize]; + ["Offset of field: pmu::task_ctx_nr"][::core::mem::offset_of!(pmu, task_ctx_nr) - 100usize]; + ["Offset of field: pmu::hrtimer_interval_ms"] + [::core::mem::offset_of!(pmu, hrtimer_interval_ms) - 104usize]; + ["Offset of field: pmu::nr_addr_filters"] + [::core::mem::offset_of!(pmu, nr_addr_filters) - 108usize]; + ["Offset of field: pmu::pmu_enable"][::core::mem::offset_of!(pmu, pmu_enable) - 112usize]; + ["Offset of field: pmu::pmu_disable"][::core::mem::offset_of!(pmu, pmu_disable) - 120usize]; + ["Offset of field: pmu::event_init"][::core::mem::offset_of!(pmu, event_init) - 128usize]; + ["Offset of field: pmu::event_mapped"][::core::mem::offset_of!(pmu, event_mapped) - 136usize]; + ["Offset of field: pmu::event_unmapped"] + [::core::mem::offset_of!(pmu, event_unmapped) - 144usize]; + ["Offset of field: pmu::add"][::core::mem::offset_of!(pmu, add) - 152usize]; + ["Offset of field: pmu::del"][::core::mem::offset_of!(pmu, del) - 160usize]; + ["Offset of field: pmu::start"][::core::mem::offset_of!(pmu, start) - 168usize]; + ["Offset of field: pmu::stop"][::core::mem::offset_of!(pmu, stop) - 176usize]; + ["Offset of field: pmu::read"][::core::mem::offset_of!(pmu, read) - 184usize]; + ["Offset of field: pmu::start_txn"][::core::mem::offset_of!(pmu, start_txn) - 192usize]; + ["Offset of field: pmu::commit_txn"][::core::mem::offset_of!(pmu, commit_txn) - 200usize]; + ["Offset of field: pmu::cancel_txn"][::core::mem::offset_of!(pmu, cancel_txn) - 208usize]; + ["Offset of field: pmu::event_idx"][::core::mem::offset_of!(pmu, event_idx) - 216usize]; + ["Offset of field: pmu::sched_task"][::core::mem::offset_of!(pmu, sched_task) - 224usize]; + ["Offset of field: pmu::task_ctx_cache"] + [::core::mem::offset_of!(pmu, task_ctx_cache) - 232usize]; + ["Offset of field: pmu::swap_task_ctx"][::core::mem::offset_of!(pmu, swap_task_ctx) - 240usize]; + ["Offset of field: pmu::setup_aux"][::core::mem::offset_of!(pmu, setup_aux) - 248usize]; + ["Offset of field: pmu::free_aux"][::core::mem::offset_of!(pmu, free_aux) - 256usize]; + ["Offset of field: pmu::snapshot_aux"][::core::mem::offset_of!(pmu, snapshot_aux) - 264usize]; + ["Offset of field: pmu::addr_filters_validate"] + [::core::mem::offset_of!(pmu, addr_filters_validate) - 272usize]; + ["Offset of field: pmu::addr_filters_sync"] + [::core::mem::offset_of!(pmu, addr_filters_sync) - 280usize]; + ["Offset of field: pmu::aux_output_match"] + [::core::mem::offset_of!(pmu, aux_output_match) - 288usize]; + ["Offset of field: pmu::filter"][::core::mem::offset_of!(pmu, filter) - 296usize]; + ["Offset of field: pmu::check_period"][::core::mem::offset_of!(pmu, check_period) - 304usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_user_data { + pub type_: ::core::ffi::c_uint, + pub uptr: *mut ::core::ffi::c_void, + pub len: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_user_data"][::core::mem::size_of::() - 24usize]; + ["Alignment of iommu_user_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_user_data::type_"] + [::core::mem::offset_of!(iommu_user_data, type_) - 0usize]; + ["Offset of field: iommu_user_data::uptr"] + [::core::mem::offset_of!(iommu_user_data, uptr) - 8usize]; + ["Offset of field: iommu_user_data::len"] + [::core::mem::offset_of!(iommu_user_data, len) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iommu_user_data_array { + pub type_: ::core::ffi::c_uint, + pub uptr: *mut ::core::ffi::c_void, + pub entry_len: usize, + pub entry_num: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iommu_user_data_array"][::core::mem::size_of::() - 32usize]; + ["Alignment of iommu_user_data_array"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iommu_user_data_array::type_"] + [::core::mem::offset_of!(iommu_user_data_array, type_) - 0usize]; + ["Offset of field: iommu_user_data_array::uptr"] + [::core::mem::offset_of!(iommu_user_data_array, uptr) - 8usize]; + ["Offset of field: iommu_user_data_array::entry_len"] + [::core::mem::offset_of!(iommu_user_data_array, entry_len) - 16usize]; + ["Offset of field: iommu_user_data_array::entry_num"] + [::core::mem::offset_of!(iommu_user_data_array, entry_num) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iopf_fault { + pub fault: iommu_fault, + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iopf_fault"][::core::mem::size_of::() - 64usize]; + ["Alignment of iopf_fault"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iopf_fault::fault"][::core::mem::offset_of!(iopf_fault, fault) - 0usize]; + ["Offset of field: iopf_fault::list"][::core::mem::offset_of!(iopf_fault, list) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iopf_group { + pub last_fault: iopf_fault, + pub faults: list_head, + pub fault_count: usize, + pub pending_node: list_head, + pub work: work_struct, + pub attach_handle: *mut iommu_attach_handle, + pub fault_param: *mut iommu_fault_param, + pub node: list_head, + pub cookie: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iopf_group"][::core::mem::size_of::() - 176usize]; + ["Alignment of iopf_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iopf_group::last_fault"] + [::core::mem::offset_of!(iopf_group, last_fault) - 0usize]; + ["Offset of field: iopf_group::faults"][::core::mem::offset_of!(iopf_group, faults) - 64usize]; + ["Offset of field: iopf_group::fault_count"] + [::core::mem::offset_of!(iopf_group, fault_count) - 80usize]; + ["Offset of field: iopf_group::pending_node"] + [::core::mem::offset_of!(iopf_group, pending_node) - 88usize]; + ["Offset of field: iopf_group::work"][::core::mem::offset_of!(iopf_group, work) - 104usize]; + ["Offset of field: iopf_group::attach_handle"] + [::core::mem::offset_of!(iopf_group, attach_handle) - 136usize]; + ["Offset of field: iopf_group::fault_param"] + [::core::mem::offset_of!(iopf_group, fault_param) - 144usize]; + ["Offset of field: iopf_group::node"][::core::mem::offset_of!(iopf_group, node) - 152usize]; + ["Offset of field: iopf_group::cookie"][::core::mem::offset_of!(iopf_group, cookie) - 168usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iopf_queue { + pub wq: *mut workqueue_struct, + pub devices: list_head, + pub lock: mutex, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iopf_queue"][::core::mem::size_of::() - 56usize]; + ["Alignment of iopf_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iopf_queue::wq"][::core::mem::offset_of!(iopf_queue, wq) - 0usize]; + ["Offset of field: iopf_queue::devices"][::core::mem::offset_of!(iopf_queue, devices) - 8usize]; + ["Offset of field: iopf_queue::lock"][::core::mem::offset_of!(iopf_queue, lock) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iova_bitmap_map { + pub iova: ::core::ffi::c_ulong, + pub length: ::core::ffi::c_ulong, + pub pgshift: ::core::ffi::c_ulong, + pub pgoff: ::core::ffi::c_ulong, + pub npages: ::core::ffi::c_ulong, + pub pages: *mut *mut page, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_bitmap_map"][::core::mem::size_of::() - 48usize]; + ["Alignment of iova_bitmap_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_bitmap_map::iova"] + [::core::mem::offset_of!(iova_bitmap_map, iova) - 0usize]; + ["Offset of field: iova_bitmap_map::length"] + [::core::mem::offset_of!(iova_bitmap_map, length) - 8usize]; + ["Offset of field: iova_bitmap_map::pgshift"] + [::core::mem::offset_of!(iova_bitmap_map, pgshift) - 16usize]; + ["Offset of field: iova_bitmap_map::pgoff"] + [::core::mem::offset_of!(iova_bitmap_map, pgoff) - 24usize]; + ["Offset of field: iova_bitmap_map::npages"] + [::core::mem::offset_of!(iova_bitmap_map, npages) - 32usize]; + ["Offset of field: iova_bitmap_map::pages"] + [::core::mem::offset_of!(iova_bitmap_map, pages) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iova_bitmap { + pub mapped: iova_bitmap_map, + pub bitmap: *mut u8_, + pub mapped_base_index: ::core::ffi::c_ulong, + pub mapped_total_index: ::core::ffi::c_ulong, + pub iova: ::core::ffi::c_ulong, + pub length: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_bitmap"][::core::mem::size_of::() - 88usize]; + ["Alignment of iova_bitmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_bitmap::mapped"][::core::mem::offset_of!(iova_bitmap, mapped) - 0usize]; + ["Offset of field: iova_bitmap::bitmap"] + [::core::mem::offset_of!(iova_bitmap, bitmap) - 48usize]; + ["Offset of field: iova_bitmap::mapped_base_index"] + [::core::mem::offset_of!(iova_bitmap, mapped_base_index) - 56usize]; + ["Offset of field: iova_bitmap::mapped_total_index"] + [::core::mem::offset_of!(iova_bitmap, mapped_total_index) - 64usize]; + ["Offset of field: iova_bitmap::iova"][::core::mem::offset_of!(iova_bitmap, iova) - 72usize]; + ["Offset of field: iova_bitmap::length"] + [::core::mem::offset_of!(iova_bitmap, length) - 80usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iova_cpu_rcache { + pub lock: spinlock_t, + pub loaded: *mut iova_magazine, + pub prev: *mut iova_magazine, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_cpu_rcache"][::core::mem::size_of::() - 24usize]; + ["Alignment of iova_cpu_rcache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_cpu_rcache::lock"] + [::core::mem::offset_of!(iova_cpu_rcache, lock) - 0usize]; + ["Offset of field: iova_cpu_rcache::loaded"] + [::core::mem::offset_of!(iova_cpu_rcache, loaded) - 8usize]; + ["Offset of field: iova_cpu_rcache::prev"] + [::core::mem::offset_of!(iova_cpu_rcache, prev) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iova_fq_entry { + pub iova_pfn: ::core::ffi::c_ulong, + pub pages: ::core::ffi::c_ulong, + pub freelist: list_head, + pub counter: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_fq_entry"][::core::mem::size_of::() - 40usize]; + ["Alignment of iova_fq_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_fq_entry::iova_pfn"] + [::core::mem::offset_of!(iova_fq_entry, iova_pfn) - 0usize]; + ["Offset of field: iova_fq_entry::pages"] + [::core::mem::offset_of!(iova_fq_entry, pages) - 8usize]; + ["Offset of field: iova_fq_entry::freelist"] + [::core::mem::offset_of!(iova_fq_entry, freelist) - 16usize]; + ["Offset of field: iova_fq_entry::counter"] + [::core::mem::offset_of!(iova_fq_entry, counter) - 32usize]; +}; +#[repr(C)] +pub struct iova_fq { + pub lock: spinlock_t, + pub head: ::core::ffi::c_uint, + pub tail: ::core::ffi::c_uint, + pub mod_mask: ::core::ffi::c_uint, + pub entries: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_fq"][::core::mem::size_of::() - 16usize]; + ["Alignment of iova_fq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_fq::lock"][::core::mem::offset_of!(iova_fq, lock) - 0usize]; + ["Offset of field: iova_fq::head"][::core::mem::offset_of!(iova_fq, head) - 4usize]; + ["Offset of field: iova_fq::tail"][::core::mem::offset_of!(iova_fq, tail) - 8usize]; + ["Offset of field: iova_fq::mod_mask"][::core::mem::offset_of!(iova_fq, mod_mask) - 12usize]; + ["Offset of field: iova_fq::entries"][::core::mem::offset_of!(iova_fq, entries) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iova_magazine { + pub __bindgen_anon_1: iova_magazine__bindgen_ty_1, + pub pfns: [::core::ffi::c_ulong; 127usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iova_magazine__bindgen_ty_1 { + pub size: ::core::ffi::c_ulong, + pub next: *mut iova_magazine, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_magazine__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of iova_magazine__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_magazine__bindgen_ty_1::size"] + [::core::mem::offset_of!(iova_magazine__bindgen_ty_1, size) - 0usize]; + ["Offset of field: iova_magazine__bindgen_ty_1::next"] + [::core::mem::offset_of!(iova_magazine__bindgen_ty_1, next) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_magazine"][::core::mem::size_of::() - 1024usize]; + ["Alignment of iova_magazine"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_magazine::pfns"][::core::mem::offset_of!(iova_magazine, pfns) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iova_rcache { + pub lock: spinlock_t, + pub depot_size: ::core::ffi::c_uint, + pub depot: *mut iova_magazine, + pub cpu_rcaches: *mut iova_cpu_rcache, + pub iovad: *mut iova_domain, + pub work: delayed_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iova_rcache"][::core::mem::size_of::() - 120usize]; + ["Alignment of iova_rcache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iova_rcache::lock"][::core::mem::offset_of!(iova_rcache, lock) - 0usize]; + ["Offset of field: iova_rcache::depot_size"] + [::core::mem::offset_of!(iova_rcache, depot_size) - 4usize]; + ["Offset of field: iova_rcache::depot"][::core::mem::offset_of!(iova_rcache, depot) - 8usize]; + ["Offset of field: iova_rcache::cpu_rcaches"] + [::core::mem::offset_of!(iova_rcache, cpu_rcaches) - 16usize]; + ["Offset of field: iova_rcache::iovad"][::core::mem::offset_of!(iova_rcache, iovad) - 24usize]; + ["Offset of field: iova_rcache::work"][::core::mem::offset_of!(iova_rcache, work) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip6_sf_list { + pub sf_next: *mut ip6_sf_list, + pub sf_addr: in6_addr, + pub sf_count: [::core::ffi::c_ulong; 2usize], + pub sf_gsresp: ::core::ffi::c_uchar, + pub sf_oldin: ::core::ffi::c_uchar, + pub sf_crcount: ::core::ffi::c_uchar, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip6_sf_list"][::core::mem::size_of::() - 64usize]; + ["Alignment of ip6_sf_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ip6_sf_list::sf_next"] + [::core::mem::offset_of!(ip6_sf_list, sf_next) - 0usize]; + ["Offset of field: ip6_sf_list::sf_addr"] + [::core::mem::offset_of!(ip6_sf_list, sf_addr) - 8usize]; + ["Offset of field: ip6_sf_list::sf_count"] + [::core::mem::offset_of!(ip6_sf_list, sf_count) - 24usize]; + ["Offset of field: ip6_sf_list::sf_gsresp"] + [::core::mem::offset_of!(ip6_sf_list, sf_gsresp) - 40usize]; + ["Offset of field: ip6_sf_list::sf_oldin"] + [::core::mem::offset_of!(ip6_sf_list, sf_oldin) - 41usize]; + ["Offset of field: ip6_sf_list::sf_crcount"] + [::core::mem::offset_of!(ip6_sf_list, sf_crcount) - 42usize]; + ["Offset of field: ip6_sf_list::rcu"][::core::mem::offset_of!(ip6_sf_list, rcu) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ip_tunnel_encap { + pub type_: u16_, + pub flags: u16_, + pub sport: __be16, + pub dport: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_tunnel_encap"][::core::mem::size_of::() - 8usize]; + ["Alignment of ip_tunnel_encap"][::core::mem::align_of::() - 2usize]; + ["Offset of field: ip_tunnel_encap::type_"] + [::core::mem::offset_of!(ip_tunnel_encap, type_) - 0usize]; + ["Offset of field: ip_tunnel_encap::flags"] + [::core::mem::offset_of!(ip_tunnel_encap, flags) - 2usize]; + ["Offset of field: ip_tunnel_encap::sport"] + [::core::mem::offset_of!(ip_tunnel_encap, sport) - 4usize]; + ["Offset of field: ip_tunnel_encap::dport"] + [::core::mem::offset_of!(ip_tunnel_encap, dport) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ip_conntrack_stat { + pub found: ::core::ffi::c_uint, + pub invalid: ::core::ffi::c_uint, + pub insert: ::core::ffi::c_uint, + pub insert_failed: ::core::ffi::c_uint, + pub clash_resolve: ::core::ffi::c_uint, + pub drop: ::core::ffi::c_uint, + pub early_drop: ::core::ffi::c_uint, + pub error: ::core::ffi::c_uint, + pub expect_new: ::core::ffi::c_uint, + pub expect_create: ::core::ffi::c_uint, + pub expect_delete: ::core::ffi::c_uint, + pub search_restart: ::core::ffi::c_uint, + pub chaintoolong: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_conntrack_stat"][::core::mem::size_of::() - 52usize]; + ["Alignment of ip_conntrack_stat"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ip_conntrack_stat::found"] + [::core::mem::offset_of!(ip_conntrack_stat, found) - 0usize]; + ["Offset of field: ip_conntrack_stat::invalid"] + [::core::mem::offset_of!(ip_conntrack_stat, invalid) - 4usize]; + ["Offset of field: ip_conntrack_stat::insert"] + [::core::mem::offset_of!(ip_conntrack_stat, insert) - 8usize]; + ["Offset of field: ip_conntrack_stat::insert_failed"] + [::core::mem::offset_of!(ip_conntrack_stat, insert_failed) - 12usize]; + ["Offset of field: ip_conntrack_stat::clash_resolve"] + [::core::mem::offset_of!(ip_conntrack_stat, clash_resolve) - 16usize]; + ["Offset of field: ip_conntrack_stat::drop"] + [::core::mem::offset_of!(ip_conntrack_stat, drop) - 20usize]; + ["Offset of field: ip_conntrack_stat::early_drop"] + [::core::mem::offset_of!(ip_conntrack_stat, early_drop) - 24usize]; + ["Offset of field: ip_conntrack_stat::error"] + [::core::mem::offset_of!(ip_conntrack_stat, error) - 28usize]; + ["Offset of field: ip_conntrack_stat::expect_new"] + [::core::mem::offset_of!(ip_conntrack_stat, expect_new) - 32usize]; + ["Offset of field: ip_conntrack_stat::expect_create"] + [::core::mem::offset_of!(ip_conntrack_stat, expect_create) - 36usize]; + ["Offset of field: ip_conntrack_stat::expect_delete"] + [::core::mem::offset_of!(ip_conntrack_stat, expect_delete) - 40usize]; + ["Offset of field: ip_conntrack_stat::search_restart"] + [::core::mem::offset_of!(ip_conntrack_stat, search_restart) - 44usize]; + ["Offset of field: ip_conntrack_stat::chaintoolong"] + [::core::mem::offset_of!(ip_conntrack_stat, chaintoolong) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ip_ct_sctp { + pub state: sctp_conntrack, + pub vtag: [__be32; 2usize], + pub init: [u8_; 2usize], + pub last_dir: u8_, + pub flags: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_ct_sctp"][::core::mem::size_of::() - 16usize]; + ["Alignment of ip_ct_sctp"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ip_ct_sctp::state"][::core::mem::offset_of!(ip_ct_sctp, state) - 0usize]; + ["Offset of field: ip_ct_sctp::vtag"][::core::mem::offset_of!(ip_ct_sctp, vtag) - 4usize]; + ["Offset of field: ip_ct_sctp::init"][::core::mem::offset_of!(ip_ct_sctp, init) - 12usize]; + ["Offset of field: ip_ct_sctp::last_dir"] + [::core::mem::offset_of!(ip_ct_sctp, last_dir) - 14usize]; + ["Offset of field: ip_ct_sctp::flags"][::core::mem::offset_of!(ip_ct_sctp, flags) - 15usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ip_ct_tcp_state { + pub td_end: u_int32_t, + pub td_maxend: u_int32_t, + pub td_maxwin: u_int32_t, + pub td_maxack: u_int32_t, + pub td_scale: u_int8_t, + pub flags: u_int8_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_ct_tcp_state"][::core::mem::size_of::() - 20usize]; + ["Alignment of ip_ct_tcp_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ip_ct_tcp_state::td_end"] + [::core::mem::offset_of!(ip_ct_tcp_state, td_end) - 0usize]; + ["Offset of field: ip_ct_tcp_state::td_maxend"] + [::core::mem::offset_of!(ip_ct_tcp_state, td_maxend) - 4usize]; + ["Offset of field: ip_ct_tcp_state::td_maxwin"] + [::core::mem::offset_of!(ip_ct_tcp_state, td_maxwin) - 8usize]; + ["Offset of field: ip_ct_tcp_state::td_maxack"] + [::core::mem::offset_of!(ip_ct_tcp_state, td_maxack) - 12usize]; + ["Offset of field: ip_ct_tcp_state::td_scale"] + [::core::mem::offset_of!(ip_ct_tcp_state, td_scale) - 16usize]; + ["Offset of field: ip_ct_tcp_state::flags"] + [::core::mem::offset_of!(ip_ct_tcp_state, flags) - 17usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ip_ct_tcp { + pub seen: [ip_ct_tcp_state; 2usize], + pub state: u_int8_t, + pub last_dir: u_int8_t, + pub retrans: u_int8_t, + pub last_index: u_int8_t, + pub last_seq: u_int32_t, + pub last_ack: u_int32_t, + pub last_end: u_int32_t, + pub last_win: u_int16_t, + pub last_wscale: u_int8_t, + pub last_flags: u_int8_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_ct_tcp"][::core::mem::size_of::() - 60usize]; + ["Alignment of ip_ct_tcp"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ip_ct_tcp::seen"][::core::mem::offset_of!(ip_ct_tcp, seen) - 0usize]; + ["Offset of field: ip_ct_tcp::state"][::core::mem::offset_of!(ip_ct_tcp, state) - 40usize]; + ["Offset of field: ip_ct_tcp::last_dir"] + [::core::mem::offset_of!(ip_ct_tcp, last_dir) - 41usize]; + ["Offset of field: ip_ct_tcp::retrans"][::core::mem::offset_of!(ip_ct_tcp, retrans) - 42usize]; + ["Offset of field: ip_ct_tcp::last_index"] + [::core::mem::offset_of!(ip_ct_tcp, last_index) - 43usize]; + ["Offset of field: ip_ct_tcp::last_seq"] + [::core::mem::offset_of!(ip_ct_tcp, last_seq) - 44usize]; + ["Offset of field: ip_ct_tcp::last_ack"] + [::core::mem::offset_of!(ip_ct_tcp, last_ack) - 48usize]; + ["Offset of field: ip_ct_tcp::last_end"] + [::core::mem::offset_of!(ip_ct_tcp, last_end) - 52usize]; + ["Offset of field: ip_ct_tcp::last_win"] + [::core::mem::offset_of!(ip_ct_tcp, last_win) - 56usize]; + ["Offset of field: ip_ct_tcp::last_wscale"] + [::core::mem::offset_of!(ip_ct_tcp, last_wscale) - 58usize]; + ["Offset of field: ip_ct_tcp::last_flags"] + [::core::mem::offset_of!(ip_ct_tcp, last_flags) - 59usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_mc_list { + pub interface: *mut in_device, + pub multiaddr: __be32, + pub sfmode: ::core::ffi::c_uint, + pub sources: *mut ip_sf_list, + pub tomb: *mut ip_sf_list, + pub sfcount: [::core::ffi::c_ulong; 2usize], + pub __bindgen_anon_1: ip_mc_list__bindgen_ty_1, + pub next_hash: *mut ip_mc_list, + pub timer: timer_list, + pub users: ::core::ffi::c_int, + pub refcnt: refcount_t, + pub lock: spinlock_t, + pub tm_running: ::core::ffi::c_char, + pub reporter: ::core::ffi::c_char, + pub unsolicit_count: ::core::ffi::c_char, + pub loaded: ::core::ffi::c_char, + pub gsquery: ::core::ffi::c_uchar, + pub crcount: ::core::ffi::c_uchar, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ip_mc_list__bindgen_ty_1 { + pub next: *mut ip_mc_list, + pub next_rcu: *mut ip_mc_list, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_mc_list__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ip_mc_list__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_mc_list__bindgen_ty_1::next"] + [::core::mem::offset_of!(ip_mc_list__bindgen_ty_1, next) - 0usize]; + ["Offset of field: ip_mc_list__bindgen_ty_1::next_rcu"] + [::core::mem::offset_of!(ip_mc_list__bindgen_ty_1, next_rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_mc_list"][::core::mem::size_of::() - 144usize]; + ["Alignment of ip_mc_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_mc_list::interface"] + [::core::mem::offset_of!(ip_mc_list, interface) - 0usize]; + ["Offset of field: ip_mc_list::multiaddr"] + [::core::mem::offset_of!(ip_mc_list, multiaddr) - 8usize]; + ["Offset of field: ip_mc_list::sfmode"][::core::mem::offset_of!(ip_mc_list, sfmode) - 12usize]; + ["Offset of field: ip_mc_list::sources"] + [::core::mem::offset_of!(ip_mc_list, sources) - 16usize]; + ["Offset of field: ip_mc_list::tomb"][::core::mem::offset_of!(ip_mc_list, tomb) - 24usize]; + ["Offset of field: ip_mc_list::sfcount"] + [::core::mem::offset_of!(ip_mc_list, sfcount) - 32usize]; + ["Offset of field: ip_mc_list::next_hash"] + [::core::mem::offset_of!(ip_mc_list, next_hash) - 56usize]; + ["Offset of field: ip_mc_list::timer"][::core::mem::offset_of!(ip_mc_list, timer) - 64usize]; + ["Offset of field: ip_mc_list::users"][::core::mem::offset_of!(ip_mc_list, users) - 104usize]; + ["Offset of field: ip_mc_list::refcnt"][::core::mem::offset_of!(ip_mc_list, refcnt) - 108usize]; + ["Offset of field: ip_mc_list::lock"][::core::mem::offset_of!(ip_mc_list, lock) - 112usize]; + ["Offset of field: ip_mc_list::tm_running"] + [::core::mem::offset_of!(ip_mc_list, tm_running) - 116usize]; + ["Offset of field: ip_mc_list::reporter"] + [::core::mem::offset_of!(ip_mc_list, reporter) - 117usize]; + ["Offset of field: ip_mc_list::unsolicit_count"] + [::core::mem::offset_of!(ip_mc_list, unsolicit_count) - 118usize]; + ["Offset of field: ip_mc_list::loaded"][::core::mem::offset_of!(ip_mc_list, loaded) - 119usize]; + ["Offset of field: ip_mc_list::gsquery"] + [::core::mem::offset_of!(ip_mc_list, gsquery) - 120usize]; + ["Offset of field: ip_mc_list::crcount"] + [::core::mem::offset_of!(ip_mc_list, crcount) - 121usize]; + ["Offset of field: ip_mc_list::rcu"][::core::mem::offset_of!(ip_mc_list, rcu) - 128usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_ra_chain { + pub next: *mut ip_ra_chain, + pub sk: *mut sock, + pub __bindgen_anon_1: ip_ra_chain__bindgen_ty_1, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ip_ra_chain__bindgen_ty_1 { + pub destructor: ::core::option::Option, + pub saved_sk: *mut sock, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_ra_chain__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ip_ra_chain__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_ra_chain__bindgen_ty_1::destructor"] + [::core::mem::offset_of!(ip_ra_chain__bindgen_ty_1, destructor) - 0usize]; + ["Offset of field: ip_ra_chain__bindgen_ty_1::saved_sk"] + [::core::mem::offset_of!(ip_ra_chain__bindgen_ty_1, saved_sk) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_ra_chain"][::core::mem::size_of::() - 40usize]; + ["Alignment of ip_ra_chain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_ra_chain::next"][::core::mem::offset_of!(ip_ra_chain, next) - 0usize]; + ["Offset of field: ip_ra_chain::sk"][::core::mem::offset_of!(ip_ra_chain, sk) - 8usize]; + ["Offset of field: ip_ra_chain::rcu"][::core::mem::offset_of!(ip_ra_chain, rcu) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kvec { + pub iov_base: *mut ::core::ffi::c_void, + pub iov_len: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kvec"][::core::mem::size_of::() - 16usize]; + ["Alignment of kvec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kvec::iov_base"][::core::mem::offset_of!(kvec, iov_base) - 0usize]; + ["Offset of field: kvec::iov_len"][::core::mem::offset_of!(kvec, iov_len) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ip_sf_list { + pub sf_next: *mut ip_sf_list, + pub sf_count: [::core::ffi::c_ulong; 2usize], + pub sf_inaddr: __be32, + pub sf_gsresp: ::core::ffi::c_uchar, + pub sf_oldin: ::core::ffi::c_uchar, + pub sf_crcount: ::core::ffi::c_uchar, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_sf_list"][::core::mem::size_of::() - 32usize]; + ["Alignment of ip_sf_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_sf_list::sf_next"][::core::mem::offset_of!(ip_sf_list, sf_next) - 0usize]; + ["Offset of field: ip_sf_list::sf_count"] + [::core::mem::offset_of!(ip_sf_list, sf_count) - 8usize]; + ["Offset of field: ip_sf_list::sf_inaddr"] + [::core::mem::offset_of!(ip_sf_list, sf_inaddr) - 24usize]; + ["Offset of field: ip_sf_list::sf_gsresp"] + [::core::mem::offset_of!(ip_sf_list, sf_gsresp) - 28usize]; + ["Offset of field: ip_sf_list::sf_oldin"] + [::core::mem::offset_of!(ip_sf_list, sf_oldin) - 29usize]; + ["Offset of field: ip_sf_list::sf_crcount"] + [::core::mem::offset_of!(ip_sf_list, sf_crcount) - 30usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct iphdr { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub tos: __u8, + pub tot_len: __be16, + pub id: __be16, + pub frag_off: __be16, + pub ttl: __u8, + pub protocol: __u8, + pub check: __sum16, + pub __bindgen_anon_1: iphdr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union iphdr__bindgen_ty_1 { + pub __bindgen_anon_1: iphdr__bindgen_ty_1__bindgen_ty_1, + pub addrs: iphdr__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iphdr__bindgen_ty_1__bindgen_ty_1 { + pub saddr: __be32, + pub daddr: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iphdr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of iphdr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: iphdr__bindgen_ty_1__bindgen_ty_1::saddr"] + [::core::mem::offset_of!(iphdr__bindgen_ty_1__bindgen_ty_1, saddr) - 0usize]; + ["Offset of field: iphdr__bindgen_ty_1__bindgen_ty_1::daddr"] + [::core::mem::offset_of!(iphdr__bindgen_ty_1__bindgen_ty_1, daddr) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iphdr__bindgen_ty_1__bindgen_ty_2 { + pub saddr: __be32, + pub daddr: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iphdr__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of iphdr__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: iphdr__bindgen_ty_1__bindgen_ty_2::saddr"] + [::core::mem::offset_of!(iphdr__bindgen_ty_1__bindgen_ty_2, saddr) - 0usize]; + ["Offset of field: iphdr__bindgen_ty_1__bindgen_ty_2::daddr"] + [::core::mem::offset_of!(iphdr__bindgen_ty_1__bindgen_ty_2, daddr) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iphdr__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of iphdr__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iphdr__bindgen_ty_1::addrs"] + [::core::mem::offset_of!(iphdr__bindgen_ty_1, addrs) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iphdr"][::core::mem::size_of::() - 20usize]; + ["Alignment of iphdr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iphdr::tos"][::core::mem::offset_of!(iphdr, tos) - 1usize]; + ["Offset of field: iphdr::tot_len"][::core::mem::offset_of!(iphdr, tot_len) - 2usize]; + ["Offset of field: iphdr::id"][::core::mem::offset_of!(iphdr, id) - 4usize]; + ["Offset of field: iphdr::frag_off"][::core::mem::offset_of!(iphdr, frag_off) - 6usize]; + ["Offset of field: iphdr::ttl"][::core::mem::offset_of!(iphdr, ttl) - 8usize]; + ["Offset of field: iphdr::protocol"][::core::mem::offset_of!(iphdr, protocol) - 9usize]; + ["Offset of field: iphdr::check"][::core::mem::offset_of!(iphdr, check) - 10usize]; +}; +impl iphdr { + #[inline] + pub fn ihl(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) } + } + #[inline] + pub fn set_ihl(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn ihl_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_ihl_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn version(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_version(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn version_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_version_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(ihl: __u8, version: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let ihl: u8 = unsafe { ::core::mem::transmute(ihl) }; + ihl as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let version: u8 = unsafe { ::core::mem::transmute(version) }; + version as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_tunnel_parm_kern { + pub name: [::core::ffi::c_char; 16usize], + pub i_flags: [::core::ffi::c_ulong; 1usize], + pub o_flags: [::core::ffi::c_ulong; 1usize], + pub i_key: __be32, + pub o_key: __be32, + pub link: ::core::ffi::c_int, + pub iph: iphdr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_tunnel_parm_kern"][::core::mem::size_of::() - 64usize]; + ["Alignment of ip_tunnel_parm_kern"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_tunnel_parm_kern::name"] + [::core::mem::offset_of!(ip_tunnel_parm_kern, name) - 0usize]; + ["Offset of field: ip_tunnel_parm_kern::i_flags"] + [::core::mem::offset_of!(ip_tunnel_parm_kern, i_flags) - 16usize]; + ["Offset of field: ip_tunnel_parm_kern::o_flags"] + [::core::mem::offset_of!(ip_tunnel_parm_kern, o_flags) - 24usize]; + ["Offset of field: ip_tunnel_parm_kern::i_key"] + [::core::mem::offset_of!(ip_tunnel_parm_kern, i_key) - 32usize]; + ["Offset of field: ip_tunnel_parm_kern::o_key"] + [::core::mem::offset_of!(ip_tunnel_parm_kern, o_key) - 36usize]; + ["Offset of field: ip_tunnel_parm_kern::link"] + [::core::mem::offset_of!(ip_tunnel_parm_kern, link) - 40usize]; + ["Offset of field: ip_tunnel_parm_kern::iph"] + [::core::mem::offset_of!(ip_tunnel_parm_kern, iph) - 44usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_tunnel_key { + pub tun_id: __be64, + pub u: ip_tunnel_key__bindgen_ty_1, + pub tun_flags: [::core::ffi::c_ulong; 1usize], + pub label: __be32, + pub nhid: u32_, + pub tos: u8_, + pub ttl: u8_, + pub tp_src: __be16, + pub tp_dst: __be16, + pub flow_flags: __u8, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ip_tunnel_key__bindgen_ty_1 { + pub ipv4: ip_tunnel_key__bindgen_ty_1__bindgen_ty_1, + pub ipv6: ip_tunnel_key__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ip_tunnel_key__bindgen_ty_1__bindgen_ty_1 { + pub src: __be32, + pub dst: __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_tunnel_key__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of ip_tunnel_key__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ip_tunnel_key__bindgen_ty_1__bindgen_ty_1::src"] + [::core::mem::offset_of!(ip_tunnel_key__bindgen_ty_1__bindgen_ty_1, src) - 0usize]; + ["Offset of field: ip_tunnel_key__bindgen_ty_1__bindgen_ty_1::dst"] + [::core::mem::offset_of!(ip_tunnel_key__bindgen_ty_1__bindgen_ty_1, dst) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_tunnel_key__bindgen_ty_1__bindgen_ty_2 { + pub src: in6_addr, + pub dst: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_tunnel_key__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of ip_tunnel_key__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ip_tunnel_key__bindgen_ty_1__bindgen_ty_2::src"] + [::core::mem::offset_of!(ip_tunnel_key__bindgen_ty_1__bindgen_ty_2, src) - 0usize]; + ["Offset of field: ip_tunnel_key__bindgen_ty_1__bindgen_ty_2::dst"] + [::core::mem::offset_of!(ip_tunnel_key__bindgen_ty_1__bindgen_ty_2, dst) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_tunnel_key__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of ip_tunnel_key__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: ip_tunnel_key__bindgen_ty_1::ipv4"] + [::core::mem::offset_of!(ip_tunnel_key__bindgen_ty_1, ipv4) - 0usize]; + ["Offset of field: ip_tunnel_key__bindgen_ty_1::ipv6"] + [::core::mem::offset_of!(ip_tunnel_key__bindgen_ty_1, ipv6) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_tunnel_key"][::core::mem::size_of::() - 64usize]; + ["Alignment of ip_tunnel_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_tunnel_key::tun_id"] + [::core::mem::offset_of!(ip_tunnel_key, tun_id) - 0usize]; + ["Offset of field: ip_tunnel_key::u"][::core::mem::offset_of!(ip_tunnel_key, u) - 8usize]; + ["Offset of field: ip_tunnel_key::tun_flags"] + [::core::mem::offset_of!(ip_tunnel_key, tun_flags) - 40usize]; + ["Offset of field: ip_tunnel_key::label"] + [::core::mem::offset_of!(ip_tunnel_key, label) - 48usize]; + ["Offset of field: ip_tunnel_key::nhid"] + [::core::mem::offset_of!(ip_tunnel_key, nhid) - 52usize]; + ["Offset of field: ip_tunnel_key::tos"][::core::mem::offset_of!(ip_tunnel_key, tos) - 56usize]; + ["Offset of field: ip_tunnel_key::ttl"][::core::mem::offset_of!(ip_tunnel_key, ttl) - 57usize]; + ["Offset of field: ip_tunnel_key::tp_src"] + [::core::mem::offset_of!(ip_tunnel_key, tp_src) - 58usize]; + ["Offset of field: ip_tunnel_key::tp_dst"] + [::core::mem::offset_of!(ip_tunnel_key, tp_dst) - 60usize]; + ["Offset of field: ip_tunnel_key::flow_flags"] + [::core::mem::offset_of!(ip_tunnel_key, flow_flags) - 62usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_tunnel_info { + pub key: ip_tunnel_key, + pub encap: ip_tunnel_encap, + pub dst_cache: dst_cache, + pub options_len: u8_, + pub mode: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ip_tunnel_info"][::core::mem::size_of::() - 96usize]; + ["Alignment of ip_tunnel_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ip_tunnel_info::key"][::core::mem::offset_of!(ip_tunnel_info, key) - 0usize]; + ["Offset of field: ip_tunnel_info::encap"] + [::core::mem::offset_of!(ip_tunnel_info, encap) - 64usize]; + ["Offset of field: ip_tunnel_info::dst_cache"] + [::core::mem::offset_of!(ip_tunnel_info, dst_cache) - 72usize]; + ["Offset of field: ip_tunnel_info::options_len"] + [::core::mem::offset_of!(ip_tunnel_info, options_len) - 88usize]; + ["Offset of field: ip_tunnel_info::mode"] + [::core::mem::offset_of!(ip_tunnel_info, mode) - 89usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ipc_ids { + pub in_use: ::core::ffi::c_int, + pub seq: ::core::ffi::c_ushort, + pub rwsem: rw_semaphore, + pub ipcs_idr: idr, + pub max_idx: ::core::ffi::c_int, + pub last_idx: ::core::ffi::c_int, + pub next_id: ::core::ffi::c_int, + pub key_ht: rhashtable, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ipc_ids"][::core::mem::size_of::() - 224usize]; + ["Alignment of ipc_ids"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ipc_ids::in_use"][::core::mem::offset_of!(ipc_ids, in_use) - 0usize]; + ["Offset of field: ipc_ids::seq"][::core::mem::offset_of!(ipc_ids, seq) - 4usize]; + ["Offset of field: ipc_ids::rwsem"][::core::mem::offset_of!(ipc_ids, rwsem) - 8usize]; + ["Offset of field: ipc_ids::ipcs_idr"][::core::mem::offset_of!(ipc_ids, ipcs_idr) - 48usize]; + ["Offset of field: ipc_ids::max_idx"][::core::mem::offset_of!(ipc_ids, max_idx) - 72usize]; + ["Offset of field: ipc_ids::last_idx"][::core::mem::offset_of!(ipc_ids, last_idx) - 76usize]; + ["Offset of field: ipc_ids::next_id"][::core::mem::offset_of!(ipc_ids, next_id) - 80usize]; + ["Offset of field: ipc_ids::key_ht"][::core::mem::offset_of!(ipc_ids, key_ht) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ipc_namespace { + pub ids: [ipc_ids; 3usize], + pub sem_ctls: [::core::ffi::c_int; 4usize], + pub used_sems: ::core::ffi::c_int, + pub msg_ctlmax: ::core::ffi::c_uint, + pub msg_ctlmnb: ::core::ffi::c_uint, + pub msg_ctlmni: ::core::ffi::c_uint, + pub percpu_msg_bytes: percpu_counter, + pub percpu_msg_hdrs: percpu_counter, + pub shm_ctlmax: usize, + pub shm_ctlall: usize, + pub shm_tot: ::core::ffi::c_ulong, + pub shm_ctlmni: ::core::ffi::c_int, + pub shm_rmid_forced: ::core::ffi::c_int, + pub ipcns_nb: notifier_block, + pub mq_mnt: *mut vfsmount, + pub mq_queues_count: ::core::ffi::c_uint, + pub mq_queues_max: ::core::ffi::c_uint, + pub mq_msg_max: ::core::ffi::c_uint, + pub mq_msgsize_max: ::core::ffi::c_uint, + pub mq_msg_default: ::core::ffi::c_uint, + pub mq_msgsize_default: ::core::ffi::c_uint, + pub mq_set: ctl_table_set, + pub mq_sysctls: *mut ctl_table_header, + pub ipc_set: ctl_table_set, + pub ipc_sysctls: *mut ctl_table_header, + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub mnt_llist: llist_node, + pub ns: ns_common, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ipc_namespace"][::core::mem::size_of::() - 1144usize]; + ["Alignment of ipc_namespace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ipc_namespace::ids"][::core::mem::offset_of!(ipc_namespace, ids) - 0usize]; + ["Offset of field: ipc_namespace::sem_ctls"] + [::core::mem::offset_of!(ipc_namespace, sem_ctls) - 672usize]; + ["Offset of field: ipc_namespace::used_sems"] + [::core::mem::offset_of!(ipc_namespace, used_sems) - 688usize]; + ["Offset of field: ipc_namespace::msg_ctlmax"] + [::core::mem::offset_of!(ipc_namespace, msg_ctlmax) - 692usize]; + ["Offset of field: ipc_namespace::msg_ctlmnb"] + [::core::mem::offset_of!(ipc_namespace, msg_ctlmnb) - 696usize]; + ["Offset of field: ipc_namespace::msg_ctlmni"] + [::core::mem::offset_of!(ipc_namespace, msg_ctlmni) - 700usize]; + ["Offset of field: ipc_namespace::percpu_msg_bytes"] + [::core::mem::offset_of!(ipc_namespace, percpu_msg_bytes) - 704usize]; + ["Offset of field: ipc_namespace::percpu_msg_hdrs"] + [::core::mem::offset_of!(ipc_namespace, percpu_msg_hdrs) - 744usize]; + ["Offset of field: ipc_namespace::shm_ctlmax"] + [::core::mem::offset_of!(ipc_namespace, shm_ctlmax) - 784usize]; + ["Offset of field: ipc_namespace::shm_ctlall"] + [::core::mem::offset_of!(ipc_namespace, shm_ctlall) - 792usize]; + ["Offset of field: ipc_namespace::shm_tot"] + [::core::mem::offset_of!(ipc_namespace, shm_tot) - 800usize]; + ["Offset of field: ipc_namespace::shm_ctlmni"] + [::core::mem::offset_of!(ipc_namespace, shm_ctlmni) - 808usize]; + ["Offset of field: ipc_namespace::shm_rmid_forced"] + [::core::mem::offset_of!(ipc_namespace, shm_rmid_forced) - 812usize]; + ["Offset of field: ipc_namespace::ipcns_nb"] + [::core::mem::offset_of!(ipc_namespace, ipcns_nb) - 816usize]; + ["Offset of field: ipc_namespace::mq_mnt"] + [::core::mem::offset_of!(ipc_namespace, mq_mnt) - 840usize]; + ["Offset of field: ipc_namespace::mq_queues_count"] + [::core::mem::offset_of!(ipc_namespace, mq_queues_count) - 848usize]; + ["Offset of field: ipc_namespace::mq_queues_max"] + [::core::mem::offset_of!(ipc_namespace, mq_queues_max) - 852usize]; + ["Offset of field: ipc_namespace::mq_msg_max"] + [::core::mem::offset_of!(ipc_namespace, mq_msg_max) - 856usize]; + ["Offset of field: ipc_namespace::mq_msgsize_max"] + [::core::mem::offset_of!(ipc_namespace, mq_msgsize_max) - 860usize]; + ["Offset of field: ipc_namespace::mq_msg_default"] + [::core::mem::offset_of!(ipc_namespace, mq_msg_default) - 864usize]; + ["Offset of field: ipc_namespace::mq_msgsize_default"] + [::core::mem::offset_of!(ipc_namespace, mq_msgsize_default) - 868usize]; + ["Offset of field: ipc_namespace::mq_set"] + [::core::mem::offset_of!(ipc_namespace, mq_set) - 872usize]; + ["Offset of field: ipc_namespace::mq_sysctls"] + [::core::mem::offset_of!(ipc_namespace, mq_sysctls) - 976usize]; + ["Offset of field: ipc_namespace::ipc_set"] + [::core::mem::offset_of!(ipc_namespace, ipc_set) - 984usize]; + ["Offset of field: ipc_namespace::ipc_sysctls"] + [::core::mem::offset_of!(ipc_namespace, ipc_sysctls) - 1088usize]; + ["Offset of field: ipc_namespace::user_ns"] + [::core::mem::offset_of!(ipc_namespace, user_ns) - 1096usize]; + ["Offset of field: ipc_namespace::ucounts"] + [::core::mem::offset_of!(ipc_namespace, ucounts) - 1104usize]; + ["Offset of field: ipc_namespace::mnt_llist"] + [::core::mem::offset_of!(ipc_namespace, mnt_llist) - 1112usize]; + ["Offset of field: ipc_namespace::ns"][::core::mem::offset_of!(ipc_namespace, ns) - 1120usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ipstats_mib { + pub mibs: [u64_; 38usize], + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ipstats_mib"][::core::mem::size_of::() - 304usize]; + ["Alignment of ipstats_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ipstats_mib::mibs"][::core::mem::offset_of!(ipstats_mib, mibs) - 0usize]; + ["Offset of field: ipstats_mib::syncp"][::core::mem::offset_of!(ipstats_mib, syncp) - 304usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_affinity_desc { + pub mask: cpumask, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_affinity_desc"][::core::mem::size_of::() - 1032usize]; + ["Alignment of irq_affinity_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_affinity_desc::mask"] + [::core::mem::offset_of!(irq_affinity_desc, mask) - 0usize]; +}; +impl irq_affinity_desc { + #[inline] + pub fn is_managed(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_managed(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_managed_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_managed_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(is_managed: ::core::ffi::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_managed: u32 = unsafe { ::core::mem::transmute(is_managed) }; + is_managed as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_affinity_notify { + pub irq: ::core::ffi::c_uint, + pub kref: kref, + pub work: work_struct, + pub notify: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut irq_affinity_notify, arg2: *const cpumask_t), + >, + pub release: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_affinity_notify"][::core::mem::size_of::() - 56usize]; + ["Alignment of irq_affinity_notify"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_affinity_notify::irq"] + [::core::mem::offset_of!(irq_affinity_notify, irq) - 0usize]; + ["Offset of field: irq_affinity_notify::kref"] + [::core::mem::offset_of!(irq_affinity_notify, kref) - 4usize]; + ["Offset of field: irq_affinity_notify::work"] + [::core::mem::offset_of!(irq_affinity_notify, work) - 8usize]; + ["Offset of field: irq_affinity_notify::notify"] + [::core::mem::offset_of!(irq_affinity_notify, notify) - 40usize]; + ["Offset of field: irq_affinity_notify::release"] + [::core::mem::offset_of!(irq_affinity_notify, release) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_chip { + pub name: *const ::core::ffi::c_char, + pub irq_startup: + ::core::option::Option ::core::ffi::c_uint>, + pub irq_shutdown: ::core::option::Option, + pub irq_enable: ::core::option::Option, + pub irq_disable: ::core::option::Option, + pub irq_ack: ::core::option::Option, + pub irq_mask: ::core::option::Option, + pub irq_mask_ack: ::core::option::Option, + pub irq_unmask: ::core::option::Option, + pub irq_eoi: ::core::option::Option, + pub irq_set_affinity: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_data, + arg2: *const cpumask, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub irq_retrigger: + ::core::option::Option ::core::ffi::c_int>, + pub irq_set_type: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut irq_data, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub irq_set_wake: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut irq_data, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub irq_bus_lock: ::core::option::Option, + pub irq_bus_sync_unlock: ::core::option::Option, + pub irq_suspend: ::core::option::Option, + pub irq_resume: ::core::option::Option, + pub irq_pm_shutdown: ::core::option::Option, + pub irq_calc_mask: ::core::option::Option, + pub irq_print_chip: + ::core::option::Option, + pub irq_request_resources: + ::core::option::Option ::core::ffi::c_int>, + pub irq_release_resources: ::core::option::Option, + pub irq_compose_msi_msg: + ::core::option::Option, + pub irq_write_msi_msg: + ::core::option::Option, + pub irq_get_irqchip_state: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_data, + arg2: irqchip_irq_state, + arg3: *mut bool_, + ) -> ::core::ffi::c_int, + >, + pub irq_set_irqchip_state: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_data, + arg2: irqchip_irq_state, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub irq_set_vcpu_affinity: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_data, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub ipi_send_single: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut irq_data, arg2: ::core::ffi::c_uint), + >, + pub ipi_send_mask: + ::core::option::Option, + pub irq_nmi_setup: + ::core::option::Option ::core::ffi::c_int>, + pub irq_nmi_teardown: ::core::option::Option, + pub flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_chip"][::core::mem::size_of::() - 264usize]; + ["Alignment of irq_chip"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_chip::name"][::core::mem::offset_of!(irq_chip, name) - 0usize]; + ["Offset of field: irq_chip::irq_startup"] + [::core::mem::offset_of!(irq_chip, irq_startup) - 8usize]; + ["Offset of field: irq_chip::irq_shutdown"] + [::core::mem::offset_of!(irq_chip, irq_shutdown) - 16usize]; + ["Offset of field: irq_chip::irq_enable"] + [::core::mem::offset_of!(irq_chip, irq_enable) - 24usize]; + ["Offset of field: irq_chip::irq_disable"] + [::core::mem::offset_of!(irq_chip, irq_disable) - 32usize]; + ["Offset of field: irq_chip::irq_ack"][::core::mem::offset_of!(irq_chip, irq_ack) - 40usize]; + ["Offset of field: irq_chip::irq_mask"][::core::mem::offset_of!(irq_chip, irq_mask) - 48usize]; + ["Offset of field: irq_chip::irq_mask_ack"] + [::core::mem::offset_of!(irq_chip, irq_mask_ack) - 56usize]; + ["Offset of field: irq_chip::irq_unmask"] + [::core::mem::offset_of!(irq_chip, irq_unmask) - 64usize]; + ["Offset of field: irq_chip::irq_eoi"][::core::mem::offset_of!(irq_chip, irq_eoi) - 72usize]; + ["Offset of field: irq_chip::irq_set_affinity"] + [::core::mem::offset_of!(irq_chip, irq_set_affinity) - 80usize]; + ["Offset of field: irq_chip::irq_retrigger"] + [::core::mem::offset_of!(irq_chip, irq_retrigger) - 88usize]; + ["Offset of field: irq_chip::irq_set_type"] + [::core::mem::offset_of!(irq_chip, irq_set_type) - 96usize]; + ["Offset of field: irq_chip::irq_set_wake"] + [::core::mem::offset_of!(irq_chip, irq_set_wake) - 104usize]; + ["Offset of field: irq_chip::irq_bus_lock"] + [::core::mem::offset_of!(irq_chip, irq_bus_lock) - 112usize]; + ["Offset of field: irq_chip::irq_bus_sync_unlock"] + [::core::mem::offset_of!(irq_chip, irq_bus_sync_unlock) - 120usize]; + ["Offset of field: irq_chip::irq_suspend"] + [::core::mem::offset_of!(irq_chip, irq_suspend) - 128usize]; + ["Offset of field: irq_chip::irq_resume"] + [::core::mem::offset_of!(irq_chip, irq_resume) - 136usize]; + ["Offset of field: irq_chip::irq_pm_shutdown"] + [::core::mem::offset_of!(irq_chip, irq_pm_shutdown) - 144usize]; + ["Offset of field: irq_chip::irq_calc_mask"] + [::core::mem::offset_of!(irq_chip, irq_calc_mask) - 152usize]; + ["Offset of field: irq_chip::irq_print_chip"] + [::core::mem::offset_of!(irq_chip, irq_print_chip) - 160usize]; + ["Offset of field: irq_chip::irq_request_resources"] + [::core::mem::offset_of!(irq_chip, irq_request_resources) - 168usize]; + ["Offset of field: irq_chip::irq_release_resources"] + [::core::mem::offset_of!(irq_chip, irq_release_resources) - 176usize]; + ["Offset of field: irq_chip::irq_compose_msi_msg"] + [::core::mem::offset_of!(irq_chip, irq_compose_msi_msg) - 184usize]; + ["Offset of field: irq_chip::irq_write_msi_msg"] + [::core::mem::offset_of!(irq_chip, irq_write_msi_msg) - 192usize]; + ["Offset of field: irq_chip::irq_get_irqchip_state"] + [::core::mem::offset_of!(irq_chip, irq_get_irqchip_state) - 200usize]; + ["Offset of field: irq_chip::irq_set_irqchip_state"] + [::core::mem::offset_of!(irq_chip, irq_set_irqchip_state) - 208usize]; + ["Offset of field: irq_chip::irq_set_vcpu_affinity"] + [::core::mem::offset_of!(irq_chip, irq_set_vcpu_affinity) - 216usize]; + ["Offset of field: irq_chip::ipi_send_single"] + [::core::mem::offset_of!(irq_chip, ipi_send_single) - 224usize]; + ["Offset of field: irq_chip::ipi_send_mask"] + [::core::mem::offset_of!(irq_chip, ipi_send_mask) - 232usize]; + ["Offset of field: irq_chip::irq_nmi_setup"] + [::core::mem::offset_of!(irq_chip, irq_nmi_setup) - 240usize]; + ["Offset of field: irq_chip::irq_nmi_teardown"] + [::core::mem::offset_of!(irq_chip, irq_nmi_teardown) - 248usize]; + ["Offset of field: irq_chip::flags"][::core::mem::offset_of!(irq_chip, flags) - 256usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_chip_regs { + pub enable: ::core::ffi::c_ulong, + pub disable: ::core::ffi::c_ulong, + pub mask: ::core::ffi::c_ulong, + pub ack: ::core::ffi::c_ulong, + pub eoi: ::core::ffi::c_ulong, + pub type_: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_chip_regs"][::core::mem::size_of::() - 48usize]; + ["Alignment of irq_chip_regs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_chip_regs::enable"] + [::core::mem::offset_of!(irq_chip_regs, enable) - 0usize]; + ["Offset of field: irq_chip_regs::disable"] + [::core::mem::offset_of!(irq_chip_regs, disable) - 8usize]; + ["Offset of field: irq_chip_regs::mask"] + [::core::mem::offset_of!(irq_chip_regs, mask) - 16usize]; + ["Offset of field: irq_chip_regs::ack"][::core::mem::offset_of!(irq_chip_regs, ack) - 24usize]; + ["Offset of field: irq_chip_regs::eoi"][::core::mem::offset_of!(irq_chip_regs, eoi) - 32usize]; + ["Offset of field: irq_chip_regs::type_"] + [::core::mem::offset_of!(irq_chip_regs, type_) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_chip_type { + pub chip: irq_chip, + pub regs: irq_chip_regs, + pub handler: irq_flow_handler_t, + pub type_: u32_, + pub mask_cache_priv: u32_, + pub mask_cache: *mut u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_chip_type"][::core::mem::size_of::() - 336usize]; + ["Alignment of irq_chip_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_chip_type::chip"][::core::mem::offset_of!(irq_chip_type, chip) - 0usize]; + ["Offset of field: irq_chip_type::regs"] + [::core::mem::offset_of!(irq_chip_type, regs) - 264usize]; + ["Offset of field: irq_chip_type::handler"] + [::core::mem::offset_of!(irq_chip_type, handler) - 312usize]; + ["Offset of field: irq_chip_type::type_"] + [::core::mem::offset_of!(irq_chip_type, type_) - 320usize]; + ["Offset of field: irq_chip_type::mask_cache_priv"] + [::core::mem::offset_of!(irq_chip_type, mask_cache_priv) - 324usize]; + ["Offset of field: irq_chip_type::mask_cache"] + [::core::mem::offset_of!(irq_chip_type, mask_cache) - 328usize]; +}; +#[repr(C)] +pub struct irq_chip_generic { + pub lock: raw_spinlock_t, + pub reg_base: *mut ::core::ffi::c_void, + pub reg_readl: + ::core::option::Option u32_>, + pub reg_writel: + ::core::option::Option, + pub suspend: ::core::option::Option, + pub resume: ::core::option::Option, + pub irq_base: ::core::ffi::c_uint, + pub irq_cnt: ::core::ffi::c_uint, + pub mask_cache: u32_, + pub wake_enabled: u32_, + pub wake_active: u32_, + pub num_ct: ::core::ffi::c_uint, + pub private: *mut ::core::ffi::c_void, + pub installed: ::core::ffi::c_ulong, + pub unused: ::core::ffi::c_ulong, + pub domain: *mut irq_domain, + pub list: list_head, + pub chip_types: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_chip_generic"][::core::mem::size_of::() - 120usize]; + ["Alignment of irq_chip_generic"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_chip_generic::lock"] + [::core::mem::offset_of!(irq_chip_generic, lock) - 0usize]; + ["Offset of field: irq_chip_generic::reg_base"] + [::core::mem::offset_of!(irq_chip_generic, reg_base) - 8usize]; + ["Offset of field: irq_chip_generic::reg_readl"] + [::core::mem::offset_of!(irq_chip_generic, reg_readl) - 16usize]; + ["Offset of field: irq_chip_generic::reg_writel"] + [::core::mem::offset_of!(irq_chip_generic, reg_writel) - 24usize]; + ["Offset of field: irq_chip_generic::suspend"] + [::core::mem::offset_of!(irq_chip_generic, suspend) - 32usize]; + ["Offset of field: irq_chip_generic::resume"] + [::core::mem::offset_of!(irq_chip_generic, resume) - 40usize]; + ["Offset of field: irq_chip_generic::irq_base"] + [::core::mem::offset_of!(irq_chip_generic, irq_base) - 48usize]; + ["Offset of field: irq_chip_generic::irq_cnt"] + [::core::mem::offset_of!(irq_chip_generic, irq_cnt) - 52usize]; + ["Offset of field: irq_chip_generic::mask_cache"] + [::core::mem::offset_of!(irq_chip_generic, mask_cache) - 56usize]; + ["Offset of field: irq_chip_generic::wake_enabled"] + [::core::mem::offset_of!(irq_chip_generic, wake_enabled) - 60usize]; + ["Offset of field: irq_chip_generic::wake_active"] + [::core::mem::offset_of!(irq_chip_generic, wake_active) - 64usize]; + ["Offset of field: irq_chip_generic::num_ct"] + [::core::mem::offset_of!(irq_chip_generic, num_ct) - 68usize]; + ["Offset of field: irq_chip_generic::private"] + [::core::mem::offset_of!(irq_chip_generic, private) - 72usize]; + ["Offset of field: irq_chip_generic::installed"] + [::core::mem::offset_of!(irq_chip_generic, installed) - 80usize]; + ["Offset of field: irq_chip_generic::unused"] + [::core::mem::offset_of!(irq_chip_generic, unused) - 88usize]; + ["Offset of field: irq_chip_generic::domain"] + [::core::mem::offset_of!(irq_chip_generic, domain) - 96usize]; + ["Offset of field: irq_chip_generic::list"] + [::core::mem::offset_of!(irq_chip_generic, list) - 104usize]; + ["Offset of field: irq_chip_generic::chip_types"] + [::core::mem::offset_of!(irq_chip_generic, chip_types) - 120usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_common_data { + pub state_use_accessors: ::core::ffi::c_uint, + pub node: ::core::ffi::c_uint, + pub handler_data: *mut ::core::ffi::c_void, + pub msi_desc: *mut msi_desc, + pub affinity: cpumask_var_t, + pub effective_affinity: cpumask_var_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_common_data"][::core::mem::size_of::() - 40usize]; + ["Alignment of irq_common_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_common_data::state_use_accessors"] + [::core::mem::offset_of!(irq_common_data, state_use_accessors) - 0usize]; + ["Offset of field: irq_common_data::node"] + [::core::mem::offset_of!(irq_common_data, node) - 4usize]; + ["Offset of field: irq_common_data::handler_data"] + [::core::mem::offset_of!(irq_common_data, handler_data) - 8usize]; + ["Offset of field: irq_common_data::msi_desc"] + [::core::mem::offset_of!(irq_common_data, msi_desc) - 16usize]; + ["Offset of field: irq_common_data::affinity"] + [::core::mem::offset_of!(irq_common_data, affinity) - 24usize]; + ["Offset of field: irq_common_data::effective_affinity"] + [::core::mem::offset_of!(irq_common_data, effective_affinity) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irq_data { + pub mask: u32_, + pub irq: ::core::ffi::c_uint, + pub hwirq: irq_hw_number_t, + pub common: *mut irq_common_data, + pub chip: *mut irq_chip, + pub domain: *mut irq_domain, + pub parent_data: *mut irq_data, + pub chip_data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_data"][::core::mem::size_of::() - 56usize]; + ["Alignment of irq_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_data::mask"][::core::mem::offset_of!(irq_data, mask) - 0usize]; + ["Offset of field: irq_data::irq"][::core::mem::offset_of!(irq_data, irq) - 4usize]; + ["Offset of field: irq_data::hwirq"][::core::mem::offset_of!(irq_data, hwirq) - 8usize]; + ["Offset of field: irq_data::common"][::core::mem::offset_of!(irq_data, common) - 16usize]; + ["Offset of field: irq_data::chip"][::core::mem::offset_of!(irq_data, chip) - 24usize]; + ["Offset of field: irq_data::domain"][::core::mem::offset_of!(irq_data, domain) - 32usize]; + ["Offset of field: irq_data::parent_data"] + [::core::mem::offset_of!(irq_data, parent_data) - 40usize]; + ["Offset of field: irq_data::chip_data"] + [::core::mem::offset_of!(irq_data, chip_data) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct irq_desc { + pub irq_common_data: irq_common_data, + pub irq_data: irq_data, + pub kstat_irqs: *mut irqstat, + pub handle_irq: irq_flow_handler_t, + pub action: *mut irqaction, + pub status_use_accessors: ::core::ffi::c_uint, + pub core_internal_state__do_not_mess_with_it: ::core::ffi::c_uint, + pub depth: ::core::ffi::c_uint, + pub wake_depth: ::core::ffi::c_uint, + pub tot_count: ::core::ffi::c_uint, + pub irq_count: ::core::ffi::c_uint, + pub last_unhandled: ::core::ffi::c_ulong, + pub irqs_unhandled: ::core::ffi::c_uint, + pub threads_handled: atomic_t, + pub threads_handled_last: ::core::ffi::c_int, + pub lock: raw_spinlock_t, + pub percpu_enabled: *mut cpumask, + pub percpu_affinity: *const cpumask, + pub affinity_hint: *const cpumask, + pub affinity_notify: *mut irq_affinity_notify, + pub pending_mask: cpumask_var_t, + pub threads_oneshot: ::core::ffi::c_ulong, + pub threads_active: atomic_t, + pub wait_for_threads: wait_queue_head_t, + pub nr_actions: ::core::ffi::c_uint, + pub no_suspend_depth: ::core::ffi::c_uint, + pub cond_suspend_depth: ::core::ffi::c_uint, + pub force_resume_depth: ::core::ffi::c_uint, + pub dir: *mut proc_dir_entry, + pub rcu: callback_head, + pub kobj: kobject, + pub request_mutex: mutex, + pub parent_irq: ::core::ffi::c_int, + pub owner: *mut module, + pub name: *const ::core::ffi::c_char, + pub resend_node: hlist_node, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_desc"][::core::mem::size_of::() - 448usize]; + ["Alignment of irq_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_desc::irq_common_data"] + [::core::mem::offset_of!(irq_desc, irq_common_data) - 0usize]; + ["Offset of field: irq_desc::irq_data"][::core::mem::offset_of!(irq_desc, irq_data) - 40usize]; + ["Offset of field: irq_desc::kstat_irqs"] + [::core::mem::offset_of!(irq_desc, kstat_irqs) - 96usize]; + ["Offset of field: irq_desc::handle_irq"] + [::core::mem::offset_of!(irq_desc, handle_irq) - 104usize]; + ["Offset of field: irq_desc::action"][::core::mem::offset_of!(irq_desc, action) - 112usize]; + ["Offset of field: irq_desc::status_use_accessors"] + [::core::mem::offset_of!(irq_desc, status_use_accessors) - 120usize]; + ["Offset of field: irq_desc::core_internal_state__do_not_mess_with_it"] + [::core::mem::offset_of!(irq_desc, core_internal_state__do_not_mess_with_it) - 124usize]; + ["Offset of field: irq_desc::depth"][::core::mem::offset_of!(irq_desc, depth) - 128usize]; + ["Offset of field: irq_desc::wake_depth"] + [::core::mem::offset_of!(irq_desc, wake_depth) - 132usize]; + ["Offset of field: irq_desc::tot_count"] + [::core::mem::offset_of!(irq_desc, tot_count) - 136usize]; + ["Offset of field: irq_desc::irq_count"] + [::core::mem::offset_of!(irq_desc, irq_count) - 140usize]; + ["Offset of field: irq_desc::last_unhandled"] + [::core::mem::offset_of!(irq_desc, last_unhandled) - 144usize]; + ["Offset of field: irq_desc::irqs_unhandled"] + [::core::mem::offset_of!(irq_desc, irqs_unhandled) - 152usize]; + ["Offset of field: irq_desc::threads_handled"] + [::core::mem::offset_of!(irq_desc, threads_handled) - 156usize]; + ["Offset of field: irq_desc::threads_handled_last"] + [::core::mem::offset_of!(irq_desc, threads_handled_last) - 160usize]; + ["Offset of field: irq_desc::lock"][::core::mem::offset_of!(irq_desc, lock) - 164usize]; + ["Offset of field: irq_desc::percpu_enabled"] + [::core::mem::offset_of!(irq_desc, percpu_enabled) - 168usize]; + ["Offset of field: irq_desc::percpu_affinity"] + [::core::mem::offset_of!(irq_desc, percpu_affinity) - 176usize]; + ["Offset of field: irq_desc::affinity_hint"] + [::core::mem::offset_of!(irq_desc, affinity_hint) - 184usize]; + ["Offset of field: irq_desc::affinity_notify"] + [::core::mem::offset_of!(irq_desc, affinity_notify) - 192usize]; + ["Offset of field: irq_desc::pending_mask"] + [::core::mem::offset_of!(irq_desc, pending_mask) - 200usize]; + ["Offset of field: irq_desc::threads_oneshot"] + [::core::mem::offset_of!(irq_desc, threads_oneshot) - 208usize]; + ["Offset of field: irq_desc::threads_active"] + [::core::mem::offset_of!(irq_desc, threads_active) - 216usize]; + ["Offset of field: irq_desc::wait_for_threads"] + [::core::mem::offset_of!(irq_desc, wait_for_threads) - 224usize]; + ["Offset of field: irq_desc::nr_actions"] + [::core::mem::offset_of!(irq_desc, nr_actions) - 248usize]; + ["Offset of field: irq_desc::no_suspend_depth"] + [::core::mem::offset_of!(irq_desc, no_suspend_depth) - 252usize]; + ["Offset of field: irq_desc::cond_suspend_depth"] + [::core::mem::offset_of!(irq_desc, cond_suspend_depth) - 256usize]; + ["Offset of field: irq_desc::force_resume_depth"] + [::core::mem::offset_of!(irq_desc, force_resume_depth) - 260usize]; + ["Offset of field: irq_desc::dir"][::core::mem::offset_of!(irq_desc, dir) - 264usize]; + ["Offset of field: irq_desc::rcu"][::core::mem::offset_of!(irq_desc, rcu) - 272usize]; + ["Offset of field: irq_desc::kobj"][::core::mem::offset_of!(irq_desc, kobj) - 288usize]; + ["Offset of field: irq_desc::request_mutex"] + [::core::mem::offset_of!(irq_desc, request_mutex) - 352usize]; + ["Offset of field: irq_desc::parent_irq"] + [::core::mem::offset_of!(irq_desc, parent_irq) - 384usize]; + ["Offset of field: irq_desc::owner"][::core::mem::offset_of!(irq_desc, owner) - 392usize]; + ["Offset of field: irq_desc::name"][::core::mem::offset_of!(irq_desc, name) - 400usize]; + ["Offset of field: irq_desc::resend_node"] + [::core::mem::offset_of!(irq_desc, resend_node) - 408usize]; +}; +impl irq_desc { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +pub struct irq_domain { + pub link: list_head, + pub name: *const ::core::ffi::c_char, + pub ops: *const irq_domain_ops, + pub host_data: *mut ::core::ffi::c_void, + pub flags: ::core::ffi::c_uint, + pub mapcount: ::core::ffi::c_uint, + pub mutex: mutex, + pub root: *mut irq_domain, + pub fwnode: *mut fwnode_handle, + pub bus_token: irq_domain_bus_token, + pub gc: *mut irq_domain_chip_generic, + pub dev: *mut device, + pub pm_dev: *mut device, + pub parent: *mut irq_domain, + pub msi_parent_ops: *const msi_parent_ops, + pub exit: ::core::option::Option, + pub hwirq_max: irq_hw_number_t, + pub revmap_size: ::core::ffi::c_uint, + pub revmap_tree: xarray, + pub revmap: __IncompleteArrayField<*mut irq_data>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_domain"][::core::mem::size_of::() - 184usize]; + ["Alignment of irq_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_domain::link"][::core::mem::offset_of!(irq_domain, link) - 0usize]; + ["Offset of field: irq_domain::name"][::core::mem::offset_of!(irq_domain, name) - 16usize]; + ["Offset of field: irq_domain::ops"][::core::mem::offset_of!(irq_domain, ops) - 24usize]; + ["Offset of field: irq_domain::host_data"] + [::core::mem::offset_of!(irq_domain, host_data) - 32usize]; + ["Offset of field: irq_domain::flags"][::core::mem::offset_of!(irq_domain, flags) - 40usize]; + ["Offset of field: irq_domain::mapcount"] + [::core::mem::offset_of!(irq_domain, mapcount) - 44usize]; + ["Offset of field: irq_domain::mutex"][::core::mem::offset_of!(irq_domain, mutex) - 48usize]; + ["Offset of field: irq_domain::root"][::core::mem::offset_of!(irq_domain, root) - 80usize]; + ["Offset of field: irq_domain::fwnode"][::core::mem::offset_of!(irq_domain, fwnode) - 88usize]; + ["Offset of field: irq_domain::bus_token"] + [::core::mem::offset_of!(irq_domain, bus_token) - 96usize]; + ["Offset of field: irq_domain::gc"][::core::mem::offset_of!(irq_domain, gc) - 104usize]; + ["Offset of field: irq_domain::dev"][::core::mem::offset_of!(irq_domain, dev) - 112usize]; + ["Offset of field: irq_domain::pm_dev"][::core::mem::offset_of!(irq_domain, pm_dev) - 120usize]; + ["Offset of field: irq_domain::parent"][::core::mem::offset_of!(irq_domain, parent) - 128usize]; + ["Offset of field: irq_domain::msi_parent_ops"] + [::core::mem::offset_of!(irq_domain, msi_parent_ops) - 136usize]; + ["Offset of field: irq_domain::exit"][::core::mem::offset_of!(irq_domain, exit) - 144usize]; + ["Offset of field: irq_domain::hwirq_max"] + [::core::mem::offset_of!(irq_domain, hwirq_max) - 152usize]; + ["Offset of field: irq_domain::revmap_size"] + [::core::mem::offset_of!(irq_domain, revmap_size) - 160usize]; + ["Offset of field: irq_domain::revmap_tree"] + [::core::mem::offset_of!(irq_domain, revmap_tree) - 168usize]; + ["Offset of field: irq_domain::revmap"][::core::mem::offset_of!(irq_domain, revmap) - 184usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct irq_domain_chip_generic { + pub irqs_per_chip: ::core::ffi::c_uint, + pub num_chips: ::core::ffi::c_uint, + pub irq_flags_to_clear: ::core::ffi::c_uint, + pub irq_flags_to_set: ::core::ffi::c_uint, + pub gc_flags: irq_gc_flags, + pub exit: ::core::option::Option, + pub gc: __IncompleteArrayField<*mut irq_chip_generic>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irq_domain_chip_generic"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of irq_domain_chip_generic"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: irq_domain_chip_generic::irqs_per_chip"] + [::core::mem::offset_of!(irq_domain_chip_generic, irqs_per_chip) - 0usize]; + ["Offset of field: irq_domain_chip_generic::num_chips"] + [::core::mem::offset_of!(irq_domain_chip_generic, num_chips) - 4usize]; + ["Offset of field: irq_domain_chip_generic::irq_flags_to_clear"] + [::core::mem::offset_of!(irq_domain_chip_generic, irq_flags_to_clear) - 8usize]; + ["Offset of field: irq_domain_chip_generic::irq_flags_to_set"] + [::core::mem::offset_of!(irq_domain_chip_generic, irq_flags_to_set) - 12usize]; + ["Offset of field: irq_domain_chip_generic::gc_flags"] + [::core::mem::offset_of!(irq_domain_chip_generic, gc_flags) - 16usize]; + ["Offset of field: irq_domain_chip_generic::exit"] + [::core::mem::offset_of!(irq_domain_chip_generic, exit) - 24usize]; + ["Offset of field: irq_domain_chip_generic::gc"] + [::core::mem::offset_of!(irq_domain_chip_generic, gc) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irqaction { + pub handler: irq_handler_t, + pub dev_id: *mut ::core::ffi::c_void, + pub percpu_dev_id: *mut ::core::ffi::c_void, + pub next: *mut irqaction, + pub thread_fn: irq_handler_t, + pub thread: *mut task_struct, + pub secondary: *mut irqaction, + pub irq: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_uint, + pub thread_flags: ::core::ffi::c_ulong, + pub thread_mask: ::core::ffi::c_ulong, + pub name: *const ::core::ffi::c_char, + pub dir: *mut proc_dir_entry, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irqaction"][::core::mem::size_of::() - 128usize]; + ["Alignment of irqaction"][::core::mem::align_of::() - 8usize]; + ["Offset of field: irqaction::handler"][::core::mem::offset_of!(irqaction, handler) - 0usize]; + ["Offset of field: irqaction::dev_id"][::core::mem::offset_of!(irqaction, dev_id) - 8usize]; + ["Offset of field: irqaction::percpu_dev_id"] + [::core::mem::offset_of!(irqaction, percpu_dev_id) - 16usize]; + ["Offset of field: irqaction::next"][::core::mem::offset_of!(irqaction, next) - 24usize]; + ["Offset of field: irqaction::thread_fn"] + [::core::mem::offset_of!(irqaction, thread_fn) - 32usize]; + ["Offset of field: irqaction::thread"][::core::mem::offset_of!(irqaction, thread) - 40usize]; + ["Offset of field: irqaction::secondary"] + [::core::mem::offset_of!(irqaction, secondary) - 48usize]; + ["Offset of field: irqaction::irq"][::core::mem::offset_of!(irqaction, irq) - 56usize]; + ["Offset of field: irqaction::flags"][::core::mem::offset_of!(irqaction, flags) - 60usize]; + ["Offset of field: irqaction::thread_flags"] + [::core::mem::offset_of!(irqaction, thread_flags) - 64usize]; + ["Offset of field: irqaction::thread_mask"] + [::core::mem::offset_of!(irqaction, thread_mask) - 72usize]; + ["Offset of field: irqaction::name"][::core::mem::offset_of!(irqaction, name) - 80usize]; + ["Offset of field: irqaction::dir"][::core::mem::offset_of!(irqaction, dir) - 88usize]; +}; +impl irqaction { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct irqstat { + pub cnt: ::core::ffi::c_uint, + pub ref_: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of irqstat"][::core::mem::size_of::() - 8usize]; + ["Alignment of irqstat"][::core::mem::align_of::() - 4usize]; + ["Offset of field: irqstat::cnt"][::core::mem::offset_of!(irqstat, cnt) - 0usize]; + ["Offset of field: irqstat::ref_"][::core::mem::offset_of!(irqstat, ref_) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_discarded { + pub nwid: __u32, + pub code: __u32, + pub fragment: __u32, + pub retries: __u32, + pub misc: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_discarded"][::core::mem::size_of::() - 20usize]; + ["Alignment of iw_discarded"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iw_discarded::nwid"][::core::mem::offset_of!(iw_discarded, nwid) - 0usize]; + ["Offset of field: iw_discarded::code"][::core::mem::offset_of!(iw_discarded, code) - 4usize]; + ["Offset of field: iw_discarded::fragment"] + [::core::mem::offset_of!(iw_discarded, fragment) - 8usize]; + ["Offset of field: iw_discarded::retries"] + [::core::mem::offset_of!(iw_discarded, retries) - 12usize]; + ["Offset of field: iw_discarded::misc"][::core::mem::offset_of!(iw_discarded, misc) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_point { + pub pointer: *mut ::core::ffi::c_void, + pub length: __u16, + pub flags: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_point"][::core::mem::size_of::() - 16usize]; + ["Alignment of iw_point"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iw_point::pointer"][::core::mem::offset_of!(iw_point, pointer) - 0usize]; + ["Offset of field: iw_point::length"][::core::mem::offset_of!(iw_point, length) - 8usize]; + ["Offset of field: iw_point::flags"][::core::mem::offset_of!(iw_point, flags) - 10usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_param { + pub value: __s32, + pub fixed: __u8, + pub disabled: __u8, + pub flags: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_param"][::core::mem::size_of::() - 8usize]; + ["Alignment of iw_param"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iw_param::value"][::core::mem::offset_of!(iw_param, value) - 0usize]; + ["Offset of field: iw_param::fixed"][::core::mem::offset_of!(iw_param, fixed) - 4usize]; + ["Offset of field: iw_param::disabled"][::core::mem::offset_of!(iw_param, disabled) - 5usize]; + ["Offset of field: iw_param::flags"][::core::mem::offset_of!(iw_param, flags) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_freq { + pub m: __s32, + pub e: __s16, + pub i: __u8, + pub flags: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_freq"][::core::mem::size_of::() - 8usize]; + ["Alignment of iw_freq"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iw_freq::m"][::core::mem::offset_of!(iw_freq, m) - 0usize]; + ["Offset of field: iw_freq::e"][::core::mem::offset_of!(iw_freq, e) - 4usize]; + ["Offset of field: iw_freq::i"][::core::mem::offset_of!(iw_freq, i) - 6usize]; + ["Offset of field: iw_freq::flags"][::core::mem::offset_of!(iw_freq, flags) - 7usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_quality { + pub qual: __u8, + pub level: __u8, + pub noise: __u8, + pub updated: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_quality"][::core::mem::size_of::() - 4usize]; + ["Alignment of iw_quality"][::core::mem::align_of::() - 1usize]; + ["Offset of field: iw_quality::qual"][::core::mem::offset_of!(iw_quality, qual) - 0usize]; + ["Offset of field: iw_quality::level"][::core::mem::offset_of!(iw_quality, level) - 1usize]; + ["Offset of field: iw_quality::noise"][::core::mem::offset_of!(iw_quality, noise) - 2usize]; + ["Offset of field: iw_quality::updated"][::core::mem::offset_of!(iw_quality, updated) - 3usize]; +}; +#[repr(C)] +pub struct iwreq_data { + pub name: __BindgenUnionField<[::core::ffi::c_char; 16usize]>, + pub essid: __BindgenUnionField, + pub nwid: __BindgenUnionField, + pub freq: __BindgenUnionField, + pub sens: __BindgenUnionField, + pub bitrate: __BindgenUnionField, + pub txpower: __BindgenUnionField, + pub rts: __BindgenUnionField, + pub frag: __BindgenUnionField, + pub mode: __BindgenUnionField<__u32>, + pub retry: __BindgenUnionField, + pub encoding: __BindgenUnionField, + pub power: __BindgenUnionField, + pub qual: __BindgenUnionField, + pub ap_addr: __BindgenUnionField, + pub addr: __BindgenUnionField, + pub param: __BindgenUnionField, + pub data: __BindgenUnionField, + pub bindgen_union_field: [u64; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iwreq_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of iwreq_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iwreq_data::name"][::core::mem::offset_of!(iwreq_data, name) - 0usize]; + ["Offset of field: iwreq_data::essid"][::core::mem::offset_of!(iwreq_data, essid) - 0usize]; + ["Offset of field: iwreq_data::nwid"][::core::mem::offset_of!(iwreq_data, nwid) - 0usize]; + ["Offset of field: iwreq_data::freq"][::core::mem::offset_of!(iwreq_data, freq) - 0usize]; + ["Offset of field: iwreq_data::sens"][::core::mem::offset_of!(iwreq_data, sens) - 0usize]; + ["Offset of field: iwreq_data::bitrate"][::core::mem::offset_of!(iwreq_data, bitrate) - 0usize]; + ["Offset of field: iwreq_data::txpower"][::core::mem::offset_of!(iwreq_data, txpower) - 0usize]; + ["Offset of field: iwreq_data::rts"][::core::mem::offset_of!(iwreq_data, rts) - 0usize]; + ["Offset of field: iwreq_data::frag"][::core::mem::offset_of!(iwreq_data, frag) - 0usize]; + ["Offset of field: iwreq_data::mode"][::core::mem::offset_of!(iwreq_data, mode) - 0usize]; + ["Offset of field: iwreq_data::retry"][::core::mem::offset_of!(iwreq_data, retry) - 0usize]; + ["Offset of field: iwreq_data::encoding"] + [::core::mem::offset_of!(iwreq_data, encoding) - 0usize]; + ["Offset of field: iwreq_data::power"][::core::mem::offset_of!(iwreq_data, power) - 0usize]; + ["Offset of field: iwreq_data::qual"][::core::mem::offset_of!(iwreq_data, qual) - 0usize]; + ["Offset of field: iwreq_data::ap_addr"][::core::mem::offset_of!(iwreq_data, ap_addr) - 0usize]; + ["Offset of field: iwreq_data::addr"][::core::mem::offset_of!(iwreq_data, addr) - 0usize]; + ["Offset of field: iwreq_data::param"][::core::mem::offset_of!(iwreq_data, param) - 0usize]; + ["Offset of field: iwreq_data::data"][::core::mem::offset_of!(iwreq_data, data) - 0usize]; +}; +pub type iw_handler = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut iw_request_info, + arg3: *mut iwreq_data, + arg4: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_handler_def { + pub standard: *const iw_handler, + pub num_standard: __u16, + pub num_private: __u16, + pub num_private_args: __u16, + pub private: *const iw_handler, + pub private_args: *const iw_priv_args, + pub get_wireless_stats: + ::core::option::Option *mut iw_statistics>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_handler_def"][::core::mem::size_of::() - 40usize]; + ["Alignment of iw_handler_def"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iw_handler_def::standard"] + [::core::mem::offset_of!(iw_handler_def, standard) - 0usize]; + ["Offset of field: iw_handler_def::num_standard"] + [::core::mem::offset_of!(iw_handler_def, num_standard) - 8usize]; + ["Offset of field: iw_handler_def::num_private"] + [::core::mem::offset_of!(iw_handler_def, num_private) - 10usize]; + ["Offset of field: iw_handler_def::num_private_args"] + [::core::mem::offset_of!(iw_handler_def, num_private_args) - 12usize]; + ["Offset of field: iw_handler_def::private"] + [::core::mem::offset_of!(iw_handler_def, private) - 16usize]; + ["Offset of field: iw_handler_def::private_args"] + [::core::mem::offset_of!(iw_handler_def, private_args) - 24usize]; + ["Offset of field: iw_handler_def::get_wireless_stats"] + [::core::mem::offset_of!(iw_handler_def, get_wireless_stats) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_missed { + pub beacon: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_missed"][::core::mem::size_of::() - 4usize]; + ["Alignment of iw_missed"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iw_missed::beacon"][::core::mem::offset_of!(iw_missed, beacon) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_priv_args { + pub cmd: __u32, + pub set_args: __u16, + pub get_args: __u16, + pub name: [::core::ffi::c_char; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_priv_args"][::core::mem::size_of::() - 24usize]; + ["Alignment of iw_priv_args"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iw_priv_args::cmd"][::core::mem::offset_of!(iw_priv_args, cmd) - 0usize]; + ["Offset of field: iw_priv_args::set_args"] + [::core::mem::offset_of!(iw_priv_args, set_args) - 4usize]; + ["Offset of field: iw_priv_args::get_args"] + [::core::mem::offset_of!(iw_priv_args, get_args) - 6usize]; + ["Offset of field: iw_priv_args::name"][::core::mem::offset_of!(iw_priv_args, name) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct libipw_device { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_public_data { + pub spy_data: *mut iw_spy_data, + pub libipw: *mut libipw_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_public_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of iw_public_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: iw_public_data::spy_data"] + [::core::mem::offset_of!(iw_public_data, spy_data) - 0usize]; + ["Offset of field: iw_public_data::libipw"] + [::core::mem::offset_of!(iw_public_data, libipw) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_request_info { + pub cmd: __u16, + pub flags: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_request_info"][::core::mem::size_of::() - 4usize]; + ["Alignment of iw_request_info"][::core::mem::align_of::() - 2usize]; + ["Offset of field: iw_request_info::cmd"] + [::core::mem::offset_of!(iw_request_info, cmd) - 0usize]; + ["Offset of field: iw_request_info::flags"] + [::core::mem::offset_of!(iw_request_info, flags) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_spy_data { + pub spy_number: ::core::ffi::c_int, + pub spy_address: [u_char; 48usize], + pub spy_stat: [iw_quality; 8usize], + pub spy_thr_low: iw_quality, + pub spy_thr_high: iw_quality, + pub spy_thr_under: [u_char; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_spy_data"][::core::mem::size_of::() - 100usize]; + ["Alignment of iw_spy_data"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iw_spy_data::spy_number"] + [::core::mem::offset_of!(iw_spy_data, spy_number) - 0usize]; + ["Offset of field: iw_spy_data::spy_address"] + [::core::mem::offset_of!(iw_spy_data, spy_address) - 4usize]; + ["Offset of field: iw_spy_data::spy_stat"] + [::core::mem::offset_of!(iw_spy_data, spy_stat) - 52usize]; + ["Offset of field: iw_spy_data::spy_thr_low"] + [::core::mem::offset_of!(iw_spy_data, spy_thr_low) - 84usize]; + ["Offset of field: iw_spy_data::spy_thr_high"] + [::core::mem::offset_of!(iw_spy_data, spy_thr_high) - 88usize]; + ["Offset of field: iw_spy_data::spy_thr_under"] + [::core::mem::offset_of!(iw_spy_data, spy_thr_under) - 92usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct iw_statistics { + pub status: __u16, + pub qual: iw_quality, + pub discard: iw_discarded, + pub miss: iw_missed, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of iw_statistics"][::core::mem::size_of::() - 32usize]; + ["Alignment of iw_statistics"][::core::mem::align_of::() - 4usize]; + ["Offset of field: iw_statistics::status"] + [::core::mem::offset_of!(iw_statistics, status) - 0usize]; + ["Offset of field: iw_statistics::qual"][::core::mem::offset_of!(iw_statistics, qual) - 2usize]; + ["Offset of field: iw_statistics::discard"] + [::core::mem::offset_of!(iw_statistics, discard) - 8usize]; + ["Offset of field: iw_statistics::miss"] + [::core::mem::offset_of!(iw_statistics, miss) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct jump_entry { + pub code: s32, + pub target: s32, + pub key: ::core::ffi::c_long, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of jump_entry"][::core::mem::size_of::() - 16usize]; + ["Alignment of jump_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: jump_entry::code"][::core::mem::offset_of!(jump_entry, code) - 0usize]; + ["Offset of field: jump_entry::target"][::core::mem::offset_of!(jump_entry, target) - 4usize]; + ["Offset of field: jump_entry::key"][::core::mem::offset_of!(jump_entry, key) - 8usize]; +}; +pub type __signalfn_t = ::core::option::Option; +pub type __sighandler_t = __signalfn_t; +pub type __restorefn_t = ::core::option::Option; +pub type __sigrestore_t = __restorefn_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigaction { + pub sa_handler: __sighandler_t, + pub sa_flags: ::core::ffi::c_ulong, + pub sa_restorer: __sigrestore_t, + pub sa_mask: sigset_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sigaction"][::core::mem::size_of::() - 32usize]; + ["Alignment of sigaction"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sigaction::sa_handler"] + [::core::mem::offset_of!(sigaction, sa_handler) - 0usize]; + ["Offset of field: sigaction::sa_flags"][::core::mem::offset_of!(sigaction, sa_flags) - 8usize]; + ["Offset of field: sigaction::sa_restorer"] + [::core::mem::offset_of!(sigaction, sa_restorer) - 16usize]; + ["Offset of field: sigaction::sa_mask"][::core::mem::offset_of!(sigaction, sa_mask) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct k_sigaction { + pub sa: sigaction, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of k_sigaction"][::core::mem::size_of::() - 32usize]; + ["Alignment of k_sigaction"][::core::mem::align_of::() - 8usize]; + ["Offset of field: k_sigaction::sa"][::core::mem::offset_of!(k_sigaction, sa) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_ethtool_ringparam { + pub rx_buf_len: u32_, + pub tcp_data_split: u8_, + pub tx_push: u8_, + pub rx_push: u8_, + pub cqe_size: u32_, + pub tx_push_buf_len: u32_, + pub tx_push_buf_max_len: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_ethtool_ringparam"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of kernel_ethtool_ringparam"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: kernel_ethtool_ringparam::rx_buf_len"] + [::core::mem::offset_of!(kernel_ethtool_ringparam, rx_buf_len) - 0usize]; + ["Offset of field: kernel_ethtool_ringparam::tcp_data_split"] + [::core::mem::offset_of!(kernel_ethtool_ringparam, tcp_data_split) - 4usize]; + ["Offset of field: kernel_ethtool_ringparam::tx_push"] + [::core::mem::offset_of!(kernel_ethtool_ringparam, tx_push) - 5usize]; + ["Offset of field: kernel_ethtool_ringparam::rx_push"] + [::core::mem::offset_of!(kernel_ethtool_ringparam, rx_push) - 6usize]; + ["Offset of field: kernel_ethtool_ringparam::cqe_size"] + [::core::mem::offset_of!(kernel_ethtool_ringparam, cqe_size) - 8usize]; + ["Offset of field: kernel_ethtool_ringparam::tx_push_buf_len"] + [::core::mem::offset_of!(kernel_ethtool_ringparam, tx_push_buf_len) - 12usize]; + ["Offset of field: kernel_ethtool_ringparam::tx_push_buf_max_len"] + [::core::mem::offset_of!(kernel_ethtool_ringparam, tx_push_buf_max_len) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_ethtool_ts_info { + pub cmd: u32_, + pub so_timestamping: u32_, + pub phc_index: ::core::ffi::c_int, + pub tx_types: hwtstamp_tx_types, + pub rx_filters: hwtstamp_rx_filters, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_ethtool_ts_info"][::core::mem::size_of::() - 20usize]; + ["Alignment of kernel_ethtool_ts_info"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: kernel_ethtool_ts_info::cmd"] + [::core::mem::offset_of!(kernel_ethtool_ts_info, cmd) - 0usize]; + ["Offset of field: kernel_ethtool_ts_info::so_timestamping"] + [::core::mem::offset_of!(kernel_ethtool_ts_info, so_timestamping) - 4usize]; + ["Offset of field: kernel_ethtool_ts_info::phc_index"] + [::core::mem::offset_of!(kernel_ethtool_ts_info, phc_index) - 8usize]; + ["Offset of field: kernel_ethtool_ts_info::tx_types"] + [::core::mem::offset_of!(kernel_ethtool_ts_info, tx_types) - 12usize]; + ["Offset of field: kernel_ethtool_ts_info::rx_filters"] + [::core::mem::offset_of!(kernel_ethtool_ts_info, rx_filters) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_hwtstamp_config { + pub flags: ::core::ffi::c_int, + pub tx_type: ::core::ffi::c_int, + pub rx_filter: ::core::ffi::c_int, + pub ifr: *mut ifreq, + pub copied_to_user: bool_, + pub source: hwtstamp_source, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_hwtstamp_config"][::core::mem::size_of::() - 32usize]; + ["Alignment of kernel_hwtstamp_config"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: kernel_hwtstamp_config::flags"] + [::core::mem::offset_of!(kernel_hwtstamp_config, flags) - 0usize]; + ["Offset of field: kernel_hwtstamp_config::tx_type"] + [::core::mem::offset_of!(kernel_hwtstamp_config, tx_type) - 4usize]; + ["Offset of field: kernel_hwtstamp_config::rx_filter"] + [::core::mem::offset_of!(kernel_hwtstamp_config, rx_filter) - 8usize]; + ["Offset of field: kernel_hwtstamp_config::ifr"] + [::core::mem::offset_of!(kernel_hwtstamp_config, ifr) - 16usize]; + ["Offset of field: kernel_hwtstamp_config::copied_to_user"] + [::core::mem::offset_of!(kernel_hwtstamp_config, copied_to_user) - 24usize]; + ["Offset of field: kernel_hwtstamp_config::source"] + [::core::mem::offset_of!(kernel_hwtstamp_config, source) - 28usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernel_param { + pub name: *const ::core::ffi::c_char, + pub mod_: *mut module, + pub ops: *const kernel_param_ops, + pub perm: u16_, + pub level: s8, + pub flags: u8_, + pub __bindgen_anon_1: kernel_param__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union kernel_param__bindgen_ty_1 { + pub arg: *mut ::core::ffi::c_void, + pub str_: *const kparam_string, + pub arr: *const kparam_array, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_param__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of kernel_param__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: kernel_param__bindgen_ty_1::arg"] + [::core::mem::offset_of!(kernel_param__bindgen_ty_1, arg) - 0usize]; + ["Offset of field: kernel_param__bindgen_ty_1::str_"] + [::core::mem::offset_of!(kernel_param__bindgen_ty_1, str_) - 0usize]; + ["Offset of field: kernel_param__bindgen_ty_1::arr"] + [::core::mem::offset_of!(kernel_param__bindgen_ty_1, arr) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_param"][::core::mem::size_of::() - 40usize]; + ["Alignment of kernel_param"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernel_param::name"][::core::mem::offset_of!(kernel_param, name) - 0usize]; + ["Offset of field: kernel_param::mod_"][::core::mem::offset_of!(kernel_param, mod_) - 8usize]; + ["Offset of field: kernel_param::ops"][::core::mem::offset_of!(kernel_param, ops) - 16usize]; + ["Offset of field: kernel_param::perm"][::core::mem::offset_of!(kernel_param, perm) - 24usize]; + ["Offset of field: kernel_param::level"] + [::core::mem::offset_of!(kernel_param, level) - 26usize]; + ["Offset of field: kernel_param::flags"] + [::core::mem::offset_of!(kernel_param, flags) - 27usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_param_ops { + pub flags: ::core::ffi::c_uint, + pub set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_char, + arg2: *const kernel_param, + ) -> ::core::ffi::c_int, + >, + pub get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_char, + arg2: *const kernel_param, + ) -> ::core::ffi::c_int, + >, + pub free: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_param_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of kernel_param_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernel_param_ops::flags"] + [::core::mem::offset_of!(kernel_param_ops, flags) - 0usize]; + ["Offset of field: kernel_param_ops::set"] + [::core::mem::offset_of!(kernel_param_ops, set) - 8usize]; + ["Offset of field: kernel_param_ops::get"] + [::core::mem::offset_of!(kernel_param_ops, get) - 16usize]; + ["Offset of field: kernel_param_ops::free"] + [::core::mem::offset_of!(kernel_param_ops, free) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernel_pkey_params { + pub key: *mut key, + pub encoding: *const ::core::ffi::c_char, + pub hash_algo: *const ::core::ffi::c_char, + pub info: *mut ::core::ffi::c_char, + pub in_len: __u32, + pub __bindgen_anon_1: kernel_pkey_params__bindgen_ty_1, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union kernel_pkey_params__bindgen_ty_1 { + pub out_len: __u32, + pub in2_len: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_pkey_params__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of kernel_pkey_params__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: kernel_pkey_params__bindgen_ty_1::out_len"] + [::core::mem::offset_of!(kernel_pkey_params__bindgen_ty_1, out_len) - 0usize]; + ["Offset of field: kernel_pkey_params__bindgen_ty_1::in2_len"] + [::core::mem::offset_of!(kernel_pkey_params__bindgen_ty_1, in2_len) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_pkey_params"][::core::mem::size_of::() - 48usize]; + ["Alignment of kernel_pkey_params"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernel_pkey_params::key"] + [::core::mem::offset_of!(kernel_pkey_params, key) - 0usize]; + ["Offset of field: kernel_pkey_params::encoding"] + [::core::mem::offset_of!(kernel_pkey_params, encoding) - 8usize]; + ["Offset of field: kernel_pkey_params::hash_algo"] + [::core::mem::offset_of!(kernel_pkey_params, hash_algo) - 16usize]; + ["Offset of field: kernel_pkey_params::info"] + [::core::mem::offset_of!(kernel_pkey_params, info) - 24usize]; + ["Offset of field: kernel_pkey_params::in_len"] + [::core::mem::offset_of!(kernel_pkey_params, in_len) - 32usize]; +}; +impl kernel_pkey_params { + #[inline] + pub fn op(&self) -> kernel_pkey_operation { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_op(&mut self, val: kernel_pkey_operation) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn op_raw(this: *const Self) -> kernel_pkey_operation { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_op_raw(this: *mut Self, val: kernel_pkey_operation) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(op: kernel_pkey_operation) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let op: u32 = unsafe { ::core::mem::transmute(op) }; + op as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_pkey_query { + pub supported_ops: __u32, + pub key_size: __u32, + pub max_data_size: __u16, + pub max_sig_size: __u16, + pub max_enc_size: __u16, + pub max_dec_size: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_pkey_query"][::core::mem::size_of::() - 16usize]; + ["Alignment of kernel_pkey_query"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kernel_pkey_query::supported_ops"] + [::core::mem::offset_of!(kernel_pkey_query, supported_ops) - 0usize]; + ["Offset of field: kernel_pkey_query::key_size"] + [::core::mem::offset_of!(kernel_pkey_query, key_size) - 4usize]; + ["Offset of field: kernel_pkey_query::max_data_size"] + [::core::mem::offset_of!(kernel_pkey_query, max_data_size) - 8usize]; + ["Offset of field: kernel_pkey_query::max_sig_size"] + [::core::mem::offset_of!(kernel_pkey_query, max_sig_size) - 10usize]; + ["Offset of field: kernel_pkey_query::max_enc_size"] + [::core::mem::offset_of!(kernel_pkey_query, max_enc_size) - 12usize]; + ["Offset of field: kernel_pkey_query::max_dec_size"] + [::core::mem::offset_of!(kernel_pkey_query, max_dec_size) - 14usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernel_siginfo { + pub __bindgen_anon_1: kernel_siginfo__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernel_siginfo__bindgen_ty_1 { + pub si_signo: ::core::ffi::c_int, + pub si_errno: ::core::ffi::c_int, + pub si_code: ::core::ffi::c_int, + pub _sifields: __sifields, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_siginfo__bindgen_ty_1"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of kernel_siginfo__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: kernel_siginfo__bindgen_ty_1::si_signo"] + [::core::mem::offset_of!(kernel_siginfo__bindgen_ty_1, si_signo) - 0usize]; + ["Offset of field: kernel_siginfo__bindgen_ty_1::si_errno"] + [::core::mem::offset_of!(kernel_siginfo__bindgen_ty_1, si_errno) - 4usize]; + ["Offset of field: kernel_siginfo__bindgen_ty_1::si_code"] + [::core::mem::offset_of!(kernel_siginfo__bindgen_ty_1, si_code) - 8usize]; + ["Offset of field: kernel_siginfo__bindgen_ty_1::_sifields"] + [::core::mem::offset_of!(kernel_siginfo__bindgen_ty_1, _sifields) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_siginfo"][::core::mem::size_of::() - 48usize]; + ["Alignment of kernel_siginfo"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernel_symbol { + pub value_offset: ::core::ffi::c_int, + pub name_offset: ::core::ffi::c_int, + pub namespace_offset: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernel_symbol"][::core::mem::size_of::() - 12usize]; + ["Alignment of kernel_symbol"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kernel_symbol::value_offset"] + [::core::mem::offset_of!(kernel_symbol, value_offset) - 0usize]; + ["Offset of field: kernel_symbol::name_offset"] + [::core::mem::offset_of!(kernel_symbol, name_offset) - 4usize]; + ["Offset of field: kernel_symbol::namespace_offset"] + [::core::mem::offset_of!(kernel_symbol, namespace_offset) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernfs_elem_attr { + pub ops: *const kernfs_ops, + pub open: *mut kernfs_open_node, + pub size: loff_t, + pub notify_next: *mut kernfs_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_elem_attr"][::core::mem::size_of::() - 32usize]; + ["Alignment of kernfs_elem_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_elem_attr::ops"] + [::core::mem::offset_of!(kernfs_elem_attr, ops) - 0usize]; + ["Offset of field: kernfs_elem_attr::open"] + [::core::mem::offset_of!(kernfs_elem_attr, open) - 8usize]; + ["Offset of field: kernfs_elem_attr::size"] + [::core::mem::offset_of!(kernfs_elem_attr, size) - 16usize]; + ["Offset of field: kernfs_elem_attr::notify_next"] + [::core::mem::offset_of!(kernfs_elem_attr, notify_next) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernfs_elem_dir { + pub subdirs: ::core::ffi::c_ulong, + pub children: rb_root, + pub root: *mut kernfs_root, + pub rev: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_elem_dir"][::core::mem::size_of::() - 32usize]; + ["Alignment of kernfs_elem_dir"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_elem_dir::subdirs"] + [::core::mem::offset_of!(kernfs_elem_dir, subdirs) - 0usize]; + ["Offset of field: kernfs_elem_dir::children"] + [::core::mem::offset_of!(kernfs_elem_dir, children) - 8usize]; + ["Offset of field: kernfs_elem_dir::root"] + [::core::mem::offset_of!(kernfs_elem_dir, root) - 16usize]; + ["Offset of field: kernfs_elem_dir::rev"] + [::core::mem::offset_of!(kernfs_elem_dir, rev) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernfs_elem_symlink { + pub target_kn: *mut kernfs_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_elem_symlink"][::core::mem::size_of::() - 8usize]; + ["Alignment of kernfs_elem_symlink"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_elem_symlink::target_kn"] + [::core::mem::offset_of!(kernfs_elem_symlink, target_kn) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct simple_xattrs { + pub rb_root: rb_root, + pub lock: rwlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of simple_xattrs"][::core::mem::size_of::() - 16usize]; + ["Alignment of simple_xattrs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: simple_xattrs::rb_root"] + [::core::mem::offset_of!(simple_xattrs, rb_root) - 0usize]; + ["Offset of field: simple_xattrs::lock"][::core::mem::offset_of!(simple_xattrs, lock) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernfs_iattrs { + pub ia_uid: kuid_t, + pub ia_gid: kgid_t, + pub ia_atime: timespec64, + pub ia_mtime: timespec64, + pub ia_ctime: timespec64, + pub xattrs: simple_xattrs, + pub nr_user_xattrs: atomic_t, + pub user_xattr_size: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_iattrs"][::core::mem::size_of::() - 80usize]; + ["Alignment of kernfs_iattrs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_iattrs::ia_uid"] + [::core::mem::offset_of!(kernfs_iattrs, ia_uid) - 0usize]; + ["Offset of field: kernfs_iattrs::ia_gid"] + [::core::mem::offset_of!(kernfs_iattrs, ia_gid) - 4usize]; + ["Offset of field: kernfs_iattrs::ia_atime"] + [::core::mem::offset_of!(kernfs_iattrs, ia_atime) - 8usize]; + ["Offset of field: kernfs_iattrs::ia_mtime"] + [::core::mem::offset_of!(kernfs_iattrs, ia_mtime) - 24usize]; + ["Offset of field: kernfs_iattrs::ia_ctime"] + [::core::mem::offset_of!(kernfs_iattrs, ia_ctime) - 40usize]; + ["Offset of field: kernfs_iattrs::xattrs"] + [::core::mem::offset_of!(kernfs_iattrs, xattrs) - 56usize]; + ["Offset of field: kernfs_iattrs::nr_user_xattrs"] + [::core::mem::offset_of!(kernfs_iattrs, nr_user_xattrs) - 72usize]; + ["Offset of field: kernfs_iattrs::user_xattr_size"] + [::core::mem::offset_of!(kernfs_iattrs, user_xattr_size) - 76usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernfs_node { + pub count: atomic_t, + pub active: atomic_t, + pub parent: *mut kernfs_node, + pub name: *const ::core::ffi::c_char, + pub rb: rb_node, + pub ns: *const ::core::ffi::c_void, + pub hash: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_ushort, + pub mode: umode_t, + pub __bindgen_anon_1: kernfs_node__bindgen_ty_1, + pub id: u64_, + pub priv_: *mut ::core::ffi::c_void, + pub iattr: *mut kernfs_iattrs, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union kernfs_node__bindgen_ty_1 { + pub dir: kernfs_elem_dir, + pub symlink: kernfs_elem_symlink, + pub attr: kernfs_elem_attr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_node__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of kernfs_node__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_node__bindgen_ty_1::dir"] + [::core::mem::offset_of!(kernfs_node__bindgen_ty_1, dir) - 0usize]; + ["Offset of field: kernfs_node__bindgen_ty_1::symlink"] + [::core::mem::offset_of!(kernfs_node__bindgen_ty_1, symlink) - 0usize]; + ["Offset of field: kernfs_node__bindgen_ty_1::attr"] + [::core::mem::offset_of!(kernfs_node__bindgen_ty_1, attr) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_node"][::core::mem::size_of::() - 136usize]; + ["Alignment of kernfs_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_node::count"][::core::mem::offset_of!(kernfs_node, count) - 0usize]; + ["Offset of field: kernfs_node::active"][::core::mem::offset_of!(kernfs_node, active) - 4usize]; + ["Offset of field: kernfs_node::parent"][::core::mem::offset_of!(kernfs_node, parent) - 8usize]; + ["Offset of field: kernfs_node::name"][::core::mem::offset_of!(kernfs_node, name) - 16usize]; + ["Offset of field: kernfs_node::rb"][::core::mem::offset_of!(kernfs_node, rb) - 24usize]; + ["Offset of field: kernfs_node::ns"][::core::mem::offset_of!(kernfs_node, ns) - 48usize]; + ["Offset of field: kernfs_node::hash"][::core::mem::offset_of!(kernfs_node, hash) - 56usize]; + ["Offset of field: kernfs_node::flags"][::core::mem::offset_of!(kernfs_node, flags) - 60usize]; + ["Offset of field: kernfs_node::mode"][::core::mem::offset_of!(kernfs_node, mode) - 62usize]; + ["Offset of field: kernfs_node::id"][::core::mem::offset_of!(kernfs_node, id) - 96usize]; + ["Offset of field: kernfs_node::priv_"][::core::mem::offset_of!(kernfs_node, priv_) - 104usize]; + ["Offset of field: kernfs_node::iattr"][::core::mem::offset_of!(kernfs_node, iattr) - 112usize]; + ["Offset of field: kernfs_node::rcu"][::core::mem::offset_of!(kernfs_node, rcu) - 120usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernfs_open_file { + pub kn: *mut kernfs_node, + pub file: *mut file, + pub seq_file: *mut seq_file, + pub priv_: *mut ::core::ffi::c_void, + pub mutex: mutex, + pub prealloc_mutex: mutex, + pub event: ::core::ffi::c_int, + pub list: list_head, + pub prealloc_buf: *mut ::core::ffi::c_char, + pub atomic_write_len: usize, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub vm_ops: *const vm_operations_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_open_file"][::core::mem::size_of::() - 152usize]; + ["Alignment of kernfs_open_file"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_open_file::kn"] + [::core::mem::offset_of!(kernfs_open_file, kn) - 0usize]; + ["Offset of field: kernfs_open_file::file"] + [::core::mem::offset_of!(kernfs_open_file, file) - 8usize]; + ["Offset of field: kernfs_open_file::seq_file"] + [::core::mem::offset_of!(kernfs_open_file, seq_file) - 16usize]; + ["Offset of field: kernfs_open_file::priv_"] + [::core::mem::offset_of!(kernfs_open_file, priv_) - 24usize]; + ["Offset of field: kernfs_open_file::mutex"] + [::core::mem::offset_of!(kernfs_open_file, mutex) - 32usize]; + ["Offset of field: kernfs_open_file::prealloc_mutex"] + [::core::mem::offset_of!(kernfs_open_file, prealloc_mutex) - 64usize]; + ["Offset of field: kernfs_open_file::event"] + [::core::mem::offset_of!(kernfs_open_file, event) - 96usize]; + ["Offset of field: kernfs_open_file::list"] + [::core::mem::offset_of!(kernfs_open_file, list) - 104usize]; + ["Offset of field: kernfs_open_file::prealloc_buf"] + [::core::mem::offset_of!(kernfs_open_file, prealloc_buf) - 120usize]; + ["Offset of field: kernfs_open_file::atomic_write_len"] + [::core::mem::offset_of!(kernfs_open_file, atomic_write_len) - 128usize]; + ["Offset of field: kernfs_open_file::vm_ops"] + [::core::mem::offset_of!(kernfs_open_file, vm_ops) - 144usize]; +}; +impl kernfs_open_file { + #[inline] + pub fn mmapped(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_mmapped(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mmapped_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_mmapped_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn released(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_released(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn released_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_released_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(mmapped: bool_, released: bool_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let mmapped: u8 = unsafe { ::core::mem::transmute(mmapped) }; + mmapped as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let released: u8 = unsafe { ::core::mem::transmute(released) }; + released as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernfs_open_node { + pub callback_head: callback_head, + pub event: atomic_t, + pub poll: wait_queue_head_t, + pub files: list_head, + pub nr_mmapped: ::core::ffi::c_uint, + pub nr_to_release: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_open_node"][::core::mem::size_of::() - 72usize]; + ["Alignment of kernfs_open_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_open_node::callback_head"] + [::core::mem::offset_of!(kernfs_open_node, callback_head) - 0usize]; + ["Offset of field: kernfs_open_node::event"] + [::core::mem::offset_of!(kernfs_open_node, event) - 16usize]; + ["Offset of field: kernfs_open_node::poll"] + [::core::mem::offset_of!(kernfs_open_node, poll) - 24usize]; + ["Offset of field: kernfs_open_node::files"] + [::core::mem::offset_of!(kernfs_open_node, files) - 48usize]; + ["Offset of field: kernfs_open_node::nr_mmapped"] + [::core::mem::offset_of!(kernfs_open_node, nr_mmapped) - 64usize]; + ["Offset of field: kernfs_open_node::nr_to_release"] + [::core::mem::offset_of!(kernfs_open_node, nr_to_release) - 68usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernfs_ops { + pub open: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kernfs_open_file) -> ::core::ffi::c_int, + >, + pub release: ::core::option::Option, + pub seq_show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub seq_start: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut loff_t) -> *mut ::core::ffi::c_void, + >, + pub seq_next: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + arg3: *mut loff_t, + ) -> *mut ::core::ffi::c_void, + >, + pub seq_stop: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut ::core::ffi::c_void), + >, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernfs_open_file, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + arg4: loff_t, + ) -> isize, + >, + pub atomic_write_len: usize, + pub prealloc: bool_, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernfs_open_file, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + arg4: loff_t, + ) -> isize, + >, + pub poll: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kernfs_open_file, arg2: *mut poll_table_struct) -> __poll_t, + >, + pub mmap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernfs_open_file, + arg2: *mut vm_area_struct, + ) -> ::core::ffi::c_int, + >, + pub llseek: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernfs_open_file, + arg2: loff_t, + arg3: ::core::ffi::c_int, + ) -> loff_t, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_ops"][::core::mem::size_of::() - 104usize]; + ["Alignment of kernfs_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_ops::open"][::core::mem::offset_of!(kernfs_ops, open) - 0usize]; + ["Offset of field: kernfs_ops::release"][::core::mem::offset_of!(kernfs_ops, release) - 8usize]; + ["Offset of field: kernfs_ops::seq_show"] + [::core::mem::offset_of!(kernfs_ops, seq_show) - 16usize]; + ["Offset of field: kernfs_ops::seq_start"] + [::core::mem::offset_of!(kernfs_ops, seq_start) - 24usize]; + ["Offset of field: kernfs_ops::seq_next"] + [::core::mem::offset_of!(kernfs_ops, seq_next) - 32usize]; + ["Offset of field: kernfs_ops::seq_stop"] + [::core::mem::offset_of!(kernfs_ops, seq_stop) - 40usize]; + ["Offset of field: kernfs_ops::read"][::core::mem::offset_of!(kernfs_ops, read) - 48usize]; + ["Offset of field: kernfs_ops::atomic_write_len"] + [::core::mem::offset_of!(kernfs_ops, atomic_write_len) - 56usize]; + ["Offset of field: kernfs_ops::prealloc"] + [::core::mem::offset_of!(kernfs_ops, prealloc) - 64usize]; + ["Offset of field: kernfs_ops::write"][::core::mem::offset_of!(kernfs_ops, write) - 72usize]; + ["Offset of field: kernfs_ops::poll"][::core::mem::offset_of!(kernfs_ops, poll) - 80usize]; + ["Offset of field: kernfs_ops::mmap"][::core::mem::offset_of!(kernfs_ops, mmap) - 88usize]; + ["Offset of field: kernfs_ops::llseek"][::core::mem::offset_of!(kernfs_ops, llseek) - 96usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kernfs_root { + pub kn: *mut kernfs_node, + pub flags: ::core::ffi::c_uint, + pub ino_idr: idr, + pub last_id_lowbits: u32_, + pub id_highbits: u32_, + pub syscall_ops: *mut kernfs_syscall_ops, + pub supers: list_head, + pub deactivate_waitq: wait_queue_head_t, + pub kernfs_rwsem: rw_semaphore, + pub kernfs_iattr_rwsem: rw_semaphore, + pub kernfs_supers_rwsem: rw_semaphore, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_root"][::core::mem::size_of::() - 232usize]; + ["Alignment of kernfs_root"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_root::kn"][::core::mem::offset_of!(kernfs_root, kn) - 0usize]; + ["Offset of field: kernfs_root::flags"][::core::mem::offset_of!(kernfs_root, flags) - 8usize]; + ["Offset of field: kernfs_root::ino_idr"] + [::core::mem::offset_of!(kernfs_root, ino_idr) - 16usize]; + ["Offset of field: kernfs_root::last_id_lowbits"] + [::core::mem::offset_of!(kernfs_root, last_id_lowbits) - 40usize]; + ["Offset of field: kernfs_root::id_highbits"] + [::core::mem::offset_of!(kernfs_root, id_highbits) - 44usize]; + ["Offset of field: kernfs_root::syscall_ops"] + [::core::mem::offset_of!(kernfs_root, syscall_ops) - 48usize]; + ["Offset of field: kernfs_root::supers"] + [::core::mem::offset_of!(kernfs_root, supers) - 56usize]; + ["Offset of field: kernfs_root::deactivate_waitq"] + [::core::mem::offset_of!(kernfs_root, deactivate_waitq) - 72usize]; + ["Offset of field: kernfs_root::kernfs_rwsem"] + [::core::mem::offset_of!(kernfs_root, kernfs_rwsem) - 96usize]; + ["Offset of field: kernfs_root::kernfs_iattr_rwsem"] + [::core::mem::offset_of!(kernfs_root, kernfs_iattr_rwsem) - 136usize]; + ["Offset of field: kernfs_root::kernfs_supers_rwsem"] + [::core::mem::offset_of!(kernfs_root, kernfs_supers_rwsem) - 176usize]; + ["Offset of field: kernfs_root::rcu"][::core::mem::offset_of!(kernfs_root, rcu) - 216usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kernfs_syscall_ops { + pub show_options: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut kernfs_root) -> ::core::ffi::c_int, + >, + pub mkdir: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernfs_node, + arg2: *const ::core::ffi::c_char, + arg3: umode_t, + ) -> ::core::ffi::c_int, + >, + pub rmdir: + ::core::option::Option ::core::ffi::c_int>, + pub rename: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernfs_node, + arg2: *mut kernfs_node, + arg3: *const ::core::ffi::c_char, + ) -> ::core::ffi::c_int, + >, + pub show_path: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut kernfs_node, + arg3: *mut kernfs_root, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kernfs_syscall_ops"][::core::mem::size_of::() - 40usize]; + ["Alignment of kernfs_syscall_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kernfs_syscall_ops::show_options"] + [::core::mem::offset_of!(kernfs_syscall_ops, show_options) - 0usize]; + ["Offset of field: kernfs_syscall_ops::mkdir"] + [::core::mem::offset_of!(kernfs_syscall_ops, mkdir) - 8usize]; + ["Offset of field: kernfs_syscall_ops::rmdir"] + [::core::mem::offset_of!(kernfs_syscall_ops, rmdir) - 16usize]; + ["Offset of field: kernfs_syscall_ops::rename"] + [::core::mem::offset_of!(kernfs_syscall_ops, rename) - 24usize]; + ["Offset of field: kernfs_syscall_ops::show_path"] + [::core::mem::offset_of!(kernfs_syscall_ops, show_path) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct keyring_index_key { + pub hash: ::core::ffi::c_ulong, + pub __bindgen_anon_1: keyring_index_key__bindgen_ty_1, + pub type_: *mut key_type, + pub domain_tag: *mut key_tag, + pub description: *const ::core::ffi::c_char, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union keyring_index_key__bindgen_ty_1 { + pub __bindgen_anon_1: keyring_index_key__bindgen_ty_1__bindgen_ty_1, + pub x: ::core::ffi::c_ulong, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct keyring_index_key__bindgen_ty_1__bindgen_ty_1 { + pub desc_len: u16_, + pub desc: [::core::ffi::c_char; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of keyring_index_key__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of keyring_index_key__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: keyring_index_key__bindgen_ty_1__bindgen_ty_1::desc_len"] + [::core::mem::offset_of!(keyring_index_key__bindgen_ty_1__bindgen_ty_1, desc_len) - 0usize]; + ["Offset of field: keyring_index_key__bindgen_ty_1__bindgen_ty_1::desc"] + [::core::mem::offset_of!(keyring_index_key__bindgen_ty_1__bindgen_ty_1, desc) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of keyring_index_key__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of keyring_index_key__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: keyring_index_key__bindgen_ty_1::x"] + [::core::mem::offset_of!(keyring_index_key__bindgen_ty_1, x) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of keyring_index_key"][::core::mem::size_of::() - 40usize]; + ["Alignment of keyring_index_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: keyring_index_key::hash"] + [::core::mem::offset_of!(keyring_index_key, hash) - 0usize]; + ["Offset of field: keyring_index_key::type_"] + [::core::mem::offset_of!(keyring_index_key, type_) - 16usize]; + ["Offset of field: keyring_index_key::domain_tag"] + [::core::mem::offset_of!(keyring_index_key, domain_tag) - 24usize]; + ["Offset of field: keyring_index_key::description"] + [::core::mem::offset_of!(keyring_index_key, description) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union key_payload { + pub rcu_data0: *mut ::core::ffi::c_void, + pub data: [*mut ::core::ffi::c_void; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_payload"][::core::mem::size_of::() - 32usize]; + ["Alignment of key_payload"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key_payload::rcu_data0"] + [::core::mem::offset_of!(key_payload, rcu_data0) - 0usize]; + ["Offset of field: key_payload::data"][::core::mem::offset_of!(key_payload, data) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct key { + pub usage: refcount_t, + pub serial: key_serial_t, + pub __bindgen_anon_1: key__bindgen_ty_1, + pub watchers: *mut watch_list, + pub sem: rw_semaphore, + pub user: *mut key_user, + pub security: *mut ::core::ffi::c_void, + pub __bindgen_anon_2: key__bindgen_ty_2, + pub last_used_at: time64_t, + pub uid: kuid_t, + pub gid: kgid_t, + pub perm: key_perm_t, + pub quotalen: ::core::ffi::c_ushort, + pub datalen: ::core::ffi::c_ushort, + pub state: ::core::ffi::c_short, + pub flags: ::core::ffi::c_ulong, + pub __bindgen_anon_3: key__bindgen_ty_3, + pub __bindgen_anon_4: key__bindgen_ty_4, + pub restrict_link: *mut key_restriction, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union key__bindgen_ty_1 { + pub graveyard_link: list_head, + pub serial_node: rb_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of key__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key__bindgen_ty_1::graveyard_link"] + [::core::mem::offset_of!(key__bindgen_ty_1, graveyard_link) - 0usize]; + ["Offset of field: key__bindgen_ty_1::serial_node"] + [::core::mem::offset_of!(key__bindgen_ty_1, serial_node) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union key__bindgen_ty_2 { + pub expiry: time64_t, + pub revoked_at: time64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key__bindgen_ty_2"][::core::mem::size_of::() - 8usize]; + ["Alignment of key__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key__bindgen_ty_2::expiry"] + [::core::mem::offset_of!(key__bindgen_ty_2, expiry) - 0usize]; + ["Offset of field: key__bindgen_ty_2::revoked_at"] + [::core::mem::offset_of!(key__bindgen_ty_2, revoked_at) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union key__bindgen_ty_3 { + pub index_key: keyring_index_key, + pub __bindgen_anon_1: key__bindgen_ty_3__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct key__bindgen_ty_3__bindgen_ty_1 { + pub hash: ::core::ffi::c_ulong, + pub len_desc: ::core::ffi::c_ulong, + pub type_: *mut key_type, + pub domain_tag: *mut key_tag, + pub description: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of key__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: key__bindgen_ty_3__bindgen_ty_1::hash"] + [::core::mem::offset_of!(key__bindgen_ty_3__bindgen_ty_1, hash) - 0usize]; + ["Offset of field: key__bindgen_ty_3__bindgen_ty_1::len_desc"] + [::core::mem::offset_of!(key__bindgen_ty_3__bindgen_ty_1, len_desc) - 8usize]; + ["Offset of field: key__bindgen_ty_3__bindgen_ty_1::type_"] + [::core::mem::offset_of!(key__bindgen_ty_3__bindgen_ty_1, type_) - 16usize]; + ["Offset of field: key__bindgen_ty_3__bindgen_ty_1::domain_tag"] + [::core::mem::offset_of!(key__bindgen_ty_3__bindgen_ty_1, domain_tag) - 24usize]; + ["Offset of field: key__bindgen_ty_3__bindgen_ty_1::description"] + [::core::mem::offset_of!(key__bindgen_ty_3__bindgen_ty_1, description) - 32usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key__bindgen_ty_3"][::core::mem::size_of::() - 40usize]; + ["Alignment of key__bindgen_ty_3"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key__bindgen_ty_3::index_key"] + [::core::mem::offset_of!(key__bindgen_ty_3, index_key) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union key__bindgen_ty_4 { + pub payload: key_payload, + pub __bindgen_anon_1: key__bindgen_ty_4__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct key__bindgen_ty_4__bindgen_ty_1 { + pub name_link: list_head, + pub keys: assoc_array, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of key__bindgen_ty_4__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: key__bindgen_ty_4__bindgen_ty_1::name_link"] + [::core::mem::offset_of!(key__bindgen_ty_4__bindgen_ty_1, name_link) - 0usize]; + ["Offset of field: key__bindgen_ty_4__bindgen_ty_1::keys"] + [::core::mem::offset_of!(key__bindgen_ty_4__bindgen_ty_1, keys) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key__bindgen_ty_4"][::core::mem::size_of::() - 32usize]; + ["Alignment of key__bindgen_ty_4"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key__bindgen_ty_4::payload"] + [::core::mem::offset_of!(key__bindgen_ty_4, payload) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key"][::core::mem::size_of::() - 224usize]; + ["Alignment of key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key::usage"][::core::mem::offset_of!(key, usage) - 0usize]; + ["Offset of field: key::serial"][::core::mem::offset_of!(key, serial) - 4usize]; + ["Offset of field: key::watchers"][::core::mem::offset_of!(key, watchers) - 32usize]; + ["Offset of field: key::sem"][::core::mem::offset_of!(key, sem) - 40usize]; + ["Offset of field: key::user"][::core::mem::offset_of!(key, user) - 80usize]; + ["Offset of field: key::security"][::core::mem::offset_of!(key, security) - 88usize]; + ["Offset of field: key::last_used_at"][::core::mem::offset_of!(key, last_used_at) - 104usize]; + ["Offset of field: key::uid"][::core::mem::offset_of!(key, uid) - 112usize]; + ["Offset of field: key::gid"][::core::mem::offset_of!(key, gid) - 116usize]; + ["Offset of field: key::perm"][::core::mem::offset_of!(key, perm) - 120usize]; + ["Offset of field: key::quotalen"][::core::mem::offset_of!(key, quotalen) - 124usize]; + ["Offset of field: key::datalen"][::core::mem::offset_of!(key, datalen) - 126usize]; + ["Offset of field: key::state"][::core::mem::offset_of!(key, state) - 128usize]; + ["Offset of field: key::flags"][::core::mem::offset_of!(key, flags) - 136usize]; + ["Offset of field: key::restrict_link"][::core::mem::offset_of!(key, restrict_link) - 216usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct key_match_data { + pub cmp: ::core::option::Option< + unsafe extern "C" fn(arg1: *const key, arg2: *const key_match_data) -> bool_, + >, + pub raw_data: *const ::core::ffi::c_void, + pub preparsed: *mut ::core::ffi::c_void, + pub lookup_type: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_match_data"][::core::mem::size_of::() - 32usize]; + ["Alignment of key_match_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key_match_data::cmp"][::core::mem::offset_of!(key_match_data, cmp) - 0usize]; + ["Offset of field: key_match_data::raw_data"] + [::core::mem::offset_of!(key_match_data, raw_data) - 8usize]; + ["Offset of field: key_match_data::preparsed"] + [::core::mem::offset_of!(key_match_data, preparsed) - 16usize]; + ["Offset of field: key_match_data::lookup_type"] + [::core::mem::offset_of!(key_match_data, lookup_type) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct key_params { + pub key: *const u8_, + pub seq: *const u8_, + pub key_len: ::core::ffi::c_int, + pub seq_len: ::core::ffi::c_int, + pub vlan_id: u16_, + pub cipher: u32_, + pub mode: nl80211_key_mode, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_params"][::core::mem::size_of::() - 40usize]; + ["Alignment of key_params"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key_params::key"][::core::mem::offset_of!(key_params, key) - 0usize]; + ["Offset of field: key_params::seq"][::core::mem::offset_of!(key_params, seq) - 8usize]; + ["Offset of field: key_params::key_len"] + [::core::mem::offset_of!(key_params, key_len) - 16usize]; + ["Offset of field: key_params::seq_len"] + [::core::mem::offset_of!(key_params, seq_len) - 20usize]; + ["Offset of field: key_params::vlan_id"] + [::core::mem::offset_of!(key_params, vlan_id) - 24usize]; + ["Offset of field: key_params::cipher"][::core::mem::offset_of!(key_params, cipher) - 28usize]; + ["Offset of field: key_params::mode"][::core::mem::offset_of!(key_params, mode) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct key_preparsed_payload { + pub orig_description: *const ::core::ffi::c_char, + pub description: *mut ::core::ffi::c_char, + pub payload: key_payload, + pub data: *const ::core::ffi::c_void, + pub datalen: usize, + pub quotalen: usize, + pub expiry: time64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_preparsed_payload"][::core::mem::size_of::() - 80usize]; + ["Alignment of key_preparsed_payload"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: key_preparsed_payload::orig_description"] + [::core::mem::offset_of!(key_preparsed_payload, orig_description) - 0usize]; + ["Offset of field: key_preparsed_payload::description"] + [::core::mem::offset_of!(key_preparsed_payload, description) - 8usize]; + ["Offset of field: key_preparsed_payload::payload"] + [::core::mem::offset_of!(key_preparsed_payload, payload) - 16usize]; + ["Offset of field: key_preparsed_payload::data"] + [::core::mem::offset_of!(key_preparsed_payload, data) - 48usize]; + ["Offset of field: key_preparsed_payload::datalen"] + [::core::mem::offset_of!(key_preparsed_payload, datalen) - 56usize]; + ["Offset of field: key_preparsed_payload::quotalen"] + [::core::mem::offset_of!(key_preparsed_payload, quotalen) - 64usize]; + ["Offset of field: key_preparsed_payload::expiry"] + [::core::mem::offset_of!(key_preparsed_payload, expiry) - 72usize]; +}; +pub type key_restrict_link_func_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut key, + arg2: *const key_type, + arg3: *const key_payload, + arg4: *mut key, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct key_restriction { + pub check: key_restrict_link_func_t, + pub key: *mut key, + pub keytype: *mut key_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_restriction"][::core::mem::size_of::() - 24usize]; + ["Alignment of key_restriction"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key_restriction::check"] + [::core::mem::offset_of!(key_restriction, check) - 0usize]; + ["Offset of field: key_restriction::key"] + [::core::mem::offset_of!(key_restriction, key) - 8usize]; + ["Offset of field: key_restriction::keytype"] + [::core::mem::offset_of!(key_restriction, keytype) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct key_tag { + pub rcu: callback_head, + pub usage: refcount_t, + pub removed: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_tag"][::core::mem::size_of::() - 24usize]; + ["Alignment of key_tag"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key_tag::rcu"][::core::mem::offset_of!(key_tag, rcu) - 0usize]; + ["Offset of field: key_tag::usage"][::core::mem::offset_of!(key_tag, usage) - 16usize]; + ["Offset of field: key_tag::removed"][::core::mem::offset_of!(key_tag, removed) - 20usize]; +}; +pub type request_key_actor_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut key, arg2: *mut ::core::ffi::c_void) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct key_type { + pub name: *const ::core::ffi::c_char, + pub def_datalen: usize, + pub flags: ::core::ffi::c_uint, + pub vet_description: ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_int, + >, + pub preparse: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut key_preparsed_payload) -> ::core::ffi::c_int, + >, + pub free_preparse: + ::core::option::Option, + pub instantiate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut key, + arg2: *mut key_preparsed_payload, + ) -> ::core::ffi::c_int, + >, + pub update: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut key, + arg2: *mut key_preparsed_payload, + ) -> ::core::ffi::c_int, + >, + pub match_preparse: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut key_match_data) -> ::core::ffi::c_int, + >, + pub match_free: ::core::option::Option, + pub revoke: ::core::option::Option, + pub destroy: ::core::option::Option, + pub describe: + ::core::option::Option, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const key, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + ) -> ::core::ffi::c_long, + >, + pub request_key: request_key_actor_t, + pub lookup_restriction: ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_char) -> *mut key_restriction, + >, + pub asym_query: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const kernel_pkey_params, + arg2: *mut kernel_pkey_query, + ) -> ::core::ffi::c_int, + >, + pub asym_eds_op: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernel_pkey_params, + arg2: *const ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub asym_verify_signature: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kernel_pkey_params, + arg2: *const ::core::ffi::c_void, + arg3: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub link: list_head, + pub lock_class: lock_class_key, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_type"][::core::mem::size_of::() - 168usize]; + ["Alignment of key_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key_type::name"][::core::mem::offset_of!(key_type, name) - 0usize]; + ["Offset of field: key_type::def_datalen"] + [::core::mem::offset_of!(key_type, def_datalen) - 8usize]; + ["Offset of field: key_type::flags"][::core::mem::offset_of!(key_type, flags) - 16usize]; + ["Offset of field: key_type::vet_description"] + [::core::mem::offset_of!(key_type, vet_description) - 24usize]; + ["Offset of field: key_type::preparse"][::core::mem::offset_of!(key_type, preparse) - 32usize]; + ["Offset of field: key_type::free_preparse"] + [::core::mem::offset_of!(key_type, free_preparse) - 40usize]; + ["Offset of field: key_type::instantiate"] + [::core::mem::offset_of!(key_type, instantiate) - 48usize]; + ["Offset of field: key_type::update"][::core::mem::offset_of!(key_type, update) - 56usize]; + ["Offset of field: key_type::match_preparse"] + [::core::mem::offset_of!(key_type, match_preparse) - 64usize]; + ["Offset of field: key_type::match_free"] + [::core::mem::offset_of!(key_type, match_free) - 72usize]; + ["Offset of field: key_type::revoke"][::core::mem::offset_of!(key_type, revoke) - 80usize]; + ["Offset of field: key_type::destroy"][::core::mem::offset_of!(key_type, destroy) - 88usize]; + ["Offset of field: key_type::describe"][::core::mem::offset_of!(key_type, describe) - 96usize]; + ["Offset of field: key_type::read"][::core::mem::offset_of!(key_type, read) - 104usize]; + ["Offset of field: key_type::request_key"] + [::core::mem::offset_of!(key_type, request_key) - 112usize]; + ["Offset of field: key_type::lookup_restriction"] + [::core::mem::offset_of!(key_type, lookup_restriction) - 120usize]; + ["Offset of field: key_type::asym_query"] + [::core::mem::offset_of!(key_type, asym_query) - 128usize]; + ["Offset of field: key_type::asym_eds_op"] + [::core::mem::offset_of!(key_type, asym_eds_op) - 136usize]; + ["Offset of field: key_type::asym_verify_signature"] + [::core::mem::offset_of!(key_type, asym_verify_signature) - 144usize]; + ["Offset of field: key_type::link"][::core::mem::offset_of!(key_type, link) - 152usize]; + ["Offset of field: key_type::lock_class"] + [::core::mem::offset_of!(key_type, lock_class) - 168usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct key_user { + pub node: rb_node, + pub cons_lock: mutex, + pub lock: spinlock_t, + pub usage: refcount_t, + pub nkeys: atomic_t, + pub nikeys: atomic_t, + pub uid: kuid_t, + pub qnkeys: ::core::ffi::c_int, + pub qnbytes: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of key_user"][::core::mem::size_of::() - 88usize]; + ["Alignment of key_user"][::core::mem::align_of::() - 8usize]; + ["Offset of field: key_user::node"][::core::mem::offset_of!(key_user, node) - 0usize]; + ["Offset of field: key_user::cons_lock"] + [::core::mem::offset_of!(key_user, cons_lock) - 24usize]; + ["Offset of field: key_user::lock"][::core::mem::offset_of!(key_user, lock) - 56usize]; + ["Offset of field: key_user::usage"][::core::mem::offset_of!(key_user, usage) - 60usize]; + ["Offset of field: key_user::nkeys"][::core::mem::offset_of!(key_user, nkeys) - 64usize]; + ["Offset of field: key_user::nikeys"][::core::mem::offset_of!(key_user, nikeys) - 68usize]; + ["Offset of field: key_user::uid"][::core::mem::offset_of!(key_user, uid) - 72usize]; + ["Offset of field: key_user::qnkeys"][::core::mem::offset_of!(key_user, qnkeys) - 76usize]; + ["Offset of field: key_user::qnbytes"][::core::mem::offset_of!(key_user, qnbytes) - 80usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kioctx { + pub users: percpu_ref, + pub dead: atomic_t, + pub reqs: percpu_ref, + pub user_id: ::core::ffi::c_ulong, + pub cpu: *mut kioctx_cpu, + pub req_batch: ::core::ffi::c_uint, + pub max_reqs: ::core::ffi::c_uint, + pub nr_events: ::core::ffi::c_uint, + pub mmap_base: ::core::ffi::c_ulong, + pub mmap_size: ::core::ffi::c_ulong, + pub ring_folios: *mut *mut folio, + pub nr_pages: ::core::ffi::c_long, + pub free_rwork: rcu_work, + pub rq_wait: *mut ctx_rq_wait, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub __bindgen_anon_1: kioctx__bindgen_ty_1, + pub __bindgen_anon_2: kioctx__bindgen_ty_2, + pub __bindgen_anon_3: kioctx__bindgen_ty_3, + pub __bindgen_anon_4: kioctx__bindgen_ty_4, + pub internal_folios: [*mut folio; 8usize], + pub aio_ring_file: *mut file, + pub id: ::core::ffi::c_uint, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>, + pub __bindgen_padding_0: u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kioctx__bindgen_ty_1 { + pub reqs_available: atomic_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kioctx__bindgen_ty_1"][::core::mem::size_of::() - 64usize]; + ["Alignment of kioctx__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kioctx__bindgen_ty_1::reqs_available"] + [::core::mem::offset_of!(kioctx__bindgen_ty_1, reqs_available) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kioctx__bindgen_ty_2 { + pub ctx_lock: spinlock_t, + pub active_reqs: list_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kioctx__bindgen_ty_2"][::core::mem::size_of::() - 64usize]; + ["Alignment of kioctx__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kioctx__bindgen_ty_2::ctx_lock"] + [::core::mem::offset_of!(kioctx__bindgen_ty_2, ctx_lock) - 0usize]; + ["Offset of field: kioctx__bindgen_ty_2::active_reqs"] + [::core::mem::offset_of!(kioctx__bindgen_ty_2, active_reqs) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kioctx__bindgen_ty_3 { + pub ring_lock: mutex, + pub wait: wait_queue_head_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kioctx__bindgen_ty_3"][::core::mem::size_of::() - 64usize]; + ["Alignment of kioctx__bindgen_ty_3"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kioctx__bindgen_ty_3::ring_lock"] + [::core::mem::offset_of!(kioctx__bindgen_ty_3, ring_lock) - 0usize]; + ["Offset of field: kioctx__bindgen_ty_3::wait"] + [::core::mem::offset_of!(kioctx__bindgen_ty_3, wait) - 32usize]; +}; +impl kioctx__bindgen_ty_3 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kioctx__bindgen_ty_4 { + pub tail: ::core::ffi::c_uint, + pub completed_events: ::core::ffi::c_uint, + pub completion_lock: spinlock_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 48usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kioctx__bindgen_ty_4"][::core::mem::size_of::() - 64usize]; + ["Alignment of kioctx__bindgen_ty_4"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kioctx__bindgen_ty_4::tail"] + [::core::mem::offset_of!(kioctx__bindgen_ty_4, tail) - 0usize]; + ["Offset of field: kioctx__bindgen_ty_4::completed_events"] + [::core::mem::offset_of!(kioctx__bindgen_ty_4, completed_events) - 4usize]; + ["Offset of field: kioctx__bindgen_ty_4::completion_lock"] + [::core::mem::offset_of!(kioctx__bindgen_ty_4, completion_lock) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kioctx"][::core::mem::size_of::() - 576usize]; + ["Alignment of kioctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kioctx::users"][::core::mem::offset_of!(kioctx, users) - 0usize]; + ["Offset of field: kioctx::dead"][::core::mem::offset_of!(kioctx, dead) - 16usize]; + ["Offset of field: kioctx::reqs"][::core::mem::offset_of!(kioctx, reqs) - 24usize]; + ["Offset of field: kioctx::user_id"][::core::mem::offset_of!(kioctx, user_id) - 40usize]; + ["Offset of field: kioctx::cpu"][::core::mem::offset_of!(kioctx, cpu) - 48usize]; + ["Offset of field: kioctx::req_batch"][::core::mem::offset_of!(kioctx, req_batch) - 56usize]; + ["Offset of field: kioctx::max_reqs"][::core::mem::offset_of!(kioctx, max_reqs) - 60usize]; + ["Offset of field: kioctx::nr_events"][::core::mem::offset_of!(kioctx, nr_events) - 64usize]; + ["Offset of field: kioctx::mmap_base"][::core::mem::offset_of!(kioctx, mmap_base) - 72usize]; + ["Offset of field: kioctx::mmap_size"][::core::mem::offset_of!(kioctx, mmap_size) - 80usize]; + ["Offset of field: kioctx::ring_folios"] + [::core::mem::offset_of!(kioctx, ring_folios) - 88usize]; + ["Offset of field: kioctx::nr_pages"][::core::mem::offset_of!(kioctx, nr_pages) - 96usize]; + ["Offset of field: kioctx::free_rwork"][::core::mem::offset_of!(kioctx, free_rwork) - 104usize]; + ["Offset of field: kioctx::rq_wait"][::core::mem::offset_of!(kioctx, rq_wait) - 160usize]; + ["Offset of field: kioctx::internal_folios"] + [::core::mem::offset_of!(kioctx, internal_folios) - 448usize]; + ["Offset of field: kioctx::aio_ring_file"] + [::core::mem::offset_of!(kioctx, aio_ring_file) - 512usize]; + ["Offset of field: kioctx::id"][::core::mem::offset_of!(kioctx, id) - 520usize]; +}; +impl kioctx { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kioctx_cpu { + pub reqs_available: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kioctx_cpu"][::core::mem::size_of::() - 4usize]; + ["Alignment of kioctx_cpu"][::core::mem::align_of::() - 4usize]; + ["Offset of field: kioctx_cpu::reqs_available"] + [::core::mem::offset_of!(kioctx_cpu, reqs_available) - 0usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct kioctx_table { + pub rcu: callback_head, + pub nr: ::core::ffi::c_uint, + pub table: __IncompleteArrayField<*mut kioctx>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kioctx_table"][::core::mem::size_of::() - 24usize]; + ["Alignment of kioctx_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kioctx_table::rcu"][::core::mem::offset_of!(kioctx_table, rcu) - 0usize]; + ["Offset of field: kioctx_table::nr"][::core::mem::offset_of!(kioctx_table, nr) - 16usize]; + ["Offset of field: kioctx_table::table"] + [::core::mem::offset_of!(kioctx_table, table) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kmap_ctrl {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kmap_ctrl"][::core::mem::size_of::() - 0usize]; + ["Alignment of kmap_ctrl"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct reciprocal_value { + pub m: u32_, + pub sh1: u8_, + pub sh2: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of reciprocal_value"][::core::mem::size_of::() - 8usize]; + ["Alignment of reciprocal_value"][::core::mem::align_of::() - 4usize]; + ["Offset of field: reciprocal_value::m"][::core::mem::offset_of!(reciprocal_value, m) - 0usize]; + ["Offset of field: reciprocal_value::sh1"] + [::core::mem::offset_of!(reciprocal_value, sh1) - 4usize]; + ["Offset of field: reciprocal_value::sh2"] + [::core::mem::offset_of!(reciprocal_value, sh2) - 5usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kmem_cache_order_objects { + pub x: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kmem_cache_order_objects"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of kmem_cache_order_objects"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: kmem_cache_order_objects::x"] + [::core::mem::offset_of!(kmem_cache_order_objects, x) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kmem_cache { + pub cpu_slab: *mut kmem_cache_cpu, + pub flags: slab_flags_t, + pub min_partial: ::core::ffi::c_ulong, + pub size: ::core::ffi::c_uint, + pub object_size: ::core::ffi::c_uint, + pub reciprocal_size: reciprocal_value, + pub offset: ::core::ffi::c_uint, + pub cpu_partial: ::core::ffi::c_uint, + pub cpu_partial_slabs: ::core::ffi::c_uint, + pub oo: kmem_cache_order_objects, + pub min: kmem_cache_order_objects, + pub allocflags: gfp_t, + pub refcount: ::core::ffi::c_int, + pub ctor: ::core::option::Option, + pub inuse: ::core::ffi::c_uint, + pub align: ::core::ffi::c_uint, + pub red_left_pad: ::core::ffi::c_uint, + pub name: *const ::core::ffi::c_char, + pub list: list_head, + pub kobj: kobject, + pub random: ::core::ffi::c_ulong, + pub remote_node_defrag_ratio: ::core::ffi::c_uint, + pub random_seq: *mut ::core::ffi::c_uint, + pub useroffset: ::core::ffi::c_uint, + pub usersize: ::core::ffi::c_uint, + pub node: [*mut kmem_cache_node; 1024usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kmem_cache"][::core::mem::size_of::() - 8408usize]; + ["Alignment of kmem_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kmem_cache::cpu_slab"] + [::core::mem::offset_of!(kmem_cache, cpu_slab) - 0usize]; + ["Offset of field: kmem_cache::flags"][::core::mem::offset_of!(kmem_cache, flags) - 8usize]; + ["Offset of field: kmem_cache::min_partial"] + [::core::mem::offset_of!(kmem_cache, min_partial) - 16usize]; + ["Offset of field: kmem_cache::size"][::core::mem::offset_of!(kmem_cache, size) - 24usize]; + ["Offset of field: kmem_cache::object_size"] + [::core::mem::offset_of!(kmem_cache, object_size) - 28usize]; + ["Offset of field: kmem_cache::reciprocal_size"] + [::core::mem::offset_of!(kmem_cache, reciprocal_size) - 32usize]; + ["Offset of field: kmem_cache::offset"][::core::mem::offset_of!(kmem_cache, offset) - 40usize]; + ["Offset of field: kmem_cache::cpu_partial"] + [::core::mem::offset_of!(kmem_cache, cpu_partial) - 44usize]; + ["Offset of field: kmem_cache::cpu_partial_slabs"] + [::core::mem::offset_of!(kmem_cache, cpu_partial_slabs) - 48usize]; + ["Offset of field: kmem_cache::oo"][::core::mem::offset_of!(kmem_cache, oo) - 52usize]; + ["Offset of field: kmem_cache::min"][::core::mem::offset_of!(kmem_cache, min) - 56usize]; + ["Offset of field: kmem_cache::allocflags"] + [::core::mem::offset_of!(kmem_cache, allocflags) - 60usize]; + ["Offset of field: kmem_cache::refcount"] + [::core::mem::offset_of!(kmem_cache, refcount) - 64usize]; + ["Offset of field: kmem_cache::ctor"][::core::mem::offset_of!(kmem_cache, ctor) - 72usize]; + ["Offset of field: kmem_cache::inuse"][::core::mem::offset_of!(kmem_cache, inuse) - 80usize]; + ["Offset of field: kmem_cache::align"][::core::mem::offset_of!(kmem_cache, align) - 84usize]; + ["Offset of field: kmem_cache::red_left_pad"] + [::core::mem::offset_of!(kmem_cache, red_left_pad) - 88usize]; + ["Offset of field: kmem_cache::name"][::core::mem::offset_of!(kmem_cache, name) - 96usize]; + ["Offset of field: kmem_cache::list"][::core::mem::offset_of!(kmem_cache, list) - 104usize]; + ["Offset of field: kmem_cache::kobj"][::core::mem::offset_of!(kmem_cache, kobj) - 120usize]; + ["Offset of field: kmem_cache::random"][::core::mem::offset_of!(kmem_cache, random) - 184usize]; + ["Offset of field: kmem_cache::remote_node_defrag_ratio"] + [::core::mem::offset_of!(kmem_cache, remote_node_defrag_ratio) - 192usize]; + ["Offset of field: kmem_cache::random_seq"] + [::core::mem::offset_of!(kmem_cache, random_seq) - 200usize]; + ["Offset of field: kmem_cache::useroffset"] + [::core::mem::offset_of!(kmem_cache, useroffset) - 208usize]; + ["Offset of field: kmem_cache::usersize"] + [::core::mem::offset_of!(kmem_cache, usersize) - 212usize]; + ["Offset of field: kmem_cache::node"][::core::mem::offset_of!(kmem_cache, node) - 216usize]; +}; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct kmem_cache_cpu { + pub __bindgen_anon_1: kmem_cache_cpu__bindgen_ty_1, + pub slab: *mut slab, + pub partial: *mut slab, + pub lock: local_lock_t, +} +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union kmem_cache_cpu__bindgen_ty_1 { + pub __bindgen_anon_1: kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1, + pub freelist_tid: freelist_aba_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1 { + pub freelist: *mut *mut ::core::ffi::c_void, + pub tid: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1::freelist"] + [::core::mem::offset_of!(kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1, freelist) - 0usize]; + ["Offset of field: kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1::tid"] + [::core::mem::offset_of!(kmem_cache_cpu__bindgen_ty_1__bindgen_ty_1, tid) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kmem_cache_cpu__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of kmem_cache_cpu__bindgen_ty_1"] + [::core::mem::align_of::() - 16usize]; + ["Offset of field: kmem_cache_cpu__bindgen_ty_1::freelist_tid"] + [::core::mem::offset_of!(kmem_cache_cpu__bindgen_ty_1, freelist_tid) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kmem_cache_cpu"][::core::mem::size_of::() - 32usize]; + ["Alignment of kmem_cache_cpu"][::core::mem::align_of::() - 16usize]; + ["Offset of field: kmem_cache_cpu::slab"] + [::core::mem::offset_of!(kmem_cache_cpu, slab) - 16usize]; + ["Offset of field: kmem_cache_cpu::partial"] + [::core::mem::offset_of!(kmem_cache_cpu, partial) - 24usize]; + ["Offset of field: kmem_cache_cpu::lock"] + [::core::mem::offset_of!(kmem_cache_cpu, lock) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kmem_cache_node { + pub list_lock: spinlock_t, + pub nr_partial: ::core::ffi::c_ulong, + pub partial: list_head, + pub nr_slabs: atomic_long_t, + pub total_objects: atomic_long_t, + pub full: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kmem_cache_node"][::core::mem::size_of::() - 64usize]; + ["Alignment of kmem_cache_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kmem_cache_node::list_lock"] + [::core::mem::offset_of!(kmem_cache_node, list_lock) - 0usize]; + ["Offset of field: kmem_cache_node::nr_partial"] + [::core::mem::offset_of!(kmem_cache_node, nr_partial) - 8usize]; + ["Offset of field: kmem_cache_node::partial"] + [::core::mem::offset_of!(kmem_cache_node, partial) - 16usize]; + ["Offset of field: kmem_cache_node::nr_slabs"] + [::core::mem::offset_of!(kmem_cache_node, nr_slabs) - 32usize]; + ["Offset of field: kmem_cache_node::total_objects"] + [::core::mem::offset_of!(kmem_cache_node, total_objects) - 40usize]; + ["Offset of field: kmem_cache_node::full"] + [::core::mem::offset_of!(kmem_cache_node, full) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kobj_ns_type_operations { + pub type_: kobj_ns_type, + pub current_may_mount: ::core::option::Option bool_>, + pub grab_current_ns: ::core::option::Option *mut ::core::ffi::c_void>, + pub netlink_ns: + ::core::option::Option *const ::core::ffi::c_void>, + pub initial_ns: ::core::option::Option *const ::core::ffi::c_void>, + pub drop_ns: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kobj_ns_type_operations"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of kobj_ns_type_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: kobj_ns_type_operations::type_"] + [::core::mem::offset_of!(kobj_ns_type_operations, type_) - 0usize]; + ["Offset of field: kobj_ns_type_operations::current_may_mount"] + [::core::mem::offset_of!(kobj_ns_type_operations, current_may_mount) - 8usize]; + ["Offset of field: kobj_ns_type_operations::grab_current_ns"] + [::core::mem::offset_of!(kobj_ns_type_operations, grab_current_ns) - 16usize]; + ["Offset of field: kobj_ns_type_operations::netlink_ns"] + [::core::mem::offset_of!(kobj_ns_type_operations, netlink_ns) - 24usize]; + ["Offset of field: kobj_ns_type_operations::initial_ns"] + [::core::mem::offset_of!(kobj_ns_type_operations, initial_ns) - 32usize]; + ["Offset of field: kobj_ns_type_operations::drop_ns"] + [::core::mem::offset_of!(kobj_ns_type_operations, drop_ns) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kobj_uevent_env { + pub argv: [*mut ::core::ffi::c_char; 3usize], + pub envp: [*mut ::core::ffi::c_char; 64usize], + pub envp_idx: ::core::ffi::c_int, + pub buf: [::core::ffi::c_char; 2048usize], + pub buflen: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kobj_uevent_env"][::core::mem::size_of::() - 2592usize]; + ["Alignment of kobj_uevent_env"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kobj_uevent_env::argv"] + [::core::mem::offset_of!(kobj_uevent_env, argv) - 0usize]; + ["Offset of field: kobj_uevent_env::envp"] + [::core::mem::offset_of!(kobj_uevent_env, envp) - 24usize]; + ["Offset of field: kobj_uevent_env::envp_idx"] + [::core::mem::offset_of!(kobj_uevent_env, envp_idx) - 536usize]; + ["Offset of field: kobj_uevent_env::buf"] + [::core::mem::offset_of!(kobj_uevent_env, buf) - 540usize]; + ["Offset of field: kobj_uevent_env::buflen"] + [::core::mem::offset_of!(kobj_uevent_env, buflen) - 2588usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kparam_array { + pub max: ::core::ffi::c_uint, + pub elemsize: ::core::ffi::c_uint, + pub num: *mut ::core::ffi::c_uint, + pub ops: *const kernel_param_ops, + pub elem: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kparam_array"][::core::mem::size_of::() - 32usize]; + ["Alignment of kparam_array"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kparam_array::max"][::core::mem::offset_of!(kparam_array, max) - 0usize]; + ["Offset of field: kparam_array::elemsize"] + [::core::mem::offset_of!(kparam_array, elemsize) - 4usize]; + ["Offset of field: kparam_array::num"][::core::mem::offset_of!(kparam_array, num) - 8usize]; + ["Offset of field: kparam_array::ops"][::core::mem::offset_of!(kparam_array, ops) - 16usize]; + ["Offset of field: kparam_array::elem"][::core::mem::offset_of!(kparam_array, elem) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kparam_string { + pub maxlen: ::core::ffi::c_uint, + pub string: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kparam_string"][::core::mem::size_of::() - 16usize]; + ["Alignment of kparam_string"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kparam_string::maxlen"] + [::core::mem::offset_of!(kparam_string, maxlen) - 0usize]; + ["Offset of field: kparam_string::string"] + [::core::mem::offset_of!(kparam_string, string) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kset { + pub list: list_head, + pub list_lock: spinlock_t, + pub kobj: kobject, + pub uevent_ops: *const kset_uevent_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kset"][::core::mem::size_of::() - 96usize]; + ["Alignment of kset"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kset::list"][::core::mem::offset_of!(kset, list) - 0usize]; + ["Offset of field: kset::list_lock"][::core::mem::offset_of!(kset, list_lock) - 16usize]; + ["Offset of field: kset::kobj"][::core::mem::offset_of!(kset, kobj) - 24usize]; + ["Offset of field: kset::uevent_ops"][::core::mem::offset_of!(kset, uevent_ops) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kset_uevent_ops { + pub filter: + ::core::option::Option ::core::ffi::c_int>, + pub name: ::core::option::Option< + unsafe extern "C" fn(arg1: *const kobject) -> *const ::core::ffi::c_char, + >, + pub uevent: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const kobject, + arg2: *mut kobj_uevent_env, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kset_uevent_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of kset_uevent_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kset_uevent_ops::filter"] + [::core::mem::offset_of!(kset_uevent_ops, filter) - 0usize]; + ["Offset of field: kset_uevent_ops::name"] + [::core::mem::offset_of!(kset_uevent_ops, name) - 8usize]; + ["Offset of field: kset_uevent_ops::uevent"] + [::core::mem::offset_of!(kset_uevent_ops, uevent) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kstat { + pub result_mask: u32_, + pub mode: umode_t, + pub nlink: ::core::ffi::c_uint, + pub blksize: u32, + pub attributes: u64_, + pub attributes_mask: u64_, + pub ino: u64_, + pub dev: dev_t, + pub rdev: dev_t, + pub uid: kuid_t, + pub gid: kgid_t, + pub size: loff_t, + pub atime: timespec64, + pub mtime: timespec64, + pub ctime: timespec64, + pub btime: timespec64, + pub blocks: u64_, + pub mnt_id: u64_, + pub dio_mem_align: u32_, + pub dio_offset_align: u32_, + pub change_cookie: u64_, + pub subvol: u64_, + pub atomic_write_unit_min: u32_, + pub atomic_write_unit_max: u32_, + pub atomic_write_segments_max: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kstat"][::core::mem::size_of::() - 184usize]; + ["Alignment of kstat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kstat::result_mask"][::core::mem::offset_of!(kstat, result_mask) - 0usize]; + ["Offset of field: kstat::mode"][::core::mem::offset_of!(kstat, mode) - 4usize]; + ["Offset of field: kstat::nlink"][::core::mem::offset_of!(kstat, nlink) - 8usize]; + ["Offset of field: kstat::blksize"][::core::mem::offset_of!(kstat, blksize) - 12usize]; + ["Offset of field: kstat::attributes"][::core::mem::offset_of!(kstat, attributes) - 16usize]; + ["Offset of field: kstat::attributes_mask"] + [::core::mem::offset_of!(kstat, attributes_mask) - 24usize]; + ["Offset of field: kstat::ino"][::core::mem::offset_of!(kstat, ino) - 32usize]; + ["Offset of field: kstat::dev"][::core::mem::offset_of!(kstat, dev) - 40usize]; + ["Offset of field: kstat::rdev"][::core::mem::offset_of!(kstat, rdev) - 44usize]; + ["Offset of field: kstat::uid"][::core::mem::offset_of!(kstat, uid) - 48usize]; + ["Offset of field: kstat::gid"][::core::mem::offset_of!(kstat, gid) - 52usize]; + ["Offset of field: kstat::size"][::core::mem::offset_of!(kstat, size) - 56usize]; + ["Offset of field: kstat::atime"][::core::mem::offset_of!(kstat, atime) - 64usize]; + ["Offset of field: kstat::mtime"][::core::mem::offset_of!(kstat, mtime) - 80usize]; + ["Offset of field: kstat::ctime"][::core::mem::offset_of!(kstat, ctime) - 96usize]; + ["Offset of field: kstat::btime"][::core::mem::offset_of!(kstat, btime) - 112usize]; + ["Offset of field: kstat::blocks"][::core::mem::offset_of!(kstat, blocks) - 128usize]; + ["Offset of field: kstat::mnt_id"][::core::mem::offset_of!(kstat, mnt_id) - 136usize]; + ["Offset of field: kstat::dio_mem_align"] + [::core::mem::offset_of!(kstat, dio_mem_align) - 144usize]; + ["Offset of field: kstat::dio_offset_align"] + [::core::mem::offset_of!(kstat, dio_offset_align) - 148usize]; + ["Offset of field: kstat::change_cookie"] + [::core::mem::offset_of!(kstat, change_cookie) - 152usize]; + ["Offset of field: kstat::subvol"][::core::mem::offset_of!(kstat, subvol) - 160usize]; + ["Offset of field: kstat::atomic_write_unit_min"] + [::core::mem::offset_of!(kstat, atomic_write_unit_min) - 168usize]; + ["Offset of field: kstat::atomic_write_unit_max"] + [::core::mem::offset_of!(kstat, atomic_write_unit_max) - 172usize]; + ["Offset of field: kstat::atomic_write_segments_max"] + [::core::mem::offset_of!(kstat, atomic_write_segments_max) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct kstatfs { + pub f_type: ::core::ffi::c_long, + pub f_bsize: ::core::ffi::c_long, + pub f_blocks: u64_, + pub f_bfree: u64_, + pub f_bavail: u64_, + pub f_files: u64_, + pub f_ffree: u64_, + pub f_fsid: __kernel_fsid_t, + pub f_namelen: ::core::ffi::c_long, + pub f_frsize: ::core::ffi::c_long, + pub f_flags: ::core::ffi::c_long, + pub f_spare: [::core::ffi::c_long; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kstatfs"][::core::mem::size_of::() - 120usize]; + ["Alignment of kstatfs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kstatfs::f_type"][::core::mem::offset_of!(kstatfs, f_type) - 0usize]; + ["Offset of field: kstatfs::f_bsize"][::core::mem::offset_of!(kstatfs, f_bsize) - 8usize]; + ["Offset of field: kstatfs::f_blocks"][::core::mem::offset_of!(kstatfs, f_blocks) - 16usize]; + ["Offset of field: kstatfs::f_bfree"][::core::mem::offset_of!(kstatfs, f_bfree) - 24usize]; + ["Offset of field: kstatfs::f_bavail"][::core::mem::offset_of!(kstatfs, f_bavail) - 32usize]; + ["Offset of field: kstatfs::f_files"][::core::mem::offset_of!(kstatfs, f_files) - 40usize]; + ["Offset of field: kstatfs::f_ffree"][::core::mem::offset_of!(kstatfs, f_ffree) - 48usize]; + ["Offset of field: kstatfs::f_fsid"][::core::mem::offset_of!(kstatfs, f_fsid) - 56usize]; + ["Offset of field: kstatfs::f_namelen"][::core::mem::offset_of!(kstatfs, f_namelen) - 64usize]; + ["Offset of field: kstatfs::f_frsize"][::core::mem::offset_of!(kstatfs, f_frsize) - 72usize]; + ["Offset of field: kstatfs::f_flags"][::core::mem::offset_of!(kstatfs, f_flags) - 80usize]; + ["Offset of field: kstatfs::f_spare"][::core::mem::offset_of!(kstatfs, f_spare) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct seq_file { + pub buf: *mut ::core::ffi::c_char, + pub size: usize, + pub from: usize, + pub count: usize, + pub pad_until: usize, + pub index: loff_t, + pub read_pos: loff_t, + pub lock: mutex, + pub op: *const seq_operations, + pub poll_event: ::core::ffi::c_int, + pub file: *const file, + pub private: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seq_file"][::core::mem::size_of::() - 120usize]; + ["Alignment of seq_file"][::core::mem::align_of::() - 8usize]; + ["Offset of field: seq_file::buf"][::core::mem::offset_of!(seq_file, buf) - 0usize]; + ["Offset of field: seq_file::size"][::core::mem::offset_of!(seq_file, size) - 8usize]; + ["Offset of field: seq_file::from"][::core::mem::offset_of!(seq_file, from) - 16usize]; + ["Offset of field: seq_file::count"][::core::mem::offset_of!(seq_file, count) - 24usize]; + ["Offset of field: seq_file::pad_until"] + [::core::mem::offset_of!(seq_file, pad_until) - 32usize]; + ["Offset of field: seq_file::index"][::core::mem::offset_of!(seq_file, index) - 40usize]; + ["Offset of field: seq_file::read_pos"][::core::mem::offset_of!(seq_file, read_pos) - 48usize]; + ["Offset of field: seq_file::lock"][::core::mem::offset_of!(seq_file, lock) - 56usize]; + ["Offset of field: seq_file::op"][::core::mem::offset_of!(seq_file, op) - 88usize]; + ["Offset of field: seq_file::poll_event"] + [::core::mem::offset_of!(seq_file, poll_event) - 96usize]; + ["Offset of field: seq_file::file"][::core::mem::offset_of!(seq_file, file) - 104usize]; + ["Offset of field: seq_file::private"][::core::mem::offset_of!(seq_file, private) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ktermios { + pub c_iflag: tcflag_t, + pub c_oflag: tcflag_t, + pub c_cflag: tcflag_t, + pub c_lflag: tcflag_t, + pub c_line: cc_t, + pub c_cc: [cc_t; 19usize], + pub c_ispeed: speed_t, + pub c_ospeed: speed_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ktermios"][::core::mem::size_of::() - 44usize]; + ["Alignment of ktermios"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ktermios::c_iflag"][::core::mem::offset_of!(ktermios, c_iflag) - 0usize]; + ["Offset of field: ktermios::c_oflag"][::core::mem::offset_of!(ktermios, c_oflag) - 4usize]; + ["Offset of field: ktermios::c_cflag"][::core::mem::offset_of!(ktermios, c_cflag) - 8usize]; + ["Offset of field: ktermios::c_lflag"][::core::mem::offset_of!(ktermios, c_lflag) - 12usize]; + ["Offset of field: ktermios::c_line"][::core::mem::offset_of!(ktermios, c_line) - 16usize]; + ["Offset of field: ktermios::c_cc"][::core::mem::offset_of!(ktermios, c_cc) - 17usize]; + ["Offset of field: ktermios::c_ispeed"][::core::mem::offset_of!(ktermios, c_ispeed) - 36usize]; + ["Offset of field: ktermios::c_ospeed"][::core::mem::offset_of!(ktermios, c_ospeed) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct kthread_worker { + pub flags: ::core::ffi::c_uint, + pub lock: raw_spinlock_t, + pub work_list: list_head, + pub delayed_work_list: list_head, + pub task: *mut task_struct, + pub current_work: *mut kthread_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of kthread_worker"][::core::mem::size_of::() - 56usize]; + ["Alignment of kthread_worker"][::core::mem::align_of::() - 8usize]; + ["Offset of field: kthread_worker::flags"] + [::core::mem::offset_of!(kthread_worker, flags) - 0usize]; + ["Offset of field: kthread_worker::lock"] + [::core::mem::offset_of!(kthread_worker, lock) - 4usize]; + ["Offset of field: kthread_worker::work_list"] + [::core::mem::offset_of!(kthread_worker, work_list) - 8usize]; + ["Offset of field: kthread_worker::delayed_work_list"] + [::core::mem::offset_of!(kthread_worker, delayed_work_list) - 24usize]; + ["Offset of field: kthread_worker::task"] + [::core::mem::offset_of!(kthread_worker, task) - 40usize]; + ["Offset of field: kthread_worker::current_work"] + [::core::mem::offset_of!(kthread_worker, current_work) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct l3mdev_ops { + pub l3mdev_fib_table: + ::core::option::Option u32_>, + pub l3mdev_l3_rcv: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut sk_buff, arg3: u16_) -> *mut sk_buff, + >, + pub l3mdev_l3_out: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut sock, + arg3: *mut sk_buff, + arg4: u16_, + ) -> *mut sk_buff, + >, + pub l3mdev_link_scope_lookup: ::core::option::Option< + unsafe extern "C" fn(arg1: *const net_device, arg2: *mut flowi6) -> *mut dst_entry, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of l3mdev_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of l3mdev_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: l3mdev_ops::l3mdev_fib_table"] + [::core::mem::offset_of!(l3mdev_ops, l3mdev_fib_table) - 0usize]; + ["Offset of field: l3mdev_ops::l3mdev_l3_rcv"] + [::core::mem::offset_of!(l3mdev_ops, l3mdev_l3_rcv) - 8usize]; + ["Offset of field: l3mdev_ops::l3mdev_l3_out"] + [::core::mem::offset_of!(l3mdev_ops, l3mdev_l3_out) - 16usize]; + ["Offset of field: l3mdev_ops::l3mdev_link_scope_lookup"] + [::core::mem::offset_of!(l3mdev_ops, l3mdev_link_scope_lookup) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ld_semaphore { + pub count: atomic_long_t, + pub wait_lock: raw_spinlock_t, + pub wait_readers: ::core::ffi::c_uint, + pub read_wait: list_head, + pub write_wait: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ld_semaphore"][::core::mem::size_of::() - 48usize]; + ["Alignment of ld_semaphore"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ld_semaphore::count"][::core::mem::offset_of!(ld_semaphore, count) - 0usize]; + ["Offset of field: ld_semaphore::wait_lock"] + [::core::mem::offset_of!(ld_semaphore, wait_lock) - 8usize]; + ["Offset of field: ld_semaphore::wait_readers"] + [::core::mem::offset_of!(ld_semaphore, wait_readers) - 12usize]; + ["Offset of field: ld_semaphore::read_wait"] + [::core::mem::offset_of!(ld_semaphore, read_wait) - 16usize]; + ["Offset of field: ld_semaphore::write_wait"] + [::core::mem::offset_of!(ld_semaphore, write_wait) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ldt_struct { + pub entries: *mut desc_struct, + pub nr_entries: ::core::ffi::c_uint, + pub slot: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ldt_struct"][::core::mem::size_of::() - 16usize]; + ["Alignment of ldt_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ldt_struct::entries"][::core::mem::offset_of!(ldt_struct, entries) - 0usize]; + ["Offset of field: ldt_struct::nr_entries"] + [::core::mem::offset_of!(ldt_struct, nr_entries) - 8usize]; + ["Offset of field: ldt_struct::slot"][::core::mem::offset_of!(ldt_struct, slot) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lease_manager_operations { + pub lm_break: ::core::option::Option bool_>, + pub lm_change: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file_lease, + arg2: ::core::ffi::c_int, + arg3: *mut list_head, + ) -> ::core::ffi::c_int, + >, + pub lm_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file_lease, arg2: *mut *mut ::core::ffi::c_void), + >, + pub lm_breaker_owns_lease: + ::core::option::Option bool_>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lease_manager_operations"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of lease_manager_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: lease_manager_operations::lm_break"] + [::core::mem::offset_of!(lease_manager_operations, lm_break) - 0usize]; + ["Offset of field: lease_manager_operations::lm_change"] + [::core::mem::offset_of!(lease_manager_operations, lm_change) - 8usize]; + ["Offset of field: lease_manager_operations::lm_setup"] + [::core::mem::offset_of!(lease_manager_operations, lm_setup) - 16usize]; + ["Offset of field: lease_manager_operations::lm_breaker_owns_lease"] + [::core::mem::offset_of!(lease_manager_operations, lm_breaker_owns_lease) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linear_range { + pub min: ::core::ffi::c_uint, + pub min_sel: ::core::ffi::c_uint, + pub max_sel: ::core::ffi::c_uint, + pub step: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of linear_range"][::core::mem::size_of::() - 16usize]; + ["Alignment of linear_range"][::core::mem::align_of::() - 4usize]; + ["Offset of field: linear_range::min"][::core::mem::offset_of!(linear_range, min) - 0usize]; + ["Offset of field: linear_range::min_sel"] + [::core::mem::offset_of!(linear_range, min_sel) - 4usize]; + ["Offset of field: linear_range::max_sel"] + [::core::mem::offset_of!(linear_range, max_sel) - 8usize]; + ["Offset of field: linear_range::step"][::core::mem::offset_of!(linear_range, step) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linux_binfmt { + pub lh: list_head, + pub module: *mut module, + pub load_binary: + ::core::option::Option ::core::ffi::c_int>, + pub load_shlib: + ::core::option::Option ::core::ffi::c_int>, + pub core_dump: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut coredump_params) -> ::core::ffi::c_int, + >, + pub min_coredump: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of linux_binfmt"][::core::mem::size_of::() - 56usize]; + ["Alignment of linux_binfmt"][::core::mem::align_of::() - 8usize]; + ["Offset of field: linux_binfmt::lh"][::core::mem::offset_of!(linux_binfmt, lh) - 0usize]; + ["Offset of field: linux_binfmt::module"] + [::core::mem::offset_of!(linux_binfmt, module) - 16usize]; + ["Offset of field: linux_binfmt::load_binary"] + [::core::mem::offset_of!(linux_binfmt, load_binary) - 24usize]; + ["Offset of field: linux_binfmt::load_shlib"] + [::core::mem::offset_of!(linux_binfmt, load_shlib) - 32usize]; + ["Offset of field: linux_binfmt::core_dump"] + [::core::mem::offset_of!(linux_binfmt, core_dump) - 40usize]; + ["Offset of field: linux_binfmt::min_coredump"] + [::core::mem::offset_of!(linux_binfmt, min_coredump) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linux_binprm { + pub vma: *mut vm_area_struct, + pub vma_pages: ::core::ffi::c_ulong, + pub argmin: ::core::ffi::c_ulong, + pub mm: *mut mm_struct, + pub p: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub executable: *mut file, + pub interpreter: *mut file, + pub file: *mut file, + pub cred: *mut cred, + pub unsafe_: ::core::ffi::c_int, + pub per_clear: ::core::ffi::c_uint, + pub argc: ::core::ffi::c_int, + pub envc: ::core::ffi::c_int, + pub filename: *const ::core::ffi::c_char, + pub interp: *const ::core::ffi::c_char, + pub fdpath: *const ::core::ffi::c_char, + pub interp_flags: ::core::ffi::c_uint, + pub execfd: ::core::ffi::c_int, + pub loader: ::core::ffi::c_ulong, + pub exec: ::core::ffi::c_ulong, + pub rlim_stack: rlimit, + pub buf: [::core::ffi::c_char; 256usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of linux_binprm"][::core::mem::size_of::() - 416usize]; + ["Alignment of linux_binprm"][::core::mem::align_of::() - 8usize]; + ["Offset of field: linux_binprm::vma"][::core::mem::offset_of!(linux_binprm, vma) - 0usize]; + ["Offset of field: linux_binprm::vma_pages"] + [::core::mem::offset_of!(linux_binprm, vma_pages) - 8usize]; + ["Offset of field: linux_binprm::argmin"] + [::core::mem::offset_of!(linux_binprm, argmin) - 16usize]; + ["Offset of field: linux_binprm::mm"][::core::mem::offset_of!(linux_binprm, mm) - 24usize]; + ["Offset of field: linux_binprm::p"][::core::mem::offset_of!(linux_binprm, p) - 32usize]; + ["Offset of field: linux_binprm::executable"] + [::core::mem::offset_of!(linux_binprm, executable) - 48usize]; + ["Offset of field: linux_binprm::interpreter"] + [::core::mem::offset_of!(linux_binprm, interpreter) - 56usize]; + ["Offset of field: linux_binprm::file"][::core::mem::offset_of!(linux_binprm, file) - 64usize]; + ["Offset of field: linux_binprm::cred"][::core::mem::offset_of!(linux_binprm, cred) - 72usize]; + ["Offset of field: linux_binprm::unsafe_"] + [::core::mem::offset_of!(linux_binprm, unsafe_) - 80usize]; + ["Offset of field: linux_binprm::per_clear"] + [::core::mem::offset_of!(linux_binprm, per_clear) - 84usize]; + ["Offset of field: linux_binprm::argc"][::core::mem::offset_of!(linux_binprm, argc) - 88usize]; + ["Offset of field: linux_binprm::envc"][::core::mem::offset_of!(linux_binprm, envc) - 92usize]; + ["Offset of field: linux_binprm::filename"] + [::core::mem::offset_of!(linux_binprm, filename) - 96usize]; + ["Offset of field: linux_binprm::interp"] + [::core::mem::offset_of!(linux_binprm, interp) - 104usize]; + ["Offset of field: linux_binprm::fdpath"] + [::core::mem::offset_of!(linux_binprm, fdpath) - 112usize]; + ["Offset of field: linux_binprm::interp_flags"] + [::core::mem::offset_of!(linux_binprm, interp_flags) - 120usize]; + ["Offset of field: linux_binprm::execfd"] + [::core::mem::offset_of!(linux_binprm, execfd) - 124usize]; + ["Offset of field: linux_binprm::loader"] + [::core::mem::offset_of!(linux_binprm, loader) - 128usize]; + ["Offset of field: linux_binprm::exec"][::core::mem::offset_of!(linux_binprm, exec) - 136usize]; + ["Offset of field: linux_binprm::rlim_stack"] + [::core::mem::offset_of!(linux_binprm, rlim_stack) - 144usize]; + ["Offset of field: linux_binprm::buf"][::core::mem::offset_of!(linux_binprm, buf) - 160usize]; +}; +impl linux_binprm { + #[inline] + pub fn have_execfd(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_have_execfd(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn have_execfd_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_have_execfd_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn execfd_creds(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_execfd_creds(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn execfd_creds_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_execfd_creds_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn secureexec(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_secureexec(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn secureexec_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_secureexec_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn point_of_no_return(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_point_of_no_return(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn point_of_no_return_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_point_of_no_return_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn comm_from_dentry(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_comm_from_dentry(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn comm_from_dentry_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_comm_from_dentry_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + have_execfd: ::core::ffi::c_uint, + execfd_creds: ::core::ffi::c_uint, + secureexec: ::core::ffi::c_uint, + point_of_no_return: ::core::ffi::c_uint, + comm_from_dentry: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let have_execfd: u32 = unsafe { ::core::mem::transmute(have_execfd) }; + have_execfd as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let execfd_creds: u32 = unsafe { ::core::mem::transmute(execfd_creds) }; + execfd_creds as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let secureexec: u32 = unsafe { ::core::mem::transmute(secureexec) }; + secureexec as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let point_of_no_return: u32 = unsafe { ::core::mem::transmute(point_of_no_return) }; + point_of_no_return as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let comm_from_dentry: u32 = unsafe { ::core::mem::transmute(comm_from_dentry) }; + comm_from_dentry as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linux_mib { + pub mibs: [::core::ffi::c_ulong; 132usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of linux_mib"][::core::mem::size_of::() - 1056usize]; + ["Alignment of linux_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: linux_mib::mibs"][::core::mem::offset_of!(linux_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linux_tls_mib { + pub mibs: [::core::ffi::c_ulong; 13usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of linux_tls_mib"][::core::mem::size_of::() - 104usize]; + ["Alignment of linux_tls_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: linux_tls_mib::mibs"][::core::mem::offset_of!(linux_tls_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linux_xfrm_mib { + pub mibs: [::core::ffi::c_ulong; 31usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of linux_xfrm_mib"][::core::mem::size_of::() - 248usize]; + ["Alignment of linux_xfrm_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: linux_xfrm_mib::mibs"] + [::core::mem::offset_of!(linux_xfrm_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct list_lru { + pub node: *mut list_lru_node, + pub list: list_head, + pub shrinker_id: ::core::ffi::c_int, + pub memcg_aware: bool_, + pub xa: xarray, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of list_lru"][::core::mem::size_of::() - 48usize]; + ["Alignment of list_lru"][::core::mem::align_of::() - 8usize]; + ["Offset of field: list_lru::node"][::core::mem::offset_of!(list_lru, node) - 0usize]; + ["Offset of field: list_lru::list"][::core::mem::offset_of!(list_lru, list) - 8usize]; + ["Offset of field: list_lru::shrinker_id"] + [::core::mem::offset_of!(list_lru, shrinker_id) - 24usize]; + ["Offset of field: list_lru::memcg_aware"] + [::core::mem::offset_of!(list_lru, memcg_aware) - 28usize]; + ["Offset of field: list_lru::xa"][::core::mem::offset_of!(list_lru, xa) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct list_lru_one { + pub list: list_head, + pub nr_items: ::core::ffi::c_long, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of list_lru_one"][::core::mem::size_of::() - 24usize]; + ["Alignment of list_lru_one"][::core::mem::align_of::() - 8usize]; + ["Offset of field: list_lru_one::list"][::core::mem::offset_of!(list_lru_one, list) - 0usize]; + ["Offset of field: list_lru_one::nr_items"] + [::core::mem::offset_of!(list_lru_one, nr_items) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct list_lru_node { + pub lock: spinlock_t, + pub lru: list_lru_one, + pub nr_items: ::core::ffi::c_long, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of list_lru_node"][::core::mem::size_of::() - 64usize]; + ["Alignment of list_lru_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: list_lru_node::lock"][::core::mem::offset_of!(list_lru_node, lock) - 0usize]; + ["Offset of field: list_lru_node::lru"][::core::mem::offset_of!(list_lru_node, lru) - 8usize]; + ["Offset of field: list_lru_node::nr_items"] + [::core::mem::offset_of!(list_lru_node, nr_items) - 32usize]; +}; +impl list_lru_node { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct local_ports { + pub range: u32_, + pub warned: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of local_ports"][::core::mem::size_of::() - 8usize]; + ["Alignment of local_ports"][::core::mem::align_of::() - 4usize]; + ["Offset of field: local_ports::range"][::core::mem::offset_of!(local_ports, range) - 0usize]; + ["Offset of field: local_ports::warned"][::core::mem::offset_of!(local_ports, warned) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lock_manager_operations { + pub lm_mod_owner: *mut ::core::ffi::c_void, + pub lm_get_owner: ::core::option::Option fl_owner_t>, + pub lm_put_owner: ::core::option::Option, + pub lm_notify: ::core::option::Option, + pub lm_grant: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file_lock, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub lm_lock_expirable: + ::core::option::Option bool_>, + pub lm_expire_lock: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lock_manager_operations"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of lock_manager_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: lock_manager_operations::lm_mod_owner"] + [::core::mem::offset_of!(lock_manager_operations, lm_mod_owner) - 0usize]; + ["Offset of field: lock_manager_operations::lm_get_owner"] + [::core::mem::offset_of!(lock_manager_operations, lm_get_owner) - 8usize]; + ["Offset of field: lock_manager_operations::lm_put_owner"] + [::core::mem::offset_of!(lock_manager_operations, lm_put_owner) - 16usize]; + ["Offset of field: lock_manager_operations::lm_notify"] + [::core::mem::offset_of!(lock_manager_operations, lm_notify) - 24usize]; + ["Offset of field: lock_manager_operations::lm_grant"] + [::core::mem::offset_of!(lock_manager_operations, lm_grant) - 32usize]; + ["Offset of field: lock_manager_operations::lm_lock_expirable"] + [::core::mem::offset_of!(lock_manager_operations, lm_lock_expirable) - 40usize]; + ["Offset of field: lock_manager_operations::lm_expire_lock"] + [::core::mem::offset_of!(lock_manager_operations, lm_expire_lock) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union lower_chunk { + pub next: *mut lower_chunk, + pub data: [::core::ffi::c_ulong; 256usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lower_chunk"][::core::mem::size_of::() - 2048usize]; + ["Alignment of lower_chunk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lower_chunk::next"][::core::mem::offset_of!(lower_chunk, next) - 0usize]; + ["Offset of field: lower_chunk::data"][::core::mem::offset_of!(lower_chunk, data) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lru_gen_folio { + pub max_seq: ::core::ffi::c_ulong, + pub min_seq: [::core::ffi::c_ulong; 2usize], + pub timestamps: [::core::ffi::c_ulong; 4usize], + pub folios: [list_head; 40usize], + pub nr_pages: [::core::ffi::c_long; 40usize], + pub avg_refaulted: [::core::ffi::c_ulong; 8usize], + pub avg_total: [::core::ffi::c_ulong; 8usize], + pub protected: [::core::ffi::c_ulong; 6usize], + pub evicted: [atomic_long_t; 8usize], + pub refaulted: [atomic_long_t; 8usize], + pub enabled: bool_, + pub gen_: u8_, + pub seg: u8_, + pub list: hlist_nulls_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lru_gen_folio"][::core::mem::size_of::() - 1344usize]; + ["Alignment of lru_gen_folio"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lru_gen_folio::max_seq"] + [::core::mem::offset_of!(lru_gen_folio, max_seq) - 0usize]; + ["Offset of field: lru_gen_folio::min_seq"] + [::core::mem::offset_of!(lru_gen_folio, min_seq) - 8usize]; + ["Offset of field: lru_gen_folio::timestamps"] + [::core::mem::offset_of!(lru_gen_folio, timestamps) - 24usize]; + ["Offset of field: lru_gen_folio::folios"] + [::core::mem::offset_of!(lru_gen_folio, folios) - 56usize]; + ["Offset of field: lru_gen_folio::nr_pages"] + [::core::mem::offset_of!(lru_gen_folio, nr_pages) - 696usize]; + ["Offset of field: lru_gen_folio::avg_refaulted"] + [::core::mem::offset_of!(lru_gen_folio, avg_refaulted) - 1016usize]; + ["Offset of field: lru_gen_folio::avg_total"] + [::core::mem::offset_of!(lru_gen_folio, avg_total) - 1080usize]; + ["Offset of field: lru_gen_folio::protected"] + [::core::mem::offset_of!(lru_gen_folio, protected) - 1144usize]; + ["Offset of field: lru_gen_folio::evicted"] + [::core::mem::offset_of!(lru_gen_folio, evicted) - 1192usize]; + ["Offset of field: lru_gen_folio::refaulted"] + [::core::mem::offset_of!(lru_gen_folio, refaulted) - 1256usize]; + ["Offset of field: lru_gen_folio::enabled"] + [::core::mem::offset_of!(lru_gen_folio, enabled) - 1320usize]; + ["Offset of field: lru_gen_folio::gen_"] + [::core::mem::offset_of!(lru_gen_folio, gen_) - 1321usize]; + ["Offset of field: lru_gen_folio::seg"] + [::core::mem::offset_of!(lru_gen_folio, seg) - 1322usize]; + ["Offset of field: lru_gen_folio::list"] + [::core::mem::offset_of!(lru_gen_folio, list) - 1328usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct lru_gen_memcg { + pub seq: ::core::ffi::c_ulong, + pub nr_memcgs: [::core::ffi::c_ulong; 3usize], + pub fifo: [hlist_nulls_head; 24usize], + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lru_gen_memcg"][::core::mem::size_of::() - 232usize]; + ["Alignment of lru_gen_memcg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lru_gen_memcg::seq"][::core::mem::offset_of!(lru_gen_memcg, seq) - 0usize]; + ["Offset of field: lru_gen_memcg::nr_memcgs"] + [::core::mem::offset_of!(lru_gen_memcg, nr_memcgs) - 8usize]; + ["Offset of field: lru_gen_memcg::fifo"] + [::core::mem::offset_of!(lru_gen_memcg, fifo) - 32usize]; + ["Offset of field: lru_gen_memcg::lock"] + [::core::mem::offset_of!(lru_gen_memcg, lock) - 224usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct lru_gen_mm_list { + pub fifo: list_head, + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lru_gen_mm_list"][::core::mem::size_of::() - 24usize]; + ["Alignment of lru_gen_mm_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lru_gen_mm_list::fifo"] + [::core::mem::offset_of!(lru_gen_mm_list, fifo) - 0usize]; + ["Offset of field: lru_gen_mm_list::lock"] + [::core::mem::offset_of!(lru_gen_mm_list, lock) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lru_gen_mm_state { + pub seq: ::core::ffi::c_ulong, + pub head: *mut list_head, + pub tail: *mut list_head, + pub filters: [*mut ::core::ffi::c_ulong; 2usize], + pub stats: [::core::ffi::c_ulong; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lru_gen_mm_state"][::core::mem::size_of::() - 72usize]; + ["Alignment of lru_gen_mm_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lru_gen_mm_state::seq"] + [::core::mem::offset_of!(lru_gen_mm_state, seq) - 0usize]; + ["Offset of field: lru_gen_mm_state::head"] + [::core::mem::offset_of!(lru_gen_mm_state, head) - 8usize]; + ["Offset of field: lru_gen_mm_state::tail"] + [::core::mem::offset_of!(lru_gen_mm_state, tail) - 16usize]; + ["Offset of field: lru_gen_mm_state::filters"] + [::core::mem::offset_of!(lru_gen_mm_state, filters) - 24usize]; + ["Offset of field: lru_gen_mm_state::stats"] + [::core::mem::offset_of!(lru_gen_mm_state, stats) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lru_gen_mm_walk { + pub lruvec: *mut lruvec, + pub seq: ::core::ffi::c_ulong, + pub next_addr: ::core::ffi::c_ulong, + pub nr_pages: [::core::ffi::c_int; 40usize], + pub mm_stats: [::core::ffi::c_int; 4usize], + pub batched: ::core::ffi::c_int, + pub can_swap: bool_, + pub force_scan: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lru_gen_mm_walk"][::core::mem::size_of::() - 208usize]; + ["Alignment of lru_gen_mm_walk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lru_gen_mm_walk::lruvec"] + [::core::mem::offset_of!(lru_gen_mm_walk, lruvec) - 0usize]; + ["Offset of field: lru_gen_mm_walk::seq"] + [::core::mem::offset_of!(lru_gen_mm_walk, seq) - 8usize]; + ["Offset of field: lru_gen_mm_walk::next_addr"] + [::core::mem::offset_of!(lru_gen_mm_walk, next_addr) - 16usize]; + ["Offset of field: lru_gen_mm_walk::nr_pages"] + [::core::mem::offset_of!(lru_gen_mm_walk, nr_pages) - 24usize]; + ["Offset of field: lru_gen_mm_walk::mm_stats"] + [::core::mem::offset_of!(lru_gen_mm_walk, mm_stats) - 184usize]; + ["Offset of field: lru_gen_mm_walk::batched"] + [::core::mem::offset_of!(lru_gen_mm_walk, batched) - 200usize]; + ["Offset of field: lru_gen_mm_walk::can_swap"] + [::core::mem::offset_of!(lru_gen_mm_walk, can_swap) - 204usize]; + ["Offset of field: lru_gen_mm_walk::force_scan"] + [::core::mem::offset_of!(lru_gen_mm_walk, force_scan) - 205usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct zswap_lruvec_state { + pub nr_disk_swapins: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of zswap_lruvec_state"][::core::mem::size_of::() - 8usize]; + ["Alignment of zswap_lruvec_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: zswap_lruvec_state::nr_disk_swapins"] + [::core::mem::offset_of!(zswap_lruvec_state, nr_disk_swapins) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct lruvec { + pub lists: [list_head; 5usize], + pub lru_lock: spinlock_t, + pub anon_cost: ::core::ffi::c_ulong, + pub file_cost: ::core::ffi::c_ulong, + pub nonresident_age: atomic_long_t, + pub refaults: [::core::ffi::c_ulong; 2usize], + pub flags: ::core::ffi::c_ulong, + pub lrugen: lru_gen_folio, + pub mm_state: lru_gen_mm_state, + pub pgdat: *mut pglist_data, + pub zswap_lruvec_state: zswap_lruvec_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lruvec"][::core::mem::size_of::() - 1568usize]; + ["Alignment of lruvec"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lruvec::lists"][::core::mem::offset_of!(lruvec, lists) - 0usize]; + ["Offset of field: lruvec::lru_lock"][::core::mem::offset_of!(lruvec, lru_lock) - 80usize]; + ["Offset of field: lruvec::anon_cost"][::core::mem::offset_of!(lruvec, anon_cost) - 88usize]; + ["Offset of field: lruvec::file_cost"][::core::mem::offset_of!(lruvec, file_cost) - 96usize]; + ["Offset of field: lruvec::nonresident_age"] + [::core::mem::offset_of!(lruvec, nonresident_age) - 104usize]; + ["Offset of field: lruvec::refaults"][::core::mem::offset_of!(lruvec, refaults) - 112usize]; + ["Offset of field: lruvec::flags"][::core::mem::offset_of!(lruvec, flags) - 128usize]; + ["Offset of field: lruvec::lrugen"][::core::mem::offset_of!(lruvec, lrugen) - 136usize]; + ["Offset of field: lruvec::mm_state"][::core::mem::offset_of!(lruvec, mm_state) - 1480usize]; + ["Offset of field: lruvec::pgdat"][::core::mem::offset_of!(lruvec, pgdat) - 1552usize]; + ["Offset of field: lruvec::zswap_lruvec_state"] + [::core::mem::offset_of!(lruvec, zswap_lruvec_state) - 1560usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lruvec_stats { + pub state: [::core::ffi::c_long; 31usize], + pub state_local: [::core::ffi::c_long; 31usize], + pub state_pending: [::core::ffi::c_long; 31usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lruvec_stats"][::core::mem::size_of::() - 744usize]; + ["Alignment of lruvec_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lruvec_stats::state"][::core::mem::offset_of!(lruvec_stats, state) - 0usize]; + ["Offset of field: lruvec_stats::state_local"] + [::core::mem::offset_of!(lruvec_stats, state_local) - 248usize]; + ["Offset of field: lruvec_stats::state_pending"] + [::core::mem::offset_of!(lruvec_stats, state_pending) - 496usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lruvec_stats_percpu { + pub state: [::core::ffi::c_long; 31usize], + pub state_prev: [::core::ffi::c_long; 31usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lruvec_stats_percpu"][::core::mem::size_of::() - 496usize]; + ["Alignment of lruvec_stats_percpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lruvec_stats_percpu::state"] + [::core::mem::offset_of!(lruvec_stats_percpu, state) - 0usize]; + ["Offset of field: lruvec_stats_percpu::state_prev"] + [::core::mem::offset_of!(lruvec_stats_percpu, state_prev) - 248usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct lwq { + pub lock: spinlock_t, + pub ready: *mut llist_node, + pub new: llist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lwq"][::core::mem::size_of::() - 24usize]; + ["Alignment of lwq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lwq::lock"][::core::mem::offset_of!(lwq, lock) - 0usize]; + ["Offset of field: lwq::ready"][::core::mem::offset_of!(lwq, ready) - 8usize]; + ["Offset of field: lwq::new"][::core::mem::offset_of!(lwq, new) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lwq_node { + pub node: llist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lwq_node"][::core::mem::size_of::() - 8usize]; + ["Alignment of lwq_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lwq_node::node"][::core::mem::offset_of!(lwq_node, node) - 0usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct lwtunnel_state { + pub type_: __u16, + pub flags: __u16, + pub headroom: __u16, + pub refcnt: atomic_t, + pub orig_output: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut sock, + arg3: *mut sk_buff, + ) -> ::core::ffi::c_int, + >, + pub orig_input: + ::core::option::Option ::core::ffi::c_int>, + pub rcu: callback_head, + pub data: __IncompleteArrayField<__u8>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of lwtunnel_state"][::core::mem::size_of::() - 48usize]; + ["Alignment of lwtunnel_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: lwtunnel_state::type_"] + [::core::mem::offset_of!(lwtunnel_state, type_) - 0usize]; + ["Offset of field: lwtunnel_state::flags"] + [::core::mem::offset_of!(lwtunnel_state, flags) - 2usize]; + ["Offset of field: lwtunnel_state::headroom"] + [::core::mem::offset_of!(lwtunnel_state, headroom) - 4usize]; + ["Offset of field: lwtunnel_state::refcnt"] + [::core::mem::offset_of!(lwtunnel_state, refcnt) - 8usize]; + ["Offset of field: lwtunnel_state::orig_output"] + [::core::mem::offset_of!(lwtunnel_state, orig_output) - 16usize]; + ["Offset of field: lwtunnel_state::orig_input"] + [::core::mem::offset_of!(lwtunnel_state, orig_input) - 24usize]; + ["Offset of field: lwtunnel_state::rcu"] + [::core::mem::offset_of!(lwtunnel_state, rcu) - 32usize]; + ["Offset of field: lwtunnel_state::data"] + [::core::mem::offset_of!(lwtunnel_state, data) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mac_address { + pub addr: [u8_; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mac_address"][::core::mem::size_of::() - 6usize]; + ["Alignment of mac_address"][::core::mem::align_of::() - 1usize]; + ["Offset of field: mac_address::addr"][::core::mem::offset_of!(mac_address, addr) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct macsec_context { + pub __bindgen_anon_1: macsec_context__bindgen_ty_1, + pub offload: macsec_offload, + pub secy: *mut macsec_secy, + pub rx_sc: *mut macsec_rx_sc, + pub sa: macsec_context__bindgen_ty_2, + pub stats: macsec_context__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union macsec_context__bindgen_ty_1 { + pub netdev: *mut net_device, + pub phydev: *mut phy_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_context__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of macsec_context__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_context__bindgen_ty_1::netdev"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_1, netdev) - 0usize]; + ["Offset of field: macsec_context__bindgen_ty_1::phydev"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_1, phydev) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct macsec_context__bindgen_ty_2 { + pub update_pn: bool_, + pub assoc_num: ::core::ffi::c_uchar, + pub key: [u8_; 128usize], + pub __bindgen_anon_1: macsec_context__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union macsec_context__bindgen_ty_2__bindgen_ty_1 { + pub rx_sa: *mut macsec_rx_sa, + pub tx_sa: *mut macsec_tx_sa, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_context__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of macsec_context__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_context__bindgen_ty_2__bindgen_ty_1::rx_sa"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_2__bindgen_ty_1, rx_sa) - 0usize]; + ["Offset of field: macsec_context__bindgen_ty_2__bindgen_ty_1::tx_sa"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_2__bindgen_ty_1, tx_sa) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_context__bindgen_ty_2"] + [::core::mem::size_of::() - 144usize]; + ["Alignment of macsec_context__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_context__bindgen_ty_2::update_pn"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_2, update_pn) - 0usize]; + ["Offset of field: macsec_context__bindgen_ty_2::assoc_num"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_2, assoc_num) - 1usize]; + ["Offset of field: macsec_context__bindgen_ty_2::key"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_2, key) - 2usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union macsec_context__bindgen_ty_3 { + pub tx_sc_stats: *mut macsec_tx_sc_stats, + pub tx_sa_stats: *mut macsec_tx_sa_stats, + pub rx_sc_stats: *mut macsec_rx_sc_stats, + pub rx_sa_stats: *mut macsec_rx_sa_stats, + pub dev_stats: *mut macsec_dev_stats, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_context__bindgen_ty_3"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of macsec_context__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_context__bindgen_ty_3::tx_sc_stats"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_3, tx_sc_stats) - 0usize]; + ["Offset of field: macsec_context__bindgen_ty_3::tx_sa_stats"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_3, tx_sa_stats) - 0usize]; + ["Offset of field: macsec_context__bindgen_ty_3::rx_sc_stats"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_3, rx_sc_stats) - 0usize]; + ["Offset of field: macsec_context__bindgen_ty_3::rx_sa_stats"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_3, rx_sa_stats) - 0usize]; + ["Offset of field: macsec_context__bindgen_ty_3::dev_stats"] + [::core::mem::offset_of!(macsec_context__bindgen_ty_3, dev_stats) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_context"][::core::mem::size_of::() - 184usize]; + ["Alignment of macsec_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_context::offload"] + [::core::mem::offset_of!(macsec_context, offload) - 8usize]; + ["Offset of field: macsec_context::secy"] + [::core::mem::offset_of!(macsec_context, secy) - 16usize]; + ["Offset of field: macsec_context::rx_sc"] + [::core::mem::offset_of!(macsec_context, rx_sc) - 24usize]; + ["Offset of field: macsec_context::sa"][::core::mem::offset_of!(macsec_context, sa) - 32usize]; + ["Offset of field: macsec_context::stats"] + [::core::mem::offset_of!(macsec_context, stats) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_dev_stats { + pub OutPktsUntagged: __u64, + pub InPktsUntagged: __u64, + pub OutPktsTooLong: __u64, + pub InPktsNoTag: __u64, + pub InPktsBadTag: __u64, + pub InPktsUnknownSCI: __u64, + pub InPktsNoSCI: __u64, + pub InPktsOverrun: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_dev_stats"][::core::mem::size_of::() - 64usize]; + ["Alignment of macsec_dev_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_dev_stats::OutPktsUntagged"] + [::core::mem::offset_of!(macsec_dev_stats, OutPktsUntagged) - 0usize]; + ["Offset of field: macsec_dev_stats::InPktsUntagged"] + [::core::mem::offset_of!(macsec_dev_stats, InPktsUntagged) - 8usize]; + ["Offset of field: macsec_dev_stats::OutPktsTooLong"] + [::core::mem::offset_of!(macsec_dev_stats, OutPktsTooLong) - 16usize]; + ["Offset of field: macsec_dev_stats::InPktsNoTag"] + [::core::mem::offset_of!(macsec_dev_stats, InPktsNoTag) - 24usize]; + ["Offset of field: macsec_dev_stats::InPktsBadTag"] + [::core::mem::offset_of!(macsec_dev_stats, InPktsBadTag) - 32usize]; + ["Offset of field: macsec_dev_stats::InPktsUnknownSCI"] + [::core::mem::offset_of!(macsec_dev_stats, InPktsUnknownSCI) - 40usize]; + ["Offset of field: macsec_dev_stats::InPktsNoSCI"] + [::core::mem::offset_of!(macsec_dev_stats, InPktsNoSCI) - 48usize]; + ["Offset of field: macsec_dev_stats::InPktsOverrun"] + [::core::mem::offset_of!(macsec_dev_stats, InPktsOverrun) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_info { + pub sci: sci_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of macsec_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_info::sci"][::core::mem::offset_of!(macsec_info, sci) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union salt { + pub __bindgen_anon_1: salt__bindgen_ty_1, + pub bytes: [u8_; 12usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct salt__bindgen_ty_1 { + pub ssci: u32_, + pub pn: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of salt__bindgen_ty_1"][::core::mem::size_of::() - 12usize]; + ["Alignment of salt__bindgen_ty_1"][::core::mem::align_of::() - 1usize]; + ["Offset of field: salt__bindgen_ty_1::ssci"] + [::core::mem::offset_of!(salt__bindgen_ty_1, ssci) - 0usize]; + ["Offset of field: salt__bindgen_ty_1::pn"] + [::core::mem::offset_of!(salt__bindgen_ty_1, pn) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of salt"][::core::mem::size_of::() - 12usize]; + ["Alignment of salt"][::core::mem::align_of::() - 1usize]; + ["Offset of field: salt::bytes"][::core::mem::offset_of!(salt, bytes) - 0usize]; +}; +pub type salt_t = salt; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct macsec_key { + pub id: [u8_; 16usize], + pub tfm: *mut crypto_aead, + pub salt: salt_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_key"][::core::mem::size_of::() - 40usize]; + ["Alignment of macsec_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_key::id"][::core::mem::offset_of!(macsec_key, id) - 0usize]; + ["Offset of field: macsec_key::tfm"][::core::mem::offset_of!(macsec_key, tfm) - 16usize]; + ["Offset of field: macsec_key::salt"][::core::mem::offset_of!(macsec_key, salt) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_ops { + pub mdo_dev_open: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_dev_stop: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_add_secy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_upd_secy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_del_secy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_add_rxsc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_upd_rxsc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_del_rxsc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_add_rxsa: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_upd_rxsa: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_del_rxsa: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_add_txsa: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_upd_txsa: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_del_txsa: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_get_dev_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_get_tx_sc_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_get_tx_sa_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_get_rx_sc_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_get_rx_sa_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut macsec_context) -> ::core::ffi::c_int, + >, + pub mdo_insert_tx_tag: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub needed_headroom: ::core::ffi::c_uint, + pub needed_tailroom: ::core::ffi::c_uint, + pub rx_uses_md_dst: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_ops"][::core::mem::size_of::() - 176usize]; + ["Alignment of macsec_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_ops::mdo_dev_open"] + [::core::mem::offset_of!(macsec_ops, mdo_dev_open) - 0usize]; + ["Offset of field: macsec_ops::mdo_dev_stop"] + [::core::mem::offset_of!(macsec_ops, mdo_dev_stop) - 8usize]; + ["Offset of field: macsec_ops::mdo_add_secy"] + [::core::mem::offset_of!(macsec_ops, mdo_add_secy) - 16usize]; + ["Offset of field: macsec_ops::mdo_upd_secy"] + [::core::mem::offset_of!(macsec_ops, mdo_upd_secy) - 24usize]; + ["Offset of field: macsec_ops::mdo_del_secy"] + [::core::mem::offset_of!(macsec_ops, mdo_del_secy) - 32usize]; + ["Offset of field: macsec_ops::mdo_add_rxsc"] + [::core::mem::offset_of!(macsec_ops, mdo_add_rxsc) - 40usize]; + ["Offset of field: macsec_ops::mdo_upd_rxsc"] + [::core::mem::offset_of!(macsec_ops, mdo_upd_rxsc) - 48usize]; + ["Offset of field: macsec_ops::mdo_del_rxsc"] + [::core::mem::offset_of!(macsec_ops, mdo_del_rxsc) - 56usize]; + ["Offset of field: macsec_ops::mdo_add_rxsa"] + [::core::mem::offset_of!(macsec_ops, mdo_add_rxsa) - 64usize]; + ["Offset of field: macsec_ops::mdo_upd_rxsa"] + [::core::mem::offset_of!(macsec_ops, mdo_upd_rxsa) - 72usize]; + ["Offset of field: macsec_ops::mdo_del_rxsa"] + [::core::mem::offset_of!(macsec_ops, mdo_del_rxsa) - 80usize]; + ["Offset of field: macsec_ops::mdo_add_txsa"] + [::core::mem::offset_of!(macsec_ops, mdo_add_txsa) - 88usize]; + ["Offset of field: macsec_ops::mdo_upd_txsa"] + [::core::mem::offset_of!(macsec_ops, mdo_upd_txsa) - 96usize]; + ["Offset of field: macsec_ops::mdo_del_txsa"] + [::core::mem::offset_of!(macsec_ops, mdo_del_txsa) - 104usize]; + ["Offset of field: macsec_ops::mdo_get_dev_stats"] + [::core::mem::offset_of!(macsec_ops, mdo_get_dev_stats) - 112usize]; + ["Offset of field: macsec_ops::mdo_get_tx_sc_stats"] + [::core::mem::offset_of!(macsec_ops, mdo_get_tx_sc_stats) - 120usize]; + ["Offset of field: macsec_ops::mdo_get_tx_sa_stats"] + [::core::mem::offset_of!(macsec_ops, mdo_get_tx_sa_stats) - 128usize]; + ["Offset of field: macsec_ops::mdo_get_rx_sc_stats"] + [::core::mem::offset_of!(macsec_ops, mdo_get_rx_sc_stats) - 136usize]; + ["Offset of field: macsec_ops::mdo_get_rx_sa_stats"] + [::core::mem::offset_of!(macsec_ops, mdo_get_rx_sa_stats) - 144usize]; + ["Offset of field: macsec_ops::mdo_insert_tx_tag"] + [::core::mem::offset_of!(macsec_ops, mdo_insert_tx_tag) - 152usize]; + ["Offset of field: macsec_ops::needed_headroom"] + [::core::mem::offset_of!(macsec_ops, needed_headroom) - 160usize]; + ["Offset of field: macsec_ops::needed_tailroom"] + [::core::mem::offset_of!(macsec_ops, needed_tailroom) - 164usize]; + ["Offset of field: macsec_ops::rx_uses_md_dst"] + [::core::mem::offset_of!(macsec_ops, rx_uses_md_dst) - 168usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union pn { + pub __bindgen_anon_1: pn__bindgen_ty_1, + pub full64: u64_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pn__bindgen_ty_1 { + pub lower: u32_, + pub upper: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pn__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of pn__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: pn__bindgen_ty_1::lower"] + [::core::mem::offset_of!(pn__bindgen_ty_1, lower) - 0usize]; + ["Offset of field: pn__bindgen_ty_1::upper"] + [::core::mem::offset_of!(pn__bindgen_ty_1, upper) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pn"][::core::mem::size_of::() - 8usize]; + ["Alignment of pn"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pn::full64"][::core::mem::offset_of!(pn, full64) - 0usize]; +}; +pub type pn_t = pn; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct macsec_rx_sa { + pub key: macsec_key, + pub ssci: ssci_t, + pub lock: spinlock_t, + pub __bindgen_anon_1: macsec_rx_sa__bindgen_ty_1, + pub refcnt: refcount_t, + pub active: bool_, + pub stats: *mut macsec_rx_sa_stats, + pub sc: *mut macsec_rx_sc, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union macsec_rx_sa__bindgen_ty_1 { + pub next_pn_halves: pn_t, + pub next_pn: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_rx_sa__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of macsec_rx_sa__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_rx_sa__bindgen_ty_1::next_pn_halves"] + [::core::mem::offset_of!(macsec_rx_sa__bindgen_ty_1, next_pn_halves) - 0usize]; + ["Offset of field: macsec_rx_sa__bindgen_ty_1::next_pn"] + [::core::mem::offset_of!(macsec_rx_sa__bindgen_ty_1, next_pn) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_rx_sa"][::core::mem::size_of::() - 96usize]; + ["Alignment of macsec_rx_sa"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_rx_sa::key"][::core::mem::offset_of!(macsec_rx_sa, key) - 0usize]; + ["Offset of field: macsec_rx_sa::ssci"][::core::mem::offset_of!(macsec_rx_sa, ssci) - 40usize]; + ["Offset of field: macsec_rx_sa::lock"][::core::mem::offset_of!(macsec_rx_sa, lock) - 44usize]; + ["Offset of field: macsec_rx_sa::refcnt"] + [::core::mem::offset_of!(macsec_rx_sa, refcnt) - 56usize]; + ["Offset of field: macsec_rx_sa::active"] + [::core::mem::offset_of!(macsec_rx_sa, active) - 60usize]; + ["Offset of field: macsec_rx_sa::stats"] + [::core::mem::offset_of!(macsec_rx_sa, stats) - 64usize]; + ["Offset of field: macsec_rx_sa::sc"][::core::mem::offset_of!(macsec_rx_sa, sc) - 72usize]; + ["Offset of field: macsec_rx_sa::rcu"][::core::mem::offset_of!(macsec_rx_sa, rcu) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_rx_sa_stats { + pub InPktsOK: __u32, + pub InPktsInvalid: __u32, + pub InPktsNotValid: __u32, + pub InPktsNotUsingSA: __u32, + pub InPktsUnusedSA: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_rx_sa_stats"][::core::mem::size_of::() - 20usize]; + ["Alignment of macsec_rx_sa_stats"][::core::mem::align_of::() - 4usize]; + ["Offset of field: macsec_rx_sa_stats::InPktsOK"] + [::core::mem::offset_of!(macsec_rx_sa_stats, InPktsOK) - 0usize]; + ["Offset of field: macsec_rx_sa_stats::InPktsInvalid"] + [::core::mem::offset_of!(macsec_rx_sa_stats, InPktsInvalid) - 4usize]; + ["Offset of field: macsec_rx_sa_stats::InPktsNotValid"] + [::core::mem::offset_of!(macsec_rx_sa_stats, InPktsNotValid) - 8usize]; + ["Offset of field: macsec_rx_sa_stats::InPktsNotUsingSA"] + [::core::mem::offset_of!(macsec_rx_sa_stats, InPktsNotUsingSA) - 12usize]; + ["Offset of field: macsec_rx_sa_stats::InPktsUnusedSA"] + [::core::mem::offset_of!(macsec_rx_sa_stats, InPktsUnusedSA) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_rx_sc { + pub next: *mut macsec_rx_sc, + pub sci: sci_t, + pub active: bool_, + pub sa: [*mut macsec_rx_sa; 4usize], + pub stats: *mut pcpu_rx_sc_stats, + pub refcnt: refcount_t, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_rx_sc"][::core::mem::size_of::() - 88usize]; + ["Alignment of macsec_rx_sc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_rx_sc::next"][::core::mem::offset_of!(macsec_rx_sc, next) - 0usize]; + ["Offset of field: macsec_rx_sc::sci"][::core::mem::offset_of!(macsec_rx_sc, sci) - 8usize]; + ["Offset of field: macsec_rx_sc::active"] + [::core::mem::offset_of!(macsec_rx_sc, active) - 16usize]; + ["Offset of field: macsec_rx_sc::sa"][::core::mem::offset_of!(macsec_rx_sc, sa) - 24usize]; + ["Offset of field: macsec_rx_sc::stats"] + [::core::mem::offset_of!(macsec_rx_sc, stats) - 56usize]; + ["Offset of field: macsec_rx_sc::refcnt"] + [::core::mem::offset_of!(macsec_rx_sc, refcnt) - 64usize]; + ["Offset of field: macsec_rx_sc::callback_head"] + [::core::mem::offset_of!(macsec_rx_sc, callback_head) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_rx_sc_stats { + pub InOctetsValidated: __u64, + pub InOctetsDecrypted: __u64, + pub InPktsUnchecked: __u64, + pub InPktsDelayed: __u64, + pub InPktsOK: __u64, + pub InPktsInvalid: __u64, + pub InPktsLate: __u64, + pub InPktsNotValid: __u64, + pub InPktsNotUsingSA: __u64, + pub InPktsUnusedSA: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_rx_sc_stats"][::core::mem::size_of::() - 80usize]; + ["Alignment of macsec_rx_sc_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_rx_sc_stats::InOctetsValidated"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InOctetsValidated) - 0usize]; + ["Offset of field: macsec_rx_sc_stats::InOctetsDecrypted"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InOctetsDecrypted) - 8usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsUnchecked"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsUnchecked) - 16usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsDelayed"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsDelayed) - 24usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsOK"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsOK) - 32usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsInvalid"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsInvalid) - 40usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsLate"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsLate) - 48usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsNotValid"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsNotValid) - 56usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsNotUsingSA"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsNotUsingSA) - 64usize]; + ["Offset of field: macsec_rx_sc_stats::InPktsUnusedSA"] + [::core::mem::offset_of!(macsec_rx_sc_stats, InPktsUnusedSA) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_tx_sc { + pub active: bool_, + pub encoding_sa: u8_, + pub encrypt: bool_, + pub send_sci: bool_, + pub end_station: bool_, + pub scb: bool_, + pub sa: [*mut macsec_tx_sa; 4usize], + pub stats: *mut pcpu_tx_sc_stats, + pub md_dst: *mut metadata_dst, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_tx_sc"][::core::mem::size_of::() - 56usize]; + ["Alignment of macsec_tx_sc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_tx_sc::active"] + [::core::mem::offset_of!(macsec_tx_sc, active) - 0usize]; + ["Offset of field: macsec_tx_sc::encoding_sa"] + [::core::mem::offset_of!(macsec_tx_sc, encoding_sa) - 1usize]; + ["Offset of field: macsec_tx_sc::encrypt"] + [::core::mem::offset_of!(macsec_tx_sc, encrypt) - 2usize]; + ["Offset of field: macsec_tx_sc::send_sci"] + [::core::mem::offset_of!(macsec_tx_sc, send_sci) - 3usize]; + ["Offset of field: macsec_tx_sc::end_station"] + [::core::mem::offset_of!(macsec_tx_sc, end_station) - 4usize]; + ["Offset of field: macsec_tx_sc::scb"][::core::mem::offset_of!(macsec_tx_sc, scb) - 5usize]; + ["Offset of field: macsec_tx_sc::sa"][::core::mem::offset_of!(macsec_tx_sc, sa) - 8usize]; + ["Offset of field: macsec_tx_sc::stats"] + [::core::mem::offset_of!(macsec_tx_sc, stats) - 40usize]; + ["Offset of field: macsec_tx_sc::md_dst"] + [::core::mem::offset_of!(macsec_tx_sc, md_dst) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_secy { + pub netdev: *mut net_device, + pub n_rx_sc: ::core::ffi::c_uint, + pub sci: sci_t, + pub key_len: u16_, + pub icv_len: u16_, + pub validate_frames: macsec_validation_type, + pub xpn: bool_, + pub operational: bool_, + pub protect_frames: bool_, + pub replay_protect: bool_, + pub replay_window: u32_, + pub tx_sc: macsec_tx_sc, + pub rx_sc: *mut macsec_rx_sc, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_secy"][::core::mem::size_of::() - 104usize]; + ["Alignment of macsec_secy"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_secy::netdev"][::core::mem::offset_of!(macsec_secy, netdev) - 0usize]; + ["Offset of field: macsec_secy::n_rx_sc"] + [::core::mem::offset_of!(macsec_secy, n_rx_sc) - 8usize]; + ["Offset of field: macsec_secy::sci"][::core::mem::offset_of!(macsec_secy, sci) - 16usize]; + ["Offset of field: macsec_secy::key_len"] + [::core::mem::offset_of!(macsec_secy, key_len) - 24usize]; + ["Offset of field: macsec_secy::icv_len"] + [::core::mem::offset_of!(macsec_secy, icv_len) - 26usize]; + ["Offset of field: macsec_secy::validate_frames"] + [::core::mem::offset_of!(macsec_secy, validate_frames) - 28usize]; + ["Offset of field: macsec_secy::xpn"][::core::mem::offset_of!(macsec_secy, xpn) - 32usize]; + ["Offset of field: macsec_secy::operational"] + [::core::mem::offset_of!(macsec_secy, operational) - 33usize]; + ["Offset of field: macsec_secy::protect_frames"] + [::core::mem::offset_of!(macsec_secy, protect_frames) - 34usize]; + ["Offset of field: macsec_secy::replay_protect"] + [::core::mem::offset_of!(macsec_secy, replay_protect) - 35usize]; + ["Offset of field: macsec_secy::replay_window"] + [::core::mem::offset_of!(macsec_secy, replay_window) - 36usize]; + ["Offset of field: macsec_secy::tx_sc"][::core::mem::offset_of!(macsec_secy, tx_sc) - 40usize]; + ["Offset of field: macsec_secy::rx_sc"][::core::mem::offset_of!(macsec_secy, rx_sc) - 96usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct macsec_tx_sa { + pub key: macsec_key, + pub ssci: ssci_t, + pub lock: spinlock_t, + pub __bindgen_anon_1: macsec_tx_sa__bindgen_ty_1, + pub refcnt: refcount_t, + pub active: bool_, + pub stats: *mut macsec_tx_sa_stats, + pub rcu: callback_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union macsec_tx_sa__bindgen_ty_1 { + pub next_pn_halves: pn_t, + pub next_pn: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_tx_sa__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of macsec_tx_sa__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_tx_sa__bindgen_ty_1::next_pn_halves"] + [::core::mem::offset_of!(macsec_tx_sa__bindgen_ty_1, next_pn_halves) - 0usize]; + ["Offset of field: macsec_tx_sa__bindgen_ty_1::next_pn"] + [::core::mem::offset_of!(macsec_tx_sa__bindgen_ty_1, next_pn) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_tx_sa"][::core::mem::size_of::() - 88usize]; + ["Alignment of macsec_tx_sa"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_tx_sa::key"][::core::mem::offset_of!(macsec_tx_sa, key) - 0usize]; + ["Offset of field: macsec_tx_sa::ssci"][::core::mem::offset_of!(macsec_tx_sa, ssci) - 40usize]; + ["Offset of field: macsec_tx_sa::lock"][::core::mem::offset_of!(macsec_tx_sa, lock) - 44usize]; + ["Offset of field: macsec_tx_sa::refcnt"] + [::core::mem::offset_of!(macsec_tx_sa, refcnt) - 56usize]; + ["Offset of field: macsec_tx_sa::active"] + [::core::mem::offset_of!(macsec_tx_sa, active) - 60usize]; + ["Offset of field: macsec_tx_sa::stats"] + [::core::mem::offset_of!(macsec_tx_sa, stats) - 64usize]; + ["Offset of field: macsec_tx_sa::rcu"][::core::mem::offset_of!(macsec_tx_sa, rcu) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_tx_sa_stats { + pub OutPktsProtected: __u32, + pub OutPktsEncrypted: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_tx_sa_stats"][::core::mem::size_of::() - 8usize]; + ["Alignment of macsec_tx_sa_stats"][::core::mem::align_of::() - 4usize]; + ["Offset of field: macsec_tx_sa_stats::OutPktsProtected"] + [::core::mem::offset_of!(macsec_tx_sa_stats, OutPktsProtected) - 0usize]; + ["Offset of field: macsec_tx_sa_stats::OutPktsEncrypted"] + [::core::mem::offset_of!(macsec_tx_sa_stats, OutPktsEncrypted) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct macsec_tx_sc_stats { + pub OutPktsProtected: __u64, + pub OutPktsEncrypted: __u64, + pub OutOctetsProtected: __u64, + pub OutOctetsEncrypted: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of macsec_tx_sc_stats"][::core::mem::size_of::() - 32usize]; + ["Alignment of macsec_tx_sc_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: macsec_tx_sc_stats::OutPktsProtected"] + [::core::mem::offset_of!(macsec_tx_sc_stats, OutPktsProtected) - 0usize]; + ["Offset of field: macsec_tx_sc_stats::OutPktsEncrypted"] + [::core::mem::offset_of!(macsec_tx_sc_stats, OutPktsEncrypted) - 8usize]; + ["Offset of field: macsec_tx_sc_stats::OutOctetsProtected"] + [::core::mem::offset_of!(macsec_tx_sc_stats, OutOctetsProtected) - 16usize]; + ["Offset of field: macsec_tx_sc_stats::OutOctetsEncrypted"] + [::core::mem::offset_of!(macsec_tx_sc_stats, OutOctetsEncrypted) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct math_emu_info { + pub ___orig_eip: ::core::ffi::c_long, + pub regs: *mut pt_regs, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of math_emu_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of math_emu_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: math_emu_info::___orig_eip"] + [::core::mem::offset_of!(math_emu_info, ___orig_eip) - 0usize]; + ["Offset of field: math_emu_info::regs"][::core::mem::offset_of!(math_emu_info, regs) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mctp_dev { + pub dev: *mut net_device, + pub refs: refcount_t, + pub net: ::core::ffi::c_uint, + pub ops: *const mctp_netdev_ops, + pub addrs: *mut u8_, + pub num_addrs: usize, + pub addrs_lock: spinlock_t, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mctp_dev"][::core::mem::size_of::() - 64usize]; + ["Alignment of mctp_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mctp_dev::dev"][::core::mem::offset_of!(mctp_dev, dev) - 0usize]; + ["Offset of field: mctp_dev::refs"][::core::mem::offset_of!(mctp_dev, refs) - 8usize]; + ["Offset of field: mctp_dev::net"][::core::mem::offset_of!(mctp_dev, net) - 12usize]; + ["Offset of field: mctp_dev::ops"][::core::mem::offset_of!(mctp_dev, ops) - 16usize]; + ["Offset of field: mctp_dev::addrs"][::core::mem::offset_of!(mctp_dev, addrs) - 24usize]; + ["Offset of field: mctp_dev::num_addrs"] + [::core::mem::offset_of!(mctp_dev, num_addrs) - 32usize]; + ["Offset of field: mctp_dev::addrs_lock"] + [::core::mem::offset_of!(mctp_dev, addrs_lock) - 40usize]; + ["Offset of field: mctp_dev::rcu"][::core::mem::offset_of!(mctp_dev, rcu) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mctp_netdev_ops { + pub release_flow: + ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mctp_netdev_ops"][::core::mem::size_of::() - 8usize]; + ["Alignment of mctp_netdev_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mctp_netdev_ops::release_flow"] + [::core::mem::offset_of!(mctp_netdev_ops, release_flow) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mctp_sk_key { + pub net: ::core::ffi::c_uint, + pub peer_addr: mctp_eid_t, + pub local_addr: mctp_eid_t, + pub tag: __u8, + pub sk: *mut sock, + pub hlist: hlist_node, + pub sklist: hlist_node, + pub lock: spinlock_t, + pub refs: refcount_t, + pub reasm_head: *mut sk_buff, + pub reasm_tailp: *mut *mut sk_buff, + pub reasm_dead: bool_, + pub last_seq: u8_, + pub valid: bool_, + pub expiry: ::core::ffi::c_ulong, + pub dev_flow_state: ::core::ffi::c_ulong, + pub dev: *mut mctp_dev, + pub manual_alloc: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mctp_sk_key"][::core::mem::size_of::() - 112usize]; + ["Alignment of mctp_sk_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mctp_sk_key::net"][::core::mem::offset_of!(mctp_sk_key, net) - 0usize]; + ["Offset of field: mctp_sk_key::peer_addr"] + [::core::mem::offset_of!(mctp_sk_key, peer_addr) - 4usize]; + ["Offset of field: mctp_sk_key::local_addr"] + [::core::mem::offset_of!(mctp_sk_key, local_addr) - 5usize]; + ["Offset of field: mctp_sk_key::tag"][::core::mem::offset_of!(mctp_sk_key, tag) - 6usize]; + ["Offset of field: mctp_sk_key::sk"][::core::mem::offset_of!(mctp_sk_key, sk) - 8usize]; + ["Offset of field: mctp_sk_key::hlist"][::core::mem::offset_of!(mctp_sk_key, hlist) - 16usize]; + ["Offset of field: mctp_sk_key::sklist"] + [::core::mem::offset_of!(mctp_sk_key, sklist) - 32usize]; + ["Offset of field: mctp_sk_key::lock"][::core::mem::offset_of!(mctp_sk_key, lock) - 48usize]; + ["Offset of field: mctp_sk_key::refs"][::core::mem::offset_of!(mctp_sk_key, refs) - 52usize]; + ["Offset of field: mctp_sk_key::reasm_head"] + [::core::mem::offset_of!(mctp_sk_key, reasm_head) - 56usize]; + ["Offset of field: mctp_sk_key::reasm_tailp"] + [::core::mem::offset_of!(mctp_sk_key, reasm_tailp) - 64usize]; + ["Offset of field: mctp_sk_key::reasm_dead"] + [::core::mem::offset_of!(mctp_sk_key, reasm_dead) - 72usize]; + ["Offset of field: mctp_sk_key::last_seq"] + [::core::mem::offset_of!(mctp_sk_key, last_seq) - 73usize]; + ["Offset of field: mctp_sk_key::valid"][::core::mem::offset_of!(mctp_sk_key, valid) - 74usize]; + ["Offset of field: mctp_sk_key::expiry"] + [::core::mem::offset_of!(mctp_sk_key, expiry) - 80usize]; + ["Offset of field: mctp_sk_key::dev_flow_state"] + [::core::mem::offset_of!(mctp_sk_key, dev_flow_state) - 88usize]; + ["Offset of field: mctp_sk_key::dev"][::core::mem::offset_of!(mctp_sk_key, dev) - 96usize]; + ["Offset of field: mctp_sk_key::manual_alloc"] + [::core::mem::offset_of!(mctp_sk_key, manual_alloc) - 104usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mdio_bus_stats { + pub transfers: u64_stats_t, + pub errors: u64_stats_t, + pub writes: u64_stats_t, + pub reads: u64_stats_t, + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mdio_bus_stats"][::core::mem::size_of::() - 32usize]; + ["Alignment of mdio_bus_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mdio_bus_stats::transfers"] + [::core::mem::offset_of!(mdio_bus_stats, transfers) - 0usize]; + ["Offset of field: mdio_bus_stats::errors"] + [::core::mem::offset_of!(mdio_bus_stats, errors) - 8usize]; + ["Offset of field: mdio_bus_stats::writes"] + [::core::mem::offset_of!(mdio_bus_stats, writes) - 16usize]; + ["Offset of field: mdio_bus_stats::reads"] + [::core::mem::offset_of!(mdio_bus_stats, reads) - 24usize]; + ["Offset of field: mdio_bus_stats::syncp"] + [::core::mem::offset_of!(mdio_bus_stats, syncp) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mdio_device { + pub dev: device, + pub bus: *mut mii_bus, + pub modalias: [::core::ffi::c_char; 32usize], + pub bus_match: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: *const device_driver) -> ::core::ffi::c_int, + >, + pub device_free: ::core::option::Option, + pub device_remove: ::core::option::Option, + pub addr: ::core::ffi::c_int, + pub flags: ::core::ffi::c_int, + pub reset_state: ::core::ffi::c_int, + pub reset_gpio: *mut gpio_desc, + pub reset_ctrl: *mut reset_control, + pub reset_assert_delay: ::core::ffi::c_uint, + pub reset_deassert_delay: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mdio_device"][::core::mem::size_of::() - 856usize]; + ["Alignment of mdio_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mdio_device::dev"][::core::mem::offset_of!(mdio_device, dev) - 0usize]; + ["Offset of field: mdio_device::bus"][::core::mem::offset_of!(mdio_device, bus) - 752usize]; + ["Offset of field: mdio_device::modalias"] + [::core::mem::offset_of!(mdio_device, modalias) - 760usize]; + ["Offset of field: mdio_device::bus_match"] + [::core::mem::offset_of!(mdio_device, bus_match) - 792usize]; + ["Offset of field: mdio_device::device_free"] + [::core::mem::offset_of!(mdio_device, device_free) - 800usize]; + ["Offset of field: mdio_device::device_remove"] + [::core::mem::offset_of!(mdio_device, device_remove) - 808usize]; + ["Offset of field: mdio_device::addr"][::core::mem::offset_of!(mdio_device, addr) - 816usize]; + ["Offset of field: mdio_device::flags"][::core::mem::offset_of!(mdio_device, flags) - 820usize]; + ["Offset of field: mdio_device::reset_state"] + [::core::mem::offset_of!(mdio_device, reset_state) - 824usize]; + ["Offset of field: mdio_device::reset_gpio"] + [::core::mem::offset_of!(mdio_device, reset_gpio) - 832usize]; + ["Offset of field: mdio_device::reset_ctrl"] + [::core::mem::offset_of!(mdio_device, reset_ctrl) - 840usize]; + ["Offset of field: mdio_device::reset_assert_delay"] + [::core::mem::offset_of!(mdio_device, reset_assert_delay) - 848usize]; + ["Offset of field: mdio_device::reset_deassert_delay"] + [::core::mem::offset_of!(mdio_device, reset_deassert_delay) - 852usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mdio_driver_common { + pub driver: device_driver, + pub flags: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mdio_driver_common"][::core::mem::size_of::() - 152usize]; + ["Alignment of mdio_driver_common"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mdio_driver_common::driver"] + [::core::mem::offset_of!(mdio_driver_common, driver) - 0usize]; + ["Offset of field: mdio_driver_common::flags"] + [::core::mem::offset_of!(mdio_driver_common, flags) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mem_cgroup_id { + pub id: ::core::ffi::c_int, + pub ref_: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mem_cgroup_id"][::core::mem::size_of::() - 8usize]; + ["Alignment of mem_cgroup_id"][::core::mem::align_of::() - 4usize]; + ["Offset of field: mem_cgroup_id::id"][::core::mem::offset_of!(mem_cgroup_id, id) - 0usize]; + ["Offset of field: mem_cgroup_id::ref_"][::core::mem::offset_of!(mem_cgroup_id, ref_) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct vmpressure { + pub scanned: ::core::ffi::c_ulong, + pub reclaimed: ::core::ffi::c_ulong, + pub tree_scanned: ::core::ffi::c_ulong, + pub tree_reclaimed: ::core::ffi::c_ulong, + pub sr_lock: spinlock_t, + pub events: list_head, + pub events_lock: mutex, + pub work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vmpressure"][::core::mem::size_of::() - 120usize]; + ["Alignment of vmpressure"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vmpressure::scanned"][::core::mem::offset_of!(vmpressure, scanned) - 0usize]; + ["Offset of field: vmpressure::reclaimed"] + [::core::mem::offset_of!(vmpressure, reclaimed) - 8usize]; + ["Offset of field: vmpressure::tree_scanned"] + [::core::mem::offset_of!(vmpressure, tree_scanned) - 16usize]; + ["Offset of field: vmpressure::tree_reclaimed"] + [::core::mem::offset_of!(vmpressure, tree_reclaimed) - 24usize]; + ["Offset of field: vmpressure::sr_lock"] + [::core::mem::offset_of!(vmpressure, sr_lock) - 32usize]; + ["Offset of field: vmpressure::events"][::core::mem::offset_of!(vmpressure, events) - 40usize]; + ["Offset of field: vmpressure::events_lock"] + [::core::mem::offset_of!(vmpressure, events_lock) - 56usize]; + ["Offset of field: vmpressure::work"][::core::mem::offset_of!(vmpressure, work) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wb_domain { + pub lock: spinlock_t, + pub completions: fprop_global, + pub period_timer: timer_list, + pub period_time: ::core::ffi::c_ulong, + pub dirty_limit_tstamp: ::core::ffi::c_ulong, + pub dirty_limit: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wb_domain"][::core::mem::size_of::() - 120usize]; + ["Alignment of wb_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wb_domain::lock"][::core::mem::offset_of!(wb_domain, lock) - 0usize]; + ["Offset of field: wb_domain::completions"] + [::core::mem::offset_of!(wb_domain, completions) - 8usize]; + ["Offset of field: wb_domain::period_timer"] + [::core::mem::offset_of!(wb_domain, period_timer) - 56usize]; + ["Offset of field: wb_domain::period_time"] + [::core::mem::offset_of!(wb_domain, period_time) - 96usize]; + ["Offset of field: wb_domain::dirty_limit_tstamp"] + [::core::mem::offset_of!(wb_domain, dirty_limit_tstamp) - 104usize]; + ["Offset of field: wb_domain::dirty_limit"] + [::core::mem::offset_of!(wb_domain, dirty_limit) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wb_completion { + pub cnt: atomic_t, + pub waitq: *mut wait_queue_head_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wb_completion"][::core::mem::size_of::() - 16usize]; + ["Alignment of wb_completion"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wb_completion::cnt"][::core::mem::offset_of!(wb_completion, cnt) - 0usize]; + ["Offset of field: wb_completion::waitq"] + [::core::mem::offset_of!(wb_completion, waitq) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct memcg_cgwb_frn { + pub bdi_id: u64_, + pub memcg_id: ::core::ffi::c_int, + pub at: u64_, + pub done: wb_completion, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of memcg_cgwb_frn"][::core::mem::size_of::() - 40usize]; + ["Alignment of memcg_cgwb_frn"][::core::mem::align_of::() - 8usize]; + ["Offset of field: memcg_cgwb_frn::bdi_id"] + [::core::mem::offset_of!(memcg_cgwb_frn, bdi_id) - 0usize]; + ["Offset of field: memcg_cgwb_frn::memcg_id"] + [::core::mem::offset_of!(memcg_cgwb_frn, memcg_id) - 8usize]; + ["Offset of field: memcg_cgwb_frn::at"][::core::mem::offset_of!(memcg_cgwb_frn, at) - 16usize]; + ["Offset of field: memcg_cgwb_frn::done"] + [::core::mem::offset_of!(memcg_cgwb_frn, done) - 24usize]; +}; +#[repr(C)] +pub struct mem_cgroup { + pub css: cgroup_subsys_state, + pub id: mem_cgroup_id, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, + pub memory: page_counter, + pub __bindgen_anon_1: mem_cgroup__bindgen_ty_1, + pub memory_peaks: list_head, + pub swap_peaks: list_head, + pub peaks_lock: spinlock_t, + pub high_work: work_struct, + pub zswap_max: ::core::ffi::c_ulong, + pub zswap_writeback: bool_, + pub vmpressure: vmpressure, + pub oom_group: bool_, + pub swappiness: ::core::ffi::c_int, + pub events_file: cgroup_file, + pub events_local_file: cgroup_file, + pub swap_events_file: cgroup_file, + pub vmstats: *mut memcg_vmstats, + pub memory_events: [atomic_long_t; 9usize], + pub memory_events_local: [atomic_long_t; 9usize], + pub socket_pressure: ::core::ffi::c_ulong, + pub kmemcg_id: ::core::ffi::c_int, + pub objcg: *mut obj_cgroup, + pub orig_objcg: *mut obj_cgroup, + pub objcg_list: list_head, + pub vmstats_percpu: *mut memcg_vmstats_percpu, + pub cgwb_list: list_head, + pub cgwb_domain: wb_domain, + pub cgwb_frn: [memcg_cgwb_frn; 4usize], + pub deferred_split_queue: deferred_split, + pub mm_list: lru_gen_mm_list, + pub nodeinfo: __IncompleteArrayField<*mut mem_cgroup_per_node>, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[repr(C)] +pub struct mem_cgroup__bindgen_ty_1 { + pub swap: __BindgenUnionField, + pub memsw: __BindgenUnionField, + pub bindgen_union_field: [u64; 32usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mem_cgroup__bindgen_ty_1"] + [::core::mem::size_of::() - 256usize]; + ["Alignment of mem_cgroup__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: mem_cgroup__bindgen_ty_1::swap"] + [::core::mem::offset_of!(mem_cgroup__bindgen_ty_1, swap) - 0usize]; + ["Offset of field: mem_cgroup__bindgen_ty_1::memsw"] + [::core::mem::offset_of!(mem_cgroup__bindgen_ty_1, memsw) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mem_cgroup"][::core::mem::size_of::() - 1728usize]; + ["Alignment of mem_cgroup"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mem_cgroup::css"][::core::mem::offset_of!(mem_cgroup, css) - 0usize]; + ["Offset of field: mem_cgroup::id"][::core::mem::offset_of!(mem_cgroup, id) - 208usize]; + ["Offset of field: mem_cgroup::memory"][::core::mem::offset_of!(mem_cgroup, memory) - 256usize]; + ["Offset of field: mem_cgroup::memory_peaks"] + [::core::mem::offset_of!(mem_cgroup, memory_peaks) - 768usize]; + ["Offset of field: mem_cgroup::swap_peaks"] + [::core::mem::offset_of!(mem_cgroup, swap_peaks) - 784usize]; + ["Offset of field: mem_cgroup::peaks_lock"] + [::core::mem::offset_of!(mem_cgroup, peaks_lock) - 800usize]; + ["Offset of field: mem_cgroup::high_work"] + [::core::mem::offset_of!(mem_cgroup, high_work) - 808usize]; + ["Offset of field: mem_cgroup::zswap_max"] + [::core::mem::offset_of!(mem_cgroup, zswap_max) - 840usize]; + ["Offset of field: mem_cgroup::zswap_writeback"] + [::core::mem::offset_of!(mem_cgroup, zswap_writeback) - 848usize]; + ["Offset of field: mem_cgroup::vmpressure"] + [::core::mem::offset_of!(mem_cgroup, vmpressure) - 856usize]; + ["Offset of field: mem_cgroup::oom_group"] + [::core::mem::offset_of!(mem_cgroup, oom_group) - 976usize]; + ["Offset of field: mem_cgroup::swappiness"] + [::core::mem::offset_of!(mem_cgroup, swappiness) - 980usize]; + ["Offset of field: mem_cgroup::events_file"] + [::core::mem::offset_of!(mem_cgroup, events_file) - 984usize]; + ["Offset of field: mem_cgroup::events_local_file"] + [::core::mem::offset_of!(mem_cgroup, events_local_file) - 1040usize]; + ["Offset of field: mem_cgroup::swap_events_file"] + [::core::mem::offset_of!(mem_cgroup, swap_events_file) - 1096usize]; + ["Offset of field: mem_cgroup::vmstats"] + [::core::mem::offset_of!(mem_cgroup, vmstats) - 1152usize]; + ["Offset of field: mem_cgroup::memory_events"] + [::core::mem::offset_of!(mem_cgroup, memory_events) - 1160usize]; + ["Offset of field: mem_cgroup::memory_events_local"] + [::core::mem::offset_of!(mem_cgroup, memory_events_local) - 1232usize]; + ["Offset of field: mem_cgroup::socket_pressure"] + [::core::mem::offset_of!(mem_cgroup, socket_pressure) - 1304usize]; + ["Offset of field: mem_cgroup::kmemcg_id"] + [::core::mem::offset_of!(mem_cgroup, kmemcg_id) - 1312usize]; + ["Offset of field: mem_cgroup::objcg"][::core::mem::offset_of!(mem_cgroup, objcg) - 1320usize]; + ["Offset of field: mem_cgroup::orig_objcg"] + [::core::mem::offset_of!(mem_cgroup, orig_objcg) - 1328usize]; + ["Offset of field: mem_cgroup::objcg_list"] + [::core::mem::offset_of!(mem_cgroup, objcg_list) - 1336usize]; + ["Offset of field: mem_cgroup::vmstats_percpu"] + [::core::mem::offset_of!(mem_cgroup, vmstats_percpu) - 1352usize]; + ["Offset of field: mem_cgroup::cgwb_list"] + [::core::mem::offset_of!(mem_cgroup, cgwb_list) - 1360usize]; + ["Offset of field: mem_cgroup::cgwb_domain"] + [::core::mem::offset_of!(mem_cgroup, cgwb_domain) - 1376usize]; + ["Offset of field: mem_cgroup::cgwb_frn"] + [::core::mem::offset_of!(mem_cgroup, cgwb_frn) - 1496usize]; + ["Offset of field: mem_cgroup::deferred_split_queue"] + [::core::mem::offset_of!(mem_cgroup, deferred_split_queue) - 1656usize]; + ["Offset of field: mem_cgroup::mm_list"] + [::core::mem::offset_of!(mem_cgroup, mm_list) - 1688usize]; + ["Offset of field: mem_cgroup::nodeinfo"] + [::core::mem::offset_of!(mem_cgroup, nodeinfo) - 1712usize]; +}; +impl mem_cgroup { + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mem_cgroup_reclaim_iter { + pub position: *mut mem_cgroup, + pub generation: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mem_cgroup_reclaim_iter"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of mem_cgroup_reclaim_iter"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: mem_cgroup_reclaim_iter::position"] + [::core::mem::offset_of!(mem_cgroup_reclaim_iter, position) - 0usize]; + ["Offset of field: mem_cgroup_reclaim_iter::generation"] + [::core::mem::offset_of!(mem_cgroup_reclaim_iter, generation) - 8usize]; +}; +#[repr(C)] +pub struct mem_cgroup_per_node { + pub memcg: *mut mem_cgroup, + pub lruvec_stats_percpu: *mut lruvec_stats_percpu, + pub lruvec_stats: *mut lruvec_stats, + pub shrinker_info: *mut shrinker_info, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, + pub _pad1_: cacheline_padding, + pub lruvec: lruvec, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 32usize]>, + pub _pad2_: cacheline_padding, + pub lru_zone_size: [::core::ffi::c_ulong; 25usize], + pub iter: mem_cgroup_reclaim_iter, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 40usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mem_cgroup_per_node"][::core::mem::size_of::() - 1920usize]; + ["Alignment of mem_cgroup_per_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mem_cgroup_per_node::memcg"] + [::core::mem::offset_of!(mem_cgroup_per_node, memcg) - 0usize]; + ["Offset of field: mem_cgroup_per_node::lruvec_stats_percpu"] + [::core::mem::offset_of!(mem_cgroup_per_node, lruvec_stats_percpu) - 8usize]; + ["Offset of field: mem_cgroup_per_node::lruvec_stats"] + [::core::mem::offset_of!(mem_cgroup_per_node, lruvec_stats) - 16usize]; + ["Offset of field: mem_cgroup_per_node::shrinker_info"] + [::core::mem::offset_of!(mem_cgroup_per_node, shrinker_info) - 24usize]; + ["Offset of field: mem_cgroup_per_node::_pad1_"] + [::core::mem::offset_of!(mem_cgroup_per_node, _pad1_) - 64usize]; + ["Offset of field: mem_cgroup_per_node::lruvec"] + [::core::mem::offset_of!(mem_cgroup_per_node, lruvec) - 64usize]; + ["Offset of field: mem_cgroup_per_node::_pad2_"] + [::core::mem::offset_of!(mem_cgroup_per_node, _pad2_) - 1664usize]; + ["Offset of field: mem_cgroup_per_node::lru_zone_size"] + [::core::mem::offset_of!(mem_cgroup_per_node, lru_zone_size) - 1664usize]; + ["Offset of field: mem_cgroup_per_node::iter"] + [::core::mem::offset_of!(mem_cgroup_per_node, iter) - 1864usize]; +}; +impl mem_cgroup_per_node { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mem_dqinfo { + pub dqi_format: *mut quota_format_type, + pub dqi_fmt_id: ::core::ffi::c_int, + pub dqi_dirty_list: list_head, + pub dqi_flags: ::core::ffi::c_ulong, + pub dqi_bgrace: ::core::ffi::c_uint, + pub dqi_igrace: ::core::ffi::c_uint, + pub dqi_max_spc_limit: qsize_t, + pub dqi_max_ino_limit: qsize_t, + pub dqi_priv: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mem_dqinfo"][::core::mem::size_of::() - 72usize]; + ["Alignment of mem_dqinfo"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mem_dqinfo::dqi_format"] + [::core::mem::offset_of!(mem_dqinfo, dqi_format) - 0usize]; + ["Offset of field: mem_dqinfo::dqi_fmt_id"] + [::core::mem::offset_of!(mem_dqinfo, dqi_fmt_id) - 8usize]; + ["Offset of field: mem_dqinfo::dqi_dirty_list"] + [::core::mem::offset_of!(mem_dqinfo, dqi_dirty_list) - 16usize]; + ["Offset of field: mem_dqinfo::dqi_flags"] + [::core::mem::offset_of!(mem_dqinfo, dqi_flags) - 32usize]; + ["Offset of field: mem_dqinfo::dqi_bgrace"] + [::core::mem::offset_of!(mem_dqinfo, dqi_bgrace) - 40usize]; + ["Offset of field: mem_dqinfo::dqi_igrace"] + [::core::mem::offset_of!(mem_dqinfo, dqi_igrace) - 44usize]; + ["Offset of field: mem_dqinfo::dqi_max_spc_limit"] + [::core::mem::offset_of!(mem_dqinfo, dqi_max_spc_limit) - 48usize]; + ["Offset of field: mem_dqinfo::dqi_max_ino_limit"] + [::core::mem::offset_of!(mem_dqinfo, dqi_max_ino_limit) - 56usize]; + ["Offset of field: mem_dqinfo::dqi_priv"] + [::core::mem::offset_of!(mem_dqinfo, dqi_priv) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct memcg_vmstats { + pub state: [::core::ffi::c_long; 38usize], + pub events: [::core::ffi::c_ulong; 25usize], + pub state_local: [::core::ffi::c_long; 38usize], + pub events_local: [::core::ffi::c_ulong; 25usize], + pub state_pending: [::core::ffi::c_long; 38usize], + pub events_pending: [::core::ffi::c_ulong; 25usize], + pub stats_updates: atomic64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of memcg_vmstats"][::core::mem::size_of::() - 1520usize]; + ["Alignment of memcg_vmstats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: memcg_vmstats::state"] + [::core::mem::offset_of!(memcg_vmstats, state) - 0usize]; + ["Offset of field: memcg_vmstats::events"] + [::core::mem::offset_of!(memcg_vmstats, events) - 304usize]; + ["Offset of field: memcg_vmstats::state_local"] + [::core::mem::offset_of!(memcg_vmstats, state_local) - 504usize]; + ["Offset of field: memcg_vmstats::events_local"] + [::core::mem::offset_of!(memcg_vmstats, events_local) - 808usize]; + ["Offset of field: memcg_vmstats::state_pending"] + [::core::mem::offset_of!(memcg_vmstats, state_pending) - 1008usize]; + ["Offset of field: memcg_vmstats::events_pending"] + [::core::mem::offset_of!(memcg_vmstats, events_pending) - 1312usize]; + ["Offset of field: memcg_vmstats::stats_updates"] + [::core::mem::offset_of!(memcg_vmstats, stats_updates) - 1512usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct memcg_vmstats_percpu { + pub stats_updates: ::core::ffi::c_uint, + pub parent: *mut memcg_vmstats_percpu, + pub vmstats: *mut memcg_vmstats, + pub state: [::core::ffi::c_long; 38usize], + pub events: [::core::ffi::c_ulong; 25usize], + pub state_prev: [::core::ffi::c_long; 38usize], + pub events_prev: [::core::ffi::c_ulong; 25usize], + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of memcg_vmstats_percpu"][::core::mem::size_of::() - 1088usize]; + ["Alignment of memcg_vmstats_percpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: memcg_vmstats_percpu::stats_updates"] + [::core::mem::offset_of!(memcg_vmstats_percpu, stats_updates) - 0usize]; + ["Offset of field: memcg_vmstats_percpu::parent"] + [::core::mem::offset_of!(memcg_vmstats_percpu, parent) - 8usize]; + ["Offset of field: memcg_vmstats_percpu::vmstats"] + [::core::mem::offset_of!(memcg_vmstats_percpu, vmstats) - 16usize]; + ["Offset of field: memcg_vmstats_percpu::state"] + [::core::mem::offset_of!(memcg_vmstats_percpu, state) - 24usize]; + ["Offset of field: memcg_vmstats_percpu::events"] + [::core::mem::offset_of!(memcg_vmstats_percpu, events) - 328usize]; + ["Offset of field: memcg_vmstats_percpu::state_prev"] + [::core::mem::offset_of!(memcg_vmstats_percpu, state_prev) - 528usize]; + ["Offset of field: memcg_vmstats_percpu::events_prev"] + [::core::mem::offset_of!(memcg_vmstats_percpu, events_prev) - 832usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct memory_failure_stats { + pub total: ::core::ffi::c_ulong, + pub ignored: ::core::ffi::c_ulong, + pub failed: ::core::ffi::c_ulong, + pub delayed: ::core::ffi::c_ulong, + pub recovered: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of memory_failure_stats"][::core::mem::size_of::() - 40usize]; + ["Alignment of memory_failure_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: memory_failure_stats::total"] + [::core::mem::offset_of!(memory_failure_stats, total) - 0usize]; + ["Offset of field: memory_failure_stats::ignored"] + [::core::mem::offset_of!(memory_failure_stats, ignored) - 8usize]; + ["Offset of field: memory_failure_stats::failed"] + [::core::mem::offset_of!(memory_failure_stats, failed) - 16usize]; + ["Offset of field: memory_failure_stats::delayed"] + [::core::mem::offset_of!(memory_failure_stats, delayed) - 24usize]; + ["Offset of field: memory_failure_stats::recovered"] + [::core::mem::offset_of!(memory_failure_stats, recovered) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct memory_tier { + pub list: list_head, + pub memory_types: list_head, + pub adistance_start: ::core::ffi::c_int, + pub dev: device, + pub lower_tier_mask: nodemask_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of memory_tier"][::core::mem::size_of::() - 920usize]; + ["Alignment of memory_tier"][::core::mem::align_of::() - 8usize]; + ["Offset of field: memory_tier::list"][::core::mem::offset_of!(memory_tier, list) - 0usize]; + ["Offset of field: memory_tier::memory_types"] + [::core::mem::offset_of!(memory_tier, memory_types) - 16usize]; + ["Offset of field: memory_tier::adistance_start"] + [::core::mem::offset_of!(memory_tier, adistance_start) - 32usize]; + ["Offset of field: memory_tier::dev"][::core::mem::offset_of!(memory_tier, dev) - 40usize]; + ["Offset of field: memory_tier::lower_tier_mask"] + [::core::mem::offset_of!(memory_tier, lower_tier_mask) - 792usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mempolicy { + pub refcnt: atomic_t, + pub mode: ::core::ffi::c_ushort, + pub flags: ::core::ffi::c_ushort, + pub nodes: nodemask_t, + pub home_node: ::core::ffi::c_int, + pub w: mempolicy__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union mempolicy__bindgen_ty_1 { + pub cpuset_mems_allowed: nodemask_t, + pub user_nodemask: nodemask_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mempolicy__bindgen_ty_1"] + [::core::mem::size_of::() - 128usize]; + ["Alignment of mempolicy__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: mempolicy__bindgen_ty_1::cpuset_mems_allowed"] + [::core::mem::offset_of!(mempolicy__bindgen_ty_1, cpuset_mems_allowed) - 0usize]; + ["Offset of field: mempolicy__bindgen_ty_1::user_nodemask"] + [::core::mem::offset_of!(mempolicy__bindgen_ty_1, user_nodemask) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mempolicy"][::core::mem::size_of::() - 272usize]; + ["Alignment of mempolicy"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mempolicy::refcnt"][::core::mem::offset_of!(mempolicy, refcnt) - 0usize]; + ["Offset of field: mempolicy::mode"][::core::mem::offset_of!(mempolicy, mode) - 4usize]; + ["Offset of field: mempolicy::flags"][::core::mem::offset_of!(mempolicy, flags) - 6usize]; + ["Offset of field: mempolicy::nodes"][::core::mem::offset_of!(mempolicy, nodes) - 8usize]; + ["Offset of field: mempolicy::home_node"] + [::core::mem::offset_of!(mempolicy, home_node) - 136usize]; + ["Offset of field: mempolicy::w"][::core::mem::offset_of!(mempolicy, w) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_md_info { + pub if_id: u32_, + pub link: ::core::ffi::c_int, + pub dst_orig: *mut dst_entry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_md_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of xfrm_md_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_md_info::if_id"][::core::mem::offset_of!(xfrm_md_info, if_id) - 0usize]; + ["Offset of field: xfrm_md_info::link"][::core::mem::offset_of!(xfrm_md_info, link) - 4usize]; + ["Offset of field: xfrm_md_info::dst_orig"] + [::core::mem::offset_of!(xfrm_md_info, dst_orig) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct metadata_dst { + pub dst: dst_entry, + pub type_: metadata_type, + pub u: metadata_dst__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union metadata_dst__bindgen_ty_1 { + pub tun_info: ip_tunnel_info, + pub port_info: hw_port_info, + pub macsec_info: macsec_info, + pub xfrm_info: xfrm_md_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of metadata_dst__bindgen_ty_1"] + [::core::mem::size_of::() - 96usize]; + ["Alignment of metadata_dst__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: metadata_dst__bindgen_ty_1::tun_info"] + [::core::mem::offset_of!(metadata_dst__bindgen_ty_1, tun_info) - 0usize]; + ["Offset of field: metadata_dst__bindgen_ty_1::port_info"] + [::core::mem::offset_of!(metadata_dst__bindgen_ty_1, port_info) - 0usize]; + ["Offset of field: metadata_dst__bindgen_ty_1::macsec_info"] + [::core::mem::offset_of!(metadata_dst__bindgen_ty_1, macsec_info) - 0usize]; + ["Offset of field: metadata_dst__bindgen_ty_1::xfrm_info"] + [::core::mem::offset_of!(metadata_dst__bindgen_ty_1, xfrm_info) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of metadata_dst"][::core::mem::size_of::() - 240usize]; + ["Alignment of metadata_dst"][::core::mem::align_of::() - 8usize]; + ["Offset of field: metadata_dst::dst"][::core::mem::offset_of!(metadata_dst, dst) - 0usize]; + ["Offset of field: metadata_dst::type_"] + [::core::mem::offset_of!(metadata_dst, type_) - 136usize]; + ["Offset of field: metadata_dst::u"][::core::mem::offset_of!(metadata_dst, u) - 144usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mii_bus { + pub owner: *mut module, + pub name: *const ::core::ffi::c_char, + pub id: [::core::ffi::c_char; 61usize], + pub priv_: *mut ::core::ffi::c_void, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_bus, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_bus, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: u16_, + ) -> ::core::ffi::c_int, + >, + pub read_c45: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_bus, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub write_c45: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_bus, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + arg5: u16_, + ) -> ::core::ffi::c_int, + >, + pub reset: + ::core::option::Option ::core::ffi::c_int>, + pub stats: [mdio_bus_stats; 32usize], + pub mdio_lock: mutex, + pub parent: *mut device, + pub state: mii_bus__bindgen_ty_1, + pub dev: device, + pub mdio_map: [*mut mdio_device; 32usize], + pub phy_mask: u32_, + pub phy_ignore_ta_mask: u32_, + pub irq: [::core::ffi::c_int; 32usize], + pub reset_delay_us: ::core::ffi::c_int, + pub reset_post_delay_us: ::core::ffi::c_int, + pub reset_gpiod: *mut gpio_desc, + pub shared_lock: mutex, + pub shared: [*mut phy_package_shared; 32usize], +} +pub const mii_bus_MDIOBUS_ALLOCATED: mii_bus__bindgen_ty_1 = 1; +pub const mii_bus_MDIOBUS_REGISTERED: mii_bus__bindgen_ty_1 = 2; +pub const mii_bus_MDIOBUS_UNREGISTERED: mii_bus__bindgen_ty_1 = 3; +pub const mii_bus_MDIOBUS_RELEASED: mii_bus__bindgen_ty_1 = 4; +pub type mii_bus__bindgen_ty_1 = ::core::ffi::c_uint; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mii_bus"][::core::mem::size_of::() - 2648usize]; + ["Alignment of mii_bus"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mii_bus::owner"][::core::mem::offset_of!(mii_bus, owner) - 0usize]; + ["Offset of field: mii_bus::name"][::core::mem::offset_of!(mii_bus, name) - 8usize]; + ["Offset of field: mii_bus::id"][::core::mem::offset_of!(mii_bus, id) - 16usize]; + ["Offset of field: mii_bus::priv_"][::core::mem::offset_of!(mii_bus, priv_) - 80usize]; + ["Offset of field: mii_bus::read"][::core::mem::offset_of!(mii_bus, read) - 88usize]; + ["Offset of field: mii_bus::write"][::core::mem::offset_of!(mii_bus, write) - 96usize]; + ["Offset of field: mii_bus::read_c45"][::core::mem::offset_of!(mii_bus, read_c45) - 104usize]; + ["Offset of field: mii_bus::write_c45"][::core::mem::offset_of!(mii_bus, write_c45) - 112usize]; + ["Offset of field: mii_bus::reset"][::core::mem::offset_of!(mii_bus, reset) - 120usize]; + ["Offset of field: mii_bus::stats"][::core::mem::offset_of!(mii_bus, stats) - 128usize]; + ["Offset of field: mii_bus::mdio_lock"] + [::core::mem::offset_of!(mii_bus, mdio_lock) - 1152usize]; + ["Offset of field: mii_bus::parent"][::core::mem::offset_of!(mii_bus, parent) - 1184usize]; + ["Offset of field: mii_bus::state"][::core::mem::offset_of!(mii_bus, state) - 1192usize]; + ["Offset of field: mii_bus::dev"][::core::mem::offset_of!(mii_bus, dev) - 1200usize]; + ["Offset of field: mii_bus::mdio_map"][::core::mem::offset_of!(mii_bus, mdio_map) - 1952usize]; + ["Offset of field: mii_bus::phy_mask"][::core::mem::offset_of!(mii_bus, phy_mask) - 2208usize]; + ["Offset of field: mii_bus::phy_ignore_ta_mask"] + [::core::mem::offset_of!(mii_bus, phy_ignore_ta_mask) - 2212usize]; + ["Offset of field: mii_bus::irq"][::core::mem::offset_of!(mii_bus, irq) - 2216usize]; + ["Offset of field: mii_bus::reset_delay_us"] + [::core::mem::offset_of!(mii_bus, reset_delay_us) - 2344usize]; + ["Offset of field: mii_bus::reset_post_delay_us"] + [::core::mem::offset_of!(mii_bus, reset_post_delay_us) - 2348usize]; + ["Offset of field: mii_bus::reset_gpiod"] + [::core::mem::offset_of!(mii_bus, reset_gpiod) - 2352usize]; + ["Offset of field: mii_bus::shared_lock"] + [::core::mem::offset_of!(mii_bus, shared_lock) - 2360usize]; + ["Offset of field: mii_bus::shared"][::core::mem::offset_of!(mii_bus, shared) - 2392usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mii_timestamper { + pub rxtstamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_timestamper, + arg2: *mut sk_buff, + arg3: ::core::ffi::c_int, + ) -> bool_, + >, + pub txtstamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_timestamper, + arg2: *mut sk_buff, + arg3: ::core::ffi::c_int, + ), + >, + pub hwtstamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_timestamper, + arg2: *mut kernel_hwtstamp_config, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub link_state: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut mii_timestamper, arg2: *mut phy_device), + >, + pub ts_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut mii_timestamper, + arg2: *mut kernel_ethtool_ts_info, + ) -> ::core::ffi::c_int, + >, + pub device: *mut device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mii_timestamper"][::core::mem::size_of::() - 48usize]; + ["Alignment of mii_timestamper"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mii_timestamper::rxtstamp"] + [::core::mem::offset_of!(mii_timestamper, rxtstamp) - 0usize]; + ["Offset of field: mii_timestamper::txtstamp"] + [::core::mem::offset_of!(mii_timestamper, txtstamp) - 8usize]; + ["Offset of field: mii_timestamper::hwtstamp"] + [::core::mem::offset_of!(mii_timestamper, hwtstamp) - 16usize]; + ["Offset of field: mii_timestamper::link_state"] + [::core::mem::offset_of!(mii_timestamper, link_state) - 24usize]; + ["Offset of field: mii_timestamper::ts_info"] + [::core::mem::offset_of!(mii_timestamper, ts_info) - 32usize]; + ["Offset of field: mii_timestamper::device"] + [::core::mem::offset_of!(mii_timestamper, device) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mm_cid { + pub time: u64_, + pub cid: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mm_cid"][::core::mem::size_of::() - 16usize]; + ["Alignment of mm_cid"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mm_cid::time"][::core::mem::offset_of!(mm_cid, time) - 0usize]; + ["Offset of field: mm_cid::cid"][::core::mem::offset_of!(mm_cid, cid) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uprobes_state { + pub xol_area: *mut xol_area, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uprobes_state"][::core::mem::size_of::() - 8usize]; + ["Alignment of uprobes_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uprobes_state::xol_area"] + [::core::mem::offset_of!(uprobes_state, xol_area) - 0usize]; +}; +#[repr(C)] +pub struct mm_struct { + pub __bindgen_anon_1: mm_struct__bindgen_ty_1, + pub cpu_bitmap: __IncompleteArrayField<::core::ffi::c_ulong>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mm_struct__bindgen_ty_1 { + pub __bindgen_anon_1: mm_struct__bindgen_ty_1__bindgen_ty_1, + pub mm_mt: maple_tree, + pub mmap_base: ::core::ffi::c_ulong, + pub mmap_legacy_base: ::core::ffi::c_ulong, + pub mmap_compat_base: ::core::ffi::c_ulong, + pub mmap_compat_legacy_base: ::core::ffi::c_ulong, + pub task_size: ::core::ffi::c_ulong, + pub pgd: *mut pgd_t, + pub membarrier_state: atomic_t, + pub mm_users: atomic_t, + pub pcpu_cid: *mut mm_cid, + pub mm_cid_next_scan: ::core::ffi::c_ulong, + pub pgtables_bytes: atomic_long_t, + pub map_count: ::core::ffi::c_int, + pub page_table_lock: spinlock_t, + pub mmap_lock: rw_semaphore, + pub mmlist: list_head, + pub mm_lock_seq: ::core::ffi::c_int, + pub hiwater_rss: ::core::ffi::c_ulong, + pub hiwater_vm: ::core::ffi::c_ulong, + pub total_vm: ::core::ffi::c_ulong, + pub locked_vm: ::core::ffi::c_ulong, + pub pinned_vm: atomic64_t, + pub data_vm: ::core::ffi::c_ulong, + pub exec_vm: ::core::ffi::c_ulong, + pub stack_vm: ::core::ffi::c_ulong, + pub def_flags: ::core::ffi::c_ulong, + pub write_protect_seq: seqcount_t, + pub arg_lock: spinlock_t, + pub start_code: ::core::ffi::c_ulong, + pub end_code: ::core::ffi::c_ulong, + pub start_data: ::core::ffi::c_ulong, + pub end_data: ::core::ffi::c_ulong, + pub start_brk: ::core::ffi::c_ulong, + pub brk: ::core::ffi::c_ulong, + pub start_stack: ::core::ffi::c_ulong, + pub arg_start: ::core::ffi::c_ulong, + pub arg_end: ::core::ffi::c_ulong, + pub env_start: ::core::ffi::c_ulong, + pub env_end: ::core::ffi::c_ulong, + pub saved_auxv: [::core::ffi::c_ulong; 52usize], + pub rss_stat: [percpu_counter; 4usize], + pub binfmt: *mut linux_binfmt, + pub context: mm_context_t, + pub flags: ::core::ffi::c_ulong, + pub ioctx_lock: spinlock_t, + pub ioctx_table: *mut kioctx_table, + pub owner: *mut task_struct, + pub user_ns: *mut user_namespace, + pub exe_file: *mut file, + pub notifier_subscriptions: *mut mmu_notifier_subscriptions, + pub numa_next_scan: ::core::ffi::c_ulong, + pub numa_scan_offset: ::core::ffi::c_ulong, + pub numa_scan_seq: ::core::ffi::c_int, + pub tlb_flush_pending: atomic_t, + pub tlb_flush_batched: atomic_t, + pub uprobes_state: uprobes_state, + pub hugetlb_usage: atomic_long_t, + pub async_put_work: work_struct, + pub iommu_mm: *mut iommu_mm_data, + pub ksm_merging_pages: ::core::ffi::c_ulong, + pub ksm_rmap_items: ::core::ffi::c_ulong, + pub ksm_zero_pages: atomic_long_t, + pub lru_gen: mm_struct__bindgen_ty_1__bindgen_ty_2, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mm_struct__bindgen_ty_1__bindgen_ty_1 { + pub mm_count: atomic_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mm_struct__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of mm_struct__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: mm_struct__bindgen_ty_1__bindgen_ty_1::mm_count"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1__bindgen_ty_1, mm_count) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mm_struct__bindgen_ty_1__bindgen_ty_2 { + pub list: list_head, + pub bitmap: ::core::ffi::c_ulong, + pub memcg: *mut mem_cgroup, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mm_struct__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of mm_struct__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: mm_struct__bindgen_ty_1__bindgen_ty_2::list"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1__bindgen_ty_2, list) - 0usize]; + ["Offset of field: mm_struct__bindgen_ty_1__bindgen_ty_2::bitmap"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1__bindgen_ty_2, bitmap) - 16usize]; + ["Offset of field: mm_struct__bindgen_ty_1__bindgen_ty_2::memcg"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1__bindgen_ty_2, memcg) - 24usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mm_struct__bindgen_ty_1"] + [::core::mem::size_of::() - 1344usize]; + ["Alignment of mm_struct__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mm_mt"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mm_mt) - 64usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mmap_base"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mmap_base) - 80usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mmap_legacy_base"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mmap_legacy_base) - 88usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mmap_compat_base"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mmap_compat_base) - 96usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mmap_compat_legacy_base"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mmap_compat_legacy_base) - 104usize]; + ["Offset of field: mm_struct__bindgen_ty_1::task_size"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, task_size) - 112usize]; + ["Offset of field: mm_struct__bindgen_ty_1::pgd"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, pgd) - 120usize]; + ["Offset of field: mm_struct__bindgen_ty_1::membarrier_state"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, membarrier_state) - 128usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mm_users"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mm_users) - 132usize]; + ["Offset of field: mm_struct__bindgen_ty_1::pcpu_cid"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, pcpu_cid) - 136usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mm_cid_next_scan"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mm_cid_next_scan) - 144usize]; + ["Offset of field: mm_struct__bindgen_ty_1::pgtables_bytes"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, pgtables_bytes) - 152usize]; + ["Offset of field: mm_struct__bindgen_ty_1::map_count"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, map_count) - 160usize]; + ["Offset of field: mm_struct__bindgen_ty_1::page_table_lock"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, page_table_lock) - 164usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mmap_lock"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mmap_lock) - 168usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mmlist"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mmlist) - 208usize]; + ["Offset of field: mm_struct__bindgen_ty_1::mm_lock_seq"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, mm_lock_seq) - 224usize]; + ["Offset of field: mm_struct__bindgen_ty_1::hiwater_rss"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, hiwater_rss) - 232usize]; + ["Offset of field: mm_struct__bindgen_ty_1::hiwater_vm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, hiwater_vm) - 240usize]; + ["Offset of field: mm_struct__bindgen_ty_1::total_vm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, total_vm) - 248usize]; + ["Offset of field: mm_struct__bindgen_ty_1::locked_vm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, locked_vm) - 256usize]; + ["Offset of field: mm_struct__bindgen_ty_1::pinned_vm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, pinned_vm) - 264usize]; + ["Offset of field: mm_struct__bindgen_ty_1::data_vm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, data_vm) - 272usize]; + ["Offset of field: mm_struct__bindgen_ty_1::exec_vm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, exec_vm) - 280usize]; + ["Offset of field: mm_struct__bindgen_ty_1::stack_vm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, stack_vm) - 288usize]; + ["Offset of field: mm_struct__bindgen_ty_1::def_flags"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, def_flags) - 296usize]; + ["Offset of field: mm_struct__bindgen_ty_1::write_protect_seq"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, write_protect_seq) - 304usize]; + ["Offset of field: mm_struct__bindgen_ty_1::arg_lock"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, arg_lock) - 308usize]; + ["Offset of field: mm_struct__bindgen_ty_1::start_code"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, start_code) - 312usize]; + ["Offset of field: mm_struct__bindgen_ty_1::end_code"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, end_code) - 320usize]; + ["Offset of field: mm_struct__bindgen_ty_1::start_data"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, start_data) - 328usize]; + ["Offset of field: mm_struct__bindgen_ty_1::end_data"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, end_data) - 336usize]; + ["Offset of field: mm_struct__bindgen_ty_1::start_brk"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, start_brk) - 344usize]; + ["Offset of field: mm_struct__bindgen_ty_1::brk"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, brk) - 352usize]; + ["Offset of field: mm_struct__bindgen_ty_1::start_stack"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, start_stack) - 360usize]; + ["Offset of field: mm_struct__bindgen_ty_1::arg_start"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, arg_start) - 368usize]; + ["Offset of field: mm_struct__bindgen_ty_1::arg_end"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, arg_end) - 376usize]; + ["Offset of field: mm_struct__bindgen_ty_1::env_start"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, env_start) - 384usize]; + ["Offset of field: mm_struct__bindgen_ty_1::env_end"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, env_end) - 392usize]; + ["Offset of field: mm_struct__bindgen_ty_1::saved_auxv"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, saved_auxv) - 400usize]; + ["Offset of field: mm_struct__bindgen_ty_1::rss_stat"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, rss_stat) - 816usize]; + ["Offset of field: mm_struct__bindgen_ty_1::binfmt"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, binfmt) - 976usize]; + ["Offset of field: mm_struct__bindgen_ty_1::context"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, context) - 984usize]; + ["Offset of field: mm_struct__bindgen_ty_1::flags"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, flags) - 1120usize]; + ["Offset of field: mm_struct__bindgen_ty_1::ioctx_lock"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, ioctx_lock) - 1128usize]; + ["Offset of field: mm_struct__bindgen_ty_1::ioctx_table"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, ioctx_table) - 1136usize]; + ["Offset of field: mm_struct__bindgen_ty_1::owner"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, owner) - 1144usize]; + ["Offset of field: mm_struct__bindgen_ty_1::user_ns"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, user_ns) - 1152usize]; + ["Offset of field: mm_struct__bindgen_ty_1::exe_file"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, exe_file) - 1160usize]; + ["Offset of field: mm_struct__bindgen_ty_1::notifier_subscriptions"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, notifier_subscriptions) - 1168usize]; + ["Offset of field: mm_struct__bindgen_ty_1::numa_next_scan"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, numa_next_scan) - 1176usize]; + ["Offset of field: mm_struct__bindgen_ty_1::numa_scan_offset"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, numa_scan_offset) - 1184usize]; + ["Offset of field: mm_struct__bindgen_ty_1::numa_scan_seq"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, numa_scan_seq) - 1192usize]; + ["Offset of field: mm_struct__bindgen_ty_1::tlb_flush_pending"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, tlb_flush_pending) - 1196usize]; + ["Offset of field: mm_struct__bindgen_ty_1::tlb_flush_batched"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, tlb_flush_batched) - 1200usize]; + ["Offset of field: mm_struct__bindgen_ty_1::uprobes_state"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, uprobes_state) - 1208usize]; + ["Offset of field: mm_struct__bindgen_ty_1::hugetlb_usage"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, hugetlb_usage) - 1216usize]; + ["Offset of field: mm_struct__bindgen_ty_1::async_put_work"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, async_put_work) - 1224usize]; + ["Offset of field: mm_struct__bindgen_ty_1::iommu_mm"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, iommu_mm) - 1256usize]; + ["Offset of field: mm_struct__bindgen_ty_1::ksm_merging_pages"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, ksm_merging_pages) - 1264usize]; + ["Offset of field: mm_struct__bindgen_ty_1::ksm_rmap_items"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, ksm_rmap_items) - 1272usize]; + ["Offset of field: mm_struct__bindgen_ty_1::ksm_zero_pages"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, ksm_zero_pages) - 1280usize]; + ["Offset of field: mm_struct__bindgen_ty_1::lru_gen"] + [::core::mem::offset_of!(mm_struct__bindgen_ty_1, lru_gen) - 1288usize]; +}; +impl mm_struct__bindgen_ty_1 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mm_struct"][::core::mem::size_of::() - 1344usize]; + ["Alignment of mm_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mm_struct::cpu_bitmap"] + [::core::mem::offset_of!(mm_struct, cpu_bitmap) - 1344usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mmu_notifier_subscriptions { + pub list: hlist_head, + pub has_itree: bool_, + pub lock: spinlock_t, + pub invalidate_seq: ::core::ffi::c_ulong, + pub active_invalidate_ranges: ::core::ffi::c_ulong, + pub itree: rb_root_cached, + pub wq: wait_queue_head_t, + pub deferred_list: hlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mmu_notifier_subscriptions"] + [::core::mem::size_of::() - 80usize]; + ["Alignment of mmu_notifier_subscriptions"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: mmu_notifier_subscriptions::list"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, list) - 0usize]; + ["Offset of field: mmu_notifier_subscriptions::has_itree"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, has_itree) - 8usize]; + ["Offset of field: mmu_notifier_subscriptions::lock"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, lock) - 12usize]; + ["Offset of field: mmu_notifier_subscriptions::invalidate_seq"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, invalidate_seq) - 16usize]; + ["Offset of field: mmu_notifier_subscriptions::active_invalidate_ranges"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, active_invalidate_ranges) - 24usize]; + ["Offset of field: mmu_notifier_subscriptions::itree"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, itree) - 32usize]; + ["Offset of field: mmu_notifier_subscriptions::wq"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, wq) - 48usize]; + ["Offset of field: mmu_notifier_subscriptions::deferred_list"] + [::core::mem::offset_of!(mmu_notifier_subscriptions, deferred_list) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uid_gid_extent { + pub first: u32_, + pub lower_first: u32_, + pub count: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uid_gid_extent"][::core::mem::size_of::() - 12usize]; + ["Alignment of uid_gid_extent"][::core::mem::align_of::() - 4usize]; + ["Offset of field: uid_gid_extent::first"] + [::core::mem::offset_of!(uid_gid_extent, first) - 0usize]; + ["Offset of field: uid_gid_extent::lower_first"] + [::core::mem::offset_of!(uid_gid_extent, lower_first) - 4usize]; + ["Offset of field: uid_gid_extent::count"] + [::core::mem::offset_of!(uid_gid_extent, count) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct uid_gid_map { + pub __bindgen_anon_1: uid_gid_map__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union uid_gid_map__bindgen_ty_1 { + pub __bindgen_anon_1: uid_gid_map__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: uid_gid_map__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uid_gid_map__bindgen_ty_1__bindgen_ty_1 { + pub extent: [uid_gid_extent; 5usize], + pub nr_extents: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uid_gid_map__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of uid_gid_map__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: uid_gid_map__bindgen_ty_1__bindgen_ty_1::extent"] + [::core::mem::offset_of!(uid_gid_map__bindgen_ty_1__bindgen_ty_1, extent) - 0usize]; + ["Offset of field: uid_gid_map__bindgen_ty_1__bindgen_ty_1::nr_extents"] + [::core::mem::offset_of!(uid_gid_map__bindgen_ty_1__bindgen_ty_1, nr_extents) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uid_gid_map__bindgen_ty_1__bindgen_ty_2 { + pub forward: *mut uid_gid_extent, + pub reverse: *mut uid_gid_extent, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uid_gid_map__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of uid_gid_map__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: uid_gid_map__bindgen_ty_1__bindgen_ty_2::forward"] + [::core::mem::offset_of!(uid_gid_map__bindgen_ty_1__bindgen_ty_2, forward) - 0usize]; + ["Offset of field: uid_gid_map__bindgen_ty_1__bindgen_ty_2::reverse"] + [::core::mem::offset_of!(uid_gid_map__bindgen_ty_1__bindgen_ty_2, reverse) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uid_gid_map__bindgen_ty_1"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of uid_gid_map__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uid_gid_map"][::core::mem::size_of::() - 64usize]; + ["Alignment of uid_gid_map"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mnt_idmap { + pub uid_map: uid_gid_map, + pub gid_map: uid_gid_map, + pub count: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mnt_idmap"][::core::mem::size_of::() - 136usize]; + ["Alignment of mnt_idmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mnt_idmap::uid_map"][::core::mem::offset_of!(mnt_idmap, uid_map) - 0usize]; + ["Offset of field: mnt_idmap::gid_map"][::core::mem::offset_of!(mnt_idmap, gid_map) - 64usize]; + ["Offset of field: mnt_idmap::count"][::core::mem::offset_of!(mnt_idmap, count) - 128usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mnt_namespace { + pub ns: ns_common, + pub root: *mut mount, + pub mounts: rb_root, + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub seq: u64_, + pub poll: wait_queue_head_t, + pub event: u64_, + pub nr_mounts: ::core::ffi::c_uint, + pub pending_mounts: ::core::ffi::c_uint, + pub mnt_ns_tree_node: rb_node, + pub passive: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mnt_namespace"][::core::mem::size_of::() - 136usize]; + ["Alignment of mnt_namespace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mnt_namespace::ns"][::core::mem::offset_of!(mnt_namespace, ns) - 0usize]; + ["Offset of field: mnt_namespace::root"] + [::core::mem::offset_of!(mnt_namespace, root) - 24usize]; + ["Offset of field: mnt_namespace::mounts"] + [::core::mem::offset_of!(mnt_namespace, mounts) - 32usize]; + ["Offset of field: mnt_namespace::user_ns"] + [::core::mem::offset_of!(mnt_namespace, user_ns) - 40usize]; + ["Offset of field: mnt_namespace::ucounts"] + [::core::mem::offset_of!(mnt_namespace, ucounts) - 48usize]; + ["Offset of field: mnt_namespace::seq"][::core::mem::offset_of!(mnt_namespace, seq) - 56usize]; + ["Offset of field: mnt_namespace::poll"] + [::core::mem::offset_of!(mnt_namespace, poll) - 64usize]; + ["Offset of field: mnt_namespace::event"] + [::core::mem::offset_of!(mnt_namespace, event) - 88usize]; + ["Offset of field: mnt_namespace::nr_mounts"] + [::core::mem::offset_of!(mnt_namespace, nr_mounts) - 96usize]; + ["Offset of field: mnt_namespace::pending_mounts"] + [::core::mem::offset_of!(mnt_namespace, pending_mounts) - 100usize]; + ["Offset of field: mnt_namespace::mnt_ns_tree_node"] + [::core::mem::offset_of!(mnt_namespace, mnt_ns_tree_node) - 104usize]; + ["Offset of field: mnt_namespace::passive"] + [::core::mem::offset_of!(mnt_namespace, passive) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mnt_pcp { + pub mnt_count: ::core::ffi::c_int, + pub mnt_writers: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mnt_pcp"][::core::mem::size_of::() - 8usize]; + ["Alignment of mnt_pcp"][::core::mem::align_of::() - 4usize]; + ["Offset of field: mnt_pcp::mnt_count"][::core::mem::offset_of!(mnt_pcp, mnt_count) - 0usize]; + ["Offset of field: mnt_pcp::mnt_writers"] + [::core::mem::offset_of!(mnt_pcp, mnt_writers) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mod_arch_specific { + pub num_orcs: ::core::ffi::c_uint, + pub orc_unwind_ip: *mut ::core::ffi::c_int, + pub orc_unwind: *mut orc_entry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mod_arch_specific"][::core::mem::size_of::() - 24usize]; + ["Alignment of mod_arch_specific"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mod_arch_specific::num_orcs"] + [::core::mem::offset_of!(mod_arch_specific, num_orcs) - 0usize]; + ["Offset of field: mod_arch_specific::orc_unwind_ip"] + [::core::mem::offset_of!(mod_arch_specific, orc_unwind_ip) - 8usize]; + ["Offset of field: mod_arch_specific::orc_unwind"] + [::core::mem::offset_of!(mod_arch_specific, orc_unwind) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mod_kallsyms { + pub symtab: *mut Elf64_Sym, + pub num_symtab: ::core::ffi::c_uint, + pub strtab: *mut ::core::ffi::c_char, + pub typetab: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mod_kallsyms"][::core::mem::size_of::() - 32usize]; + ["Alignment of mod_kallsyms"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mod_kallsyms::symtab"] + [::core::mem::offset_of!(mod_kallsyms, symtab) - 0usize]; + ["Offset of field: mod_kallsyms::num_symtab"] + [::core::mem::offset_of!(mod_kallsyms, num_symtab) - 8usize]; + ["Offset of field: mod_kallsyms::strtab"] + [::core::mem::offset_of!(mod_kallsyms, strtab) - 16usize]; + ["Offset of field: mod_kallsyms::typetab"] + [::core::mem::offset_of!(mod_kallsyms, typetab) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mod_tree_node { + pub mod_: *mut module, + pub node: latch_tree_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mod_tree_node"][::core::mem::size_of::() - 56usize]; + ["Alignment of mod_tree_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mod_tree_node::mod_"][::core::mem::offset_of!(mod_tree_node, mod_) - 0usize]; + ["Offset of field: mod_tree_node::node"][::core::mem::offset_of!(mod_tree_node, node) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct module_kobject { + pub kobj: kobject, + pub mod_: *mut module, + pub drivers_dir: *mut kobject, + pub mp: *mut module_param_attrs, + pub kobj_completion: *mut completion, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module_kobject"][::core::mem::size_of::() - 96usize]; + ["Alignment of module_kobject"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module_kobject::kobj"] + [::core::mem::offset_of!(module_kobject, kobj) - 0usize]; + ["Offset of field: module_kobject::mod_"] + [::core::mem::offset_of!(module_kobject, mod_) - 64usize]; + ["Offset of field: module_kobject::drivers_dir"] + [::core::mem::offset_of!(module_kobject, drivers_dir) - 72usize]; + ["Offset of field: module_kobject::mp"][::core::mem::offset_of!(module_kobject, mp) - 80usize]; + ["Offset of field: module_kobject::kobj_completion"] + [::core::mem::offset_of!(module_kobject, kobj_completion) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct module_memory { + pub base: *mut ::core::ffi::c_void, + pub size: ::core::ffi::c_uint, + pub mtn: mod_tree_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module_memory"][::core::mem::size_of::() - 72usize]; + ["Alignment of module_memory"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module_memory::base"][::core::mem::offset_of!(module_memory, base) - 0usize]; + ["Offset of field: module_memory::size"][::core::mem::offset_of!(module_memory, size) - 8usize]; + ["Offset of field: module_memory::mtn"][::core::mem::offset_of!(module_memory, mtn) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct module { + pub state: module_state, + pub list: list_head, + pub name: [::core::ffi::c_char; 56usize], + pub build_id: [::core::ffi::c_uchar; 20usize], + pub mkobj: module_kobject, + pub modinfo_attrs: *mut module_attribute, + pub version: *const ::core::ffi::c_char, + pub srcversion: *const ::core::ffi::c_char, + pub holders_dir: *mut kobject, + pub syms: *const kernel_symbol, + pub crcs: *const s32, + pub num_syms: ::core::ffi::c_uint, + pub param_lock: mutex, + pub kp: *mut kernel_param, + pub num_kp: ::core::ffi::c_uint, + pub num_gpl_syms: ::core::ffi::c_uint, + pub gpl_syms: *const kernel_symbol, + pub gpl_crcs: *const s32, + pub using_gplonly_symbols: bool_, + pub sig_ok: bool_, + pub async_probe_requested: bool_, + pub num_exentries: ::core::ffi::c_uint, + pub extable: *mut exception_table_entry, + pub init: ::core::option::Option ::core::ffi::c_int>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, + pub mem: [module_memory; 7usize], + pub arch: mod_arch_specific, + pub taints: ::core::ffi::c_ulong, + pub num_bugs: ::core::ffi::c_uint, + pub bug_list: list_head, + pub bug_table: *mut bug_entry, + pub kallsyms: *mut mod_kallsyms, + pub core_kallsyms: mod_kallsyms, + pub sect_attrs: *mut module_sect_attrs, + pub notes_attrs: *mut module_notes_attrs, + pub args: *mut ::core::ffi::c_char, + pub percpu: *mut ::core::ffi::c_void, + pub percpu_size: ::core::ffi::c_uint, + pub noinstr_text_start: *mut ::core::ffi::c_void, + pub noinstr_text_size: ::core::ffi::c_uint, + pub num_tracepoints: ::core::ffi::c_uint, + pub tracepoints_ptrs: *const ::core::ffi::c_int, + pub num_srcu_structs: ::core::ffi::c_uint, + pub srcu_struct_ptrs: *mut *mut srcu_struct, + pub num_bpf_raw_events: ::core::ffi::c_uint, + pub bpf_raw_events: *mut bpf_raw_event_map, + pub btf_data_size: ::core::ffi::c_uint, + pub btf_base_data_size: ::core::ffi::c_uint, + pub btf_data: *mut ::core::ffi::c_void, + pub btf_base_data: *mut ::core::ffi::c_void, + pub jump_entries: *mut jump_entry, + pub num_jump_entries: ::core::ffi::c_uint, + pub num_trace_bprintk_fmt: ::core::ffi::c_uint, + pub trace_bprintk_fmt_start: *mut *const ::core::ffi::c_char, + pub trace_events: *mut *mut trace_event_call, + pub num_trace_events: ::core::ffi::c_uint, + pub trace_evals: *mut *mut trace_eval_map, + pub num_trace_evals: ::core::ffi::c_uint, + pub num_ftrace_callsites: ::core::ffi::c_uint, + pub ftrace_callsites: *mut ::core::ffi::c_ulong, + pub kprobes_text_start: *mut ::core::ffi::c_void, + pub kprobes_text_size: ::core::ffi::c_uint, + pub kprobe_blacklist: *mut ::core::ffi::c_ulong, + pub num_kprobe_blacklist: ::core::ffi::c_uint, + pub num_static_call_sites: ::core::ffi::c_int, + pub static_call_sites: *mut static_call_site, + pub printk_index_size: ::core::ffi::c_uint, + pub printk_index_start: *mut *mut pi_entry, + pub source_list: list_head, + pub target_list: list_head, + pub exit: ::core::option::Option, + pub refcnt: atomic_t, + pub its_num_pages: ::core::ffi::c_int, + pub its_page_array: *mut *mut ::core::ffi::c_void, + pub ei_funcs: *mut error_injection_entry, + pub num_ei_funcs: ::core::ffi::c_uint, + pub dyndbg_info: _ddebug_info, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module"][::core::mem::size_of::() - 1344usize]; + ["Alignment of module"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module::state"][::core::mem::offset_of!(module, state) - 0usize]; + ["Offset of field: module::list"][::core::mem::offset_of!(module, list) - 8usize]; + ["Offset of field: module::name"][::core::mem::offset_of!(module, name) - 24usize]; + ["Offset of field: module::build_id"][::core::mem::offset_of!(module, build_id) - 80usize]; + ["Offset of field: module::mkobj"][::core::mem::offset_of!(module, mkobj) - 104usize]; + ["Offset of field: module::modinfo_attrs"] + [::core::mem::offset_of!(module, modinfo_attrs) - 200usize]; + ["Offset of field: module::version"][::core::mem::offset_of!(module, version) - 208usize]; + ["Offset of field: module::srcversion"][::core::mem::offset_of!(module, srcversion) - 216usize]; + ["Offset of field: module::holders_dir"] + [::core::mem::offset_of!(module, holders_dir) - 224usize]; + ["Offset of field: module::syms"][::core::mem::offset_of!(module, syms) - 232usize]; + ["Offset of field: module::crcs"][::core::mem::offset_of!(module, crcs) - 240usize]; + ["Offset of field: module::num_syms"][::core::mem::offset_of!(module, num_syms) - 248usize]; + ["Offset of field: module::param_lock"][::core::mem::offset_of!(module, param_lock) - 256usize]; + ["Offset of field: module::kp"][::core::mem::offset_of!(module, kp) - 288usize]; + ["Offset of field: module::num_kp"][::core::mem::offset_of!(module, num_kp) - 296usize]; + ["Offset of field: module::num_gpl_syms"] + [::core::mem::offset_of!(module, num_gpl_syms) - 300usize]; + ["Offset of field: module::gpl_syms"][::core::mem::offset_of!(module, gpl_syms) - 304usize]; + ["Offset of field: module::gpl_crcs"][::core::mem::offset_of!(module, gpl_crcs) - 312usize]; + ["Offset of field: module::using_gplonly_symbols"] + [::core::mem::offset_of!(module, using_gplonly_symbols) - 320usize]; + ["Offset of field: module::sig_ok"][::core::mem::offset_of!(module, sig_ok) - 321usize]; + ["Offset of field: module::async_probe_requested"] + [::core::mem::offset_of!(module, async_probe_requested) - 322usize]; + ["Offset of field: module::num_exentries"] + [::core::mem::offset_of!(module, num_exentries) - 324usize]; + ["Offset of field: module::extable"][::core::mem::offset_of!(module, extable) - 328usize]; + ["Offset of field: module::init"][::core::mem::offset_of!(module, init) - 336usize]; + ["Offset of field: module::mem"][::core::mem::offset_of!(module, mem) - 384usize]; + ["Offset of field: module::arch"][::core::mem::offset_of!(module, arch) - 888usize]; + ["Offset of field: module::taints"][::core::mem::offset_of!(module, taints) - 912usize]; + ["Offset of field: module::num_bugs"][::core::mem::offset_of!(module, num_bugs) - 920usize]; + ["Offset of field: module::bug_list"][::core::mem::offset_of!(module, bug_list) - 928usize]; + ["Offset of field: module::bug_table"][::core::mem::offset_of!(module, bug_table) - 944usize]; + ["Offset of field: module::kallsyms"][::core::mem::offset_of!(module, kallsyms) - 952usize]; + ["Offset of field: module::core_kallsyms"] + [::core::mem::offset_of!(module, core_kallsyms) - 960usize]; + ["Offset of field: module::sect_attrs"][::core::mem::offset_of!(module, sect_attrs) - 992usize]; + ["Offset of field: module::notes_attrs"] + [::core::mem::offset_of!(module, notes_attrs) - 1000usize]; + ["Offset of field: module::args"][::core::mem::offset_of!(module, args) - 1008usize]; + ["Offset of field: module::percpu"][::core::mem::offset_of!(module, percpu) - 1016usize]; + ["Offset of field: module::percpu_size"] + [::core::mem::offset_of!(module, percpu_size) - 1024usize]; + ["Offset of field: module::noinstr_text_start"] + [::core::mem::offset_of!(module, noinstr_text_start) - 1032usize]; + ["Offset of field: module::noinstr_text_size"] + [::core::mem::offset_of!(module, noinstr_text_size) - 1040usize]; + ["Offset of field: module::num_tracepoints"] + [::core::mem::offset_of!(module, num_tracepoints) - 1044usize]; + ["Offset of field: module::tracepoints_ptrs"] + [::core::mem::offset_of!(module, tracepoints_ptrs) - 1048usize]; + ["Offset of field: module::num_srcu_structs"] + [::core::mem::offset_of!(module, num_srcu_structs) - 1056usize]; + ["Offset of field: module::srcu_struct_ptrs"] + [::core::mem::offset_of!(module, srcu_struct_ptrs) - 1064usize]; + ["Offset of field: module::num_bpf_raw_events"] + [::core::mem::offset_of!(module, num_bpf_raw_events) - 1072usize]; + ["Offset of field: module::bpf_raw_events"] + [::core::mem::offset_of!(module, bpf_raw_events) - 1080usize]; + ["Offset of field: module::btf_data_size"] + [::core::mem::offset_of!(module, btf_data_size) - 1088usize]; + ["Offset of field: module::btf_base_data_size"] + [::core::mem::offset_of!(module, btf_base_data_size) - 1092usize]; + ["Offset of field: module::btf_data"][::core::mem::offset_of!(module, btf_data) - 1096usize]; + ["Offset of field: module::btf_base_data"] + [::core::mem::offset_of!(module, btf_base_data) - 1104usize]; + ["Offset of field: module::jump_entries"] + [::core::mem::offset_of!(module, jump_entries) - 1112usize]; + ["Offset of field: module::num_jump_entries"] + [::core::mem::offset_of!(module, num_jump_entries) - 1120usize]; + ["Offset of field: module::num_trace_bprintk_fmt"] + [::core::mem::offset_of!(module, num_trace_bprintk_fmt) - 1124usize]; + ["Offset of field: module::trace_bprintk_fmt_start"] + [::core::mem::offset_of!(module, trace_bprintk_fmt_start) - 1128usize]; + ["Offset of field: module::trace_events"] + [::core::mem::offset_of!(module, trace_events) - 1136usize]; + ["Offset of field: module::num_trace_events"] + [::core::mem::offset_of!(module, num_trace_events) - 1144usize]; + ["Offset of field: module::trace_evals"] + [::core::mem::offset_of!(module, trace_evals) - 1152usize]; + ["Offset of field: module::num_trace_evals"] + [::core::mem::offset_of!(module, num_trace_evals) - 1160usize]; + ["Offset of field: module::num_ftrace_callsites"] + [::core::mem::offset_of!(module, num_ftrace_callsites) - 1164usize]; + ["Offset of field: module::ftrace_callsites"] + [::core::mem::offset_of!(module, ftrace_callsites) - 1168usize]; + ["Offset of field: module::kprobes_text_start"] + [::core::mem::offset_of!(module, kprobes_text_start) - 1176usize]; + ["Offset of field: module::kprobes_text_size"] + [::core::mem::offset_of!(module, kprobes_text_size) - 1184usize]; + ["Offset of field: module::kprobe_blacklist"] + [::core::mem::offset_of!(module, kprobe_blacklist) - 1192usize]; + ["Offset of field: module::num_kprobe_blacklist"] + [::core::mem::offset_of!(module, num_kprobe_blacklist) - 1200usize]; + ["Offset of field: module::num_static_call_sites"] + [::core::mem::offset_of!(module, num_static_call_sites) - 1204usize]; + ["Offset of field: module::static_call_sites"] + [::core::mem::offset_of!(module, static_call_sites) - 1208usize]; + ["Offset of field: module::printk_index_size"] + [::core::mem::offset_of!(module, printk_index_size) - 1216usize]; + ["Offset of field: module::printk_index_start"] + [::core::mem::offset_of!(module, printk_index_start) - 1224usize]; + ["Offset of field: module::source_list"] + [::core::mem::offset_of!(module, source_list) - 1232usize]; + ["Offset of field: module::target_list"] + [::core::mem::offset_of!(module, target_list) - 1248usize]; + ["Offset of field: module::exit"][::core::mem::offset_of!(module, exit) - 1264usize]; + ["Offset of field: module::refcnt"][::core::mem::offset_of!(module, refcnt) - 1272usize]; + ["Offset of field: module::its_num_pages"] + [::core::mem::offset_of!(module, its_num_pages) - 1276usize]; + ["Offset of field: module::its_page_array"] + [::core::mem::offset_of!(module, its_page_array) - 1280usize]; + ["Offset of field: module::ei_funcs"][::core::mem::offset_of!(module, ei_funcs) - 1288usize]; + ["Offset of field: module::num_ei_funcs"] + [::core::mem::offset_of!(module, num_ei_funcs) - 1296usize]; + ["Offset of field: module::dyndbg_info"] + [::core::mem::offset_of!(module, dyndbg_info) - 1304usize]; +}; +impl module { + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct module_attribute { + pub attr: attribute, + pub show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut module_attribute, + arg2: *mut module_kobject, + arg3: *mut ::core::ffi::c_char, + ) -> isize, + >, + pub store: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut module_attribute, + arg2: *mut module_kobject, + arg3: *const ::core::ffi::c_char, + arg4: usize, + ) -> isize, + >, + pub setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut module, arg2: *const ::core::ffi::c_char), + >, + pub test: ::core::option::Option ::core::ffi::c_int>, + pub free: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module_attribute"][::core::mem::size_of::() - 56usize]; + ["Alignment of module_attribute"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module_attribute::attr"] + [::core::mem::offset_of!(module_attribute, attr) - 0usize]; + ["Offset of field: module_attribute::show"] + [::core::mem::offset_of!(module_attribute, show) - 16usize]; + ["Offset of field: module_attribute::store"] + [::core::mem::offset_of!(module_attribute, store) - 24usize]; + ["Offset of field: module_attribute::setup"] + [::core::mem::offset_of!(module_attribute, setup) - 32usize]; + ["Offset of field: module_attribute::test"] + [::core::mem::offset_of!(module_attribute, test) - 40usize]; + ["Offset of field: module_attribute::free"] + [::core::mem::offset_of!(module_attribute, free) - 48usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct module_notes_attrs { + pub dir: *mut kobject, + pub notes: ::core::ffi::c_uint, + pub attrs: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module_notes_attrs"][::core::mem::size_of::() - 16usize]; + ["Alignment of module_notes_attrs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module_notes_attrs::dir"] + [::core::mem::offset_of!(module_notes_attrs, dir) - 0usize]; + ["Offset of field: module_notes_attrs::notes"] + [::core::mem::offset_of!(module_notes_attrs, notes) - 8usize]; + ["Offset of field: module_notes_attrs::attrs"] + [::core::mem::offset_of!(module_notes_attrs, attrs) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct param_attribute { + pub mattr: module_attribute, + pub param: *const kernel_param, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of param_attribute"][::core::mem::size_of::() - 64usize]; + ["Alignment of param_attribute"][::core::mem::align_of::() - 8usize]; + ["Offset of field: param_attribute::mattr"] + [::core::mem::offset_of!(param_attribute, mattr) - 0usize]; + ["Offset of field: param_attribute::param"] + [::core::mem::offset_of!(param_attribute, param) - 56usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct module_param_attrs { + pub num: ::core::ffi::c_uint, + pub grp: attribute_group, + pub attrs: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module_param_attrs"][::core::mem::size_of::() - 48usize]; + ["Alignment of module_param_attrs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module_param_attrs::num"] + [::core::mem::offset_of!(module_param_attrs, num) - 0usize]; + ["Offset of field: module_param_attrs::grp"] + [::core::mem::offset_of!(module_param_attrs, grp) - 8usize]; + ["Offset of field: module_param_attrs::attrs"] + [::core::mem::offset_of!(module_param_attrs, attrs) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct module_sect_attr { + pub battr: bin_attribute, + pub address: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module_sect_attr"][::core::mem::size_of::() - 80usize]; + ["Alignment of module_sect_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module_sect_attr::battr"] + [::core::mem::offset_of!(module_sect_attr, battr) - 0usize]; + ["Offset of field: module_sect_attr::address"] + [::core::mem::offset_of!(module_sect_attr, address) - 72usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct module_sect_attrs { + pub grp: attribute_group, + pub nsections: ::core::ffi::c_uint, + pub attrs: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of module_sect_attrs"][::core::mem::size_of::() - 48usize]; + ["Alignment of module_sect_attrs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: module_sect_attrs::grp"] + [::core::mem::offset_of!(module_sect_attrs, grp) - 0usize]; + ["Offset of field: module_sect_attrs::nsections"] + [::core::mem::offset_of!(module_sect_attrs, nsections) - 40usize]; + ["Offset of field: module_sect_attrs::attrs"] + [::core::mem::offset_of!(module_sect_attrs, attrs) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vfsmount { + pub mnt_root: *mut dentry, + pub mnt_sb: *mut super_block, + pub mnt_flags: ::core::ffi::c_int, + pub mnt_idmap: *mut mnt_idmap, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vfsmount"][::core::mem::size_of::() - 32usize]; + ["Alignment of vfsmount"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vfsmount::mnt_root"][::core::mem::offset_of!(vfsmount, mnt_root) - 0usize]; + ["Offset of field: vfsmount::mnt_sb"][::core::mem::offset_of!(vfsmount, mnt_sb) - 8usize]; + ["Offset of field: vfsmount::mnt_flags"] + [::core::mem::offset_of!(vfsmount, mnt_flags) - 16usize]; + ["Offset of field: vfsmount::mnt_idmap"] + [::core::mem::offset_of!(vfsmount, mnt_idmap) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct mount { + pub mnt_hash: hlist_node, + pub mnt_parent: *mut mount, + pub mnt_mountpoint: *mut dentry, + pub mnt: vfsmount, + pub __bindgen_anon_1: mount__bindgen_ty_1, + pub mnt_pcp: *mut mnt_pcp, + pub mnt_mounts: list_head, + pub mnt_child: list_head, + pub mnt_instance: list_head, + pub mnt_devname: *const ::core::ffi::c_char, + pub mnt_list: list_head, + pub mnt_expire: list_head, + pub mnt_share: list_head, + pub mnt_slave_list: list_head, + pub mnt_slave: list_head, + pub mnt_master: *mut mount, + pub mnt_ns: *mut mnt_namespace, + pub mnt_mp: *mut mountpoint, + pub __bindgen_anon_2: mount__bindgen_ty_2, + pub mnt_umounting: list_head, + pub mnt_fsnotify_marks: *mut fsnotify_mark_connector, + pub mnt_fsnotify_mask: __u32, + pub mnt_id: ::core::ffi::c_int, + pub mnt_id_unique: u64_, + pub mnt_group_id: ::core::ffi::c_int, + pub mnt_expiry_mark: ::core::ffi::c_int, + pub mnt_pins: hlist_head, + pub mnt_stuck_children: hlist_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union mount__bindgen_ty_1 { + pub mnt_node: rb_node, + pub mnt_rcu: callback_head, + pub mnt_llist: llist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mount__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of mount__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mount__bindgen_ty_1::mnt_node"] + [::core::mem::offset_of!(mount__bindgen_ty_1, mnt_node) - 0usize]; + ["Offset of field: mount__bindgen_ty_1::mnt_rcu"] + [::core::mem::offset_of!(mount__bindgen_ty_1, mnt_rcu) - 0usize]; + ["Offset of field: mount__bindgen_ty_1::mnt_llist"] + [::core::mem::offset_of!(mount__bindgen_ty_1, mnt_llist) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union mount__bindgen_ty_2 { + pub mnt_mp_list: hlist_node, + pub mnt_umount: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mount__bindgen_ty_2"][::core::mem::size_of::() - 16usize]; + ["Alignment of mount__bindgen_ty_2"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mount__bindgen_ty_2::mnt_mp_list"] + [::core::mem::offset_of!(mount__bindgen_ty_2, mnt_mp_list) - 0usize]; + ["Offset of field: mount__bindgen_ty_2::mnt_umount"] + [::core::mem::offset_of!(mount__bindgen_ty_2, mnt_umount) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mount"][::core::mem::size_of::() - 336usize]; + ["Alignment of mount"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mount::mnt_hash"][::core::mem::offset_of!(mount, mnt_hash) - 0usize]; + ["Offset of field: mount::mnt_parent"][::core::mem::offset_of!(mount, mnt_parent) - 16usize]; + ["Offset of field: mount::mnt_mountpoint"] + [::core::mem::offset_of!(mount, mnt_mountpoint) - 24usize]; + ["Offset of field: mount::mnt"][::core::mem::offset_of!(mount, mnt) - 32usize]; + ["Offset of field: mount::mnt_pcp"][::core::mem::offset_of!(mount, mnt_pcp) - 88usize]; + ["Offset of field: mount::mnt_mounts"][::core::mem::offset_of!(mount, mnt_mounts) - 96usize]; + ["Offset of field: mount::mnt_child"][::core::mem::offset_of!(mount, mnt_child) - 112usize]; + ["Offset of field: mount::mnt_instance"] + [::core::mem::offset_of!(mount, mnt_instance) - 128usize]; + ["Offset of field: mount::mnt_devname"][::core::mem::offset_of!(mount, mnt_devname) - 144usize]; + ["Offset of field: mount::mnt_list"][::core::mem::offset_of!(mount, mnt_list) - 152usize]; + ["Offset of field: mount::mnt_expire"][::core::mem::offset_of!(mount, mnt_expire) - 168usize]; + ["Offset of field: mount::mnt_share"][::core::mem::offset_of!(mount, mnt_share) - 184usize]; + ["Offset of field: mount::mnt_slave_list"] + [::core::mem::offset_of!(mount, mnt_slave_list) - 200usize]; + ["Offset of field: mount::mnt_slave"][::core::mem::offset_of!(mount, mnt_slave) - 216usize]; + ["Offset of field: mount::mnt_master"][::core::mem::offset_of!(mount, mnt_master) - 232usize]; + ["Offset of field: mount::mnt_ns"][::core::mem::offset_of!(mount, mnt_ns) - 240usize]; + ["Offset of field: mount::mnt_mp"][::core::mem::offset_of!(mount, mnt_mp) - 248usize]; + ["Offset of field: mount::mnt_umounting"] + [::core::mem::offset_of!(mount, mnt_umounting) - 272usize]; + ["Offset of field: mount::mnt_fsnotify_marks"] + [::core::mem::offset_of!(mount, mnt_fsnotify_marks) - 288usize]; + ["Offset of field: mount::mnt_fsnotify_mask"] + [::core::mem::offset_of!(mount, mnt_fsnotify_mask) - 296usize]; + ["Offset of field: mount::mnt_id"][::core::mem::offset_of!(mount, mnt_id) - 300usize]; + ["Offset of field: mount::mnt_id_unique"] + [::core::mem::offset_of!(mount, mnt_id_unique) - 304usize]; + ["Offset of field: mount::mnt_group_id"] + [::core::mem::offset_of!(mount, mnt_group_id) - 312usize]; + ["Offset of field: mount::mnt_expiry_mark"] + [::core::mem::offset_of!(mount, mnt_expiry_mark) - 316usize]; + ["Offset of field: mount::mnt_pins"][::core::mem::offset_of!(mount, mnt_pins) - 320usize]; + ["Offset of field: mount::mnt_stuck_children"] + [::core::mem::offset_of!(mount, mnt_stuck_children) - 328usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mountpoint { + pub m_hash: hlist_node, + pub m_dentry: *mut dentry, + pub m_list: hlist_head, + pub m_count: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mountpoint"][::core::mem::size_of::() - 40usize]; + ["Alignment of mountpoint"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mountpoint::m_hash"][::core::mem::offset_of!(mountpoint, m_hash) - 0usize]; + ["Offset of field: mountpoint::m_dentry"] + [::core::mem::offset_of!(mountpoint, m_dentry) - 16usize]; + ["Offset of field: mountpoint::m_list"][::core::mem::offset_of!(mountpoint, m_list) - 24usize]; + ["Offset of field: mountpoint::m_count"] + [::core::mem::offset_of!(mountpoint, m_count) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mptcp_mib { + pub mibs: [::core::ffi::c_ulong; 71usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of mptcp_mib"][::core::mem::size_of::() - 568usize]; + ["Alignment of mptcp_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: mptcp_mib::mibs"][::core::mem::offset_of!(mptcp_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct pci_msi_desc { + pub __bindgen_anon_1: pci_msi_desc__bindgen_ty_1, + pub msi_attrib: pci_msi_desc__bindgen_ty_2, + pub __bindgen_anon_2: pci_msi_desc__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pci_msi_desc__bindgen_ty_1 { + pub msi_mask: u32_, + pub msix_ctrl: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pci_msi_desc__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of pci_msi_desc__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: pci_msi_desc__bindgen_ty_1::msi_mask"] + [::core::mem::offset_of!(pci_msi_desc__bindgen_ty_1, msi_mask) - 0usize]; + ["Offset of field: pci_msi_desc__bindgen_ty_1::msix_ctrl"] + [::core::mem::offset_of!(pci_msi_desc__bindgen_ty_1, msix_ctrl) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pci_msi_desc__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub default_irq: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pci_msi_desc__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of pci_msi_desc__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: pci_msi_desc__bindgen_ty_2::default_irq"] + [::core::mem::offset_of!(pci_msi_desc__bindgen_ty_2, default_irq) - 4usize]; +}; +impl pci_msi_desc__bindgen_ty_2 { + #[inline] + pub fn is_msix(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_msix(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_msix_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_msix_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn multiple(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 3u8) as u8) } + } + #[inline] + pub fn set_multiple(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn multiple_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 3u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_multiple_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn multi_cap(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 3u8) as u8) } + } + #[inline] + pub fn set_multi_cap(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn multi_cap_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 3u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_multi_cap_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn can_mask(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_can_mask(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn can_mask_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_can_mask_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_64(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_64(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_64_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_64_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_virtual(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) } + } + #[inline] + pub fn set_is_virtual(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_virtual_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_is_virtual_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_msix: u8_, + multiple: u8_, + multi_cap: u8_, + can_mask: u8_, + is_64: u8_, + is_virtual: u8_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_msix: u8 = unsafe { ::core::mem::transmute(is_msix) }; + is_msix as u64 + }); + __bindgen_bitfield_unit.set(1usize, 3u8, { + let multiple: u8 = unsafe { ::core::mem::transmute(multiple) }; + multiple as u64 + }); + __bindgen_bitfield_unit.set(4usize, 3u8, { + let multi_cap: u8 = unsafe { ::core::mem::transmute(multi_cap) }; + multi_cap as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let can_mask: u8 = unsafe { ::core::mem::transmute(can_mask) }; + can_mask as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let is_64: u8 = unsafe { ::core::mem::transmute(is_64) }; + is_64 as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let is_virtual: u8 = unsafe { ::core::mem::transmute(is_virtual) }; + is_virtual as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pci_msi_desc__bindgen_ty_3 { + pub mask_pos: u8_, + pub mask_base: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pci_msi_desc__bindgen_ty_3"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of pci_msi_desc__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: pci_msi_desc__bindgen_ty_3::mask_pos"] + [::core::mem::offset_of!(pci_msi_desc__bindgen_ty_3, mask_pos) - 0usize]; + ["Offset of field: pci_msi_desc__bindgen_ty_3::mask_base"] + [::core::mem::offset_of!(pci_msi_desc__bindgen_ty_3, mask_base) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pci_msi_desc"][::core::mem::size_of::() - 24usize]; + ["Alignment of pci_msi_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pci_msi_desc::msi_attrib"] + [::core::mem::offset_of!(pci_msi_desc, msi_attrib) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union msi_domain_cookie { + pub value: u64_, + pub ptr: *mut ::core::ffi::c_void, + pub iobase: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_domain_cookie"][::core::mem::size_of::() - 8usize]; + ["Alignment of msi_domain_cookie"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_domain_cookie::value"] + [::core::mem::offset_of!(msi_domain_cookie, value) - 0usize]; + ["Offset of field: msi_domain_cookie::ptr"] + [::core::mem::offset_of!(msi_domain_cookie, ptr) - 0usize]; + ["Offset of field: msi_domain_cookie::iobase"] + [::core::mem::offset_of!(msi_domain_cookie, iobase) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union msi_instance_cookie { + pub value: u64_, + pub ptr: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_instance_cookie"][::core::mem::size_of::() - 8usize]; + ["Alignment of msi_instance_cookie"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_instance_cookie::value"] + [::core::mem::offset_of!(msi_instance_cookie, value) - 0usize]; + ["Offset of field: msi_instance_cookie::ptr"] + [::core::mem::offset_of!(msi_instance_cookie, ptr) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct msi_desc_data { + pub dcookie: msi_domain_cookie, + pub icookie: msi_instance_cookie, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_desc_data"][::core::mem::size_of::() - 16usize]; + ["Alignment of msi_desc_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_desc_data::dcookie"] + [::core::mem::offset_of!(msi_desc_data, dcookie) - 0usize]; + ["Offset of field: msi_desc_data::icookie"] + [::core::mem::offset_of!(msi_desc_data, icookie) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct msi_desc { + pub irq: ::core::ffi::c_uint, + pub nvec_used: ::core::ffi::c_uint, + pub dev: *mut device, + pub msg: msi_msg, + pub affinity: *mut irq_affinity_desc, + pub _bitfield_align_1: [u64; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub sysfs_attrs: *mut device_attribute, + pub write_msi_msg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut msi_desc, arg2: *mut ::core::ffi::c_void), + >, + pub write_msi_msg_data: *mut ::core::ffi::c_void, + pub msi_index: u16_, + pub __bindgen_anon_1: msi_desc__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union msi_desc__bindgen_ty_1 { + pub pci: pci_msi_desc, + pub data: msi_desc_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_desc__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of msi_desc__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_desc__bindgen_ty_1::pci"] + [::core::mem::offset_of!(msi_desc__bindgen_ty_1, pci) - 0usize]; + ["Offset of field: msi_desc__bindgen_ty_1::data"] + [::core::mem::offset_of!(msi_desc__bindgen_ty_1, data) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_desc"][::core::mem::size_of::() - 104usize]; + ["Alignment of msi_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_desc::irq"][::core::mem::offset_of!(msi_desc, irq) - 0usize]; + ["Offset of field: msi_desc::nvec_used"][::core::mem::offset_of!(msi_desc, nvec_used) - 4usize]; + ["Offset of field: msi_desc::dev"][::core::mem::offset_of!(msi_desc, dev) - 8usize]; + ["Offset of field: msi_desc::msg"][::core::mem::offset_of!(msi_desc, msg) - 16usize]; + ["Offset of field: msi_desc::affinity"][::core::mem::offset_of!(msi_desc, affinity) - 32usize]; + ["Offset of field: msi_desc::sysfs_attrs"] + [::core::mem::offset_of!(msi_desc, sysfs_attrs) - 48usize]; + ["Offset of field: msi_desc::write_msi_msg"] + [::core::mem::offset_of!(msi_desc, write_msi_msg) - 56usize]; + ["Offset of field: msi_desc::write_msi_msg_data"] + [::core::mem::offset_of!(msi_desc, write_msi_msg_data) - 64usize]; + ["Offset of field: msi_desc::msi_index"] + [::core::mem::offset_of!(msi_desc, msi_index) - 72usize]; +}; +impl msi_desc { + #[inline] + pub fn iommu_msi_iova(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 58u8) as u64) } + } + #[inline] + pub fn set_iommu_msi_iova(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 58u8, val as u64) + } + } + #[inline] + pub unsafe fn iommu_msi_iova_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 58u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_iommu_msi_iova_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 58u8, + val as u64, + ) + } + } + #[inline] + pub fn iommu_msi_shift(&self) -> u64_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(58usize, 6u8) as u64) } + } + #[inline] + pub fn set_iommu_msi_shift(&mut self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(58usize, 6u8, val as u64) + } + } + #[inline] + pub unsafe fn iommu_msi_shift_raw(this: *const Self) -> u64_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 58usize, + 6u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_iommu_msi_shift_raw(this: *mut Self, val: u64_) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 58usize, + 6u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + iommu_msi_iova: u64_, + iommu_msi_shift: u64_, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 58u8, { + let iommu_msi_iova: u64 = unsafe { ::core::mem::transmute(iommu_msi_iova) }; + iommu_msi_iova as u64 + }); + __bindgen_bitfield_unit.set(58usize, 6u8, { + let iommu_msi_shift: u64 = unsafe { ::core::mem::transmute(iommu_msi_shift) }; + iommu_msi_shift as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct msi_dev_domain { + pub store: xarray, + pub domain: *mut irq_domain, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_dev_domain"][::core::mem::size_of::() - 24usize]; + ["Alignment of msi_dev_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_dev_domain::store"] + [::core::mem::offset_of!(msi_dev_domain, store) - 0usize]; + ["Offset of field: msi_dev_domain::domain"] + [::core::mem::offset_of!(msi_dev_domain, domain) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct msi_device_data { + pub properties: ::core::ffi::c_ulong, + pub mutex: mutex, + pub __domains: [msi_dev_domain; 1usize], + pub __iter_idx: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_device_data"][::core::mem::size_of::() - 72usize]; + ["Alignment of msi_device_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_device_data::properties"] + [::core::mem::offset_of!(msi_device_data, properties) - 0usize]; + ["Offset of field: msi_device_data::mutex"] + [::core::mem::offset_of!(msi_device_data, mutex) - 8usize]; + ["Offset of field: msi_device_data::__domains"] + [::core::mem::offset_of!(msi_device_data, __domains) - 40usize]; + ["Offset of field: msi_device_data::__iter_idx"] + [::core::mem::offset_of!(msi_device_data, __iter_idx) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct msi_domain_info { + pub flags: u32_, + pub bus_token: irq_domain_bus_token, + pub hwsize: ::core::ffi::c_uint, + pub ops: *mut msi_domain_ops, + pub chip: *mut irq_chip, + pub chip_data: *mut ::core::ffi::c_void, + pub handler: irq_flow_handler_t, + pub handler_data: *mut ::core::ffi::c_void, + pub handler_name: *const ::core::ffi::c_char, + pub data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_domain_info"][::core::mem::size_of::() - 72usize]; + ["Alignment of msi_domain_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_domain_info::flags"] + [::core::mem::offset_of!(msi_domain_info, flags) - 0usize]; + ["Offset of field: msi_domain_info::bus_token"] + [::core::mem::offset_of!(msi_domain_info, bus_token) - 4usize]; + ["Offset of field: msi_domain_info::hwsize"] + [::core::mem::offset_of!(msi_domain_info, hwsize) - 8usize]; + ["Offset of field: msi_domain_info::ops"] + [::core::mem::offset_of!(msi_domain_info, ops) - 16usize]; + ["Offset of field: msi_domain_info::chip"] + [::core::mem::offset_of!(msi_domain_info, chip) - 24usize]; + ["Offset of field: msi_domain_info::chip_data"] + [::core::mem::offset_of!(msi_domain_info, chip_data) - 32usize]; + ["Offset of field: msi_domain_info::handler"] + [::core::mem::offset_of!(msi_domain_info, handler) - 40usize]; + ["Offset of field: msi_domain_info::handler_data"] + [::core::mem::offset_of!(msi_domain_info, handler_data) - 48usize]; + ["Offset of field: msi_domain_info::handler_name"] + [::core::mem::offset_of!(msi_domain_info, handler_name) - 56usize]; + ["Offset of field: msi_domain_info::data"] + [::core::mem::offset_of!(msi_domain_info, data) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct msi_domain_ops { + pub get_hwirq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut msi_domain_info, + arg2: *mut msi_alloc_info_t, + ) -> irq_hw_number_t, + >, + pub msi_init: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut msi_domain_info, + arg3: ::core::ffi::c_uint, + arg4: irq_hw_number_t, + arg5: *mut msi_alloc_info_t, + ) -> ::core::ffi::c_int, + >, + pub msi_free: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut msi_domain_info, + arg3: ::core::ffi::c_uint, + ), + >, + pub msi_prepare: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut device, + arg3: ::core::ffi::c_int, + arg4: *mut msi_alloc_info_t, + ) -> ::core::ffi::c_int, + >, + pub prepare_desc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut msi_alloc_info_t, + arg3: *mut msi_desc, + ), + >, + pub set_desc: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut msi_alloc_info_t, arg2: *mut msi_desc), + >, + pub domain_alloc_irqs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut device, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub domain_free_irqs: + ::core::option::Option, + pub msi_post_free: + ::core::option::Option, + pub msi_translate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut irq_domain, + arg2: *mut irq_fwspec, + arg3: *mut irq_hw_number_t, + arg4: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_domain_ops"][::core::mem::size_of::() - 80usize]; + ["Alignment of msi_domain_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_domain_ops::get_hwirq"] + [::core::mem::offset_of!(msi_domain_ops, get_hwirq) - 0usize]; + ["Offset of field: msi_domain_ops::msi_init"] + [::core::mem::offset_of!(msi_domain_ops, msi_init) - 8usize]; + ["Offset of field: msi_domain_ops::msi_free"] + [::core::mem::offset_of!(msi_domain_ops, msi_free) - 16usize]; + ["Offset of field: msi_domain_ops::msi_prepare"] + [::core::mem::offset_of!(msi_domain_ops, msi_prepare) - 24usize]; + ["Offset of field: msi_domain_ops::prepare_desc"] + [::core::mem::offset_of!(msi_domain_ops, prepare_desc) - 32usize]; + ["Offset of field: msi_domain_ops::set_desc"] + [::core::mem::offset_of!(msi_domain_ops, set_desc) - 40usize]; + ["Offset of field: msi_domain_ops::domain_alloc_irqs"] + [::core::mem::offset_of!(msi_domain_ops, domain_alloc_irqs) - 48usize]; + ["Offset of field: msi_domain_ops::domain_free_irqs"] + [::core::mem::offset_of!(msi_domain_ops, domain_free_irqs) - 56usize]; + ["Offset of field: msi_domain_ops::msi_post_free"] + [::core::mem::offset_of!(msi_domain_ops, msi_post_free) - 64usize]; + ["Offset of field: msi_domain_ops::msi_translate"] + [::core::mem::offset_of!(msi_domain_ops, msi_translate) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct msi_parent_ops { + pub supported_flags: u32_, + pub required_flags: u32_, + pub bus_select_token: u32_, + pub bus_select_mask: u32_, + pub prefix: *const ::core::ffi::c_char, + pub init_dev_msi_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device, + arg2: *mut irq_domain, + arg3: *mut irq_domain, + arg4: *mut msi_domain_info, + ) -> bool_, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of msi_parent_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of msi_parent_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: msi_parent_ops::supported_flags"] + [::core::mem::offset_of!(msi_parent_ops, supported_flags) - 0usize]; + ["Offset of field: msi_parent_ops::required_flags"] + [::core::mem::offset_of!(msi_parent_ops, required_flags) - 4usize]; + ["Offset of field: msi_parent_ops::bus_select_token"] + [::core::mem::offset_of!(msi_parent_ops, bus_select_token) - 8usize]; + ["Offset of field: msi_parent_ops::bus_select_mask"] + [::core::mem::offset_of!(msi_parent_ops, bus_select_mask) - 12usize]; + ["Offset of field: msi_parent_ops::prefix"] + [::core::mem::offset_of!(msi_parent_ops, prefix) - 16usize]; + ["Offset of field: msi_parent_ops::init_dev_msi_info"] + [::core::mem::offset_of!(msi_parent_ops, init_dev_msi_info) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct saved { + pub link: path, + pub done: delayed_call, + pub name: *const ::core::ffi::c_char, + pub seq: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of saved"][::core::mem::size_of::() - 48usize]; + ["Alignment of saved"][::core::mem::align_of::() - 8usize]; + ["Offset of field: saved::link"][::core::mem::offset_of!(saved, link) - 0usize]; + ["Offset of field: saved::done"][::core::mem::offset_of!(saved, done) - 16usize]; + ["Offset of field: saved::name"][::core::mem::offset_of!(saved, name) - 32usize]; + ["Offset of field: saved::seq"][::core::mem::offset_of!(saved, seq) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nameidata { + pub path: path, + pub last: qstr, + pub root: path, + pub inode: *mut inode, + pub flags: ::core::ffi::c_uint, + pub state: ::core::ffi::c_uint, + pub seq: ::core::ffi::c_uint, + pub next_seq: ::core::ffi::c_uint, + pub m_seq: ::core::ffi::c_uint, + pub r_seq: ::core::ffi::c_uint, + pub last_type: ::core::ffi::c_int, + pub depth: ::core::ffi::c_uint, + pub total_link_count: ::core::ffi::c_int, + pub stack: *mut saved, + pub internal: [saved; 2usize], + pub name: *mut filename, + pub saved: *mut nameidata, + pub root_seq: ::core::ffi::c_uint, + pub dfd: ::core::ffi::c_int, + pub dir_vfsuid: vfsuid_t, + pub dir_mode: umode_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nameidata"][::core::mem::size_of::() - 232usize]; + ["Alignment of nameidata"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nameidata::path"][::core::mem::offset_of!(nameidata, path) - 0usize]; + ["Offset of field: nameidata::last"][::core::mem::offset_of!(nameidata, last) - 16usize]; + ["Offset of field: nameidata::root"][::core::mem::offset_of!(nameidata, root) - 32usize]; + ["Offset of field: nameidata::inode"][::core::mem::offset_of!(nameidata, inode) - 48usize]; + ["Offset of field: nameidata::flags"][::core::mem::offset_of!(nameidata, flags) - 56usize]; + ["Offset of field: nameidata::state"][::core::mem::offset_of!(nameidata, state) - 60usize]; + ["Offset of field: nameidata::seq"][::core::mem::offset_of!(nameidata, seq) - 64usize]; + ["Offset of field: nameidata::next_seq"] + [::core::mem::offset_of!(nameidata, next_seq) - 68usize]; + ["Offset of field: nameidata::m_seq"][::core::mem::offset_of!(nameidata, m_seq) - 72usize]; + ["Offset of field: nameidata::r_seq"][::core::mem::offset_of!(nameidata, r_seq) - 76usize]; + ["Offset of field: nameidata::last_type"] + [::core::mem::offset_of!(nameidata, last_type) - 80usize]; + ["Offset of field: nameidata::depth"][::core::mem::offset_of!(nameidata, depth) - 84usize]; + ["Offset of field: nameidata::total_link_count"] + [::core::mem::offset_of!(nameidata, total_link_count) - 88usize]; + ["Offset of field: nameidata::stack"][::core::mem::offset_of!(nameidata, stack) - 96usize]; + ["Offset of field: nameidata::internal"] + [::core::mem::offset_of!(nameidata, internal) - 104usize]; + ["Offset of field: nameidata::name"][::core::mem::offset_of!(nameidata, name) - 200usize]; + ["Offset of field: nameidata::saved"][::core::mem::offset_of!(nameidata, saved) - 208usize]; + ["Offset of field: nameidata::root_seq"] + [::core::mem::offset_of!(nameidata, root_seq) - 216usize]; + ["Offset of field: nameidata::dfd"][::core::mem::offset_of!(nameidata, dfd) - 220usize]; + ["Offset of field: nameidata::dir_vfsuid"] + [::core::mem::offset_of!(nameidata, dir_vfsuid) - 224usize]; + ["Offset of field: nameidata::dir_mode"] + [::core::mem::offset_of!(nameidata, dir_mode) - 228usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nlmsghdr { + pub nlmsg_len: __u32, + pub nlmsg_type: __u16, + pub nlmsg_flags: __u16, + pub nlmsg_seq: __u32, + pub nlmsg_pid: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nlmsghdr"][::core::mem::size_of::() - 16usize]; + ["Alignment of nlmsghdr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nlmsghdr::nlmsg_len"][::core::mem::offset_of!(nlmsghdr, nlmsg_len) - 0usize]; + ["Offset of field: nlmsghdr::nlmsg_type"] + [::core::mem::offset_of!(nlmsghdr, nlmsg_type) - 4usize]; + ["Offset of field: nlmsghdr::nlmsg_flags"] + [::core::mem::offset_of!(nlmsghdr, nlmsg_flags) - 6usize]; + ["Offset of field: nlmsghdr::nlmsg_seq"][::core::mem::offset_of!(nlmsghdr, nlmsg_seq) - 8usize]; + ["Offset of field: nlmsghdr::nlmsg_pid"] + [::core::mem::offset_of!(nlmsghdr, nlmsg_pid) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nd_opt_hdr { + pub nd_opt_type: __u8, + pub nd_opt_len: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nd_opt_hdr"][::core::mem::size_of::() - 2usize]; + ["Alignment of nd_opt_hdr"][::core::mem::align_of::() - 1usize]; + ["Offset of field: nd_opt_hdr::nd_opt_type"] + [::core::mem::offset_of!(nd_opt_hdr, nd_opt_type) - 0usize]; + ["Offset of field: nd_opt_hdr::nd_opt_len"] + [::core::mem::offset_of!(nd_opt_hdr, nd_opt_len) - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ndisc_ops { + pub parse_options: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const net_device, + arg2: *mut nd_opt_hdr, + arg3: *mut ndisc_options, + ) -> ::core::ffi::c_int, + >, + pub update: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const net_device, + arg2: *mut neighbour, + arg3: u32_, + arg4: u8_, + arg5: *const ndisc_options, + ), + >, + pub opt_addr_space: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const net_device, + arg2: u8_, + arg3: *mut neighbour, + arg4: *mut u8_, + arg5: *mut *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub fill_addr_option: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const net_device, + arg2: *mut sk_buff, + arg3: u8_, + arg4: *const u8_, + ), + >, + pub prefix_rcv_add_addr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut net_device, + arg3: *const prefix_info, + arg4: *mut inet6_dev, + arg5: *mut in6_addr, + arg6: ::core::ffi::c_int, + arg7: u32_, + arg8: bool_, + arg9: bool_, + arg10: __u32, + arg11: u32_, + arg12: bool_, + ), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ndisc_ops"][::core::mem::size_of::() - 40usize]; + ["Alignment of ndisc_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ndisc_ops::parse_options"] + [::core::mem::offset_of!(ndisc_ops, parse_options) - 0usize]; + ["Offset of field: ndisc_ops::update"][::core::mem::offset_of!(ndisc_ops, update) - 8usize]; + ["Offset of field: ndisc_ops::opt_addr_space"] + [::core::mem::offset_of!(ndisc_ops, opt_addr_space) - 16usize]; + ["Offset of field: ndisc_ops::fill_addr_option"] + [::core::mem::offset_of!(ndisc_ops, fill_addr_option) - 24usize]; + ["Offset of field: ndisc_ops::prefix_rcv_add_addr"] + [::core::mem::offset_of!(ndisc_ops, prefix_rcv_add_addr) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ndisc_options { + pub nd_opt_array: [*mut nd_opt_hdr; 15usize], + pub nd_opts_ri: *mut nd_opt_hdr, + pub nd_opts_ri_end: *mut nd_opt_hdr, + pub nd_useropts: *mut nd_opt_hdr, + pub nd_useropts_end: *mut nd_opt_hdr, + pub nd_802154_opt_array: [*mut nd_opt_hdr; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ndisc_options"][::core::mem::size_of::() - 176usize]; + ["Alignment of ndisc_options"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ndisc_options::nd_opt_array"] + [::core::mem::offset_of!(ndisc_options, nd_opt_array) - 0usize]; + ["Offset of field: ndisc_options::nd_opts_ri"] + [::core::mem::offset_of!(ndisc_options, nd_opts_ri) - 120usize]; + ["Offset of field: ndisc_options::nd_opts_ri_end"] + [::core::mem::offset_of!(ndisc_options, nd_opts_ri_end) - 128usize]; + ["Offset of field: ndisc_options::nd_useropts"] + [::core::mem::offset_of!(ndisc_options, nd_useropts) - 136usize]; + ["Offset of field: ndisc_options::nd_useropts_end"] + [::core::mem::offset_of!(ndisc_options, nd_useropts_end) - 144usize]; + ["Offset of field: ndisc_options::nd_802154_opt_array"] + [::core::mem::offset_of!(ndisc_options, nd_802154_opt_array) - 152usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ndmsg { + pub ndm_family: __u8, + pub ndm_pad1: __u8, + pub ndm_pad2: __u16, + pub ndm_ifindex: __s32, + pub ndm_state: __u16, + pub ndm_flags: __u8, + pub ndm_type: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ndmsg"][::core::mem::size_of::() - 12usize]; + ["Alignment of ndmsg"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ndmsg::ndm_family"][::core::mem::offset_of!(ndmsg, ndm_family) - 0usize]; + ["Offset of field: ndmsg::ndm_pad1"][::core::mem::offset_of!(ndmsg, ndm_pad1) - 1usize]; + ["Offset of field: ndmsg::ndm_pad2"][::core::mem::offset_of!(ndmsg, ndm_pad2) - 2usize]; + ["Offset of field: ndmsg::ndm_ifindex"][::core::mem::offset_of!(ndmsg, ndm_ifindex) - 4usize]; + ["Offset of field: ndmsg::ndm_state"][::core::mem::offset_of!(ndmsg, ndm_state) - 8usize]; + ["Offset of field: ndmsg::ndm_flags"][::core::mem::offset_of!(ndmsg, ndm_flags) - 10usize]; + ["Offset of field: ndmsg::ndm_type"][::core::mem::offset_of!(ndmsg, ndm_type) - 11usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct neigh_hash_table { + pub hash_buckets: *mut *mut neighbour, + pub hash_shift: ::core::ffi::c_uint, + pub hash_rnd: [__u32; 4usize], + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of neigh_hash_table"][::core::mem::size_of::() - 48usize]; + ["Alignment of neigh_hash_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: neigh_hash_table::hash_buckets"] + [::core::mem::offset_of!(neigh_hash_table, hash_buckets) - 0usize]; + ["Offset of field: neigh_hash_table::hash_shift"] + [::core::mem::offset_of!(neigh_hash_table, hash_shift) - 8usize]; + ["Offset of field: neigh_hash_table::hash_rnd"] + [::core::mem::offset_of!(neigh_hash_table, hash_rnd) - 12usize]; + ["Offset of field: neigh_hash_table::rcu"] + [::core::mem::offset_of!(neigh_hash_table, rcu) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct neigh_ops { + pub family: ::core::ffi::c_int, + pub solicit: + ::core::option::Option, + pub error_report: + ::core::option::Option, + pub output: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut neighbour, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub connected_output: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut neighbour, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of neigh_ops"][::core::mem::size_of::() - 40usize]; + ["Alignment of neigh_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: neigh_ops::family"][::core::mem::offset_of!(neigh_ops, family) - 0usize]; + ["Offset of field: neigh_ops::solicit"][::core::mem::offset_of!(neigh_ops, solicit) - 8usize]; + ["Offset of field: neigh_ops::error_report"] + [::core::mem::offset_of!(neigh_ops, error_report) - 16usize]; + ["Offset of field: neigh_ops::output"][::core::mem::offset_of!(neigh_ops, output) - 24usize]; + ["Offset of field: neigh_ops::connected_output"] + [::core::mem::offset_of!(neigh_ops, connected_output) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct neigh_parms { + pub net: possible_net_t, + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub list: list_head, + pub neigh_setup: + ::core::option::Option ::core::ffi::c_int>, + pub tbl: *mut neigh_table, + pub sysctl_table: *mut ::core::ffi::c_void, + pub dead: ::core::ffi::c_int, + pub refcnt: refcount_t, + pub callback_head: callback_head, + pub reachable_time: ::core::ffi::c_int, + pub qlen: u32_, + pub data: [::core::ffi::c_int; 14usize], + pub data_state: [::core::ffi::c_ulong; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of neigh_parms"][::core::mem::size_of::() - 152usize]; + ["Alignment of neigh_parms"][::core::mem::align_of::() - 8usize]; + ["Offset of field: neigh_parms::net"][::core::mem::offset_of!(neigh_parms, net) - 0usize]; + ["Offset of field: neigh_parms::dev"][::core::mem::offset_of!(neigh_parms, dev) - 8usize]; + ["Offset of field: neigh_parms::dev_tracker"] + [::core::mem::offset_of!(neigh_parms, dev_tracker) - 16usize]; + ["Offset of field: neigh_parms::list"][::core::mem::offset_of!(neigh_parms, list) - 16usize]; + ["Offset of field: neigh_parms::neigh_setup"] + [::core::mem::offset_of!(neigh_parms, neigh_setup) - 32usize]; + ["Offset of field: neigh_parms::tbl"][::core::mem::offset_of!(neigh_parms, tbl) - 40usize]; + ["Offset of field: neigh_parms::sysctl_table"] + [::core::mem::offset_of!(neigh_parms, sysctl_table) - 48usize]; + ["Offset of field: neigh_parms::dead"][::core::mem::offset_of!(neigh_parms, dead) - 56usize]; + ["Offset of field: neigh_parms::refcnt"] + [::core::mem::offset_of!(neigh_parms, refcnt) - 60usize]; + ["Offset of field: neigh_parms::callback_head"] + [::core::mem::offset_of!(neigh_parms, callback_head) - 64usize]; + ["Offset of field: neigh_parms::reachable_time"] + [::core::mem::offset_of!(neigh_parms, reachable_time) - 80usize]; + ["Offset of field: neigh_parms::qlen"][::core::mem::offset_of!(neigh_parms, qlen) - 84usize]; + ["Offset of field: neigh_parms::data"][::core::mem::offset_of!(neigh_parms, data) - 88usize]; + ["Offset of field: neigh_parms::data_state"] + [::core::mem::offset_of!(neigh_parms, data_state) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct neigh_statistics { + pub allocs: ::core::ffi::c_ulong, + pub destroys: ::core::ffi::c_ulong, + pub hash_grows: ::core::ffi::c_ulong, + pub res_failed: ::core::ffi::c_ulong, + pub lookups: ::core::ffi::c_ulong, + pub hits: ::core::ffi::c_ulong, + pub rcv_probes_mcast: ::core::ffi::c_ulong, + pub rcv_probes_ucast: ::core::ffi::c_ulong, + pub periodic_gc_runs: ::core::ffi::c_ulong, + pub forced_gc_runs: ::core::ffi::c_ulong, + pub unres_discards: ::core::ffi::c_ulong, + pub table_fulls: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of neigh_statistics"][::core::mem::size_of::() - 96usize]; + ["Alignment of neigh_statistics"][::core::mem::align_of::() - 8usize]; + ["Offset of field: neigh_statistics::allocs"] + [::core::mem::offset_of!(neigh_statistics, allocs) - 0usize]; + ["Offset of field: neigh_statistics::destroys"] + [::core::mem::offset_of!(neigh_statistics, destroys) - 8usize]; + ["Offset of field: neigh_statistics::hash_grows"] + [::core::mem::offset_of!(neigh_statistics, hash_grows) - 16usize]; + ["Offset of field: neigh_statistics::res_failed"] + [::core::mem::offset_of!(neigh_statistics, res_failed) - 24usize]; + ["Offset of field: neigh_statistics::lookups"] + [::core::mem::offset_of!(neigh_statistics, lookups) - 32usize]; + ["Offset of field: neigh_statistics::hits"] + [::core::mem::offset_of!(neigh_statistics, hits) - 40usize]; + ["Offset of field: neigh_statistics::rcv_probes_mcast"] + [::core::mem::offset_of!(neigh_statistics, rcv_probes_mcast) - 48usize]; + ["Offset of field: neigh_statistics::rcv_probes_ucast"] + [::core::mem::offset_of!(neigh_statistics, rcv_probes_ucast) - 56usize]; + ["Offset of field: neigh_statistics::periodic_gc_runs"] + [::core::mem::offset_of!(neigh_statistics, periodic_gc_runs) - 64usize]; + ["Offset of field: neigh_statistics::forced_gc_runs"] + [::core::mem::offset_of!(neigh_statistics, forced_gc_runs) - 72usize]; + ["Offset of field: neigh_statistics::unres_discards"] + [::core::mem::offset_of!(neigh_statistics, unres_discards) - 80usize]; + ["Offset of field: neigh_statistics::table_fulls"] + [::core::mem::offset_of!(neigh_statistics, table_fulls) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct neigh_table { + pub family: ::core::ffi::c_int, + pub entry_size: ::core::ffi::c_uint, + pub key_len: ::core::ffi::c_uint, + pub protocol: __be16, + pub hash: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_void, + arg2: *const net_device, + arg3: *mut __u32, + ) -> __u32, + >, + pub key_eq: ::core::option::Option< + unsafe extern "C" fn(arg1: *const neighbour, arg2: *const ::core::ffi::c_void) -> bool_, + >, + pub constructor: + ::core::option::Option ::core::ffi::c_int>, + pub pconstructor: + ::core::option::Option ::core::ffi::c_int>, + pub pdestructor: ::core::option::Option, + pub proxy_redo: ::core::option::Option, + pub is_multicast: ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_void) -> ::core::ffi::c_int, + >, + pub allow_add: ::core::option::Option< + unsafe extern "C" fn(arg1: *const net_device, arg2: *mut netlink_ext_ack) -> bool_, + >, + pub id: *mut ::core::ffi::c_char, + pub parms: neigh_parms, + pub parms_list: list_head, + pub gc_interval: ::core::ffi::c_int, + pub gc_thresh1: ::core::ffi::c_int, + pub gc_thresh2: ::core::ffi::c_int, + pub gc_thresh3: ::core::ffi::c_int, + pub last_flush: ::core::ffi::c_ulong, + pub gc_work: delayed_work, + pub managed_work: delayed_work, + pub proxy_timer: timer_list, + pub proxy_queue: sk_buff_head, + pub entries: atomic_t, + pub gc_entries: atomic_t, + pub gc_list: list_head, + pub managed_list: list_head, + pub lock: rwlock_t, + pub last_rand: ::core::ffi::c_ulong, + pub stats: *mut neigh_statistics, + pub nht: *mut neigh_hash_table, + pub phash_buckets: *mut *mut pneigh_entry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of neigh_table"][::core::mem::size_of::() - 600usize]; + ["Alignment of neigh_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: neigh_table::family"][::core::mem::offset_of!(neigh_table, family) - 0usize]; + ["Offset of field: neigh_table::entry_size"] + [::core::mem::offset_of!(neigh_table, entry_size) - 4usize]; + ["Offset of field: neigh_table::key_len"] + [::core::mem::offset_of!(neigh_table, key_len) - 8usize]; + ["Offset of field: neigh_table::protocol"] + [::core::mem::offset_of!(neigh_table, protocol) - 12usize]; + ["Offset of field: neigh_table::hash"][::core::mem::offset_of!(neigh_table, hash) - 16usize]; + ["Offset of field: neigh_table::key_eq"] + [::core::mem::offset_of!(neigh_table, key_eq) - 24usize]; + ["Offset of field: neigh_table::constructor"] + [::core::mem::offset_of!(neigh_table, constructor) - 32usize]; + ["Offset of field: neigh_table::pconstructor"] + [::core::mem::offset_of!(neigh_table, pconstructor) - 40usize]; + ["Offset of field: neigh_table::pdestructor"] + [::core::mem::offset_of!(neigh_table, pdestructor) - 48usize]; + ["Offset of field: neigh_table::proxy_redo"] + [::core::mem::offset_of!(neigh_table, proxy_redo) - 56usize]; + ["Offset of field: neigh_table::is_multicast"] + [::core::mem::offset_of!(neigh_table, is_multicast) - 64usize]; + ["Offset of field: neigh_table::allow_add"] + [::core::mem::offset_of!(neigh_table, allow_add) - 72usize]; + ["Offset of field: neigh_table::id"][::core::mem::offset_of!(neigh_table, id) - 80usize]; + ["Offset of field: neigh_table::parms"][::core::mem::offset_of!(neigh_table, parms) - 88usize]; + ["Offset of field: neigh_table::parms_list"] + [::core::mem::offset_of!(neigh_table, parms_list) - 240usize]; + ["Offset of field: neigh_table::gc_interval"] + [::core::mem::offset_of!(neigh_table, gc_interval) - 256usize]; + ["Offset of field: neigh_table::gc_thresh1"] + [::core::mem::offset_of!(neigh_table, gc_thresh1) - 260usize]; + ["Offset of field: neigh_table::gc_thresh2"] + [::core::mem::offset_of!(neigh_table, gc_thresh2) - 264usize]; + ["Offset of field: neigh_table::gc_thresh3"] + [::core::mem::offset_of!(neigh_table, gc_thresh3) - 268usize]; + ["Offset of field: neigh_table::last_flush"] + [::core::mem::offset_of!(neigh_table, last_flush) - 272usize]; + ["Offset of field: neigh_table::gc_work"] + [::core::mem::offset_of!(neigh_table, gc_work) - 280usize]; + ["Offset of field: neigh_table::managed_work"] + [::core::mem::offset_of!(neigh_table, managed_work) - 368usize]; + ["Offset of field: neigh_table::proxy_timer"] + [::core::mem::offset_of!(neigh_table, proxy_timer) - 456usize]; + ["Offset of field: neigh_table::proxy_queue"] + [::core::mem::offset_of!(neigh_table, proxy_queue) - 496usize]; + ["Offset of field: neigh_table::entries"] + [::core::mem::offset_of!(neigh_table, entries) - 520usize]; + ["Offset of field: neigh_table::gc_entries"] + [::core::mem::offset_of!(neigh_table, gc_entries) - 524usize]; + ["Offset of field: neigh_table::gc_list"] + [::core::mem::offset_of!(neigh_table, gc_list) - 528usize]; + ["Offset of field: neigh_table::managed_list"] + [::core::mem::offset_of!(neigh_table, managed_list) - 544usize]; + ["Offset of field: neigh_table::lock"][::core::mem::offset_of!(neigh_table, lock) - 560usize]; + ["Offset of field: neigh_table::last_rand"] + [::core::mem::offset_of!(neigh_table, last_rand) - 568usize]; + ["Offset of field: neigh_table::stats"][::core::mem::offset_of!(neigh_table, stats) - 576usize]; + ["Offset of field: neigh_table::nht"][::core::mem::offset_of!(neigh_table, nht) - 584usize]; + ["Offset of field: neigh_table::phash_buckets"] + [::core::mem::offset_of!(neigh_table, phash_buckets) - 592usize]; +}; +#[repr(C)] +pub struct neighbour { + pub next: *mut neighbour, + pub tbl: *mut neigh_table, + pub parms: *mut neigh_parms, + pub confirmed: ::core::ffi::c_ulong, + pub updated: ::core::ffi::c_ulong, + pub lock: rwlock_t, + pub refcnt: refcount_t, + pub arp_queue_len_bytes: ::core::ffi::c_uint, + pub arp_queue: sk_buff_head, + pub timer: timer_list, + pub used: ::core::ffi::c_ulong, + pub probes: atomic_t, + pub nud_state: u8_, + pub type_: u8_, + pub dead: u8_, + pub protocol: u8_, + pub flags: u32_, + pub ha_lock: seqlock_t, + pub __bindgen_padding_0: [u8; 4usize], + pub ha: [::core::ffi::c_uchar; 32usize], + pub hh: hh_cache, + pub output: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut neighbour, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub ops: *const neigh_ops, + pub gc_list: list_head, + pub managed_list: list_head, + pub rcu: callback_head, + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub primary_key: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of neighbour"][::core::mem::size_of::() - 400usize]; + ["Alignment of neighbour"][::core::mem::align_of::() - 8usize]; + ["Offset of field: neighbour::next"][::core::mem::offset_of!(neighbour, next) - 0usize]; + ["Offset of field: neighbour::tbl"][::core::mem::offset_of!(neighbour, tbl) - 8usize]; + ["Offset of field: neighbour::parms"][::core::mem::offset_of!(neighbour, parms) - 16usize]; + ["Offset of field: neighbour::confirmed"] + [::core::mem::offset_of!(neighbour, confirmed) - 24usize]; + ["Offset of field: neighbour::updated"][::core::mem::offset_of!(neighbour, updated) - 32usize]; + ["Offset of field: neighbour::lock"][::core::mem::offset_of!(neighbour, lock) - 40usize]; + ["Offset of field: neighbour::refcnt"][::core::mem::offset_of!(neighbour, refcnt) - 48usize]; + ["Offset of field: neighbour::arp_queue_len_bytes"] + [::core::mem::offset_of!(neighbour, arp_queue_len_bytes) - 52usize]; + ["Offset of field: neighbour::arp_queue"] + [::core::mem::offset_of!(neighbour, arp_queue) - 56usize]; + ["Offset of field: neighbour::timer"][::core::mem::offset_of!(neighbour, timer) - 80usize]; + ["Offset of field: neighbour::used"][::core::mem::offset_of!(neighbour, used) - 120usize]; + ["Offset of field: neighbour::probes"][::core::mem::offset_of!(neighbour, probes) - 128usize]; + ["Offset of field: neighbour::nud_state"] + [::core::mem::offset_of!(neighbour, nud_state) - 132usize]; + ["Offset of field: neighbour::type_"][::core::mem::offset_of!(neighbour, type_) - 133usize]; + ["Offset of field: neighbour::dead"][::core::mem::offset_of!(neighbour, dead) - 134usize]; + ["Offset of field: neighbour::protocol"] + [::core::mem::offset_of!(neighbour, protocol) - 135usize]; + ["Offset of field: neighbour::flags"][::core::mem::offset_of!(neighbour, flags) - 136usize]; + ["Offset of field: neighbour::ha_lock"][::core::mem::offset_of!(neighbour, ha_lock) - 140usize]; + ["Offset of field: neighbour::ha"][::core::mem::offset_of!(neighbour, ha) - 152usize]; + ["Offset of field: neighbour::hh"][::core::mem::offset_of!(neighbour, hh) - 184usize]; + ["Offset of field: neighbour::output"][::core::mem::offset_of!(neighbour, output) - 328usize]; + ["Offset of field: neighbour::ops"][::core::mem::offset_of!(neighbour, ops) - 336usize]; + ["Offset of field: neighbour::gc_list"][::core::mem::offset_of!(neighbour, gc_list) - 344usize]; + ["Offset of field: neighbour::managed_list"] + [::core::mem::offset_of!(neighbour, managed_list) - 360usize]; + ["Offset of field: neighbour::rcu"][::core::mem::offset_of!(neighbour, rcu) - 376usize]; + ["Offset of field: neighbour::dev"][::core::mem::offset_of!(neighbour, dev) - 392usize]; + ["Offset of field: neighbour::dev_tracker"] + [::core::mem::offset_of!(neighbour, dev_tracker) - 400usize]; + ["Offset of field: neighbour::primary_key"] + [::core::mem::offset_of!(neighbour, primary_key) - 400usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ref_tracker_dir {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ref_tracker_dir"][::core::mem::size_of::() - 0usize]; + ["Alignment of ref_tracker_dir"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_core { + pub sysctl_hdr: *mut ctl_table_header, + pub sysctl_somaxconn: ::core::ffi::c_int, + pub sysctl_optmem_max: ::core::ffi::c_int, + pub sysctl_txrehash: u8_, + pub prot_inuse: *mut prot_inuse, + pub rps_default_mask: *mut cpumask, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_core"][::core::mem::size_of::() - 40usize]; + ["Alignment of netns_core"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_core::sysctl_hdr"] + [::core::mem::offset_of!(netns_core, sysctl_hdr) - 0usize]; + ["Offset of field: netns_core::sysctl_somaxconn"] + [::core::mem::offset_of!(netns_core, sysctl_somaxconn) - 8usize]; + ["Offset of field: netns_core::sysctl_optmem_max"] + [::core::mem::offset_of!(netns_core, sysctl_optmem_max) - 12usize]; + ["Offset of field: netns_core::sysctl_txrehash"] + [::core::mem::offset_of!(netns_core, sysctl_txrehash) - 16usize]; + ["Offset of field: netns_core::prot_inuse"] + [::core::mem::offset_of!(netns_core, prot_inuse) - 24usize]; + ["Offset of field: netns_core::rps_default_mask"] + [::core::mem::offset_of!(netns_core, rps_default_mask) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_mib { + pub ip_statistics: *mut ipstats_mib, + pub ipv6_statistics: *mut ipstats_mib, + pub tcp_statistics: *mut tcp_mib, + pub net_statistics: *mut linux_mib, + pub udp_statistics: *mut udp_mib, + pub udp_stats_in6: *mut udp_mib, + pub xfrm_statistics: *mut linux_xfrm_mib, + pub tls_statistics: *mut linux_tls_mib, + pub mptcp_statistics: *mut mptcp_mib, + pub udplite_statistics: *mut udp_mib, + pub udplite_stats_in6: *mut udp_mib, + pub icmp_statistics: *mut icmp_mib, + pub icmpmsg_statistics: *mut icmpmsg_mib, + pub icmpv6_statistics: *mut icmpv6_mib, + pub icmpv6msg_statistics: *mut icmpv6msg_mib, + pub proc_net_devsnmp6: *mut proc_dir_entry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_mib"][::core::mem::size_of::() - 128usize]; + ["Alignment of netns_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_mib::ip_statistics"] + [::core::mem::offset_of!(netns_mib, ip_statistics) - 0usize]; + ["Offset of field: netns_mib::ipv6_statistics"] + [::core::mem::offset_of!(netns_mib, ipv6_statistics) - 8usize]; + ["Offset of field: netns_mib::tcp_statistics"] + [::core::mem::offset_of!(netns_mib, tcp_statistics) - 16usize]; + ["Offset of field: netns_mib::net_statistics"] + [::core::mem::offset_of!(netns_mib, net_statistics) - 24usize]; + ["Offset of field: netns_mib::udp_statistics"] + [::core::mem::offset_of!(netns_mib, udp_statistics) - 32usize]; + ["Offset of field: netns_mib::udp_stats_in6"] + [::core::mem::offset_of!(netns_mib, udp_stats_in6) - 40usize]; + ["Offset of field: netns_mib::xfrm_statistics"] + [::core::mem::offset_of!(netns_mib, xfrm_statistics) - 48usize]; + ["Offset of field: netns_mib::tls_statistics"] + [::core::mem::offset_of!(netns_mib, tls_statistics) - 56usize]; + ["Offset of field: netns_mib::mptcp_statistics"] + [::core::mem::offset_of!(netns_mib, mptcp_statistics) - 64usize]; + ["Offset of field: netns_mib::udplite_statistics"] + [::core::mem::offset_of!(netns_mib, udplite_statistics) - 72usize]; + ["Offset of field: netns_mib::udplite_stats_in6"] + [::core::mem::offset_of!(netns_mib, udplite_stats_in6) - 80usize]; + ["Offset of field: netns_mib::icmp_statistics"] + [::core::mem::offset_of!(netns_mib, icmp_statistics) - 88usize]; + ["Offset of field: netns_mib::icmpmsg_statistics"] + [::core::mem::offset_of!(netns_mib, icmpmsg_statistics) - 96usize]; + ["Offset of field: netns_mib::icmpv6_statistics"] + [::core::mem::offset_of!(netns_mib, icmpv6_statistics) - 104usize]; + ["Offset of field: netns_mib::icmpv6msg_statistics"] + [::core::mem::offset_of!(netns_mib, icmpv6msg_statistics) - 112usize]; + ["Offset of field: netns_mib::proc_net_devsnmp6"] + [::core::mem::offset_of!(netns_mib, proc_net_devsnmp6) - 120usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_packet { + pub sklist_lock: mutex, + pub sklist: hlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_packet"][::core::mem::size_of::() - 40usize]; + ["Alignment of netns_packet"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_packet::sklist_lock"] + [::core::mem::offset_of!(netns_packet, sklist_lock) - 0usize]; + ["Offset of field: netns_packet::sklist"] + [::core::mem::offset_of!(netns_packet, sklist) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct unix_table { + pub locks: *mut spinlock_t, + pub buckets: *mut hlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of unix_table"][::core::mem::size_of::() - 16usize]; + ["Alignment of unix_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: unix_table::locks"][::core::mem::offset_of!(unix_table, locks) - 0usize]; + ["Offset of field: unix_table::buckets"][::core::mem::offset_of!(unix_table, buckets) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_unix { + pub table: unix_table, + pub sysctl_max_dgram_qlen: ::core::ffi::c_int, + pub ctl: *mut ctl_table_header, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_unix"][::core::mem::size_of::() - 32usize]; + ["Alignment of netns_unix"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_unix::table"][::core::mem::offset_of!(netns_unix, table) - 0usize]; + ["Offset of field: netns_unix::sysctl_max_dgram_qlen"] + [::core::mem::offset_of!(netns_unix, sysctl_max_dgram_qlen) - 16usize]; + ["Offset of field: netns_unix::ctl"][::core::mem::offset_of!(netns_unix, ctl) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_nexthop { + pub rb_root: rb_root, + pub devhash: *mut hlist_head, + pub seq: ::core::ffi::c_uint, + pub last_id_allocated: u32_, + pub notifier_chain: blocking_notifier_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_nexthop"][::core::mem::size_of::() - 72usize]; + ["Alignment of netns_nexthop"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_nexthop::rb_root"] + [::core::mem::offset_of!(netns_nexthop, rb_root) - 0usize]; + ["Offset of field: netns_nexthop::devhash"] + [::core::mem::offset_of!(netns_nexthop, devhash) - 8usize]; + ["Offset of field: netns_nexthop::seq"][::core::mem::offset_of!(netns_nexthop, seq) - 16usize]; + ["Offset of field: netns_nexthop::last_id_allocated"] + [::core::mem::offset_of!(netns_nexthop, last_id_allocated) - 20usize]; + ["Offset of field: netns_nexthop::notifier_chain"] + [::core::mem::offset_of!(netns_nexthop, notifier_chain) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ping_group_range { + pub lock: seqlock_t, + pub range: [kgid_t; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ping_group_range"][::core::mem::size_of::() - 16usize]; + ["Alignment of ping_group_range"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ping_group_range::lock"] + [::core::mem::offset_of!(ping_group_range, lock) - 0usize]; + ["Offset of field: ping_group_range::range"] + [::core::mem::offset_of!(ping_group_range, range) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sysctl_fib_multipath_hash_seed { + pub user_seed: u32_, + pub mp_seed: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sysctl_fib_multipath_hash_seed"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of sysctl_fib_multipath_hash_seed"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: sysctl_fib_multipath_hash_seed::user_seed"] + [::core::mem::offset_of!(sysctl_fib_multipath_hash_seed, user_seed) - 0usize]; + ["Offset of field: sysctl_fib_multipath_hash_seed::mp_seed"] + [::core::mem::offset_of!(sysctl_fib_multipath_hash_seed, mp_seed) - 4usize]; +}; +#[repr(C)] +pub struct netns_ipv4 { + pub __cacheline_group_begin__netns_ipv4_read_tx: __IncompleteArrayField<__u8>, + pub sysctl_tcp_early_retrans: u8_, + pub sysctl_tcp_tso_win_divisor: u8_, + pub sysctl_tcp_tso_rtt_log: u8_, + pub sysctl_tcp_autocorking: u8_, + pub sysctl_tcp_min_snd_mss: ::core::ffi::c_int, + pub sysctl_tcp_notsent_lowat: ::core::ffi::c_uint, + pub sysctl_tcp_limit_output_bytes: ::core::ffi::c_int, + pub sysctl_tcp_min_rtt_wlen: ::core::ffi::c_int, + pub sysctl_tcp_wmem: [::core::ffi::c_int; 3usize], + pub sysctl_ip_fwd_use_pmtu: u8_, + pub __cacheline_group_end__netns_ipv4_read_tx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__netns_ipv4_read_txrx: __IncompleteArrayField<__u8>, + pub sysctl_tcp_moderate_rcvbuf: u8_, + pub __cacheline_group_end__netns_ipv4_read_txrx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__netns_ipv4_read_rx: __IncompleteArrayField<__u8>, + pub sysctl_ip_early_demux: u8_, + pub sysctl_tcp_early_demux: u8_, + pub sysctl_tcp_reordering: ::core::ffi::c_int, + pub sysctl_tcp_rmem: [::core::ffi::c_int; 3usize], + pub __cacheline_group_end__netns_ipv4_read_rx: __IncompleteArrayField<__u8>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub tcp_death_row: inet_timewait_death_row, + pub udp_table: *mut udp_table, + pub forw_hdr: *mut ctl_table_header, + pub frags_hdr: *mut ctl_table_header, + pub ipv4_hdr: *mut ctl_table_header, + pub route_hdr: *mut ctl_table_header, + pub xfrm4_hdr: *mut ctl_table_header, + pub devconf_all: *mut ipv4_devconf, + pub devconf_dflt: *mut ipv4_devconf, + pub ra_chain: *mut ip_ra_chain, + pub ra_mutex: mutex, + pub rules_ops: *mut fib_rules_ops, + pub fib_main: *mut fib_table, + pub fib_default: *mut fib_table, + pub fib_rules_require_fldissect: ::core::ffi::c_uint, + pub fib_has_custom_rules: bool_, + pub fib_has_custom_local_routes: bool_, + pub fib_offload_disabled: bool_, + pub sysctl_tcp_shrink_window: u8_, + pub fib_num_tclassid_users: atomic_t, + pub fib_table_hash: *mut hlist_head, + pub fibnl: *mut sock, + pub mc_autojoin_sk: *mut sock, + pub peers: *mut inet_peer_base, + pub fqdir: *mut fqdir, + pub sysctl_icmp_echo_ignore_all: u8_, + pub sysctl_icmp_echo_enable_probe: u8_, + pub sysctl_icmp_echo_ignore_broadcasts: u8_, + pub sysctl_icmp_ignore_bogus_error_responses: u8_, + pub sysctl_icmp_errors_use_inbound_ifaddr: u8_, + pub sysctl_icmp_ratelimit: ::core::ffi::c_int, + pub sysctl_icmp_ratemask: ::core::ffi::c_int, + pub sysctl_icmp_msgs_per_sec: ::core::ffi::c_int, + pub sysctl_icmp_msgs_burst: ::core::ffi::c_int, + pub icmp_global_credit: atomic_t, + pub icmp_global_stamp: u32_, + pub ip_rt_min_pmtu: u32_, + pub ip_rt_mtu_expires: ::core::ffi::c_int, + pub ip_rt_min_advmss: ::core::ffi::c_int, + pub ip_local_ports: local_ports, + pub sysctl_tcp_ecn: u8_, + pub sysctl_tcp_ecn_fallback: u8_, + pub sysctl_ip_default_ttl: u8_, + pub sysctl_ip_no_pmtu_disc: u8_, + pub sysctl_ip_fwd_update_priority: u8_, + pub sysctl_ip_nonlocal_bind: u8_, + pub sysctl_ip_autobind_reuse: u8_, + pub sysctl_ip_dynaddr: u8_, + pub sysctl_raw_l3mdev_accept: u8_, + pub sysctl_udp_early_demux: u8_, + pub sysctl_nexthop_compat_mode: u8_, + pub sysctl_fwmark_reflect: u8_, + pub sysctl_tcp_fwmark_accept: u8_, + pub sysctl_tcp_l3mdev_accept: u8_, + pub sysctl_tcp_mtu_probing: u8_, + pub sysctl_tcp_mtu_probe_floor: ::core::ffi::c_int, + pub sysctl_tcp_base_mss: ::core::ffi::c_int, + pub sysctl_tcp_probe_threshold: ::core::ffi::c_int, + pub sysctl_tcp_probe_interval: u32_, + pub sysctl_tcp_keepalive_time: ::core::ffi::c_int, + pub sysctl_tcp_keepalive_intvl: ::core::ffi::c_int, + pub sysctl_tcp_keepalive_probes: u8_, + pub sysctl_tcp_syn_retries: u8_, + pub sysctl_tcp_synack_retries: u8_, + pub sysctl_tcp_syncookies: u8_, + pub sysctl_tcp_migrate_req: u8_, + pub sysctl_tcp_comp_sack_nr: u8_, + pub sysctl_tcp_backlog_ack_defer: u8_, + pub sysctl_tcp_pingpong_thresh: u8_, + pub sysctl_tcp_retries1: u8_, + pub sysctl_tcp_retries2: u8_, + pub sysctl_tcp_orphan_retries: u8_, + pub sysctl_tcp_tw_reuse: u8_, + pub sysctl_tcp_fin_timeout: ::core::ffi::c_int, + pub sysctl_tcp_sack: u8_, + pub sysctl_tcp_window_scaling: u8_, + pub sysctl_tcp_timestamps: u8_, + pub sysctl_tcp_rto_min_us: ::core::ffi::c_int, + pub sysctl_tcp_recovery: u8_, + pub sysctl_tcp_thin_linear_timeouts: u8_, + pub sysctl_tcp_slow_start_after_idle: u8_, + pub sysctl_tcp_retrans_collapse: u8_, + pub sysctl_tcp_stdurg: u8_, + pub sysctl_tcp_rfc1337: u8_, + pub sysctl_tcp_abort_on_overflow: u8_, + pub sysctl_tcp_fack: u8_, + pub sysctl_tcp_max_reordering: ::core::ffi::c_int, + pub sysctl_tcp_adv_win_scale: ::core::ffi::c_int, + pub sysctl_tcp_dsack: u8_, + pub sysctl_tcp_app_win: u8_, + pub sysctl_tcp_frto: u8_, + pub sysctl_tcp_nometrics_save: u8_, + pub sysctl_tcp_no_ssthresh_metrics_save: u8_, + pub sysctl_tcp_workaround_signed_windows: u8_, + pub sysctl_tcp_challenge_ack_limit: ::core::ffi::c_int, + pub sysctl_tcp_min_tso_segs: u8_, + pub sysctl_tcp_reflect_tos: u8_, + pub sysctl_tcp_invalid_ratelimit: ::core::ffi::c_int, + pub sysctl_tcp_pacing_ss_ratio: ::core::ffi::c_int, + pub sysctl_tcp_pacing_ca_ratio: ::core::ffi::c_int, + pub sysctl_tcp_child_ehash_entries: ::core::ffi::c_uint, + pub sysctl_tcp_comp_sack_delay_ns: ::core::ffi::c_ulong, + pub sysctl_tcp_comp_sack_slack_ns: ::core::ffi::c_ulong, + pub sysctl_max_syn_backlog: ::core::ffi::c_int, + pub sysctl_tcp_fastopen: ::core::ffi::c_int, + pub tcp_congestion_control: *const tcp_congestion_ops, + pub tcp_fastopen_ctx: *mut tcp_fastopen_context, + pub sysctl_tcp_fastopen_blackhole_timeout: ::core::ffi::c_uint, + pub tfo_active_disable_times: atomic_t, + pub tfo_active_disable_stamp: ::core::ffi::c_ulong, + pub tcp_challenge_timestamp: u32_, + pub tcp_challenge_count: u32_, + pub sysctl_tcp_plb_enabled: u8_, + pub sysctl_tcp_plb_idle_rehash_rounds: u8_, + pub sysctl_tcp_plb_rehash_rounds: u8_, + pub sysctl_tcp_plb_suspend_rto_sec: u8_, + pub sysctl_tcp_plb_cong_thresh: ::core::ffi::c_int, + pub sysctl_udp_wmem_min: ::core::ffi::c_int, + pub sysctl_udp_rmem_min: ::core::ffi::c_int, + pub sysctl_fib_notify_on_flag_change: u8_, + pub sysctl_tcp_syn_linear_timeouts: u8_, + pub sysctl_udp_l3mdev_accept: u8_, + pub sysctl_igmp_llm_reports: u8_, + pub sysctl_igmp_max_memberships: ::core::ffi::c_int, + pub sysctl_igmp_max_msf: ::core::ffi::c_int, + pub sysctl_igmp_qrv: ::core::ffi::c_int, + pub ping_group_range: ping_group_range, + pub dev_addr_genid: atomic_t, + pub sysctl_udp_child_hash_entries: ::core::ffi::c_uint, + pub sysctl_local_reserved_ports: *mut ::core::ffi::c_ulong, + pub sysctl_ip_prot_sock: ::core::ffi::c_int, + pub mr_tables: list_head, + pub mr_rules_ops: *mut fib_rules_ops, + pub sysctl_fib_multipath_hash_seed: sysctl_fib_multipath_hash_seed, + pub sysctl_fib_multipath_hash_fields: u32_, + pub sysctl_fib_multipath_use_neigh: u8_, + pub sysctl_fib_multipath_hash_policy: u8_, + pub notifier_ops: *mut fib_notifier_ops, + pub fib_seq: ::core::ffi::c_uint, + pub ipmr_notifier_ops: *mut fib_notifier_ops, + pub ipmr_seq: ::core::ffi::c_uint, + pub rt_genid: atomic_t, + pub ip_id_key: siphash_key_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_ipv4"][::core::mem::size_of::() - 768usize]; + ["Alignment of netns_ipv4"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_ipv4::__cacheline_group_begin__netns_ipv4_read_tx"] + [::core::mem::offset_of!(netns_ipv4, __cacheline_group_begin__netns_ipv4_read_tx) - 0usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_early_retrans"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_early_retrans) - 0usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_tso_win_divisor"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_tso_win_divisor) - 1usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_tso_rtt_log"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_tso_rtt_log) - 2usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_autocorking"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_autocorking) - 3usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_min_snd_mss"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_min_snd_mss) - 4usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_notsent_lowat"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_notsent_lowat) - 8usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_limit_output_bytes"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_limit_output_bytes) - 12usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_min_rtt_wlen"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_min_rtt_wlen) - 16usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_wmem"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_wmem) - 20usize]; + ["Offset of field: netns_ipv4::sysctl_ip_fwd_use_pmtu"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_fwd_use_pmtu) - 32usize]; + ["Offset of field: netns_ipv4::__cacheline_group_end__netns_ipv4_read_tx"] + [::core::mem::offset_of!(netns_ipv4, __cacheline_group_end__netns_ipv4_read_tx) - 33usize]; + ["Offset of field: netns_ipv4::__cacheline_group_begin__netns_ipv4_read_txrx"][::core::mem::offset_of!( + netns_ipv4, + __cacheline_group_begin__netns_ipv4_read_txrx + ) - 33usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_moderate_rcvbuf"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_moderate_rcvbuf) - 33usize]; + ["Offset of field: netns_ipv4::__cacheline_group_end__netns_ipv4_read_txrx"][::core::mem::offset_of!( + netns_ipv4, + __cacheline_group_end__netns_ipv4_read_txrx + ) - 34usize]; + ["Offset of field: netns_ipv4::__cacheline_group_begin__netns_ipv4_read_rx"][::core::mem::offset_of!( + netns_ipv4, + __cacheline_group_begin__netns_ipv4_read_rx + ) - 34usize]; + ["Offset of field: netns_ipv4::sysctl_ip_early_demux"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_early_demux) - 34usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_early_demux"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_early_demux) - 35usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_reordering"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_reordering) - 36usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_rmem"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_rmem) - 40usize]; + ["Offset of field: netns_ipv4::__cacheline_group_end__netns_ipv4_read_rx"] + [::core::mem::offset_of!(netns_ipv4, __cacheline_group_end__netns_ipv4_read_rx) - 52usize]; + ["Offset of field: netns_ipv4::tcp_death_row"] + [::core::mem::offset_of!(netns_ipv4, tcp_death_row) - 64usize]; + ["Offset of field: netns_ipv4::udp_table"] + [::core::mem::offset_of!(netns_ipv4, udp_table) - 192usize]; + ["Offset of field: netns_ipv4::forw_hdr"] + [::core::mem::offset_of!(netns_ipv4, forw_hdr) - 200usize]; + ["Offset of field: netns_ipv4::frags_hdr"] + [::core::mem::offset_of!(netns_ipv4, frags_hdr) - 208usize]; + ["Offset of field: netns_ipv4::ipv4_hdr"] + [::core::mem::offset_of!(netns_ipv4, ipv4_hdr) - 216usize]; + ["Offset of field: netns_ipv4::route_hdr"] + [::core::mem::offset_of!(netns_ipv4, route_hdr) - 224usize]; + ["Offset of field: netns_ipv4::xfrm4_hdr"] + [::core::mem::offset_of!(netns_ipv4, xfrm4_hdr) - 232usize]; + ["Offset of field: netns_ipv4::devconf_all"] + [::core::mem::offset_of!(netns_ipv4, devconf_all) - 240usize]; + ["Offset of field: netns_ipv4::devconf_dflt"] + [::core::mem::offset_of!(netns_ipv4, devconf_dflt) - 248usize]; + ["Offset of field: netns_ipv4::ra_chain"] + [::core::mem::offset_of!(netns_ipv4, ra_chain) - 256usize]; + ["Offset of field: netns_ipv4::ra_mutex"] + [::core::mem::offset_of!(netns_ipv4, ra_mutex) - 264usize]; + ["Offset of field: netns_ipv4::rules_ops"] + [::core::mem::offset_of!(netns_ipv4, rules_ops) - 296usize]; + ["Offset of field: netns_ipv4::fib_main"] + [::core::mem::offset_of!(netns_ipv4, fib_main) - 304usize]; + ["Offset of field: netns_ipv4::fib_default"] + [::core::mem::offset_of!(netns_ipv4, fib_default) - 312usize]; + ["Offset of field: netns_ipv4::fib_rules_require_fldissect"] + [::core::mem::offset_of!(netns_ipv4, fib_rules_require_fldissect) - 320usize]; + ["Offset of field: netns_ipv4::fib_has_custom_rules"] + [::core::mem::offset_of!(netns_ipv4, fib_has_custom_rules) - 324usize]; + ["Offset of field: netns_ipv4::fib_has_custom_local_routes"] + [::core::mem::offset_of!(netns_ipv4, fib_has_custom_local_routes) - 325usize]; + ["Offset of field: netns_ipv4::fib_offload_disabled"] + [::core::mem::offset_of!(netns_ipv4, fib_offload_disabled) - 326usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_shrink_window"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_shrink_window) - 327usize]; + ["Offset of field: netns_ipv4::fib_num_tclassid_users"] + [::core::mem::offset_of!(netns_ipv4, fib_num_tclassid_users) - 328usize]; + ["Offset of field: netns_ipv4::fib_table_hash"] + [::core::mem::offset_of!(netns_ipv4, fib_table_hash) - 336usize]; + ["Offset of field: netns_ipv4::fibnl"][::core::mem::offset_of!(netns_ipv4, fibnl) - 344usize]; + ["Offset of field: netns_ipv4::mc_autojoin_sk"] + [::core::mem::offset_of!(netns_ipv4, mc_autojoin_sk) - 352usize]; + ["Offset of field: netns_ipv4::peers"][::core::mem::offset_of!(netns_ipv4, peers) - 360usize]; + ["Offset of field: netns_ipv4::fqdir"][::core::mem::offset_of!(netns_ipv4, fqdir) - 368usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_echo_ignore_all"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_echo_ignore_all) - 376usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_echo_enable_probe"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_echo_enable_probe) - 377usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_echo_ignore_broadcasts"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_echo_ignore_broadcasts) - 378usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_ignore_bogus_error_responses"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_ignore_bogus_error_responses) - 379usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_errors_use_inbound_ifaddr"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_errors_use_inbound_ifaddr) - 380usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_ratelimit"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_ratelimit) - 384usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_ratemask"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_ratemask) - 388usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_msgs_per_sec"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_msgs_per_sec) - 392usize]; + ["Offset of field: netns_ipv4::sysctl_icmp_msgs_burst"] + [::core::mem::offset_of!(netns_ipv4, sysctl_icmp_msgs_burst) - 396usize]; + ["Offset of field: netns_ipv4::icmp_global_credit"] + [::core::mem::offset_of!(netns_ipv4, icmp_global_credit) - 400usize]; + ["Offset of field: netns_ipv4::icmp_global_stamp"] + [::core::mem::offset_of!(netns_ipv4, icmp_global_stamp) - 404usize]; + ["Offset of field: netns_ipv4::ip_rt_min_pmtu"] + [::core::mem::offset_of!(netns_ipv4, ip_rt_min_pmtu) - 408usize]; + ["Offset of field: netns_ipv4::ip_rt_mtu_expires"] + [::core::mem::offset_of!(netns_ipv4, ip_rt_mtu_expires) - 412usize]; + ["Offset of field: netns_ipv4::ip_rt_min_advmss"] + [::core::mem::offset_of!(netns_ipv4, ip_rt_min_advmss) - 416usize]; + ["Offset of field: netns_ipv4::ip_local_ports"] + [::core::mem::offset_of!(netns_ipv4, ip_local_ports) - 420usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_ecn"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_ecn) - 428usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_ecn_fallback"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_ecn_fallback) - 429usize]; + ["Offset of field: netns_ipv4::sysctl_ip_default_ttl"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_default_ttl) - 430usize]; + ["Offset of field: netns_ipv4::sysctl_ip_no_pmtu_disc"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_no_pmtu_disc) - 431usize]; + ["Offset of field: netns_ipv4::sysctl_ip_fwd_update_priority"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_fwd_update_priority) - 432usize]; + ["Offset of field: netns_ipv4::sysctl_ip_nonlocal_bind"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_nonlocal_bind) - 433usize]; + ["Offset of field: netns_ipv4::sysctl_ip_autobind_reuse"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_autobind_reuse) - 434usize]; + ["Offset of field: netns_ipv4::sysctl_ip_dynaddr"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_dynaddr) - 435usize]; + ["Offset of field: netns_ipv4::sysctl_raw_l3mdev_accept"] + [::core::mem::offset_of!(netns_ipv4, sysctl_raw_l3mdev_accept) - 436usize]; + ["Offset of field: netns_ipv4::sysctl_udp_early_demux"] + [::core::mem::offset_of!(netns_ipv4, sysctl_udp_early_demux) - 437usize]; + ["Offset of field: netns_ipv4::sysctl_nexthop_compat_mode"] + [::core::mem::offset_of!(netns_ipv4, sysctl_nexthop_compat_mode) - 438usize]; + ["Offset of field: netns_ipv4::sysctl_fwmark_reflect"] + [::core::mem::offset_of!(netns_ipv4, sysctl_fwmark_reflect) - 439usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_fwmark_accept"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_fwmark_accept) - 440usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_l3mdev_accept"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_l3mdev_accept) - 441usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_mtu_probing"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_mtu_probing) - 442usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_mtu_probe_floor"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_mtu_probe_floor) - 444usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_base_mss"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_base_mss) - 448usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_probe_threshold"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_probe_threshold) - 452usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_probe_interval"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_probe_interval) - 456usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_keepalive_time"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_keepalive_time) - 460usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_keepalive_intvl"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_keepalive_intvl) - 464usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_keepalive_probes"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_keepalive_probes) - 468usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_syn_retries"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_syn_retries) - 469usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_synack_retries"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_synack_retries) - 470usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_syncookies"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_syncookies) - 471usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_migrate_req"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_migrate_req) - 472usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_comp_sack_nr"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_comp_sack_nr) - 473usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_backlog_ack_defer"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_backlog_ack_defer) - 474usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_pingpong_thresh"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_pingpong_thresh) - 475usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_retries1"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_retries1) - 476usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_retries2"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_retries2) - 477usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_orphan_retries"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_orphan_retries) - 478usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_tw_reuse"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_tw_reuse) - 479usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_fin_timeout"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_fin_timeout) - 480usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_sack"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_sack) - 484usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_window_scaling"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_window_scaling) - 485usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_timestamps"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_timestamps) - 486usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_rto_min_us"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_rto_min_us) - 488usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_recovery"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_recovery) - 492usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_thin_linear_timeouts"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_thin_linear_timeouts) - 493usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_slow_start_after_idle"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_slow_start_after_idle) - 494usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_retrans_collapse"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_retrans_collapse) - 495usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_stdurg"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_stdurg) - 496usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_rfc1337"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_rfc1337) - 497usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_abort_on_overflow"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_abort_on_overflow) - 498usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_fack"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_fack) - 499usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_max_reordering"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_max_reordering) - 500usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_adv_win_scale"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_adv_win_scale) - 504usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_dsack"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_dsack) - 508usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_app_win"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_app_win) - 509usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_frto"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_frto) - 510usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_nometrics_save"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_nometrics_save) - 511usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_no_ssthresh_metrics_save"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_no_ssthresh_metrics_save) - 512usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_workaround_signed_windows"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_workaround_signed_windows) - 513usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_challenge_ack_limit"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_challenge_ack_limit) - 516usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_min_tso_segs"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_min_tso_segs) - 520usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_reflect_tos"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_reflect_tos) - 521usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_invalid_ratelimit"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_invalid_ratelimit) - 524usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_pacing_ss_ratio"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_pacing_ss_ratio) - 528usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_pacing_ca_ratio"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_pacing_ca_ratio) - 532usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_child_ehash_entries"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_child_ehash_entries) - 536usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_comp_sack_delay_ns"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_comp_sack_delay_ns) - 544usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_comp_sack_slack_ns"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_comp_sack_slack_ns) - 552usize]; + ["Offset of field: netns_ipv4::sysctl_max_syn_backlog"] + [::core::mem::offset_of!(netns_ipv4, sysctl_max_syn_backlog) - 560usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_fastopen"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_fastopen) - 564usize]; + ["Offset of field: netns_ipv4::tcp_congestion_control"] + [::core::mem::offset_of!(netns_ipv4, tcp_congestion_control) - 568usize]; + ["Offset of field: netns_ipv4::tcp_fastopen_ctx"] + [::core::mem::offset_of!(netns_ipv4, tcp_fastopen_ctx) - 576usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_fastopen_blackhole_timeout"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_fastopen_blackhole_timeout) - 584usize]; + ["Offset of field: netns_ipv4::tfo_active_disable_times"] + [::core::mem::offset_of!(netns_ipv4, tfo_active_disable_times) - 588usize]; + ["Offset of field: netns_ipv4::tfo_active_disable_stamp"] + [::core::mem::offset_of!(netns_ipv4, tfo_active_disable_stamp) - 592usize]; + ["Offset of field: netns_ipv4::tcp_challenge_timestamp"] + [::core::mem::offset_of!(netns_ipv4, tcp_challenge_timestamp) - 600usize]; + ["Offset of field: netns_ipv4::tcp_challenge_count"] + [::core::mem::offset_of!(netns_ipv4, tcp_challenge_count) - 604usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_plb_enabled"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_plb_enabled) - 608usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_plb_idle_rehash_rounds"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_plb_idle_rehash_rounds) - 609usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_plb_rehash_rounds"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_plb_rehash_rounds) - 610usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_plb_suspend_rto_sec"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_plb_suspend_rto_sec) - 611usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_plb_cong_thresh"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_plb_cong_thresh) - 612usize]; + ["Offset of field: netns_ipv4::sysctl_udp_wmem_min"] + [::core::mem::offset_of!(netns_ipv4, sysctl_udp_wmem_min) - 616usize]; + ["Offset of field: netns_ipv4::sysctl_udp_rmem_min"] + [::core::mem::offset_of!(netns_ipv4, sysctl_udp_rmem_min) - 620usize]; + ["Offset of field: netns_ipv4::sysctl_fib_notify_on_flag_change"] + [::core::mem::offset_of!(netns_ipv4, sysctl_fib_notify_on_flag_change) - 624usize]; + ["Offset of field: netns_ipv4::sysctl_tcp_syn_linear_timeouts"] + [::core::mem::offset_of!(netns_ipv4, sysctl_tcp_syn_linear_timeouts) - 625usize]; + ["Offset of field: netns_ipv4::sysctl_udp_l3mdev_accept"] + [::core::mem::offset_of!(netns_ipv4, sysctl_udp_l3mdev_accept) - 626usize]; + ["Offset of field: netns_ipv4::sysctl_igmp_llm_reports"] + [::core::mem::offset_of!(netns_ipv4, sysctl_igmp_llm_reports) - 627usize]; + ["Offset of field: netns_ipv4::sysctl_igmp_max_memberships"] + [::core::mem::offset_of!(netns_ipv4, sysctl_igmp_max_memberships) - 628usize]; + ["Offset of field: netns_ipv4::sysctl_igmp_max_msf"] + [::core::mem::offset_of!(netns_ipv4, sysctl_igmp_max_msf) - 632usize]; + ["Offset of field: netns_ipv4::sysctl_igmp_qrv"] + [::core::mem::offset_of!(netns_ipv4, sysctl_igmp_qrv) - 636usize]; + ["Offset of field: netns_ipv4::ping_group_range"] + [::core::mem::offset_of!(netns_ipv4, ping_group_range) - 640usize]; + ["Offset of field: netns_ipv4::dev_addr_genid"] + [::core::mem::offset_of!(netns_ipv4, dev_addr_genid) - 656usize]; + ["Offset of field: netns_ipv4::sysctl_udp_child_hash_entries"] + [::core::mem::offset_of!(netns_ipv4, sysctl_udp_child_hash_entries) - 660usize]; + ["Offset of field: netns_ipv4::sysctl_local_reserved_ports"] + [::core::mem::offset_of!(netns_ipv4, sysctl_local_reserved_ports) - 664usize]; + ["Offset of field: netns_ipv4::sysctl_ip_prot_sock"] + [::core::mem::offset_of!(netns_ipv4, sysctl_ip_prot_sock) - 672usize]; + ["Offset of field: netns_ipv4::mr_tables"] + [::core::mem::offset_of!(netns_ipv4, mr_tables) - 680usize]; + ["Offset of field: netns_ipv4::mr_rules_ops"] + [::core::mem::offset_of!(netns_ipv4, mr_rules_ops) - 696usize]; + ["Offset of field: netns_ipv4::sysctl_fib_multipath_hash_seed"] + [::core::mem::offset_of!(netns_ipv4, sysctl_fib_multipath_hash_seed) - 704usize]; + ["Offset of field: netns_ipv4::sysctl_fib_multipath_hash_fields"] + [::core::mem::offset_of!(netns_ipv4, sysctl_fib_multipath_hash_fields) - 712usize]; + ["Offset of field: netns_ipv4::sysctl_fib_multipath_use_neigh"] + [::core::mem::offset_of!(netns_ipv4, sysctl_fib_multipath_use_neigh) - 716usize]; + ["Offset of field: netns_ipv4::sysctl_fib_multipath_hash_policy"] + [::core::mem::offset_of!(netns_ipv4, sysctl_fib_multipath_hash_policy) - 717usize]; + ["Offset of field: netns_ipv4::notifier_ops"] + [::core::mem::offset_of!(netns_ipv4, notifier_ops) - 720usize]; + ["Offset of field: netns_ipv4::fib_seq"] + [::core::mem::offset_of!(netns_ipv4, fib_seq) - 728usize]; + ["Offset of field: netns_ipv4::ipmr_notifier_ops"] + [::core::mem::offset_of!(netns_ipv4, ipmr_notifier_ops) - 736usize]; + ["Offset of field: netns_ipv4::ipmr_seq"] + [::core::mem::offset_of!(netns_ipv4, ipmr_seq) - 744usize]; + ["Offset of field: netns_ipv4::rt_genid"] + [::core::mem::offset_of!(netns_ipv4, rt_genid) - 748usize]; + ["Offset of field: netns_ipv4::ip_id_key"] + [::core::mem::offset_of!(netns_ipv4, ip_id_key) - 752usize]; +}; +impl netns_ipv4 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_sysctl_ipv6 { + pub hdr: *mut ctl_table_header, + pub route_hdr: *mut ctl_table_header, + pub icmp_hdr: *mut ctl_table_header, + pub frags_hdr: *mut ctl_table_header, + pub xfrm6_hdr: *mut ctl_table_header, + pub flush_delay: ::core::ffi::c_int, + pub ip6_rt_max_size: ::core::ffi::c_int, + pub ip6_rt_gc_min_interval: ::core::ffi::c_int, + pub ip6_rt_gc_timeout: ::core::ffi::c_int, + pub ip6_rt_gc_interval: ::core::ffi::c_int, + pub ip6_rt_gc_elasticity: ::core::ffi::c_int, + pub ip6_rt_mtu_expires: ::core::ffi::c_int, + pub ip6_rt_min_advmss: ::core::ffi::c_int, + pub multipath_hash_fields: u32_, + pub multipath_hash_policy: u8_, + pub bindv6only: u8_, + pub flowlabel_consistency: u8_, + pub auto_flowlabels: u8_, + pub icmpv6_time: ::core::ffi::c_int, + pub icmpv6_echo_ignore_all: u8_, + pub icmpv6_echo_ignore_multicast: u8_, + pub icmpv6_echo_ignore_anycast: u8_, + pub icmpv6_ratemask: [::core::ffi::c_ulong; 4usize], + pub icmpv6_ratemask_ptr: *mut ::core::ffi::c_ulong, + pub anycast_src_echo_reply: u8_, + pub ip_nonlocal_bind: u8_, + pub fwmark_reflect: u8_, + pub flowlabel_state_ranges: u8_, + pub idgen_retries: ::core::ffi::c_int, + pub idgen_delay: ::core::ffi::c_int, + pub flowlabel_reflect: ::core::ffi::c_int, + pub max_dst_opts_cnt: ::core::ffi::c_int, + pub max_hbh_opts_cnt: ::core::ffi::c_int, + pub max_dst_opts_len: ::core::ffi::c_int, + pub max_hbh_opts_len: ::core::ffi::c_int, + pub seg6_flowlabel: ::core::ffi::c_int, + pub ioam6_id: u32_, + pub ioam6_id_wide: u64_, + pub skip_notify_on_dev_down: u8_, + pub fib_notify_on_flag_change: u8_, + pub icmpv6_error_anycast_as_unicast: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_sysctl_ipv6"][::core::mem::size_of::() - 184usize]; + ["Alignment of netns_sysctl_ipv6"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_sysctl_ipv6::hdr"] + [::core::mem::offset_of!(netns_sysctl_ipv6, hdr) - 0usize]; + ["Offset of field: netns_sysctl_ipv6::route_hdr"] + [::core::mem::offset_of!(netns_sysctl_ipv6, route_hdr) - 8usize]; + ["Offset of field: netns_sysctl_ipv6::icmp_hdr"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmp_hdr) - 16usize]; + ["Offset of field: netns_sysctl_ipv6::frags_hdr"] + [::core::mem::offset_of!(netns_sysctl_ipv6, frags_hdr) - 24usize]; + ["Offset of field: netns_sysctl_ipv6::xfrm6_hdr"] + [::core::mem::offset_of!(netns_sysctl_ipv6, xfrm6_hdr) - 32usize]; + ["Offset of field: netns_sysctl_ipv6::flush_delay"] + [::core::mem::offset_of!(netns_sysctl_ipv6, flush_delay) - 40usize]; + ["Offset of field: netns_sysctl_ipv6::ip6_rt_max_size"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip6_rt_max_size) - 44usize]; + ["Offset of field: netns_sysctl_ipv6::ip6_rt_gc_min_interval"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip6_rt_gc_min_interval) - 48usize]; + ["Offset of field: netns_sysctl_ipv6::ip6_rt_gc_timeout"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip6_rt_gc_timeout) - 52usize]; + ["Offset of field: netns_sysctl_ipv6::ip6_rt_gc_interval"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip6_rt_gc_interval) - 56usize]; + ["Offset of field: netns_sysctl_ipv6::ip6_rt_gc_elasticity"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip6_rt_gc_elasticity) - 60usize]; + ["Offset of field: netns_sysctl_ipv6::ip6_rt_mtu_expires"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip6_rt_mtu_expires) - 64usize]; + ["Offset of field: netns_sysctl_ipv6::ip6_rt_min_advmss"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip6_rt_min_advmss) - 68usize]; + ["Offset of field: netns_sysctl_ipv6::multipath_hash_fields"] + [::core::mem::offset_of!(netns_sysctl_ipv6, multipath_hash_fields) - 72usize]; + ["Offset of field: netns_sysctl_ipv6::multipath_hash_policy"] + [::core::mem::offset_of!(netns_sysctl_ipv6, multipath_hash_policy) - 76usize]; + ["Offset of field: netns_sysctl_ipv6::bindv6only"] + [::core::mem::offset_of!(netns_sysctl_ipv6, bindv6only) - 77usize]; + ["Offset of field: netns_sysctl_ipv6::flowlabel_consistency"] + [::core::mem::offset_of!(netns_sysctl_ipv6, flowlabel_consistency) - 78usize]; + ["Offset of field: netns_sysctl_ipv6::auto_flowlabels"] + [::core::mem::offset_of!(netns_sysctl_ipv6, auto_flowlabels) - 79usize]; + ["Offset of field: netns_sysctl_ipv6::icmpv6_time"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmpv6_time) - 80usize]; + ["Offset of field: netns_sysctl_ipv6::icmpv6_echo_ignore_all"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmpv6_echo_ignore_all) - 84usize]; + ["Offset of field: netns_sysctl_ipv6::icmpv6_echo_ignore_multicast"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmpv6_echo_ignore_multicast) - 85usize]; + ["Offset of field: netns_sysctl_ipv6::icmpv6_echo_ignore_anycast"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmpv6_echo_ignore_anycast) - 86usize]; + ["Offset of field: netns_sysctl_ipv6::icmpv6_ratemask"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmpv6_ratemask) - 88usize]; + ["Offset of field: netns_sysctl_ipv6::icmpv6_ratemask_ptr"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmpv6_ratemask_ptr) - 120usize]; + ["Offset of field: netns_sysctl_ipv6::anycast_src_echo_reply"] + [::core::mem::offset_of!(netns_sysctl_ipv6, anycast_src_echo_reply) - 128usize]; + ["Offset of field: netns_sysctl_ipv6::ip_nonlocal_bind"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ip_nonlocal_bind) - 129usize]; + ["Offset of field: netns_sysctl_ipv6::fwmark_reflect"] + [::core::mem::offset_of!(netns_sysctl_ipv6, fwmark_reflect) - 130usize]; + ["Offset of field: netns_sysctl_ipv6::flowlabel_state_ranges"] + [::core::mem::offset_of!(netns_sysctl_ipv6, flowlabel_state_ranges) - 131usize]; + ["Offset of field: netns_sysctl_ipv6::idgen_retries"] + [::core::mem::offset_of!(netns_sysctl_ipv6, idgen_retries) - 132usize]; + ["Offset of field: netns_sysctl_ipv6::idgen_delay"] + [::core::mem::offset_of!(netns_sysctl_ipv6, idgen_delay) - 136usize]; + ["Offset of field: netns_sysctl_ipv6::flowlabel_reflect"] + [::core::mem::offset_of!(netns_sysctl_ipv6, flowlabel_reflect) - 140usize]; + ["Offset of field: netns_sysctl_ipv6::max_dst_opts_cnt"] + [::core::mem::offset_of!(netns_sysctl_ipv6, max_dst_opts_cnt) - 144usize]; + ["Offset of field: netns_sysctl_ipv6::max_hbh_opts_cnt"] + [::core::mem::offset_of!(netns_sysctl_ipv6, max_hbh_opts_cnt) - 148usize]; + ["Offset of field: netns_sysctl_ipv6::max_dst_opts_len"] + [::core::mem::offset_of!(netns_sysctl_ipv6, max_dst_opts_len) - 152usize]; + ["Offset of field: netns_sysctl_ipv6::max_hbh_opts_len"] + [::core::mem::offset_of!(netns_sysctl_ipv6, max_hbh_opts_len) - 156usize]; + ["Offset of field: netns_sysctl_ipv6::seg6_flowlabel"] + [::core::mem::offset_of!(netns_sysctl_ipv6, seg6_flowlabel) - 160usize]; + ["Offset of field: netns_sysctl_ipv6::ioam6_id"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ioam6_id) - 164usize]; + ["Offset of field: netns_sysctl_ipv6::ioam6_id_wide"] + [::core::mem::offset_of!(netns_sysctl_ipv6, ioam6_id_wide) - 168usize]; + ["Offset of field: netns_sysctl_ipv6::skip_notify_on_dev_down"] + [::core::mem::offset_of!(netns_sysctl_ipv6, skip_notify_on_dev_down) - 176usize]; + ["Offset of field: netns_sysctl_ipv6::fib_notify_on_flag_change"] + [::core::mem::offset_of!(netns_sysctl_ipv6, fib_notify_on_flag_change) - 177usize]; + ["Offset of field: netns_sysctl_ipv6::icmpv6_error_anycast_as_unicast"] + [::core::mem::offset_of!(netns_sysctl_ipv6, icmpv6_error_anycast_as_unicast) - 178usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_ipv6 { + pub ip6_dst_ops: dst_ops, + pub sysctl: netns_sysctl_ipv6, + pub devconf_all: *mut ipv6_devconf, + pub devconf_dflt: *mut ipv6_devconf, + pub peers: *mut inet_peer_base, + pub fqdir: *mut fqdir, + pub fib6_null_entry: *mut fib6_info, + pub ip6_null_entry: *mut rt6_info, + pub rt6_stats: *mut rt6_statistics, + pub ip6_fib_timer: timer_list, + pub fib_table_hash: *mut hlist_head, + pub fib6_main_tbl: *mut fib6_table, + pub fib6_walkers: list_head, + pub fib6_walker_lock: rwlock_t, + pub fib6_gc_lock: spinlock_t, + pub ip6_rt_gc_expire: atomic_t, + pub ip6_rt_last_gc: ::core::ffi::c_ulong, + pub flowlabel_has_excl: ::core::ffi::c_uchar, + pub fib6_has_custom_rules: bool_, + pub fib6_rules_require_fldissect: ::core::ffi::c_uint, + pub fib6_routes_require_src: ::core::ffi::c_uint, + pub ip6_prohibit_entry: *mut rt6_info, + pub ip6_blk_hole_entry: *mut rt6_info, + pub fib6_local_tbl: *mut fib6_table, + pub fib6_rules_ops: *mut fib_rules_ops, + pub ndisc_sk: *mut sock, + pub tcp_sk: *mut sock, + pub igmp_sk: *mut sock, + pub mc_autojoin_sk: *mut sock, + pub inet6_addr_lst: *mut hlist_head, + pub addrconf_hash_lock: spinlock_t, + pub addr_chk_work: delayed_work, + pub mr6_tables: list_head, + pub mr6_rules_ops: *mut fib_rules_ops, + pub dev_addr_genid: atomic_t, + pub fib6_sernum: atomic_t, + pub seg6_data: *mut seg6_pernet_data, + pub notifier_ops: *mut fib_notifier_ops, + pub ip6mr_notifier_ops: *mut fib_notifier_ops, + pub ipmr_seq: ::core::ffi::c_uint, + pub ip6addrlbl_table: netns_ipv6__bindgen_ty_1, + pub ioam6_data: *mut ioam6_pernet_data, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_ipv6__bindgen_ty_1 { + pub head: hlist_head, + pub lock: spinlock_t, + pub seq: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_ipv6__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of netns_ipv6__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_ipv6__bindgen_ty_1::head"] + [::core::mem::offset_of!(netns_ipv6__bindgen_ty_1, head) - 0usize]; + ["Offset of field: netns_ipv6__bindgen_ty_1::lock"] + [::core::mem::offset_of!(netns_ipv6__bindgen_ty_1, lock) - 8usize]; + ["Offset of field: netns_ipv6__bindgen_ty_1::seq"] + [::core::mem::offset_of!(netns_ipv6__bindgen_ty_1, seq) - 12usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_ipv6"][::core::mem::size_of::() - 832usize]; + ["Alignment of netns_ipv6"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_ipv6::ip6_dst_ops"] + [::core::mem::offset_of!(netns_ipv6, ip6_dst_ops) - 0usize]; + ["Offset of field: netns_ipv6::sysctl"][::core::mem::offset_of!(netns_ipv6, sysctl) - 192usize]; + ["Offset of field: netns_ipv6::devconf_all"] + [::core::mem::offset_of!(netns_ipv6, devconf_all) - 376usize]; + ["Offset of field: netns_ipv6::devconf_dflt"] + [::core::mem::offset_of!(netns_ipv6, devconf_dflt) - 384usize]; + ["Offset of field: netns_ipv6::peers"][::core::mem::offset_of!(netns_ipv6, peers) - 392usize]; + ["Offset of field: netns_ipv6::fqdir"][::core::mem::offset_of!(netns_ipv6, fqdir) - 400usize]; + ["Offset of field: netns_ipv6::fib6_null_entry"] + [::core::mem::offset_of!(netns_ipv6, fib6_null_entry) - 408usize]; + ["Offset of field: netns_ipv6::ip6_null_entry"] + [::core::mem::offset_of!(netns_ipv6, ip6_null_entry) - 416usize]; + ["Offset of field: netns_ipv6::rt6_stats"] + [::core::mem::offset_of!(netns_ipv6, rt6_stats) - 424usize]; + ["Offset of field: netns_ipv6::ip6_fib_timer"] + [::core::mem::offset_of!(netns_ipv6, ip6_fib_timer) - 432usize]; + ["Offset of field: netns_ipv6::fib_table_hash"] + [::core::mem::offset_of!(netns_ipv6, fib_table_hash) - 472usize]; + ["Offset of field: netns_ipv6::fib6_main_tbl"] + [::core::mem::offset_of!(netns_ipv6, fib6_main_tbl) - 480usize]; + ["Offset of field: netns_ipv6::fib6_walkers"] + [::core::mem::offset_of!(netns_ipv6, fib6_walkers) - 488usize]; + ["Offset of field: netns_ipv6::fib6_walker_lock"] + [::core::mem::offset_of!(netns_ipv6, fib6_walker_lock) - 504usize]; + ["Offset of field: netns_ipv6::fib6_gc_lock"] + [::core::mem::offset_of!(netns_ipv6, fib6_gc_lock) - 512usize]; + ["Offset of field: netns_ipv6::ip6_rt_gc_expire"] + [::core::mem::offset_of!(netns_ipv6, ip6_rt_gc_expire) - 516usize]; + ["Offset of field: netns_ipv6::ip6_rt_last_gc"] + [::core::mem::offset_of!(netns_ipv6, ip6_rt_last_gc) - 520usize]; + ["Offset of field: netns_ipv6::flowlabel_has_excl"] + [::core::mem::offset_of!(netns_ipv6, flowlabel_has_excl) - 528usize]; + ["Offset of field: netns_ipv6::fib6_has_custom_rules"] + [::core::mem::offset_of!(netns_ipv6, fib6_has_custom_rules) - 529usize]; + ["Offset of field: netns_ipv6::fib6_rules_require_fldissect"] + [::core::mem::offset_of!(netns_ipv6, fib6_rules_require_fldissect) - 532usize]; + ["Offset of field: netns_ipv6::fib6_routes_require_src"] + [::core::mem::offset_of!(netns_ipv6, fib6_routes_require_src) - 536usize]; + ["Offset of field: netns_ipv6::ip6_prohibit_entry"] + [::core::mem::offset_of!(netns_ipv6, ip6_prohibit_entry) - 544usize]; + ["Offset of field: netns_ipv6::ip6_blk_hole_entry"] + [::core::mem::offset_of!(netns_ipv6, ip6_blk_hole_entry) - 552usize]; + ["Offset of field: netns_ipv6::fib6_local_tbl"] + [::core::mem::offset_of!(netns_ipv6, fib6_local_tbl) - 560usize]; + ["Offset of field: netns_ipv6::fib6_rules_ops"] + [::core::mem::offset_of!(netns_ipv6, fib6_rules_ops) - 568usize]; + ["Offset of field: netns_ipv6::ndisc_sk"] + [::core::mem::offset_of!(netns_ipv6, ndisc_sk) - 576usize]; + ["Offset of field: netns_ipv6::tcp_sk"][::core::mem::offset_of!(netns_ipv6, tcp_sk) - 584usize]; + ["Offset of field: netns_ipv6::igmp_sk"] + [::core::mem::offset_of!(netns_ipv6, igmp_sk) - 592usize]; + ["Offset of field: netns_ipv6::mc_autojoin_sk"] + [::core::mem::offset_of!(netns_ipv6, mc_autojoin_sk) - 600usize]; + ["Offset of field: netns_ipv6::inet6_addr_lst"] + [::core::mem::offset_of!(netns_ipv6, inet6_addr_lst) - 608usize]; + ["Offset of field: netns_ipv6::addrconf_hash_lock"] + [::core::mem::offset_of!(netns_ipv6, addrconf_hash_lock) - 616usize]; + ["Offset of field: netns_ipv6::addr_chk_work"] + [::core::mem::offset_of!(netns_ipv6, addr_chk_work) - 624usize]; + ["Offset of field: netns_ipv6::mr6_tables"] + [::core::mem::offset_of!(netns_ipv6, mr6_tables) - 712usize]; + ["Offset of field: netns_ipv6::mr6_rules_ops"] + [::core::mem::offset_of!(netns_ipv6, mr6_rules_ops) - 728usize]; + ["Offset of field: netns_ipv6::dev_addr_genid"] + [::core::mem::offset_of!(netns_ipv6, dev_addr_genid) - 736usize]; + ["Offset of field: netns_ipv6::fib6_sernum"] + [::core::mem::offset_of!(netns_ipv6, fib6_sernum) - 740usize]; + ["Offset of field: netns_ipv6::seg6_data"] + [::core::mem::offset_of!(netns_ipv6, seg6_data) - 744usize]; + ["Offset of field: netns_ipv6::notifier_ops"] + [::core::mem::offset_of!(netns_ipv6, notifier_ops) - 752usize]; + ["Offset of field: netns_ipv6::ip6mr_notifier_ops"] + [::core::mem::offset_of!(netns_ipv6, ip6mr_notifier_ops) - 760usize]; + ["Offset of field: netns_ipv6::ipmr_seq"] + [::core::mem::offset_of!(netns_ipv6, ipmr_seq) - 768usize]; + ["Offset of field: netns_ipv6::ip6addrlbl_table"] + [::core::mem::offset_of!(netns_ipv6, ip6addrlbl_table) - 776usize]; + ["Offset of field: netns_ipv6::ioam6_data"] + [::core::mem::offset_of!(netns_ipv6, ioam6_data) - 792usize]; +}; +impl netns_ipv6 { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_sysctl_lowpan { + pub frags_hdr: *mut ctl_table_header, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_sysctl_lowpan"][::core::mem::size_of::() - 8usize]; + ["Alignment of netns_sysctl_lowpan"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_sysctl_lowpan::frags_hdr"] + [::core::mem::offset_of!(netns_sysctl_lowpan, frags_hdr) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_ieee802154_lowpan { + pub sysctl: netns_sysctl_lowpan, + pub fqdir: *mut fqdir, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_ieee802154_lowpan"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of netns_ieee802154_lowpan"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_ieee802154_lowpan::sysctl"] + [::core::mem::offset_of!(netns_ieee802154_lowpan, sysctl) - 0usize]; + ["Offset of field: netns_ieee802154_lowpan::fqdir"] + [::core::mem::offset_of!(netns_ieee802154_lowpan, fqdir) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sctp_mib { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_sctp { + pub sctp_statistics: *mut sctp_mib, + pub proc_net_sctp: *mut proc_dir_entry, + pub sysctl_header: *mut ctl_table_header, + pub ctl_sock: *mut sock, + pub udp4_sock: *mut sock, + pub udp6_sock: *mut sock, + pub udp_port: ::core::ffi::c_int, + pub encap_port: ::core::ffi::c_int, + pub local_addr_list: list_head, + pub addr_waitq: list_head, + pub addr_wq_timer: timer_list, + pub auto_asconf_splist: list_head, + pub addr_wq_lock: spinlock_t, + pub local_addr_lock: spinlock_t, + pub rto_initial: ::core::ffi::c_uint, + pub rto_min: ::core::ffi::c_uint, + pub rto_max: ::core::ffi::c_uint, + pub rto_alpha: ::core::ffi::c_int, + pub rto_beta: ::core::ffi::c_int, + pub max_burst: ::core::ffi::c_int, + pub cookie_preserve_enable: ::core::ffi::c_int, + pub sctp_hmac_alg: *mut ::core::ffi::c_char, + pub valid_cookie_life: ::core::ffi::c_uint, + pub sack_timeout: ::core::ffi::c_uint, + pub hb_interval: ::core::ffi::c_uint, + pub probe_interval: ::core::ffi::c_uint, + pub max_retrans_association: ::core::ffi::c_int, + pub max_retrans_path: ::core::ffi::c_int, + pub max_retrans_init: ::core::ffi::c_int, + pub pf_retrans: ::core::ffi::c_int, + pub ps_retrans: ::core::ffi::c_int, + pub pf_enable: ::core::ffi::c_int, + pub pf_expose: ::core::ffi::c_int, + pub sndbuf_policy: ::core::ffi::c_int, + pub rcvbuf_policy: ::core::ffi::c_int, + pub default_auto_asconf: ::core::ffi::c_int, + pub addip_enable: ::core::ffi::c_int, + pub addip_noauth: ::core::ffi::c_int, + pub prsctp_enable: ::core::ffi::c_int, + pub reconf_enable: ::core::ffi::c_int, + pub auth_enable: ::core::ffi::c_int, + pub intl_enable: ::core::ffi::c_int, + pub ecn_enable: ::core::ffi::c_int, + pub scope_policy: ::core::ffi::c_int, + pub rwnd_upd_shift: ::core::ffi::c_int, + pub max_autoclose: ::core::ffi::c_ulong, + pub l3mdev_accept: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_sctp"][::core::mem::size_of::() - 304usize]; + ["Alignment of netns_sctp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_sctp::sctp_statistics"] + [::core::mem::offset_of!(netns_sctp, sctp_statistics) - 0usize]; + ["Offset of field: netns_sctp::proc_net_sctp"] + [::core::mem::offset_of!(netns_sctp, proc_net_sctp) - 8usize]; + ["Offset of field: netns_sctp::sysctl_header"] + [::core::mem::offset_of!(netns_sctp, sysctl_header) - 16usize]; + ["Offset of field: netns_sctp::ctl_sock"] + [::core::mem::offset_of!(netns_sctp, ctl_sock) - 24usize]; + ["Offset of field: netns_sctp::udp4_sock"] + [::core::mem::offset_of!(netns_sctp, udp4_sock) - 32usize]; + ["Offset of field: netns_sctp::udp6_sock"] + [::core::mem::offset_of!(netns_sctp, udp6_sock) - 40usize]; + ["Offset of field: netns_sctp::udp_port"] + [::core::mem::offset_of!(netns_sctp, udp_port) - 48usize]; + ["Offset of field: netns_sctp::encap_port"] + [::core::mem::offset_of!(netns_sctp, encap_port) - 52usize]; + ["Offset of field: netns_sctp::local_addr_list"] + [::core::mem::offset_of!(netns_sctp, local_addr_list) - 56usize]; + ["Offset of field: netns_sctp::addr_waitq"] + [::core::mem::offset_of!(netns_sctp, addr_waitq) - 72usize]; + ["Offset of field: netns_sctp::addr_wq_timer"] + [::core::mem::offset_of!(netns_sctp, addr_wq_timer) - 88usize]; + ["Offset of field: netns_sctp::auto_asconf_splist"] + [::core::mem::offset_of!(netns_sctp, auto_asconf_splist) - 128usize]; + ["Offset of field: netns_sctp::addr_wq_lock"] + [::core::mem::offset_of!(netns_sctp, addr_wq_lock) - 144usize]; + ["Offset of field: netns_sctp::local_addr_lock"] + [::core::mem::offset_of!(netns_sctp, local_addr_lock) - 148usize]; + ["Offset of field: netns_sctp::rto_initial"] + [::core::mem::offset_of!(netns_sctp, rto_initial) - 152usize]; + ["Offset of field: netns_sctp::rto_min"] + [::core::mem::offset_of!(netns_sctp, rto_min) - 156usize]; + ["Offset of field: netns_sctp::rto_max"] + [::core::mem::offset_of!(netns_sctp, rto_max) - 160usize]; + ["Offset of field: netns_sctp::rto_alpha"] + [::core::mem::offset_of!(netns_sctp, rto_alpha) - 164usize]; + ["Offset of field: netns_sctp::rto_beta"] + [::core::mem::offset_of!(netns_sctp, rto_beta) - 168usize]; + ["Offset of field: netns_sctp::max_burst"] + [::core::mem::offset_of!(netns_sctp, max_burst) - 172usize]; + ["Offset of field: netns_sctp::cookie_preserve_enable"] + [::core::mem::offset_of!(netns_sctp, cookie_preserve_enable) - 176usize]; + ["Offset of field: netns_sctp::sctp_hmac_alg"] + [::core::mem::offset_of!(netns_sctp, sctp_hmac_alg) - 184usize]; + ["Offset of field: netns_sctp::valid_cookie_life"] + [::core::mem::offset_of!(netns_sctp, valid_cookie_life) - 192usize]; + ["Offset of field: netns_sctp::sack_timeout"] + [::core::mem::offset_of!(netns_sctp, sack_timeout) - 196usize]; + ["Offset of field: netns_sctp::hb_interval"] + [::core::mem::offset_of!(netns_sctp, hb_interval) - 200usize]; + ["Offset of field: netns_sctp::probe_interval"] + [::core::mem::offset_of!(netns_sctp, probe_interval) - 204usize]; + ["Offset of field: netns_sctp::max_retrans_association"] + [::core::mem::offset_of!(netns_sctp, max_retrans_association) - 208usize]; + ["Offset of field: netns_sctp::max_retrans_path"] + [::core::mem::offset_of!(netns_sctp, max_retrans_path) - 212usize]; + ["Offset of field: netns_sctp::max_retrans_init"] + [::core::mem::offset_of!(netns_sctp, max_retrans_init) - 216usize]; + ["Offset of field: netns_sctp::pf_retrans"] + [::core::mem::offset_of!(netns_sctp, pf_retrans) - 220usize]; + ["Offset of field: netns_sctp::ps_retrans"] + [::core::mem::offset_of!(netns_sctp, ps_retrans) - 224usize]; + ["Offset of field: netns_sctp::pf_enable"] + [::core::mem::offset_of!(netns_sctp, pf_enable) - 228usize]; + ["Offset of field: netns_sctp::pf_expose"] + [::core::mem::offset_of!(netns_sctp, pf_expose) - 232usize]; + ["Offset of field: netns_sctp::sndbuf_policy"] + [::core::mem::offset_of!(netns_sctp, sndbuf_policy) - 236usize]; + ["Offset of field: netns_sctp::rcvbuf_policy"] + [::core::mem::offset_of!(netns_sctp, rcvbuf_policy) - 240usize]; + ["Offset of field: netns_sctp::default_auto_asconf"] + [::core::mem::offset_of!(netns_sctp, default_auto_asconf) - 244usize]; + ["Offset of field: netns_sctp::addip_enable"] + [::core::mem::offset_of!(netns_sctp, addip_enable) - 248usize]; + ["Offset of field: netns_sctp::addip_noauth"] + [::core::mem::offset_of!(netns_sctp, addip_noauth) - 252usize]; + ["Offset of field: netns_sctp::prsctp_enable"] + [::core::mem::offset_of!(netns_sctp, prsctp_enable) - 256usize]; + ["Offset of field: netns_sctp::reconf_enable"] + [::core::mem::offset_of!(netns_sctp, reconf_enable) - 260usize]; + ["Offset of field: netns_sctp::auth_enable"] + [::core::mem::offset_of!(netns_sctp, auth_enable) - 264usize]; + ["Offset of field: netns_sctp::intl_enable"] + [::core::mem::offset_of!(netns_sctp, intl_enable) - 268usize]; + ["Offset of field: netns_sctp::ecn_enable"] + [::core::mem::offset_of!(netns_sctp, ecn_enable) - 272usize]; + ["Offset of field: netns_sctp::scope_policy"] + [::core::mem::offset_of!(netns_sctp, scope_policy) - 276usize]; + ["Offset of field: netns_sctp::rwnd_upd_shift"] + [::core::mem::offset_of!(netns_sctp, rwnd_upd_shift) - 280usize]; + ["Offset of field: netns_sctp::max_autoclose"] + [::core::mem::offset_of!(netns_sctp, max_autoclose) - 288usize]; + ["Offset of field: netns_sctp::l3mdev_accept"] + [::core::mem::offset_of!(netns_sctp, l3mdev_accept) - 296usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_nf { + pub proc_netfilter: *mut proc_dir_entry, + pub nf_loggers: [*const nf_logger; 11usize], + pub nf_log_dir_header: *mut ctl_table_header, + pub nf_lwtnl_dir_header: *mut ctl_table_header, + pub hooks_ipv4: [*mut nf_hook_entries; 5usize], + pub hooks_ipv6: [*mut nf_hook_entries; 5usize], + pub hooks_arp: [*mut nf_hook_entries; 3usize], + pub hooks_bridge: [*mut nf_hook_entries; 5usize], + pub defrag_ipv4_users: ::core::ffi::c_uint, + pub defrag_ipv6_users: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_nf"][::core::mem::size_of::() - 264usize]; + ["Alignment of netns_nf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_nf::proc_netfilter"] + [::core::mem::offset_of!(netns_nf, proc_netfilter) - 0usize]; + ["Offset of field: netns_nf::nf_loggers"] + [::core::mem::offset_of!(netns_nf, nf_loggers) - 8usize]; + ["Offset of field: netns_nf::nf_log_dir_header"] + [::core::mem::offset_of!(netns_nf, nf_log_dir_header) - 96usize]; + ["Offset of field: netns_nf::nf_lwtnl_dir_header"] + [::core::mem::offset_of!(netns_nf, nf_lwtnl_dir_header) - 104usize]; + ["Offset of field: netns_nf::hooks_ipv4"] + [::core::mem::offset_of!(netns_nf, hooks_ipv4) - 112usize]; + ["Offset of field: netns_nf::hooks_ipv6"] + [::core::mem::offset_of!(netns_nf, hooks_ipv6) - 152usize]; + ["Offset of field: netns_nf::hooks_arp"] + [::core::mem::offset_of!(netns_nf, hooks_arp) - 192usize]; + ["Offset of field: netns_nf::hooks_bridge"] + [::core::mem::offset_of!(netns_nf, hooks_bridge) - 216usize]; + ["Offset of field: netns_nf::defrag_ipv4_users"] + [::core::mem::offset_of!(netns_nf, defrag_ipv4_users) - 256usize]; + ["Offset of field: netns_nf::defrag_ipv6_users"] + [::core::mem::offset_of!(netns_nf, defrag_ipv6_users) - 260usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_generic_net { + pub timeout: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_generic_net"][::core::mem::size_of::() - 4usize]; + ["Alignment of nf_generic_net"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_generic_net::timeout"] + [::core::mem::offset_of!(nf_generic_net, timeout) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_tcp_net { + pub timeouts: [::core::ffi::c_uint; 14usize], + pub tcp_loose: u8_, + pub tcp_be_liberal: u8_, + pub tcp_max_retrans: u8_, + pub tcp_ignore_invalid_rst: u8_, + pub offload_timeout: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_tcp_net"][::core::mem::size_of::() - 64usize]; + ["Alignment of nf_tcp_net"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_tcp_net::timeouts"] + [::core::mem::offset_of!(nf_tcp_net, timeouts) - 0usize]; + ["Offset of field: nf_tcp_net::tcp_loose"] + [::core::mem::offset_of!(nf_tcp_net, tcp_loose) - 56usize]; + ["Offset of field: nf_tcp_net::tcp_be_liberal"] + [::core::mem::offset_of!(nf_tcp_net, tcp_be_liberal) - 57usize]; + ["Offset of field: nf_tcp_net::tcp_max_retrans"] + [::core::mem::offset_of!(nf_tcp_net, tcp_max_retrans) - 58usize]; + ["Offset of field: nf_tcp_net::tcp_ignore_invalid_rst"] + [::core::mem::offset_of!(nf_tcp_net, tcp_ignore_invalid_rst) - 59usize]; + ["Offset of field: nf_tcp_net::offload_timeout"] + [::core::mem::offset_of!(nf_tcp_net, offload_timeout) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_udp_net { + pub timeouts: [::core::ffi::c_uint; 2usize], + pub offload_timeout: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_udp_net"][::core::mem::size_of::() - 12usize]; + ["Alignment of nf_udp_net"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_udp_net::timeouts"] + [::core::mem::offset_of!(nf_udp_net, timeouts) - 0usize]; + ["Offset of field: nf_udp_net::offload_timeout"] + [::core::mem::offset_of!(nf_udp_net, offload_timeout) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_icmp_net { + pub timeout: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_icmp_net"][::core::mem::size_of::() - 4usize]; + ["Alignment of nf_icmp_net"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_icmp_net::timeout"] + [::core::mem::offset_of!(nf_icmp_net, timeout) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_dccp_net { + pub dccp_loose: u8_, + pub dccp_timeout: [::core::ffi::c_uint; 10usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_dccp_net"][::core::mem::size_of::() - 44usize]; + ["Alignment of nf_dccp_net"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_dccp_net::dccp_loose"] + [::core::mem::offset_of!(nf_dccp_net, dccp_loose) - 0usize]; + ["Offset of field: nf_dccp_net::dccp_timeout"] + [::core::mem::offset_of!(nf_dccp_net, dccp_timeout) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_sctp_net { + pub timeouts: [::core::ffi::c_uint; 10usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_sctp_net"][::core::mem::size_of::() - 40usize]; + ["Alignment of nf_sctp_net"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_sctp_net::timeouts"] + [::core::mem::offset_of!(nf_sctp_net, timeouts) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_gre_net { + pub keymap_list: list_head, + pub timeouts: [::core::ffi::c_uint; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_gre_net"][::core::mem::size_of::() - 24usize]; + ["Alignment of nf_gre_net"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_gre_net::keymap_list"] + [::core::mem::offset_of!(nf_gre_net, keymap_list) - 0usize]; + ["Offset of field: nf_gre_net::timeouts"] + [::core::mem::offset_of!(nf_gre_net, timeouts) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_ip_net { + pub generic: nf_generic_net, + pub tcp: nf_tcp_net, + pub udp: nf_udp_net, + pub icmp: nf_icmp_net, + pub icmpv6: nf_icmp_net, + pub dccp: nf_dccp_net, + pub sctp: nf_sctp_net, + pub gre: nf_gre_net, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_ip_net"][::core::mem::size_of::() - 200usize]; + ["Alignment of nf_ip_net"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_ip_net::generic"][::core::mem::offset_of!(nf_ip_net, generic) - 0usize]; + ["Offset of field: nf_ip_net::tcp"][::core::mem::offset_of!(nf_ip_net, tcp) - 4usize]; + ["Offset of field: nf_ip_net::udp"][::core::mem::offset_of!(nf_ip_net, udp) - 68usize]; + ["Offset of field: nf_ip_net::icmp"][::core::mem::offset_of!(nf_ip_net, icmp) - 80usize]; + ["Offset of field: nf_ip_net::icmpv6"][::core::mem::offset_of!(nf_ip_net, icmpv6) - 84usize]; + ["Offset of field: nf_ip_net::dccp"][::core::mem::offset_of!(nf_ip_net, dccp) - 88usize]; + ["Offset of field: nf_ip_net::sctp"][::core::mem::offset_of!(nf_ip_net, sctp) - 132usize]; + ["Offset of field: nf_ip_net::gre"][::core::mem::offset_of!(nf_ip_net, gre) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_ct { + pub ecache_dwork_pending: bool_, + pub sysctl_log_invalid: u8_, + pub sysctl_events: u8_, + pub sysctl_acct: u8_, + pub sysctl_tstamp: u8_, + pub sysctl_checksum: u8_, + pub stat: *mut ip_conntrack_stat, + pub nf_conntrack_event_cb: *mut nf_ct_event_notifier, + pub nf_ct_proto: nf_ip_net, + pub labels_used: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_ct"][::core::mem::size_of::() - 232usize]; + ["Alignment of netns_ct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_ct::ecache_dwork_pending"] + [::core::mem::offset_of!(netns_ct, ecache_dwork_pending) - 0usize]; + ["Offset of field: netns_ct::sysctl_log_invalid"] + [::core::mem::offset_of!(netns_ct, sysctl_log_invalid) - 1usize]; + ["Offset of field: netns_ct::sysctl_events"] + [::core::mem::offset_of!(netns_ct, sysctl_events) - 2usize]; + ["Offset of field: netns_ct::sysctl_acct"] + [::core::mem::offset_of!(netns_ct, sysctl_acct) - 3usize]; + ["Offset of field: netns_ct::sysctl_tstamp"] + [::core::mem::offset_of!(netns_ct, sysctl_tstamp) - 4usize]; + ["Offset of field: netns_ct::sysctl_checksum"] + [::core::mem::offset_of!(netns_ct, sysctl_checksum) - 5usize]; + ["Offset of field: netns_ct::stat"][::core::mem::offset_of!(netns_ct, stat) - 8usize]; + ["Offset of field: netns_ct::nf_conntrack_event_cb"] + [::core::mem::offset_of!(netns_ct, nf_conntrack_event_cb) - 16usize]; + ["Offset of field: netns_ct::nf_ct_proto"] + [::core::mem::offset_of!(netns_ct, nf_ct_proto) - 24usize]; + ["Offset of field: netns_ct::labels_used"] + [::core::mem::offset_of!(netns_ct, labels_used) - 224usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_nftables { + pub gencursor: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_nftables"][::core::mem::size_of::() - 1usize]; + ["Alignment of netns_nftables"][::core::mem::align_of::() - 1usize]; + ["Offset of field: netns_nftables::gencursor"] + [::core::mem::offset_of!(netns_nftables, gencursor) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_ft { + pub stat: *mut nf_flow_table_stat, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_ft"][::core::mem::size_of::() - 8usize]; + ["Alignment of netns_ft"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_ft::stat"][::core::mem::offset_of!(netns_ft, stat) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_bpf { + pub run_array: [*mut bpf_prog_array; 2usize], + pub progs: [*mut bpf_prog; 2usize], + pub links: [list_head; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_bpf"][::core::mem::size_of::() - 64usize]; + ["Alignment of netns_bpf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_bpf::run_array"] + [::core::mem::offset_of!(netns_bpf, run_array) - 0usize]; + ["Offset of field: netns_bpf::progs"][::core::mem::offset_of!(netns_bpf, progs) - 16usize]; + ["Offset of field: netns_bpf::links"][::core::mem::offset_of!(netns_bpf, links) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_policy_hash { + pub table: *mut hlist_head, + pub hmask: ::core::ffi::c_uint, + pub dbits4: u8_, + pub sbits4: u8_, + pub dbits6: u8_, + pub sbits6: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_policy_hash"][::core::mem::size_of::() - 16usize]; + ["Alignment of xfrm_policy_hash"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_policy_hash::table"] + [::core::mem::offset_of!(xfrm_policy_hash, table) - 0usize]; + ["Offset of field: xfrm_policy_hash::hmask"] + [::core::mem::offset_of!(xfrm_policy_hash, hmask) - 8usize]; + ["Offset of field: xfrm_policy_hash::dbits4"] + [::core::mem::offset_of!(xfrm_policy_hash, dbits4) - 12usize]; + ["Offset of field: xfrm_policy_hash::sbits4"] + [::core::mem::offset_of!(xfrm_policy_hash, sbits4) - 13usize]; + ["Offset of field: xfrm_policy_hash::dbits6"] + [::core::mem::offset_of!(xfrm_policy_hash, dbits6) - 14usize]; + ["Offset of field: xfrm_policy_hash::sbits6"] + [::core::mem::offset_of!(xfrm_policy_hash, sbits6) - 15usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_policy_hthresh { + pub work: work_struct, + pub lock: seqlock_t, + pub lbits4: u8_, + pub rbits4: u8_, + pub lbits6: u8_, + pub rbits6: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_policy_hthresh"][::core::mem::size_of::() - 48usize]; + ["Alignment of xfrm_policy_hthresh"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_policy_hthresh::work"] + [::core::mem::offset_of!(xfrm_policy_hthresh, work) - 0usize]; + ["Offset of field: xfrm_policy_hthresh::lock"] + [::core::mem::offset_of!(xfrm_policy_hthresh, lock) - 32usize]; + ["Offset of field: xfrm_policy_hthresh::lbits4"] + [::core::mem::offset_of!(xfrm_policy_hthresh, lbits4) - 40usize]; + ["Offset of field: xfrm_policy_hthresh::rbits4"] + [::core::mem::offset_of!(xfrm_policy_hthresh, rbits4) - 41usize]; + ["Offset of field: xfrm_policy_hthresh::lbits6"] + [::core::mem::offset_of!(xfrm_policy_hthresh, lbits6) - 42usize]; + ["Offset of field: xfrm_policy_hthresh::rbits6"] + [::core::mem::offset_of!(xfrm_policy_hthresh, rbits6) - 43usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_xfrm { + pub state_all: list_head, + pub state_bydst: *mut hlist_head, + pub state_bysrc: *mut hlist_head, + pub state_byspi: *mut hlist_head, + pub state_byseq: *mut hlist_head, + pub state_cache_input: *mut hlist_head, + pub state_hmask: ::core::ffi::c_uint, + pub state_num: ::core::ffi::c_uint, + pub state_hash_work: work_struct, + pub policy_all: list_head, + pub policy_byidx: *mut hlist_head, + pub policy_idx_hmask: ::core::ffi::c_uint, + pub idx_generator: ::core::ffi::c_uint, + pub policy_bydst: [xfrm_policy_hash; 3usize], + pub policy_count: [::core::ffi::c_uint; 6usize], + pub policy_hash_work: work_struct, + pub policy_hthresh: xfrm_policy_hthresh, + pub inexact_bins: list_head, + pub nlsk: *mut sock, + pub nlsk_stash: *mut sock, + pub sysctl_aevent_etime: u32_, + pub sysctl_aevent_rseqth: u32_, + pub sysctl_larval_drop: ::core::ffi::c_int, + pub sysctl_acq_expires: u32_, + pub policy_default: [u8_; 3usize], + pub sysctl_hdr: *mut ctl_table_header, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, + pub xfrm4_dst_ops: dst_ops, + pub xfrm6_dst_ops: dst_ops, + pub xfrm_state_lock: spinlock_t, + pub xfrm_state_hash_generation: seqcount_spinlock_t, + pub xfrm_policy_hash_generation: seqcount_spinlock_t, + pub xfrm_policy_lock: spinlock_t, + pub xfrm_cfg_mutex: mutex, + pub nat_keepalive_work: delayed_work, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_xfrm"][::core::mem::size_of::() - 960usize]; + ["Alignment of netns_xfrm"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_xfrm::state_all"] + [::core::mem::offset_of!(netns_xfrm, state_all) - 0usize]; + ["Offset of field: netns_xfrm::state_bydst"] + [::core::mem::offset_of!(netns_xfrm, state_bydst) - 16usize]; + ["Offset of field: netns_xfrm::state_bysrc"] + [::core::mem::offset_of!(netns_xfrm, state_bysrc) - 24usize]; + ["Offset of field: netns_xfrm::state_byspi"] + [::core::mem::offset_of!(netns_xfrm, state_byspi) - 32usize]; + ["Offset of field: netns_xfrm::state_byseq"] + [::core::mem::offset_of!(netns_xfrm, state_byseq) - 40usize]; + ["Offset of field: netns_xfrm::state_cache_input"] + [::core::mem::offset_of!(netns_xfrm, state_cache_input) - 48usize]; + ["Offset of field: netns_xfrm::state_hmask"] + [::core::mem::offset_of!(netns_xfrm, state_hmask) - 56usize]; + ["Offset of field: netns_xfrm::state_num"] + [::core::mem::offset_of!(netns_xfrm, state_num) - 60usize]; + ["Offset of field: netns_xfrm::state_hash_work"] + [::core::mem::offset_of!(netns_xfrm, state_hash_work) - 64usize]; + ["Offset of field: netns_xfrm::policy_all"] + [::core::mem::offset_of!(netns_xfrm, policy_all) - 96usize]; + ["Offset of field: netns_xfrm::policy_byidx"] + [::core::mem::offset_of!(netns_xfrm, policy_byidx) - 112usize]; + ["Offset of field: netns_xfrm::policy_idx_hmask"] + [::core::mem::offset_of!(netns_xfrm, policy_idx_hmask) - 120usize]; + ["Offset of field: netns_xfrm::idx_generator"] + [::core::mem::offset_of!(netns_xfrm, idx_generator) - 124usize]; + ["Offset of field: netns_xfrm::policy_bydst"] + [::core::mem::offset_of!(netns_xfrm, policy_bydst) - 128usize]; + ["Offset of field: netns_xfrm::policy_count"] + [::core::mem::offset_of!(netns_xfrm, policy_count) - 176usize]; + ["Offset of field: netns_xfrm::policy_hash_work"] + [::core::mem::offset_of!(netns_xfrm, policy_hash_work) - 200usize]; + ["Offset of field: netns_xfrm::policy_hthresh"] + [::core::mem::offset_of!(netns_xfrm, policy_hthresh) - 232usize]; + ["Offset of field: netns_xfrm::inexact_bins"] + [::core::mem::offset_of!(netns_xfrm, inexact_bins) - 280usize]; + ["Offset of field: netns_xfrm::nlsk"][::core::mem::offset_of!(netns_xfrm, nlsk) - 296usize]; + ["Offset of field: netns_xfrm::nlsk_stash"] + [::core::mem::offset_of!(netns_xfrm, nlsk_stash) - 304usize]; + ["Offset of field: netns_xfrm::sysctl_aevent_etime"] + [::core::mem::offset_of!(netns_xfrm, sysctl_aevent_etime) - 312usize]; + ["Offset of field: netns_xfrm::sysctl_aevent_rseqth"] + [::core::mem::offset_of!(netns_xfrm, sysctl_aevent_rseqth) - 316usize]; + ["Offset of field: netns_xfrm::sysctl_larval_drop"] + [::core::mem::offset_of!(netns_xfrm, sysctl_larval_drop) - 320usize]; + ["Offset of field: netns_xfrm::sysctl_acq_expires"] + [::core::mem::offset_of!(netns_xfrm, sysctl_acq_expires) - 324usize]; + ["Offset of field: netns_xfrm::policy_default"] + [::core::mem::offset_of!(netns_xfrm, policy_default) - 328usize]; + ["Offset of field: netns_xfrm::sysctl_hdr"] + [::core::mem::offset_of!(netns_xfrm, sysctl_hdr) - 336usize]; + ["Offset of field: netns_xfrm::xfrm4_dst_ops"] + [::core::mem::offset_of!(netns_xfrm, xfrm4_dst_ops) - 384usize]; + ["Offset of field: netns_xfrm::xfrm6_dst_ops"] + [::core::mem::offset_of!(netns_xfrm, xfrm6_dst_ops) - 576usize]; + ["Offset of field: netns_xfrm::xfrm_state_lock"] + [::core::mem::offset_of!(netns_xfrm, xfrm_state_lock) - 768usize]; + ["Offset of field: netns_xfrm::xfrm_state_hash_generation"] + [::core::mem::offset_of!(netns_xfrm, xfrm_state_hash_generation) - 772usize]; + ["Offset of field: netns_xfrm::xfrm_policy_hash_generation"] + [::core::mem::offset_of!(netns_xfrm, xfrm_policy_hash_generation) - 776usize]; + ["Offset of field: netns_xfrm::xfrm_policy_lock"] + [::core::mem::offset_of!(netns_xfrm, xfrm_policy_lock) - 780usize]; + ["Offset of field: netns_xfrm::xfrm_cfg_mutex"] + [::core::mem::offset_of!(netns_xfrm, xfrm_cfg_mutex) - 784usize]; + ["Offset of field: netns_xfrm::nat_keepalive_work"] + [::core::mem::offset_of!(netns_xfrm, nat_keepalive_work) - 816usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_ipvs { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mpls_route { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netns_mpls { + pub ip_ttl_propagate: ::core::ffi::c_int, + pub default_ttl: ::core::ffi::c_int, + pub platform_labels: usize, + pub platform_label: *mut *mut mpls_route, + pub ctl: *mut ctl_table_header, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_mpls"][::core::mem::size_of::() - 32usize]; + ["Alignment of netns_mpls"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_mpls::ip_ttl_propagate"] + [::core::mem::offset_of!(netns_mpls, ip_ttl_propagate) - 0usize]; + ["Offset of field: netns_mpls::default_ttl"] + [::core::mem::offset_of!(netns_mpls, default_ttl) - 4usize]; + ["Offset of field: netns_mpls::platform_labels"] + [::core::mem::offset_of!(netns_mpls, platform_labels) - 8usize]; + ["Offset of field: netns_mpls::platform_label"] + [::core::mem::offset_of!(netns_mpls, platform_label) - 16usize]; + ["Offset of field: netns_mpls::ctl"][::core::mem::offset_of!(netns_mpls, ctl) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct can_dev_rcv_lists { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct can_pkg_stats { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct can_rcv_lists_stats { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_can { + pub proc_dir: *mut proc_dir_entry, + pub pde_stats: *mut proc_dir_entry, + pub pde_reset_stats: *mut proc_dir_entry, + pub pde_rcvlist_all: *mut proc_dir_entry, + pub pde_rcvlist_fil: *mut proc_dir_entry, + pub pde_rcvlist_inv: *mut proc_dir_entry, + pub pde_rcvlist_sff: *mut proc_dir_entry, + pub pde_rcvlist_eff: *mut proc_dir_entry, + pub pde_rcvlist_err: *mut proc_dir_entry, + pub bcmproc_dir: *mut proc_dir_entry, + pub rx_alldev_list: *mut can_dev_rcv_lists, + pub rcvlists_lock: spinlock_t, + pub stattimer: timer_list, + pub pkg_stats: *mut can_pkg_stats, + pub rcv_lists_stats: *mut can_rcv_lists_stats, + pub cgw_list: hlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_can"][::core::mem::size_of::() - 160usize]; + ["Alignment of netns_can"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_can::proc_dir"][::core::mem::offset_of!(netns_can, proc_dir) - 0usize]; + ["Offset of field: netns_can::pde_stats"] + [::core::mem::offset_of!(netns_can, pde_stats) - 8usize]; + ["Offset of field: netns_can::pde_reset_stats"] + [::core::mem::offset_of!(netns_can, pde_reset_stats) - 16usize]; + ["Offset of field: netns_can::pde_rcvlist_all"] + [::core::mem::offset_of!(netns_can, pde_rcvlist_all) - 24usize]; + ["Offset of field: netns_can::pde_rcvlist_fil"] + [::core::mem::offset_of!(netns_can, pde_rcvlist_fil) - 32usize]; + ["Offset of field: netns_can::pde_rcvlist_inv"] + [::core::mem::offset_of!(netns_can, pde_rcvlist_inv) - 40usize]; + ["Offset of field: netns_can::pde_rcvlist_sff"] + [::core::mem::offset_of!(netns_can, pde_rcvlist_sff) - 48usize]; + ["Offset of field: netns_can::pde_rcvlist_eff"] + [::core::mem::offset_of!(netns_can, pde_rcvlist_eff) - 56usize]; + ["Offset of field: netns_can::pde_rcvlist_err"] + [::core::mem::offset_of!(netns_can, pde_rcvlist_err) - 64usize]; + ["Offset of field: netns_can::bcmproc_dir"] + [::core::mem::offset_of!(netns_can, bcmproc_dir) - 72usize]; + ["Offset of field: netns_can::rx_alldev_list"] + [::core::mem::offset_of!(netns_can, rx_alldev_list) - 80usize]; + ["Offset of field: netns_can::rcvlists_lock"] + [::core::mem::offset_of!(netns_can, rcvlists_lock) - 88usize]; + ["Offset of field: netns_can::stattimer"] + [::core::mem::offset_of!(netns_can, stattimer) - 96usize]; + ["Offset of field: netns_can::pkg_stats"] + [::core::mem::offset_of!(netns_can, pkg_stats) - 136usize]; + ["Offset of field: netns_can::rcv_lists_stats"] + [::core::mem::offset_of!(netns_can, rcv_lists_stats) - 144usize]; + ["Offset of field: netns_can::cgw_list"] + [::core::mem::offset_of!(netns_can, cgw_list) - 152usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_xdp { + pub lock: mutex, + pub list: hlist_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_xdp"][::core::mem::size_of::() - 40usize]; + ["Alignment of netns_xdp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_xdp::lock"][::core::mem::offset_of!(netns_xdp, lock) - 0usize]; + ["Offset of field: netns_xdp::list"][::core::mem::offset_of!(netns_xdp, list) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_mctp { + pub routes: list_head, + pub bind_lock: mutex, + pub binds: hlist_head, + pub keys_lock: spinlock_t, + pub keys: hlist_head, + pub default_net: ::core::ffi::c_uint, + pub neigh_lock: mutex, + pub neighbours: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_mctp"][::core::mem::size_of::() - 128usize]; + ["Alignment of netns_mctp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_mctp::routes"][::core::mem::offset_of!(netns_mctp, routes) - 0usize]; + ["Offset of field: netns_mctp::bind_lock"] + [::core::mem::offset_of!(netns_mctp, bind_lock) - 16usize]; + ["Offset of field: netns_mctp::binds"][::core::mem::offset_of!(netns_mctp, binds) - 48usize]; + ["Offset of field: netns_mctp::keys_lock"] + [::core::mem::offset_of!(netns_mctp, keys_lock) - 56usize]; + ["Offset of field: netns_mctp::keys"][::core::mem::offset_of!(netns_mctp, keys) - 64usize]; + ["Offset of field: netns_mctp::default_net"] + [::core::mem::offset_of!(netns_mctp, default_net) - 72usize]; + ["Offset of field: netns_mctp::neigh_lock"] + [::core::mem::offset_of!(netns_mctp, neigh_lock) - 80usize]; + ["Offset of field: netns_mctp::neighbours"] + [::core::mem::offset_of!(netns_mctp, neighbours) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct smc_stats { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct smc_stats_rsn { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netns_smc { + pub smc_stats: *mut smc_stats, + pub mutex_fback_rsn: mutex, + pub fback_rsn: *mut smc_stats_rsn, + pub limit_smc_hs: bool_, + pub smc_hdr: *mut ctl_table_header, + pub sysctl_autocorking_size: ::core::ffi::c_uint, + pub sysctl_smcr_buf_type: ::core::ffi::c_uint, + pub sysctl_smcr_testlink_time: ::core::ffi::c_int, + pub sysctl_wmem: ::core::ffi::c_int, + pub sysctl_rmem: ::core::ffi::c_int, + pub sysctl_max_links_per_lgr: ::core::ffi::c_int, + pub sysctl_max_conns_per_lgr: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netns_smc"][::core::mem::size_of::() - 96usize]; + ["Alignment of netns_smc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netns_smc::smc_stats"] + [::core::mem::offset_of!(netns_smc, smc_stats) - 0usize]; + ["Offset of field: netns_smc::mutex_fback_rsn"] + [::core::mem::offset_of!(netns_smc, mutex_fback_rsn) - 8usize]; + ["Offset of field: netns_smc::fback_rsn"] + [::core::mem::offset_of!(netns_smc, fback_rsn) - 40usize]; + ["Offset of field: netns_smc::limit_smc_hs"] + [::core::mem::offset_of!(netns_smc, limit_smc_hs) - 48usize]; + ["Offset of field: netns_smc::smc_hdr"][::core::mem::offset_of!(netns_smc, smc_hdr) - 56usize]; + ["Offset of field: netns_smc::sysctl_autocorking_size"] + [::core::mem::offset_of!(netns_smc, sysctl_autocorking_size) - 64usize]; + ["Offset of field: netns_smc::sysctl_smcr_buf_type"] + [::core::mem::offset_of!(netns_smc, sysctl_smcr_buf_type) - 68usize]; + ["Offset of field: netns_smc::sysctl_smcr_testlink_time"] + [::core::mem::offset_of!(netns_smc, sysctl_smcr_testlink_time) - 72usize]; + ["Offset of field: netns_smc::sysctl_wmem"] + [::core::mem::offset_of!(netns_smc, sysctl_wmem) - 76usize]; + ["Offset of field: netns_smc::sysctl_rmem"] + [::core::mem::offset_of!(netns_smc, sysctl_rmem) - 80usize]; + ["Offset of field: netns_smc::sysctl_max_links_per_lgr"] + [::core::mem::offset_of!(netns_smc, sysctl_max_links_per_lgr) - 84usize]; + ["Offset of field: netns_smc::sysctl_max_conns_per_lgr"] + [::core::mem::offset_of!(netns_smc, sysctl_max_conns_per_lgr) - 88usize]; +}; +#[repr(C)] +pub struct net { + pub passive: refcount_t, + pub rules_mod_lock: spinlock_t, + pub dev_base_seq: ::core::ffi::c_uint, + pub ifindex: u32_, + pub nsid_lock: spinlock_t, + pub fnhe_genid: atomic_t, + pub list: list_head, + pub exit_list: list_head, + pub defer_free_list: llist_node, + pub cleanup_list: llist_node, + pub key_domain: *mut key_tag, + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub netns_ids: idr, + pub ns: ns_common, + pub refcnt_tracker: ref_tracker_dir, + pub notrefcnt_tracker: ref_tracker_dir, + pub dev_base_head: list_head, + pub proc_net: *mut proc_dir_entry, + pub proc_net_stat: *mut proc_dir_entry, + pub sysctls: ctl_table_set, + pub rtnl: *mut sock, + pub genl_sock: *mut sock, + pub uevent_sock: *mut uevent_sock, + pub dev_name_head: *mut hlist_head, + pub dev_index_head: *mut hlist_head, + pub dev_by_index: xarray, + pub netdev_chain: raw_notifier_head, + pub hash_mix: u32_, + pub loopback_dev: *mut net_device, + pub rules_ops: list_head, + pub core: netns_core, + pub mib: netns_mib, + pub packet: netns_packet, + pub unx: netns_unix, + pub nexthop: netns_nexthop, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub ipv4: netns_ipv4, + pub ipv6: netns_ipv6, + pub ieee802154_lowpan: netns_ieee802154_lowpan, + pub sctp: netns_sctp, + pub nf: netns_nf, + pub ct: netns_ct, + pub nft: netns_nftables, + pub ft: netns_ft, + pub wext_nlevents: sk_buff_head, + pub gen_: *mut net_generic, + pub bpf: netns_bpf, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 32usize]>, + pub xfrm: netns_xfrm, + pub net_cookie: u64_, + pub ipvs: *mut netns_ipvs, + pub mpls: netns_mpls, + pub can: netns_can, + pub xdp: netns_xdp, + pub mctp: netns_mctp, + pub crypto_nlsk: *mut sock, + pub diag_nlsk: *mut sock, + pub smc: netns_smc, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net"][::core::mem::size_of::() - 4736usize]; + ["Alignment of net"][::core::mem::align_of::() - 8usize]; + ["Offset of field: net::passive"][::core::mem::offset_of!(net, passive) - 0usize]; + ["Offset of field: net::rules_mod_lock"][::core::mem::offset_of!(net, rules_mod_lock) - 4usize]; + ["Offset of field: net::dev_base_seq"][::core::mem::offset_of!(net, dev_base_seq) - 8usize]; + ["Offset of field: net::ifindex"][::core::mem::offset_of!(net, ifindex) - 12usize]; + ["Offset of field: net::nsid_lock"][::core::mem::offset_of!(net, nsid_lock) - 16usize]; + ["Offset of field: net::fnhe_genid"][::core::mem::offset_of!(net, fnhe_genid) - 20usize]; + ["Offset of field: net::list"][::core::mem::offset_of!(net, list) - 24usize]; + ["Offset of field: net::exit_list"][::core::mem::offset_of!(net, exit_list) - 40usize]; + ["Offset of field: net::defer_free_list"] + [::core::mem::offset_of!(net, defer_free_list) - 56usize]; + ["Offset of field: net::cleanup_list"][::core::mem::offset_of!(net, cleanup_list) - 64usize]; + ["Offset of field: net::key_domain"][::core::mem::offset_of!(net, key_domain) - 72usize]; + ["Offset of field: net::user_ns"][::core::mem::offset_of!(net, user_ns) - 80usize]; + ["Offset of field: net::ucounts"][::core::mem::offset_of!(net, ucounts) - 88usize]; + ["Offset of field: net::netns_ids"][::core::mem::offset_of!(net, netns_ids) - 96usize]; + ["Offset of field: net::ns"][::core::mem::offset_of!(net, ns) - 120usize]; + ["Offset of field: net::refcnt_tracker"] + [::core::mem::offset_of!(net, refcnt_tracker) - 144usize]; + ["Offset of field: net::notrefcnt_tracker"] + [::core::mem::offset_of!(net, notrefcnt_tracker) - 144usize]; + ["Offset of field: net::dev_base_head"][::core::mem::offset_of!(net, dev_base_head) - 144usize]; + ["Offset of field: net::proc_net"][::core::mem::offset_of!(net, proc_net) - 160usize]; + ["Offset of field: net::proc_net_stat"][::core::mem::offset_of!(net, proc_net_stat) - 168usize]; + ["Offset of field: net::sysctls"][::core::mem::offset_of!(net, sysctls) - 176usize]; + ["Offset of field: net::rtnl"][::core::mem::offset_of!(net, rtnl) - 280usize]; + ["Offset of field: net::genl_sock"][::core::mem::offset_of!(net, genl_sock) - 288usize]; + ["Offset of field: net::uevent_sock"][::core::mem::offset_of!(net, uevent_sock) - 296usize]; + ["Offset of field: net::dev_name_head"][::core::mem::offset_of!(net, dev_name_head) - 304usize]; + ["Offset of field: net::dev_index_head"] + [::core::mem::offset_of!(net, dev_index_head) - 312usize]; + ["Offset of field: net::dev_by_index"][::core::mem::offset_of!(net, dev_by_index) - 320usize]; + ["Offset of field: net::netdev_chain"][::core::mem::offset_of!(net, netdev_chain) - 336usize]; + ["Offset of field: net::hash_mix"][::core::mem::offset_of!(net, hash_mix) - 344usize]; + ["Offset of field: net::loopback_dev"][::core::mem::offset_of!(net, loopback_dev) - 352usize]; + ["Offset of field: net::rules_ops"][::core::mem::offset_of!(net, rules_ops) - 360usize]; + ["Offset of field: net::core"][::core::mem::offset_of!(net, core) - 376usize]; + ["Offset of field: net::mib"][::core::mem::offset_of!(net, mib) - 416usize]; + ["Offset of field: net::packet"][::core::mem::offset_of!(net, packet) - 544usize]; + ["Offset of field: net::unx"][::core::mem::offset_of!(net, unx) - 584usize]; + ["Offset of field: net::nexthop"][::core::mem::offset_of!(net, nexthop) - 616usize]; + ["Offset of field: net::ipv4"][::core::mem::offset_of!(net, ipv4) - 704usize]; + ["Offset of field: net::ipv6"][::core::mem::offset_of!(net, ipv6) - 1472usize]; + ["Offset of field: net::ieee802154_lowpan"] + [::core::mem::offset_of!(net, ieee802154_lowpan) - 2304usize]; + ["Offset of field: net::sctp"][::core::mem::offset_of!(net, sctp) - 2320usize]; + ["Offset of field: net::nf"][::core::mem::offset_of!(net, nf) - 2624usize]; + ["Offset of field: net::ct"][::core::mem::offset_of!(net, ct) - 2888usize]; + ["Offset of field: net::nft"][::core::mem::offset_of!(net, nft) - 3120usize]; + ["Offset of field: net::ft"][::core::mem::offset_of!(net, ft) - 3128usize]; + ["Offset of field: net::wext_nlevents"] + [::core::mem::offset_of!(net, wext_nlevents) - 3136usize]; + ["Offset of field: net::gen_"][::core::mem::offset_of!(net, gen_) - 3160usize]; + ["Offset of field: net::bpf"][::core::mem::offset_of!(net, bpf) - 3168usize]; + ["Offset of field: net::xfrm"][::core::mem::offset_of!(net, xfrm) - 3264usize]; + ["Offset of field: net::net_cookie"][::core::mem::offset_of!(net, net_cookie) - 4224usize]; + ["Offset of field: net::ipvs"][::core::mem::offset_of!(net, ipvs) - 4232usize]; + ["Offset of field: net::mpls"][::core::mem::offset_of!(net, mpls) - 4240usize]; + ["Offset of field: net::can"][::core::mem::offset_of!(net, can) - 4272usize]; + ["Offset of field: net::xdp"][::core::mem::offset_of!(net, xdp) - 4432usize]; + ["Offset of field: net::mctp"][::core::mem::offset_of!(net, mctp) - 4472usize]; + ["Offset of field: net::crypto_nlsk"][::core::mem::offset_of!(net, crypto_nlsk) - 4600usize]; + ["Offset of field: net::diag_nlsk"][::core::mem::offset_of!(net, diag_nlsk) - 4608usize]; + ["Offset of field: net::smc"][::core::mem::offset_of!(net, smc) - 4616usize]; +}; +impl net { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_3() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rtable { + pub dst: dst_entry, + pub rt_genid: ::core::ffi::c_int, + pub rt_flags: ::core::ffi::c_uint, + pub rt_type: __u16, + pub rt_is_input: __u8, + pub rt_uses_gateway: __u8, + pub rt_iif: ::core::ffi::c_int, + pub rt_gw_family: u8_, + pub __bindgen_anon_1: rtable__bindgen_ty_1, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union rtable__bindgen_ty_1 { + pub rt_gw4: __be32, + pub rt_gw6: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rtable__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of rtable__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rtable__bindgen_ty_1::rt_gw4"] + [::core::mem::offset_of!(rtable__bindgen_ty_1, rt_gw4) - 0usize]; + ["Offset of field: rtable__bindgen_ty_1::rt_gw6"] + [::core::mem::offset_of!(rtable__bindgen_ty_1, rt_gw6) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rtable"][::core::mem::size_of::() - 176usize]; + ["Alignment of rtable"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rtable::dst"][::core::mem::offset_of!(rtable, dst) - 0usize]; + ["Offset of field: rtable::rt_genid"][::core::mem::offset_of!(rtable, rt_genid) - 136usize]; + ["Offset of field: rtable::rt_flags"][::core::mem::offset_of!(rtable, rt_flags) - 140usize]; + ["Offset of field: rtable::rt_type"][::core::mem::offset_of!(rtable, rt_type) - 144usize]; + ["Offset of field: rtable::rt_is_input"] + [::core::mem::offset_of!(rtable, rt_is_input) - 146usize]; + ["Offset of field: rtable::rt_uses_gateway"] + [::core::mem::offset_of!(rtable, rt_uses_gateway) - 147usize]; + ["Offset of field: rtable::rt_iif"][::core::mem::offset_of!(rtable, rt_iif) - 148usize]; + ["Offset of field: rtable::rt_gw_family"] + [::core::mem::offset_of!(rtable, rt_gw_family) - 152usize]; +}; +impl rtable { + #[inline] + pub fn rt_mtu_locked(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_rt_mtu_locked(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn rt_mtu_locked_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_rt_mtu_locked_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn rt_pmtu(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_rt_pmtu(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub unsafe fn rt_pmtu_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 31u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_rt_pmtu_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 31u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + rt_mtu_locked: u32_, + rt_pmtu: u32_, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let rt_mtu_locked: u32 = unsafe { ::core::mem::transmute(rt_mtu_locked) }; + rt_mtu_locked as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let rt_pmtu: u32 = unsafe { ::core::mem::transmute(rt_pmtu) }; + rt_pmtu as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rt6_info { + pub dst: dst_entry, + pub from: *mut fib6_info, + pub sernum: ::core::ffi::c_int, + pub rt6i_dst: rt6key, + pub rt6i_src: rt6key, + pub rt6i_gateway: in6_addr, + pub rt6i_idev: *mut inet6_dev, + pub rt6i_flags: u32_, + pub rt6i_nfheader_len: ::core::ffi::c_ushort, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt6_info"][::core::mem::size_of::() - 224usize]; + ["Alignment of rt6_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt6_info::dst"][::core::mem::offset_of!(rt6_info, dst) - 0usize]; + ["Offset of field: rt6_info::from"][::core::mem::offset_of!(rt6_info, from) - 136usize]; + ["Offset of field: rt6_info::sernum"][::core::mem::offset_of!(rt6_info, sernum) - 144usize]; + ["Offset of field: rt6_info::rt6i_dst"][::core::mem::offset_of!(rt6_info, rt6i_dst) - 148usize]; + ["Offset of field: rt6_info::rt6i_src"][::core::mem::offset_of!(rt6_info, rt6i_src) - 168usize]; + ["Offset of field: rt6_info::rt6i_gateway"] + [::core::mem::offset_of!(rt6_info, rt6i_gateway) - 188usize]; + ["Offset of field: rt6_info::rt6i_idev"] + [::core::mem::offset_of!(rt6_info, rt6i_idev) - 208usize]; + ["Offset of field: rt6_info::rt6i_flags"] + [::core::mem::offset_of!(rt6_info, rt6i_flags) - 216usize]; + ["Offset of field: rt6_info::rt6i_nfheader_len"] + [::core::mem::offset_of!(rt6_info, rt6i_nfheader_len) - 220usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_tc_txq { + pub count: u16_, + pub offset: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_tc_txq"][::core::mem::size_of::() - 4usize]; + ["Alignment of netdev_tc_txq"][::core::mem::align_of::() - 2usize]; + ["Offset of field: netdev_tc_txq::count"] + [::core::mem::offset_of!(netdev_tc_txq, count) - 0usize]; + ["Offset of field: netdev_tc_txq::offset"] + [::core::mem::offset_of!(netdev_tc_txq, offset) - 2usize]; +}; +pub type rx_handler_func_t = + ::core::option::Option rx_handler_result_t>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct net_device_stats { + pub __bindgen_anon_1: net_device_stats__bindgen_ty_1, + pub __bindgen_anon_2: net_device_stats__bindgen_ty_2, + pub __bindgen_anon_3: net_device_stats__bindgen_ty_3, + pub __bindgen_anon_4: net_device_stats__bindgen_ty_4, + pub __bindgen_anon_5: net_device_stats__bindgen_ty_5, + pub __bindgen_anon_6: net_device_stats__bindgen_ty_6, + pub __bindgen_anon_7: net_device_stats__bindgen_ty_7, + pub __bindgen_anon_8: net_device_stats__bindgen_ty_8, + pub __bindgen_anon_9: net_device_stats__bindgen_ty_9, + pub __bindgen_anon_10: net_device_stats__bindgen_ty_10, + pub __bindgen_anon_11: net_device_stats__bindgen_ty_11, + pub __bindgen_anon_12: net_device_stats__bindgen_ty_12, + pub __bindgen_anon_13: net_device_stats__bindgen_ty_13, + pub __bindgen_anon_14: net_device_stats__bindgen_ty_14, + pub __bindgen_anon_15: net_device_stats__bindgen_ty_15, + pub __bindgen_anon_16: net_device_stats__bindgen_ty_16, + pub __bindgen_anon_17: net_device_stats__bindgen_ty_17, + pub __bindgen_anon_18: net_device_stats__bindgen_ty_18, + pub __bindgen_anon_19: net_device_stats__bindgen_ty_19, + pub __bindgen_anon_20: net_device_stats__bindgen_ty_20, + pub __bindgen_anon_21: net_device_stats__bindgen_ty_21, + pub __bindgen_anon_22: net_device_stats__bindgen_ty_22, + pub __bindgen_anon_23: net_device_stats__bindgen_ty_23, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_1 { + pub rx_packets: ::core::ffi::c_ulong, + pub __rx_packets: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_1::rx_packets"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_1, rx_packets) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_1::__rx_packets"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_1, __rx_packets) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_2 { + pub tx_packets: ::core::ffi::c_ulong, + pub __tx_packets: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_2::tx_packets"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_2, tx_packets) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_2::__tx_packets"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_2, __tx_packets) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_3 { + pub rx_bytes: ::core::ffi::c_ulong, + pub __rx_bytes: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_3"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_3::rx_bytes"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_3, rx_bytes) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_3::__rx_bytes"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_3, __rx_bytes) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_4 { + pub tx_bytes: ::core::ffi::c_ulong, + pub __tx_bytes: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_4"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_4::tx_bytes"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_4, tx_bytes) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_4::__tx_bytes"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_4, __tx_bytes) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_5 { + pub rx_errors: ::core::ffi::c_ulong, + pub __rx_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_5"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_5::rx_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_5, rx_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_5::__rx_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_5, __rx_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_6 { + pub tx_errors: ::core::ffi::c_ulong, + pub __tx_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_6"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_6"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_6::tx_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_6, tx_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_6::__tx_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_6, __tx_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_7 { + pub rx_dropped: ::core::ffi::c_ulong, + pub __rx_dropped: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_7"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_7"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_7::rx_dropped"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_7, rx_dropped) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_7::__rx_dropped"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_7, __rx_dropped) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_8 { + pub tx_dropped: ::core::ffi::c_ulong, + pub __tx_dropped: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_8"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_8"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_8::tx_dropped"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_8, tx_dropped) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_8::__tx_dropped"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_8, __tx_dropped) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_9 { + pub multicast: ::core::ffi::c_ulong, + pub __multicast: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_9"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_9"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_9::multicast"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_9, multicast) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_9::__multicast"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_9, __multicast) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_10 { + pub collisions: ::core::ffi::c_ulong, + pub __collisions: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_10"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_10"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_10::collisions"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_10, collisions) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_10::__collisions"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_10, __collisions) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_11 { + pub rx_length_errors: ::core::ffi::c_ulong, + pub __rx_length_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_11"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_11"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_11::rx_length_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_11, rx_length_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_11::__rx_length_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_11, __rx_length_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_12 { + pub rx_over_errors: ::core::ffi::c_ulong, + pub __rx_over_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_12"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_12"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_12::rx_over_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_12, rx_over_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_12::__rx_over_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_12, __rx_over_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_13 { + pub rx_crc_errors: ::core::ffi::c_ulong, + pub __rx_crc_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_13"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_13"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_13::rx_crc_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_13, rx_crc_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_13::__rx_crc_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_13, __rx_crc_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_14 { + pub rx_frame_errors: ::core::ffi::c_ulong, + pub __rx_frame_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_14"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_14"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_14::rx_frame_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_14, rx_frame_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_14::__rx_frame_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_14, __rx_frame_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_15 { + pub rx_fifo_errors: ::core::ffi::c_ulong, + pub __rx_fifo_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_15"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_15"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_15::rx_fifo_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_15, rx_fifo_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_15::__rx_fifo_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_15, __rx_fifo_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_16 { + pub rx_missed_errors: ::core::ffi::c_ulong, + pub __rx_missed_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_16"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_16"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_16::rx_missed_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_16, rx_missed_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_16::__rx_missed_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_16, __rx_missed_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_17 { + pub tx_aborted_errors: ::core::ffi::c_ulong, + pub __tx_aborted_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_17"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_17"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_17::tx_aborted_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_17, tx_aborted_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_17::__tx_aborted_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_17, __tx_aborted_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_18 { + pub tx_carrier_errors: ::core::ffi::c_ulong, + pub __tx_carrier_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_18"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_18"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_18::tx_carrier_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_18, tx_carrier_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_18::__tx_carrier_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_18, __tx_carrier_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_19 { + pub tx_fifo_errors: ::core::ffi::c_ulong, + pub __tx_fifo_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_19"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_19"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_19::tx_fifo_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_19, tx_fifo_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_19::__tx_fifo_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_19, __tx_fifo_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_20 { + pub tx_heartbeat_errors: ::core::ffi::c_ulong, + pub __tx_heartbeat_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_20"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_20"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_20::tx_heartbeat_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_20, tx_heartbeat_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_20::__tx_heartbeat_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_20, __tx_heartbeat_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_21 { + pub tx_window_errors: ::core::ffi::c_ulong, + pub __tx_window_errors: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_21"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_21"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_21::tx_window_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_21, tx_window_errors) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_21::__tx_window_errors"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_21, __tx_window_errors) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_22 { + pub rx_compressed: ::core::ffi::c_ulong, + pub __rx_compressed: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_22"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_22"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_22::rx_compressed"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_22, rx_compressed) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_22::__rx_compressed"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_22, __rx_compressed) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_stats__bindgen_ty_23 { + pub tx_compressed: ::core::ffi::c_ulong, + pub __tx_compressed: atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats__bindgen_ty_23"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_stats__bindgen_ty_23"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_stats__bindgen_ty_23::tx_compressed"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_23, tx_compressed) - 0usize]; + ["Offset of field: net_device_stats__bindgen_ty_23::__tx_compressed"] + [::core::mem::offset_of!(net_device_stats__bindgen_ty_23, __tx_compressed) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_stats"][::core::mem::size_of::() - 184usize]; + ["Alignment of net_device_stats"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_hw_addr_list { + pub list: list_head, + pub count: ::core::ffi::c_int, + pub tree: rb_root, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_hw_addr_list"][::core::mem::size_of::() - 32usize]; + ["Alignment of netdev_hw_addr_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_hw_addr_list::list"] + [::core::mem::offset_of!(netdev_hw_addr_list, list) - 0usize]; + ["Offset of field: netdev_hw_addr_list::count"] + [::core::mem::offset_of!(netdev_hw_addr_list, count) - 16usize]; + ["Offset of field: netdev_hw_addr_list::tree"] + [::core::mem::offset_of!(netdev_hw_addr_list, tree) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tipc_bearer { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mpls_dev { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct garp_port { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mrp_port { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct udp_tunnel_nic { + _unused: [u8; 0], +} +#[repr(C)] +pub struct net_device { + pub __cacheline_group_begin__net_device_read_tx: __IncompleteArrayField<__u8>, + pub __bindgen_anon_1: net_device__bindgen_ty_1, + pub netdev_ops: *const net_device_ops, + pub header_ops: *const header_ops, + pub _tx: *mut netdev_queue, + pub gso_partial_features: netdev_features_t, + pub real_num_tx_queues: ::core::ffi::c_uint, + pub gso_max_size: ::core::ffi::c_uint, + pub gso_ipv4_max_size: ::core::ffi::c_uint, + pub gso_max_segs: u16_, + pub num_tc: s16, + pub mtu: ::core::ffi::c_uint, + pub needed_headroom: ::core::ffi::c_ushort, + pub tc_to_txq: [netdev_tc_txq; 16usize], + pub xps_maps: [*mut xps_dev_maps; 2usize], + pub nf_hooks_egress: *mut nf_hook_entries, + pub tcx_egress: *mut bpf_mprog_entry, + pub __cacheline_group_end__net_device_read_tx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__net_device_read_txrx: __IncompleteArrayField<__u8>, + pub __bindgen_anon_2: net_device__bindgen_ty_2, + pub state: ::core::ffi::c_ulong, + pub flags: ::core::ffi::c_uint, + pub hard_header_len: ::core::ffi::c_ushort, + pub features: netdev_features_t, + pub ip6_ptr: *mut inet6_dev, + pub __cacheline_group_end__net_device_read_txrx: __IncompleteArrayField<__u8>, + pub __cacheline_group_begin__net_device_read_rx: __IncompleteArrayField<__u8>, + pub xdp_prog: *mut bpf_prog, + pub ptype_specific: list_head, + pub ifindex: ::core::ffi::c_int, + pub real_num_rx_queues: ::core::ffi::c_uint, + pub _rx: *mut netdev_rx_queue, + pub gro_flush_timeout: ::core::ffi::c_ulong, + pub napi_defer_hard_irqs: u32_, + pub gro_max_size: ::core::ffi::c_uint, + pub gro_ipv4_max_size: ::core::ffi::c_uint, + pub rx_handler: rx_handler_func_t, + pub rx_handler_data: *mut ::core::ffi::c_void, + pub nd_net: possible_net_t, + pub npinfo: *mut netpoll_info, + pub tcx_ingress: *mut bpf_mprog_entry, + pub __cacheline_group_end__net_device_read_rx: __IncompleteArrayField<__u8>, + pub name: [::core::ffi::c_char; 16usize], + pub name_node: *mut netdev_name_node, + pub ifalias: *mut dev_ifalias, + pub mem_end: ::core::ffi::c_ulong, + pub mem_start: ::core::ffi::c_ulong, + pub base_addr: ::core::ffi::c_ulong, + pub dev_list: list_head, + pub napi_list: list_head, + pub unreg_list: list_head, + pub close_list: list_head, + pub ptype_all: list_head, + pub adj_list: net_device__bindgen_ty_3, + pub xdp_features: xdp_features_t, + pub xdp_metadata_ops: *const xdp_metadata_ops, + pub xsk_tx_metadata_ops: *const xsk_tx_metadata_ops, + pub gflags: ::core::ffi::c_ushort, + pub needed_tailroom: ::core::ffi::c_ushort, + pub hw_features: netdev_features_t, + pub wanted_features: netdev_features_t, + pub vlan_features: netdev_features_t, + pub hw_enc_features: netdev_features_t, + pub mpls_features: netdev_features_t, + pub min_mtu: ::core::ffi::c_uint, + pub max_mtu: ::core::ffi::c_uint, + pub type_: ::core::ffi::c_ushort, + pub min_header_len: ::core::ffi::c_uchar, + pub name_assign_type: ::core::ffi::c_uchar, + pub group: ::core::ffi::c_int, + pub stats: net_device_stats, + pub core_stats: *mut net_device_core_stats, + pub carrier_up_count: atomic_t, + pub carrier_down_count: atomic_t, + pub wireless_handlers: *const iw_handler_def, + pub wireless_data: *mut iw_public_data, + pub ethtool_ops: *const ethtool_ops, + pub l3mdev_ops: *const l3mdev_ops, + pub ndisc_ops: *const ndisc_ops, + pub xfrmdev_ops: *const xfrmdev_ops, + pub tlsdev_ops: *const tlsdev_ops, + pub operstate: ::core::ffi::c_uint, + pub link_mode: ::core::ffi::c_uchar, + pub if_port: ::core::ffi::c_uchar, + pub dma: ::core::ffi::c_uchar, + pub perm_addr: [::core::ffi::c_uchar; 32usize], + pub addr_assign_type: ::core::ffi::c_uchar, + pub addr_len: ::core::ffi::c_uchar, + pub upper_level: ::core::ffi::c_uchar, + pub lower_level: ::core::ffi::c_uchar, + pub neigh_priv_len: ::core::ffi::c_ushort, + pub dev_id: ::core::ffi::c_ushort, + pub dev_port: ::core::ffi::c_ushort, + pub irq: ::core::ffi::c_int, + pub priv_len: u32_, + pub addr_list_lock: spinlock_t, + pub uc: netdev_hw_addr_list, + pub mc: netdev_hw_addr_list, + pub dev_addrs: netdev_hw_addr_list, + pub queues_kset: *mut kset, + pub promiscuity: ::core::ffi::c_uint, + pub allmulti: ::core::ffi::c_uint, + pub uc_promisc: bool_, + pub ip_ptr: *mut in_device, + pub vlan_info: *mut vlan_info, + pub dsa_ptr: *mut dsa_port, + pub tipc_ptr: *mut tipc_bearer, + pub atalk_ptr: *mut ::core::ffi::c_void, + pub ax25_ptr: *mut ax25_dev, + pub ieee80211_ptr: *mut wireless_dev, + pub ieee802154_ptr: *mut wpan_dev, + pub mpls_ptr: *mut mpls_dev, + pub mctp_ptr: *mut mctp_dev, + pub dev_addr: *const ::core::ffi::c_uchar, + pub num_rx_queues: ::core::ffi::c_uint, + pub xdp_zc_max_segs: ::core::ffi::c_uint, + pub ingress_queue: *mut netdev_queue, + pub nf_hooks_ingress: *mut nf_hook_entries, + pub broadcast: [::core::ffi::c_uchar; 32usize], + pub rx_cpu_rmap: *mut cpu_rmap, + pub index_hlist: hlist_node, + pub num_tx_queues: ::core::ffi::c_uint, + pub qdisc: *mut Qdisc, + pub tx_queue_len: ::core::ffi::c_uint, + pub tx_global_lock: spinlock_t, + pub xdp_bulkq: *mut xdp_dev_bulk_queue, + pub qdisc_hash: [hlist_head; 16usize], + pub watchdog_timer: timer_list, + pub watchdog_timeo: ::core::ffi::c_int, + pub proto_down_reason: u32_, + pub todo_list: list_head, + pub pcpu_refcnt: *mut ::core::ffi::c_int, + pub refcnt_tracker: ref_tracker_dir, + pub link_watch_list: list_head, + pub reg_state: u8_, + pub dismantle: bool_, + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub needs_free_netdev: bool_, + pub priv_destructor: ::core::option::Option, + pub ml_priv: *mut ::core::ffi::c_void, + pub ml_priv_type: netdev_ml_priv_type, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>, + pub garp_port: *mut garp_port, + pub mrp_port: *mut mrp_port, + pub dm_private: *mut dm_hw_stat_delta, + pub dev: device, + pub sysfs_groups: [*const attribute_group; 4usize], + pub sysfs_rx_queue_group: *const attribute_group, + pub rtnl_link_ops: *const rtnl_link_ops, + pub stat_ops: *const netdev_stat_ops, + pub queue_mgmt_ops: *const netdev_queue_mgmt_ops, + pub tso_max_size: ::core::ffi::c_uint, + pub tso_max_segs: u16_, + pub dcbnl_ops: *const dcbnl_rtnl_ops, + pub prio_tc_map: [u8_; 16usize], + pub fcoe_ddp_xid: ::core::ffi::c_uint, + pub priomap: *mut netprio_map, + pub link_topo: *mut phy_link_topology, + pub phydev: *mut phy_device, + pub sfp_bus: *mut sfp_bus, + pub qdisc_tx_busylock: *mut lock_class_key, + pub proto_down: bool_, + pub threaded: bool_, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 1usize]>, + pub net_notifier_list: list_head, + pub macsec_ops: *const macsec_ops, + pub udp_tunnel_nic_info: *const udp_tunnel_nic_info, + pub udp_tunnel_nic: *mut udp_tunnel_nic, + pub ethtool: *mut ethtool_netdev_state, + pub xdp_state: [bpf_xdp_entity; 3usize], + pub dev_addr_shadow: [u8_; 32usize], + pub linkwatch_dev_tracker: netdevice_tracker, + pub watchdog_dev_tracker: netdevice_tracker, + pub dev_registered_tracker: netdevice_tracker, + pub offload_xstats_l3: *mut rtnl_hw_stats64, + pub devlink_port: *mut devlink_port, + pub dpll_pin: *mut dpll_pin, + pub page_pools: hlist_head, + pub irq_moder: *mut dim_irq_moder, + pub _bitfield_align_4: [u8; 0], + pub _bitfield_4: __BindgenBitfieldUnit<[u8; 16usize]>, + pub priv_: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device__bindgen_ty_1 { + pub __bindgen_anon_1: net_device__bindgen_ty_1__bindgen_ty_1, + pub priv_flags_fast: net_device__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct net_device__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 5usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +impl net_device__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn priv_flags(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u64) } + } + #[inline] + pub fn set_priv_flags(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 32u8, val as u64) + } + } + #[inline] + pub unsafe fn priv_flags_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 5usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 32u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_priv_flags_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 5usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 32u8, + val as u64, + ) + } + } + #[inline] + pub fn lltx(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) } + } + #[inline] + pub fn set_lltx(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(32usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn lltx_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 5usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 32usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_lltx_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 5usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 32usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + priv_flags: ::core::ffi::c_ulong, + lltx: ::core::ffi::c_ulong, + ) -> __BindgenBitfieldUnit<[u8; 5usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 5usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 32u8, { + let priv_flags: u64 = unsafe { ::core::mem::transmute(priv_flags) }; + priv_flags as u64 + }); + __bindgen_bitfield_unit.set(32usize, 1u8, { + let lltx: u64 = unsafe { ::core::mem::transmute(lltx) }; + lltx as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct net_device__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 5usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; +}; +impl net_device__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn priv_flags(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u64) } + } + #[inline] + pub fn set_priv_flags(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 32u8, val as u64) + } + } + #[inline] + pub unsafe fn priv_flags_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 5usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 32u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_priv_flags_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 5usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 32u8, + val as u64, + ) + } + } + #[inline] + pub fn lltx(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) } + } + #[inline] + pub fn set_lltx(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(32usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn lltx_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 5usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 32usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_lltx_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 5usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 32usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + priv_flags: ::core::ffi::c_ulong, + lltx: ::core::ffi::c_ulong, + ) -> __BindgenBitfieldUnit<[u8; 5usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 5usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 32u8, { + let priv_flags: u64 = unsafe { ::core::mem::transmute(priv_flags) }; + priv_flags as u64 + }); + __bindgen_bitfield_unit.set(32usize, 1u8, { + let lltx: u64 = unsafe { ::core::mem::transmute(lltx) }; + lltx as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device__bindgen_ty_1::priv_flags_fast"] + [::core::mem::offset_of!(net_device__bindgen_ty_1, priv_flags_fast) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device__bindgen_ty_2 { + pub lstats: *mut pcpu_lstats, + pub tstats: *mut pcpu_sw_netstats, + pub dstats: *mut pcpu_dstats, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device__bindgen_ty_2::lstats"] + [::core::mem::offset_of!(net_device__bindgen_ty_2, lstats) - 0usize]; + ["Offset of field: net_device__bindgen_ty_2::tstats"] + [::core::mem::offset_of!(net_device__bindgen_ty_2, tstats) - 0usize]; + ["Offset of field: net_device__bindgen_ty_2::dstats"] + [::core::mem::offset_of!(net_device__bindgen_ty_2, dstats) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device__bindgen_ty_3 { + pub upper: list_head, + pub lower: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device__bindgen_ty_3"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of net_device__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device__bindgen_ty_3::upper"] + [::core::mem::offset_of!(net_device__bindgen_ty_3, upper) - 0usize]; + ["Offset of field: net_device__bindgen_ty_3::lower"] + [::core::mem::offset_of!(net_device__bindgen_ty_3, lower) - 16usize]; +}; +pub const net_device_RTNL_LINK_INITIALIZED: net_device__bindgen_ty_4 = 0; +pub const net_device_RTNL_LINK_INITIALIZING: net_device__bindgen_ty_4 = 1; +pub type net_device__bindgen_ty_4 = ::core::ffi::c_uint; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device"][::core::mem::size_of::() - 2560usize]; + ["Alignment of net_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device::__cacheline_group_begin__net_device_read_tx"] + [::core::mem::offset_of!(net_device, __cacheline_group_begin__net_device_read_tx) - 0usize]; + ["Offset of field: net_device::netdev_ops"] + [::core::mem::offset_of!(net_device, netdev_ops) - 8usize]; + ["Offset of field: net_device::header_ops"] + [::core::mem::offset_of!(net_device, header_ops) - 16usize]; + ["Offset of field: net_device::_tx"][::core::mem::offset_of!(net_device, _tx) - 24usize]; + ["Offset of field: net_device::gso_partial_features"] + [::core::mem::offset_of!(net_device, gso_partial_features) - 32usize]; + ["Offset of field: net_device::real_num_tx_queues"] + [::core::mem::offset_of!(net_device, real_num_tx_queues) - 40usize]; + ["Offset of field: net_device::gso_max_size"] + [::core::mem::offset_of!(net_device, gso_max_size) - 44usize]; + ["Offset of field: net_device::gso_ipv4_max_size"] + [::core::mem::offset_of!(net_device, gso_ipv4_max_size) - 48usize]; + ["Offset of field: net_device::gso_max_segs"] + [::core::mem::offset_of!(net_device, gso_max_segs) - 52usize]; + ["Offset of field: net_device::num_tc"][::core::mem::offset_of!(net_device, num_tc) - 54usize]; + ["Offset of field: net_device::mtu"][::core::mem::offset_of!(net_device, mtu) - 56usize]; + ["Offset of field: net_device::needed_headroom"] + [::core::mem::offset_of!(net_device, needed_headroom) - 60usize]; + ["Offset of field: net_device::tc_to_txq"] + [::core::mem::offset_of!(net_device, tc_to_txq) - 62usize]; + ["Offset of field: net_device::xps_maps"] + [::core::mem::offset_of!(net_device, xps_maps) - 128usize]; + ["Offset of field: net_device::nf_hooks_egress"] + [::core::mem::offset_of!(net_device, nf_hooks_egress) - 144usize]; + ["Offset of field: net_device::tcx_egress"] + [::core::mem::offset_of!(net_device, tcx_egress) - 152usize]; + ["Offset of field: net_device::__cacheline_group_end__net_device_read_tx"] + [::core::mem::offset_of!(net_device, __cacheline_group_end__net_device_read_tx) - 160usize]; + ["Offset of field: net_device::__cacheline_group_begin__net_device_read_txrx"][::core::mem::offset_of!( + net_device, + __cacheline_group_begin__net_device_read_txrx + ) - 160usize]; + ["Offset of field: net_device::state"][::core::mem::offset_of!(net_device, state) - 168usize]; + ["Offset of field: net_device::flags"][::core::mem::offset_of!(net_device, flags) - 176usize]; + ["Offset of field: net_device::hard_header_len"] + [::core::mem::offset_of!(net_device, hard_header_len) - 180usize]; + ["Offset of field: net_device::features"] + [::core::mem::offset_of!(net_device, features) - 184usize]; + ["Offset of field: net_device::ip6_ptr"] + [::core::mem::offset_of!(net_device, ip6_ptr) - 192usize]; + ["Offset of field: net_device::__cacheline_group_end__net_device_read_txrx"][::core::mem::offset_of!( + net_device, + __cacheline_group_end__net_device_read_txrx + ) - 200usize]; + ["Offset of field: net_device::__cacheline_group_begin__net_device_read_rx"][::core::mem::offset_of!( + net_device, + __cacheline_group_begin__net_device_read_rx + ) - 200usize]; + ["Offset of field: net_device::xdp_prog"] + [::core::mem::offset_of!(net_device, xdp_prog) - 200usize]; + ["Offset of field: net_device::ptype_specific"] + [::core::mem::offset_of!(net_device, ptype_specific) - 208usize]; + ["Offset of field: net_device::ifindex"] + [::core::mem::offset_of!(net_device, ifindex) - 224usize]; + ["Offset of field: net_device::real_num_rx_queues"] + [::core::mem::offset_of!(net_device, real_num_rx_queues) - 228usize]; + ["Offset of field: net_device::_rx"][::core::mem::offset_of!(net_device, _rx) - 232usize]; + ["Offset of field: net_device::gro_flush_timeout"] + [::core::mem::offset_of!(net_device, gro_flush_timeout) - 240usize]; + ["Offset of field: net_device::napi_defer_hard_irqs"] + [::core::mem::offset_of!(net_device, napi_defer_hard_irqs) - 248usize]; + ["Offset of field: net_device::gro_max_size"] + [::core::mem::offset_of!(net_device, gro_max_size) - 252usize]; + ["Offset of field: net_device::gro_ipv4_max_size"] + [::core::mem::offset_of!(net_device, gro_ipv4_max_size) - 256usize]; + ["Offset of field: net_device::rx_handler"] + [::core::mem::offset_of!(net_device, rx_handler) - 264usize]; + ["Offset of field: net_device::rx_handler_data"] + [::core::mem::offset_of!(net_device, rx_handler_data) - 272usize]; + ["Offset of field: net_device::nd_net"][::core::mem::offset_of!(net_device, nd_net) - 280usize]; + ["Offset of field: net_device::npinfo"][::core::mem::offset_of!(net_device, npinfo) - 288usize]; + ["Offset of field: net_device::tcx_ingress"] + [::core::mem::offset_of!(net_device, tcx_ingress) - 296usize]; + ["Offset of field: net_device::__cacheline_group_end__net_device_read_rx"] + [::core::mem::offset_of!(net_device, __cacheline_group_end__net_device_read_rx) - 304usize]; + ["Offset of field: net_device::name"][::core::mem::offset_of!(net_device, name) - 304usize]; + ["Offset of field: net_device::name_node"] + [::core::mem::offset_of!(net_device, name_node) - 320usize]; + ["Offset of field: net_device::ifalias"] + [::core::mem::offset_of!(net_device, ifalias) - 328usize]; + ["Offset of field: net_device::mem_end"] + [::core::mem::offset_of!(net_device, mem_end) - 336usize]; + ["Offset of field: net_device::mem_start"] + [::core::mem::offset_of!(net_device, mem_start) - 344usize]; + ["Offset of field: net_device::base_addr"] + [::core::mem::offset_of!(net_device, base_addr) - 352usize]; + ["Offset of field: net_device::dev_list"] + [::core::mem::offset_of!(net_device, dev_list) - 360usize]; + ["Offset of field: net_device::napi_list"] + [::core::mem::offset_of!(net_device, napi_list) - 376usize]; + ["Offset of field: net_device::unreg_list"] + [::core::mem::offset_of!(net_device, unreg_list) - 392usize]; + ["Offset of field: net_device::close_list"] + [::core::mem::offset_of!(net_device, close_list) - 408usize]; + ["Offset of field: net_device::ptype_all"] + [::core::mem::offset_of!(net_device, ptype_all) - 424usize]; + ["Offset of field: net_device::adj_list"] + [::core::mem::offset_of!(net_device, adj_list) - 440usize]; + ["Offset of field: net_device::xdp_features"] + [::core::mem::offset_of!(net_device, xdp_features) - 472usize]; + ["Offset of field: net_device::xdp_metadata_ops"] + [::core::mem::offset_of!(net_device, xdp_metadata_ops) - 480usize]; + ["Offset of field: net_device::xsk_tx_metadata_ops"] + [::core::mem::offset_of!(net_device, xsk_tx_metadata_ops) - 488usize]; + ["Offset of field: net_device::gflags"][::core::mem::offset_of!(net_device, gflags) - 496usize]; + ["Offset of field: net_device::needed_tailroom"] + [::core::mem::offset_of!(net_device, needed_tailroom) - 498usize]; + ["Offset of field: net_device::hw_features"] + [::core::mem::offset_of!(net_device, hw_features) - 504usize]; + ["Offset of field: net_device::wanted_features"] + [::core::mem::offset_of!(net_device, wanted_features) - 512usize]; + ["Offset of field: net_device::vlan_features"] + [::core::mem::offset_of!(net_device, vlan_features) - 520usize]; + ["Offset of field: net_device::hw_enc_features"] + [::core::mem::offset_of!(net_device, hw_enc_features) - 528usize]; + ["Offset of field: net_device::mpls_features"] + [::core::mem::offset_of!(net_device, mpls_features) - 536usize]; + ["Offset of field: net_device::min_mtu"] + [::core::mem::offset_of!(net_device, min_mtu) - 544usize]; + ["Offset of field: net_device::max_mtu"] + [::core::mem::offset_of!(net_device, max_mtu) - 548usize]; + ["Offset of field: net_device::type_"][::core::mem::offset_of!(net_device, type_) - 552usize]; + ["Offset of field: net_device::min_header_len"] + [::core::mem::offset_of!(net_device, min_header_len) - 554usize]; + ["Offset of field: net_device::name_assign_type"] + [::core::mem::offset_of!(net_device, name_assign_type) - 555usize]; + ["Offset of field: net_device::group"][::core::mem::offset_of!(net_device, group) - 556usize]; + ["Offset of field: net_device::stats"][::core::mem::offset_of!(net_device, stats) - 560usize]; + ["Offset of field: net_device::core_stats"] + [::core::mem::offset_of!(net_device, core_stats) - 744usize]; + ["Offset of field: net_device::carrier_up_count"] + [::core::mem::offset_of!(net_device, carrier_up_count) - 752usize]; + ["Offset of field: net_device::carrier_down_count"] + [::core::mem::offset_of!(net_device, carrier_down_count) - 756usize]; + ["Offset of field: net_device::wireless_handlers"] + [::core::mem::offset_of!(net_device, wireless_handlers) - 760usize]; + ["Offset of field: net_device::wireless_data"] + [::core::mem::offset_of!(net_device, wireless_data) - 768usize]; + ["Offset of field: net_device::ethtool_ops"] + [::core::mem::offset_of!(net_device, ethtool_ops) - 776usize]; + ["Offset of field: net_device::l3mdev_ops"] + [::core::mem::offset_of!(net_device, l3mdev_ops) - 784usize]; + ["Offset of field: net_device::ndisc_ops"] + [::core::mem::offset_of!(net_device, ndisc_ops) - 792usize]; + ["Offset of field: net_device::xfrmdev_ops"] + [::core::mem::offset_of!(net_device, xfrmdev_ops) - 800usize]; + ["Offset of field: net_device::tlsdev_ops"] + [::core::mem::offset_of!(net_device, tlsdev_ops) - 808usize]; + ["Offset of field: net_device::operstate"] + [::core::mem::offset_of!(net_device, operstate) - 816usize]; + ["Offset of field: net_device::link_mode"] + [::core::mem::offset_of!(net_device, link_mode) - 820usize]; + ["Offset of field: net_device::if_port"] + [::core::mem::offset_of!(net_device, if_port) - 821usize]; + ["Offset of field: net_device::dma"][::core::mem::offset_of!(net_device, dma) - 822usize]; + ["Offset of field: net_device::perm_addr"] + [::core::mem::offset_of!(net_device, perm_addr) - 823usize]; + ["Offset of field: net_device::addr_assign_type"] + [::core::mem::offset_of!(net_device, addr_assign_type) - 855usize]; + ["Offset of field: net_device::addr_len"] + [::core::mem::offset_of!(net_device, addr_len) - 856usize]; + ["Offset of field: net_device::upper_level"] + [::core::mem::offset_of!(net_device, upper_level) - 857usize]; + ["Offset of field: net_device::lower_level"] + [::core::mem::offset_of!(net_device, lower_level) - 858usize]; + ["Offset of field: net_device::neigh_priv_len"] + [::core::mem::offset_of!(net_device, neigh_priv_len) - 860usize]; + ["Offset of field: net_device::dev_id"][::core::mem::offset_of!(net_device, dev_id) - 862usize]; + ["Offset of field: net_device::dev_port"] + [::core::mem::offset_of!(net_device, dev_port) - 864usize]; + ["Offset of field: net_device::irq"][::core::mem::offset_of!(net_device, irq) - 868usize]; + ["Offset of field: net_device::priv_len"] + [::core::mem::offset_of!(net_device, priv_len) - 872usize]; + ["Offset of field: net_device::addr_list_lock"] + [::core::mem::offset_of!(net_device, addr_list_lock) - 876usize]; + ["Offset of field: net_device::uc"][::core::mem::offset_of!(net_device, uc) - 880usize]; + ["Offset of field: net_device::mc"][::core::mem::offset_of!(net_device, mc) - 912usize]; + ["Offset of field: net_device::dev_addrs"] + [::core::mem::offset_of!(net_device, dev_addrs) - 944usize]; + ["Offset of field: net_device::queues_kset"] + [::core::mem::offset_of!(net_device, queues_kset) - 976usize]; + ["Offset of field: net_device::promiscuity"] + [::core::mem::offset_of!(net_device, promiscuity) - 984usize]; + ["Offset of field: net_device::allmulti"] + [::core::mem::offset_of!(net_device, allmulti) - 988usize]; + ["Offset of field: net_device::uc_promisc"] + [::core::mem::offset_of!(net_device, uc_promisc) - 992usize]; + ["Offset of field: net_device::ip_ptr"] + [::core::mem::offset_of!(net_device, ip_ptr) - 1000usize]; + ["Offset of field: net_device::vlan_info"] + [::core::mem::offset_of!(net_device, vlan_info) - 1008usize]; + ["Offset of field: net_device::dsa_ptr"] + [::core::mem::offset_of!(net_device, dsa_ptr) - 1016usize]; + ["Offset of field: net_device::tipc_ptr"] + [::core::mem::offset_of!(net_device, tipc_ptr) - 1024usize]; + ["Offset of field: net_device::atalk_ptr"] + [::core::mem::offset_of!(net_device, atalk_ptr) - 1032usize]; + ["Offset of field: net_device::ax25_ptr"] + [::core::mem::offset_of!(net_device, ax25_ptr) - 1040usize]; + ["Offset of field: net_device::ieee80211_ptr"] + [::core::mem::offset_of!(net_device, ieee80211_ptr) - 1048usize]; + ["Offset of field: net_device::ieee802154_ptr"] + [::core::mem::offset_of!(net_device, ieee802154_ptr) - 1056usize]; + ["Offset of field: net_device::mpls_ptr"] + [::core::mem::offset_of!(net_device, mpls_ptr) - 1064usize]; + ["Offset of field: net_device::mctp_ptr"] + [::core::mem::offset_of!(net_device, mctp_ptr) - 1072usize]; + ["Offset of field: net_device::dev_addr"] + [::core::mem::offset_of!(net_device, dev_addr) - 1080usize]; + ["Offset of field: net_device::num_rx_queues"] + [::core::mem::offset_of!(net_device, num_rx_queues) - 1088usize]; + ["Offset of field: net_device::xdp_zc_max_segs"] + [::core::mem::offset_of!(net_device, xdp_zc_max_segs) - 1092usize]; + ["Offset of field: net_device::ingress_queue"] + [::core::mem::offset_of!(net_device, ingress_queue) - 1096usize]; + ["Offset of field: net_device::nf_hooks_ingress"] + [::core::mem::offset_of!(net_device, nf_hooks_ingress) - 1104usize]; + ["Offset of field: net_device::broadcast"] + [::core::mem::offset_of!(net_device, broadcast) - 1112usize]; + ["Offset of field: net_device::rx_cpu_rmap"] + [::core::mem::offset_of!(net_device, rx_cpu_rmap) - 1144usize]; + ["Offset of field: net_device::index_hlist"] + [::core::mem::offset_of!(net_device, index_hlist) - 1152usize]; + ["Offset of field: net_device::num_tx_queues"] + [::core::mem::offset_of!(net_device, num_tx_queues) - 1168usize]; + ["Offset of field: net_device::qdisc"][::core::mem::offset_of!(net_device, qdisc) - 1176usize]; + ["Offset of field: net_device::tx_queue_len"] + [::core::mem::offset_of!(net_device, tx_queue_len) - 1184usize]; + ["Offset of field: net_device::tx_global_lock"] + [::core::mem::offset_of!(net_device, tx_global_lock) - 1188usize]; + ["Offset of field: net_device::xdp_bulkq"] + [::core::mem::offset_of!(net_device, xdp_bulkq) - 1192usize]; + ["Offset of field: net_device::qdisc_hash"] + [::core::mem::offset_of!(net_device, qdisc_hash) - 1200usize]; + ["Offset of field: net_device::watchdog_timer"] + [::core::mem::offset_of!(net_device, watchdog_timer) - 1328usize]; + ["Offset of field: net_device::watchdog_timeo"] + [::core::mem::offset_of!(net_device, watchdog_timeo) - 1368usize]; + ["Offset of field: net_device::proto_down_reason"] + [::core::mem::offset_of!(net_device, proto_down_reason) - 1372usize]; + ["Offset of field: net_device::todo_list"] + [::core::mem::offset_of!(net_device, todo_list) - 1376usize]; + ["Offset of field: net_device::pcpu_refcnt"] + [::core::mem::offset_of!(net_device, pcpu_refcnt) - 1392usize]; + ["Offset of field: net_device::refcnt_tracker"] + [::core::mem::offset_of!(net_device, refcnt_tracker) - 1400usize]; + ["Offset of field: net_device::link_watch_list"] + [::core::mem::offset_of!(net_device, link_watch_list) - 1400usize]; + ["Offset of field: net_device::reg_state"] + [::core::mem::offset_of!(net_device, reg_state) - 1416usize]; + ["Offset of field: net_device::dismantle"] + [::core::mem::offset_of!(net_device, dismantle) - 1417usize]; + ["Offset of field: net_device::needs_free_netdev"] + [::core::mem::offset_of!(net_device, needs_free_netdev) - 1420usize]; + ["Offset of field: net_device::priv_destructor"] + [::core::mem::offset_of!(net_device, priv_destructor) - 1424usize]; + ["Offset of field: net_device::ml_priv"] + [::core::mem::offset_of!(net_device, ml_priv) - 1432usize]; + ["Offset of field: net_device::ml_priv_type"] + [::core::mem::offset_of!(net_device, ml_priv_type) - 1440usize]; + ["Offset of field: net_device::garp_port"] + [::core::mem::offset_of!(net_device, garp_port) - 1448usize]; + ["Offset of field: net_device::mrp_port"] + [::core::mem::offset_of!(net_device, mrp_port) - 1456usize]; + ["Offset of field: net_device::dm_private"] + [::core::mem::offset_of!(net_device, dm_private) - 1464usize]; + ["Offset of field: net_device::dev"][::core::mem::offset_of!(net_device, dev) - 1472usize]; + ["Offset of field: net_device::sysfs_groups"] + [::core::mem::offset_of!(net_device, sysfs_groups) - 2224usize]; + ["Offset of field: net_device::sysfs_rx_queue_group"] + [::core::mem::offset_of!(net_device, sysfs_rx_queue_group) - 2256usize]; + ["Offset of field: net_device::rtnl_link_ops"] + [::core::mem::offset_of!(net_device, rtnl_link_ops) - 2264usize]; + ["Offset of field: net_device::stat_ops"] + [::core::mem::offset_of!(net_device, stat_ops) - 2272usize]; + ["Offset of field: net_device::queue_mgmt_ops"] + [::core::mem::offset_of!(net_device, queue_mgmt_ops) - 2280usize]; + ["Offset of field: net_device::tso_max_size"] + [::core::mem::offset_of!(net_device, tso_max_size) - 2288usize]; + ["Offset of field: net_device::tso_max_segs"] + [::core::mem::offset_of!(net_device, tso_max_segs) - 2292usize]; + ["Offset of field: net_device::dcbnl_ops"] + [::core::mem::offset_of!(net_device, dcbnl_ops) - 2296usize]; + ["Offset of field: net_device::prio_tc_map"] + [::core::mem::offset_of!(net_device, prio_tc_map) - 2304usize]; + ["Offset of field: net_device::fcoe_ddp_xid"] + [::core::mem::offset_of!(net_device, fcoe_ddp_xid) - 2320usize]; + ["Offset of field: net_device::priomap"] + [::core::mem::offset_of!(net_device, priomap) - 2328usize]; + ["Offset of field: net_device::link_topo"] + [::core::mem::offset_of!(net_device, link_topo) - 2336usize]; + ["Offset of field: net_device::phydev"] + [::core::mem::offset_of!(net_device, phydev) - 2344usize]; + ["Offset of field: net_device::sfp_bus"] + [::core::mem::offset_of!(net_device, sfp_bus) - 2352usize]; + ["Offset of field: net_device::qdisc_tx_busylock"] + [::core::mem::offset_of!(net_device, qdisc_tx_busylock) - 2360usize]; + ["Offset of field: net_device::proto_down"] + [::core::mem::offset_of!(net_device, proto_down) - 2368usize]; + ["Offset of field: net_device::threaded"] + [::core::mem::offset_of!(net_device, threaded) - 2369usize]; + ["Offset of field: net_device::net_notifier_list"] + [::core::mem::offset_of!(net_device, net_notifier_list) - 2376usize]; + ["Offset of field: net_device::macsec_ops"] + [::core::mem::offset_of!(net_device, macsec_ops) - 2392usize]; + ["Offset of field: net_device::udp_tunnel_nic_info"] + [::core::mem::offset_of!(net_device, udp_tunnel_nic_info) - 2400usize]; + ["Offset of field: net_device::udp_tunnel_nic"] + [::core::mem::offset_of!(net_device, udp_tunnel_nic) - 2408usize]; + ["Offset of field: net_device::ethtool"] + [::core::mem::offset_of!(net_device, ethtool) - 2416usize]; + ["Offset of field: net_device::xdp_state"] + [::core::mem::offset_of!(net_device, xdp_state) - 2424usize]; + ["Offset of field: net_device::dev_addr_shadow"] + [::core::mem::offset_of!(net_device, dev_addr_shadow) - 2472usize]; + ["Offset of field: net_device::linkwatch_dev_tracker"] + [::core::mem::offset_of!(net_device, linkwatch_dev_tracker) - 2504usize]; + ["Offset of field: net_device::watchdog_dev_tracker"] + [::core::mem::offset_of!(net_device, watchdog_dev_tracker) - 2504usize]; + ["Offset of field: net_device::dev_registered_tracker"] + [::core::mem::offset_of!(net_device, dev_registered_tracker) - 2504usize]; + ["Offset of field: net_device::offload_xstats_l3"] + [::core::mem::offset_of!(net_device, offload_xstats_l3) - 2504usize]; + ["Offset of field: net_device::devlink_port"] + [::core::mem::offset_of!(net_device, devlink_port) - 2512usize]; + ["Offset of field: net_device::dpll_pin"] + [::core::mem::offset_of!(net_device, dpll_pin) - 2520usize]; + ["Offset of field: net_device::page_pools"] + [::core::mem::offset_of!(net_device, page_pools) - 2528usize]; + ["Offset of field: net_device::irq_moder"] + [::core::mem::offset_of!(net_device, irq_moder) - 2536usize]; + ["Offset of field: net_device::priv_"][::core::mem::offset_of!(net_device, priv_) - 2560usize]; +}; +impl net_device { + #[inline] + pub fn rtnl_link_state(&self) -> net_device__bindgen_ty_4 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_rtnl_link_state(&mut self, val: net_device__bindgen_ty_4) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn rtnl_link_state_raw(this: *const Self) -> net_device__bindgen_ty_4 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 16u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_rtnl_link_state_raw(this: *mut Self, val: net_device__bindgen_ty_4) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + rtnl_link_state: net_device__bindgen_ty_4, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let rtnl_link_state: u32 = unsafe { ::core::mem::transmute(rtnl_link_state) }; + rtnl_link_state as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn pcpu_stat_type(&self) -> netdev_stat_type { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_pcpu_stat_type(&mut self, val: netdev_stat_type) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn pcpu_stat_type_raw(this: *const Self) -> netdev_stat_type { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 8u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_pcpu_stat_type_raw(this: *mut Self, val: netdev_stat_type) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2(pcpu_stat_type: netdev_stat_type) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let pcpu_stat_type: u32 = unsafe { ::core::mem::transmute(pcpu_stat_type) }; + pcpu_stat_type as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn see_all_hwtstamp_requests(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_3.get(0usize, 1u8) as u64) } + } + #[inline] + pub fn set_see_all_hwtstamp_requests(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_3.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn see_all_hwtstamp_requests_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 0usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_see_all_hwtstamp_requests_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn change_proto_down(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_3.get(1usize, 1u8) as u64) } + } + #[inline] + pub fn set_change_proto_down(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_3.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn change_proto_down_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 1usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_change_proto_down_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn netns_local(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_3.get(2usize, 1u8) as u64) } + } + #[inline] + pub fn set_netns_local(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_3.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn netns_local_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 2usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_netns_local_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fcoe_mtu(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_3.get(3usize, 1u8) as u64) } + } + #[inline] + pub fn set_fcoe_mtu(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_3.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fcoe_mtu_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 3usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_fcoe_mtu_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_3( + see_all_hwtstamp_requests: ::core::ffi::c_ulong, + change_proto_down: ::core::ffi::c_ulong, + netns_local: ::core::ffi::c_ulong, + fcoe_mtu: ::core::ffi::c_ulong, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let see_all_hwtstamp_requests: u64 = + unsafe { ::core::mem::transmute(see_all_hwtstamp_requests) }; + see_all_hwtstamp_requests as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let change_proto_down: u64 = unsafe { ::core::mem::transmute(change_proto_down) }; + change_proto_down as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let netns_local: u64 = unsafe { ::core::mem::transmute(netns_local) }; + netns_local as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fcoe_mtu: u64 = unsafe { ::core::mem::transmute(fcoe_mtu) }; + fcoe_mtu as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_4() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_core_stats { + pub rx_dropped: ::core::ffi::c_ulong, + pub tx_dropped: ::core::ffi::c_ulong, + pub rx_nohandler: ::core::ffi::c_ulong, + pub rx_otherhost_dropped: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_core_stats"][::core::mem::size_of::() - 32usize]; + ["Alignment of net_device_core_stats"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_core_stats::rx_dropped"] + [::core::mem::offset_of!(net_device_core_stats, rx_dropped) - 0usize]; + ["Offset of field: net_device_core_stats::tx_dropped"] + [::core::mem::offset_of!(net_device_core_stats, tx_dropped) - 8usize]; + ["Offset of field: net_device_core_stats::rx_nohandler"] + [::core::mem::offset_of!(net_device_core_stats, rx_nohandler) - 16usize]; + ["Offset of field: net_device_core_stats::rx_otherhost_dropped"] + [::core::mem::offset_of!(net_device_core_stats, rx_otherhost_dropped) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_ops { + pub ndo_init: + ::core::option::Option ::core::ffi::c_int>, + pub ndo_uninit: ::core::option::Option, + pub ndo_open: + ::core::option::Option ::core::ffi::c_int>, + pub ndo_stop: + ::core::option::Option ::core::ffi::c_int>, + pub ndo_start_xmit: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut net_device) -> netdev_tx_t, + >, + pub ndo_features_check: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut net_device, + arg3: netdev_features_t, + ) -> netdev_features_t, + >, + pub ndo_select_queue: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut sk_buff, + arg3: *mut net_device, + ) -> u16_, + >, + pub ndo_change_rx_flags: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int), + >, + pub ndo_set_rx_mode: ::core::option::Option, + pub ndo_set_mac_address: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub ndo_validate_addr: + ::core::option::Option ::core::ffi::c_int>, + pub ndo_do_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ifreq, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_eth_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ifreq, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_siocbond: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ifreq, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_siocwandev: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut if_settings) -> ::core::ffi::c_int, + >, + pub ndo_siocdevprivate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ifreq, + arg3: *mut ::core::ffi::c_void, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_config: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ifmap) -> ::core::ffi::c_int, + >, + pub ndo_change_mtu: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub ndo_neigh_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut neigh_parms) -> ::core::ffi::c_int, + >, + pub ndo_tx_timeout: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_uint), + >, + pub ndo_get_stats64: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut rtnl_link_stats64), + >, + pub ndo_has_offload_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *const net_device, arg2: ::core::ffi::c_int) -> bool_, + >, + pub ndo_get_offload_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: ::core::ffi::c_int, + arg2: *const net_device, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device) -> *mut net_device_stats, + >, + pub ndo_vlan_rx_add_vid: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: __be16, arg3: u16_) -> ::core::ffi::c_int, + >, + pub ndo_vlan_rx_kill_vid: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: __be16, arg3: u16_) -> ::core::ffi::c_int, + >, + pub ndo_poll_controller: ::core::option::Option, + pub ndo_netpoll_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut netpoll_info) -> ::core::ffi::c_int, + >, + pub ndo_netpoll_cleanup: ::core::option::Option, + pub ndo_set_vf_mac: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_vlan: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: u16_, + arg4: u8_, + arg5: __be16, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_rate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_spoofchk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_trust: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_vf_config: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut ifla_vf_info, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_link_state: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_vf_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut ifla_vf_stats, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_port: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut *mut nlattr, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_vf_port: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut sk_buff, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_vf_guid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut ifla_vf_guid, + arg4: *mut ifla_vf_guid, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_guid: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: u64_, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_set_vf_rss_query_en: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub ndo_setup_tc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: tc_setup_type, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub ndo_fcoe_enable: + ::core::option::Option ::core::ffi::c_int>, + pub ndo_fcoe_disable: + ::core::option::Option ::core::ffi::c_int>, + pub ndo_fcoe_ddp_setup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: u16_, + arg3: *mut scatterlist, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub ndo_fcoe_ddp_done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: u16_) -> ::core::ffi::c_int, + >, + pub ndo_fcoe_ddp_target: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: u16_, + arg3: *mut scatterlist, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub ndo_fcoe_get_hbainfo: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut netdev_fcoe_hbainfo, + ) -> ::core::ffi::c_int, + >, + pub ndo_fcoe_get_wwn: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut u64_, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_rx_flow_steer: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const sk_buff, + arg3: u16_, + arg4: u32_, + ) -> ::core::ffi::c_int, + >, + pub ndo_add_slave: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut net_device, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_del_slave: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut net_device) -> ::core::ffi::c_int, + >, + pub ndo_get_xmit_slave: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut sk_buff, + arg3: bool_, + ) -> *mut net_device, + >, + pub ndo_sk_get_lower_dev: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut sock) -> *mut net_device, + >, + pub ndo_fix_features: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: netdev_features_t) -> netdev_features_t, + >, + pub ndo_set_features: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: netdev_features_t) -> ::core::ffi::c_int, + >, + pub ndo_neigh_construct: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut neighbour) -> ::core::ffi::c_int, + >, + pub ndo_neigh_destroy: + ::core::option::Option, + pub ndo_fdb_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ndmsg, + arg2: *mut *mut nlattr, + arg3: *mut net_device, + arg4: *const ::core::ffi::c_uchar, + arg5: u16_, + arg6: u16_, + arg7: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_fdb_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ndmsg, + arg2: *mut *mut nlattr, + arg3: *mut net_device, + arg4: *const ::core::ffi::c_uchar, + arg5: u16_, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_fdb_del_bulk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nlmsghdr, + arg2: *mut net_device, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_fdb_dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut netlink_callback, + arg3: *mut net_device, + arg4: *mut net_device, + arg5: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_fdb_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut *mut nlattr, + arg3: *mut net_device, + arg4: *const ::core::ffi::c_uchar, + arg5: u16_, + arg6: u32_, + arg7: u32_, + arg8: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_mdb_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut *mut nlattr, + arg3: u16_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_mdb_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut *mut nlattr, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_mdb_del_bulk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut *mut nlattr, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_mdb_dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut sk_buff, + arg3: *mut netlink_callback, + ) -> ::core::ffi::c_int, + >, + pub ndo_mdb_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut *mut nlattr, + arg3: u32_, + arg4: u32_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_bridge_setlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut nlmsghdr, + arg3: u16_, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub ndo_bridge_getlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: u32_, + arg3: u32_, + arg4: *mut net_device, + arg5: u32_, + arg6: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_bridge_dellink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut nlmsghdr, + arg3: u16_, + ) -> ::core::ffi::c_int, + >, + pub ndo_change_carrier: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: bool_) -> ::core::ffi::c_int, + >, + pub ndo_get_phys_port_id: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut netdev_phys_item_id, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_port_parent_id: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut netdev_phys_item_id, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_phys_port_name: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub ndo_dfwd_add_station: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut net_device, + ) -> *mut ::core::ffi::c_void, + >, + pub ndo_dfwd_del_station: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ::core::ffi::c_void), + >, + pub ndo_set_tx_maxrate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: u32_, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_iflink: + ::core::option::Option ::core::ffi::c_int>, + pub ndo_fill_metadata_dst: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub ndo_set_rx_headroom: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: ::core::ffi::c_int), + >, + pub ndo_bpf: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut netdev_bpf) -> ::core::ffi::c_int, + >, + pub ndo_xdp_xmit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut *mut xdp_frame, + arg4: u32_, + ) -> ::core::ffi::c_int, + >, + pub ndo_xdp_get_xmit_slave: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut xdp_buff) -> *mut net_device, + >, + pub ndo_xsk_wakeup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: u32_, arg3: u32_) -> ::core::ffi::c_int, + >, + pub ndo_tunnel_ctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ip_tunnel_parm_kern, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_peer_dev: + ::core::option::Option *mut net_device>, + pub ndo_fill_forward_path: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device_path_ctx, + arg2: *mut net_device_path, + ) -> ::core::ffi::c_int, + >, + pub ndo_get_tstamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *const skb_shared_hwtstamps, + arg3: bool_, + ) -> ktime_t, + >, + pub ndo_hwtstamp_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut kernel_hwtstamp_config, + ) -> ::core::ffi::c_int, + >, + pub ndo_hwtstamp_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut kernel_hwtstamp_config, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_ops"][::core::mem::size_of::() - 736usize]; + ["Alignment of net_device_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_ops::ndo_init"] + [::core::mem::offset_of!(net_device_ops, ndo_init) - 0usize]; + ["Offset of field: net_device_ops::ndo_uninit"] + [::core::mem::offset_of!(net_device_ops, ndo_uninit) - 8usize]; + ["Offset of field: net_device_ops::ndo_open"] + [::core::mem::offset_of!(net_device_ops, ndo_open) - 16usize]; + ["Offset of field: net_device_ops::ndo_stop"] + [::core::mem::offset_of!(net_device_ops, ndo_stop) - 24usize]; + ["Offset of field: net_device_ops::ndo_start_xmit"] + [::core::mem::offset_of!(net_device_ops, ndo_start_xmit) - 32usize]; + ["Offset of field: net_device_ops::ndo_features_check"] + [::core::mem::offset_of!(net_device_ops, ndo_features_check) - 40usize]; + ["Offset of field: net_device_ops::ndo_select_queue"] + [::core::mem::offset_of!(net_device_ops, ndo_select_queue) - 48usize]; + ["Offset of field: net_device_ops::ndo_change_rx_flags"] + [::core::mem::offset_of!(net_device_ops, ndo_change_rx_flags) - 56usize]; + ["Offset of field: net_device_ops::ndo_set_rx_mode"] + [::core::mem::offset_of!(net_device_ops, ndo_set_rx_mode) - 64usize]; + ["Offset of field: net_device_ops::ndo_set_mac_address"] + [::core::mem::offset_of!(net_device_ops, ndo_set_mac_address) - 72usize]; + ["Offset of field: net_device_ops::ndo_validate_addr"] + [::core::mem::offset_of!(net_device_ops, ndo_validate_addr) - 80usize]; + ["Offset of field: net_device_ops::ndo_do_ioctl"] + [::core::mem::offset_of!(net_device_ops, ndo_do_ioctl) - 88usize]; + ["Offset of field: net_device_ops::ndo_eth_ioctl"] + [::core::mem::offset_of!(net_device_ops, ndo_eth_ioctl) - 96usize]; + ["Offset of field: net_device_ops::ndo_siocbond"] + [::core::mem::offset_of!(net_device_ops, ndo_siocbond) - 104usize]; + ["Offset of field: net_device_ops::ndo_siocwandev"] + [::core::mem::offset_of!(net_device_ops, ndo_siocwandev) - 112usize]; + ["Offset of field: net_device_ops::ndo_siocdevprivate"] + [::core::mem::offset_of!(net_device_ops, ndo_siocdevprivate) - 120usize]; + ["Offset of field: net_device_ops::ndo_set_config"] + [::core::mem::offset_of!(net_device_ops, ndo_set_config) - 128usize]; + ["Offset of field: net_device_ops::ndo_change_mtu"] + [::core::mem::offset_of!(net_device_ops, ndo_change_mtu) - 136usize]; + ["Offset of field: net_device_ops::ndo_neigh_setup"] + [::core::mem::offset_of!(net_device_ops, ndo_neigh_setup) - 144usize]; + ["Offset of field: net_device_ops::ndo_tx_timeout"] + [::core::mem::offset_of!(net_device_ops, ndo_tx_timeout) - 152usize]; + ["Offset of field: net_device_ops::ndo_get_stats64"] + [::core::mem::offset_of!(net_device_ops, ndo_get_stats64) - 160usize]; + ["Offset of field: net_device_ops::ndo_has_offload_stats"] + [::core::mem::offset_of!(net_device_ops, ndo_has_offload_stats) - 168usize]; + ["Offset of field: net_device_ops::ndo_get_offload_stats"] + [::core::mem::offset_of!(net_device_ops, ndo_get_offload_stats) - 176usize]; + ["Offset of field: net_device_ops::ndo_get_stats"] + [::core::mem::offset_of!(net_device_ops, ndo_get_stats) - 184usize]; + ["Offset of field: net_device_ops::ndo_vlan_rx_add_vid"] + [::core::mem::offset_of!(net_device_ops, ndo_vlan_rx_add_vid) - 192usize]; + ["Offset of field: net_device_ops::ndo_vlan_rx_kill_vid"] + [::core::mem::offset_of!(net_device_ops, ndo_vlan_rx_kill_vid) - 200usize]; + ["Offset of field: net_device_ops::ndo_poll_controller"] + [::core::mem::offset_of!(net_device_ops, ndo_poll_controller) - 208usize]; + ["Offset of field: net_device_ops::ndo_netpoll_setup"] + [::core::mem::offset_of!(net_device_ops, ndo_netpoll_setup) - 216usize]; + ["Offset of field: net_device_ops::ndo_netpoll_cleanup"] + [::core::mem::offset_of!(net_device_ops, ndo_netpoll_cleanup) - 224usize]; + ["Offset of field: net_device_ops::ndo_set_vf_mac"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_mac) - 232usize]; + ["Offset of field: net_device_ops::ndo_set_vf_vlan"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_vlan) - 240usize]; + ["Offset of field: net_device_ops::ndo_set_vf_rate"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_rate) - 248usize]; + ["Offset of field: net_device_ops::ndo_set_vf_spoofchk"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_spoofchk) - 256usize]; + ["Offset of field: net_device_ops::ndo_set_vf_trust"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_trust) - 264usize]; + ["Offset of field: net_device_ops::ndo_get_vf_config"] + [::core::mem::offset_of!(net_device_ops, ndo_get_vf_config) - 272usize]; + ["Offset of field: net_device_ops::ndo_set_vf_link_state"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_link_state) - 280usize]; + ["Offset of field: net_device_ops::ndo_get_vf_stats"] + [::core::mem::offset_of!(net_device_ops, ndo_get_vf_stats) - 288usize]; + ["Offset of field: net_device_ops::ndo_set_vf_port"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_port) - 296usize]; + ["Offset of field: net_device_ops::ndo_get_vf_port"] + [::core::mem::offset_of!(net_device_ops, ndo_get_vf_port) - 304usize]; + ["Offset of field: net_device_ops::ndo_get_vf_guid"] + [::core::mem::offset_of!(net_device_ops, ndo_get_vf_guid) - 312usize]; + ["Offset of field: net_device_ops::ndo_set_vf_guid"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_guid) - 320usize]; + ["Offset of field: net_device_ops::ndo_set_vf_rss_query_en"] + [::core::mem::offset_of!(net_device_ops, ndo_set_vf_rss_query_en) - 328usize]; + ["Offset of field: net_device_ops::ndo_setup_tc"] + [::core::mem::offset_of!(net_device_ops, ndo_setup_tc) - 336usize]; + ["Offset of field: net_device_ops::ndo_fcoe_enable"] + [::core::mem::offset_of!(net_device_ops, ndo_fcoe_enable) - 344usize]; + ["Offset of field: net_device_ops::ndo_fcoe_disable"] + [::core::mem::offset_of!(net_device_ops, ndo_fcoe_disable) - 352usize]; + ["Offset of field: net_device_ops::ndo_fcoe_ddp_setup"] + [::core::mem::offset_of!(net_device_ops, ndo_fcoe_ddp_setup) - 360usize]; + ["Offset of field: net_device_ops::ndo_fcoe_ddp_done"] + [::core::mem::offset_of!(net_device_ops, ndo_fcoe_ddp_done) - 368usize]; + ["Offset of field: net_device_ops::ndo_fcoe_ddp_target"] + [::core::mem::offset_of!(net_device_ops, ndo_fcoe_ddp_target) - 376usize]; + ["Offset of field: net_device_ops::ndo_fcoe_get_hbainfo"] + [::core::mem::offset_of!(net_device_ops, ndo_fcoe_get_hbainfo) - 384usize]; + ["Offset of field: net_device_ops::ndo_fcoe_get_wwn"] + [::core::mem::offset_of!(net_device_ops, ndo_fcoe_get_wwn) - 392usize]; + ["Offset of field: net_device_ops::ndo_rx_flow_steer"] + [::core::mem::offset_of!(net_device_ops, ndo_rx_flow_steer) - 400usize]; + ["Offset of field: net_device_ops::ndo_add_slave"] + [::core::mem::offset_of!(net_device_ops, ndo_add_slave) - 408usize]; + ["Offset of field: net_device_ops::ndo_del_slave"] + [::core::mem::offset_of!(net_device_ops, ndo_del_slave) - 416usize]; + ["Offset of field: net_device_ops::ndo_get_xmit_slave"] + [::core::mem::offset_of!(net_device_ops, ndo_get_xmit_slave) - 424usize]; + ["Offset of field: net_device_ops::ndo_sk_get_lower_dev"] + [::core::mem::offset_of!(net_device_ops, ndo_sk_get_lower_dev) - 432usize]; + ["Offset of field: net_device_ops::ndo_fix_features"] + [::core::mem::offset_of!(net_device_ops, ndo_fix_features) - 440usize]; + ["Offset of field: net_device_ops::ndo_set_features"] + [::core::mem::offset_of!(net_device_ops, ndo_set_features) - 448usize]; + ["Offset of field: net_device_ops::ndo_neigh_construct"] + [::core::mem::offset_of!(net_device_ops, ndo_neigh_construct) - 456usize]; + ["Offset of field: net_device_ops::ndo_neigh_destroy"] + [::core::mem::offset_of!(net_device_ops, ndo_neigh_destroy) - 464usize]; + ["Offset of field: net_device_ops::ndo_fdb_add"] + [::core::mem::offset_of!(net_device_ops, ndo_fdb_add) - 472usize]; + ["Offset of field: net_device_ops::ndo_fdb_del"] + [::core::mem::offset_of!(net_device_ops, ndo_fdb_del) - 480usize]; + ["Offset of field: net_device_ops::ndo_fdb_del_bulk"] + [::core::mem::offset_of!(net_device_ops, ndo_fdb_del_bulk) - 488usize]; + ["Offset of field: net_device_ops::ndo_fdb_dump"] + [::core::mem::offset_of!(net_device_ops, ndo_fdb_dump) - 496usize]; + ["Offset of field: net_device_ops::ndo_fdb_get"] + [::core::mem::offset_of!(net_device_ops, ndo_fdb_get) - 504usize]; + ["Offset of field: net_device_ops::ndo_mdb_add"] + [::core::mem::offset_of!(net_device_ops, ndo_mdb_add) - 512usize]; + ["Offset of field: net_device_ops::ndo_mdb_del"] + [::core::mem::offset_of!(net_device_ops, ndo_mdb_del) - 520usize]; + ["Offset of field: net_device_ops::ndo_mdb_del_bulk"] + [::core::mem::offset_of!(net_device_ops, ndo_mdb_del_bulk) - 528usize]; + ["Offset of field: net_device_ops::ndo_mdb_dump"] + [::core::mem::offset_of!(net_device_ops, ndo_mdb_dump) - 536usize]; + ["Offset of field: net_device_ops::ndo_mdb_get"] + [::core::mem::offset_of!(net_device_ops, ndo_mdb_get) - 544usize]; + ["Offset of field: net_device_ops::ndo_bridge_setlink"] + [::core::mem::offset_of!(net_device_ops, ndo_bridge_setlink) - 552usize]; + ["Offset of field: net_device_ops::ndo_bridge_getlink"] + [::core::mem::offset_of!(net_device_ops, ndo_bridge_getlink) - 560usize]; + ["Offset of field: net_device_ops::ndo_bridge_dellink"] + [::core::mem::offset_of!(net_device_ops, ndo_bridge_dellink) - 568usize]; + ["Offset of field: net_device_ops::ndo_change_carrier"] + [::core::mem::offset_of!(net_device_ops, ndo_change_carrier) - 576usize]; + ["Offset of field: net_device_ops::ndo_get_phys_port_id"] + [::core::mem::offset_of!(net_device_ops, ndo_get_phys_port_id) - 584usize]; + ["Offset of field: net_device_ops::ndo_get_port_parent_id"] + [::core::mem::offset_of!(net_device_ops, ndo_get_port_parent_id) - 592usize]; + ["Offset of field: net_device_ops::ndo_get_phys_port_name"] + [::core::mem::offset_of!(net_device_ops, ndo_get_phys_port_name) - 600usize]; + ["Offset of field: net_device_ops::ndo_dfwd_add_station"] + [::core::mem::offset_of!(net_device_ops, ndo_dfwd_add_station) - 608usize]; + ["Offset of field: net_device_ops::ndo_dfwd_del_station"] + [::core::mem::offset_of!(net_device_ops, ndo_dfwd_del_station) - 616usize]; + ["Offset of field: net_device_ops::ndo_set_tx_maxrate"] + [::core::mem::offset_of!(net_device_ops, ndo_set_tx_maxrate) - 624usize]; + ["Offset of field: net_device_ops::ndo_get_iflink"] + [::core::mem::offset_of!(net_device_ops, ndo_get_iflink) - 632usize]; + ["Offset of field: net_device_ops::ndo_fill_metadata_dst"] + [::core::mem::offset_of!(net_device_ops, ndo_fill_metadata_dst) - 640usize]; + ["Offset of field: net_device_ops::ndo_set_rx_headroom"] + [::core::mem::offset_of!(net_device_ops, ndo_set_rx_headroom) - 648usize]; + ["Offset of field: net_device_ops::ndo_bpf"] + [::core::mem::offset_of!(net_device_ops, ndo_bpf) - 656usize]; + ["Offset of field: net_device_ops::ndo_xdp_xmit"] + [::core::mem::offset_of!(net_device_ops, ndo_xdp_xmit) - 664usize]; + ["Offset of field: net_device_ops::ndo_xdp_get_xmit_slave"] + [::core::mem::offset_of!(net_device_ops, ndo_xdp_get_xmit_slave) - 672usize]; + ["Offset of field: net_device_ops::ndo_xsk_wakeup"] + [::core::mem::offset_of!(net_device_ops, ndo_xsk_wakeup) - 680usize]; + ["Offset of field: net_device_ops::ndo_tunnel_ctl"] + [::core::mem::offset_of!(net_device_ops, ndo_tunnel_ctl) - 688usize]; + ["Offset of field: net_device_ops::ndo_get_peer_dev"] + [::core::mem::offset_of!(net_device_ops, ndo_get_peer_dev) - 696usize]; + ["Offset of field: net_device_ops::ndo_fill_forward_path"] + [::core::mem::offset_of!(net_device_ops, ndo_fill_forward_path) - 704usize]; + ["Offset of field: net_device_ops::ndo_get_tstamp"] + [::core::mem::offset_of!(net_device_ops, ndo_get_tstamp) - 712usize]; + ["Offset of field: net_device_ops::ndo_hwtstamp_get"] + [::core::mem::offset_of!(net_device_ops, ndo_hwtstamp_get) - 720usize]; + ["Offset of field: net_device_ops::ndo_hwtstamp_set"] + [::core::mem::offset_of!(net_device_ops, ndo_hwtstamp_set) - 728usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct net_device_path { + pub type_: net_device_path_type, + pub dev: *const net_device, + pub __bindgen_anon_1: net_device_path__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union net_device_path__bindgen_ty_1 { + pub encap: net_device_path__bindgen_ty_1__bindgen_ty_1, + pub bridge: net_device_path__bindgen_ty_1__bindgen_ty_2, + pub dsa: net_device_path__bindgen_ty_1__bindgen_ty_3, + pub mtk_wdma: net_device_path__bindgen_ty_1__bindgen_ty_4, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_path__bindgen_ty_1__bindgen_ty_1 { + pub id: u16_, + pub proto: __be16, + pub h_dest: [u8_; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 10usize]; + ["Alignment of net_device_path__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_1::id"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_1, id) - 0usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_1::proto"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_1, proto) - 2usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_1::h_dest"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_1, h_dest) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_path__bindgen_ty_1__bindgen_ty_2 { + pub vlan_mode: net_device_path__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub vlan_id: u16_, + pub vlan_proto: __be16, +} +pub const net_device_path__bindgen_ty_1__bindgen_ty_2_DEV_PATH_BR_VLAN_KEEP: + net_device_path__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 = 0; +pub const net_device_path__bindgen_ty_1__bindgen_ty_2_DEV_PATH_BR_VLAN_TAG: + net_device_path__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 = 1; +pub const net_device_path__bindgen_ty_1__bindgen_ty_2_DEV_PATH_BR_VLAN_UNTAG: + net_device_path__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 = 2; +pub const net_device_path__bindgen_ty_1__bindgen_ty_2_DEV_PATH_BR_VLAN_UNTAG_HW: + net_device_path__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 = 3; +pub type net_device_path__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 = ::core::ffi::c_uint; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_path__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_2::vlan_mode"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_2, vlan_mode) - 0usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_2::vlan_id"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_2, vlan_id) - 4usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_2::vlan_proto"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_2, vlan_proto) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_path__bindgen_ty_1__bindgen_ty_3 { + pub port: ::core::ffi::c_int, + pub proto: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of net_device_path__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_3::port"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_3, port) - 0usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_3::proto"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_3, proto) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_path__bindgen_ty_1__bindgen_ty_4 { + pub wdma_idx: u8_, + pub queue: u8_, + pub wcid: u16_, + pub bss: u8_, + pub amsdu: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::size_of::() - 6usize]; + ["Alignment of net_device_path__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_4::wdma_idx"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_4, wdma_idx) - 0usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_4::queue"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_4, queue) - 1usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_4::wcid"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_4, wcid) - 2usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_4::bss"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_4, bss) - 4usize]; + ["Offset of field: net_device_path__bindgen_ty_1__bindgen_ty_4::amsdu"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1__bindgen_ty_4, amsdu) - 5usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path__bindgen_ty_1"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of net_device_path__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: net_device_path__bindgen_ty_1::encap"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1, encap) - 0usize]; + ["Offset of field: net_device_path__bindgen_ty_1::bridge"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1, bridge) - 0usize]; + ["Offset of field: net_device_path__bindgen_ty_1::dsa"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1, dsa) - 0usize]; + ["Offset of field: net_device_path__bindgen_ty_1::mtk_wdma"] + [::core::mem::offset_of!(net_device_path__bindgen_ty_1, mtk_wdma) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path"][::core::mem::size_of::() - 32usize]; + ["Alignment of net_device_path"][::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_path::type_"] + [::core::mem::offset_of!(net_device_path, type_) - 0usize]; + ["Offset of field: net_device_path::dev"] + [::core::mem::offset_of!(net_device_path, dev) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_path_ctx { + pub dev: *const net_device, + pub daddr: [u8_; 6usize], + pub num_vlans: ::core::ffi::c_int, + pub vlan: [net_device_path_ctx__bindgen_ty_1; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_device_path_ctx__bindgen_ty_1 { + pub id: u16_, + pub proto: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path_ctx__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of net_device_path_ctx__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: net_device_path_ctx__bindgen_ty_1::id"] + [::core::mem::offset_of!(net_device_path_ctx__bindgen_ty_1, id) - 0usize]; + ["Offset of field: net_device_path_ctx__bindgen_ty_1::proto"] + [::core::mem::offset_of!(net_device_path_ctx__bindgen_ty_1, proto) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_device_path_ctx"][::core::mem::size_of::() - 32usize]; + ["Alignment of net_device_path_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: net_device_path_ctx::dev"] + [::core::mem::offset_of!(net_device_path_ctx, dev) - 0usize]; + ["Offset of field: net_device_path_ctx::daddr"] + [::core::mem::offset_of!(net_device_path_ctx, daddr) - 8usize]; + ["Offset of field: net_device_path_ctx::num_vlans"] + [::core::mem::offset_of!(net_device_path_ctx, num_vlans) - 16usize]; + ["Offset of field: net_device_path_ctx::vlan"] + [::core::mem::offset_of!(net_device_path_ctx, vlan) - 20usize]; +}; +#[repr(C)] +pub struct net_generic { + pub __bindgen_anon_1: net_generic__bindgen_ty_1, +} +#[repr(C)] +pub struct net_generic__bindgen_ty_1 { + pub s: __BindgenUnionField, + pub __bindgen_anon_1: __BindgenUnionField, + pub bindgen_union_field: [u64; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_generic__bindgen_ty_1__bindgen_ty_1 { + pub len: ::core::ffi::c_uint, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_generic__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of net_generic__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_generic__bindgen_ty_1__bindgen_ty_1::len"] + [::core::mem::offset_of!(net_generic__bindgen_ty_1__bindgen_ty_1, len) - 0usize]; + ["Offset of field: net_generic__bindgen_ty_1__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(net_generic__bindgen_ty_1__bindgen_ty_1, rcu) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct net_generic__bindgen_ty_1__bindgen_ty_2 { + pub __empty_ptr: net_generic__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub ptr: __IncompleteArrayField<*mut ::core::ffi::c_void>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_generic__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_generic__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of net_generic__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_generic__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of net_generic__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_generic__bindgen_ty_1__bindgen_ty_2::__empty_ptr"] + [::core::mem::offset_of!(net_generic__bindgen_ty_1__bindgen_ty_2, __empty_ptr) - 0usize]; + ["Offset of field: net_generic__bindgen_ty_1__bindgen_ty_2::ptr"] + [::core::mem::offset_of!(net_generic__bindgen_ty_1__bindgen_ty_2, ptr) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_generic__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of net_generic__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: net_generic__bindgen_ty_1::s"] + [::core::mem::offset_of!(net_generic__bindgen_ty_1, s) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_generic"][::core::mem::size_of::() - 24usize]; + ["Alignment of net_generic"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct net_rate_estimator { + pub bstats: *mut gnet_stats_basic_sync, + pub stats_lock: *mut spinlock_t, + pub running: bool_, + pub cpu_bstats: *mut gnet_stats_basic_sync, + pub ewma_log: u8_, + pub intvl_log: u8_, + pub seq: seqcount_t, + pub last_packets: u64_, + pub last_bytes: u64_, + pub avpps: u64_, + pub avbps: u64_, + pub next_jiffies: ::core::ffi::c_ulong, + pub timer: timer_list, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of net_rate_estimator"][::core::mem::size_of::() - 136usize]; + ["Alignment of net_rate_estimator"][::core::mem::align_of::() - 8usize]; + ["Offset of field: net_rate_estimator::bstats"] + [::core::mem::offset_of!(net_rate_estimator, bstats) - 0usize]; + ["Offset of field: net_rate_estimator::stats_lock"] + [::core::mem::offset_of!(net_rate_estimator, stats_lock) - 8usize]; + ["Offset of field: net_rate_estimator::running"] + [::core::mem::offset_of!(net_rate_estimator, running) - 16usize]; + ["Offset of field: net_rate_estimator::cpu_bstats"] + [::core::mem::offset_of!(net_rate_estimator, cpu_bstats) - 24usize]; + ["Offset of field: net_rate_estimator::ewma_log"] + [::core::mem::offset_of!(net_rate_estimator, ewma_log) - 32usize]; + ["Offset of field: net_rate_estimator::intvl_log"] + [::core::mem::offset_of!(net_rate_estimator, intvl_log) - 33usize]; + ["Offset of field: net_rate_estimator::seq"] + [::core::mem::offset_of!(net_rate_estimator, seq) - 36usize]; + ["Offset of field: net_rate_estimator::last_packets"] + [::core::mem::offset_of!(net_rate_estimator, last_packets) - 40usize]; + ["Offset of field: net_rate_estimator::last_bytes"] + [::core::mem::offset_of!(net_rate_estimator, last_bytes) - 48usize]; + ["Offset of field: net_rate_estimator::avpps"] + [::core::mem::offset_of!(net_rate_estimator, avpps) - 56usize]; + ["Offset of field: net_rate_estimator::avbps"] + [::core::mem::offset_of!(net_rate_estimator, avbps) - 64usize]; + ["Offset of field: net_rate_estimator::next_jiffies"] + [::core::mem::offset_of!(net_rate_estimator, next_jiffies) - 72usize]; + ["Offset of field: net_rate_estimator::timer"] + [::core::mem::offset_of!(net_rate_estimator, timer) - 80usize]; + ["Offset of field: net_rate_estimator::rcu"] + [::core::mem::offset_of!(net_rate_estimator, rcu) - 120usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netdev_bpf { + pub command: bpf_netdev_command, + pub __bindgen_anon_1: netdev_bpf__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union netdev_bpf__bindgen_ty_1 { + pub __bindgen_anon_1: netdev_bpf__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: netdev_bpf__bindgen_ty_1__bindgen_ty_2, + pub xsk: netdev_bpf__bindgen_ty_1__bindgen_ty_3, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_bpf__bindgen_ty_1__bindgen_ty_1 { + pub flags: u32_, + pub prog: *mut bpf_prog, + pub extack: *mut netlink_ext_ack, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_bpf__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of netdev_bpf__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_bpf__bindgen_ty_1__bindgen_ty_1::flags"] + [::core::mem::offset_of!(netdev_bpf__bindgen_ty_1__bindgen_ty_1, flags) - 0usize]; + ["Offset of field: netdev_bpf__bindgen_ty_1__bindgen_ty_1::prog"] + [::core::mem::offset_of!(netdev_bpf__bindgen_ty_1__bindgen_ty_1, prog) - 8usize]; + ["Offset of field: netdev_bpf__bindgen_ty_1__bindgen_ty_1::extack"] + [::core::mem::offset_of!(netdev_bpf__bindgen_ty_1__bindgen_ty_1, extack) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_bpf__bindgen_ty_1__bindgen_ty_2 { + pub offmap: *mut bpf_offloaded_map, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_bpf__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of netdev_bpf__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_bpf__bindgen_ty_1__bindgen_ty_2::offmap"] + [::core::mem::offset_of!(netdev_bpf__bindgen_ty_1__bindgen_ty_2, offmap) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_bpf__bindgen_ty_1__bindgen_ty_3 { + pub pool: *mut xsk_buff_pool, + pub queue_id: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_bpf__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of netdev_bpf__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_bpf__bindgen_ty_1__bindgen_ty_3::pool"] + [::core::mem::offset_of!(netdev_bpf__bindgen_ty_1__bindgen_ty_3, pool) - 0usize]; + ["Offset of field: netdev_bpf__bindgen_ty_1__bindgen_ty_3::queue_id"] + [::core::mem::offset_of!(netdev_bpf__bindgen_ty_1__bindgen_ty_3, queue_id) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_bpf__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of netdev_bpf__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_bpf__bindgen_ty_1::xsk"] + [::core::mem::offset_of!(netdev_bpf__bindgen_ty_1, xsk) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_bpf"][::core::mem::size_of::() - 32usize]; + ["Alignment of netdev_bpf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_bpf::command"][::core::mem::offset_of!(netdev_bpf, command) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_fcoe_hbainfo { + pub manufacturer: [::core::ffi::c_char; 64usize], + pub serial_number: [::core::ffi::c_char; 64usize], + pub hardware_version: [::core::ffi::c_char; 64usize], + pub driver_version: [::core::ffi::c_char; 64usize], + pub optionrom_version: [::core::ffi::c_char; 64usize], + pub firmware_version: [::core::ffi::c_char; 64usize], + pub model: [::core::ffi::c_char; 256usize], + pub model_description: [::core::ffi::c_char; 256usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_fcoe_hbainfo"][::core::mem::size_of::() - 896usize]; + ["Alignment of netdev_fcoe_hbainfo"][::core::mem::align_of::() - 1usize]; + ["Offset of field: netdev_fcoe_hbainfo::manufacturer"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, manufacturer) - 0usize]; + ["Offset of field: netdev_fcoe_hbainfo::serial_number"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, serial_number) - 64usize]; + ["Offset of field: netdev_fcoe_hbainfo::hardware_version"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, hardware_version) - 128usize]; + ["Offset of field: netdev_fcoe_hbainfo::driver_version"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, driver_version) - 192usize]; + ["Offset of field: netdev_fcoe_hbainfo::optionrom_version"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, optionrom_version) - 256usize]; + ["Offset of field: netdev_fcoe_hbainfo::firmware_version"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, firmware_version) - 320usize]; + ["Offset of field: netdev_fcoe_hbainfo::model"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, model) - 384usize]; + ["Offset of field: netdev_fcoe_hbainfo::model_description"] + [::core::mem::offset_of!(netdev_fcoe_hbainfo, model_description) - 640usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_lag_upper_info { + pub tx_type: netdev_lag_tx_type, + pub hash_type: netdev_lag_hash, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_lag_upper_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of netdev_lag_upper_info"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: netdev_lag_upper_info::tx_type"] + [::core::mem::offset_of!(netdev_lag_upper_info, tx_type) - 0usize]; + ["Offset of field: netdev_lag_upper_info::hash_type"] + [::core::mem::offset_of!(netdev_lag_upper_info, hash_type) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_name_node { + pub hlist: hlist_node, + pub list: list_head, + pub dev: *mut net_device, + pub name: *const ::core::ffi::c_char, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_name_node"][::core::mem::size_of::() - 64usize]; + ["Alignment of netdev_name_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_name_node::hlist"] + [::core::mem::offset_of!(netdev_name_node, hlist) - 0usize]; + ["Offset of field: netdev_name_node::list"] + [::core::mem::offset_of!(netdev_name_node, list) - 16usize]; + ["Offset of field: netdev_name_node::dev"] + [::core::mem::offset_of!(netdev_name_node, dev) - 32usize]; + ["Offset of field: netdev_name_node::name"] + [::core::mem::offset_of!(netdev_name_node, name) - 40usize]; + ["Offset of field: netdev_name_node::rcu"] + [::core::mem::offset_of!(netdev_name_node, rcu) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_notifier_info { + pub dev: *mut net_device, + pub extack: *mut netlink_ext_ack, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_notifier_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of netdev_notifier_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_notifier_info::dev"] + [::core::mem::offset_of!(netdev_notifier_info, dev) - 0usize]; + ["Offset of field: netdev_notifier_info::extack"] + [::core::mem::offset_of!(netdev_notifier_info, extack) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_notifier_changeupper_info { + pub info: netdev_notifier_info, + pub upper_dev: *mut net_device, + pub master: bool_, + pub linking: bool_, + pub upper_info: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_notifier_changeupper_info"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of netdev_notifier_changeupper_info"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_notifier_changeupper_info::info"] + [::core::mem::offset_of!(netdev_notifier_changeupper_info, info) - 0usize]; + ["Offset of field: netdev_notifier_changeupper_info::upper_dev"] + [::core::mem::offset_of!(netdev_notifier_changeupper_info, upper_dev) - 16usize]; + ["Offset of field: netdev_notifier_changeupper_info::master"] + [::core::mem::offset_of!(netdev_notifier_changeupper_info, master) - 24usize]; + ["Offset of field: netdev_notifier_changeupper_info::linking"] + [::core::mem::offset_of!(netdev_notifier_changeupper_info, linking) - 25usize]; + ["Offset of field: netdev_notifier_changeupper_info::upper_info"] + [::core::mem::offset_of!(netdev_notifier_changeupper_info, upper_info) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rtnl_hw_stats64 { + pub rx_packets: __u64, + pub tx_packets: __u64, + pub rx_bytes: __u64, + pub tx_bytes: __u64, + pub rx_errors: __u64, + pub tx_errors: __u64, + pub rx_dropped: __u64, + pub tx_dropped: __u64, + pub multicast: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rtnl_hw_stats64"][::core::mem::size_of::() - 72usize]; + ["Alignment of rtnl_hw_stats64"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rtnl_hw_stats64::rx_packets"] + [::core::mem::offset_of!(rtnl_hw_stats64, rx_packets) - 0usize]; + ["Offset of field: rtnl_hw_stats64::tx_packets"] + [::core::mem::offset_of!(rtnl_hw_stats64, tx_packets) - 8usize]; + ["Offset of field: rtnl_hw_stats64::rx_bytes"] + [::core::mem::offset_of!(rtnl_hw_stats64, rx_bytes) - 16usize]; + ["Offset of field: rtnl_hw_stats64::tx_bytes"] + [::core::mem::offset_of!(rtnl_hw_stats64, tx_bytes) - 24usize]; + ["Offset of field: rtnl_hw_stats64::rx_errors"] + [::core::mem::offset_of!(rtnl_hw_stats64, rx_errors) - 32usize]; + ["Offset of field: rtnl_hw_stats64::tx_errors"] + [::core::mem::offset_of!(rtnl_hw_stats64, tx_errors) - 40usize]; + ["Offset of field: rtnl_hw_stats64::rx_dropped"] + [::core::mem::offset_of!(rtnl_hw_stats64, rx_dropped) - 48usize]; + ["Offset of field: rtnl_hw_stats64::tx_dropped"] + [::core::mem::offset_of!(rtnl_hw_stats64, tx_dropped) - 56usize]; + ["Offset of field: rtnl_hw_stats64::multicast"] + [::core::mem::offset_of!(rtnl_hw_stats64, multicast) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netdev_queue { + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub qdisc: *mut Qdisc, + pub qdisc_sleeping: *mut Qdisc, + pub kobj: kobject, + pub tx_maxrate: ::core::ffi::c_ulong, + pub trans_timeout: atomic_long_t, + pub sb_dev: *mut net_device, + pub pool: *mut xsk_buff_pool, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub dql: dql, + pub _xmit_lock: spinlock_t, + pub xmit_lock_owner: ::core::ffi::c_int, + pub trans_start: ::core::ffi::c_ulong, + pub state: ::core::ffi::c_ulong, + pub napi: *mut napi_struct, + pub numa_node: ::core::ffi::c_int, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 24usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_queue"][::core::mem::size_of::() - 320usize]; + ["Alignment of netdev_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_queue::dev"][::core::mem::offset_of!(netdev_queue, dev) - 0usize]; + ["Offset of field: netdev_queue::dev_tracker"] + [::core::mem::offset_of!(netdev_queue, dev_tracker) - 8usize]; + ["Offset of field: netdev_queue::qdisc"][::core::mem::offset_of!(netdev_queue, qdisc) - 8usize]; + ["Offset of field: netdev_queue::qdisc_sleeping"] + [::core::mem::offset_of!(netdev_queue, qdisc_sleeping) - 16usize]; + ["Offset of field: netdev_queue::kobj"][::core::mem::offset_of!(netdev_queue, kobj) - 24usize]; + ["Offset of field: netdev_queue::tx_maxrate"] + [::core::mem::offset_of!(netdev_queue, tx_maxrate) - 88usize]; + ["Offset of field: netdev_queue::trans_timeout"] + [::core::mem::offset_of!(netdev_queue, trans_timeout) - 96usize]; + ["Offset of field: netdev_queue::sb_dev"] + [::core::mem::offset_of!(netdev_queue, sb_dev) - 104usize]; + ["Offset of field: netdev_queue::pool"][::core::mem::offset_of!(netdev_queue, pool) - 112usize]; + ["Offset of field: netdev_queue::dql"][::core::mem::offset_of!(netdev_queue, dql) - 128usize]; + ["Offset of field: netdev_queue::_xmit_lock"] + [::core::mem::offset_of!(netdev_queue, _xmit_lock) - 256usize]; + ["Offset of field: netdev_queue::xmit_lock_owner"] + [::core::mem::offset_of!(netdev_queue, xmit_lock_owner) - 260usize]; + ["Offset of field: netdev_queue::trans_start"] + [::core::mem::offset_of!(netdev_queue, trans_start) - 264usize]; + ["Offset of field: netdev_queue::state"] + [::core::mem::offset_of!(netdev_queue, state) - 272usize]; + ["Offset of field: netdev_queue::napi"][::core::mem::offset_of!(netdev_queue, napi) - 280usize]; + ["Offset of field: netdev_queue::numa_node"] + [::core::mem::offset_of!(netdev_queue, numa_node) - 288usize]; +}; +impl netdev_queue { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_queue_mgmt_ops { + pub ndo_queue_mem_size: usize, + pub ndo_queue_mem_alloc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ::core::ffi::c_void, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_queue_mem_free: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut net_device, arg2: *mut ::core::ffi::c_void), + >, + pub ndo_queue_start: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ::core::ffi::c_void, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub ndo_queue_stop: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut ::core::ffi::c_void, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_queue_mgmt_ops"][::core::mem::size_of::() - 40usize]; + ["Alignment of netdev_queue_mgmt_ops"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_queue_mgmt_ops::ndo_queue_mem_size"] + [::core::mem::offset_of!(netdev_queue_mgmt_ops, ndo_queue_mem_size) - 0usize]; + ["Offset of field: netdev_queue_mgmt_ops::ndo_queue_mem_alloc"] + [::core::mem::offset_of!(netdev_queue_mgmt_ops, ndo_queue_mem_alloc) - 8usize]; + ["Offset of field: netdev_queue_mgmt_ops::ndo_queue_mem_free"] + [::core::mem::offset_of!(netdev_queue_mgmt_ops, ndo_queue_mem_free) - 16usize]; + ["Offset of field: netdev_queue_mgmt_ops::ndo_queue_start"] + [::core::mem::offset_of!(netdev_queue_mgmt_ops, ndo_queue_start) - 24usize]; + ["Offset of field: netdev_queue_mgmt_ops::ndo_queue_stop"] + [::core::mem::offset_of!(netdev_queue_mgmt_ops, ndo_queue_stop) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_queue_stats_rx { + pub bytes: u64_, + pub packets: u64_, + pub alloc_fail: u64_, + pub hw_drops: u64_, + pub hw_drop_overruns: u64_, + pub csum_unnecessary: u64_, + pub csum_none: u64_, + pub csum_bad: u64_, + pub hw_gro_packets: u64_, + pub hw_gro_bytes: u64_, + pub hw_gro_wire_packets: u64_, + pub hw_gro_wire_bytes: u64_, + pub hw_drop_ratelimits: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_queue_stats_rx"][::core::mem::size_of::() - 104usize]; + ["Alignment of netdev_queue_stats_rx"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_queue_stats_rx::bytes"] + [::core::mem::offset_of!(netdev_queue_stats_rx, bytes) - 0usize]; + ["Offset of field: netdev_queue_stats_rx::packets"] + [::core::mem::offset_of!(netdev_queue_stats_rx, packets) - 8usize]; + ["Offset of field: netdev_queue_stats_rx::alloc_fail"] + [::core::mem::offset_of!(netdev_queue_stats_rx, alloc_fail) - 16usize]; + ["Offset of field: netdev_queue_stats_rx::hw_drops"] + [::core::mem::offset_of!(netdev_queue_stats_rx, hw_drops) - 24usize]; + ["Offset of field: netdev_queue_stats_rx::hw_drop_overruns"] + [::core::mem::offset_of!(netdev_queue_stats_rx, hw_drop_overruns) - 32usize]; + ["Offset of field: netdev_queue_stats_rx::csum_unnecessary"] + [::core::mem::offset_of!(netdev_queue_stats_rx, csum_unnecessary) - 40usize]; + ["Offset of field: netdev_queue_stats_rx::csum_none"] + [::core::mem::offset_of!(netdev_queue_stats_rx, csum_none) - 48usize]; + ["Offset of field: netdev_queue_stats_rx::csum_bad"] + [::core::mem::offset_of!(netdev_queue_stats_rx, csum_bad) - 56usize]; + ["Offset of field: netdev_queue_stats_rx::hw_gro_packets"] + [::core::mem::offset_of!(netdev_queue_stats_rx, hw_gro_packets) - 64usize]; + ["Offset of field: netdev_queue_stats_rx::hw_gro_bytes"] + [::core::mem::offset_of!(netdev_queue_stats_rx, hw_gro_bytes) - 72usize]; + ["Offset of field: netdev_queue_stats_rx::hw_gro_wire_packets"] + [::core::mem::offset_of!(netdev_queue_stats_rx, hw_gro_wire_packets) - 80usize]; + ["Offset of field: netdev_queue_stats_rx::hw_gro_wire_bytes"] + [::core::mem::offset_of!(netdev_queue_stats_rx, hw_gro_wire_bytes) - 88usize]; + ["Offset of field: netdev_queue_stats_rx::hw_drop_ratelimits"] + [::core::mem::offset_of!(netdev_queue_stats_rx, hw_drop_ratelimits) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_queue_stats_tx { + pub bytes: u64_, + pub packets: u64_, + pub hw_drops: u64_, + pub hw_drop_errors: u64_, + pub csum_none: u64_, + pub needs_csum: u64_, + pub hw_gso_packets: u64_, + pub hw_gso_bytes: u64_, + pub hw_gso_wire_packets: u64_, + pub hw_gso_wire_bytes: u64_, + pub hw_drop_ratelimits: u64_, + pub stop: u64_, + pub wake: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_queue_stats_tx"][::core::mem::size_of::() - 104usize]; + ["Alignment of netdev_queue_stats_tx"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_queue_stats_tx::bytes"] + [::core::mem::offset_of!(netdev_queue_stats_tx, bytes) - 0usize]; + ["Offset of field: netdev_queue_stats_tx::packets"] + [::core::mem::offset_of!(netdev_queue_stats_tx, packets) - 8usize]; + ["Offset of field: netdev_queue_stats_tx::hw_drops"] + [::core::mem::offset_of!(netdev_queue_stats_tx, hw_drops) - 16usize]; + ["Offset of field: netdev_queue_stats_tx::hw_drop_errors"] + [::core::mem::offset_of!(netdev_queue_stats_tx, hw_drop_errors) - 24usize]; + ["Offset of field: netdev_queue_stats_tx::csum_none"] + [::core::mem::offset_of!(netdev_queue_stats_tx, csum_none) - 32usize]; + ["Offset of field: netdev_queue_stats_tx::needs_csum"] + [::core::mem::offset_of!(netdev_queue_stats_tx, needs_csum) - 40usize]; + ["Offset of field: netdev_queue_stats_tx::hw_gso_packets"] + [::core::mem::offset_of!(netdev_queue_stats_tx, hw_gso_packets) - 48usize]; + ["Offset of field: netdev_queue_stats_tx::hw_gso_bytes"] + [::core::mem::offset_of!(netdev_queue_stats_tx, hw_gso_bytes) - 56usize]; + ["Offset of field: netdev_queue_stats_tx::hw_gso_wire_packets"] + [::core::mem::offset_of!(netdev_queue_stats_tx, hw_gso_wire_packets) - 64usize]; + ["Offset of field: netdev_queue_stats_tx::hw_gso_wire_bytes"] + [::core::mem::offset_of!(netdev_queue_stats_tx, hw_gso_wire_bytes) - 72usize]; + ["Offset of field: netdev_queue_stats_tx::hw_drop_ratelimits"] + [::core::mem::offset_of!(netdev_queue_stats_tx, hw_drop_ratelimits) - 80usize]; + ["Offset of field: netdev_queue_stats_tx::stop"] + [::core::mem::offset_of!(netdev_queue_stats_tx, stop) - 88usize]; + ["Offset of field: netdev_queue_stats_tx::wake"] + [::core::mem::offset_of!(netdev_queue_stats_tx, wake) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_mem_info { + pub type_: u32_, + pub id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_mem_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of xdp_mem_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xdp_mem_info::type_"][::core::mem::offset_of!(xdp_mem_info, type_) - 0usize]; + ["Offset of field: xdp_mem_info::id"][::core::mem::offset_of!(xdp_mem_info, id) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_rxq_info { + pub dev: *mut net_device, + pub queue_index: u32_, + pub reg_state: u32_, + pub mem: xdp_mem_info, + pub napi_id: ::core::ffi::c_uint, + pub frag_size: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_rxq_info"][::core::mem::size_of::() - 64usize]; + ["Alignment of xdp_rxq_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_rxq_info::dev"][::core::mem::offset_of!(xdp_rxq_info, dev) - 0usize]; + ["Offset of field: xdp_rxq_info::queue_index"] + [::core::mem::offset_of!(xdp_rxq_info, queue_index) - 8usize]; + ["Offset of field: xdp_rxq_info::reg_state"] + [::core::mem::offset_of!(xdp_rxq_info, reg_state) - 12usize]; + ["Offset of field: xdp_rxq_info::mem"][::core::mem::offset_of!(xdp_rxq_info, mem) - 16usize]; + ["Offset of field: xdp_rxq_info::napi_id"] + [::core::mem::offset_of!(xdp_rxq_info, napi_id) - 24usize]; + ["Offset of field: xdp_rxq_info::frag_size"] + [::core::mem::offset_of!(xdp_rxq_info, frag_size) - 28usize]; +}; +impl xdp_rxq_info { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pp_memory_provider_params { + pub mp_priv: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pp_memory_provider_params"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of pp_memory_provider_params"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: pp_memory_provider_params::mp_priv"] + [::core::mem::offset_of!(pp_memory_provider_params, mp_priv) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_rx_queue { + pub xdp_rxq: xdp_rxq_info, + pub rps_map: *mut rps_map, + pub rps_flow_table: *mut rps_dev_flow_table, + pub kobj: kobject, + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub pool: *mut xsk_buff_pool, + pub napi: *mut napi_struct, + pub mp_params: pp_memory_provider_params, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_rx_queue"][::core::mem::size_of::() - 192usize]; + ["Alignment of netdev_rx_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_rx_queue::xdp_rxq"] + [::core::mem::offset_of!(netdev_rx_queue, xdp_rxq) - 0usize]; + ["Offset of field: netdev_rx_queue::rps_map"] + [::core::mem::offset_of!(netdev_rx_queue, rps_map) - 64usize]; + ["Offset of field: netdev_rx_queue::rps_flow_table"] + [::core::mem::offset_of!(netdev_rx_queue, rps_flow_table) - 72usize]; + ["Offset of field: netdev_rx_queue::kobj"] + [::core::mem::offset_of!(netdev_rx_queue, kobj) - 80usize]; + ["Offset of field: netdev_rx_queue::dev"] + [::core::mem::offset_of!(netdev_rx_queue, dev) - 144usize]; + ["Offset of field: netdev_rx_queue::dev_tracker"] + [::core::mem::offset_of!(netdev_rx_queue, dev_tracker) - 152usize]; + ["Offset of field: netdev_rx_queue::pool"] + [::core::mem::offset_of!(netdev_rx_queue, pool) - 152usize]; + ["Offset of field: netdev_rx_queue::napi"] + [::core::mem::offset_of!(netdev_rx_queue, napi) - 160usize]; + ["Offset of field: netdev_rx_queue::mp_params"] + [::core::mem::offset_of!(netdev_rx_queue, mp_params) - 168usize]; +}; +impl netdev_rx_queue { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netdev_stat_ops { + pub get_queue_stats_rx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut netdev_queue_stats_rx, + ), + >, + pub get_queue_stats_tx: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut netdev_queue_stats_tx, + ), + >, + pub get_base_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut netdev_queue_stats_rx, + arg3: *mut netdev_queue_stats_tx, + ), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netdev_stat_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of netdev_stat_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netdev_stat_ops::get_queue_stats_rx"] + [::core::mem::offset_of!(netdev_stat_ops, get_queue_stats_rx) - 0usize]; + ["Offset of field: netdev_stat_ops::get_queue_stats_tx"] + [::core::mem::offset_of!(netdev_stat_ops, get_queue_stats_tx) - 8usize]; + ["Offset of field: netdev_stat_ops::get_base_stats"] + [::core::mem::offset_of!(netdev_stat_ops, get_base_stats) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netlink_callback { + pub skb: *mut sk_buff, + pub nlh: *const nlmsghdr, + pub dump: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut netlink_callback) -> ::core::ffi::c_int, + >, + pub done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut netlink_callback) -> ::core::ffi::c_int, + >, + pub data: *mut ::core::ffi::c_void, + pub module: *mut module, + pub extack: *mut netlink_ext_ack, + pub family: u16_, + pub answer_flags: u16_, + pub min_dump_alloc: u32_, + pub prev_seq: ::core::ffi::c_uint, + pub seq: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_int, + pub strict_check: bool_, + pub __bindgen_anon_1: netlink_callback__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union netlink_callback__bindgen_ty_1 { + pub ctx: [u8_; 48usize], + pub args: [::core::ffi::c_long; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netlink_callback__bindgen_ty_1"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of netlink_callback__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netlink_callback__bindgen_ty_1::ctx"] + [::core::mem::offset_of!(netlink_callback__bindgen_ty_1, ctx) - 0usize]; + ["Offset of field: netlink_callback__bindgen_ty_1::args"] + [::core::mem::offset_of!(netlink_callback__bindgen_ty_1, args) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netlink_callback"][::core::mem::size_of::() - 128usize]; + ["Alignment of netlink_callback"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netlink_callback::skb"] + [::core::mem::offset_of!(netlink_callback, skb) - 0usize]; + ["Offset of field: netlink_callback::nlh"] + [::core::mem::offset_of!(netlink_callback, nlh) - 8usize]; + ["Offset of field: netlink_callback::dump"] + [::core::mem::offset_of!(netlink_callback, dump) - 16usize]; + ["Offset of field: netlink_callback::done"] + [::core::mem::offset_of!(netlink_callback, done) - 24usize]; + ["Offset of field: netlink_callback::data"] + [::core::mem::offset_of!(netlink_callback, data) - 32usize]; + ["Offset of field: netlink_callback::module"] + [::core::mem::offset_of!(netlink_callback, module) - 40usize]; + ["Offset of field: netlink_callback::extack"] + [::core::mem::offset_of!(netlink_callback, extack) - 48usize]; + ["Offset of field: netlink_callback::family"] + [::core::mem::offset_of!(netlink_callback, family) - 56usize]; + ["Offset of field: netlink_callback::answer_flags"] + [::core::mem::offset_of!(netlink_callback, answer_flags) - 58usize]; + ["Offset of field: netlink_callback::min_dump_alloc"] + [::core::mem::offset_of!(netlink_callback, min_dump_alloc) - 60usize]; + ["Offset of field: netlink_callback::prev_seq"] + [::core::mem::offset_of!(netlink_callback, prev_seq) - 64usize]; + ["Offset of field: netlink_callback::seq"] + [::core::mem::offset_of!(netlink_callback, seq) - 68usize]; + ["Offset of field: netlink_callback::flags"] + [::core::mem::offset_of!(netlink_callback, flags) - 72usize]; + ["Offset of field: netlink_callback::strict_check"] + [::core::mem::offset_of!(netlink_callback, strict_check) - 76usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netlink_ext_ack { + pub _msg: *const ::core::ffi::c_char, + pub bad_attr: *const nlattr, + pub policy: *const nla_policy, + pub miss_nest: *const nlattr, + pub miss_type: u16_, + pub cookie: [u8_; 20usize], + pub cookie_len: u8_, + pub _msg_buf: [::core::ffi::c_char; 80usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netlink_ext_ack"][::core::mem::size_of::() - 136usize]; + ["Alignment of netlink_ext_ack"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netlink_ext_ack::_msg"] + [::core::mem::offset_of!(netlink_ext_ack, _msg) - 0usize]; + ["Offset of field: netlink_ext_ack::bad_attr"] + [::core::mem::offset_of!(netlink_ext_ack, bad_attr) - 8usize]; + ["Offset of field: netlink_ext_ack::policy"] + [::core::mem::offset_of!(netlink_ext_ack, policy) - 16usize]; + ["Offset of field: netlink_ext_ack::miss_nest"] + [::core::mem::offset_of!(netlink_ext_ack, miss_nest) - 24usize]; + ["Offset of field: netlink_ext_ack::miss_type"] + [::core::mem::offset_of!(netlink_ext_ack, miss_type) - 32usize]; + ["Offset of field: netlink_ext_ack::cookie"] + [::core::mem::offset_of!(netlink_ext_ack, cookie) - 34usize]; + ["Offset of field: netlink_ext_ack::cookie_len"] + [::core::mem::offset_of!(netlink_ext_ack, cookie_len) - 54usize]; + ["Offset of field: netlink_ext_ack::_msg_buf"] + [::core::mem::offset_of!(netlink_ext_ack, _msg_buf) - 55usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netlink_range_validation { + pub min: u64_, + pub max: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netlink_range_validation"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of netlink_range_validation"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netlink_range_validation::min"] + [::core::mem::offset_of!(netlink_range_validation, min) - 0usize]; + ["Offset of field: netlink_range_validation::max"] + [::core::mem::offset_of!(netlink_range_validation, max) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netlink_range_validation_signed { + pub min: s64, + pub max: s64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netlink_range_validation_signed"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of netlink_range_validation_signed"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: netlink_range_validation_signed::min"] + [::core::mem::offset_of!(netlink_range_validation_signed, min) - 0usize]; + ["Offset of field: netlink_range_validation_signed::max"] + [::core::mem::offset_of!(netlink_range_validation_signed, max) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netpoll { + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub dev_name: [::core::ffi::c_char; 16usize], + pub name: *const ::core::ffi::c_char, + pub local_ip: inet_addr, + pub remote_ip: inet_addr, + pub ipv6: bool_, + pub local_port: u16_, + pub remote_port: u16_, + pub remote_mac: [u8_; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netpoll"][::core::mem::size_of::() - 80usize]; + ["Alignment of netpoll"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netpoll::dev"][::core::mem::offset_of!(netpoll, dev) - 0usize]; + ["Offset of field: netpoll::dev_tracker"] + [::core::mem::offset_of!(netpoll, dev_tracker) - 8usize]; + ["Offset of field: netpoll::dev_name"][::core::mem::offset_of!(netpoll, dev_name) - 8usize]; + ["Offset of field: netpoll::name"][::core::mem::offset_of!(netpoll, name) - 24usize]; + ["Offset of field: netpoll::local_ip"][::core::mem::offset_of!(netpoll, local_ip) - 32usize]; + ["Offset of field: netpoll::remote_ip"][::core::mem::offset_of!(netpoll, remote_ip) - 48usize]; + ["Offset of field: netpoll::ipv6"][::core::mem::offset_of!(netpoll, ipv6) - 64usize]; + ["Offset of field: netpoll::local_port"] + [::core::mem::offset_of!(netpoll, local_port) - 66usize]; + ["Offset of field: netpoll::remote_port"] + [::core::mem::offset_of!(netpoll, remote_port) - 68usize]; + ["Offset of field: netpoll::remote_mac"] + [::core::mem::offset_of!(netpoll, remote_mac) - 70usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct netpoll_info { + pub refcnt: refcount_t, + pub dev_lock: semaphore, + pub txq: sk_buff_head, + pub tx_work: delayed_work, + pub netpoll: *mut netpoll, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netpoll_info"][::core::mem::size_of::() - 168usize]; + ["Alignment of netpoll_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netpoll_info::refcnt"] + [::core::mem::offset_of!(netpoll_info, refcnt) - 0usize]; + ["Offset of field: netpoll_info::dev_lock"] + [::core::mem::offset_of!(netpoll_info, dev_lock) - 8usize]; + ["Offset of field: netpoll_info::txq"][::core::mem::offset_of!(netpoll_info, txq) - 32usize]; + ["Offset of field: netpoll_info::tx_work"] + [::core::mem::offset_of!(netpoll_info, tx_work) - 56usize]; + ["Offset of field: netpoll_info::netpoll"] + [::core::mem::offset_of!(netpoll_info, netpoll) - 144usize]; + ["Offset of field: netpoll_info::rcu"][::core::mem::offset_of!(netpoll_info, rcu) - 152usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct netprio_map { + pub rcu: callback_head, + pub priomap_len: u32_, + pub priomap: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of netprio_map"][::core::mem::size_of::() - 24usize]; + ["Alignment of netprio_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: netprio_map::rcu"][::core::mem::offset_of!(netprio_map, rcu) - 0usize]; + ["Offset of field: netprio_map::priomap_len"] + [::core::mem::offset_of!(netprio_map, priomap_len) - 16usize]; + ["Offset of field: netprio_map::priomap"] + [::core::mem::offset_of!(netprio_map, priomap) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct new_utsname { + pub sysname: [::core::ffi::c_char; 65usize], + pub nodename: [::core::ffi::c_char; 65usize], + pub release: [::core::ffi::c_char; 65usize], + pub version: [::core::ffi::c_char; 65usize], + pub machine: [::core::ffi::c_char; 65usize], + pub domainname: [::core::ffi::c_char; 65usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of new_utsname"][::core::mem::size_of::() - 390usize]; + ["Alignment of new_utsname"][::core::mem::align_of::() - 1usize]; + ["Offset of field: new_utsname::sysname"] + [::core::mem::offset_of!(new_utsname, sysname) - 0usize]; + ["Offset of field: new_utsname::nodename"] + [::core::mem::offset_of!(new_utsname, nodename) - 65usize]; + ["Offset of field: new_utsname::release"] + [::core::mem::offset_of!(new_utsname, release) - 130usize]; + ["Offset of field: new_utsname::version"] + [::core::mem::offset_of!(new_utsname, version) - 195usize]; + ["Offset of field: new_utsname::machine"] + [::core::mem::offset_of!(new_utsname, machine) - 260usize]; + ["Offset of field: new_utsname::domainname"] + [::core::mem::offset_of!(new_utsname, domainname) - 325usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nexthop { + pub rb_node: rb_node, + pub fi_list: list_head, + pub f6i_list: list_head, + pub fdb_list: list_head, + pub grp_list: list_head, + pub net: *mut net, + pub id: u32_, + pub protocol: u8_, + pub nh_flags: u8_, + pub is_group: bool_, + pub refcnt: refcount_t, + pub rcu: callback_head, + pub __bindgen_anon_1: nexthop__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nexthop__bindgen_ty_1 { + pub nh_info: *mut nh_info, + pub nh_grp: *mut nh_group, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nexthop__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of nexthop__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nexthop__bindgen_ty_1::nh_info"] + [::core::mem::offset_of!(nexthop__bindgen_ty_1, nh_info) - 0usize]; + ["Offset of field: nexthop__bindgen_ty_1::nh_grp"] + [::core::mem::offset_of!(nexthop__bindgen_ty_1, nh_grp) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nexthop"][::core::mem::size_of::() - 136usize]; + ["Alignment of nexthop"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nexthop::rb_node"][::core::mem::offset_of!(nexthop, rb_node) - 0usize]; + ["Offset of field: nexthop::fi_list"][::core::mem::offset_of!(nexthop, fi_list) - 24usize]; + ["Offset of field: nexthop::f6i_list"][::core::mem::offset_of!(nexthop, f6i_list) - 40usize]; + ["Offset of field: nexthop::fdb_list"][::core::mem::offset_of!(nexthop, fdb_list) - 56usize]; + ["Offset of field: nexthop::grp_list"][::core::mem::offset_of!(nexthop, grp_list) - 72usize]; + ["Offset of field: nexthop::net"][::core::mem::offset_of!(nexthop, net) - 88usize]; + ["Offset of field: nexthop::id"][::core::mem::offset_of!(nexthop, id) - 96usize]; + ["Offset of field: nexthop::protocol"][::core::mem::offset_of!(nexthop, protocol) - 100usize]; + ["Offset of field: nexthop::nh_flags"][::core::mem::offset_of!(nexthop, nh_flags) - 101usize]; + ["Offset of field: nexthop::is_group"][::core::mem::offset_of!(nexthop, is_group) - 102usize]; + ["Offset of field: nexthop::refcnt"][::core::mem::offset_of!(nexthop, refcnt) - 104usize]; + ["Offset of field: nexthop::rcu"][::core::mem::offset_of!(nexthop, rcu) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack { + pub use_: refcount_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack"][::core::mem::size_of::() - 4usize]; + ["Alignment of nf_conntrack"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_conntrack::use_"][::core::mem::offset_of!(nf_conntrack, use_) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_zone { + pub id: u16_, + pub flags: u8_, + pub dir: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_zone"][::core::mem::size_of::() - 4usize]; + ["Alignment of nf_conntrack_zone"][::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_zone::id"] + [::core::mem::offset_of!(nf_conntrack_zone, id) - 0usize]; + ["Offset of field: nf_conntrack_zone::flags"] + [::core::mem::offset_of!(nf_conntrack_zone, flags) - 2usize]; + ["Offset of field: nf_conntrack_zone::dir"] + [::core::mem::offset_of!(nf_conntrack_zone, dir) - 3usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union nf_inet_addr { + pub all: [__u32; 4usize], + pub ip: __be32, + pub ip6: [__be32; 4usize], + pub in_: in_addr, + pub in6: in6_addr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_inet_addr"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_inet_addr"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_inet_addr::all"][::core::mem::offset_of!(nf_inet_addr, all) - 0usize]; + ["Offset of field: nf_inet_addr::ip"][::core::mem::offset_of!(nf_inet_addr, ip) - 0usize]; + ["Offset of field: nf_inet_addr::ip6"][::core::mem::offset_of!(nf_inet_addr, ip6) - 0usize]; + ["Offset of field: nf_inet_addr::in_"][::core::mem::offset_of!(nf_inet_addr, in_) - 0usize]; + ["Offset of field: nf_inet_addr::in6"][::core::mem::offset_of!(nf_inet_addr, in6) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union nf_conntrack_man_proto { + pub all: __be16, + pub tcp: nf_conntrack_man_proto__bindgen_ty_1, + pub udp: nf_conntrack_man_proto__bindgen_ty_2, + pub icmp: nf_conntrack_man_proto__bindgen_ty_3, + pub dccp: nf_conntrack_man_proto__bindgen_ty_4, + pub sctp: nf_conntrack_man_proto__bindgen_ty_5, + pub gre: nf_conntrack_man_proto__bindgen_ty_6, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_man_proto__bindgen_ty_1 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man_proto__bindgen_ty_1"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_man_proto__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_man_proto__bindgen_ty_1::port"] + [::core::mem::offset_of!(nf_conntrack_man_proto__bindgen_ty_1, port) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_man_proto__bindgen_ty_2 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man_proto__bindgen_ty_2"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_man_proto__bindgen_ty_2"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_man_proto__bindgen_ty_2::port"] + [::core::mem::offset_of!(nf_conntrack_man_proto__bindgen_ty_2, port) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_man_proto__bindgen_ty_3 { + pub id: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man_proto__bindgen_ty_3"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_man_proto__bindgen_ty_3"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_man_proto__bindgen_ty_3::id"] + [::core::mem::offset_of!(nf_conntrack_man_proto__bindgen_ty_3, id) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_man_proto__bindgen_ty_4 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man_proto__bindgen_ty_4"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_man_proto__bindgen_ty_4"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_man_proto__bindgen_ty_4::port"] + [::core::mem::offset_of!(nf_conntrack_man_proto__bindgen_ty_4, port) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_man_proto__bindgen_ty_5 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man_proto__bindgen_ty_5"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_man_proto__bindgen_ty_5"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_man_proto__bindgen_ty_5::port"] + [::core::mem::offset_of!(nf_conntrack_man_proto__bindgen_ty_5, port) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_man_proto__bindgen_ty_6 { + pub key: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man_proto__bindgen_ty_6"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_man_proto__bindgen_ty_6"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_man_proto__bindgen_ty_6::key"] + [::core::mem::offset_of!(nf_conntrack_man_proto__bindgen_ty_6, key) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man_proto"][::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_man_proto"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_man_proto::all"] + [::core::mem::offset_of!(nf_conntrack_man_proto, all) - 0usize]; + ["Offset of field: nf_conntrack_man_proto::tcp"] + [::core::mem::offset_of!(nf_conntrack_man_proto, tcp) - 0usize]; + ["Offset of field: nf_conntrack_man_proto::udp"] + [::core::mem::offset_of!(nf_conntrack_man_proto, udp) - 0usize]; + ["Offset of field: nf_conntrack_man_proto::icmp"] + [::core::mem::offset_of!(nf_conntrack_man_proto, icmp) - 0usize]; + ["Offset of field: nf_conntrack_man_proto::dccp"] + [::core::mem::offset_of!(nf_conntrack_man_proto, dccp) - 0usize]; + ["Offset of field: nf_conntrack_man_proto::sctp"] + [::core::mem::offset_of!(nf_conntrack_man_proto, sctp) - 0usize]; + ["Offset of field: nf_conntrack_man_proto::gre"] + [::core::mem::offset_of!(nf_conntrack_man_proto, gre) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conntrack_man { + pub u3: nf_inet_addr, + pub u: nf_conntrack_man_proto, + pub l3num: u_int16_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_man"][::core::mem::size_of::() - 20usize]; + ["Alignment of nf_conntrack_man"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_conntrack_man::u3"] + [::core::mem::offset_of!(nf_conntrack_man, u3) - 0usize]; + ["Offset of field: nf_conntrack_man::u"] + [::core::mem::offset_of!(nf_conntrack_man, u) - 16usize]; + ["Offset of field: nf_conntrack_man::l3num"] + [::core::mem::offset_of!(nf_conntrack_man, l3num) - 18usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conntrack_tuple { + pub src: nf_conntrack_man, + pub dst: nf_conntrack_tuple__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1 { + pub u3: nf_inet_addr, + pub u: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, + pub protonum: u_int8_t, + pub __nfct_hash_offsetend: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_2, + pub dir: u_int8_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1 { + pub all: __be16, + pub tcp: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub udp: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + pub icmp: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3, + pub dccp: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4, + pub sctp: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5, + pub gre: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >() - 2usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() + - 2usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::port"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + port + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"][::core::mem::size_of::< + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + >() - 2usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() + - 2usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2::port"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + port + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3 { + pub type_: u_int8_t, + pub code: u_int8_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3"][::core::mem::size_of::< + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3, + >() - 2usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() + - 1usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3::type_"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3, + type_ + ) + - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3::code"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3, + code + ) + - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4"][::core::mem::size_of::< + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4, + >() - 2usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4"] + [::core::mem::align_of::() + - 2usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4::port"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4, + port + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5 { + pub port: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5"][::core::mem::size_of::< + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5, + >() - 2usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5"] + [::core::mem::align_of::() + - 2usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5::port"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5, + port + ) + - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6 { + pub key: __be16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6"][::core::mem::size_of::< + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6, + >() - 2usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6"] + [::core::mem::align_of::() + - 2usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6::key"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6, + key + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1::all"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, all) - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1::tcp"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, tcp) - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1::udp"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, udp) - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1::icmp"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, icmp) - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1::dccp"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, dccp) - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1::sctp"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, sctp) - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1::gre"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_1, gre) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_2 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 0usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple__bindgen_ty_1"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of nf_conntrack_tuple__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1::u3"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1, u3) - 0usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1::u"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1, u) - 16usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1::protonum"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1, protonum) - 18usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1::__nfct_hash_offsetend"][::core::mem::offset_of!( + nf_conntrack_tuple__bindgen_ty_1, + __nfct_hash_offsetend + ) - 19usize]; + ["Offset of field: nf_conntrack_tuple__bindgen_ty_1::dir"] + [::core::mem::offset_of!(nf_conntrack_tuple__bindgen_ty_1, dir) - 19usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple"][::core::mem::size_of::() - 40usize]; + ["Alignment of nf_conntrack_tuple"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_conntrack_tuple::src"] + [::core::mem::offset_of!(nf_conntrack_tuple, src) - 0usize]; + ["Offset of field: nf_conntrack_tuple::dst"] + [::core::mem::offset_of!(nf_conntrack_tuple, dst) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conntrack_tuple_hash { + pub hnnode: hlist_nulls_node, + pub tuple: nf_conntrack_tuple, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple_hash"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of nf_conntrack_tuple_hash"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_conntrack_tuple_hash::hnnode"] + [::core::mem::offset_of!(nf_conntrack_tuple_hash, hnnode) - 0usize]; + ["Offset of field: nf_conntrack_tuple_hash::tuple"] + [::core::mem::offset_of!(nf_conntrack_tuple_hash, tuple) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_ct_dccp { + pub role: [u_int8_t; 2usize], + pub state: u_int8_t, + pub last_pkt: u_int8_t, + pub last_dir: u_int8_t, + pub handshake_seq: u_int64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_ct_dccp"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_ct_dccp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_ct_dccp::role"][::core::mem::offset_of!(nf_ct_dccp, role) - 0usize]; + ["Offset of field: nf_ct_dccp::state"][::core::mem::offset_of!(nf_ct_dccp, state) - 2usize]; + ["Offset of field: nf_ct_dccp::last_pkt"] + [::core::mem::offset_of!(nf_ct_dccp, last_pkt) - 3usize]; + ["Offset of field: nf_ct_dccp::last_dir"] + [::core::mem::offset_of!(nf_ct_dccp, last_dir) - 4usize]; + ["Offset of field: nf_ct_dccp::handshake_seq"] + [::core::mem::offset_of!(nf_ct_dccp, handshake_seq) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_ct_udp { + pub stream_ts: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_ct_udp"][::core::mem::size_of::() - 8usize]; + ["Alignment of nf_ct_udp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_ct_udp::stream_ts"] + [::core::mem::offset_of!(nf_ct_udp, stream_ts) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_ct_gre { + pub stream_timeout: ::core::ffi::c_uint, + pub timeout: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_ct_gre"][::core::mem::size_of::() - 8usize]; + ["Alignment of nf_ct_gre"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_ct_gre::stream_timeout"] + [::core::mem::offset_of!(nf_ct_gre, stream_timeout) - 0usize]; + ["Offset of field: nf_ct_gre::timeout"][::core::mem::offset_of!(nf_ct_gre, timeout) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union nf_conntrack_proto { + pub dccp: nf_ct_dccp, + pub sctp: ip_ct_sctp, + pub tcp: ip_ct_tcp, + pub udp: nf_ct_udp, + pub gre: nf_ct_gre, + pub tmpl_padto: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_proto"][::core::mem::size_of::() - 64usize]; + ["Alignment of nf_conntrack_proto"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_conntrack_proto::dccp"] + [::core::mem::offset_of!(nf_conntrack_proto, dccp) - 0usize]; + ["Offset of field: nf_conntrack_proto::sctp"] + [::core::mem::offset_of!(nf_conntrack_proto, sctp) - 0usize]; + ["Offset of field: nf_conntrack_proto::tcp"] + [::core::mem::offset_of!(nf_conntrack_proto, tcp) - 0usize]; + ["Offset of field: nf_conntrack_proto::udp"] + [::core::mem::offset_of!(nf_conntrack_proto, udp) - 0usize]; + ["Offset of field: nf_conntrack_proto::gre"] + [::core::mem::offset_of!(nf_conntrack_proto, gre) - 0usize]; + ["Offset of field: nf_conntrack_proto::tmpl_padto"] + [::core::mem::offset_of!(nf_conntrack_proto, tmpl_padto) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conn { + pub ct_general: nf_conntrack, + pub lock: spinlock_t, + pub timeout: u32_, + pub zone: nf_conntrack_zone, + pub tuplehash: [nf_conntrack_tuple_hash; 2usize], + pub status: ::core::ffi::c_ulong, + pub ct_net: possible_net_t, + pub nat_bysource: hlist_node, + pub __nfct_init_offset: nf_conn__bindgen_ty_1, + pub master: *mut nf_conn, + pub mark: u_int32_t, + pub secmark: u_int32_t, + pub ext: *mut nf_ct_ext, + pub proto: nf_conntrack_proto, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conn__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conn__bindgen_ty_1"][::core::mem::size_of::() - 0usize]; + ["Alignment of nf_conn__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conn"][::core::mem::size_of::() - 248usize]; + ["Alignment of nf_conn"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_conn::ct_general"][::core::mem::offset_of!(nf_conn, ct_general) - 0usize]; + ["Offset of field: nf_conn::lock"][::core::mem::offset_of!(nf_conn, lock) - 4usize]; + ["Offset of field: nf_conn::timeout"][::core::mem::offset_of!(nf_conn, timeout) - 8usize]; + ["Offset of field: nf_conn::zone"][::core::mem::offset_of!(nf_conn, zone) - 12usize]; + ["Offset of field: nf_conn::tuplehash"][::core::mem::offset_of!(nf_conn, tuplehash) - 16usize]; + ["Offset of field: nf_conn::status"][::core::mem::offset_of!(nf_conn, status) - 128usize]; + ["Offset of field: nf_conn::ct_net"][::core::mem::offset_of!(nf_conn, ct_net) - 136usize]; + ["Offset of field: nf_conn::nat_bysource"] + [::core::mem::offset_of!(nf_conn, nat_bysource) - 144usize]; + ["Offset of field: nf_conn::__nfct_init_offset"] + [::core::mem::offset_of!(nf_conn, __nfct_init_offset) - 160usize]; + ["Offset of field: nf_conn::master"][::core::mem::offset_of!(nf_conn, master) - 160usize]; + ["Offset of field: nf_conn::mark"][::core::mem::offset_of!(nf_conn, mark) - 168usize]; + ["Offset of field: nf_conn::secmark"][::core::mem::offset_of!(nf_conn, secmark) - 172usize]; + ["Offset of field: nf_conn::ext"][::core::mem::offset_of!(nf_conn, ext) - 176usize]; + ["Offset of field: nf_conn::proto"][::core::mem::offset_of!(nf_conn, proto) - 184usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conntrack_tuple_mask { + pub src: nf_conntrack_tuple_mask__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conntrack_tuple_mask__bindgen_ty_1 { + pub u3: nf_inet_addr, + pub u: nf_conntrack_man_proto, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple_mask__bindgen_ty_1"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of nf_conntrack_tuple_mask__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_conntrack_tuple_mask__bindgen_ty_1::u3"] + [::core::mem::offset_of!(nf_conntrack_tuple_mask__bindgen_ty_1, u3) - 0usize]; + ["Offset of field: nf_conntrack_tuple_mask__bindgen_ty_1::u"] + [::core::mem::offset_of!(nf_conntrack_tuple_mask__bindgen_ty_1, u) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_tuple_mask"] + [::core::mem::size_of::() - 20usize]; + ["Alignment of nf_conntrack_tuple_mask"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_conntrack_tuple_mask::src"] + [::core::mem::offset_of!(nf_conntrack_tuple_mask, src) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_conntrack_helper { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_conntrack_expect { + pub lnode: hlist_node, + pub hnode: hlist_node, + pub tuple: nf_conntrack_tuple, + pub mask: nf_conntrack_tuple_mask, + pub use_: refcount_t, + pub flags: ::core::ffi::c_uint, + pub class: ::core::ffi::c_uint, + pub expectfn: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nf_conn, arg2: *mut nf_conntrack_expect), + >, + pub helper: *mut nf_conntrack_helper, + pub master: *mut nf_conn, + pub timeout: timer_list, + pub saved_addr: nf_inet_addr, + pub saved_proto: nf_conntrack_man_proto, + pub dir: ip_conntrack_dir, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_conntrack_expect"][::core::mem::size_of::() - 208usize]; + ["Alignment of nf_conntrack_expect"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_conntrack_expect::lnode"] + [::core::mem::offset_of!(nf_conntrack_expect, lnode) - 0usize]; + ["Offset of field: nf_conntrack_expect::hnode"] + [::core::mem::offset_of!(nf_conntrack_expect, hnode) - 16usize]; + ["Offset of field: nf_conntrack_expect::tuple"] + [::core::mem::offset_of!(nf_conntrack_expect, tuple) - 32usize]; + ["Offset of field: nf_conntrack_expect::mask"] + [::core::mem::offset_of!(nf_conntrack_expect, mask) - 72usize]; + ["Offset of field: nf_conntrack_expect::use_"] + [::core::mem::offset_of!(nf_conntrack_expect, use_) - 92usize]; + ["Offset of field: nf_conntrack_expect::flags"] + [::core::mem::offset_of!(nf_conntrack_expect, flags) - 96usize]; + ["Offset of field: nf_conntrack_expect::class"] + [::core::mem::offset_of!(nf_conntrack_expect, class) - 100usize]; + ["Offset of field: nf_conntrack_expect::expectfn"] + [::core::mem::offset_of!(nf_conntrack_expect, expectfn) - 104usize]; + ["Offset of field: nf_conntrack_expect::helper"] + [::core::mem::offset_of!(nf_conntrack_expect, helper) - 112usize]; + ["Offset of field: nf_conntrack_expect::master"] + [::core::mem::offset_of!(nf_conntrack_expect, master) - 120usize]; + ["Offset of field: nf_conntrack_expect::timeout"] + [::core::mem::offset_of!(nf_conntrack_expect, timeout) - 128usize]; + ["Offset of field: nf_conntrack_expect::saved_addr"] + [::core::mem::offset_of!(nf_conntrack_expect, saved_addr) - 168usize]; + ["Offset of field: nf_conntrack_expect::saved_proto"] + [::core::mem::offset_of!(nf_conntrack_expect, saved_proto) - 184usize]; + ["Offset of field: nf_conntrack_expect::dir"] + [::core::mem::offset_of!(nf_conntrack_expect, dir) - 188usize]; + ["Offset of field: nf_conntrack_expect::rcu"] + [::core::mem::offset_of!(nf_conntrack_expect, rcu) - 192usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_ct_event { + pub ct: *mut nf_conn, + pub portid: u32_, + pub report: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_ct_event"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_ct_event"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_ct_event::ct"][::core::mem::offset_of!(nf_ct_event, ct) - 0usize]; + ["Offset of field: nf_ct_event::portid"][::core::mem::offset_of!(nf_ct_event, portid) - 8usize]; + ["Offset of field: nf_ct_event::report"] + [::core::mem::offset_of!(nf_ct_event, report) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_ct_event_notifier { + pub ct_event: ::core::option::Option< + unsafe extern "C" fn( + arg1: ::core::ffi::c_uint, + arg2: *const nf_ct_event, + ) -> ::core::ffi::c_int, + >, + pub exp_event: ::core::option::Option< + unsafe extern "C" fn( + arg1: ::core::ffi::c_uint, + arg2: *const nf_exp_event, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_ct_event_notifier"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_ct_event_notifier"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_ct_event_notifier::ct_event"] + [::core::mem::offset_of!(nf_ct_event_notifier, ct_event) - 0usize]; + ["Offset of field: nf_ct_event_notifier::exp_event"] + [::core::mem::offset_of!(nf_ct_event_notifier, exp_event) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct nf_ct_ext { + pub offset: [u8_; 10usize], + pub len: u8_, + pub gen_id: ::core::ffi::c_uint, + pub data: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_ct_ext"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_ct_ext"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_ct_ext::offset"][::core::mem::offset_of!(nf_ct_ext, offset) - 0usize]; + ["Offset of field: nf_ct_ext::len"][::core::mem::offset_of!(nf_ct_ext, len) - 10usize]; + ["Offset of field: nf_ct_ext::gen_id"][::core::mem::offset_of!(nf_ct_ext, gen_id) - 12usize]; + ["Offset of field: nf_ct_ext::data"][::core::mem::offset_of!(nf_ct_ext, data) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_exp_event { + pub exp: *mut nf_conntrack_expect, + pub portid: u32_, + pub report: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_exp_event"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_exp_event"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_exp_event::exp"][::core::mem::offset_of!(nf_exp_event, exp) - 0usize]; + ["Offset of field: nf_exp_event::portid"] + [::core::mem::offset_of!(nf_exp_event, portid) - 8usize]; + ["Offset of field: nf_exp_event::report"] + [::core::mem::offset_of!(nf_exp_event, report) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_flow_table_stat { + pub count_wq_add: ::core::ffi::c_uint, + pub count_wq_del: ::core::ffi::c_uint, + pub count_wq_stats: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_flow_table_stat"][::core::mem::size_of::() - 12usize]; + ["Alignment of nf_flow_table_stat"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_flow_table_stat::count_wq_add"] + [::core::mem::offset_of!(nf_flow_table_stat, count_wq_add) - 0usize]; + ["Offset of field: nf_flow_table_stat::count_wq_del"] + [::core::mem::offset_of!(nf_flow_table_stat, count_wq_del) - 4usize]; + ["Offset of field: nf_flow_table_stat::count_wq_stats"] + [::core::mem::offset_of!(nf_flow_table_stat, count_wq_stats) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_hook_entry { + pub hook: nf_hookfn, + pub priv_: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_hook_entry"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_hook_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_hook_entry::hook"][::core::mem::offset_of!(nf_hook_entry, hook) - 0usize]; + ["Offset of field: nf_hook_entry::priv_"] + [::core::mem::offset_of!(nf_hook_entry, priv_) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct nf_hook_entries { + pub num_hook_entries: u16_, + pub hooks: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_hook_entries"][::core::mem::size_of::() - 8usize]; + ["Alignment of nf_hook_entries"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_hook_entries::num_hook_entries"] + [::core::mem::offset_of!(nf_hook_entries, num_hook_entries) - 0usize]; + ["Offset of field: nf_hook_entries::hooks"] + [::core::mem::offset_of!(nf_hook_entries, hooks) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_hook_state { + pub hook: u8_, + pub pf: u8_, + pub in_: *mut net_device, + pub out: *mut net_device, + pub sk: *mut sock, + pub net: *mut net, + pub okfn: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut sock, + arg3: *mut sk_buff, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_hook_state"][::core::mem::size_of::() - 48usize]; + ["Alignment of nf_hook_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_hook_state::hook"][::core::mem::offset_of!(nf_hook_state, hook) - 0usize]; + ["Offset of field: nf_hook_state::pf"][::core::mem::offset_of!(nf_hook_state, pf) - 1usize]; + ["Offset of field: nf_hook_state::in_"][::core::mem::offset_of!(nf_hook_state, in_) - 8usize]; + ["Offset of field: nf_hook_state::out"][::core::mem::offset_of!(nf_hook_state, out) - 16usize]; + ["Offset of field: nf_hook_state::sk"][::core::mem::offset_of!(nf_hook_state, sk) - 24usize]; + ["Offset of field: nf_hook_state::net"][::core::mem::offset_of!(nf_hook_state, net) - 32usize]; + ["Offset of field: nf_hook_state::okfn"] + [::core::mem::offset_of!(nf_hook_state, okfn) - 40usize]; +}; +pub type nf_logfn = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: u_int8_t, + arg3: ::core::ffi::c_uint, + arg4: *const sk_buff, + arg5: *const net_device, + arg6: *const net_device, + arg7: *const nf_loginfo, + arg8: *const ::core::ffi::c_char, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_logger { + pub name: *mut ::core::ffi::c_char, + pub type_: nf_log_type, + pub logfn: nf_logfn, + pub me: *mut module, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_logger"][::core::mem::size_of::() - 32usize]; + ["Alignment of nf_logger"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nf_logger::name"][::core::mem::offset_of!(nf_logger, name) - 0usize]; + ["Offset of field: nf_logger::type_"][::core::mem::offset_of!(nf_logger, type_) - 8usize]; + ["Offset of field: nf_logger::logfn"][::core::mem::offset_of!(nf_logger, logfn) - 16usize]; + ["Offset of field: nf_logger::me"][::core::mem::offset_of!(nf_logger, me) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nf_loginfo { + pub type_: u_int8_t, + pub u: nf_loginfo__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nf_loginfo__bindgen_ty_1 { + pub ulog: nf_loginfo__bindgen_ty_1__bindgen_ty_1, + pub log: nf_loginfo__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_loginfo__bindgen_ty_1__bindgen_ty_1 { + pub copy_len: u_int32_t, + pub group: u_int16_t, + pub qthreshold: u_int16_t, + pub flags: u_int16_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_loginfo__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of nf_loginfo__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1__bindgen_ty_1::copy_len"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1__bindgen_ty_1, copy_len) - 0usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1__bindgen_ty_1::group"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1__bindgen_ty_1, group) - 4usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1__bindgen_ty_1::qthreshold"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1__bindgen_ty_1, qthreshold) - 6usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1__bindgen_ty_1::flags"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1__bindgen_ty_1, flags) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nf_loginfo__bindgen_ty_1__bindgen_ty_2 { + pub level: u_int8_t, + pub logflags: u_int8_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_loginfo__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of nf_loginfo__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1__bindgen_ty_2::level"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1__bindgen_ty_2, level) - 0usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1__bindgen_ty_2::logflags"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1__bindgen_ty_2, logflags) - 1usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_loginfo__bindgen_ty_1"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of nf_loginfo__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1::ulog"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1, ulog) - 0usize]; + ["Offset of field: nf_loginfo__bindgen_ty_1::log"] + [::core::mem::offset_of!(nf_loginfo__bindgen_ty_1, log) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nf_loginfo"][::core::mem::size_of::() - 16usize]; + ["Alignment of nf_loginfo"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nf_loginfo::type_"][::core::mem::offset_of!(nf_loginfo, type_) - 0usize]; + ["Offset of field: nf_loginfo::u"][::core::mem::offset_of!(nf_loginfo, u) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfstime4 { + pub seconds: u64_, + pub nseconds: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfstime4"][::core::mem::size_of::() - 16usize]; + ["Alignment of nfstime4"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfstime4::seconds"][::core::mem::offset_of!(nfstime4, seconds) - 0usize]; + ["Offset of field: nfstime4::nseconds"][::core::mem::offset_of!(nfstime4, nseconds) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs41_impl_id { + pub domain: [::core::ffi::c_char; 1025usize], + pub name: [::core::ffi::c_char; 1025usize], + pub date: nfstime4, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs41_impl_id"][::core::mem::size_of::() - 2072usize]; + ["Alignment of nfs41_impl_id"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs41_impl_id::domain"] + [::core::mem::offset_of!(nfs41_impl_id, domain) - 0usize]; + ["Offset of field: nfs41_impl_id::name"] + [::core::mem::offset_of!(nfs41_impl_id, name) - 1025usize]; + ["Offset of field: nfs41_impl_id::date"] + [::core::mem::offset_of!(nfs41_impl_id, date) - 2056usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs41_server_owner { + pub minor_id: u64, + pub major_id_sz: u32, + pub major_id: [::core::ffi::c_char; 1024usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs41_server_owner"][::core::mem::size_of::() - 1040usize]; + ["Alignment of nfs41_server_owner"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs41_server_owner::minor_id"] + [::core::mem::offset_of!(nfs41_server_owner, minor_id) - 0usize]; + ["Offset of field: nfs41_server_owner::major_id_sz"] + [::core::mem::offset_of!(nfs41_server_owner, major_id_sz) - 8usize]; + ["Offset of field: nfs41_server_owner::major_id"] + [::core::mem::offset_of!(nfs41_server_owner, major_id) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs41_server_scope { + pub server_scope_sz: u32, + pub server_scope: [::core::ffi::c_char; 1024usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs41_server_scope"][::core::mem::size_of::() - 1028usize]; + ["Alignment of nfs41_server_scope"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nfs41_server_scope::server_scope_sz"] + [::core::mem::offset_of!(nfs41_server_scope, server_scope_sz) - 0usize]; + ["Offset of field: nfs41_server_scope::server_scope"] + [::core::mem::offset_of!(nfs41_server_scope, server_scope) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_change_info { + pub atomic: u32_, + pub before: u64_, + pub after: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_change_info"][::core::mem::size_of::() - 24usize]; + ["Alignment of nfs4_change_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_change_info::atomic"] + [::core::mem::offset_of!(nfs4_change_info, atomic) - 0usize]; + ["Offset of field: nfs4_change_info::before"] + [::core::mem::offset_of!(nfs4_change_info, before) - 8usize]; + ["Offset of field: nfs4_change_info::after"] + [::core::mem::offset_of!(nfs4_change_info, after) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_string { + pub len: ::core::ffi::c_uint, + pub data: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_string"][::core::mem::size_of::() - 16usize]; + ["Alignment of nfs4_string"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_string::len"][::core::mem::offset_of!(nfs4_string, len) - 0usize]; + ["Offset of field: nfs4_string::data"][::core::mem::offset_of!(nfs4_string, data) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_pathname { + pub ncomponents: ::core::ffi::c_uint, + pub components: [nfs4_string; 512usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_pathname"][::core::mem::size_of::() - 8200usize]; + ["Alignment of nfs4_pathname"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_pathname::ncomponents"] + [::core::mem::offset_of!(nfs4_pathname, ncomponents) - 0usize]; + ["Offset of field: nfs4_pathname::components"] + [::core::mem::offset_of!(nfs4_pathname, components) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_fs_location { + pub nservers: ::core::ffi::c_uint, + pub servers: [nfs4_string; 10usize], + pub rootpath: nfs4_pathname, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_fs_location"][::core::mem::size_of::() - 8368usize]; + ["Alignment of nfs4_fs_location"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_fs_location::nservers"] + [::core::mem::offset_of!(nfs4_fs_location, nservers) - 0usize]; + ["Offset of field: nfs4_fs_location::servers"] + [::core::mem::offset_of!(nfs4_fs_location, servers) - 8usize]; + ["Offset of field: nfs4_fs_location::rootpath"] + [::core::mem::offset_of!(nfs4_fs_location, rootpath) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_fs_locations { + pub fattr: *mut nfs_fattr, + pub server: *const nfs_server, + pub fs_path: nfs4_pathname, + pub nlocations: ::core::ffi::c_int, + pub locations: [nfs4_fs_location; 10usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_fs_locations"][::core::mem::size_of::() - 91904usize]; + ["Alignment of nfs4_fs_locations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_fs_locations::fattr"] + [::core::mem::offset_of!(nfs4_fs_locations, fattr) - 0usize]; + ["Offset of field: nfs4_fs_locations::server"] + [::core::mem::offset_of!(nfs4_fs_locations, server) - 8usize]; + ["Offset of field: nfs4_fs_locations::fs_path"] + [::core::mem::offset_of!(nfs4_fs_locations, fs_path) - 16usize]; + ["Offset of field: nfs4_fs_locations::nlocations"] + [::core::mem::offset_of!(nfs4_fs_locations, nlocations) - 8216usize]; + ["Offset of field: nfs4_fs_locations::locations"] + [::core::mem::offset_of!(nfs4_fs_locations, locations) - 8224usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_label { + pub lfs: u32, + pub pi: u32, + pub len: u32_, + pub label: *mut ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_label"][::core::mem::size_of::() - 24usize]; + ["Alignment of nfs4_label"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_label::lfs"][::core::mem::offset_of!(nfs4_label, lfs) - 0usize]; + ["Offset of field: nfs4_label::pi"][::core::mem::offset_of!(nfs4_label, pi) - 4usize]; + ["Offset of field: nfs4_label::len"][::core::mem::offset_of!(nfs4_label, len) - 8usize]; + ["Offset of field: nfs4_label::label"][::core::mem::offset_of!(nfs4_label, label) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_timer { + pub list: list_head, + pub expires: ::core::ffi::c_ulong, + pub dwork: delayed_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_timer"][::core::mem::size_of::() - 112usize]; + ["Alignment of rpc_timer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_timer::list"][::core::mem::offset_of!(rpc_timer, list) - 0usize]; + ["Offset of field: rpc_timer::expires"][::core::mem::offset_of!(rpc_timer, expires) - 16usize]; + ["Offset of field: rpc_timer::dwork"][::core::mem::offset_of!(rpc_timer, dwork) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rpc_wait_queue { + pub lock: spinlock_t, + pub tasks: [list_head; 4usize], + pub maxpriority: ::core::ffi::c_uchar, + pub priority: ::core::ffi::c_uchar, + pub nr: ::core::ffi::c_uchar, + pub qlen: ::core::ffi::c_uint, + pub timer_list: rpc_timer, + pub name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_wait_queue"][::core::mem::size_of::() - 200usize]; + ["Alignment of rpc_wait_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_wait_queue::lock"] + [::core::mem::offset_of!(rpc_wait_queue, lock) - 0usize]; + ["Offset of field: rpc_wait_queue::tasks"] + [::core::mem::offset_of!(rpc_wait_queue, tasks) - 8usize]; + ["Offset of field: rpc_wait_queue::maxpriority"] + [::core::mem::offset_of!(rpc_wait_queue, maxpriority) - 72usize]; + ["Offset of field: rpc_wait_queue::priority"] + [::core::mem::offset_of!(rpc_wait_queue, priority) - 73usize]; + ["Offset of field: rpc_wait_queue::nr"][::core::mem::offset_of!(rpc_wait_queue, nr) - 74usize]; + ["Offset of field: rpc_wait_queue::qlen"] + [::core::mem::offset_of!(rpc_wait_queue, qlen) - 76usize]; + ["Offset of field: rpc_wait_queue::timer_list"] + [::core::mem::offset_of!(rpc_wait_queue, timer_list) - 80usize]; + ["Offset of field: rpc_wait_queue::name"] + [::core::mem::offset_of!(rpc_wait_queue, name) - 192usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_seqid_counter { + pub create_time: ktime_t, + pub owner_id: u64_, + pub flags: ::core::ffi::c_int, + pub counter: u32_, + pub lock: spinlock_t, + pub list: list_head, + pub wait: rpc_wait_queue, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_seqid_counter"][::core::mem::size_of::() - 248usize]; + ["Alignment of nfs_seqid_counter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_seqid_counter::create_time"] + [::core::mem::offset_of!(nfs_seqid_counter, create_time) - 0usize]; + ["Offset of field: nfs_seqid_counter::owner_id"] + [::core::mem::offset_of!(nfs_seqid_counter, owner_id) - 8usize]; + ["Offset of field: nfs_seqid_counter::flags"] + [::core::mem::offset_of!(nfs_seqid_counter, flags) - 16usize]; + ["Offset of field: nfs_seqid_counter::counter"] + [::core::mem::offset_of!(nfs_seqid_counter, counter) - 20usize]; + ["Offset of field: nfs_seqid_counter::lock"] + [::core::mem::offset_of!(nfs_seqid_counter, lock) - 24usize]; + ["Offset of field: nfs_seqid_counter::list"] + [::core::mem::offset_of!(nfs_seqid_counter, list) - 32usize]; + ["Offset of field: nfs_seqid_counter::wait"] + [::core::mem::offset_of!(nfs_seqid_counter, wait) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs4_stateid_struct { + pub __bindgen_anon_1: nfs4_stateid_struct__bindgen_ty_1, + pub type_: nfs4_stateid_struct__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nfs4_stateid_struct__bindgen_ty_1 { + pub data: [::core::ffi::c_char; 16usize], + pub __bindgen_anon_1: nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1 { + pub seqid: __be32, + pub other: [::core::ffi::c_char; 12usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1::seqid"] + [::core::mem::offset_of!(nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1, seqid) - 0usize]; + ["Offset of field: nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1::other"] + [::core::mem::offset_of!(nfs4_stateid_struct__bindgen_ty_1__bindgen_ty_1, other) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_stateid_struct__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of nfs4_stateid_struct__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nfs4_stateid_struct__bindgen_ty_1::data"] + [::core::mem::offset_of!(nfs4_stateid_struct__bindgen_ty_1, data) - 0usize]; +}; +pub const nfs4_stateid_struct_NFS4_INVALID_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 0; +pub const nfs4_stateid_struct_NFS4_SPECIAL_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 1; +pub const nfs4_stateid_struct_NFS4_OPEN_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 2; +pub const nfs4_stateid_struct_NFS4_LOCK_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 3; +pub const nfs4_stateid_struct_NFS4_DELEGATION_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 4; +pub const nfs4_stateid_struct_NFS4_LAYOUT_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 5; +pub const nfs4_stateid_struct_NFS4_PNFS_DS_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 6; +pub const nfs4_stateid_struct_NFS4_REVOKED_STATEID_TYPE: nfs4_stateid_struct__bindgen_ty_2 = 7; +pub type nfs4_stateid_struct__bindgen_ty_2 = ::core::ffi::c_uint; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_stateid_struct"][::core::mem::size_of::() - 20usize]; + ["Alignment of nfs4_stateid_struct"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nfs4_stateid_struct::type_"] + [::core::mem::offset_of!(nfs4_stateid_struct, type_) - 16usize]; +}; +pub type nfs4_stateid = nfs4_stateid_struct; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs4_lock_state { + pub ls_locks: list_head, + pub ls_state: *mut nfs4_state, + pub ls_flags: ::core::ffi::c_ulong, + pub ls_seqid: nfs_seqid_counter, + pub ls_stateid: nfs4_stateid, + pub ls_count: refcount_t, + pub ls_owner: fl_owner_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_lock_state"][::core::mem::size_of::() - 312usize]; + ["Alignment of nfs4_lock_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_lock_state::ls_locks"] + [::core::mem::offset_of!(nfs4_lock_state, ls_locks) - 0usize]; + ["Offset of field: nfs4_lock_state::ls_state"] + [::core::mem::offset_of!(nfs4_lock_state, ls_state) - 16usize]; + ["Offset of field: nfs4_lock_state::ls_flags"] + [::core::mem::offset_of!(nfs4_lock_state, ls_flags) - 24usize]; + ["Offset of field: nfs4_lock_state::ls_seqid"] + [::core::mem::offset_of!(nfs4_lock_state, ls_seqid) - 32usize]; + ["Offset of field: nfs4_lock_state::ls_stateid"] + [::core::mem::offset_of!(nfs4_lock_state, ls_stateid) - 280usize]; + ["Offset of field: nfs4_lock_state::ls_count"] + [::core::mem::offset_of!(nfs4_lock_state, ls_count) - 300usize]; + ["Offset of field: nfs4_lock_state::ls_owner"] + [::core::mem::offset_of!(nfs4_lock_state, ls_owner) - 304usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_mig_recovery_ops { + pub get_locations: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs4_fs_locations, + arg4: *mut page, + arg5: *const cred, + ) -> ::core::ffi::c_int, + >, + pub fsid_present: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *const cred) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_mig_recovery_ops"][::core::mem::size_of::() - 16usize]; + ["Alignment of nfs4_mig_recovery_ops"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_mig_recovery_ops::get_locations"] + [::core::mem::offset_of!(nfs4_mig_recovery_ops, get_locations) - 0usize]; + ["Offset of field: nfs4_mig_recovery_ops::fsid_present"] + [::core::mem::offset_of!(nfs4_mig_recovery_ops, fsid_present) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_minor_version_ops { + pub minor_version: u32_, + pub init_caps: ::core::ffi::c_uint, + pub init_client: + ::core::option::Option ::core::ffi::c_int>, + pub shutdown_client: ::core::option::Option, + pub match_stateid: ::core::option::Option< + unsafe extern "C" fn(arg1: *const nfs4_stateid, arg2: *const nfs4_stateid) -> bool_, + >, + pub find_root_sec: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs_fsinfo, + ) -> ::core::ffi::c_int, + >, + pub free_lock_state: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_server, arg2: *mut nfs4_lock_state), + >, + pub test_and_free_expired: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *const nfs4_stateid, + arg3: *const cred, + ) -> ::core::ffi::c_int, + >, + pub alloc_seqid: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_seqid_counter, arg2: gfp_t) -> *mut nfs_seqid, + >, + pub session_trunk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_clnt, + arg2: *mut rpc_xprt, + arg3: *mut ::core::ffi::c_void, + ), + >, + pub call_sync_ops: *const rpc_call_ops, + pub reboot_recovery_ops: *const nfs4_state_recovery_ops, + pub nograce_recovery_ops: *const nfs4_state_recovery_ops, + pub state_renewal_ops: *const nfs4_state_maintenance_ops, + pub mig_recovery_ops: *const nfs4_mig_recovery_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_minor_version_ops"][::core::mem::size_of::() - 112usize]; + ["Alignment of nfs4_minor_version_ops"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_minor_version_ops::minor_version"] + [::core::mem::offset_of!(nfs4_minor_version_ops, minor_version) - 0usize]; + ["Offset of field: nfs4_minor_version_ops::init_caps"] + [::core::mem::offset_of!(nfs4_minor_version_ops, init_caps) - 4usize]; + ["Offset of field: nfs4_minor_version_ops::init_client"] + [::core::mem::offset_of!(nfs4_minor_version_ops, init_client) - 8usize]; + ["Offset of field: nfs4_minor_version_ops::shutdown_client"] + [::core::mem::offset_of!(nfs4_minor_version_ops, shutdown_client) - 16usize]; + ["Offset of field: nfs4_minor_version_ops::match_stateid"] + [::core::mem::offset_of!(nfs4_minor_version_ops, match_stateid) - 24usize]; + ["Offset of field: nfs4_minor_version_ops::find_root_sec"] + [::core::mem::offset_of!(nfs4_minor_version_ops, find_root_sec) - 32usize]; + ["Offset of field: nfs4_minor_version_ops::free_lock_state"] + [::core::mem::offset_of!(nfs4_minor_version_ops, free_lock_state) - 40usize]; + ["Offset of field: nfs4_minor_version_ops::test_and_free_expired"] + [::core::mem::offset_of!(nfs4_minor_version_ops, test_and_free_expired) - 48usize]; + ["Offset of field: nfs4_minor_version_ops::alloc_seqid"] + [::core::mem::offset_of!(nfs4_minor_version_ops, alloc_seqid) - 56usize]; + ["Offset of field: nfs4_minor_version_ops::session_trunk"] + [::core::mem::offset_of!(nfs4_minor_version_ops, session_trunk) - 64usize]; + ["Offset of field: nfs4_minor_version_ops::call_sync_ops"] + [::core::mem::offset_of!(nfs4_minor_version_ops, call_sync_ops) - 72usize]; + ["Offset of field: nfs4_minor_version_ops::reboot_recovery_ops"] + [::core::mem::offset_of!(nfs4_minor_version_ops, reboot_recovery_ops) - 80usize]; + ["Offset of field: nfs4_minor_version_ops::nograce_recovery_ops"] + [::core::mem::offset_of!(nfs4_minor_version_ops, nograce_recovery_ops) - 88usize]; + ["Offset of field: nfs4_minor_version_ops::state_renewal_ops"] + [::core::mem::offset_of!(nfs4_minor_version_ops, state_renewal_ops) - 96usize]; + ["Offset of field: nfs4_minor_version_ops::mig_recovery_ops"] + [::core::mem::offset_of!(nfs4_minor_version_ops, mig_recovery_ops) - 104usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_slot { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_sequence_args { + pub sa_slot: *mut nfs4_slot, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_sequence_args"][::core::mem::size_of::() - 16usize]; + ["Alignment of nfs4_sequence_args"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_sequence_args::sa_slot"] + [::core::mem::offset_of!(nfs4_sequence_args, sa_slot) - 0usize]; +}; +impl nfs4_sequence_args { + #[inline] + pub fn sa_cache_this(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_sa_cache_this(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sa_cache_this_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sa_cache_this_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sa_privileged(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_sa_privileged(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sa_privileged_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sa_privileged_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + sa_cache_this: u8_, + sa_privileged: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let sa_cache_this: u8 = unsafe { ::core::mem::transmute(sa_cache_this) }; + sa_cache_this as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let sa_privileged: u8 = unsafe { ::core::mem::transmute(sa_privileged) }; + sa_privileged as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_sequence_res { + pub sr_slot: *mut nfs4_slot, + pub sr_timestamp: ::core::ffi::c_ulong, + pub sr_status: ::core::ffi::c_int, + pub sr_status_flags: u32_, + pub sr_highest_slotid: u32_, + pub sr_target_highest_slotid: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_sequence_res"][::core::mem::size_of::() - 32usize]; + ["Alignment of nfs4_sequence_res"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_sequence_res::sr_slot"] + [::core::mem::offset_of!(nfs4_sequence_res, sr_slot) - 0usize]; + ["Offset of field: nfs4_sequence_res::sr_timestamp"] + [::core::mem::offset_of!(nfs4_sequence_res, sr_timestamp) - 8usize]; + ["Offset of field: nfs4_sequence_res::sr_status"] + [::core::mem::offset_of!(nfs4_sequence_res, sr_status) - 16usize]; + ["Offset of field: nfs4_sequence_res::sr_status_flags"] + [::core::mem::offset_of!(nfs4_sequence_res, sr_status_flags) - 20usize]; + ["Offset of field: nfs4_sequence_res::sr_highest_slotid"] + [::core::mem::offset_of!(nfs4_sequence_res, sr_highest_slotid) - 24usize]; + ["Offset of field: nfs4_sequence_res::sr_target_highest_slotid"] + [::core::mem::offset_of!(nfs4_sequence_res, sr_target_highest_slotid) - 28usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs4_state { + pub open_states: list_head, + pub inode_states: list_head, + pub lock_states: list_head, + pub owner: *mut nfs4_state_owner, + pub inode: *mut inode, + pub flags: ::core::ffi::c_ulong, + pub state_lock: spinlock_t, + pub seqlock: seqlock_t, + pub stateid: nfs4_stateid, + pub open_stateid: nfs4_stateid, + pub n_rdonly: ::core::ffi::c_uint, + pub n_wronly: ::core::ffi::c_uint, + pub n_rdwr: ::core::ffi::c_uint, + pub state: fmode_t, + pub count: refcount_t, + pub waitq: wait_queue_head_t, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_state"][::core::mem::size_of::() - 184usize]; + ["Alignment of nfs4_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_state::open_states"] + [::core::mem::offset_of!(nfs4_state, open_states) - 0usize]; + ["Offset of field: nfs4_state::inode_states"] + [::core::mem::offset_of!(nfs4_state, inode_states) - 16usize]; + ["Offset of field: nfs4_state::lock_states"] + [::core::mem::offset_of!(nfs4_state, lock_states) - 32usize]; + ["Offset of field: nfs4_state::owner"][::core::mem::offset_of!(nfs4_state, owner) - 48usize]; + ["Offset of field: nfs4_state::inode"][::core::mem::offset_of!(nfs4_state, inode) - 56usize]; + ["Offset of field: nfs4_state::flags"][::core::mem::offset_of!(nfs4_state, flags) - 64usize]; + ["Offset of field: nfs4_state::state_lock"] + [::core::mem::offset_of!(nfs4_state, state_lock) - 72usize]; + ["Offset of field: nfs4_state::seqlock"] + [::core::mem::offset_of!(nfs4_state, seqlock) - 76usize]; + ["Offset of field: nfs4_state::stateid"] + [::core::mem::offset_of!(nfs4_state, stateid) - 84usize]; + ["Offset of field: nfs4_state::open_stateid"] + [::core::mem::offset_of!(nfs4_state, open_stateid) - 104usize]; + ["Offset of field: nfs4_state::n_rdonly"] + [::core::mem::offset_of!(nfs4_state, n_rdonly) - 124usize]; + ["Offset of field: nfs4_state::n_wronly"] + [::core::mem::offset_of!(nfs4_state, n_wronly) - 128usize]; + ["Offset of field: nfs4_state::n_rdwr"][::core::mem::offset_of!(nfs4_state, n_rdwr) - 132usize]; + ["Offset of field: nfs4_state::state"][::core::mem::offset_of!(nfs4_state, state) - 136usize]; + ["Offset of field: nfs4_state::count"][::core::mem::offset_of!(nfs4_state, count) - 140usize]; + ["Offset of field: nfs4_state::waitq"][::core::mem::offset_of!(nfs4_state, waitq) - 144usize]; + ["Offset of field: nfs4_state::callback_head"] + [::core::mem::offset_of!(nfs4_state, callback_head) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_state_maintenance_ops { + pub sched_state_renewal: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_client, + arg2: *const cred, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub get_state_renewal_cred: + ::core::option::Option *const cred>, + pub renew_lease: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_client, arg2: *const cred) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_state_maintenance_ops"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of nfs4_state_maintenance_ops"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_state_maintenance_ops::sched_state_renewal"] + [::core::mem::offset_of!(nfs4_state_maintenance_ops, sched_state_renewal) - 0usize]; + ["Offset of field: nfs4_state_maintenance_ops::get_state_renewal_cred"] + [::core::mem::offset_of!(nfs4_state_maintenance_ops, get_state_renewal_cred) - 8usize]; + ["Offset of field: nfs4_state_maintenance_ops::renew_lease"] + [::core::mem::offset_of!(nfs4_state_maintenance_ops, renew_lease) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs4_state_owner { + pub so_server: *mut nfs_server, + pub so_lru: list_head, + pub so_expires: ::core::ffi::c_ulong, + pub so_server_node: rb_node, + pub so_cred: *const cred, + pub so_lock: spinlock_t, + pub so_count: atomic_t, + pub so_flags: ::core::ffi::c_ulong, + pub so_states: list_head, + pub so_seqid: nfs_seqid_counter, + pub so_delegreturn_mutex: mutex, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_state_owner"][::core::mem::size_of::() - 376usize]; + ["Alignment of nfs4_state_owner"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_state_owner::so_server"] + [::core::mem::offset_of!(nfs4_state_owner, so_server) - 0usize]; + ["Offset of field: nfs4_state_owner::so_lru"] + [::core::mem::offset_of!(nfs4_state_owner, so_lru) - 8usize]; + ["Offset of field: nfs4_state_owner::so_expires"] + [::core::mem::offset_of!(nfs4_state_owner, so_expires) - 24usize]; + ["Offset of field: nfs4_state_owner::so_server_node"] + [::core::mem::offset_of!(nfs4_state_owner, so_server_node) - 32usize]; + ["Offset of field: nfs4_state_owner::so_cred"] + [::core::mem::offset_of!(nfs4_state_owner, so_cred) - 56usize]; + ["Offset of field: nfs4_state_owner::so_lock"] + [::core::mem::offset_of!(nfs4_state_owner, so_lock) - 64usize]; + ["Offset of field: nfs4_state_owner::so_count"] + [::core::mem::offset_of!(nfs4_state_owner, so_count) - 68usize]; + ["Offset of field: nfs4_state_owner::so_flags"] + [::core::mem::offset_of!(nfs4_state_owner, so_flags) - 72usize]; + ["Offset of field: nfs4_state_owner::so_states"] + [::core::mem::offset_of!(nfs4_state_owner, so_states) - 80usize]; + ["Offset of field: nfs4_state_owner::so_seqid"] + [::core::mem::offset_of!(nfs4_state_owner, so_seqid) - 96usize]; + ["Offset of field: nfs4_state_owner::so_delegreturn_mutex"] + [::core::mem::offset_of!(nfs4_state_owner, so_delegreturn_mutex) - 344usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_state_recovery_ops { + pub owner_flag_bit: ::core::ffi::c_int, + pub state_flag_bit: ::core::ffi::c_int, + pub recover_open: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs4_state_owner, + arg2: *mut nfs4_state, + ) -> ::core::ffi::c_int, + >, + pub recover_lock: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs4_state, arg2: *mut file_lock) -> ::core::ffi::c_int, + >, + pub establish_clid: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_client, arg2: *const cred) -> ::core::ffi::c_int, + >, + pub reclaim_complete: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_client, arg2: *const cred) -> ::core::ffi::c_int, + >, + pub detect_trunking: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_client, + arg2: *mut *mut nfs_client, + arg3: *const cred, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_state_recovery_ops"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of nfs4_state_recovery_ops"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_state_recovery_ops::owner_flag_bit"] + [::core::mem::offset_of!(nfs4_state_recovery_ops, owner_flag_bit) - 0usize]; + ["Offset of field: nfs4_state_recovery_ops::state_flag_bit"] + [::core::mem::offset_of!(nfs4_state_recovery_ops, state_flag_bit) - 4usize]; + ["Offset of field: nfs4_state_recovery_ops::recover_open"] + [::core::mem::offset_of!(nfs4_state_recovery_ops, recover_open) - 8usize]; + ["Offset of field: nfs4_state_recovery_ops::recover_lock"] + [::core::mem::offset_of!(nfs4_state_recovery_ops, recover_lock) - 16usize]; + ["Offset of field: nfs4_state_recovery_ops::establish_clid"] + [::core::mem::offset_of!(nfs4_state_recovery_ops, establish_clid) - 24usize]; + ["Offset of field: nfs4_state_recovery_ops::reclaim_complete"] + [::core::mem::offset_of!(nfs4_state_recovery_ops, reclaim_complete) - 32usize]; + ["Offset of field: nfs4_state_recovery_ops::detect_trunking"] + [::core::mem::offset_of!(nfs4_state_recovery_ops, detect_trunking) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_threshold { + pub bm: __u32, + pub l_type: __u32, + pub rd_sz: __u64, + pub wr_sz: __u64, + pub rd_io_sz: __u64, + pub wr_io_sz: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs4_threshold"][::core::mem::size_of::() - 40usize]; + ["Alignment of nfs4_threshold"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs4_threshold::bm"][::core::mem::offset_of!(nfs4_threshold, bm) - 0usize]; + ["Offset of field: nfs4_threshold::l_type"] + [::core::mem::offset_of!(nfs4_threshold, l_type) - 4usize]; + ["Offset of field: nfs4_threshold::rd_sz"] + [::core::mem::offset_of!(nfs4_threshold, rd_sz) - 8usize]; + ["Offset of field: nfs4_threshold::wr_sz"] + [::core::mem::offset_of!(nfs4_threshold, wr_sz) - 16usize]; + ["Offset of field: nfs4_threshold::rd_io_sz"] + [::core::mem::offset_of!(nfs4_threshold, rd_io_sz) - 24usize]; + ["Offset of field: nfs4_threshold::wr_io_sz"] + [::core::mem::offset_of!(nfs4_threshold, wr_io_sz) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_access_entry { + pub rb_node: rb_node, + pub lru: list_head, + pub fsuid: kuid_t, + pub fsgid: kgid_t, + pub group_info: *mut group_info, + pub timestamp: u64_, + pub mask: __u32, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_access_entry"][::core::mem::size_of::() - 88usize]; + ["Alignment of nfs_access_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_access_entry::rb_node"] + [::core::mem::offset_of!(nfs_access_entry, rb_node) - 0usize]; + ["Offset of field: nfs_access_entry::lru"] + [::core::mem::offset_of!(nfs_access_entry, lru) - 24usize]; + ["Offset of field: nfs_access_entry::fsuid"] + [::core::mem::offset_of!(nfs_access_entry, fsuid) - 40usize]; + ["Offset of field: nfs_access_entry::fsgid"] + [::core::mem::offset_of!(nfs_access_entry, fsgid) - 44usize]; + ["Offset of field: nfs_access_entry::group_info"] + [::core::mem::offset_of!(nfs_access_entry, group_info) - 48usize]; + ["Offset of field: nfs_access_entry::timestamp"] + [::core::mem::offset_of!(nfs_access_entry, timestamp) - 56usize]; + ["Offset of field: nfs_access_entry::mask"] + [::core::mem::offset_of!(nfs_access_entry, mask) - 64usize]; + ["Offset of field: nfs_access_entry::callback_head"] + [::core::mem::offset_of!(nfs_access_entry, callback_head) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_auth_info { + pub flavor_len: ::core::ffi::c_uint, + pub flavors: [rpc_authflavor_t; 12usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_auth_info"][::core::mem::size_of::() - 52usize]; + ["Alignment of nfs_auth_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nfs_auth_info::flavor_len"] + [::core::mem::offset_of!(nfs_auth_info, flavor_len) - 0usize]; + ["Offset of field: nfs_auth_info::flavors"] + [::core::mem::offset_of!(nfs_auth_info, flavors) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_subversion { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xprtsec_parms { + pub policy: xprtsec_policies, + pub cert_serial: key_serial_t, + pub privkey_serial: key_serial_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xprtsec_parms"][::core::mem::size_of::() - 12usize]; + ["Alignment of xprtsec_parms"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xprtsec_parms::policy"] + [::core::mem::offset_of!(xprtsec_parms, policy) - 0usize]; + ["Offset of field: xprtsec_parms::cert_serial"] + [::core::mem::offset_of!(xprtsec_parms, cert_serial) - 4usize]; + ["Offset of field: xprtsec_parms::privkey_serial"] + [::core::mem::offset_of!(xprtsec_parms, privkey_serial) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct idmap { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_slot_table { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs4_session { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_client { + pub cl_count: refcount_t, + pub cl_mds_count: atomic_t, + pub cl_cons_state: ::core::ffi::c_int, + pub cl_res_state: ::core::ffi::c_ulong, + pub cl_flags: ::core::ffi::c_ulong, + pub cl_addr: __kernel_sockaddr_storage, + pub cl_addrlen: usize, + pub cl_hostname: *mut ::core::ffi::c_char, + pub cl_acceptor: *mut ::core::ffi::c_char, + pub cl_share_link: list_head, + pub cl_superblocks: list_head, + pub cl_rpcclient: *mut rpc_clnt, + pub rpc_ops: *const nfs_rpc_ops, + pub cl_proto: ::core::ffi::c_int, + pub cl_nfs_mod: *mut nfs_subversion, + pub cl_minorversion: u32_, + pub cl_nconnect: ::core::ffi::c_uint, + pub cl_max_connect: ::core::ffi::c_uint, + pub cl_principal: *const ::core::ffi::c_char, + pub cl_xprtsec: xprtsec_parms, + pub cl_ds_clients: list_head, + pub cl_clientid: u64_, + pub cl_confirm: nfs4_verifier, + pub cl_state: ::core::ffi::c_ulong, + pub cl_lock: spinlock_t, + pub cl_lease_time: ::core::ffi::c_ulong, + pub cl_last_renewal: ::core::ffi::c_ulong, + pub cl_renewd: delayed_work, + pub cl_rpcwaitq: rpc_wait_queue, + pub cl_idmap: *mut idmap, + pub cl_owner_id: *const ::core::ffi::c_char, + pub cl_cb_ident: u32_, + pub cl_mvops: *const nfs4_minor_version_ops, + pub cl_mig_gen: ::core::ffi::c_ulong, + pub cl_slot_tbl: *mut nfs4_slot_table, + pub cl_seqid: u32_, + pub cl_exchange_flags: u32_, + pub cl_session: *mut nfs4_session, + pub cl_preserve_clid: bool_, + pub cl_serverowner: *mut nfs41_server_owner, + pub cl_serverscope: *mut nfs41_server_scope, + pub cl_implid: *mut nfs41_impl_id, + pub cl_sp4_flags: ::core::ffi::c_ulong, + pub cl_lock_waitq: wait_queue_head_t, + pub cl_ipaddr: [::core::ffi::c_char; 48usize], + pub cl_net: *mut net, + pub pending_cb_stateids: list_head, + pub rcu: callback_head, + pub cl_nfssvc_boot: timespec64, + pub cl_boot_lock: seqlock_t, + pub cl_uuid: nfs_uuid_t, + pub cl_localio_lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_client"][::core::mem::size_of::() - 936usize]; + ["Alignment of nfs_client"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_client::cl_count"] + [::core::mem::offset_of!(nfs_client, cl_count) - 0usize]; + ["Offset of field: nfs_client::cl_mds_count"] + [::core::mem::offset_of!(nfs_client, cl_mds_count) - 4usize]; + ["Offset of field: nfs_client::cl_cons_state"] + [::core::mem::offset_of!(nfs_client, cl_cons_state) - 8usize]; + ["Offset of field: nfs_client::cl_res_state"] + [::core::mem::offset_of!(nfs_client, cl_res_state) - 16usize]; + ["Offset of field: nfs_client::cl_flags"] + [::core::mem::offset_of!(nfs_client, cl_flags) - 24usize]; + ["Offset of field: nfs_client::cl_addr"] + [::core::mem::offset_of!(nfs_client, cl_addr) - 32usize]; + ["Offset of field: nfs_client::cl_addrlen"] + [::core::mem::offset_of!(nfs_client, cl_addrlen) - 160usize]; + ["Offset of field: nfs_client::cl_hostname"] + [::core::mem::offset_of!(nfs_client, cl_hostname) - 168usize]; + ["Offset of field: nfs_client::cl_acceptor"] + [::core::mem::offset_of!(nfs_client, cl_acceptor) - 176usize]; + ["Offset of field: nfs_client::cl_share_link"] + [::core::mem::offset_of!(nfs_client, cl_share_link) - 184usize]; + ["Offset of field: nfs_client::cl_superblocks"] + [::core::mem::offset_of!(nfs_client, cl_superblocks) - 200usize]; + ["Offset of field: nfs_client::cl_rpcclient"] + [::core::mem::offset_of!(nfs_client, cl_rpcclient) - 216usize]; + ["Offset of field: nfs_client::rpc_ops"] + [::core::mem::offset_of!(nfs_client, rpc_ops) - 224usize]; + ["Offset of field: nfs_client::cl_proto"] + [::core::mem::offset_of!(nfs_client, cl_proto) - 232usize]; + ["Offset of field: nfs_client::cl_nfs_mod"] + [::core::mem::offset_of!(nfs_client, cl_nfs_mod) - 240usize]; + ["Offset of field: nfs_client::cl_minorversion"] + [::core::mem::offset_of!(nfs_client, cl_minorversion) - 248usize]; + ["Offset of field: nfs_client::cl_nconnect"] + [::core::mem::offset_of!(nfs_client, cl_nconnect) - 252usize]; + ["Offset of field: nfs_client::cl_max_connect"] + [::core::mem::offset_of!(nfs_client, cl_max_connect) - 256usize]; + ["Offset of field: nfs_client::cl_principal"] + [::core::mem::offset_of!(nfs_client, cl_principal) - 264usize]; + ["Offset of field: nfs_client::cl_xprtsec"] + [::core::mem::offset_of!(nfs_client, cl_xprtsec) - 272usize]; + ["Offset of field: nfs_client::cl_ds_clients"] + [::core::mem::offset_of!(nfs_client, cl_ds_clients) - 288usize]; + ["Offset of field: nfs_client::cl_clientid"] + [::core::mem::offset_of!(nfs_client, cl_clientid) - 304usize]; + ["Offset of field: nfs_client::cl_confirm"] + [::core::mem::offset_of!(nfs_client, cl_confirm) - 312usize]; + ["Offset of field: nfs_client::cl_state"] + [::core::mem::offset_of!(nfs_client, cl_state) - 320usize]; + ["Offset of field: nfs_client::cl_lock"] + [::core::mem::offset_of!(nfs_client, cl_lock) - 328usize]; + ["Offset of field: nfs_client::cl_lease_time"] + [::core::mem::offset_of!(nfs_client, cl_lease_time) - 336usize]; + ["Offset of field: nfs_client::cl_last_renewal"] + [::core::mem::offset_of!(nfs_client, cl_last_renewal) - 344usize]; + ["Offset of field: nfs_client::cl_renewd"] + [::core::mem::offset_of!(nfs_client, cl_renewd) - 352usize]; + ["Offset of field: nfs_client::cl_rpcwaitq"] + [::core::mem::offset_of!(nfs_client, cl_rpcwaitq) - 440usize]; + ["Offset of field: nfs_client::cl_idmap"] + [::core::mem::offset_of!(nfs_client, cl_idmap) - 640usize]; + ["Offset of field: nfs_client::cl_owner_id"] + [::core::mem::offset_of!(nfs_client, cl_owner_id) - 648usize]; + ["Offset of field: nfs_client::cl_cb_ident"] + [::core::mem::offset_of!(nfs_client, cl_cb_ident) - 656usize]; + ["Offset of field: nfs_client::cl_mvops"] + [::core::mem::offset_of!(nfs_client, cl_mvops) - 664usize]; + ["Offset of field: nfs_client::cl_mig_gen"] + [::core::mem::offset_of!(nfs_client, cl_mig_gen) - 672usize]; + ["Offset of field: nfs_client::cl_slot_tbl"] + [::core::mem::offset_of!(nfs_client, cl_slot_tbl) - 680usize]; + ["Offset of field: nfs_client::cl_seqid"] + [::core::mem::offset_of!(nfs_client, cl_seqid) - 688usize]; + ["Offset of field: nfs_client::cl_exchange_flags"] + [::core::mem::offset_of!(nfs_client, cl_exchange_flags) - 692usize]; + ["Offset of field: nfs_client::cl_session"] + [::core::mem::offset_of!(nfs_client, cl_session) - 696usize]; + ["Offset of field: nfs_client::cl_preserve_clid"] + [::core::mem::offset_of!(nfs_client, cl_preserve_clid) - 704usize]; + ["Offset of field: nfs_client::cl_serverowner"] + [::core::mem::offset_of!(nfs_client, cl_serverowner) - 712usize]; + ["Offset of field: nfs_client::cl_serverscope"] + [::core::mem::offset_of!(nfs_client, cl_serverscope) - 720usize]; + ["Offset of field: nfs_client::cl_implid"] + [::core::mem::offset_of!(nfs_client, cl_implid) - 728usize]; + ["Offset of field: nfs_client::cl_sp4_flags"] + [::core::mem::offset_of!(nfs_client, cl_sp4_flags) - 736usize]; + ["Offset of field: nfs_client::cl_lock_waitq"] + [::core::mem::offset_of!(nfs_client, cl_lock_waitq) - 744usize]; + ["Offset of field: nfs_client::cl_ipaddr"] + [::core::mem::offset_of!(nfs_client, cl_ipaddr) - 768usize]; + ["Offset of field: nfs_client::cl_net"][::core::mem::offset_of!(nfs_client, cl_net) - 816usize]; + ["Offset of field: nfs_client::pending_cb_stateids"] + [::core::mem::offset_of!(nfs_client, pending_cb_stateids) - 824usize]; + ["Offset of field: nfs_client::rcu"][::core::mem::offset_of!(nfs_client, rcu) - 840usize]; + ["Offset of field: nfs_client::cl_nfssvc_boot"] + [::core::mem::offset_of!(nfs_client, cl_nfssvc_boot) - 856usize]; + ["Offset of field: nfs_client::cl_boot_lock"] + [::core::mem::offset_of!(nfs_client, cl_boot_lock) - 872usize]; + ["Offset of field: nfs_client::cl_uuid"] + [::core::mem::offset_of!(nfs_client, cl_uuid) - 880usize]; + ["Offset of field: nfs_client::cl_localio_lock"] + [::core::mem::offset_of!(nfs_client, cl_localio_lock) - 928usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_page { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_commit_completion_ops { + pub completion: ::core::option::Option, + pub resched_write: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_commit_info, arg2: *mut nfs_page), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_commit_completion_ops"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of nfs_commit_completion_ops"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_commit_completion_ops::completion"] + [::core::mem::offset_of!(nfs_commit_completion_ops, completion) - 0usize]; + ["Offset of field: nfs_commit_completion_ops::resched_write"] + [::core::mem::offset_of!(nfs_commit_completion_ops, resched_write) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_wait { + pub list: list_head, + pub links: list_head, + pub timer_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_wait"][::core::mem::size_of::() - 48usize]; + ["Alignment of rpc_wait"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_wait::list"][::core::mem::offset_of!(rpc_wait, list) - 0usize]; + ["Offset of field: rpc_wait::links"][::core::mem::offset_of!(rpc_wait, links) - 16usize]; + ["Offset of field: rpc_wait::timer_list"] + [::core::mem::offset_of!(rpc_wait, timer_list) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_message { + pub rpc_proc: *const rpc_procinfo, + pub rpc_argp: *mut ::core::ffi::c_void, + pub rpc_resp: *mut ::core::ffi::c_void, + pub rpc_cred: *const cred, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_message"][::core::mem::size_of::() - 32usize]; + ["Alignment of rpc_message"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_message::rpc_proc"] + [::core::mem::offset_of!(rpc_message, rpc_proc) - 0usize]; + ["Offset of field: rpc_message::rpc_argp"] + [::core::mem::offset_of!(rpc_message, rpc_argp) - 8usize]; + ["Offset of field: rpc_message::rpc_resp"] + [::core::mem::offset_of!(rpc_message, rpc_resp) - 16usize]; + ["Offset of field: rpc_message::rpc_cred"] + [::core::mem::offset_of!(rpc_message, rpc_cred) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rpc_task { + pub tk_count: atomic_t, + pub tk_status: ::core::ffi::c_int, + pub tk_task: list_head, + pub tk_callback: ::core::option::Option, + pub tk_action: ::core::option::Option, + pub tk_timeout: ::core::ffi::c_ulong, + pub tk_runstate: ::core::ffi::c_ulong, + pub tk_waitqueue: *mut rpc_wait_queue, + pub u: rpc_task__bindgen_ty_1, + pub tk_msg: rpc_message, + pub tk_calldata: *mut ::core::ffi::c_void, + pub tk_ops: *const rpc_call_ops, + pub tk_client: *mut rpc_clnt, + pub tk_xprt: *mut rpc_xprt, + pub tk_op_cred: *mut rpc_cred, + pub tk_rqstp: *mut rpc_rqst, + pub tk_workqueue: *mut workqueue_struct, + pub tk_start: ktime_t, + pub tk_owner: pid_t, + pub tk_rpc_status: ::core::ffi::c_int, + pub tk_flags: ::core::ffi::c_ushort, + pub tk_timeouts: ::core::ffi::c_ushort, + pub tk_pid: ::core::ffi::c_ushort, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: u8, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union rpc_task__bindgen_ty_1 { + pub tk_work: work_struct, + pub tk_wait: rpc_wait, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_task__bindgen_ty_1"][::core::mem::size_of::() - 48usize]; + ["Alignment of rpc_task__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_task__bindgen_ty_1::tk_work"] + [::core::mem::offset_of!(rpc_task__bindgen_ty_1, tk_work) - 0usize]; + ["Offset of field: rpc_task__bindgen_ty_1::tk_wait"] + [::core::mem::offset_of!(rpc_task__bindgen_ty_1, tk_wait) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_task"][::core::mem::size_of::() - 224usize]; + ["Alignment of rpc_task"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_task::tk_count"][::core::mem::offset_of!(rpc_task, tk_count) - 0usize]; + ["Offset of field: rpc_task::tk_status"][::core::mem::offset_of!(rpc_task, tk_status) - 4usize]; + ["Offset of field: rpc_task::tk_task"][::core::mem::offset_of!(rpc_task, tk_task) - 8usize]; + ["Offset of field: rpc_task::tk_callback"] + [::core::mem::offset_of!(rpc_task, tk_callback) - 24usize]; + ["Offset of field: rpc_task::tk_action"] + [::core::mem::offset_of!(rpc_task, tk_action) - 32usize]; + ["Offset of field: rpc_task::tk_timeout"] + [::core::mem::offset_of!(rpc_task, tk_timeout) - 40usize]; + ["Offset of field: rpc_task::tk_runstate"] + [::core::mem::offset_of!(rpc_task, tk_runstate) - 48usize]; + ["Offset of field: rpc_task::tk_waitqueue"] + [::core::mem::offset_of!(rpc_task, tk_waitqueue) - 56usize]; + ["Offset of field: rpc_task::u"][::core::mem::offset_of!(rpc_task, u) - 64usize]; + ["Offset of field: rpc_task::tk_msg"][::core::mem::offset_of!(rpc_task, tk_msg) - 112usize]; + ["Offset of field: rpc_task::tk_calldata"] + [::core::mem::offset_of!(rpc_task, tk_calldata) - 144usize]; + ["Offset of field: rpc_task::tk_ops"][::core::mem::offset_of!(rpc_task, tk_ops) - 152usize]; + ["Offset of field: rpc_task::tk_client"] + [::core::mem::offset_of!(rpc_task, tk_client) - 160usize]; + ["Offset of field: rpc_task::tk_xprt"][::core::mem::offset_of!(rpc_task, tk_xprt) - 168usize]; + ["Offset of field: rpc_task::tk_op_cred"] + [::core::mem::offset_of!(rpc_task, tk_op_cred) - 176usize]; + ["Offset of field: rpc_task::tk_rqstp"][::core::mem::offset_of!(rpc_task, tk_rqstp) - 184usize]; + ["Offset of field: rpc_task::tk_workqueue"] + [::core::mem::offset_of!(rpc_task, tk_workqueue) - 192usize]; + ["Offset of field: rpc_task::tk_start"][::core::mem::offset_of!(rpc_task, tk_start) - 200usize]; + ["Offset of field: rpc_task::tk_owner"][::core::mem::offset_of!(rpc_task, tk_owner) - 208usize]; + ["Offset of field: rpc_task::tk_rpc_status"] + [::core::mem::offset_of!(rpc_task, tk_rpc_status) - 212usize]; + ["Offset of field: rpc_task::tk_flags"][::core::mem::offset_of!(rpc_task, tk_flags) - 216usize]; + ["Offset of field: rpc_task::tk_timeouts"] + [::core::mem::offset_of!(rpc_task, tk_timeouts) - 218usize]; + ["Offset of field: rpc_task::tk_pid"][::core::mem::offset_of!(rpc_task, tk_pid) - 220usize]; +}; +impl rpc_task { + #[inline] + pub fn tk_priority(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_tk_priority(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn tk_priority_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tk_priority_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn tk_garb_retry(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u8) } + } + #[inline] + pub fn set_tk_garb_retry(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn tk_garb_retry_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tk_garb_retry_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn tk_cred_retry(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) } + } + #[inline] + pub fn set_tk_cred_retry(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn tk_cred_retry_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tk_cred_retry_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + tk_priority: ::core::ffi::c_uchar, + tk_garb_retry: ::core::ffi::c_uchar, + tk_cred_retry: ::core::ffi::c_uchar, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let tk_priority: u8 = unsafe { ::core::mem::transmute(tk_priority) }; + tk_priority as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let tk_garb_retry: u8 = unsafe { ::core::mem::transmute(tk_garb_retry) }; + tk_garb_retry as u64 + }); + __bindgen_bitfield_unit.set(4usize, 2u8, { + let tk_cred_retry: u8 = unsafe { ::core::mem::transmute(tk_cred_retry) }; + tk_cred_retry as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_fsid { + pub major: u64, + pub minor: u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fsid"][::core::mem::size_of::() - 16usize]; + ["Alignment of nfs_fsid"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_fsid::major"][::core::mem::offset_of!(nfs_fsid, major) - 0usize]; + ["Offset of field: nfs_fsid::minor"][::core::mem::offset_of!(nfs_fsid, minor) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_fattr { + pub valid: ::core::ffi::c_uint, + pub mode: umode_t, + pub nlink: __u32, + pub uid: kuid_t, + pub gid: kgid_t, + pub rdev: dev_t, + pub size: __u64, + pub du: nfs_fattr__bindgen_ty_1, + pub fsid: nfs_fsid, + pub fileid: __u64, + pub mounted_on_fileid: __u64, + pub atime: timespec64, + pub mtime: timespec64, + pub ctime: timespec64, + pub change_attr: __u64, + pub pre_change_attr: __u64, + pub pre_size: __u64, + pub pre_mtime: timespec64, + pub pre_ctime: timespec64, + pub time_start: ::core::ffi::c_ulong, + pub gencount: ::core::ffi::c_ulong, + pub owner_name: *mut nfs4_string, + pub group_name: *mut nfs4_string, + pub mdsthreshold: *mut nfs4_threshold, + pub label: *mut nfs4_label, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nfs_fattr__bindgen_ty_1 { + pub nfs2: nfs_fattr__bindgen_ty_1__bindgen_ty_1, + pub nfs3: nfs_fattr__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_fattr__bindgen_ty_1__bindgen_ty_1 { + pub blocksize: __u32, + pub blocks: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fattr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of nfs_fattr__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nfs_fattr__bindgen_ty_1__bindgen_ty_1::blocksize"] + [::core::mem::offset_of!(nfs_fattr__bindgen_ty_1__bindgen_ty_1, blocksize) - 0usize]; + ["Offset of field: nfs_fattr__bindgen_ty_1__bindgen_ty_1::blocks"] + [::core::mem::offset_of!(nfs_fattr__bindgen_ty_1__bindgen_ty_1, blocks) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_fattr__bindgen_ty_1__bindgen_ty_2 { + pub used: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fattr__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of nfs_fattr__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_fattr__bindgen_ty_1__bindgen_ty_2::used"] + [::core::mem::offset_of!(nfs_fattr__bindgen_ty_1__bindgen_ty_2, used) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fattr__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of nfs_fattr__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_fattr__bindgen_ty_1::nfs2"] + [::core::mem::offset_of!(nfs_fattr__bindgen_ty_1, nfs2) - 0usize]; + ["Offset of field: nfs_fattr__bindgen_ty_1::nfs3"] + [::core::mem::offset_of!(nfs_fattr__bindgen_ty_1, nfs3) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fattr"][::core::mem::size_of::() - 224usize]; + ["Alignment of nfs_fattr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_fattr::valid"][::core::mem::offset_of!(nfs_fattr, valid) - 0usize]; + ["Offset of field: nfs_fattr::mode"][::core::mem::offset_of!(nfs_fattr, mode) - 4usize]; + ["Offset of field: nfs_fattr::nlink"][::core::mem::offset_of!(nfs_fattr, nlink) - 8usize]; + ["Offset of field: nfs_fattr::uid"][::core::mem::offset_of!(nfs_fattr, uid) - 12usize]; + ["Offset of field: nfs_fattr::gid"][::core::mem::offset_of!(nfs_fattr, gid) - 16usize]; + ["Offset of field: nfs_fattr::rdev"][::core::mem::offset_of!(nfs_fattr, rdev) - 20usize]; + ["Offset of field: nfs_fattr::size"][::core::mem::offset_of!(nfs_fattr, size) - 24usize]; + ["Offset of field: nfs_fattr::du"][::core::mem::offset_of!(nfs_fattr, du) - 32usize]; + ["Offset of field: nfs_fattr::fsid"][::core::mem::offset_of!(nfs_fattr, fsid) - 40usize]; + ["Offset of field: nfs_fattr::fileid"][::core::mem::offset_of!(nfs_fattr, fileid) - 56usize]; + ["Offset of field: nfs_fattr::mounted_on_fileid"] + [::core::mem::offset_of!(nfs_fattr, mounted_on_fileid) - 64usize]; + ["Offset of field: nfs_fattr::atime"][::core::mem::offset_of!(nfs_fattr, atime) - 72usize]; + ["Offset of field: nfs_fattr::mtime"][::core::mem::offset_of!(nfs_fattr, mtime) - 88usize]; + ["Offset of field: nfs_fattr::ctime"][::core::mem::offset_of!(nfs_fattr, ctime) - 104usize]; + ["Offset of field: nfs_fattr::change_attr"] + [::core::mem::offset_of!(nfs_fattr, change_attr) - 120usize]; + ["Offset of field: nfs_fattr::pre_change_attr"] + [::core::mem::offset_of!(nfs_fattr, pre_change_attr) - 128usize]; + ["Offset of field: nfs_fattr::pre_size"] + [::core::mem::offset_of!(nfs_fattr, pre_size) - 136usize]; + ["Offset of field: nfs_fattr::pre_mtime"] + [::core::mem::offset_of!(nfs_fattr, pre_mtime) - 144usize]; + ["Offset of field: nfs_fattr::pre_ctime"] + [::core::mem::offset_of!(nfs_fattr, pre_ctime) - 160usize]; + ["Offset of field: nfs_fattr::time_start"] + [::core::mem::offset_of!(nfs_fattr, time_start) - 176usize]; + ["Offset of field: nfs_fattr::gencount"] + [::core::mem::offset_of!(nfs_fattr, gencount) - 184usize]; + ["Offset of field: nfs_fattr::owner_name"] + [::core::mem::offset_of!(nfs_fattr, owner_name) - 192usize]; + ["Offset of field: nfs_fattr::group_name"] + [::core::mem::offset_of!(nfs_fattr, group_name) - 200usize]; + ["Offset of field: nfs_fattr::mdsthreshold"] + [::core::mem::offset_of!(nfs_fattr, mdsthreshold) - 208usize]; + ["Offset of field: nfs_fattr::label"][::core::mem::offset_of!(nfs_fattr, label) - 216usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_write_verifier { + pub data: [::core::ffi::c_char; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_write_verifier"][::core::mem::size_of::() - 8usize]; + ["Alignment of nfs_write_verifier"][::core::mem::align_of::() - 1usize]; + ["Offset of field: nfs_write_verifier::data"] + [::core::mem::offset_of!(nfs_write_verifier, data) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_writeverf { + pub verifier: nfs_write_verifier, + pub committed: nfs3_stable_how, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_writeverf"][::core::mem::size_of::() - 12usize]; + ["Alignment of nfs_writeverf"][::core::mem::align_of::() - 4usize]; + ["Offset of field: nfs_writeverf::verifier"] + [::core::mem::offset_of!(nfs_writeverf, verifier) - 0usize]; + ["Offset of field: nfs_writeverf::committed"] + [::core::mem::offset_of!(nfs_writeverf, committed) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_direct_req { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_commitargs { + pub seq_args: nfs4_sequence_args, + pub fh: *mut nfs_fh, + pub offset: __u64, + pub count: __u32, + pub bitmask: *const u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_commitargs"][::core::mem::size_of::() - 48usize]; + ["Alignment of nfs_commitargs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_commitargs::seq_args"] + [::core::mem::offset_of!(nfs_commitargs, seq_args) - 0usize]; + ["Offset of field: nfs_commitargs::fh"][::core::mem::offset_of!(nfs_commitargs, fh) - 16usize]; + ["Offset of field: nfs_commitargs::offset"] + [::core::mem::offset_of!(nfs_commitargs, offset) - 24usize]; + ["Offset of field: nfs_commitargs::count"] + [::core::mem::offset_of!(nfs_commitargs, count) - 32usize]; + ["Offset of field: nfs_commitargs::bitmask"] + [::core::mem::offset_of!(nfs_commitargs, bitmask) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_commitres { + pub seq_res: nfs4_sequence_res, + pub op_status: __u32, + pub fattr: *mut nfs_fattr, + pub verf: *mut nfs_writeverf, + pub server: *const nfs_server, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_commitres"][::core::mem::size_of::() - 64usize]; + ["Alignment of nfs_commitres"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_commitres::seq_res"] + [::core::mem::offset_of!(nfs_commitres, seq_res) - 0usize]; + ["Offset of field: nfs_commitres::op_status"] + [::core::mem::offset_of!(nfs_commitres, op_status) - 32usize]; + ["Offset of field: nfs_commitres::fattr"] + [::core::mem::offset_of!(nfs_commitres, fattr) - 40usize]; + ["Offset of field: nfs_commitres::verf"] + [::core::mem::offset_of!(nfs_commitres, verf) - 48usize]; + ["Offset of field: nfs_commitres::server"] + [::core::mem::offset_of!(nfs_commitres, server) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pnfs_layout_segment { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_commit_data { + pub task: rpc_task, + pub inode: *mut inode, + pub cred: *const cred, + pub fattr: nfs_fattr, + pub verf: nfs_writeverf, + pub pages: list_head, + pub list: list_head, + pub dreq: *mut nfs_direct_req, + pub args: nfs_commitargs, + pub res: nfs_commitres, + pub context: *mut nfs_open_context, + pub lseg: *mut pnfs_layout_segment, + pub ds_clp: *mut nfs_client, + pub ds_commit_index: ::core::ffi::c_int, + pub lwb: loff_t, + pub mds_ops: *const rpc_call_ops, + pub completion_ops: *const nfs_commit_completion_ops, + pub commit_done_cb: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_commit_data) -> ::core::ffi::c_int, + >, + pub flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_commit_data"][::core::mem::size_of::() - 704usize]; + ["Alignment of nfs_commit_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_commit_data::task"] + [::core::mem::offset_of!(nfs_commit_data, task) - 0usize]; + ["Offset of field: nfs_commit_data::inode"] + [::core::mem::offset_of!(nfs_commit_data, inode) - 224usize]; + ["Offset of field: nfs_commit_data::cred"] + [::core::mem::offset_of!(nfs_commit_data, cred) - 232usize]; + ["Offset of field: nfs_commit_data::fattr"] + [::core::mem::offset_of!(nfs_commit_data, fattr) - 240usize]; + ["Offset of field: nfs_commit_data::verf"] + [::core::mem::offset_of!(nfs_commit_data, verf) - 464usize]; + ["Offset of field: nfs_commit_data::pages"] + [::core::mem::offset_of!(nfs_commit_data, pages) - 480usize]; + ["Offset of field: nfs_commit_data::list"] + [::core::mem::offset_of!(nfs_commit_data, list) - 496usize]; + ["Offset of field: nfs_commit_data::dreq"] + [::core::mem::offset_of!(nfs_commit_data, dreq) - 512usize]; + ["Offset of field: nfs_commit_data::args"] + [::core::mem::offset_of!(nfs_commit_data, args) - 520usize]; + ["Offset of field: nfs_commit_data::res"] + [::core::mem::offset_of!(nfs_commit_data, res) - 568usize]; + ["Offset of field: nfs_commit_data::context"] + [::core::mem::offset_of!(nfs_commit_data, context) - 632usize]; + ["Offset of field: nfs_commit_data::lseg"] + [::core::mem::offset_of!(nfs_commit_data, lseg) - 640usize]; + ["Offset of field: nfs_commit_data::ds_clp"] + [::core::mem::offset_of!(nfs_commit_data, ds_clp) - 648usize]; + ["Offset of field: nfs_commit_data::ds_commit_index"] + [::core::mem::offset_of!(nfs_commit_data, ds_commit_index) - 656usize]; + ["Offset of field: nfs_commit_data::lwb"] + [::core::mem::offset_of!(nfs_commit_data, lwb) - 664usize]; + ["Offset of field: nfs_commit_data::mds_ops"] + [::core::mem::offset_of!(nfs_commit_data, mds_ops) - 672usize]; + ["Offset of field: nfs_commit_data::completion_ops"] + [::core::mem::offset_of!(nfs_commit_data, completion_ops) - 680usize]; + ["Offset of field: nfs_commit_data::commit_done_cb"] + [::core::mem::offset_of!(nfs_commit_data, commit_done_cb) - 688usize]; + ["Offset of field: nfs_commit_data::flags"] + [::core::mem::offset_of!(nfs_commit_data, flags) - 696usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_commit_info { + pub inode: *mut inode, + pub mds: *mut nfs_mds_commit_info, + pub ds: *mut pnfs_ds_commit_info, + pub dreq: *mut nfs_direct_req, + pub completion_ops: *const nfs_commit_completion_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_commit_info"][::core::mem::size_of::() - 40usize]; + ["Alignment of nfs_commit_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_commit_info::inode"] + [::core::mem::offset_of!(nfs_commit_info, inode) - 0usize]; + ["Offset of field: nfs_commit_info::mds"] + [::core::mem::offset_of!(nfs_commit_info, mds) - 8usize]; + ["Offset of field: nfs_commit_info::ds"] + [::core::mem::offset_of!(nfs_commit_info, ds) - 16usize]; + ["Offset of field: nfs_commit_info::dreq"] + [::core::mem::offset_of!(nfs_commit_info, dreq) - 24usize]; + ["Offset of field: nfs_commit_info::completion_ops"] + [::core::mem::offset_of!(nfs_commit_info, completion_ops) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_entry { + pub ino: __u64, + pub cookie: __u64, + pub name: *const ::core::ffi::c_char, + pub len: ::core::ffi::c_uint, + pub eof: ::core::ffi::c_int, + pub fh: *mut nfs_fh, + pub fattr: *mut nfs_fattr, + pub d_type: ::core::ffi::c_uchar, + pub server: *mut nfs_server, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_entry"][::core::mem::size_of::() - 64usize]; + ["Alignment of nfs_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_entry::ino"][::core::mem::offset_of!(nfs_entry, ino) - 0usize]; + ["Offset of field: nfs_entry::cookie"][::core::mem::offset_of!(nfs_entry, cookie) - 8usize]; + ["Offset of field: nfs_entry::name"][::core::mem::offset_of!(nfs_entry, name) - 16usize]; + ["Offset of field: nfs_entry::len"][::core::mem::offset_of!(nfs_entry, len) - 24usize]; + ["Offset of field: nfs_entry::eof"][::core::mem::offset_of!(nfs_entry, eof) - 28usize]; + ["Offset of field: nfs_entry::fh"][::core::mem::offset_of!(nfs_entry, fh) - 32usize]; + ["Offset of field: nfs_entry::fattr"][::core::mem::offset_of!(nfs_entry, fattr) - 40usize]; + ["Offset of field: nfs_entry::d_type"][::core::mem::offset_of!(nfs_entry, d_type) - 48usize]; + ["Offset of field: nfs_entry::server"][::core::mem::offset_of!(nfs_entry, server) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_fh { + pub size: ::core::ffi::c_ushort, + pub data: [::core::ffi::c_uchar; 128usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fh"][::core::mem::size_of::() - 130usize]; + ["Alignment of nfs_fh"][::core::mem::align_of::() - 2usize]; + ["Offset of field: nfs_fh::size"][::core::mem::offset_of!(nfs_fh, size) - 0usize]; + ["Offset of field: nfs_fh::data"][::core::mem::offset_of!(nfs_fh, data) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_fsinfo { + pub fattr: *mut nfs_fattr, + pub rtmax: __u32, + pub rtpref: __u32, + pub rtmult: __u32, + pub wtmax: __u32, + pub wtpref: __u32, + pub wtmult: __u32, + pub dtpref: __u32, + pub maxfilesize: __u64, + pub time_delta: timespec64, + pub lease_time: __u32, + pub nlayouttypes: __u32, + pub layouttype: [__u32; 8usize], + pub blksize: __u32, + pub clone_blksize: __u32, + pub change_attr_type: nfs4_change_attr_type, + pub xattr_support: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fsinfo"][::core::mem::size_of::() - 120usize]; + ["Alignment of nfs_fsinfo"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_fsinfo::fattr"][::core::mem::offset_of!(nfs_fsinfo, fattr) - 0usize]; + ["Offset of field: nfs_fsinfo::rtmax"][::core::mem::offset_of!(nfs_fsinfo, rtmax) - 8usize]; + ["Offset of field: nfs_fsinfo::rtpref"][::core::mem::offset_of!(nfs_fsinfo, rtpref) - 12usize]; + ["Offset of field: nfs_fsinfo::rtmult"][::core::mem::offset_of!(nfs_fsinfo, rtmult) - 16usize]; + ["Offset of field: nfs_fsinfo::wtmax"][::core::mem::offset_of!(nfs_fsinfo, wtmax) - 20usize]; + ["Offset of field: nfs_fsinfo::wtpref"][::core::mem::offset_of!(nfs_fsinfo, wtpref) - 24usize]; + ["Offset of field: nfs_fsinfo::wtmult"][::core::mem::offset_of!(nfs_fsinfo, wtmult) - 28usize]; + ["Offset of field: nfs_fsinfo::dtpref"][::core::mem::offset_of!(nfs_fsinfo, dtpref) - 32usize]; + ["Offset of field: nfs_fsinfo::maxfilesize"] + [::core::mem::offset_of!(nfs_fsinfo, maxfilesize) - 40usize]; + ["Offset of field: nfs_fsinfo::time_delta"] + [::core::mem::offset_of!(nfs_fsinfo, time_delta) - 48usize]; + ["Offset of field: nfs_fsinfo::lease_time"] + [::core::mem::offset_of!(nfs_fsinfo, lease_time) - 64usize]; + ["Offset of field: nfs_fsinfo::nlayouttypes"] + [::core::mem::offset_of!(nfs_fsinfo, nlayouttypes) - 68usize]; + ["Offset of field: nfs_fsinfo::layouttype"] + [::core::mem::offset_of!(nfs_fsinfo, layouttype) - 72usize]; + ["Offset of field: nfs_fsinfo::blksize"] + [::core::mem::offset_of!(nfs_fsinfo, blksize) - 104usize]; + ["Offset of field: nfs_fsinfo::clone_blksize"] + [::core::mem::offset_of!(nfs_fsinfo, clone_blksize) - 108usize]; + ["Offset of field: nfs_fsinfo::change_attr_type"] + [::core::mem::offset_of!(nfs_fsinfo, change_attr_type) - 112usize]; + ["Offset of field: nfs_fsinfo::xattr_support"] + [::core::mem::offset_of!(nfs_fsinfo, xattr_support) - 116usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_fsstat { + pub fattr: *mut nfs_fattr, + pub tbytes: __u64, + pub fbytes: __u64, + pub abytes: __u64, + pub tfiles: __u64, + pub ffiles: __u64, + pub afiles: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_fsstat"][::core::mem::size_of::() - 56usize]; + ["Alignment of nfs_fsstat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_fsstat::fattr"][::core::mem::offset_of!(nfs_fsstat, fattr) - 0usize]; + ["Offset of field: nfs_fsstat::tbytes"][::core::mem::offset_of!(nfs_fsstat, tbytes) - 8usize]; + ["Offset of field: nfs_fsstat::fbytes"][::core::mem::offset_of!(nfs_fsstat, fbytes) - 16usize]; + ["Offset of field: nfs_fsstat::abytes"][::core::mem::offset_of!(nfs_fsstat, abytes) - 24usize]; + ["Offset of field: nfs_fsstat::tfiles"][::core::mem::offset_of!(nfs_fsstat, tfiles) - 32usize]; + ["Offset of field: nfs_fsstat::ffiles"][::core::mem::offset_of!(nfs_fsstat, ffiles) - 40usize]; + ["Offset of field: nfs_fsstat::afiles"][::core::mem::offset_of!(nfs_fsstat, afiles) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_lock_context { + pub count: refcount_t, + pub list: list_head, + pub open_context: *mut nfs_open_context, + pub lockowner: fl_owner_t, + pub io_count: atomic_t, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_lock_context"][::core::mem::size_of::() - 64usize]; + ["Alignment of nfs_lock_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_lock_context::count"] + [::core::mem::offset_of!(nfs_lock_context, count) - 0usize]; + ["Offset of field: nfs_lock_context::list"] + [::core::mem::offset_of!(nfs_lock_context, list) - 8usize]; + ["Offset of field: nfs_lock_context::open_context"] + [::core::mem::offset_of!(nfs_lock_context, open_context) - 24usize]; + ["Offset of field: nfs_lock_context::lockowner"] + [::core::mem::offset_of!(nfs_lock_context, lockowner) - 32usize]; + ["Offset of field: nfs_lock_context::io_count"] + [::core::mem::offset_of!(nfs_lock_context, io_count) - 40usize]; + ["Offset of field: nfs_lock_context::callback_head"] + [::core::mem::offset_of!(nfs_lock_context, callback_head) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_mds_commit_info { + pub rpcs_out: atomic_t, + pub ncommit: atomic_long_t, + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_mds_commit_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of nfs_mds_commit_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_mds_commit_info::rpcs_out"] + [::core::mem::offset_of!(nfs_mds_commit_info, rpcs_out) - 0usize]; + ["Offset of field: nfs_mds_commit_info::ncommit"] + [::core::mem::offset_of!(nfs_mds_commit_info, ncommit) - 8usize]; + ["Offset of field: nfs_mds_commit_info::list"] + [::core::mem::offset_of!(nfs_mds_commit_info, list) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_open_context { + pub lock_context: nfs_lock_context, + pub flock_owner: fl_owner_t, + pub dentry: *mut dentry, + pub cred: *const cred, + pub ll_cred: *mut rpc_cred, + pub state: *mut nfs4_state, + pub mode: fmode_t, + pub flags: ::core::ffi::c_ulong, + pub error: ::core::ffi::c_int, + pub list: list_head, + pub mdsthreshold: *mut nfs4_threshold, + pub callback_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_open_context"][::core::mem::size_of::() - 168usize]; + ["Alignment of nfs_open_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_open_context::lock_context"] + [::core::mem::offset_of!(nfs_open_context, lock_context) - 0usize]; + ["Offset of field: nfs_open_context::flock_owner"] + [::core::mem::offset_of!(nfs_open_context, flock_owner) - 64usize]; + ["Offset of field: nfs_open_context::dentry"] + [::core::mem::offset_of!(nfs_open_context, dentry) - 72usize]; + ["Offset of field: nfs_open_context::cred"] + [::core::mem::offset_of!(nfs_open_context, cred) - 80usize]; + ["Offset of field: nfs_open_context::ll_cred"] + [::core::mem::offset_of!(nfs_open_context, ll_cred) - 88usize]; + ["Offset of field: nfs_open_context::state"] + [::core::mem::offset_of!(nfs_open_context, state) - 96usize]; + ["Offset of field: nfs_open_context::mode"] + [::core::mem::offset_of!(nfs_open_context, mode) - 104usize]; + ["Offset of field: nfs_open_context::flags"] + [::core::mem::offset_of!(nfs_open_context, flags) - 112usize]; + ["Offset of field: nfs_open_context::error"] + [::core::mem::offset_of!(nfs_open_context, error) - 120usize]; + ["Offset of field: nfs_open_context::list"] + [::core::mem::offset_of!(nfs_open_context, list) - 128usize]; + ["Offset of field: nfs_open_context::mdsthreshold"] + [::core::mem::offset_of!(nfs_open_context, mdsthreshold) - 144usize]; + ["Offset of field: nfs_open_context::callback_head"] + [::core::mem::offset_of!(nfs_open_context, callback_head) - 152usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_page_array { + pub pagevec: *mut *mut page, + pub npages: ::core::ffi::c_uint, + pub page_array: [*mut page; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_page_array"][::core::mem::size_of::() - 80usize]; + ["Alignment of nfs_page_array"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_page_array::pagevec"] + [::core::mem::offset_of!(nfs_page_array, pagevec) - 0usize]; + ["Offset of field: nfs_page_array::npages"] + [::core::mem::offset_of!(nfs_page_array, npages) - 8usize]; + ["Offset of field: nfs_page_array::page_array"] + [::core::mem::offset_of!(nfs_page_array, page_array) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_pathconf { + pub fattr: *mut nfs_fattr, + pub max_link: __u32, + pub max_namelen: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pathconf"][::core::mem::size_of::() - 16usize]; + ["Alignment of nfs_pathconf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pathconf::fattr"][::core::mem::offset_of!(nfs_pathconf, fattr) - 0usize]; + ["Offset of field: nfs_pathconf::max_link"] + [::core::mem::offset_of!(nfs_pathconf, max_link) - 8usize]; + ["Offset of field: nfs_pathconf::max_namelen"] + [::core::mem::offset_of!(nfs_pathconf, max_namelen) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_pgio_args { + pub seq_args: nfs4_sequence_args, + pub fh: *mut nfs_fh, + pub context: *mut nfs_open_context, + pub lock_context: *mut nfs_lock_context, + pub stateid: nfs4_stateid, + pub offset: __u64, + pub count: __u32, + pub pgbase: ::core::ffi::c_uint, + pub pages: *mut *mut page, + pub __bindgen_anon_1: nfs_pgio_args__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nfs_pgio_args__bindgen_ty_1 { + pub replen: ::core::ffi::c_uint, + pub __bindgen_anon_1: nfs_pgio_args__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_pgio_args__bindgen_ty_1__bindgen_ty_1 { + pub bitmask: *const u32_, + pub bitmask_store: [u32_; 3usize], + pub stable: nfs3_stable_how, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_args__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of nfs_pgio_args__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_args__bindgen_ty_1__bindgen_ty_1::bitmask"] + [::core::mem::offset_of!(nfs_pgio_args__bindgen_ty_1__bindgen_ty_1, bitmask) - 0usize]; + ["Offset of field: nfs_pgio_args__bindgen_ty_1__bindgen_ty_1::bitmask_store"][::core::mem::offset_of!( + nfs_pgio_args__bindgen_ty_1__bindgen_ty_1, + bitmask_store + ) - 8usize]; + ["Offset of field: nfs_pgio_args__bindgen_ty_1__bindgen_ty_1::stable"] + [::core::mem::offset_of!(nfs_pgio_args__bindgen_ty_1__bindgen_ty_1, stable) - 20usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_args__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of nfs_pgio_args__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_args__bindgen_ty_1::replen"] + [::core::mem::offset_of!(nfs_pgio_args__bindgen_ty_1, replen) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_args"][::core::mem::size_of::() - 112usize]; + ["Alignment of nfs_pgio_args"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_args::seq_args"] + [::core::mem::offset_of!(nfs_pgio_args, seq_args) - 0usize]; + ["Offset of field: nfs_pgio_args::fh"][::core::mem::offset_of!(nfs_pgio_args, fh) - 16usize]; + ["Offset of field: nfs_pgio_args::context"] + [::core::mem::offset_of!(nfs_pgio_args, context) - 24usize]; + ["Offset of field: nfs_pgio_args::lock_context"] + [::core::mem::offset_of!(nfs_pgio_args, lock_context) - 32usize]; + ["Offset of field: nfs_pgio_args::stateid"] + [::core::mem::offset_of!(nfs_pgio_args, stateid) - 40usize]; + ["Offset of field: nfs_pgio_args::offset"] + [::core::mem::offset_of!(nfs_pgio_args, offset) - 64usize]; + ["Offset of field: nfs_pgio_args::count"] + [::core::mem::offset_of!(nfs_pgio_args, count) - 72usize]; + ["Offset of field: nfs_pgio_args::pgbase"] + [::core::mem::offset_of!(nfs_pgio_args, pgbase) - 76usize]; + ["Offset of field: nfs_pgio_args::pages"] + [::core::mem::offset_of!(nfs_pgio_args, pages) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_pgio_completion_ops { + pub error_cleanup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut list_head, arg2: ::core::ffi::c_int), + >, + pub init_hdr: ::core::option::Option, + pub completion: ::core::option::Option, + pub reschedule_io: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_completion_ops"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of nfs_pgio_completion_ops"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_completion_ops::error_cleanup"] + [::core::mem::offset_of!(nfs_pgio_completion_ops, error_cleanup) - 0usize]; + ["Offset of field: nfs_pgio_completion_ops::init_hdr"] + [::core::mem::offset_of!(nfs_pgio_completion_ops, init_hdr) - 8usize]; + ["Offset of field: nfs_pgio_completion_ops::completion"] + [::core::mem::offset_of!(nfs_pgio_completion_ops, completion) - 16usize]; + ["Offset of field: nfs_pgio_completion_ops::reschedule_io"] + [::core::mem::offset_of!(nfs_pgio_completion_ops, reschedule_io) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_rw_ops { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_io_completion { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_pgio_res { + pub seq_res: nfs4_sequence_res, + pub fattr: *mut nfs_fattr, + pub count: __u64, + pub op_status: __u32, + pub __bindgen_anon_1: nfs_pgio_res__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nfs_pgio_res__bindgen_ty_1 { + pub __bindgen_anon_1: nfs_pgio_res__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: nfs_pgio_res__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_pgio_res__bindgen_ty_1__bindgen_ty_1 { + pub replen: ::core::ffi::c_uint, + pub eof: ::core::ffi::c_int, + pub scratch: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_res__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of nfs_pgio_res__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_res__bindgen_ty_1__bindgen_ty_1::replen"] + [::core::mem::offset_of!(nfs_pgio_res__bindgen_ty_1__bindgen_ty_1, replen) - 0usize]; + ["Offset of field: nfs_pgio_res__bindgen_ty_1__bindgen_ty_1::eof"] + [::core::mem::offset_of!(nfs_pgio_res__bindgen_ty_1__bindgen_ty_1, eof) - 4usize]; + ["Offset of field: nfs_pgio_res__bindgen_ty_1__bindgen_ty_1::scratch"] + [::core::mem::offset_of!(nfs_pgio_res__bindgen_ty_1__bindgen_ty_1, scratch) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_pgio_res__bindgen_ty_1__bindgen_ty_2 { + pub verf: *mut nfs_writeverf, + pub server: *const nfs_server, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_res__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of nfs_pgio_res__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_res__bindgen_ty_1__bindgen_ty_2::verf"] + [::core::mem::offset_of!(nfs_pgio_res__bindgen_ty_1__bindgen_ty_2, verf) - 0usize]; + ["Offset of field: nfs_pgio_res__bindgen_ty_1__bindgen_ty_2::server"] + [::core::mem::offset_of!(nfs_pgio_res__bindgen_ty_1__bindgen_ty_2, server) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_res__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of nfs_pgio_res__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_res"][::core::mem::size_of::() - 72usize]; + ["Alignment of nfs_pgio_res"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_res::seq_res"] + [::core::mem::offset_of!(nfs_pgio_res, seq_res) - 0usize]; + ["Offset of field: nfs_pgio_res::fattr"] + [::core::mem::offset_of!(nfs_pgio_res, fattr) - 32usize]; + ["Offset of field: nfs_pgio_res::count"] + [::core::mem::offset_of!(nfs_pgio_res, count) - 40usize]; + ["Offset of field: nfs_pgio_res::op_status"] + [::core::mem::offset_of!(nfs_pgio_res, op_status) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_pgio_header { + pub inode: *mut inode, + pub cred: *const cred, + pub pages: list_head, + pub req: *mut nfs_page, + pub verf: nfs_writeverf, + pub rw_mode: fmode_t, + pub lseg: *mut pnfs_layout_segment, + pub io_start: loff_t, + pub mds_ops: *const rpc_call_ops, + pub release: ::core::option::Option, + pub completion_ops: *const nfs_pgio_completion_ops, + pub rw_ops: *const nfs_rw_ops, + pub io_completion: *mut nfs_io_completion, + pub dreq: *mut nfs_direct_req, + pub netfs: *mut ::core::ffi::c_void, + pub pnfs_error: ::core::ffi::c_int, + pub error: ::core::ffi::c_int, + pub good_bytes: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_ulong, + pub task: rpc_task, + pub fattr: nfs_fattr, + pub args: nfs_pgio_args, + pub res: nfs_pgio_res, + pub timestamp: ::core::ffi::c_ulong, + pub pgio_done_cb: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_pgio_header) -> ::core::ffi::c_int, + >, + pub mds_offset: __u64, + pub page_array: nfs_page_array, + pub ds_clp: *mut nfs_client, + pub ds_commit_idx: u32_, + pub pgio_mirror_idx: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_pgio_header"][::core::mem::size_of::() - 904usize]; + ["Alignment of nfs_pgio_header"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_pgio_header::inode"] + [::core::mem::offset_of!(nfs_pgio_header, inode) - 0usize]; + ["Offset of field: nfs_pgio_header::cred"] + [::core::mem::offset_of!(nfs_pgio_header, cred) - 8usize]; + ["Offset of field: nfs_pgio_header::pages"] + [::core::mem::offset_of!(nfs_pgio_header, pages) - 16usize]; + ["Offset of field: nfs_pgio_header::req"] + [::core::mem::offset_of!(nfs_pgio_header, req) - 32usize]; + ["Offset of field: nfs_pgio_header::verf"] + [::core::mem::offset_of!(nfs_pgio_header, verf) - 40usize]; + ["Offset of field: nfs_pgio_header::rw_mode"] + [::core::mem::offset_of!(nfs_pgio_header, rw_mode) - 52usize]; + ["Offset of field: nfs_pgio_header::lseg"] + [::core::mem::offset_of!(nfs_pgio_header, lseg) - 56usize]; + ["Offset of field: nfs_pgio_header::io_start"] + [::core::mem::offset_of!(nfs_pgio_header, io_start) - 64usize]; + ["Offset of field: nfs_pgio_header::mds_ops"] + [::core::mem::offset_of!(nfs_pgio_header, mds_ops) - 72usize]; + ["Offset of field: nfs_pgio_header::release"] + [::core::mem::offset_of!(nfs_pgio_header, release) - 80usize]; + ["Offset of field: nfs_pgio_header::completion_ops"] + [::core::mem::offset_of!(nfs_pgio_header, completion_ops) - 88usize]; + ["Offset of field: nfs_pgio_header::rw_ops"] + [::core::mem::offset_of!(nfs_pgio_header, rw_ops) - 96usize]; + ["Offset of field: nfs_pgio_header::io_completion"] + [::core::mem::offset_of!(nfs_pgio_header, io_completion) - 104usize]; + ["Offset of field: nfs_pgio_header::dreq"] + [::core::mem::offset_of!(nfs_pgio_header, dreq) - 112usize]; + ["Offset of field: nfs_pgio_header::netfs"] + [::core::mem::offset_of!(nfs_pgio_header, netfs) - 120usize]; + ["Offset of field: nfs_pgio_header::pnfs_error"] + [::core::mem::offset_of!(nfs_pgio_header, pnfs_error) - 128usize]; + ["Offset of field: nfs_pgio_header::error"] + [::core::mem::offset_of!(nfs_pgio_header, error) - 132usize]; + ["Offset of field: nfs_pgio_header::good_bytes"] + [::core::mem::offset_of!(nfs_pgio_header, good_bytes) - 136usize]; + ["Offset of field: nfs_pgio_header::flags"] + [::core::mem::offset_of!(nfs_pgio_header, flags) - 144usize]; + ["Offset of field: nfs_pgio_header::task"] + [::core::mem::offset_of!(nfs_pgio_header, task) - 152usize]; + ["Offset of field: nfs_pgio_header::fattr"] + [::core::mem::offset_of!(nfs_pgio_header, fattr) - 376usize]; + ["Offset of field: nfs_pgio_header::args"] + [::core::mem::offset_of!(nfs_pgio_header, args) - 600usize]; + ["Offset of field: nfs_pgio_header::res"] + [::core::mem::offset_of!(nfs_pgio_header, res) - 712usize]; + ["Offset of field: nfs_pgio_header::timestamp"] + [::core::mem::offset_of!(nfs_pgio_header, timestamp) - 784usize]; + ["Offset of field: nfs_pgio_header::pgio_done_cb"] + [::core::mem::offset_of!(nfs_pgio_header, pgio_done_cb) - 792usize]; + ["Offset of field: nfs_pgio_header::mds_offset"] + [::core::mem::offset_of!(nfs_pgio_header, mds_offset) - 800usize]; + ["Offset of field: nfs_pgio_header::page_array"] + [::core::mem::offset_of!(nfs_pgio_header, page_array) - 808usize]; + ["Offset of field: nfs_pgio_header::ds_clp"] + [::core::mem::offset_of!(nfs_pgio_header, ds_clp) - 888usize]; + ["Offset of field: nfs_pgio_header::ds_commit_idx"] + [::core::mem::offset_of!(nfs_pgio_header, ds_commit_idx) - 896usize]; + ["Offset of field: nfs_pgio_header::pgio_mirror_idx"] + [::core::mem::offset_of!(nfs_pgio_header, pgio_mirror_idx) - 900usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_readdir_arg { + pub dentry: *mut dentry, + pub cred: *const cred, + pub verf: *mut __be32, + pub cookie: u64_, + pub pages: *mut *mut page, + pub page_len: ::core::ffi::c_uint, + pub plus: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_readdir_arg"][::core::mem::size_of::() - 48usize]; + ["Alignment of nfs_readdir_arg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_readdir_arg::dentry"] + [::core::mem::offset_of!(nfs_readdir_arg, dentry) - 0usize]; + ["Offset of field: nfs_readdir_arg::cred"] + [::core::mem::offset_of!(nfs_readdir_arg, cred) - 8usize]; + ["Offset of field: nfs_readdir_arg::verf"] + [::core::mem::offset_of!(nfs_readdir_arg, verf) - 16usize]; + ["Offset of field: nfs_readdir_arg::cookie"] + [::core::mem::offset_of!(nfs_readdir_arg, cookie) - 24usize]; + ["Offset of field: nfs_readdir_arg::pages"] + [::core::mem::offset_of!(nfs_readdir_arg, pages) - 32usize]; + ["Offset of field: nfs_readdir_arg::page_len"] + [::core::mem::offset_of!(nfs_readdir_arg, page_len) - 40usize]; + ["Offset of field: nfs_readdir_arg::plus"] + [::core::mem::offset_of!(nfs_readdir_arg, plus) - 44usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_readdir_res { + pub verf: *mut __be32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_readdir_res"][::core::mem::size_of::() - 8usize]; + ["Alignment of nfs_readdir_res"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_readdir_res::verf"] + [::core::mem::offset_of!(nfs_readdir_res, verf) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_removeargs { + pub seq_args: nfs4_sequence_args, + pub fh: *const nfs_fh, + pub name: qstr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_removeargs"][::core::mem::size_of::() - 40usize]; + ["Alignment of nfs_removeargs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_removeargs::seq_args"] + [::core::mem::offset_of!(nfs_removeargs, seq_args) - 0usize]; + ["Offset of field: nfs_removeargs::fh"][::core::mem::offset_of!(nfs_removeargs, fh) - 16usize]; + ["Offset of field: nfs_removeargs::name"] + [::core::mem::offset_of!(nfs_removeargs, name) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_removeres { + pub seq_res: nfs4_sequence_res, + pub server: *mut nfs_server, + pub dir_attr: *mut nfs_fattr, + pub cinfo: nfs4_change_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_removeres"][::core::mem::size_of::() - 72usize]; + ["Alignment of nfs_removeres"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_removeres::seq_res"] + [::core::mem::offset_of!(nfs_removeres, seq_res) - 0usize]; + ["Offset of field: nfs_removeres::server"] + [::core::mem::offset_of!(nfs_removeres, server) - 32usize]; + ["Offset of field: nfs_removeres::dir_attr"] + [::core::mem::offset_of!(nfs_removeres, dir_attr) - 40usize]; + ["Offset of field: nfs_removeres::cinfo"] + [::core::mem::offset_of!(nfs_removeres, cinfo) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_renameargs { + pub seq_args: nfs4_sequence_args, + pub old_dir: *const nfs_fh, + pub new_dir: *const nfs_fh, + pub old_name: *const qstr, + pub new_name: *const qstr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_renameargs"][::core::mem::size_of::() - 48usize]; + ["Alignment of nfs_renameargs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_renameargs::seq_args"] + [::core::mem::offset_of!(nfs_renameargs, seq_args) - 0usize]; + ["Offset of field: nfs_renameargs::old_dir"] + [::core::mem::offset_of!(nfs_renameargs, old_dir) - 16usize]; + ["Offset of field: nfs_renameargs::new_dir"] + [::core::mem::offset_of!(nfs_renameargs, new_dir) - 24usize]; + ["Offset of field: nfs_renameargs::old_name"] + [::core::mem::offset_of!(nfs_renameargs, old_name) - 32usize]; + ["Offset of field: nfs_renameargs::new_name"] + [::core::mem::offset_of!(nfs_renameargs, new_name) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_renameres { + pub seq_res: nfs4_sequence_res, + pub server: *mut nfs_server, + pub old_cinfo: nfs4_change_info, + pub old_fattr: *mut nfs_fattr, + pub new_cinfo: nfs4_change_info, + pub new_fattr: *mut nfs_fattr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_renameres"][::core::mem::size_of::() - 104usize]; + ["Alignment of nfs_renameres"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_renameres::seq_res"] + [::core::mem::offset_of!(nfs_renameres, seq_res) - 0usize]; + ["Offset of field: nfs_renameres::server"] + [::core::mem::offset_of!(nfs_renameres, server) - 32usize]; + ["Offset of field: nfs_renameres::old_cinfo"] + [::core::mem::offset_of!(nfs_renameres, old_cinfo) - 40usize]; + ["Offset of field: nfs_renameres::old_fattr"] + [::core::mem::offset_of!(nfs_renameres, old_fattr) - 64usize]; + ["Offset of field: nfs_renameres::new_cinfo"] + [::core::mem::offset_of!(nfs_renameres, new_cinfo) - 72usize]; + ["Offset of field: nfs_renameres::new_fattr"] + [::core::mem::offset_of!(nfs_renameres, new_fattr) - 96usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_renamedata { + pub args: nfs_renameargs, + pub res: nfs_renameres, + pub task: rpc_task, + pub cred: *const cred, + pub old_dir: *mut inode, + pub old_dentry: *mut dentry, + pub old_fattr: nfs_fattr, + pub new_dir: *mut inode, + pub new_dentry: *mut dentry, + pub new_fattr: nfs_fattr, + pub complete: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_renamedata), + >, + pub timeout: ::core::ffi::c_long, + pub cancelled: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_renamedata"][::core::mem::size_of::() - 888usize]; + ["Alignment of nfs_renamedata"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_renamedata::args"] + [::core::mem::offset_of!(nfs_renamedata, args) - 0usize]; + ["Offset of field: nfs_renamedata::res"] + [::core::mem::offset_of!(nfs_renamedata, res) - 48usize]; + ["Offset of field: nfs_renamedata::task"] + [::core::mem::offset_of!(nfs_renamedata, task) - 152usize]; + ["Offset of field: nfs_renamedata::cred"] + [::core::mem::offset_of!(nfs_renamedata, cred) - 376usize]; + ["Offset of field: nfs_renamedata::old_dir"] + [::core::mem::offset_of!(nfs_renamedata, old_dir) - 384usize]; + ["Offset of field: nfs_renamedata::old_dentry"] + [::core::mem::offset_of!(nfs_renamedata, old_dentry) - 392usize]; + ["Offset of field: nfs_renamedata::old_fattr"] + [::core::mem::offset_of!(nfs_renamedata, old_fattr) - 400usize]; + ["Offset of field: nfs_renamedata::new_dir"] + [::core::mem::offset_of!(nfs_renamedata, new_dir) - 624usize]; + ["Offset of field: nfs_renamedata::new_dentry"] + [::core::mem::offset_of!(nfs_renamedata, new_dentry) - 632usize]; + ["Offset of field: nfs_renamedata::new_fattr"] + [::core::mem::offset_of!(nfs_renamedata, new_fattr) - 640usize]; + ["Offset of field: nfs_renamedata::complete"] + [::core::mem::offset_of!(nfs_renamedata, complete) - 864usize]; + ["Offset of field: nfs_renamedata::timeout"] + [::core::mem::offset_of!(nfs_renamedata, timeout) - 872usize]; + ["Offset of field: nfs_renamedata::cancelled"] + [::core::mem::offset_of!(nfs_renamedata, cancelled) - 880usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nlmclnt_operations { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_client_initdata { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_rpc_ops { + pub version: u32_, + pub dentry_ops: *const dentry_operations, + pub dir_inode_ops: *const inode_operations, + pub file_inode_ops: *const inode_operations, + pub file_ops: *const file_operations, + pub nlmclnt_ops: *const nlmclnt_operations, + pub getroot: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs_fsinfo, + ) -> ::core::ffi::c_int, + >, + pub submount: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut fs_context, arg2: *mut nfs_server) -> ::core::ffi::c_int, + >, + pub try_get_tree: + ::core::option::Option ::core::ffi::c_int>, + pub getattr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs_fattr, + arg4: *mut inode, + ) -> ::core::ffi::c_int, + >, + pub setattr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut dentry, + arg2: *mut nfs_fattr, + arg3: *mut iattr, + ) -> ::core::ffi::c_int, + >, + pub lookup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut dentry, + arg3: *mut nfs_fh, + arg4: *mut nfs_fattr, + ) -> ::core::ffi::c_int, + >, + pub lookupp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut nfs_fh, + arg3: *mut nfs_fattr, + ) -> ::core::ffi::c_int, + >, + pub access: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut nfs_access_entry, + arg3: *const cred, + ) -> ::core::ffi::c_int, + >, + pub readlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut page, + arg3: ::core::ffi::c_uint, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub create: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut dentry, + arg3: *mut iattr, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub remove: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut dentry) -> ::core::ffi::c_int, + >, + pub unlink_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_message, arg2: *mut dentry, arg3: *mut inode), + >, + pub unlink_rpc_prepare: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_unlinkdata), + >, + pub unlink_done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut inode) -> ::core::ffi::c_int, + >, + pub rename_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_message, arg2: *mut dentry, arg3: *mut dentry), + >, + pub rename_rpc_prepare: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_renamedata), + >, + pub rename_done: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_task, + arg2: *mut inode, + arg3: *mut inode, + ) -> ::core::ffi::c_int, + >, + pub link: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut inode, + arg3: *const qstr, + ) -> ::core::ffi::c_int, + >, + pub symlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut dentry, + arg3: *mut folio, + arg4: ::core::ffi::c_uint, + arg5: *mut iattr, + ) -> ::core::ffi::c_int, + >, + pub mkdir: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut dentry, + arg3: *mut iattr, + ) -> ::core::ffi::c_int, + >, + pub rmdir: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *const qstr) -> ::core::ffi::c_int, + >, + pub readdir: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_readdir_arg, + arg2: *mut nfs_readdir_res, + ) -> ::core::ffi::c_int, + >, + pub mknod: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut dentry, + arg3: *mut iattr, + arg4: dev_t, + ) -> ::core::ffi::c_int, + >, + pub statfs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs_fsstat, + ) -> ::core::ffi::c_int, + >, + pub fsinfo: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs_fsinfo, + ) -> ::core::ffi::c_int, + >, + pub pathconf: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs_pathconf, + ) -> ::core::ffi::c_int, + >, + pub set_capabilities: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_server, arg2: *mut nfs_fh) -> ::core::ffi::c_int, + >, + pub decode_dirent: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut xdr_stream, + arg2: *mut nfs_entry, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub pgio_rpc_prepare: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_pgio_header) -> ::core::ffi::c_int, + >, + pub read_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_pgio_header, arg2: *mut rpc_message), + >, + pub read_done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_pgio_header) -> ::core::ffi::c_int, + >, + pub write_setup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_pgio_header, + arg2: *mut rpc_message, + arg3: *mut *mut rpc_clnt, + ), + >, + pub write_done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_pgio_header) -> ::core::ffi::c_int, + >, + pub commit_setup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_commit_data, + arg2: *mut rpc_message, + arg3: *mut *mut rpc_clnt, + ), + >, + pub commit_rpc_prepare: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_commit_data), + >, + pub commit_done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut nfs_commit_data) -> ::core::ffi::c_int, + >, + pub lock: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_int, + arg3: *mut file_lock, + ) -> ::core::ffi::c_int, + >, + pub lock_check_bounds: + ::core::option::Option ::core::ffi::c_int>, + pub clear_acl_cache: ::core::option::Option, + pub close_context: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_open_context, arg2: ::core::ffi::c_int), + >, + pub open_context: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: *mut nfs_open_context, + arg3: ::core::ffi::c_int, + arg4: *mut iattr, + arg5: *mut ::core::ffi::c_int, + ) -> *mut inode, + >, + pub have_delegation: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut inode, + arg2: fmode_t, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub return_delegation: + ::core::option::Option ::core::ffi::c_int>, + pub alloc_client: ::core::option::Option< + unsafe extern "C" fn(arg1: *const nfs_client_initdata) -> *mut nfs_client, + >, + pub init_client: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_client, + arg2: *const nfs_client_initdata, + ) -> *mut nfs_client, + >, + pub free_client: ::core::option::Option, + pub create_server: + ::core::option::Option *mut nfs_server>, + pub clone_server: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut nfs_server, + arg2: *mut nfs_fh, + arg3: *mut nfs_fattr, + arg4: rpc_authflavor_t, + ) -> *mut nfs_server, + >, + pub discover_trunking: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nfs_server, arg2: *mut nfs_fh) -> ::core::ffi::c_int, + >, + pub enable_swap: ::core::option::Option, + pub disable_swap: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_rpc_ops"][::core::mem::size_of::() - 456usize]; + ["Alignment of nfs_rpc_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_rpc_ops::version"] + [::core::mem::offset_of!(nfs_rpc_ops, version) - 0usize]; + ["Offset of field: nfs_rpc_ops::dentry_ops"] + [::core::mem::offset_of!(nfs_rpc_ops, dentry_ops) - 8usize]; + ["Offset of field: nfs_rpc_ops::dir_inode_ops"] + [::core::mem::offset_of!(nfs_rpc_ops, dir_inode_ops) - 16usize]; + ["Offset of field: nfs_rpc_ops::file_inode_ops"] + [::core::mem::offset_of!(nfs_rpc_ops, file_inode_ops) - 24usize]; + ["Offset of field: nfs_rpc_ops::file_ops"] + [::core::mem::offset_of!(nfs_rpc_ops, file_ops) - 32usize]; + ["Offset of field: nfs_rpc_ops::nlmclnt_ops"] + [::core::mem::offset_of!(nfs_rpc_ops, nlmclnt_ops) - 40usize]; + ["Offset of field: nfs_rpc_ops::getroot"] + [::core::mem::offset_of!(nfs_rpc_ops, getroot) - 48usize]; + ["Offset of field: nfs_rpc_ops::submount"] + [::core::mem::offset_of!(nfs_rpc_ops, submount) - 56usize]; + ["Offset of field: nfs_rpc_ops::try_get_tree"] + [::core::mem::offset_of!(nfs_rpc_ops, try_get_tree) - 64usize]; + ["Offset of field: nfs_rpc_ops::getattr"] + [::core::mem::offset_of!(nfs_rpc_ops, getattr) - 72usize]; + ["Offset of field: nfs_rpc_ops::setattr"] + [::core::mem::offset_of!(nfs_rpc_ops, setattr) - 80usize]; + ["Offset of field: nfs_rpc_ops::lookup"] + [::core::mem::offset_of!(nfs_rpc_ops, lookup) - 88usize]; + ["Offset of field: nfs_rpc_ops::lookupp"] + [::core::mem::offset_of!(nfs_rpc_ops, lookupp) - 96usize]; + ["Offset of field: nfs_rpc_ops::access"] + [::core::mem::offset_of!(nfs_rpc_ops, access) - 104usize]; + ["Offset of field: nfs_rpc_ops::readlink"] + [::core::mem::offset_of!(nfs_rpc_ops, readlink) - 112usize]; + ["Offset of field: nfs_rpc_ops::create"] + [::core::mem::offset_of!(nfs_rpc_ops, create) - 120usize]; + ["Offset of field: nfs_rpc_ops::remove"] + [::core::mem::offset_of!(nfs_rpc_ops, remove) - 128usize]; + ["Offset of field: nfs_rpc_ops::unlink_setup"] + [::core::mem::offset_of!(nfs_rpc_ops, unlink_setup) - 136usize]; + ["Offset of field: nfs_rpc_ops::unlink_rpc_prepare"] + [::core::mem::offset_of!(nfs_rpc_ops, unlink_rpc_prepare) - 144usize]; + ["Offset of field: nfs_rpc_ops::unlink_done"] + [::core::mem::offset_of!(nfs_rpc_ops, unlink_done) - 152usize]; + ["Offset of field: nfs_rpc_ops::rename_setup"] + [::core::mem::offset_of!(nfs_rpc_ops, rename_setup) - 160usize]; + ["Offset of field: nfs_rpc_ops::rename_rpc_prepare"] + [::core::mem::offset_of!(nfs_rpc_ops, rename_rpc_prepare) - 168usize]; + ["Offset of field: nfs_rpc_ops::rename_done"] + [::core::mem::offset_of!(nfs_rpc_ops, rename_done) - 176usize]; + ["Offset of field: nfs_rpc_ops::link"][::core::mem::offset_of!(nfs_rpc_ops, link) - 184usize]; + ["Offset of field: nfs_rpc_ops::symlink"] + [::core::mem::offset_of!(nfs_rpc_ops, symlink) - 192usize]; + ["Offset of field: nfs_rpc_ops::mkdir"][::core::mem::offset_of!(nfs_rpc_ops, mkdir) - 200usize]; + ["Offset of field: nfs_rpc_ops::rmdir"][::core::mem::offset_of!(nfs_rpc_ops, rmdir) - 208usize]; + ["Offset of field: nfs_rpc_ops::readdir"] + [::core::mem::offset_of!(nfs_rpc_ops, readdir) - 216usize]; + ["Offset of field: nfs_rpc_ops::mknod"][::core::mem::offset_of!(nfs_rpc_ops, mknod) - 224usize]; + ["Offset of field: nfs_rpc_ops::statfs"] + [::core::mem::offset_of!(nfs_rpc_ops, statfs) - 232usize]; + ["Offset of field: nfs_rpc_ops::fsinfo"] + [::core::mem::offset_of!(nfs_rpc_ops, fsinfo) - 240usize]; + ["Offset of field: nfs_rpc_ops::pathconf"] + [::core::mem::offset_of!(nfs_rpc_ops, pathconf) - 248usize]; + ["Offset of field: nfs_rpc_ops::set_capabilities"] + [::core::mem::offset_of!(nfs_rpc_ops, set_capabilities) - 256usize]; + ["Offset of field: nfs_rpc_ops::decode_dirent"] + [::core::mem::offset_of!(nfs_rpc_ops, decode_dirent) - 264usize]; + ["Offset of field: nfs_rpc_ops::pgio_rpc_prepare"] + [::core::mem::offset_of!(nfs_rpc_ops, pgio_rpc_prepare) - 272usize]; + ["Offset of field: nfs_rpc_ops::read_setup"] + [::core::mem::offset_of!(nfs_rpc_ops, read_setup) - 280usize]; + ["Offset of field: nfs_rpc_ops::read_done"] + [::core::mem::offset_of!(nfs_rpc_ops, read_done) - 288usize]; + ["Offset of field: nfs_rpc_ops::write_setup"] + [::core::mem::offset_of!(nfs_rpc_ops, write_setup) - 296usize]; + ["Offset of field: nfs_rpc_ops::write_done"] + [::core::mem::offset_of!(nfs_rpc_ops, write_done) - 304usize]; + ["Offset of field: nfs_rpc_ops::commit_setup"] + [::core::mem::offset_of!(nfs_rpc_ops, commit_setup) - 312usize]; + ["Offset of field: nfs_rpc_ops::commit_rpc_prepare"] + [::core::mem::offset_of!(nfs_rpc_ops, commit_rpc_prepare) - 320usize]; + ["Offset of field: nfs_rpc_ops::commit_done"] + [::core::mem::offset_of!(nfs_rpc_ops, commit_done) - 328usize]; + ["Offset of field: nfs_rpc_ops::lock"][::core::mem::offset_of!(nfs_rpc_ops, lock) - 336usize]; + ["Offset of field: nfs_rpc_ops::lock_check_bounds"] + [::core::mem::offset_of!(nfs_rpc_ops, lock_check_bounds) - 344usize]; + ["Offset of field: nfs_rpc_ops::clear_acl_cache"] + [::core::mem::offset_of!(nfs_rpc_ops, clear_acl_cache) - 352usize]; + ["Offset of field: nfs_rpc_ops::close_context"] + [::core::mem::offset_of!(nfs_rpc_ops, close_context) - 360usize]; + ["Offset of field: nfs_rpc_ops::open_context"] + [::core::mem::offset_of!(nfs_rpc_ops, open_context) - 368usize]; + ["Offset of field: nfs_rpc_ops::have_delegation"] + [::core::mem::offset_of!(nfs_rpc_ops, have_delegation) - 376usize]; + ["Offset of field: nfs_rpc_ops::return_delegation"] + [::core::mem::offset_of!(nfs_rpc_ops, return_delegation) - 384usize]; + ["Offset of field: nfs_rpc_ops::alloc_client"] + [::core::mem::offset_of!(nfs_rpc_ops, alloc_client) - 392usize]; + ["Offset of field: nfs_rpc_ops::init_client"] + [::core::mem::offset_of!(nfs_rpc_ops, init_client) - 400usize]; + ["Offset of field: nfs_rpc_ops::free_client"] + [::core::mem::offset_of!(nfs_rpc_ops, free_client) - 408usize]; + ["Offset of field: nfs_rpc_ops::create_server"] + [::core::mem::offset_of!(nfs_rpc_ops, create_server) - 416usize]; + ["Offset of field: nfs_rpc_ops::clone_server"] + [::core::mem::offset_of!(nfs_rpc_ops, clone_server) - 424usize]; + ["Offset of field: nfs_rpc_ops::discover_trunking"] + [::core::mem::offset_of!(nfs_rpc_ops, discover_trunking) - 432usize]; + ["Offset of field: nfs_rpc_ops::enable_swap"] + [::core::mem::offset_of!(nfs_rpc_ops, enable_swap) - 440usize]; + ["Offset of field: nfs_rpc_ops::disable_swap"] + [::core::mem::offset_of!(nfs_rpc_ops, disable_swap) - 448usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_seqid { + pub sequence: *mut nfs_seqid_counter, + pub list: list_head, + pub task: *mut rpc_task, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_seqid"][::core::mem::size_of::() - 32usize]; + ["Alignment of nfs_seqid"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_seqid::sequence"][::core::mem::offset_of!(nfs_seqid, sequence) - 0usize]; + ["Offset of field: nfs_seqid::list"][::core::mem::offset_of!(nfs_seqid, list) - 8usize]; + ["Offset of field: nfs_seqid::task"][::core::mem::offset_of!(nfs_seqid, task) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nlm_host { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nfs_iostats { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fscache_volume { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pnfs_layoutdriver_type { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_server { + pub nfs_client: *mut nfs_client, + pub client_link: list_head, + pub master_link: list_head, + pub client: *mut rpc_clnt, + pub client_acl: *mut rpc_clnt, + pub nlm_host: *mut nlm_host, + pub io_stats: *mut nfs_iostats, + pub write_congestion_wait: wait_queue_head_t, + pub writeback: atomic_long_t, + pub write_congested: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_uint, + pub fattr_valid: ::core::ffi::c_uint, + pub caps: ::core::ffi::c_uint, + pub rsize: ::core::ffi::c_uint, + pub rpages: ::core::ffi::c_uint, + pub wsize: ::core::ffi::c_uint, + pub wpages: ::core::ffi::c_uint, + pub wtmult: ::core::ffi::c_uint, + pub dtsize: ::core::ffi::c_uint, + pub port: ::core::ffi::c_ushort, + pub bsize: ::core::ffi::c_uint, + pub gxasize: ::core::ffi::c_uint, + pub sxasize: ::core::ffi::c_uint, + pub lxasize: ::core::ffi::c_uint, + pub acregmin: ::core::ffi::c_uint, + pub acregmax: ::core::ffi::c_uint, + pub acdirmin: ::core::ffi::c_uint, + pub acdirmax: ::core::ffi::c_uint, + pub namelen: ::core::ffi::c_uint, + pub options: ::core::ffi::c_uint, + pub clone_blksize: ::core::ffi::c_uint, + pub change_attr_type: nfs4_change_attr_type, + pub fsid: nfs_fsid, + pub s_sysfs_id: ::core::ffi::c_int, + pub maxfilesize: __u64, + pub time_delta: timespec64, + pub mount_time: ::core::ffi::c_ulong, + pub super_: *mut super_block, + pub s_dev: dev_t, + pub auth_info: nfs_auth_info, + pub fscache: *mut fscache_volume, + pub fscache_uniq: *mut ::core::ffi::c_char, + pub fh_expire_type: u32_, + pub pnfs_blksize: u32_, + pub attr_bitmask: [u32_; 3usize], + pub attr_bitmask_nl: [u32_; 3usize], + pub exclcreat_bitmask: [u32_; 3usize], + pub cache_consistency_bitmask: [u32_; 3usize], + pub acl_bitmask: u32_, + pub pnfs_curr_ld: *mut pnfs_layoutdriver_type, + pub roc_rpcwaitq: rpc_wait_queue, + pub pnfs_ld_data: *mut ::core::ffi::c_void, + pub state_owners: rb_root, + pub owner_ctr: atomic64_t, + pub state_owners_lru: list_head, + pub layouts: list_head, + pub delegations: list_head, + pub ss_copies: list_head, + pub ss_src_copies: list_head, + pub delegation_flags: ::core::ffi::c_ulong, + pub delegation_gen: ::core::ffi::c_ulong, + pub mig_gen: ::core::ffi::c_ulong, + pub mig_status: ::core::ffi::c_ulong, + pub destroy: ::core::option::Option, + pub active: atomic_t, + pub mountd_address: __kernel_sockaddr_storage, + pub mountd_addrlen: usize, + pub mountd_version: u32_, + pub mountd_port: ::core::ffi::c_ushort, + pub mountd_protocol: ::core::ffi::c_ushort, + pub uoc_rpcwaitq: rpc_wait_queue, + pub read_hdrsize: ::core::ffi::c_uint, + pub cred: *const cred, + pub has_sec_mnt_opts: bool_, + pub kobj: kobject, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_server"][::core::mem::size_of::() - 1208usize]; + ["Alignment of nfs_server"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_server::nfs_client"] + [::core::mem::offset_of!(nfs_server, nfs_client) - 0usize]; + ["Offset of field: nfs_server::client_link"] + [::core::mem::offset_of!(nfs_server, client_link) - 8usize]; + ["Offset of field: nfs_server::master_link"] + [::core::mem::offset_of!(nfs_server, master_link) - 24usize]; + ["Offset of field: nfs_server::client"][::core::mem::offset_of!(nfs_server, client) - 40usize]; + ["Offset of field: nfs_server::client_acl"] + [::core::mem::offset_of!(nfs_server, client_acl) - 48usize]; + ["Offset of field: nfs_server::nlm_host"] + [::core::mem::offset_of!(nfs_server, nlm_host) - 56usize]; + ["Offset of field: nfs_server::io_stats"] + [::core::mem::offset_of!(nfs_server, io_stats) - 64usize]; + ["Offset of field: nfs_server::write_congestion_wait"] + [::core::mem::offset_of!(nfs_server, write_congestion_wait) - 72usize]; + ["Offset of field: nfs_server::writeback"] + [::core::mem::offset_of!(nfs_server, writeback) - 96usize]; + ["Offset of field: nfs_server::write_congested"] + [::core::mem::offset_of!(nfs_server, write_congested) - 104usize]; + ["Offset of field: nfs_server::flags"][::core::mem::offset_of!(nfs_server, flags) - 108usize]; + ["Offset of field: nfs_server::fattr_valid"] + [::core::mem::offset_of!(nfs_server, fattr_valid) - 112usize]; + ["Offset of field: nfs_server::caps"][::core::mem::offset_of!(nfs_server, caps) - 116usize]; + ["Offset of field: nfs_server::rsize"][::core::mem::offset_of!(nfs_server, rsize) - 120usize]; + ["Offset of field: nfs_server::rpages"][::core::mem::offset_of!(nfs_server, rpages) - 124usize]; + ["Offset of field: nfs_server::wsize"][::core::mem::offset_of!(nfs_server, wsize) - 128usize]; + ["Offset of field: nfs_server::wpages"][::core::mem::offset_of!(nfs_server, wpages) - 132usize]; + ["Offset of field: nfs_server::wtmult"][::core::mem::offset_of!(nfs_server, wtmult) - 136usize]; + ["Offset of field: nfs_server::dtsize"][::core::mem::offset_of!(nfs_server, dtsize) - 140usize]; + ["Offset of field: nfs_server::port"][::core::mem::offset_of!(nfs_server, port) - 144usize]; + ["Offset of field: nfs_server::bsize"][::core::mem::offset_of!(nfs_server, bsize) - 148usize]; + ["Offset of field: nfs_server::gxasize"] + [::core::mem::offset_of!(nfs_server, gxasize) - 152usize]; + ["Offset of field: nfs_server::sxasize"] + [::core::mem::offset_of!(nfs_server, sxasize) - 156usize]; + ["Offset of field: nfs_server::lxasize"] + [::core::mem::offset_of!(nfs_server, lxasize) - 160usize]; + ["Offset of field: nfs_server::acregmin"] + [::core::mem::offset_of!(nfs_server, acregmin) - 164usize]; + ["Offset of field: nfs_server::acregmax"] + [::core::mem::offset_of!(nfs_server, acregmax) - 168usize]; + ["Offset of field: nfs_server::acdirmin"] + [::core::mem::offset_of!(nfs_server, acdirmin) - 172usize]; + ["Offset of field: nfs_server::acdirmax"] + [::core::mem::offset_of!(nfs_server, acdirmax) - 176usize]; + ["Offset of field: nfs_server::namelen"] + [::core::mem::offset_of!(nfs_server, namelen) - 180usize]; + ["Offset of field: nfs_server::options"] + [::core::mem::offset_of!(nfs_server, options) - 184usize]; + ["Offset of field: nfs_server::clone_blksize"] + [::core::mem::offset_of!(nfs_server, clone_blksize) - 188usize]; + ["Offset of field: nfs_server::change_attr_type"] + [::core::mem::offset_of!(nfs_server, change_attr_type) - 192usize]; + ["Offset of field: nfs_server::fsid"][::core::mem::offset_of!(nfs_server, fsid) - 200usize]; + ["Offset of field: nfs_server::s_sysfs_id"] + [::core::mem::offset_of!(nfs_server, s_sysfs_id) - 216usize]; + ["Offset of field: nfs_server::maxfilesize"] + [::core::mem::offset_of!(nfs_server, maxfilesize) - 224usize]; + ["Offset of field: nfs_server::time_delta"] + [::core::mem::offset_of!(nfs_server, time_delta) - 232usize]; + ["Offset of field: nfs_server::mount_time"] + [::core::mem::offset_of!(nfs_server, mount_time) - 248usize]; + ["Offset of field: nfs_server::super_"][::core::mem::offset_of!(nfs_server, super_) - 256usize]; + ["Offset of field: nfs_server::s_dev"][::core::mem::offset_of!(nfs_server, s_dev) - 264usize]; + ["Offset of field: nfs_server::auth_info"] + [::core::mem::offset_of!(nfs_server, auth_info) - 268usize]; + ["Offset of field: nfs_server::fscache"] + [::core::mem::offset_of!(nfs_server, fscache) - 320usize]; + ["Offset of field: nfs_server::fscache_uniq"] + [::core::mem::offset_of!(nfs_server, fscache_uniq) - 328usize]; + ["Offset of field: nfs_server::fh_expire_type"] + [::core::mem::offset_of!(nfs_server, fh_expire_type) - 336usize]; + ["Offset of field: nfs_server::pnfs_blksize"] + [::core::mem::offset_of!(nfs_server, pnfs_blksize) - 340usize]; + ["Offset of field: nfs_server::attr_bitmask"] + [::core::mem::offset_of!(nfs_server, attr_bitmask) - 344usize]; + ["Offset of field: nfs_server::attr_bitmask_nl"] + [::core::mem::offset_of!(nfs_server, attr_bitmask_nl) - 356usize]; + ["Offset of field: nfs_server::exclcreat_bitmask"] + [::core::mem::offset_of!(nfs_server, exclcreat_bitmask) - 368usize]; + ["Offset of field: nfs_server::cache_consistency_bitmask"] + [::core::mem::offset_of!(nfs_server, cache_consistency_bitmask) - 380usize]; + ["Offset of field: nfs_server::acl_bitmask"] + [::core::mem::offset_of!(nfs_server, acl_bitmask) - 392usize]; + ["Offset of field: nfs_server::pnfs_curr_ld"] + [::core::mem::offset_of!(nfs_server, pnfs_curr_ld) - 400usize]; + ["Offset of field: nfs_server::roc_rpcwaitq"] + [::core::mem::offset_of!(nfs_server, roc_rpcwaitq) - 408usize]; + ["Offset of field: nfs_server::pnfs_ld_data"] + [::core::mem::offset_of!(nfs_server, pnfs_ld_data) - 608usize]; + ["Offset of field: nfs_server::state_owners"] + [::core::mem::offset_of!(nfs_server, state_owners) - 616usize]; + ["Offset of field: nfs_server::owner_ctr"] + [::core::mem::offset_of!(nfs_server, owner_ctr) - 624usize]; + ["Offset of field: nfs_server::state_owners_lru"] + [::core::mem::offset_of!(nfs_server, state_owners_lru) - 632usize]; + ["Offset of field: nfs_server::layouts"] + [::core::mem::offset_of!(nfs_server, layouts) - 648usize]; + ["Offset of field: nfs_server::delegations"] + [::core::mem::offset_of!(nfs_server, delegations) - 664usize]; + ["Offset of field: nfs_server::ss_copies"] + [::core::mem::offset_of!(nfs_server, ss_copies) - 680usize]; + ["Offset of field: nfs_server::ss_src_copies"] + [::core::mem::offset_of!(nfs_server, ss_src_copies) - 696usize]; + ["Offset of field: nfs_server::delegation_flags"] + [::core::mem::offset_of!(nfs_server, delegation_flags) - 712usize]; + ["Offset of field: nfs_server::delegation_gen"] + [::core::mem::offset_of!(nfs_server, delegation_gen) - 720usize]; + ["Offset of field: nfs_server::mig_gen"] + [::core::mem::offset_of!(nfs_server, mig_gen) - 728usize]; + ["Offset of field: nfs_server::mig_status"] + [::core::mem::offset_of!(nfs_server, mig_status) - 736usize]; + ["Offset of field: nfs_server::destroy"] + [::core::mem::offset_of!(nfs_server, destroy) - 744usize]; + ["Offset of field: nfs_server::active"][::core::mem::offset_of!(nfs_server, active) - 752usize]; + ["Offset of field: nfs_server::mountd_address"] + [::core::mem::offset_of!(nfs_server, mountd_address) - 760usize]; + ["Offset of field: nfs_server::mountd_addrlen"] + [::core::mem::offset_of!(nfs_server, mountd_addrlen) - 888usize]; + ["Offset of field: nfs_server::mountd_version"] + [::core::mem::offset_of!(nfs_server, mountd_version) - 896usize]; + ["Offset of field: nfs_server::mountd_port"] + [::core::mem::offset_of!(nfs_server, mountd_port) - 900usize]; + ["Offset of field: nfs_server::mountd_protocol"] + [::core::mem::offset_of!(nfs_server, mountd_protocol) - 902usize]; + ["Offset of field: nfs_server::uoc_rpcwaitq"] + [::core::mem::offset_of!(nfs_server, uoc_rpcwaitq) - 904usize]; + ["Offset of field: nfs_server::read_hdrsize"] + [::core::mem::offset_of!(nfs_server, read_hdrsize) - 1104usize]; + ["Offset of field: nfs_server::cred"][::core::mem::offset_of!(nfs_server, cred) - 1112usize]; + ["Offset of field: nfs_server::has_sec_mnt_opts"] + [::core::mem::offset_of!(nfs_server, has_sec_mnt_opts) - 1120usize]; + ["Offset of field: nfs_server::kobj"][::core::mem::offset_of!(nfs_server, kobj) - 1128usize]; + ["Offset of field: nfs_server::rcu"][::core::mem::offset_of!(nfs_server, rcu) - 1192usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nfs_unlinkdata { + pub args: nfs_removeargs, + pub res: nfs_removeres, + pub dentry: *mut dentry, + pub wq: wait_queue_head_t, + pub cred: *const cred, + pub dir_attr: nfs_fattr, + pub timeout: ::core::ffi::c_long, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nfs_unlinkdata"][::core::mem::size_of::() - 384usize]; + ["Alignment of nfs_unlinkdata"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nfs_unlinkdata::args"] + [::core::mem::offset_of!(nfs_unlinkdata, args) - 0usize]; + ["Offset of field: nfs_unlinkdata::res"] + [::core::mem::offset_of!(nfs_unlinkdata, res) - 40usize]; + ["Offset of field: nfs_unlinkdata::dentry"] + [::core::mem::offset_of!(nfs_unlinkdata, dentry) - 112usize]; + ["Offset of field: nfs_unlinkdata::wq"][::core::mem::offset_of!(nfs_unlinkdata, wq) - 120usize]; + ["Offset of field: nfs_unlinkdata::cred"] + [::core::mem::offset_of!(nfs_unlinkdata, cred) - 144usize]; + ["Offset of field: nfs_unlinkdata::dir_attr"] + [::core::mem::offset_of!(nfs_unlinkdata, dir_attr) - 152usize]; + ["Offset of field: nfs_unlinkdata::timeout"] + [::core::mem::offset_of!(nfs_unlinkdata, timeout) - 376usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nh_grp_entry { + pub nh: *mut nexthop, + pub stats: *mut nh_grp_entry_stats, + pub weight: u16_, + pub __bindgen_anon_1: nh_grp_entry__bindgen_ty_1, + pub nh_list: list_head, + pub nh_parent: *mut nexthop, + pub packets_hw: u64_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nh_grp_entry__bindgen_ty_1 { + pub hthr: nh_grp_entry__bindgen_ty_1__bindgen_ty_1, + pub res: nh_grp_entry__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nh_grp_entry__bindgen_ty_1__bindgen_ty_1 { + pub upper_bound: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_grp_entry__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of nh_grp_entry__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nh_grp_entry__bindgen_ty_1__bindgen_ty_1::upper_bound"] + [::core::mem::offset_of!(nh_grp_entry__bindgen_ty_1__bindgen_ty_1, upper_bound) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nh_grp_entry__bindgen_ty_1__bindgen_ty_2 { + pub uw_nh_entry: list_head, + pub count_buckets: u16_, + pub wants_buckets: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_grp_entry__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of nh_grp_entry__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_grp_entry__bindgen_ty_1__bindgen_ty_2::uw_nh_entry"] + [::core::mem::offset_of!(nh_grp_entry__bindgen_ty_1__bindgen_ty_2, uw_nh_entry) - 0usize]; + ["Offset of field: nh_grp_entry__bindgen_ty_1__bindgen_ty_2::count_buckets"][::core::mem::offset_of!( + nh_grp_entry__bindgen_ty_1__bindgen_ty_2, + count_buckets + ) - 16usize]; + ["Offset of field: nh_grp_entry__bindgen_ty_1__bindgen_ty_2::wants_buckets"][::core::mem::offset_of!( + nh_grp_entry__bindgen_ty_1__bindgen_ty_2, + wants_buckets + ) - 18usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_grp_entry__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of nh_grp_entry__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_grp_entry__bindgen_ty_1::hthr"] + [::core::mem::offset_of!(nh_grp_entry__bindgen_ty_1, hthr) - 0usize]; + ["Offset of field: nh_grp_entry__bindgen_ty_1::res"] + [::core::mem::offset_of!(nh_grp_entry__bindgen_ty_1, res) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_grp_entry"][::core::mem::size_of::() - 80usize]; + ["Alignment of nh_grp_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_grp_entry::nh"][::core::mem::offset_of!(nh_grp_entry, nh) - 0usize]; + ["Offset of field: nh_grp_entry::stats"][::core::mem::offset_of!(nh_grp_entry, stats) - 8usize]; + ["Offset of field: nh_grp_entry::weight"] + [::core::mem::offset_of!(nh_grp_entry, weight) - 16usize]; + ["Offset of field: nh_grp_entry::nh_list"] + [::core::mem::offset_of!(nh_grp_entry, nh_list) - 48usize]; + ["Offset of field: nh_grp_entry::nh_parent"] + [::core::mem::offset_of!(nh_grp_entry, nh_parent) - 64usize]; + ["Offset of field: nh_grp_entry::packets_hw"] + [::core::mem::offset_of!(nh_grp_entry, packets_hw) - 72usize]; +}; +#[repr(C)] +pub struct nh_group { + pub spare: *mut nh_group, + pub num_nh: u16_, + pub is_multipath: bool_, + pub hash_threshold: bool_, + pub resilient: bool_, + pub fdb_nh: bool_, + pub has_v4: bool_, + pub hw_stats: bool_, + pub res_table: *mut nh_res_table, + pub nh_entries: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_group"][::core::mem::size_of::() - 24usize]; + ["Alignment of nh_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_group::spare"][::core::mem::offset_of!(nh_group, spare) - 0usize]; + ["Offset of field: nh_group::num_nh"][::core::mem::offset_of!(nh_group, num_nh) - 8usize]; + ["Offset of field: nh_group::is_multipath"] + [::core::mem::offset_of!(nh_group, is_multipath) - 10usize]; + ["Offset of field: nh_group::hash_threshold"] + [::core::mem::offset_of!(nh_group, hash_threshold) - 11usize]; + ["Offset of field: nh_group::resilient"] + [::core::mem::offset_of!(nh_group, resilient) - 12usize]; + ["Offset of field: nh_group::fdb_nh"][::core::mem::offset_of!(nh_group, fdb_nh) - 13usize]; + ["Offset of field: nh_group::has_v4"][::core::mem::offset_of!(nh_group, has_v4) - 14usize]; + ["Offset of field: nh_group::hw_stats"][::core::mem::offset_of!(nh_group, hw_stats) - 15usize]; + ["Offset of field: nh_group::res_table"] + [::core::mem::offset_of!(nh_group, res_table) - 16usize]; + ["Offset of field: nh_group::nh_entries"] + [::core::mem::offset_of!(nh_group, nh_entries) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nh_grp_entry_stats { + pub packets: u64_stats_t, + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_grp_entry_stats"][::core::mem::size_of::() - 8usize]; + ["Alignment of nh_grp_entry_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_grp_entry_stats::packets"] + [::core::mem::offset_of!(nh_grp_entry_stats, packets) - 0usize]; + ["Offset of field: nh_grp_entry_stats::syncp"] + [::core::mem::offset_of!(nh_grp_entry_stats, syncp) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nh_info { + pub dev_hash: hlist_node, + pub nh_parent: *mut nexthop, + pub family: u8_, + pub reject_nh: bool_, + pub fdb_nh: bool_, + pub __bindgen_anon_1: nh_info__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nh_info__bindgen_ty_1 { + pub fib_nhc: fib_nh_common, + pub fib_nh: fib_nh, + pub fib6_nh: fib6_nh, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_info__bindgen_ty_1"][::core::mem::size_of::() - 112usize]; + ["Alignment of nh_info__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_info__bindgen_ty_1::fib_nhc"] + [::core::mem::offset_of!(nh_info__bindgen_ty_1, fib_nhc) - 0usize]; + ["Offset of field: nh_info__bindgen_ty_1::fib_nh"] + [::core::mem::offset_of!(nh_info__bindgen_ty_1, fib_nh) - 0usize]; + ["Offset of field: nh_info__bindgen_ty_1::fib6_nh"] + [::core::mem::offset_of!(nh_info__bindgen_ty_1, fib6_nh) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_info"][::core::mem::size_of::() - 144usize]; + ["Alignment of nh_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_info::dev_hash"][::core::mem::offset_of!(nh_info, dev_hash) - 0usize]; + ["Offset of field: nh_info::nh_parent"][::core::mem::offset_of!(nh_info, nh_parent) - 16usize]; + ["Offset of field: nh_info::family"][::core::mem::offset_of!(nh_info, family) - 24usize]; + ["Offset of field: nh_info::reject_nh"][::core::mem::offset_of!(nh_info, reject_nh) - 25usize]; + ["Offset of field: nh_info::fdb_nh"][::core::mem::offset_of!(nh_info, fdb_nh) - 26usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nh_res_bucket { + pub nh_entry: *mut nh_grp_entry, + pub used_time: atomic_long_t, + pub migrated_time: ::core::ffi::c_ulong, + pub occupied: bool_, + pub nh_flags: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_res_bucket"][::core::mem::size_of::() - 32usize]; + ["Alignment of nh_res_bucket"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_res_bucket::nh_entry"] + [::core::mem::offset_of!(nh_res_bucket, nh_entry) - 0usize]; + ["Offset of field: nh_res_bucket::used_time"] + [::core::mem::offset_of!(nh_res_bucket, used_time) - 8usize]; + ["Offset of field: nh_res_bucket::migrated_time"] + [::core::mem::offset_of!(nh_res_bucket, migrated_time) - 16usize]; + ["Offset of field: nh_res_bucket::occupied"] + [::core::mem::offset_of!(nh_res_bucket, occupied) - 24usize]; + ["Offset of field: nh_res_bucket::nh_flags"] + [::core::mem::offset_of!(nh_res_bucket, nh_flags) - 25usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct nh_res_table { + pub net: *mut net, + pub nhg_id: u32_, + pub upkeep_dw: delayed_work, + pub uw_nh_entries: list_head, + pub unbalanced_since: ::core::ffi::c_ulong, + pub idle_timer: u32_, + pub unbalanced_timer: u32_, + pub num_nh_buckets: u16_, + pub nh_buckets: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nh_res_table"][::core::mem::size_of::() - 144usize]; + ["Alignment of nh_res_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nh_res_table::net"][::core::mem::offset_of!(nh_res_table, net) - 0usize]; + ["Offset of field: nh_res_table::nhg_id"] + [::core::mem::offset_of!(nh_res_table, nhg_id) - 8usize]; + ["Offset of field: nh_res_table::upkeep_dw"] + [::core::mem::offset_of!(nh_res_table, upkeep_dw) - 16usize]; + ["Offset of field: nh_res_table::uw_nh_entries"] + [::core::mem::offset_of!(nh_res_table, uw_nh_entries) - 104usize]; + ["Offset of field: nh_res_table::unbalanced_since"] + [::core::mem::offset_of!(nh_res_table, unbalanced_since) - 120usize]; + ["Offset of field: nh_res_table::idle_timer"] + [::core::mem::offset_of!(nh_res_table, idle_timer) - 128usize]; + ["Offset of field: nh_res_table::unbalanced_timer"] + [::core::mem::offset_of!(nh_res_table, unbalanced_timer) - 132usize]; + ["Offset of field: nh_res_table::num_nh_buckets"] + [::core::mem::offset_of!(nh_res_table, num_nh_buckets) - 136usize]; + ["Offset of field: nh_res_table::nh_buckets"] + [::core::mem::offset_of!(nh_res_table, nh_buckets) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nl80211_vendor_cmd_info { + pub vendor_id: __u32, + pub subcmd: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nl80211_vendor_cmd_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of nl80211_vendor_cmd_info"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nl80211_vendor_cmd_info::vendor_id"] + [::core::mem::offset_of!(nl80211_vendor_cmd_info, vendor_id) - 0usize]; + ["Offset of field: nl80211_vendor_cmd_info::subcmd"] + [::core::mem::offset_of!(nl80211_vendor_cmd_info, subcmd) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nl80211_wowlan_tcp_data_token_feature { + pub min_len: __u32, + pub max_len: __u32, + pub bufsize: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nl80211_wowlan_tcp_data_token_feature"] + [::core::mem::size_of::() - 12usize]; + ["Alignment of nl80211_wowlan_tcp_data_token_feature"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: nl80211_wowlan_tcp_data_token_feature::min_len"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_token_feature, min_len) - 0usize]; + ["Offset of field: nl80211_wowlan_tcp_data_token_feature::max_len"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_token_feature, max_len) - 4usize]; + ["Offset of field: nl80211_wowlan_tcp_data_token_feature::bufsize"] + [::core::mem::offset_of!(nl80211_wowlan_tcp_data_token_feature, bufsize) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct nla_policy { + pub type_: u8_, + pub validation_type: u8_, + pub len: u16_, + pub __bindgen_anon_1: nla_policy__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union nla_policy__bindgen_ty_1 { + pub strict_start_type: u16_, + pub bitfield32_valid: u32_, + pub mask: u32_, + pub reject_message: *const ::core::ffi::c_char, + pub nested_policy: *const nla_policy, + pub range: *const netlink_range_validation, + pub range_signed: *const netlink_range_validation_signed, + pub __bindgen_anon_1: nla_policy__bindgen_ty_1__bindgen_ty_1, + pub validate: ::core::option::Option< + unsafe extern "C" fn(arg1: *const nlattr, arg2: *mut netlink_ext_ack) -> ::core::ffi::c_int, + >, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nla_policy__bindgen_ty_1__bindgen_ty_1 { + pub min: s16, + pub max: s16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nla_policy__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of nla_policy__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: nla_policy__bindgen_ty_1__bindgen_ty_1::min"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1__bindgen_ty_1, min) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1__bindgen_ty_1::max"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1__bindgen_ty_1, max) - 2usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nla_policy__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of nla_policy__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: nla_policy__bindgen_ty_1::strict_start_type"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, strict_start_type) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1::bitfield32_valid"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, bitfield32_valid) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1::mask"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, mask) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1::reject_message"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, reject_message) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1::nested_policy"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, nested_policy) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1::range"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, range) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1::range_signed"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, range_signed) - 0usize]; + ["Offset of field: nla_policy__bindgen_ty_1::validate"] + [::core::mem::offset_of!(nla_policy__bindgen_ty_1, validate) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nla_policy"][::core::mem::size_of::() - 16usize]; + ["Alignment of nla_policy"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nla_policy::type_"][::core::mem::offset_of!(nla_policy, type_) - 0usize]; + ["Offset of field: nla_policy::validation_type"] + [::core::mem::offset_of!(nla_policy, validation_type) - 1usize]; + ["Offset of field: nla_policy::len"][::core::mem::offset_of!(nla_policy, len) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nlattr { + pub nla_len: __u16, + pub nla_type: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nlattr"][::core::mem::size_of::() - 4usize]; + ["Alignment of nlattr"][::core::mem::align_of::() - 2usize]; + ["Offset of field: nlattr::nla_len"][::core::mem::offset_of!(nlattr, nla_len) - 0usize]; + ["Offset of field: nlattr::nla_type"][::core::mem::offset_of!(nlattr, nla_type) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct notification { + pub requests: atomic_t, + pub flags: u32_, + pub next_id: u64_, + pub notifications: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of notification"][::core::mem::size_of::() - 32usize]; + ["Alignment of notification"][::core::mem::align_of::() - 8usize]; + ["Offset of field: notification::requests"] + [::core::mem::offset_of!(notification, requests) - 0usize]; + ["Offset of field: notification::flags"][::core::mem::offset_of!(notification, flags) - 4usize]; + ["Offset of field: notification::next_id"] + [::core::mem::offset_of!(notification, next_id) - 8usize]; + ["Offset of field: notification::notifications"] + [::core::mem::offset_of!(notification, notifications) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nsproxy { + pub count: refcount_t, + pub uts_ns: *mut uts_namespace, + pub ipc_ns: *mut ipc_namespace, + pub mnt_ns: *mut mnt_namespace, + pub pid_ns_for_children: *mut pid_namespace, + pub net_ns: *mut net, + pub time_ns: *mut time_namespace, + pub time_ns_for_children: *mut time_namespace, + pub cgroup_ns: *mut cgroup_namespace, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nsproxy"][::core::mem::size_of::() - 72usize]; + ["Alignment of nsproxy"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nsproxy::count"][::core::mem::offset_of!(nsproxy, count) - 0usize]; + ["Offset of field: nsproxy::uts_ns"][::core::mem::offset_of!(nsproxy, uts_ns) - 8usize]; + ["Offset of field: nsproxy::ipc_ns"][::core::mem::offset_of!(nsproxy, ipc_ns) - 16usize]; + ["Offset of field: nsproxy::mnt_ns"][::core::mem::offset_of!(nsproxy, mnt_ns) - 24usize]; + ["Offset of field: nsproxy::pid_ns_for_children"] + [::core::mem::offset_of!(nsproxy, pid_ns_for_children) - 32usize]; + ["Offset of field: nsproxy::net_ns"][::core::mem::offset_of!(nsproxy, net_ns) - 40usize]; + ["Offset of field: nsproxy::time_ns"][::core::mem::offset_of!(nsproxy, time_ns) - 48usize]; + ["Offset of field: nsproxy::time_ns_for_children"] + [::core::mem::offset_of!(nsproxy, time_ns_for_children) - 56usize]; + ["Offset of field: nsproxy::cgroup_ns"][::core::mem::offset_of!(nsproxy, cgroup_ns) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct nsset { + pub flags: ::core::ffi::c_uint, + pub nsproxy: *mut nsproxy, + pub fs: *mut fs_struct, + pub cred: *const cred, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of nsset"][::core::mem::size_of::() - 32usize]; + ["Alignment of nsset"][::core::mem::align_of::() - 8usize]; + ["Offset of field: nsset::flags"][::core::mem::offset_of!(nsset, flags) - 0usize]; + ["Offset of field: nsset::nsproxy"][::core::mem::offset_of!(nsset, nsproxy) - 8usize]; + ["Offset of field: nsset::fs"][::core::mem::offset_of!(nsset, fs) - 16usize]; + ["Offset of field: nsset::cred"][::core::mem::offset_of!(nsset, cred) - 24usize]; +}; +#[repr(C)] +pub struct numa_group { + pub refcount: refcount_t, + pub lock: spinlock_t, + pub nr_tasks: ::core::ffi::c_int, + pub gid: pid_t, + pub active_nodes: ::core::ffi::c_int, + pub rcu: callback_head, + pub total_faults: ::core::ffi::c_ulong, + pub max_faults_cpu: ::core::ffi::c_ulong, + pub faults: __IncompleteArrayField<::core::ffi::c_ulong>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of numa_group"][::core::mem::size_of::() - 56usize]; + ["Alignment of numa_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: numa_group::refcount"] + [::core::mem::offset_of!(numa_group, refcount) - 0usize]; + ["Offset of field: numa_group::lock"][::core::mem::offset_of!(numa_group, lock) - 4usize]; + ["Offset of field: numa_group::nr_tasks"] + [::core::mem::offset_of!(numa_group, nr_tasks) - 8usize]; + ["Offset of field: numa_group::gid"][::core::mem::offset_of!(numa_group, gid) - 12usize]; + ["Offset of field: numa_group::active_nodes"] + [::core::mem::offset_of!(numa_group, active_nodes) - 16usize]; + ["Offset of field: numa_group::rcu"][::core::mem::offset_of!(numa_group, rcu) - 24usize]; + ["Offset of field: numa_group::total_faults"] + [::core::mem::offset_of!(numa_group, total_faults) - 40usize]; + ["Offset of field: numa_group::max_faults_cpu"] + [::core::mem::offset_of!(numa_group, max_faults_cpu) - 48usize]; + ["Offset of field: numa_group::faults"][::core::mem::offset_of!(numa_group, faults) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct obj_cgroup { + pub refcnt: percpu_ref, + pub memcg: *mut mem_cgroup, + pub nr_charged_bytes: atomic_t, + pub __bindgen_anon_1: obj_cgroup__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union obj_cgroup__bindgen_ty_1 { + pub list: list_head, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of obj_cgroup__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of obj_cgroup__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: obj_cgroup__bindgen_ty_1::list"] + [::core::mem::offset_of!(obj_cgroup__bindgen_ty_1, list) - 0usize]; + ["Offset of field: obj_cgroup__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(obj_cgroup__bindgen_ty_1, rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of obj_cgroup"][::core::mem::size_of::() - 48usize]; + ["Alignment of obj_cgroup"][::core::mem::align_of::() - 8usize]; + ["Offset of field: obj_cgroup::refcnt"][::core::mem::offset_of!(obj_cgroup, refcnt) - 0usize]; + ["Offset of field: obj_cgroup::memcg"][::core::mem::offset_of!(obj_cgroup, memcg) - 16usize]; + ["Offset of field: obj_cgroup::nr_charged_bytes"] + [::core::mem::offset_of!(obj_cgroup, nr_charged_bytes) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct of_device_id { + pub name: [::core::ffi::c_char; 32usize], + pub type_: [::core::ffi::c_char; 32usize], + pub compatible: [::core::ffi::c_char; 128usize], + pub data: *const ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of of_device_id"][::core::mem::size_of::() - 200usize]; + ["Alignment of of_device_id"][::core::mem::align_of::() - 8usize]; + ["Offset of field: of_device_id::name"][::core::mem::offset_of!(of_device_id, name) - 0usize]; + ["Offset of field: of_device_id::type_"] + [::core::mem::offset_of!(of_device_id, type_) - 32usize]; + ["Offset of field: of_device_id::compatible"] + [::core::mem::offset_of!(of_device_id, compatible) - 64usize]; + ["Offset of field: of_device_id::data"][::core::mem::offset_of!(of_device_id, data) - 192usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct of_phandle_args { + pub np: *mut device_node, + pub args_count: ::core::ffi::c_int, + pub args: [u32; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of of_phandle_args"][::core::mem::size_of::() - 80usize]; + ["Alignment of of_phandle_args"][::core::mem::align_of::() - 8usize]; + ["Offset of field: of_phandle_args::np"][::core::mem::offset_of!(of_phandle_args, np) - 0usize]; + ["Offset of field: of_phandle_args::args_count"] + [::core::mem::offset_of!(of_phandle_args, args_count) - 8usize]; + ["Offset of field: of_phandle_args::args"] + [::core::mem::offset_of!(of_phandle_args, args) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct offset_ctx { + pub mt: maple_tree, + pub next_offset: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of offset_ctx"][::core::mem::size_of::() - 24usize]; + ["Alignment of offset_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: offset_ctx::mt"][::core::mem::offset_of!(offset_ctx, mt) - 0usize]; + ["Offset of field: offset_ctx::next_offset"] + [::core::mem::offset_of!(offset_ctx, next_offset) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct old_timespec32 { + pub tv_sec: old_time32_t, + pub tv_nsec: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of old_timespec32"][::core::mem::size_of::() - 8usize]; + ["Alignment of old_timespec32"][::core::mem::align_of::() - 4usize]; + ["Offset of field: old_timespec32::tv_sec"] + [::core::mem::offset_of!(old_timespec32, tv_sec) - 0usize]; + ["Offset of field: old_timespec32::tv_nsec"] + [::core::mem::offset_of!(old_timespec32, tv_nsec) - 4usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct orc_entry { + pub sp_offset: s16, + pub bp_offset: s16, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of orc_entry"][::core::mem::size_of::() - 6usize]; + ["Alignment of orc_entry"][::core::mem::align_of::() - 1usize]; + ["Offset of field: orc_entry::sp_offset"] + [::core::mem::offset_of!(orc_entry, sp_offset) - 0usize]; + ["Offset of field: orc_entry::bp_offset"] + [::core::mem::offset_of!(orc_entry, bp_offset) - 2usize]; +}; +impl orc_entry { + #[inline] + pub fn sp_reg(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) } + } + #[inline] + pub fn set_sp_reg(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn sp_reg_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 4u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sp_reg_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn bp_reg(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u32) } + } + #[inline] + pub fn set_bp_reg(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn bp_reg_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 4u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_bp_reg_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn type_(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 3u8) as u32) } + } + #[inline] + pub fn set_type(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn type__raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 3u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_type_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn signal(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_signal(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn signal_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_signal_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + sp_reg: ::core::ffi::c_uint, + bp_reg: ::core::ffi::c_uint, + type_: ::core::ffi::c_uint, + signal: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let sp_reg: u32 = unsafe { ::core::mem::transmute(sp_reg) }; + sp_reg as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let bp_reg: u32 = unsafe { ::core::mem::transmute(bp_reg) }; + bp_reg as u64 + }); + __bindgen_bitfield_unit.set(8usize, 3u8, { + let type_: u32 = unsafe { ::core::mem::transmute(type_) }; + type_ as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let signal: u32 = unsafe { ::core::mem::transmute(signal) }; + signal as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pacct_struct { + pub ac_flag: ::core::ffi::c_int, + pub ac_exitcode: ::core::ffi::c_long, + pub ac_mem: ::core::ffi::c_ulong, + pub ac_utime: u64_, + pub ac_stime: u64_, + pub ac_minflt: ::core::ffi::c_ulong, + pub ac_majflt: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pacct_struct"][::core::mem::size_of::() - 56usize]; + ["Alignment of pacct_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pacct_struct::ac_flag"] + [::core::mem::offset_of!(pacct_struct, ac_flag) - 0usize]; + ["Offset of field: pacct_struct::ac_exitcode"] + [::core::mem::offset_of!(pacct_struct, ac_exitcode) - 8usize]; + ["Offset of field: pacct_struct::ac_mem"] + [::core::mem::offset_of!(pacct_struct, ac_mem) - 16usize]; + ["Offset of field: pacct_struct::ac_utime"] + [::core::mem::offset_of!(pacct_struct, ac_utime) - 24usize]; + ["Offset of field: pacct_struct::ac_stime"] + [::core::mem::offset_of!(pacct_struct, ac_stime) - 32usize]; + ["Offset of field: pacct_struct::ac_minflt"] + [::core::mem::offset_of!(pacct_struct, ac_minflt) - 40usize]; + ["Offset of field: pacct_struct::ac_majflt"] + [::core::mem::offset_of!(pacct_struct, ac_majflt) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct packet_command { + pub cmd: [::core::ffi::c_uchar; 12usize], + pub buffer: *mut ::core::ffi::c_uchar, + pub buflen: ::core::ffi::c_uint, + pub stat: ::core::ffi::c_int, + pub sshdr: *mut scsi_sense_hdr, + pub data_direction: ::core::ffi::c_uchar, + pub quiet: ::core::ffi::c_int, + pub timeout: ::core::ffi::c_int, + pub reserved: [*mut ::core::ffi::c_void; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of packet_command"][::core::mem::size_of::() - 64usize]; + ["Alignment of packet_command"][::core::mem::align_of::() - 8usize]; + ["Offset of field: packet_command::cmd"][::core::mem::offset_of!(packet_command, cmd) - 0usize]; + ["Offset of field: packet_command::buffer"] + [::core::mem::offset_of!(packet_command, buffer) - 16usize]; + ["Offset of field: packet_command::buflen"] + [::core::mem::offset_of!(packet_command, buflen) - 24usize]; + ["Offset of field: packet_command::stat"] + [::core::mem::offset_of!(packet_command, stat) - 28usize]; + ["Offset of field: packet_command::sshdr"] + [::core::mem::offset_of!(packet_command, sshdr) - 32usize]; + ["Offset of field: packet_command::data_direction"] + [::core::mem::offset_of!(packet_command, data_direction) - 40usize]; + ["Offset of field: packet_command::quiet"] + [::core::mem::offset_of!(packet_command, quiet) - 44usize]; + ["Offset of field: packet_command::timeout"] + [::core::mem::offset_of!(packet_command, timeout) - 48usize]; + ["Offset of field: packet_command::reserved"] + [::core::mem::offset_of!(packet_command, reserved) - 56usize]; +}; +pub type pgtable_t = *mut page; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_pool_params_fast { + pub order: ::core::ffi::c_uint, + pub pool_size: ::core::ffi::c_uint, + pub nid: ::core::ffi::c_int, + pub dev: *mut device, + pub napi: *mut napi_struct, + pub dma_dir: dma_data_direction, + pub max_len: ::core::ffi::c_uint, + pub offset: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_pool_params_fast"][::core::mem::size_of::() - 48usize]; + ["Alignment of page_pool_params_fast"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page_pool_params_fast::order"] + [::core::mem::offset_of!(page_pool_params_fast, order) - 0usize]; + ["Offset of field: page_pool_params_fast::pool_size"] + [::core::mem::offset_of!(page_pool_params_fast, pool_size) - 4usize]; + ["Offset of field: page_pool_params_fast::nid"] + [::core::mem::offset_of!(page_pool_params_fast, nid) - 8usize]; + ["Offset of field: page_pool_params_fast::dev"] + [::core::mem::offset_of!(page_pool_params_fast, dev) - 16usize]; + ["Offset of field: page_pool_params_fast::napi"] + [::core::mem::offset_of!(page_pool_params_fast, napi) - 24usize]; + ["Offset of field: page_pool_params_fast::dma_dir"] + [::core::mem::offset_of!(page_pool_params_fast, dma_dir) - 32usize]; + ["Offset of field: page_pool_params_fast::max_len"] + [::core::mem::offset_of!(page_pool_params_fast, max_len) - 36usize]; + ["Offset of field: page_pool_params_fast::offset"] + [::core::mem::offset_of!(page_pool_params_fast, offset) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_pool_alloc_stats { + pub fast: u64_, + pub slow: u64_, + pub slow_high_order: u64_, + pub empty: u64_, + pub refill: u64_, + pub waive: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_pool_alloc_stats"][::core::mem::size_of::() - 48usize]; + ["Alignment of page_pool_alloc_stats"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page_pool_alloc_stats::fast"] + [::core::mem::offset_of!(page_pool_alloc_stats, fast) - 0usize]; + ["Offset of field: page_pool_alloc_stats::slow"] + [::core::mem::offset_of!(page_pool_alloc_stats, slow) - 8usize]; + ["Offset of field: page_pool_alloc_stats::slow_high_order"] + [::core::mem::offset_of!(page_pool_alloc_stats, slow_high_order) - 16usize]; + ["Offset of field: page_pool_alloc_stats::empty"] + [::core::mem::offset_of!(page_pool_alloc_stats, empty) - 24usize]; + ["Offset of field: page_pool_alloc_stats::refill"] + [::core::mem::offset_of!(page_pool_alloc_stats, refill) - 32usize]; + ["Offset of field: page_pool_alloc_stats::waive"] + [::core::mem::offset_of!(page_pool_alloc_stats, waive) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pp_alloc_cache { + pub count: u32_, + pub cache: [netmem_ref; 128usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pp_alloc_cache"][::core::mem::size_of::() - 1032usize]; + ["Alignment of pp_alloc_cache"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pp_alloc_cache::count"] + [::core::mem::offset_of!(pp_alloc_cache, count) - 0usize]; + ["Offset of field: pp_alloc_cache::cache"] + [::core::mem::offset_of!(pp_alloc_cache, cache) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ptr_ring { + pub producer: ::core::ffi::c_int, + pub producer_lock: spinlock_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub consumer_head: ::core::ffi::c_int, + pub consumer_tail: ::core::ffi::c_int, + pub consumer_lock: spinlock_t, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>, + pub __bindgen_padding_0: u32, + pub size: ::core::ffi::c_int, + pub batch: ::core::ffi::c_int, + pub queue: *mut *mut ::core::ffi::c_void, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ptr_ring"][::core::mem::size_of::() - 192usize]; + ["Alignment of ptr_ring"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ptr_ring::producer"][::core::mem::offset_of!(ptr_ring, producer) - 0usize]; + ["Offset of field: ptr_ring::producer_lock"] + [::core::mem::offset_of!(ptr_ring, producer_lock) - 4usize]; + ["Offset of field: ptr_ring::consumer_head"] + [::core::mem::offset_of!(ptr_ring, consumer_head) - 64usize]; + ["Offset of field: ptr_ring::consumer_tail"] + [::core::mem::offset_of!(ptr_ring, consumer_tail) - 68usize]; + ["Offset of field: ptr_ring::consumer_lock"] + [::core::mem::offset_of!(ptr_ring, consumer_lock) - 72usize]; + ["Offset of field: ptr_ring::size"][::core::mem::offset_of!(ptr_ring, size) - 128usize]; + ["Offset of field: ptr_ring::batch"][::core::mem::offset_of!(ptr_ring, batch) - 132usize]; + ["Offset of field: ptr_ring::queue"][::core::mem::offset_of!(ptr_ring, queue) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_pool_params_slow { + pub netdev: *mut net_device, + pub queue_idx: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_uint, + pub init_callback: ::core::option::Option< + unsafe extern "C" fn(arg1: netmem_ref, arg2: *mut ::core::ffi::c_void), + >, + pub init_arg: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_pool_params_slow"][::core::mem::size_of::() - 32usize]; + ["Alignment of page_pool_params_slow"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page_pool_params_slow::netdev"] + [::core::mem::offset_of!(page_pool_params_slow, netdev) - 0usize]; + ["Offset of field: page_pool_params_slow::queue_idx"] + [::core::mem::offset_of!(page_pool_params_slow, queue_idx) - 8usize]; + ["Offset of field: page_pool_params_slow::flags"] + [::core::mem::offset_of!(page_pool_params_slow, flags) - 12usize]; + ["Offset of field: page_pool_params_slow::init_callback"] + [::core::mem::offset_of!(page_pool_params_slow, init_callback) - 16usize]; + ["Offset of field: page_pool_params_slow::init_arg"] + [::core::mem::offset_of!(page_pool_params_slow, init_arg) - 24usize]; +}; +#[repr(C)] +pub struct page_pool { + pub p: page_pool_params_fast, + pub cpuid: ::core::ffi::c_int, + pub pages_state_hold_cnt: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub __cacheline_group_begin__frag: __IncompleteArrayField<__u8>, + pub frag_users: ::core::ffi::c_long, + pub frag_page: netmem_ref, + pub frag_offset: ::core::ffi::c_uint, + pub __bindgen_padding_0: [u8; 4usize], + pub __cacheline_group_end__frag: __IncompleteArrayField<__u8>, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 8usize]>, + pub __cacheline_group_pad__frag: page_pool__bindgen_ty_1, + pub release_dw: delayed_work, + pub disconnect: ::core::option::Option, + pub defer_start: ::core::ffi::c_ulong, + pub defer_warn: ::core::ffi::c_ulong, + pub alloc_stats: page_pool_alloc_stats, + pub xdp_mem_id: u32_, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 56usize]>, + pub alloc: pp_alloc_cache, + pub _bitfield_align_4: [u8; 0], + pub _bitfield_4: __BindgenBitfieldUnit<[u8; 56usize]>, + pub ring: ptr_ring, + pub mp_priv: *mut ::core::ffi::c_void, + pub dma_mapped: xarray, + pub recycle_stats: *mut page_pool_recycle_stats, + pub pages_state_release_cnt: atomic_t, + pub user_cnt: refcount_t, + pub destroy_cnt: u64_, + pub slow: page_pool_params_slow, + pub user: page_pool__bindgen_ty_2, + pub _bitfield_align_5: [u8; 0], + pub _bitfield_5: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_pool__bindgen_ty_1 {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_pool__bindgen_ty_1"][::core::mem::size_of::() - 0usize]; + ["Alignment of page_pool__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_pool__bindgen_ty_2 { + pub list: hlist_node, + pub detach_time: u64_, + pub napi_id: u32_, + pub id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_pool__bindgen_ty_2"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of page_pool__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page_pool__bindgen_ty_2::list"] + [::core::mem::offset_of!(page_pool__bindgen_ty_2, list) - 0usize]; + ["Offset of field: page_pool__bindgen_ty_2::detach_time"] + [::core::mem::offset_of!(page_pool__bindgen_ty_2, detach_time) - 16usize]; + ["Offset of field: page_pool__bindgen_ty_2::napi_id"] + [::core::mem::offset_of!(page_pool__bindgen_ty_2, napi_id) - 24usize]; + ["Offset of field: page_pool__bindgen_ty_2::id"] + [::core::mem::offset_of!(page_pool__bindgen_ty_2, id) - 28usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_pool"][::core::mem::size_of::() - 1728usize]; + ["Alignment of page_pool"][::core::mem::align_of::() - 8usize]; + ["Offset of field: page_pool::p"][::core::mem::offset_of!(page_pool, p) - 0usize]; + ["Offset of field: page_pool::cpuid"][::core::mem::offset_of!(page_pool, cpuid) - 48usize]; + ["Offset of field: page_pool::pages_state_hold_cnt"] + [::core::mem::offset_of!(page_pool, pages_state_hold_cnt) - 52usize]; + ["Offset of field: page_pool::__cacheline_group_begin__frag"] + [::core::mem::offset_of!(page_pool, __cacheline_group_begin__frag) - 64usize]; + ["Offset of field: page_pool::frag_users"] + [::core::mem::offset_of!(page_pool, frag_users) - 64usize]; + ["Offset of field: page_pool::frag_page"] + [::core::mem::offset_of!(page_pool, frag_page) - 72usize]; + ["Offset of field: page_pool::frag_offset"] + [::core::mem::offset_of!(page_pool, frag_offset) - 80usize]; + ["Offset of field: page_pool::__cacheline_group_end__frag"] + [::core::mem::offset_of!(page_pool, __cacheline_group_end__frag) - 88usize]; + ["Offset of field: page_pool::__cacheline_group_pad__frag"] + [::core::mem::offset_of!(page_pool, __cacheline_group_pad__frag) - 96usize]; + ["Offset of field: page_pool::release_dw"] + [::core::mem::offset_of!(page_pool, release_dw) - 96usize]; + ["Offset of field: page_pool::disconnect"] + [::core::mem::offset_of!(page_pool, disconnect) - 184usize]; + ["Offset of field: page_pool::defer_start"] + [::core::mem::offset_of!(page_pool, defer_start) - 192usize]; + ["Offset of field: page_pool::defer_warn"] + [::core::mem::offset_of!(page_pool, defer_warn) - 200usize]; + ["Offset of field: page_pool::alloc_stats"] + [::core::mem::offset_of!(page_pool, alloc_stats) - 208usize]; + ["Offset of field: page_pool::xdp_mem_id"] + [::core::mem::offset_of!(page_pool, xdp_mem_id) - 256usize]; + ["Offset of field: page_pool::alloc"][::core::mem::offset_of!(page_pool, alloc) - 320usize]; + ["Offset of field: page_pool::ring"][::core::mem::offset_of!(page_pool, ring) - 1408usize]; + ["Offset of field: page_pool::mp_priv"] + [::core::mem::offset_of!(page_pool, mp_priv) - 1600usize]; + ["Offset of field: page_pool::dma_mapped"] + [::core::mem::offset_of!(page_pool, dma_mapped) - 1608usize]; + ["Offset of field: page_pool::recycle_stats"] + [::core::mem::offset_of!(page_pool, recycle_stats) - 1624usize]; + ["Offset of field: page_pool::pages_state_release_cnt"] + [::core::mem::offset_of!(page_pool, pages_state_release_cnt) - 1632usize]; + ["Offset of field: page_pool::user_cnt"] + [::core::mem::offset_of!(page_pool, user_cnt) - 1636usize]; + ["Offset of field: page_pool::destroy_cnt"] + [::core::mem::offset_of!(page_pool, destroy_cnt) - 1640usize]; + ["Offset of field: page_pool::slow"][::core::mem::offset_of!(page_pool, slow) - 1648usize]; + ["Offset of field: page_pool::user"][::core::mem::offset_of!(page_pool, user) - 1680usize]; +}; +impl page_pool { + #[inline] + pub fn has_init_callback(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_has_init_callback(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_init_callback_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_has_init_callback_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dma_map(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_dma_map(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dma_map_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dma_map_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dma_sync(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_dma_sync(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dma_sync_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dma_sync_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn system(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_system(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn system_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_system_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + has_init_callback: bool_, + dma_map: bool_, + dma_sync: bool_, + system: bool_, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let has_init_callback: u8 = unsafe { ::core::mem::transmute(has_init_callback) }; + has_init_callback as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let dma_map: u8 = unsafe { ::core::mem::transmute(dma_map) }; + dma_map as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let dma_sync: u8 = unsafe { ::core::mem::transmute(dma_sync) }; + dma_sync as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let system: u8 = unsafe { ::core::mem::transmute(system) }; + system as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_5() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct page_pool_recycle_stats { + pub cached: u64_, + pub cache_full: u64_, + pub ring: u64_, + pub ring_full: u64_, + pub released_refcnt: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of page_pool_recycle_stats"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of page_pool_recycle_stats"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: page_pool_recycle_stats::cached"] + [::core::mem::offset_of!(page_pool_recycle_stats, cached) - 0usize]; + ["Offset of field: page_pool_recycle_stats::cache_full"] + [::core::mem::offset_of!(page_pool_recycle_stats, cache_full) - 8usize]; + ["Offset of field: page_pool_recycle_stats::ring"] + [::core::mem::offset_of!(page_pool_recycle_stats, ring) - 16usize]; + ["Offset of field: page_pool_recycle_stats::ring_full"] + [::core::mem::offset_of!(page_pool_recycle_stats, ring_full) - 24usize]; + ["Offset of field: page_pool_recycle_stats::released_refcnt"] + [::core::mem::offset_of!(page_pool_recycle_stats, released_refcnt) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_desc { + pub name: *const ::core::ffi::c_char, + pub supply_name: *const ::core::ffi::c_char, + pub of_match: *const ::core::ffi::c_char, + pub of_match_full_name: bool_, + pub regulators_node: *const ::core::ffi::c_char, + pub of_parse_cb: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut device_node, + arg2: *const regulator_desc, + arg3: *mut regulator_config, + ) -> ::core::ffi::c_int, + >, + pub id: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub n_voltages: ::core::ffi::c_uint, + pub n_current_limits: ::core::ffi::c_uint, + pub ops: *const regulator_ops, + pub irq: ::core::ffi::c_int, + pub type_: regulator_type, + pub owner: *mut module, + pub min_uV: ::core::ffi::c_uint, + pub uV_step: ::core::ffi::c_uint, + pub linear_min_sel: ::core::ffi::c_uint, + pub fixed_uV: ::core::ffi::c_int, + pub ramp_delay: ::core::ffi::c_uint, + pub min_dropout_uV: ::core::ffi::c_int, + pub linear_ranges: *const linear_range, + pub linear_range_selectors_bitfield: *const ::core::ffi::c_uint, + pub n_linear_ranges: ::core::ffi::c_int, + pub volt_table: *const ::core::ffi::c_uint, + pub curr_table: *const ::core::ffi::c_uint, + pub vsel_range_reg: ::core::ffi::c_uint, + pub vsel_range_mask: ::core::ffi::c_uint, + pub range_applied_by_vsel: bool_, + pub vsel_reg: ::core::ffi::c_uint, + pub vsel_mask: ::core::ffi::c_uint, + pub vsel_step: ::core::ffi::c_uint, + pub csel_reg: ::core::ffi::c_uint, + pub csel_mask: ::core::ffi::c_uint, + pub apply_reg: ::core::ffi::c_uint, + pub apply_bit: ::core::ffi::c_uint, + pub enable_reg: ::core::ffi::c_uint, + pub enable_mask: ::core::ffi::c_uint, + pub enable_val: ::core::ffi::c_uint, + pub disable_val: ::core::ffi::c_uint, + pub enable_is_inverted: bool_, + pub bypass_reg: ::core::ffi::c_uint, + pub bypass_mask: ::core::ffi::c_uint, + pub bypass_val_on: ::core::ffi::c_uint, + pub bypass_val_off: ::core::ffi::c_uint, + pub active_discharge_on: ::core::ffi::c_uint, + pub active_discharge_off: ::core::ffi::c_uint, + pub active_discharge_mask: ::core::ffi::c_uint, + pub active_discharge_reg: ::core::ffi::c_uint, + pub soft_start_reg: ::core::ffi::c_uint, + pub soft_start_mask: ::core::ffi::c_uint, + pub soft_start_val_on: ::core::ffi::c_uint, + pub pull_down_reg: ::core::ffi::c_uint, + pub pull_down_mask: ::core::ffi::c_uint, + pub pull_down_val_on: ::core::ffi::c_uint, + pub ramp_reg: ::core::ffi::c_uint, + pub ramp_mask: ::core::ffi::c_uint, + pub ramp_delay_table: *const ::core::ffi::c_uint, + pub n_ramp_values: ::core::ffi::c_uint, + pub enable_time: ::core::ffi::c_uint, + pub off_on_delay: ::core::ffi::c_uint, + pub poll_enabled_time: ::core::ffi::c_uint, + pub of_map_mode: ::core::option::Option< + unsafe extern "C" fn(arg1: ::core::ffi::c_uint) -> ::core::ffi::c_uint, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_desc"][::core::mem::size_of::() - 312usize]; + ["Alignment of regulator_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_desc::name"] + [::core::mem::offset_of!(regulator_desc, name) - 0usize]; + ["Offset of field: regulator_desc::supply_name"] + [::core::mem::offset_of!(regulator_desc, supply_name) - 8usize]; + ["Offset of field: regulator_desc::of_match"] + [::core::mem::offset_of!(regulator_desc, of_match) - 16usize]; + ["Offset of field: regulator_desc::of_match_full_name"] + [::core::mem::offset_of!(regulator_desc, of_match_full_name) - 24usize]; + ["Offset of field: regulator_desc::regulators_node"] + [::core::mem::offset_of!(regulator_desc, regulators_node) - 32usize]; + ["Offset of field: regulator_desc::of_parse_cb"] + [::core::mem::offset_of!(regulator_desc, of_parse_cb) - 40usize]; + ["Offset of field: regulator_desc::id"][::core::mem::offset_of!(regulator_desc, id) - 48usize]; + ["Offset of field: regulator_desc::n_voltages"] + [::core::mem::offset_of!(regulator_desc, n_voltages) - 56usize]; + ["Offset of field: regulator_desc::n_current_limits"] + [::core::mem::offset_of!(regulator_desc, n_current_limits) - 60usize]; + ["Offset of field: regulator_desc::ops"] + [::core::mem::offset_of!(regulator_desc, ops) - 64usize]; + ["Offset of field: regulator_desc::irq"] + [::core::mem::offset_of!(regulator_desc, irq) - 72usize]; + ["Offset of field: regulator_desc::type_"] + [::core::mem::offset_of!(regulator_desc, type_) - 76usize]; + ["Offset of field: regulator_desc::owner"] + [::core::mem::offset_of!(regulator_desc, owner) - 80usize]; + ["Offset of field: regulator_desc::min_uV"] + [::core::mem::offset_of!(regulator_desc, min_uV) - 88usize]; + ["Offset of field: regulator_desc::uV_step"] + [::core::mem::offset_of!(regulator_desc, uV_step) - 92usize]; + ["Offset of field: regulator_desc::linear_min_sel"] + [::core::mem::offset_of!(regulator_desc, linear_min_sel) - 96usize]; + ["Offset of field: regulator_desc::fixed_uV"] + [::core::mem::offset_of!(regulator_desc, fixed_uV) - 100usize]; + ["Offset of field: regulator_desc::ramp_delay"] + [::core::mem::offset_of!(regulator_desc, ramp_delay) - 104usize]; + ["Offset of field: regulator_desc::min_dropout_uV"] + [::core::mem::offset_of!(regulator_desc, min_dropout_uV) - 108usize]; + ["Offset of field: regulator_desc::linear_ranges"] + [::core::mem::offset_of!(regulator_desc, linear_ranges) - 112usize]; + ["Offset of field: regulator_desc::linear_range_selectors_bitfield"] + [::core::mem::offset_of!(regulator_desc, linear_range_selectors_bitfield) - 120usize]; + ["Offset of field: regulator_desc::n_linear_ranges"] + [::core::mem::offset_of!(regulator_desc, n_linear_ranges) - 128usize]; + ["Offset of field: regulator_desc::volt_table"] + [::core::mem::offset_of!(regulator_desc, volt_table) - 136usize]; + ["Offset of field: regulator_desc::curr_table"] + [::core::mem::offset_of!(regulator_desc, curr_table) - 144usize]; + ["Offset of field: regulator_desc::vsel_range_reg"] + [::core::mem::offset_of!(regulator_desc, vsel_range_reg) - 152usize]; + ["Offset of field: regulator_desc::vsel_range_mask"] + [::core::mem::offset_of!(regulator_desc, vsel_range_mask) - 156usize]; + ["Offset of field: regulator_desc::range_applied_by_vsel"] + [::core::mem::offset_of!(regulator_desc, range_applied_by_vsel) - 160usize]; + ["Offset of field: regulator_desc::vsel_reg"] + [::core::mem::offset_of!(regulator_desc, vsel_reg) - 164usize]; + ["Offset of field: regulator_desc::vsel_mask"] + [::core::mem::offset_of!(regulator_desc, vsel_mask) - 168usize]; + ["Offset of field: regulator_desc::vsel_step"] + [::core::mem::offset_of!(regulator_desc, vsel_step) - 172usize]; + ["Offset of field: regulator_desc::csel_reg"] + [::core::mem::offset_of!(regulator_desc, csel_reg) - 176usize]; + ["Offset of field: regulator_desc::csel_mask"] + [::core::mem::offset_of!(regulator_desc, csel_mask) - 180usize]; + ["Offset of field: regulator_desc::apply_reg"] + [::core::mem::offset_of!(regulator_desc, apply_reg) - 184usize]; + ["Offset of field: regulator_desc::apply_bit"] + [::core::mem::offset_of!(regulator_desc, apply_bit) - 188usize]; + ["Offset of field: regulator_desc::enable_reg"] + [::core::mem::offset_of!(regulator_desc, enable_reg) - 192usize]; + ["Offset of field: regulator_desc::enable_mask"] + [::core::mem::offset_of!(regulator_desc, enable_mask) - 196usize]; + ["Offset of field: regulator_desc::enable_val"] + [::core::mem::offset_of!(regulator_desc, enable_val) - 200usize]; + ["Offset of field: regulator_desc::disable_val"] + [::core::mem::offset_of!(regulator_desc, disable_val) - 204usize]; + ["Offset of field: regulator_desc::enable_is_inverted"] + [::core::mem::offset_of!(regulator_desc, enable_is_inverted) - 208usize]; + ["Offset of field: regulator_desc::bypass_reg"] + [::core::mem::offset_of!(regulator_desc, bypass_reg) - 212usize]; + ["Offset of field: regulator_desc::bypass_mask"] + [::core::mem::offset_of!(regulator_desc, bypass_mask) - 216usize]; + ["Offset of field: regulator_desc::bypass_val_on"] + [::core::mem::offset_of!(regulator_desc, bypass_val_on) - 220usize]; + ["Offset of field: regulator_desc::bypass_val_off"] + [::core::mem::offset_of!(regulator_desc, bypass_val_off) - 224usize]; + ["Offset of field: regulator_desc::active_discharge_on"] + [::core::mem::offset_of!(regulator_desc, active_discharge_on) - 228usize]; + ["Offset of field: regulator_desc::active_discharge_off"] + [::core::mem::offset_of!(regulator_desc, active_discharge_off) - 232usize]; + ["Offset of field: regulator_desc::active_discharge_mask"] + [::core::mem::offset_of!(regulator_desc, active_discharge_mask) - 236usize]; + ["Offset of field: regulator_desc::active_discharge_reg"] + [::core::mem::offset_of!(regulator_desc, active_discharge_reg) - 240usize]; + ["Offset of field: regulator_desc::soft_start_reg"] + [::core::mem::offset_of!(regulator_desc, soft_start_reg) - 244usize]; + ["Offset of field: regulator_desc::soft_start_mask"] + [::core::mem::offset_of!(regulator_desc, soft_start_mask) - 248usize]; + ["Offset of field: regulator_desc::soft_start_val_on"] + [::core::mem::offset_of!(regulator_desc, soft_start_val_on) - 252usize]; + ["Offset of field: regulator_desc::pull_down_reg"] + [::core::mem::offset_of!(regulator_desc, pull_down_reg) - 256usize]; + ["Offset of field: regulator_desc::pull_down_mask"] + [::core::mem::offset_of!(regulator_desc, pull_down_mask) - 260usize]; + ["Offset of field: regulator_desc::pull_down_val_on"] + [::core::mem::offset_of!(regulator_desc, pull_down_val_on) - 264usize]; + ["Offset of field: regulator_desc::ramp_reg"] + [::core::mem::offset_of!(regulator_desc, ramp_reg) - 268usize]; + ["Offset of field: regulator_desc::ramp_mask"] + [::core::mem::offset_of!(regulator_desc, ramp_mask) - 272usize]; + ["Offset of field: regulator_desc::ramp_delay_table"] + [::core::mem::offset_of!(regulator_desc, ramp_delay_table) - 280usize]; + ["Offset of field: regulator_desc::n_ramp_values"] + [::core::mem::offset_of!(regulator_desc, n_ramp_values) - 288usize]; + ["Offset of field: regulator_desc::enable_time"] + [::core::mem::offset_of!(regulator_desc, enable_time) - 292usize]; + ["Offset of field: regulator_desc::off_on_delay"] + [::core::mem::offset_of!(regulator_desc, off_on_delay) - 296usize]; + ["Offset of field: regulator_desc::poll_enabled_time"] + [::core::mem::offset_of!(regulator_desc, poll_enabled_time) - 300usize]; + ["Offset of field: regulator_desc::of_map_mode"] + [::core::mem::offset_of!(regulator_desc, of_map_mode) - 304usize]; +}; +impl regulator_desc { + #[inline] + pub fn continuous_voltage_range(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_continuous_voltage_range(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn continuous_voltage_range_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_continuous_voltage_range_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + continuous_voltage_range: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let continuous_voltage_range: u32 = + unsafe { ::core::mem::transmute(continuous_voltage_range) }; + continuous_voltage_range as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct partition_meta_info { + pub uuid: [::core::ffi::c_char; 37usize], + pub volname: [u8_; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of partition_meta_info"][::core::mem::size_of::() - 101usize]; + ["Alignment of partition_meta_info"][::core::mem::align_of::() - 1usize]; + ["Offset of field: partition_meta_info::uuid"] + [::core::mem::offset_of!(partition_meta_info, uuid) - 0usize]; + ["Offset of field: partition_meta_info::volname"] + [::core::mem::offset_of!(partition_meta_info, volname) - 37usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pcpu_dstats { + pub rx_packets: u64_stats_t, + pub rx_bytes: u64_stats_t, + pub rx_drops: u64_stats_t, + pub tx_packets: u64_stats_t, + pub tx_bytes: u64_stats_t, + pub tx_drops: u64_stats_t, + pub syncp: u64_stats_sync, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pcpu_dstats"][::core::mem::size_of::() - 64usize]; + ["Alignment of pcpu_dstats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pcpu_dstats::rx_packets"] + [::core::mem::offset_of!(pcpu_dstats, rx_packets) - 0usize]; + ["Offset of field: pcpu_dstats::rx_bytes"] + [::core::mem::offset_of!(pcpu_dstats, rx_bytes) - 8usize]; + ["Offset of field: pcpu_dstats::rx_drops"] + [::core::mem::offset_of!(pcpu_dstats, rx_drops) - 16usize]; + ["Offset of field: pcpu_dstats::tx_packets"] + [::core::mem::offset_of!(pcpu_dstats, tx_packets) - 24usize]; + ["Offset of field: pcpu_dstats::tx_bytes"] + [::core::mem::offset_of!(pcpu_dstats, tx_bytes) - 32usize]; + ["Offset of field: pcpu_dstats::tx_drops"] + [::core::mem::offset_of!(pcpu_dstats, tx_drops) - 40usize]; + ["Offset of field: pcpu_dstats::syncp"][::core::mem::offset_of!(pcpu_dstats, syncp) - 48usize]; +}; +impl pcpu_dstats { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pcpu_lstats { + pub packets: u64_stats_t, + pub bytes: u64_stats_t, + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pcpu_lstats"][::core::mem::size_of::() - 16usize]; + ["Alignment of pcpu_lstats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pcpu_lstats::packets"] + [::core::mem::offset_of!(pcpu_lstats, packets) - 0usize]; + ["Offset of field: pcpu_lstats::bytes"][::core::mem::offset_of!(pcpu_lstats, bytes) - 8usize]; + ["Offset of field: pcpu_lstats::syncp"][::core::mem::offset_of!(pcpu_lstats, syncp) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pcpu_rx_sc_stats { + pub stats: macsec_rx_sc_stats, + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pcpu_rx_sc_stats"][::core::mem::size_of::() - 80usize]; + ["Alignment of pcpu_rx_sc_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pcpu_rx_sc_stats::stats"] + [::core::mem::offset_of!(pcpu_rx_sc_stats, stats) - 0usize]; + ["Offset of field: pcpu_rx_sc_stats::syncp"] + [::core::mem::offset_of!(pcpu_rx_sc_stats, syncp) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pcpu_sw_netstats { + pub rx_packets: u64_stats_t, + pub rx_bytes: u64_stats_t, + pub tx_packets: u64_stats_t, + pub tx_bytes: u64_stats_t, + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pcpu_sw_netstats"][::core::mem::size_of::() - 32usize]; + ["Alignment of pcpu_sw_netstats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pcpu_sw_netstats::rx_packets"] + [::core::mem::offset_of!(pcpu_sw_netstats, rx_packets) - 0usize]; + ["Offset of field: pcpu_sw_netstats::rx_bytes"] + [::core::mem::offset_of!(pcpu_sw_netstats, rx_bytes) - 8usize]; + ["Offset of field: pcpu_sw_netstats::tx_packets"] + [::core::mem::offset_of!(pcpu_sw_netstats, tx_packets) - 16usize]; + ["Offset of field: pcpu_sw_netstats::tx_bytes"] + [::core::mem::offset_of!(pcpu_sw_netstats, tx_bytes) - 24usize]; + ["Offset of field: pcpu_sw_netstats::syncp"] + [::core::mem::offset_of!(pcpu_sw_netstats, syncp) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pcpu_tx_sc_stats { + pub stats: macsec_tx_sc_stats, + pub syncp: u64_stats_sync, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pcpu_tx_sc_stats"][::core::mem::size_of::() - 32usize]; + ["Alignment of pcpu_tx_sc_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pcpu_tx_sc_stats::stats"] + [::core::mem::offset_of!(pcpu_tx_sc_stats, stats) - 0usize]; + ["Offset of field: pcpu_tx_sc_stats::syncp"] + [::core::mem::offset_of!(pcpu_tx_sc_stats, syncp) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct per_cpu_nodestat { + pub stat_threshold: s8, + pub vm_node_stat_diff: [s8; 47usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of per_cpu_nodestat"][::core::mem::size_of::() - 48usize]; + ["Alignment of per_cpu_nodestat"][::core::mem::align_of::() - 1usize]; + ["Offset of field: per_cpu_nodestat::stat_threshold"] + [::core::mem::offset_of!(per_cpu_nodestat, stat_threshold) - 0usize]; + ["Offset of field: per_cpu_nodestat::vm_node_stat_diff"] + [::core::mem::offset_of!(per_cpu_nodestat, vm_node_stat_diff) - 1usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct per_cpu_pages { + pub lock: spinlock_t, + pub count: ::core::ffi::c_int, + pub high: ::core::ffi::c_int, + pub high_min: ::core::ffi::c_int, + pub high_max: ::core::ffi::c_int, + pub batch: ::core::ffi::c_int, + pub flags: u8_, + pub alloc_factor: u8_, + pub expire: u8_, + pub free_count: ::core::ffi::c_short, + pub lists: [list_head; 14usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of per_cpu_pages"][::core::mem::size_of::() - 256usize]; + ["Alignment of per_cpu_pages"][::core::mem::align_of::() - 8usize]; + ["Offset of field: per_cpu_pages::lock"][::core::mem::offset_of!(per_cpu_pages, lock) - 0usize]; + ["Offset of field: per_cpu_pages::count"] + [::core::mem::offset_of!(per_cpu_pages, count) - 4usize]; + ["Offset of field: per_cpu_pages::high"][::core::mem::offset_of!(per_cpu_pages, high) - 8usize]; + ["Offset of field: per_cpu_pages::high_min"] + [::core::mem::offset_of!(per_cpu_pages, high_min) - 12usize]; + ["Offset of field: per_cpu_pages::high_max"] + [::core::mem::offset_of!(per_cpu_pages, high_max) - 16usize]; + ["Offset of field: per_cpu_pages::batch"] + [::core::mem::offset_of!(per_cpu_pages, batch) - 20usize]; + ["Offset of field: per_cpu_pages::flags"] + [::core::mem::offset_of!(per_cpu_pages, flags) - 24usize]; + ["Offset of field: per_cpu_pages::alloc_factor"] + [::core::mem::offset_of!(per_cpu_pages, alloc_factor) - 25usize]; + ["Offset of field: per_cpu_pages::expire"] + [::core::mem::offset_of!(per_cpu_pages, expire) - 26usize]; + ["Offset of field: per_cpu_pages::free_count"] + [::core::mem::offset_of!(per_cpu_pages, free_count) - 28usize]; + ["Offset of field: per_cpu_pages::lists"] + [::core::mem::offset_of!(per_cpu_pages, lists) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct per_cpu_zonestat { + pub vm_stat_diff: [s8; 12usize], + pub stat_threshold: s8, + pub vm_numa_event: [::core::ffi::c_ulong; 6usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of per_cpu_zonestat"][::core::mem::size_of::() - 64usize]; + ["Alignment of per_cpu_zonestat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: per_cpu_zonestat::vm_stat_diff"] + [::core::mem::offset_of!(per_cpu_zonestat, vm_stat_diff) - 0usize]; + ["Offset of field: per_cpu_zonestat::stat_threshold"] + [::core::mem::offset_of!(per_cpu_zonestat, stat_threshold) - 12usize]; + ["Offset of field: per_cpu_zonestat::vm_numa_event"] + [::core::mem::offset_of!(per_cpu_zonestat, vm_numa_event) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct percpu_cluster { + pub next: [::core::ffi::c_uint; 10usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of percpu_cluster"][::core::mem::size_of::() - 40usize]; + ["Alignment of percpu_cluster"][::core::mem::align_of::() - 4usize]; + ["Offset of field: percpu_cluster::next"] + [::core::mem::offset_of!(percpu_cluster, next) - 0usize]; +}; +pub type percpu_ref_func_t = ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct percpu_ref_data { + pub count: atomic_long_t, + pub release: percpu_ref_func_t, + pub confirm_switch: percpu_ref_func_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub rcu: callback_head, + pub ref_: *mut percpu_ref, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of percpu_ref_data"][::core::mem::size_of::() - 56usize]; + ["Alignment of percpu_ref_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: percpu_ref_data::count"] + [::core::mem::offset_of!(percpu_ref_data, count) - 0usize]; + ["Offset of field: percpu_ref_data::release"] + [::core::mem::offset_of!(percpu_ref_data, release) - 8usize]; + ["Offset of field: percpu_ref_data::confirm_switch"] + [::core::mem::offset_of!(percpu_ref_data, confirm_switch) - 16usize]; + ["Offset of field: percpu_ref_data::rcu"] + [::core::mem::offset_of!(percpu_ref_data, rcu) - 32usize]; + ["Offset of field: percpu_ref_data::ref_"] + [::core::mem::offset_of!(percpu_ref_data, ref_) - 48usize]; +}; +impl percpu_ref_data { + #[inline] + pub fn force_atomic(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_force_atomic(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn force_atomic_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_force_atomic_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn allow_reinit(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_allow_reinit(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn allow_reinit_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_allow_reinit_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + force_atomic: bool_, + allow_reinit: bool_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let force_atomic: u8 = unsafe { ::core::mem::transmute(force_atomic) }; + force_atomic as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let allow_reinit: u8 = unsafe { ::core::mem::transmute(allow_reinit) }; + allow_reinit as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rcu_sync { + pub gp_state: ::core::ffi::c_int, + pub gp_count: ::core::ffi::c_int, + pub gp_wait: wait_queue_head_t, + pub cb_head: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcu_sync"][::core::mem::size_of::() - 48usize]; + ["Alignment of rcu_sync"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rcu_sync::gp_state"][::core::mem::offset_of!(rcu_sync, gp_state) - 0usize]; + ["Offset of field: rcu_sync::gp_count"][::core::mem::offset_of!(rcu_sync, gp_count) - 4usize]; + ["Offset of field: rcu_sync::gp_wait"][::core::mem::offset_of!(rcu_sync, gp_wait) - 8usize]; + ["Offset of field: rcu_sync::cb_head"][::core::mem::offset_of!(rcu_sync, cb_head) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct percpu_rw_semaphore { + pub rss: rcu_sync, + pub read_count: *mut ::core::ffi::c_uint, + pub writer: rcuwait, + pub waiters: wait_queue_head_t, + pub block: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of percpu_rw_semaphore"][::core::mem::size_of::() - 96usize]; + ["Alignment of percpu_rw_semaphore"][::core::mem::align_of::() - 8usize]; + ["Offset of field: percpu_rw_semaphore::rss"] + [::core::mem::offset_of!(percpu_rw_semaphore, rss) - 0usize]; + ["Offset of field: percpu_rw_semaphore::read_count"] + [::core::mem::offset_of!(percpu_rw_semaphore, read_count) - 48usize]; + ["Offset of field: percpu_rw_semaphore::writer"] + [::core::mem::offset_of!(percpu_rw_semaphore, writer) - 56usize]; + ["Offset of field: percpu_rw_semaphore::waiters"] + [::core::mem::offset_of!(percpu_rw_semaphore, waiters) - 64usize]; + ["Offset of field: percpu_rw_semaphore::block"] + [::core::mem::offset_of!(percpu_rw_semaphore, block) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_addr_filter_range { + pub start: ::core::ffi::c_ulong, + pub size: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_addr_filter_range"][::core::mem::size_of::() - 16usize]; + ["Alignment of perf_addr_filter_range"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_addr_filter_range::start"] + [::core::mem::offset_of!(perf_addr_filter_range, start) - 0usize]; + ["Offset of field: perf_addr_filter_range::size"] + [::core::mem::offset_of!(perf_addr_filter_range, size) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_addr_filters_head { + pub list: list_head, + pub lock: raw_spinlock_t, + pub nr_file_filters: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_addr_filters_head"][::core::mem::size_of::() - 24usize]; + ["Alignment of perf_addr_filters_head"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_addr_filters_head::list"] + [::core::mem::offset_of!(perf_addr_filters_head, list) - 0usize]; + ["Offset of field: perf_addr_filters_head::lock"] + [::core::mem::offset_of!(perf_addr_filters_head, lock) - 16usize]; + ["Offset of field: perf_addr_filters_head::nr_file_filters"] + [::core::mem::offset_of!(perf_addr_filters_head, nr_file_filters) - 20usize]; +}; +#[repr(C)] +pub struct perf_buffer { + pub refcount: refcount_t, + pub callback_head: callback_head, + pub nr_pages: ::core::ffi::c_int, + pub overwrite: ::core::ffi::c_int, + pub paused: ::core::ffi::c_int, + pub poll: atomic_t, + pub head: local_t, + pub nest: ::core::ffi::c_uint, + pub events: local_t, + pub wakeup: local_t, + pub lost: local_t, + pub watermark: ::core::ffi::c_long, + pub aux_watermark: ::core::ffi::c_long, + pub event_lock: spinlock_t, + pub event_list: list_head, + pub mmap_count: atomic_t, + pub mmap_locked: ::core::ffi::c_ulong, + pub mmap_user: *mut user_struct, + pub aux_mutex: mutex, + pub aux_head: ::core::ffi::c_long, + pub aux_nest: ::core::ffi::c_uint, + pub aux_wakeup: ::core::ffi::c_long, + pub aux_pgoff: ::core::ffi::c_ulong, + pub aux_nr_pages: ::core::ffi::c_int, + pub aux_overwrite: ::core::ffi::c_int, + pub aux_mmap_count: atomic_t, + pub aux_mmap_locked: ::core::ffi::c_ulong, + pub free_aux: ::core::option::Option, + pub aux_refcount: refcount_t, + pub aux_in_sampling: ::core::ffi::c_int, + pub aux_in_pause_resume: ::core::ffi::c_int, + pub aux_pages: *mut *mut ::core::ffi::c_void, + pub aux_priv: *mut ::core::ffi::c_void, + pub user_page: *mut perf_event_mmap_page, + pub data_pages: __IncompleteArrayField<*mut ::core::ffi::c_void>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_buffer"][::core::mem::size_of::() - 280usize]; + ["Alignment of perf_buffer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_buffer::refcount"] + [::core::mem::offset_of!(perf_buffer, refcount) - 0usize]; + ["Offset of field: perf_buffer::callback_head"] + [::core::mem::offset_of!(perf_buffer, callback_head) - 8usize]; + ["Offset of field: perf_buffer::nr_pages"] + [::core::mem::offset_of!(perf_buffer, nr_pages) - 24usize]; + ["Offset of field: perf_buffer::overwrite"] + [::core::mem::offset_of!(perf_buffer, overwrite) - 28usize]; + ["Offset of field: perf_buffer::paused"] + [::core::mem::offset_of!(perf_buffer, paused) - 32usize]; + ["Offset of field: perf_buffer::poll"][::core::mem::offset_of!(perf_buffer, poll) - 36usize]; + ["Offset of field: perf_buffer::head"][::core::mem::offset_of!(perf_buffer, head) - 40usize]; + ["Offset of field: perf_buffer::nest"][::core::mem::offset_of!(perf_buffer, nest) - 48usize]; + ["Offset of field: perf_buffer::events"] + [::core::mem::offset_of!(perf_buffer, events) - 56usize]; + ["Offset of field: perf_buffer::wakeup"] + [::core::mem::offset_of!(perf_buffer, wakeup) - 64usize]; + ["Offset of field: perf_buffer::lost"][::core::mem::offset_of!(perf_buffer, lost) - 72usize]; + ["Offset of field: perf_buffer::watermark"] + [::core::mem::offset_of!(perf_buffer, watermark) - 80usize]; + ["Offset of field: perf_buffer::aux_watermark"] + [::core::mem::offset_of!(perf_buffer, aux_watermark) - 88usize]; + ["Offset of field: perf_buffer::event_lock"] + [::core::mem::offset_of!(perf_buffer, event_lock) - 96usize]; + ["Offset of field: perf_buffer::event_list"] + [::core::mem::offset_of!(perf_buffer, event_list) - 104usize]; + ["Offset of field: perf_buffer::mmap_count"] + [::core::mem::offset_of!(perf_buffer, mmap_count) - 120usize]; + ["Offset of field: perf_buffer::mmap_locked"] + [::core::mem::offset_of!(perf_buffer, mmap_locked) - 128usize]; + ["Offset of field: perf_buffer::mmap_user"] + [::core::mem::offset_of!(perf_buffer, mmap_user) - 136usize]; + ["Offset of field: perf_buffer::aux_mutex"] + [::core::mem::offset_of!(perf_buffer, aux_mutex) - 144usize]; + ["Offset of field: perf_buffer::aux_head"] + [::core::mem::offset_of!(perf_buffer, aux_head) - 176usize]; + ["Offset of field: perf_buffer::aux_nest"] + [::core::mem::offset_of!(perf_buffer, aux_nest) - 184usize]; + ["Offset of field: perf_buffer::aux_wakeup"] + [::core::mem::offset_of!(perf_buffer, aux_wakeup) - 192usize]; + ["Offset of field: perf_buffer::aux_pgoff"] + [::core::mem::offset_of!(perf_buffer, aux_pgoff) - 200usize]; + ["Offset of field: perf_buffer::aux_nr_pages"] + [::core::mem::offset_of!(perf_buffer, aux_nr_pages) - 208usize]; + ["Offset of field: perf_buffer::aux_overwrite"] + [::core::mem::offset_of!(perf_buffer, aux_overwrite) - 212usize]; + ["Offset of field: perf_buffer::aux_mmap_count"] + [::core::mem::offset_of!(perf_buffer, aux_mmap_count) - 216usize]; + ["Offset of field: perf_buffer::aux_mmap_locked"] + [::core::mem::offset_of!(perf_buffer, aux_mmap_locked) - 224usize]; + ["Offset of field: perf_buffer::free_aux"] + [::core::mem::offset_of!(perf_buffer, free_aux) - 232usize]; + ["Offset of field: perf_buffer::aux_refcount"] + [::core::mem::offset_of!(perf_buffer, aux_refcount) - 240usize]; + ["Offset of field: perf_buffer::aux_in_sampling"] + [::core::mem::offset_of!(perf_buffer, aux_in_sampling) - 244usize]; + ["Offset of field: perf_buffer::aux_in_pause_resume"] + [::core::mem::offset_of!(perf_buffer, aux_in_pause_resume) - 248usize]; + ["Offset of field: perf_buffer::aux_pages"] + [::core::mem::offset_of!(perf_buffer, aux_pages) - 256usize]; + ["Offset of field: perf_buffer::aux_priv"] + [::core::mem::offset_of!(perf_buffer, aux_priv) - 264usize]; + ["Offset of field: perf_buffer::user_page"] + [::core::mem::offset_of!(perf_buffer, user_page) - 272usize]; + ["Offset of field: perf_buffer::data_pages"] + [::core::mem::offset_of!(perf_buffer, data_pages) - 280usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct perf_callchain_entry { + pub nr: __u64, + pub ip: __IncompleteArrayField<__u64>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_callchain_entry"][::core::mem::size_of::() - 8usize]; + ["Alignment of perf_callchain_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_callchain_entry::nr"] + [::core::mem::offset_of!(perf_callchain_entry, nr) - 0usize]; + ["Offset of field: perf_callchain_entry::ip"] + [::core::mem::offset_of!(perf_callchain_entry, ip) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_cgroup { + pub css: cgroup_subsys_state, + pub info: *mut perf_cgroup_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_cgroup"][::core::mem::size_of::() - 216usize]; + ["Alignment of perf_cgroup"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_cgroup::css"][::core::mem::offset_of!(perf_cgroup, css) - 0usize]; + ["Offset of field: perf_cgroup::info"][::core::mem::offset_of!(perf_cgroup, info) - 208usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_cgroup_info { + pub time: u64_, + pub timestamp: u64_, + pub timeoffset: u64_, + pub active: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_cgroup_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of perf_cgroup_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_cgroup_info::time"] + [::core::mem::offset_of!(perf_cgroup_info, time) - 0usize]; + ["Offset of field: perf_cgroup_info::timestamp"] + [::core::mem::offset_of!(perf_cgroup_info, timestamp) - 8usize]; + ["Offset of field: perf_cgroup_info::timeoffset"] + [::core::mem::offset_of!(perf_cgroup_info, timeoffset) - 16usize]; + ["Offset of field: perf_cgroup_info::active"] + [::core::mem::offset_of!(perf_cgroup_info, active) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_event_groups { + pub tree: rb_root, + pub index: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_groups"][::core::mem::size_of::() - 16usize]; + ["Alignment of perf_event_groups"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_groups::tree"] + [::core::mem::offset_of!(perf_event_groups, tree) - 0usize]; + ["Offset of field: perf_event_groups::index"] + [::core::mem::offset_of!(perf_event_groups, index) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_event_context { + pub lock: raw_spinlock_t, + pub mutex: mutex, + pub pmu_ctx_list: list_head, + pub pinned_groups: perf_event_groups, + pub flexible_groups: perf_event_groups, + pub event_list: list_head, + pub nr_events: ::core::ffi::c_int, + pub nr_user: ::core::ffi::c_int, + pub is_active: ::core::ffi::c_int, + pub nr_task_data: ::core::ffi::c_int, + pub nr_stat: ::core::ffi::c_int, + pub nr_freq: ::core::ffi::c_int, + pub rotate_disable: ::core::ffi::c_int, + pub refcount: refcount_t, + pub task: *mut task_struct, + pub time: u64_, + pub timestamp: u64_, + pub timeoffset: u64_, + pub parent_ctx: *mut perf_event_context, + pub parent_gen: u64_, + pub generation: u64_, + pub pin_count: ::core::ffi::c_int, + pub nr_cgroups: ::core::ffi::c_int, + pub callback_head: callback_head, + pub nr_no_switch_fast: local_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_context"][::core::mem::size_of::() - 224usize]; + ["Alignment of perf_event_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_context::lock"] + [::core::mem::offset_of!(perf_event_context, lock) - 0usize]; + ["Offset of field: perf_event_context::mutex"] + [::core::mem::offset_of!(perf_event_context, mutex) - 8usize]; + ["Offset of field: perf_event_context::pmu_ctx_list"] + [::core::mem::offset_of!(perf_event_context, pmu_ctx_list) - 40usize]; + ["Offset of field: perf_event_context::pinned_groups"] + [::core::mem::offset_of!(perf_event_context, pinned_groups) - 56usize]; + ["Offset of field: perf_event_context::flexible_groups"] + [::core::mem::offset_of!(perf_event_context, flexible_groups) - 72usize]; + ["Offset of field: perf_event_context::event_list"] + [::core::mem::offset_of!(perf_event_context, event_list) - 88usize]; + ["Offset of field: perf_event_context::nr_events"] + [::core::mem::offset_of!(perf_event_context, nr_events) - 104usize]; + ["Offset of field: perf_event_context::nr_user"] + [::core::mem::offset_of!(perf_event_context, nr_user) - 108usize]; + ["Offset of field: perf_event_context::is_active"] + [::core::mem::offset_of!(perf_event_context, is_active) - 112usize]; + ["Offset of field: perf_event_context::nr_task_data"] + [::core::mem::offset_of!(perf_event_context, nr_task_data) - 116usize]; + ["Offset of field: perf_event_context::nr_stat"] + [::core::mem::offset_of!(perf_event_context, nr_stat) - 120usize]; + ["Offset of field: perf_event_context::nr_freq"] + [::core::mem::offset_of!(perf_event_context, nr_freq) - 124usize]; + ["Offset of field: perf_event_context::rotate_disable"] + [::core::mem::offset_of!(perf_event_context, rotate_disable) - 128usize]; + ["Offset of field: perf_event_context::refcount"] + [::core::mem::offset_of!(perf_event_context, refcount) - 132usize]; + ["Offset of field: perf_event_context::task"] + [::core::mem::offset_of!(perf_event_context, task) - 136usize]; + ["Offset of field: perf_event_context::time"] + [::core::mem::offset_of!(perf_event_context, time) - 144usize]; + ["Offset of field: perf_event_context::timestamp"] + [::core::mem::offset_of!(perf_event_context, timestamp) - 152usize]; + ["Offset of field: perf_event_context::timeoffset"] + [::core::mem::offset_of!(perf_event_context, timeoffset) - 160usize]; + ["Offset of field: perf_event_context::parent_ctx"] + [::core::mem::offset_of!(perf_event_context, parent_ctx) - 168usize]; + ["Offset of field: perf_event_context::parent_gen"] + [::core::mem::offset_of!(perf_event_context, parent_gen) - 176usize]; + ["Offset of field: perf_event_context::generation"] + [::core::mem::offset_of!(perf_event_context, generation) - 184usize]; + ["Offset of field: perf_event_context::pin_count"] + [::core::mem::offset_of!(perf_event_context, pin_count) - 192usize]; + ["Offset of field: perf_event_context::nr_cgroups"] + [::core::mem::offset_of!(perf_event_context, nr_cgroups) - 196usize]; + ["Offset of field: perf_event_context::callback_head"] + [::core::mem::offset_of!(perf_event_context, callback_head) - 200usize]; + ["Offset of field: perf_event_context::nr_no_switch_fast"] + [::core::mem::offset_of!(perf_event_context, nr_no_switch_fast) - 216usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_event_pmu_context { + pub pmu: *mut pmu, + pub ctx: *mut perf_event_context, + pub pmu_ctx_entry: list_head, + pub pinned_active: list_head, + pub flexible_active: list_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub nr_events: ::core::ffi::c_uint, + pub nr_cgroups: ::core::ffi::c_uint, + pub nr_freq: ::core::ffi::c_uint, + pub refcount: atomic_t, + pub callback_head: callback_head, + pub task_ctx_data: *mut ::core::ffi::c_void, + pub rotate_necessary: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_pmu_context"][::core::mem::size_of::() - 120usize]; + ["Alignment of perf_event_pmu_context"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_pmu_context::pmu"] + [::core::mem::offset_of!(perf_event_pmu_context, pmu) - 0usize]; + ["Offset of field: perf_event_pmu_context::ctx"] + [::core::mem::offset_of!(perf_event_pmu_context, ctx) - 8usize]; + ["Offset of field: perf_event_pmu_context::pmu_ctx_entry"] + [::core::mem::offset_of!(perf_event_pmu_context, pmu_ctx_entry) - 16usize]; + ["Offset of field: perf_event_pmu_context::pinned_active"] + [::core::mem::offset_of!(perf_event_pmu_context, pinned_active) - 32usize]; + ["Offset of field: perf_event_pmu_context::flexible_active"] + [::core::mem::offset_of!(perf_event_pmu_context, flexible_active) - 48usize]; + ["Offset of field: perf_event_pmu_context::nr_events"] + [::core::mem::offset_of!(perf_event_pmu_context, nr_events) - 68usize]; + ["Offset of field: perf_event_pmu_context::nr_cgroups"] + [::core::mem::offset_of!(perf_event_pmu_context, nr_cgroups) - 72usize]; + ["Offset of field: perf_event_pmu_context::nr_freq"] + [::core::mem::offset_of!(perf_event_pmu_context, nr_freq) - 76usize]; + ["Offset of field: perf_event_pmu_context::refcount"] + [::core::mem::offset_of!(perf_event_pmu_context, refcount) - 80usize]; + ["Offset of field: perf_event_pmu_context::callback_head"] + [::core::mem::offset_of!(perf_event_pmu_context, callback_head) - 88usize]; + ["Offset of field: perf_event_pmu_context::task_ctx_data"] + [::core::mem::offset_of!(perf_event_pmu_context, task_ctx_data) - 104usize]; + ["Offset of field: perf_event_pmu_context::rotate_necessary"] + [::core::mem::offset_of!(perf_event_pmu_context, rotate_necessary) - 112usize]; +}; +impl perf_event_pmu_context { + #[inline] + pub fn embedded(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_embedded(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn embedded_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_embedded_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(embedded: ::core::ffi::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let embedded: u32 = unsafe { ::core::mem::transmute(embedded) }; + embedded as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_cpu_pmu_context { + pub epc: perf_event_pmu_context, + pub task_epc: *mut perf_event_pmu_context, + pub sched_cb_entry: list_head, + pub sched_cb_usage: ::core::ffi::c_int, + pub active_oncpu: ::core::ffi::c_int, + pub exclusive: ::core::ffi::c_int, + pub hrtimer_lock: raw_spinlock_t, + pub hrtimer: hrtimer, + pub hrtimer_interval: ktime_t, + pub hrtimer_active: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_cpu_pmu_context"][::core::mem::size_of::() - 240usize]; + ["Alignment of perf_cpu_pmu_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_cpu_pmu_context::epc"] + [::core::mem::offset_of!(perf_cpu_pmu_context, epc) - 0usize]; + ["Offset of field: perf_cpu_pmu_context::task_epc"] + [::core::mem::offset_of!(perf_cpu_pmu_context, task_epc) - 120usize]; + ["Offset of field: perf_cpu_pmu_context::sched_cb_entry"] + [::core::mem::offset_of!(perf_cpu_pmu_context, sched_cb_entry) - 128usize]; + ["Offset of field: perf_cpu_pmu_context::sched_cb_usage"] + [::core::mem::offset_of!(perf_cpu_pmu_context, sched_cb_usage) - 144usize]; + ["Offset of field: perf_cpu_pmu_context::active_oncpu"] + [::core::mem::offset_of!(perf_cpu_pmu_context, active_oncpu) - 148usize]; + ["Offset of field: perf_cpu_pmu_context::exclusive"] + [::core::mem::offset_of!(perf_cpu_pmu_context, exclusive) - 152usize]; + ["Offset of field: perf_cpu_pmu_context::hrtimer_lock"] + [::core::mem::offset_of!(perf_cpu_pmu_context, hrtimer_lock) - 156usize]; + ["Offset of field: perf_cpu_pmu_context::hrtimer"] + [::core::mem::offset_of!(perf_cpu_pmu_context, hrtimer) - 160usize]; + ["Offset of field: perf_cpu_pmu_context::hrtimer_interval"] + [::core::mem::offset_of!(perf_cpu_pmu_context, hrtimer_interval) - 224usize]; + ["Offset of field: perf_cpu_pmu_context::hrtimer_active"] + [::core::mem::offset_of!(perf_cpu_pmu_context, hrtimer_active) - 232usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_domain { + pub em_pd: *mut em_perf_domain, + pub next: *mut perf_domain, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_domain"][::core::mem::size_of::() - 32usize]; + ["Alignment of perf_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_domain::em_pd"][::core::mem::offset_of!(perf_domain, em_pd) - 0usize]; + ["Offset of field: perf_domain::next"][::core::mem::offset_of!(perf_domain, next) - 8usize]; + ["Offset of field: perf_domain::rcu"][::core::mem::offset_of!(perf_domain, rcu) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_event_attr { + pub type_: __u32, + pub size: __u32, + pub config: __u64, + pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1, + pub sample_type: __u64, + pub read_format: __u64, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2, + pub bp_type: __u32, + pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3, + pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4, + pub branch_sample_type: __u64, + pub sample_regs_user: __u64, + pub sample_stack_user: __u32, + pub clockid: __s32, + pub sample_regs_intr: __u64, + pub aux_watermark: __u32, + pub sample_max_stack: __u16, + pub __reserved_2: __u16, + pub aux_sample_size: __u32, + pub __bindgen_anon_5: perf_event_attr__bindgen_ty_5, + pub sig_data: __u64, + pub config3: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_event_attr__bindgen_ty_1 { + pub sample_period: __u64, + pub sample_freq: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_attr__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_event_attr__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_attr__bindgen_ty_1::sample_period"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_1, sample_period) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_1::sample_freq"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_1, sample_freq) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_event_attr__bindgen_ty_2 { + pub wakeup_events: __u32, + pub wakeup_watermark: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_attr__bindgen_ty_2"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of perf_event_attr__bindgen_ty_2"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: perf_event_attr__bindgen_ty_2::wakeup_events"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_2, wakeup_events) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_2::wakeup_watermark"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_2, wakeup_watermark) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_event_attr__bindgen_ty_3 { + pub bp_addr: __u64, + pub kprobe_func: __u64, + pub uprobe_path: __u64, + pub config1: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_attr__bindgen_ty_3"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_event_attr__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_attr__bindgen_ty_3::bp_addr"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_3, bp_addr) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_3::kprobe_func"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_3, kprobe_func) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_3::uprobe_path"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_3, uprobe_path) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_3::config1"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_3, config1) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_event_attr__bindgen_ty_4 { + pub bp_len: __u64, + pub kprobe_addr: __u64, + pub probe_offset: __u64, + pub config2: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_attr__bindgen_ty_4"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_event_attr__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_attr__bindgen_ty_4::bp_len"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_4, bp_len) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_4::kprobe_addr"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_4, kprobe_addr) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_4::probe_offset"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_4, probe_offset) - 0usize]; + ["Offset of field: perf_event_attr__bindgen_ty_4::config2"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_4, config2) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_event_attr__bindgen_ty_5 { + pub aux_action: __u32, + pub __bindgen_anon_1: perf_event_attr__bindgen_ty_5__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_event_attr__bindgen_ty_5__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_attr__bindgen_ty_5__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of perf_event_attr__bindgen_ty_5__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; +}; +impl perf_event_attr__bindgen_ty_5__bindgen_ty_1 { + #[inline] + pub fn aux_start_paused(&self) -> __u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_aux_start_paused(&mut self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn aux_start_paused_raw(this: *const Self) -> __u32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_aux_start_paused_raw(this: *mut Self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn aux_pause(&self) -> __u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_aux_pause(&mut self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn aux_pause_raw(this: *const Self) -> __u32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_aux_pause_raw(this: *mut Self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn aux_resume(&self) -> __u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_aux_resume(&mut self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn aux_resume_raw(this: *const Self) -> __u32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_aux_resume_raw(this: *mut Self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn __reserved_3(&self) -> __u32 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set___reserved_3(&mut self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub unsafe fn __reserved_3_raw(this: *const Self) -> __u32 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 29u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set___reserved_3_raw(this: *mut Self, val: __u32) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 29u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + aux_start_paused: __u32, + aux_pause: __u32, + aux_resume: __u32, + __reserved_3: __u32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let aux_start_paused: u32 = unsafe { ::core::mem::transmute(aux_start_paused) }; + aux_start_paused as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let aux_pause: u32 = unsafe { ::core::mem::transmute(aux_pause) }; + aux_pause as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let aux_resume: u32 = unsafe { ::core::mem::transmute(aux_resume) }; + aux_resume as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let __reserved_3: u32 = unsafe { ::core::mem::transmute(__reserved_3) }; + __reserved_3 as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_attr__bindgen_ty_5"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of perf_event_attr__bindgen_ty_5"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: perf_event_attr__bindgen_ty_5::aux_action"] + [::core::mem::offset_of!(perf_event_attr__bindgen_ty_5, aux_action) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_attr"][::core::mem::size_of::() - 136usize]; + ["Alignment of perf_event_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_attr::type_"] + [::core::mem::offset_of!(perf_event_attr, type_) - 0usize]; + ["Offset of field: perf_event_attr::size"] + [::core::mem::offset_of!(perf_event_attr, size) - 4usize]; + ["Offset of field: perf_event_attr::config"] + [::core::mem::offset_of!(perf_event_attr, config) - 8usize]; + ["Offset of field: perf_event_attr::sample_type"] + [::core::mem::offset_of!(perf_event_attr, sample_type) - 24usize]; + ["Offset of field: perf_event_attr::read_format"] + [::core::mem::offset_of!(perf_event_attr, read_format) - 32usize]; + ["Offset of field: perf_event_attr::bp_type"] + [::core::mem::offset_of!(perf_event_attr, bp_type) - 52usize]; + ["Offset of field: perf_event_attr::branch_sample_type"] + [::core::mem::offset_of!(perf_event_attr, branch_sample_type) - 72usize]; + ["Offset of field: perf_event_attr::sample_regs_user"] + [::core::mem::offset_of!(perf_event_attr, sample_regs_user) - 80usize]; + ["Offset of field: perf_event_attr::sample_stack_user"] + [::core::mem::offset_of!(perf_event_attr, sample_stack_user) - 88usize]; + ["Offset of field: perf_event_attr::clockid"] + [::core::mem::offset_of!(perf_event_attr, clockid) - 92usize]; + ["Offset of field: perf_event_attr::sample_regs_intr"] + [::core::mem::offset_of!(perf_event_attr, sample_regs_intr) - 96usize]; + ["Offset of field: perf_event_attr::aux_watermark"] + [::core::mem::offset_of!(perf_event_attr, aux_watermark) - 104usize]; + ["Offset of field: perf_event_attr::sample_max_stack"] + [::core::mem::offset_of!(perf_event_attr, sample_max_stack) - 108usize]; + ["Offset of field: perf_event_attr::__reserved_2"] + [::core::mem::offset_of!(perf_event_attr, __reserved_2) - 110usize]; + ["Offset of field: perf_event_attr::aux_sample_size"] + [::core::mem::offset_of!(perf_event_attr, aux_sample_size) - 112usize]; + ["Offset of field: perf_event_attr::sig_data"] + [::core::mem::offset_of!(perf_event_attr, sig_data) - 120usize]; + ["Offset of field: perf_event_attr::config3"] + [::core::mem::offset_of!(perf_event_attr, config3) - 128usize]; +}; +impl perf_event_attr { + #[inline] + pub fn disabled(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) } + } + #[inline] + pub fn set_disabled(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn disabled_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_disabled_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn inherit(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) } + } + #[inline] + pub fn set_inherit(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn inherit_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_inherit_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn pinned(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) } + } + #[inline] + pub fn set_pinned(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn pinned_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_pinned_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclusive(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclusive(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclusive_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclusive_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_user(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_user(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_user_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_user_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_kernel(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_kernel(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_kernel_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_kernel_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_hv(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_hv(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_hv_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_hv_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_idle(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_idle(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_idle_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_idle_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn mmap(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) } + } + #[inline] + pub fn set_mmap(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mmap_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mmap_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn comm(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) } + } + #[inline] + pub fn set_comm(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn comm_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_comm_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn freq(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) } + } + #[inline] + pub fn set_freq(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn freq_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 10usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_freq_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn inherit_stat(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) } + } + #[inline] + pub fn set_inherit_stat(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn inherit_stat_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_inherit_stat_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn enable_on_exec(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) } + } + #[inline] + pub fn set_enable_on_exec(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn enable_on_exec_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_enable_on_exec_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn task(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) } + } + #[inline] + pub fn set_task(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn task_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 13usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_task_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 13usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn watermark(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) } + } + #[inline] + pub fn set_watermark(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn watermark_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 14usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_watermark_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn precise_ip(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) } + } + #[inline] + pub fn set_precise_ip(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn precise_ip_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 15usize, + 2u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_precise_ip_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 15usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn mmap_data(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) } + } + #[inline] + pub fn set_mmap_data(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mmap_data_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 17usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mmap_data_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 17usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sample_id_all(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) } + } + #[inline] + pub fn set_sample_id_all(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sample_id_all_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 18usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_sample_id_all_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 18usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_host(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_host(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_host_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 19usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_host_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 19usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_guest(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_guest(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_guest_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 20usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_guest_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 20usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_callchain_kernel(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_callchain_kernel(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_callchain_kernel_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 21usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_callchain_kernel_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 21usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn exclude_callchain_user(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) } + } + #[inline] + pub fn set_exclude_callchain_user(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn exclude_callchain_user_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 22usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_exclude_callchain_user_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 22usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn mmap2(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) } + } + #[inline] + pub fn set_mmap2(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mmap2_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 23usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mmap2_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 23usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn comm_exec(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) } + } + #[inline] + pub fn set_comm_exec(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn comm_exec_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 24usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_comm_exec_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 24usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn use_clockid(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) } + } + #[inline] + pub fn set_use_clockid(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(25usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn use_clockid_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 25usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_use_clockid_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 25usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn context_switch(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) } + } + #[inline] + pub fn set_context_switch(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(26usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn context_switch_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 26usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_context_switch_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 26usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn write_backward(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) } + } + #[inline] + pub fn set_write_backward(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(27usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn write_backward_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 27usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_write_backward_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 27usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn namespaces(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) } + } + #[inline] + pub fn set_namespaces(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(28usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn namespaces_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 28usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_namespaces_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 28usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn ksymbol(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) } + } + #[inline] + pub fn set_ksymbol(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(29usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ksymbol_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 29usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_ksymbol_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 29usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn bpf_event(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) } + } + #[inline] + pub fn set_bpf_event(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(30usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn bpf_event_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 30usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_bpf_event_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 30usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn aux_output(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) } + } + #[inline] + pub fn set_aux_output(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn aux_output_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 31usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_aux_output_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 31usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cgroup(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) } + } + #[inline] + pub fn set_cgroup(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(32usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cgroup_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 32usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cgroup_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 32usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn text_poke(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) } + } + #[inline] + pub fn set_text_poke(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(33usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn text_poke_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 33usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_text_poke_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 33usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn build_id(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) } + } + #[inline] + pub fn set_build_id(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(34usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn build_id_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 34usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_build_id_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 34usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn inherit_thread(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) } + } + #[inline] + pub fn set_inherit_thread(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(35usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn inherit_thread_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 35usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_inherit_thread_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 35usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn remove_on_exec(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) } + } + #[inline] + pub fn set_remove_on_exec(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(36usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn remove_on_exec_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 36usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_remove_on_exec_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 36usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sigtrap(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) } + } + #[inline] + pub fn set_sigtrap(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(37usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sigtrap_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 37usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_sigtrap_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 37usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn __reserved_1(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(38usize, 26u8) as u64) } + } + #[inline] + pub fn set___reserved_1(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(38usize, 26u8, val as u64) + } + } + #[inline] + pub unsafe fn __reserved_1_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 38usize, + 26u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set___reserved_1_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 38usize, + 26u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + disabled: __u64, + inherit: __u64, + pinned: __u64, + exclusive: __u64, + exclude_user: __u64, + exclude_kernel: __u64, + exclude_hv: __u64, + exclude_idle: __u64, + mmap: __u64, + comm: __u64, + freq: __u64, + inherit_stat: __u64, + enable_on_exec: __u64, + task: __u64, + watermark: __u64, + precise_ip: __u64, + mmap_data: __u64, + sample_id_all: __u64, + exclude_host: __u64, + exclude_guest: __u64, + exclude_callchain_kernel: __u64, + exclude_callchain_user: __u64, + mmap2: __u64, + comm_exec: __u64, + use_clockid: __u64, + context_switch: __u64, + write_backward: __u64, + namespaces: __u64, + ksymbol: __u64, + bpf_event: __u64, + aux_output: __u64, + cgroup: __u64, + text_poke: __u64, + build_id: __u64, + inherit_thread: __u64, + remove_on_exec: __u64, + sigtrap: __u64, + __reserved_1: __u64, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let disabled: u64 = unsafe { ::core::mem::transmute(disabled) }; + disabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let inherit: u64 = unsafe { ::core::mem::transmute(inherit) }; + inherit as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let pinned: u64 = unsafe { ::core::mem::transmute(pinned) }; + pinned as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let exclusive: u64 = unsafe { ::core::mem::transmute(exclusive) }; + exclusive as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let exclude_user: u64 = unsafe { ::core::mem::transmute(exclude_user) }; + exclude_user as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let exclude_kernel: u64 = unsafe { ::core::mem::transmute(exclude_kernel) }; + exclude_kernel as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let exclude_hv: u64 = unsafe { ::core::mem::transmute(exclude_hv) }; + exclude_hv as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let exclude_idle: u64 = unsafe { ::core::mem::transmute(exclude_idle) }; + exclude_idle as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let mmap: u64 = unsafe { ::core::mem::transmute(mmap) }; + mmap as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let comm: u64 = unsafe { ::core::mem::transmute(comm) }; + comm as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let freq: u64 = unsafe { ::core::mem::transmute(freq) }; + freq as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let inherit_stat: u64 = unsafe { ::core::mem::transmute(inherit_stat) }; + inherit_stat as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let enable_on_exec: u64 = unsafe { ::core::mem::transmute(enable_on_exec) }; + enable_on_exec as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let task: u64 = unsafe { ::core::mem::transmute(task) }; + task as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let watermark: u64 = unsafe { ::core::mem::transmute(watermark) }; + watermark as u64 + }); + __bindgen_bitfield_unit.set(15usize, 2u8, { + let precise_ip: u64 = unsafe { ::core::mem::transmute(precise_ip) }; + precise_ip as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let mmap_data: u64 = unsafe { ::core::mem::transmute(mmap_data) }; + mmap_data as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let sample_id_all: u64 = unsafe { ::core::mem::transmute(sample_id_all) }; + sample_id_all as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let exclude_host: u64 = unsafe { ::core::mem::transmute(exclude_host) }; + exclude_host as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let exclude_guest: u64 = unsafe { ::core::mem::transmute(exclude_guest) }; + exclude_guest as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let exclude_callchain_kernel: u64 = + unsafe { ::core::mem::transmute(exclude_callchain_kernel) }; + exclude_callchain_kernel as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let exclude_callchain_user: u64 = + unsafe { ::core::mem::transmute(exclude_callchain_user) }; + exclude_callchain_user as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let mmap2: u64 = unsafe { ::core::mem::transmute(mmap2) }; + mmap2 as u64 + }); + __bindgen_bitfield_unit.set(24usize, 1u8, { + let comm_exec: u64 = unsafe { ::core::mem::transmute(comm_exec) }; + comm_exec as u64 + }); + __bindgen_bitfield_unit.set(25usize, 1u8, { + let use_clockid: u64 = unsafe { ::core::mem::transmute(use_clockid) }; + use_clockid as u64 + }); + __bindgen_bitfield_unit.set(26usize, 1u8, { + let context_switch: u64 = unsafe { ::core::mem::transmute(context_switch) }; + context_switch as u64 + }); + __bindgen_bitfield_unit.set(27usize, 1u8, { + let write_backward: u64 = unsafe { ::core::mem::transmute(write_backward) }; + write_backward as u64 + }); + __bindgen_bitfield_unit.set(28usize, 1u8, { + let namespaces: u64 = unsafe { ::core::mem::transmute(namespaces) }; + namespaces as u64 + }); + __bindgen_bitfield_unit.set(29usize, 1u8, { + let ksymbol: u64 = unsafe { ::core::mem::transmute(ksymbol) }; + ksymbol as u64 + }); + __bindgen_bitfield_unit.set(30usize, 1u8, { + let bpf_event: u64 = unsafe { ::core::mem::transmute(bpf_event) }; + bpf_event as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let aux_output: u64 = unsafe { ::core::mem::transmute(aux_output) }; + aux_output as u64 + }); + __bindgen_bitfield_unit.set(32usize, 1u8, { + let cgroup: u64 = unsafe { ::core::mem::transmute(cgroup) }; + cgroup as u64 + }); + __bindgen_bitfield_unit.set(33usize, 1u8, { + let text_poke: u64 = unsafe { ::core::mem::transmute(text_poke) }; + text_poke as u64 + }); + __bindgen_bitfield_unit.set(34usize, 1u8, { + let build_id: u64 = unsafe { ::core::mem::transmute(build_id) }; + build_id as u64 + }); + __bindgen_bitfield_unit.set(35usize, 1u8, { + let inherit_thread: u64 = unsafe { ::core::mem::transmute(inherit_thread) }; + inherit_thread as u64 + }); + __bindgen_bitfield_unit.set(36usize, 1u8, { + let remove_on_exec: u64 = unsafe { ::core::mem::transmute(remove_on_exec) }; + remove_on_exec as u64 + }); + __bindgen_bitfield_unit.set(37usize, 1u8, { + let sigtrap: u64 = unsafe { ::core::mem::transmute(sigtrap) }; + sigtrap as u64 + }); + __bindgen_bitfield_unit.set(38usize, 26u8, { + let __reserved_1: u64 = unsafe { ::core::mem::transmute(__reserved_1) }; + __reserved_1 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type perf_overflow_handler_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut perf_event, arg2: *mut perf_sample_data, arg3: *mut pt_regs), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_event { + pub event_entry: list_head, + pub sibling_list: list_head, + pub active_list: list_head, + pub group_node: rb_node, + pub group_index: u64_, + pub migrate_entry: list_head, + pub hlist_entry: hlist_node, + pub active_entry: list_head, + pub nr_siblings: ::core::ffi::c_int, + pub event_caps: ::core::ffi::c_int, + pub group_caps: ::core::ffi::c_int, + pub group_generation: ::core::ffi::c_uint, + pub group_leader: *mut perf_event, + pub pmu: *mut pmu, + pub pmu_private: *mut ::core::ffi::c_void, + pub state: perf_event_state, + pub attach_state: ::core::ffi::c_uint, + pub count: local64_t, + pub child_count: atomic64_t, + pub total_time_enabled: u64_, + pub total_time_running: u64_, + pub tstamp: u64_, + pub attr: perf_event_attr, + pub header_size: u16_, + pub id_header_size: u16_, + pub read_size: u16_, + pub hw: hw_perf_event, + pub ctx: *mut perf_event_context, + pub pmu_ctx: *mut perf_event_pmu_context, + pub refcount: atomic_long_t, + pub child_total_time_enabled: atomic64_t, + pub child_total_time_running: atomic64_t, + pub child_mutex: mutex, + pub child_list: list_head, + pub parent: *mut perf_event, + pub oncpu: ::core::ffi::c_int, + pub cpu: ::core::ffi::c_int, + pub owner_entry: list_head, + pub owner: *mut task_struct, + pub mmap_mutex: mutex, + pub mmap_count: atomic_t, + pub rb: *mut perf_buffer, + pub rb_entry: list_head, + pub rcu_batches: ::core::ffi::c_ulong, + pub rcu_pending: ::core::ffi::c_int, + pub waitq: wait_queue_head_t, + pub fasync: *mut fasync_struct, + pub pending_wakeup: ::core::ffi::c_uint, + pub pending_kill: ::core::ffi::c_uint, + pub pending_disable: ::core::ffi::c_uint, + pub pending_addr: ::core::ffi::c_ulong, + pub pending_irq: irq_work, + pub pending_disable_irq: irq_work, + pub pending_task: callback_head, + pub pending_work: ::core::ffi::c_uint, + pub event_limit: atomic_t, + pub addr_filters: perf_addr_filters_head, + pub addr_filter_ranges: *mut perf_addr_filter_range, + pub addr_filters_gen: ::core::ffi::c_ulong, + pub aux_event: *mut perf_event, + pub destroy: ::core::option::Option, + pub callback_head: callback_head, + pub ns: *mut pid_namespace, + pub id: u64_, + pub lost_samples: atomic64_t, + pub clock: ::core::option::Option u64_>, + pub overflow_handler: perf_overflow_handler_t, + pub overflow_handler_context: *mut ::core::ffi::c_void, + pub prog: *mut bpf_prog, + pub bpf_cookie: u64_, + pub tp_event: *mut trace_event_call, + pub filter: *mut event_filter, + pub ftrace_ops: ftrace_ops, + pub cgrp: *mut perf_cgroup, + pub security: *mut ::core::ffi::c_void, + pub sb_list: list_head, + pub orig_type: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event"][::core::mem::size_of::() - 1312usize]; + ["Alignment of perf_event"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event::event_entry"] + [::core::mem::offset_of!(perf_event, event_entry) - 0usize]; + ["Offset of field: perf_event::sibling_list"] + [::core::mem::offset_of!(perf_event, sibling_list) - 16usize]; + ["Offset of field: perf_event::active_list"] + [::core::mem::offset_of!(perf_event, active_list) - 32usize]; + ["Offset of field: perf_event::group_node"] + [::core::mem::offset_of!(perf_event, group_node) - 48usize]; + ["Offset of field: perf_event::group_index"] + [::core::mem::offset_of!(perf_event, group_index) - 72usize]; + ["Offset of field: perf_event::migrate_entry"] + [::core::mem::offset_of!(perf_event, migrate_entry) - 80usize]; + ["Offset of field: perf_event::hlist_entry"] + [::core::mem::offset_of!(perf_event, hlist_entry) - 96usize]; + ["Offset of field: perf_event::active_entry"] + [::core::mem::offset_of!(perf_event, active_entry) - 112usize]; + ["Offset of field: perf_event::nr_siblings"] + [::core::mem::offset_of!(perf_event, nr_siblings) - 128usize]; + ["Offset of field: perf_event::event_caps"] + [::core::mem::offset_of!(perf_event, event_caps) - 132usize]; + ["Offset of field: perf_event::group_caps"] + [::core::mem::offset_of!(perf_event, group_caps) - 136usize]; + ["Offset of field: perf_event::group_generation"] + [::core::mem::offset_of!(perf_event, group_generation) - 140usize]; + ["Offset of field: perf_event::group_leader"] + [::core::mem::offset_of!(perf_event, group_leader) - 144usize]; + ["Offset of field: perf_event::pmu"][::core::mem::offset_of!(perf_event, pmu) - 152usize]; + ["Offset of field: perf_event::pmu_private"] + [::core::mem::offset_of!(perf_event, pmu_private) - 160usize]; + ["Offset of field: perf_event::state"][::core::mem::offset_of!(perf_event, state) - 168usize]; + ["Offset of field: perf_event::attach_state"] + [::core::mem::offset_of!(perf_event, attach_state) - 172usize]; + ["Offset of field: perf_event::count"][::core::mem::offset_of!(perf_event, count) - 176usize]; + ["Offset of field: perf_event::child_count"] + [::core::mem::offset_of!(perf_event, child_count) - 184usize]; + ["Offset of field: perf_event::total_time_enabled"] + [::core::mem::offset_of!(perf_event, total_time_enabled) - 192usize]; + ["Offset of field: perf_event::total_time_running"] + [::core::mem::offset_of!(perf_event, total_time_running) - 200usize]; + ["Offset of field: perf_event::tstamp"][::core::mem::offset_of!(perf_event, tstamp) - 208usize]; + ["Offset of field: perf_event::attr"][::core::mem::offset_of!(perf_event, attr) - 216usize]; + ["Offset of field: perf_event::header_size"] + [::core::mem::offset_of!(perf_event, header_size) - 352usize]; + ["Offset of field: perf_event::id_header_size"] + [::core::mem::offset_of!(perf_event, id_header_size) - 354usize]; + ["Offset of field: perf_event::read_size"] + [::core::mem::offset_of!(perf_event, read_size) - 356usize]; + ["Offset of field: perf_event::hw"][::core::mem::offset_of!(perf_event, hw) - 360usize]; + ["Offset of field: perf_event::ctx"][::core::mem::offset_of!(perf_event, ctx) - 552usize]; + ["Offset of field: perf_event::pmu_ctx"] + [::core::mem::offset_of!(perf_event, pmu_ctx) - 560usize]; + ["Offset of field: perf_event::refcount"] + [::core::mem::offset_of!(perf_event, refcount) - 568usize]; + ["Offset of field: perf_event::child_total_time_enabled"] + [::core::mem::offset_of!(perf_event, child_total_time_enabled) - 576usize]; + ["Offset of field: perf_event::child_total_time_running"] + [::core::mem::offset_of!(perf_event, child_total_time_running) - 584usize]; + ["Offset of field: perf_event::child_mutex"] + [::core::mem::offset_of!(perf_event, child_mutex) - 592usize]; + ["Offset of field: perf_event::child_list"] + [::core::mem::offset_of!(perf_event, child_list) - 624usize]; + ["Offset of field: perf_event::parent"][::core::mem::offset_of!(perf_event, parent) - 640usize]; + ["Offset of field: perf_event::oncpu"][::core::mem::offset_of!(perf_event, oncpu) - 648usize]; + ["Offset of field: perf_event::cpu"][::core::mem::offset_of!(perf_event, cpu) - 652usize]; + ["Offset of field: perf_event::owner_entry"] + [::core::mem::offset_of!(perf_event, owner_entry) - 656usize]; + ["Offset of field: perf_event::owner"][::core::mem::offset_of!(perf_event, owner) - 672usize]; + ["Offset of field: perf_event::mmap_mutex"] + [::core::mem::offset_of!(perf_event, mmap_mutex) - 680usize]; + ["Offset of field: perf_event::mmap_count"] + [::core::mem::offset_of!(perf_event, mmap_count) - 712usize]; + ["Offset of field: perf_event::rb"][::core::mem::offset_of!(perf_event, rb) - 720usize]; + ["Offset of field: perf_event::rb_entry"] + [::core::mem::offset_of!(perf_event, rb_entry) - 728usize]; + ["Offset of field: perf_event::rcu_batches"] + [::core::mem::offset_of!(perf_event, rcu_batches) - 744usize]; + ["Offset of field: perf_event::rcu_pending"] + [::core::mem::offset_of!(perf_event, rcu_pending) - 752usize]; + ["Offset of field: perf_event::waitq"][::core::mem::offset_of!(perf_event, waitq) - 760usize]; + ["Offset of field: perf_event::fasync"][::core::mem::offset_of!(perf_event, fasync) - 784usize]; + ["Offset of field: perf_event::pending_wakeup"] + [::core::mem::offset_of!(perf_event, pending_wakeup) - 792usize]; + ["Offset of field: perf_event::pending_kill"] + [::core::mem::offset_of!(perf_event, pending_kill) - 796usize]; + ["Offset of field: perf_event::pending_disable"] + [::core::mem::offset_of!(perf_event, pending_disable) - 800usize]; + ["Offset of field: perf_event::pending_addr"] + [::core::mem::offset_of!(perf_event, pending_addr) - 808usize]; + ["Offset of field: perf_event::pending_irq"] + [::core::mem::offset_of!(perf_event, pending_irq) - 816usize]; + ["Offset of field: perf_event::pending_disable_irq"] + [::core::mem::offset_of!(perf_event, pending_disable_irq) - 848usize]; + ["Offset of field: perf_event::pending_task"] + [::core::mem::offset_of!(perf_event, pending_task) - 880usize]; + ["Offset of field: perf_event::pending_work"] + [::core::mem::offset_of!(perf_event, pending_work) - 896usize]; + ["Offset of field: perf_event::event_limit"] + [::core::mem::offset_of!(perf_event, event_limit) - 900usize]; + ["Offset of field: perf_event::addr_filters"] + [::core::mem::offset_of!(perf_event, addr_filters) - 904usize]; + ["Offset of field: perf_event::addr_filter_ranges"] + [::core::mem::offset_of!(perf_event, addr_filter_ranges) - 928usize]; + ["Offset of field: perf_event::addr_filters_gen"] + [::core::mem::offset_of!(perf_event, addr_filters_gen) - 936usize]; + ["Offset of field: perf_event::aux_event"] + [::core::mem::offset_of!(perf_event, aux_event) - 944usize]; + ["Offset of field: perf_event::destroy"] + [::core::mem::offset_of!(perf_event, destroy) - 952usize]; + ["Offset of field: perf_event::callback_head"] + [::core::mem::offset_of!(perf_event, callback_head) - 960usize]; + ["Offset of field: perf_event::ns"][::core::mem::offset_of!(perf_event, ns) - 976usize]; + ["Offset of field: perf_event::id"][::core::mem::offset_of!(perf_event, id) - 984usize]; + ["Offset of field: perf_event::lost_samples"] + [::core::mem::offset_of!(perf_event, lost_samples) - 992usize]; + ["Offset of field: perf_event::clock"][::core::mem::offset_of!(perf_event, clock) - 1000usize]; + ["Offset of field: perf_event::overflow_handler"] + [::core::mem::offset_of!(perf_event, overflow_handler) - 1008usize]; + ["Offset of field: perf_event::overflow_handler_context"] + [::core::mem::offset_of!(perf_event, overflow_handler_context) - 1016usize]; + ["Offset of field: perf_event::prog"][::core::mem::offset_of!(perf_event, prog) - 1024usize]; + ["Offset of field: perf_event::bpf_cookie"] + [::core::mem::offset_of!(perf_event, bpf_cookie) - 1032usize]; + ["Offset of field: perf_event::tp_event"] + [::core::mem::offset_of!(perf_event, tp_event) - 1040usize]; + ["Offset of field: perf_event::filter"] + [::core::mem::offset_of!(perf_event, filter) - 1048usize]; + ["Offset of field: perf_event::ftrace_ops"] + [::core::mem::offset_of!(perf_event, ftrace_ops) - 1056usize]; + ["Offset of field: perf_event::cgrp"][::core::mem::offset_of!(perf_event, cgrp) - 1272usize]; + ["Offset of field: perf_event::security"] + [::core::mem::offset_of!(perf_event, security) - 1280usize]; + ["Offset of field: perf_event::sb_list"] + [::core::mem::offset_of!(perf_event, sb_list) - 1288usize]; + ["Offset of field: perf_event::orig_type"] + [::core::mem::offset_of!(perf_event, orig_type) - 1304usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_event_mmap_page { + pub version: __u32, + pub compat_version: __u32, + pub lock: __u32, + pub index: __u32, + pub offset: __s64, + pub time_enabled: __u64, + pub time_running: __u64, + pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1, + pub pmc_width: __u16, + pub time_shift: __u16, + pub time_mult: __u32, + pub time_offset: __u64, + pub time_zero: __u64, + pub size: __u32, + pub __reserved_1: __u32, + pub time_cycles: __u64, + pub time_mask: __u64, + pub __reserved: [__u8; 928usize], + pub data_head: __u64, + pub data_tail: __u64, + pub data_offset: __u64, + pub data_size: __u64, + pub aux_head: __u64, + pub aux_tail: __u64, + pub aux_offset: __u64, + pub aux_size: __u64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_event_mmap_page__bindgen_ty_1 { + pub capabilities: __u64, + pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u64; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +impl perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn cap_bit0(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) } + } + #[inline] + pub fn set_cap_bit0(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_bit0_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cap_bit0_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_bit0_is_deprecated(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) } + } + #[inline] + pub fn set_cap_bit0_is_deprecated(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_bit0_is_deprecated_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cap_bit0_is_deprecated_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_user_rdpmc(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) } + } + #[inline] + pub fn set_cap_user_rdpmc(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_user_rdpmc_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cap_user_rdpmc_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_user_time(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) } + } + #[inline] + pub fn set_cap_user_time(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_user_time_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cap_user_time_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_user_time_zero(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) } + } + #[inline] + pub fn set_cap_user_time_zero(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_user_time_zero_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cap_user_time_zero_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_user_time_short(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) } + } + #[inline] + pub fn set_cap_user_time_short(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_user_time_short_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cap_user_time_short_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cap_____res(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 58u8) as u64) } + } + #[inline] + pub fn set_cap_____res(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 58u8, val as u64) + } + } + #[inline] + pub unsafe fn cap_____res_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 58u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_cap_____res_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 58u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + cap_bit0: __u64, + cap_bit0_is_deprecated: __u64, + cap_user_rdpmc: __u64, + cap_user_time: __u64, + cap_user_time_zero: __u64, + cap_user_time_short: __u64, + cap_____res: __u64, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let cap_bit0: u64 = unsafe { ::core::mem::transmute(cap_bit0) }; + cap_bit0 as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let cap_bit0_is_deprecated: u64 = + unsafe { ::core::mem::transmute(cap_bit0_is_deprecated) }; + cap_bit0_is_deprecated as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let cap_user_rdpmc: u64 = unsafe { ::core::mem::transmute(cap_user_rdpmc) }; + cap_user_rdpmc as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let cap_user_time: u64 = unsafe { ::core::mem::transmute(cap_user_time) }; + cap_user_time as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let cap_user_time_zero: u64 = unsafe { ::core::mem::transmute(cap_user_time_zero) }; + cap_user_time_zero as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let cap_user_time_short: u64 = unsafe { ::core::mem::transmute(cap_user_time_short) }; + cap_user_time_short as u64 + }); + __bindgen_bitfield_unit.set(6usize, 58u8, { + let cap_____res: u64 = unsafe { ::core::mem::transmute(cap_____res) }; + cap_____res as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_mmap_page__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_event_mmap_page__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_mmap_page__bindgen_ty_1::capabilities"] + [::core::mem::offset_of!(perf_event_mmap_page__bindgen_ty_1, capabilities) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_event_mmap_page"][::core::mem::size_of::() - 1088usize]; + ["Alignment of perf_event_mmap_page"][::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_event_mmap_page::version"] + [::core::mem::offset_of!(perf_event_mmap_page, version) - 0usize]; + ["Offset of field: perf_event_mmap_page::compat_version"] + [::core::mem::offset_of!(perf_event_mmap_page, compat_version) - 4usize]; + ["Offset of field: perf_event_mmap_page::lock"] + [::core::mem::offset_of!(perf_event_mmap_page, lock) - 8usize]; + ["Offset of field: perf_event_mmap_page::index"] + [::core::mem::offset_of!(perf_event_mmap_page, index) - 12usize]; + ["Offset of field: perf_event_mmap_page::offset"] + [::core::mem::offset_of!(perf_event_mmap_page, offset) - 16usize]; + ["Offset of field: perf_event_mmap_page::time_enabled"] + [::core::mem::offset_of!(perf_event_mmap_page, time_enabled) - 24usize]; + ["Offset of field: perf_event_mmap_page::time_running"] + [::core::mem::offset_of!(perf_event_mmap_page, time_running) - 32usize]; + ["Offset of field: perf_event_mmap_page::pmc_width"] + [::core::mem::offset_of!(perf_event_mmap_page, pmc_width) - 48usize]; + ["Offset of field: perf_event_mmap_page::time_shift"] + [::core::mem::offset_of!(perf_event_mmap_page, time_shift) - 50usize]; + ["Offset of field: perf_event_mmap_page::time_mult"] + [::core::mem::offset_of!(perf_event_mmap_page, time_mult) - 52usize]; + ["Offset of field: perf_event_mmap_page::time_offset"] + [::core::mem::offset_of!(perf_event_mmap_page, time_offset) - 56usize]; + ["Offset of field: perf_event_mmap_page::time_zero"] + [::core::mem::offset_of!(perf_event_mmap_page, time_zero) - 64usize]; + ["Offset of field: perf_event_mmap_page::size"] + [::core::mem::offset_of!(perf_event_mmap_page, size) - 72usize]; + ["Offset of field: perf_event_mmap_page::__reserved_1"] + [::core::mem::offset_of!(perf_event_mmap_page, __reserved_1) - 76usize]; + ["Offset of field: perf_event_mmap_page::time_cycles"] + [::core::mem::offset_of!(perf_event_mmap_page, time_cycles) - 80usize]; + ["Offset of field: perf_event_mmap_page::time_mask"] + [::core::mem::offset_of!(perf_event_mmap_page, time_mask) - 88usize]; + ["Offset of field: perf_event_mmap_page::__reserved"] + [::core::mem::offset_of!(perf_event_mmap_page, __reserved) - 96usize]; + ["Offset of field: perf_event_mmap_page::data_head"] + [::core::mem::offset_of!(perf_event_mmap_page, data_head) - 1024usize]; + ["Offset of field: perf_event_mmap_page::data_tail"] + [::core::mem::offset_of!(perf_event_mmap_page, data_tail) - 1032usize]; + ["Offset of field: perf_event_mmap_page::data_offset"] + [::core::mem::offset_of!(perf_event_mmap_page, data_offset) - 1040usize]; + ["Offset of field: perf_event_mmap_page::data_size"] + [::core::mem::offset_of!(perf_event_mmap_page, data_size) - 1048usize]; + ["Offset of field: perf_event_mmap_page::aux_head"] + [::core::mem::offset_of!(perf_event_mmap_page, aux_head) - 1056usize]; + ["Offset of field: perf_event_mmap_page::aux_tail"] + [::core::mem::offset_of!(perf_event_mmap_page, aux_tail) - 1064usize]; + ["Offset of field: perf_event_mmap_page::aux_offset"] + [::core::mem::offset_of!(perf_event_mmap_page, aux_offset) - 1072usize]; + ["Offset of field: perf_event_mmap_page::aux_size"] + [::core::mem::offset_of!(perf_event_mmap_page, aux_size) - 1080usize]; +}; +pub type perf_copy_f = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: ::core::ffi::c_ulong, + arg4: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_ulong, +>; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct perf_raw_frag { + pub __bindgen_anon_1: perf_raw_frag__bindgen_ty_1, + pub copy: perf_copy_f, + pub data: *mut ::core::ffi::c_void, + pub size: u32_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union perf_raw_frag__bindgen_ty_1 { + pub next: *mut perf_raw_frag, + pub pad: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_raw_frag__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of perf_raw_frag__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: perf_raw_frag__bindgen_ty_1::next"] + [::core::mem::offset_of!(perf_raw_frag__bindgen_ty_1, next) - 0usize]; + ["Offset of field: perf_raw_frag__bindgen_ty_1::pad"] + [::core::mem::offset_of!(perf_raw_frag__bindgen_ty_1, pad) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_raw_frag"][::core::mem::size_of::() - 28usize]; + ["Alignment of perf_raw_frag"][::core::mem::align_of::() - 1usize]; + ["Offset of field: perf_raw_frag::copy"][::core::mem::offset_of!(perf_raw_frag, copy) - 8usize]; + ["Offset of field: perf_raw_frag::data"] + [::core::mem::offset_of!(perf_raw_frag, data) - 16usize]; + ["Offset of field: perf_raw_frag::size"] + [::core::mem::offset_of!(perf_raw_frag, size) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct perf_raw_record { + pub frag: perf_raw_frag, + pub size: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of perf_raw_record"][::core::mem::size_of::() - 32usize]; + ["Alignment of perf_raw_record"][::core::mem::align_of::() - 4usize]; + ["Offset of field: perf_raw_record::frag"] + [::core::mem::offset_of!(perf_raw_record, frag) - 0usize]; + ["Offset of field: perf_raw_record::size"] + [::core::mem::offset_of!(perf_raw_record, size) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pf_desc { + pub pseudoflavor: u32_, + pub qop: u32_, + pub service: u32_, + pub name: *mut ::core::ffi::c_char, + pub auth_domain_name: *mut ::core::ffi::c_char, + pub domain: *mut auth_domain, + pub datatouch: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pf_desc"][::core::mem::size_of::() - 48usize]; + ["Alignment of pf_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pf_desc::pseudoflavor"] + [::core::mem::offset_of!(pf_desc, pseudoflavor) - 0usize]; + ["Offset of field: pf_desc::qop"][::core::mem::offset_of!(pf_desc, qop) - 4usize]; + ["Offset of field: pf_desc::service"][::core::mem::offset_of!(pf_desc, service) - 8usize]; + ["Offset of field: pf_desc::name"][::core::mem::offset_of!(pf_desc, name) - 16usize]; + ["Offset of field: pf_desc::auth_domain_name"] + [::core::mem::offset_of!(pf_desc, auth_domain_name) - 24usize]; + ["Offset of field: pf_desc::domain"][::core::mem::offset_of!(pf_desc, domain) - 32usize]; + ["Offset of field: pf_desc::datatouch"][::core::mem::offset_of!(pf_desc, datatouch) - 40usize]; +}; +#[repr(C)] +pub struct zone { + pub _watermark: [::core::ffi::c_ulong; 4usize], + pub watermark_boost: ::core::ffi::c_ulong, + pub nr_reserved_highatomic: ::core::ffi::c_ulong, + pub nr_free_highatomic: ::core::ffi::c_ulong, + pub lowmem_reserve: [::core::ffi::c_long; 5usize], + pub node: ::core::ffi::c_int, + pub zone_pgdat: *mut pglist_data, + pub per_cpu_pageset: *mut per_cpu_pages, + pub per_cpu_zonestats: *mut per_cpu_zonestat, + pub pageset_high_min: ::core::ffi::c_int, + pub pageset_high_max: ::core::ffi::c_int, + pub pageset_batch: ::core::ffi::c_int, + pub zone_start_pfn: ::core::ffi::c_ulong, + pub managed_pages: atomic_long_t, + pub spanned_pages: ::core::ffi::c_ulong, + pub present_pages: ::core::ffi::c_ulong, + pub present_early_pages: ::core::ffi::c_ulong, + pub cma_pages: ::core::ffi::c_ulong, + pub name: *const ::core::ffi::c_char, + pub nr_isolate_pageblock: ::core::ffi::c_ulong, + pub span_seqlock: seqlock_t, + pub initialized: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>, + pub __bindgen_padding_0: [u8; 4usize], + pub _pad1_: cacheline_padding, + pub free_area: [free_area; 11usize], + pub unaccepted_pages: list_head, + pub flags: ::core::ffi::c_ulong, + pub lock: spinlock_t, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 40usize]>, + pub __bindgen_padding_1: [u8; 4usize], + pub _pad2_: cacheline_padding, + pub percpu_drift_mark: ::core::ffi::c_ulong, + pub compact_cached_free_pfn: ::core::ffi::c_ulong, + pub compact_cached_migrate_pfn: [::core::ffi::c_ulong; 2usize], + pub compact_init_migrate_pfn: ::core::ffi::c_ulong, + pub compact_init_free_pfn: ::core::ffi::c_ulong, + pub compact_considered: ::core::ffi::c_uint, + pub compact_defer_shift: ::core::ffi::c_uint, + pub compact_order_failed: ::core::ffi::c_int, + pub compact_blockskip_flush: bool_, + pub contiguous: bool_, + pub __bindgen_padding_2: [u8; 2usize], + pub _pad3_: cacheline_padding, + pub vm_stat: [atomic_long_t; 12usize], + pub vm_numa_event: [atomic_long_t; 6usize], + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of zone"][::core::mem::size_of::() - 1728usize]; + ["Alignment of zone"][::core::mem::align_of::() - 8usize]; + ["Offset of field: zone::_watermark"][::core::mem::offset_of!(zone, _watermark) - 0usize]; + ["Offset of field: zone::watermark_boost"] + [::core::mem::offset_of!(zone, watermark_boost) - 32usize]; + ["Offset of field: zone::nr_reserved_highatomic"] + [::core::mem::offset_of!(zone, nr_reserved_highatomic) - 40usize]; + ["Offset of field: zone::nr_free_highatomic"] + [::core::mem::offset_of!(zone, nr_free_highatomic) - 48usize]; + ["Offset of field: zone::lowmem_reserve"] + [::core::mem::offset_of!(zone, lowmem_reserve) - 56usize]; + ["Offset of field: zone::node"][::core::mem::offset_of!(zone, node) - 96usize]; + ["Offset of field: zone::zone_pgdat"][::core::mem::offset_of!(zone, zone_pgdat) - 104usize]; + ["Offset of field: zone::per_cpu_pageset"] + [::core::mem::offset_of!(zone, per_cpu_pageset) - 112usize]; + ["Offset of field: zone::per_cpu_zonestats"] + [::core::mem::offset_of!(zone, per_cpu_zonestats) - 120usize]; + ["Offset of field: zone::pageset_high_min"] + [::core::mem::offset_of!(zone, pageset_high_min) - 128usize]; + ["Offset of field: zone::pageset_high_max"] + [::core::mem::offset_of!(zone, pageset_high_max) - 132usize]; + ["Offset of field: zone::pageset_batch"] + [::core::mem::offset_of!(zone, pageset_batch) - 136usize]; + ["Offset of field: zone::zone_start_pfn"] + [::core::mem::offset_of!(zone, zone_start_pfn) - 144usize]; + ["Offset of field: zone::managed_pages"] + [::core::mem::offset_of!(zone, managed_pages) - 152usize]; + ["Offset of field: zone::spanned_pages"] + [::core::mem::offset_of!(zone, spanned_pages) - 160usize]; + ["Offset of field: zone::present_pages"] + [::core::mem::offset_of!(zone, present_pages) - 168usize]; + ["Offset of field: zone::present_early_pages"] + [::core::mem::offset_of!(zone, present_early_pages) - 176usize]; + ["Offset of field: zone::cma_pages"][::core::mem::offset_of!(zone, cma_pages) - 184usize]; + ["Offset of field: zone::name"][::core::mem::offset_of!(zone, name) - 192usize]; + ["Offset of field: zone::nr_isolate_pageblock"] + [::core::mem::offset_of!(zone, nr_isolate_pageblock) - 200usize]; + ["Offset of field: zone::span_seqlock"][::core::mem::offset_of!(zone, span_seqlock) - 208usize]; + ["Offset of field: zone::initialized"][::core::mem::offset_of!(zone, initialized) - 216usize]; + ["Offset of field: zone::_pad1_"][::core::mem::offset_of!(zone, _pad1_) - 256usize]; + ["Offset of field: zone::free_area"][::core::mem::offset_of!(zone, free_area) - 256usize]; + ["Offset of field: zone::unaccepted_pages"] + [::core::mem::offset_of!(zone, unaccepted_pages) - 1400usize]; + ["Offset of field: zone::flags"][::core::mem::offset_of!(zone, flags) - 1416usize]; + ["Offset of field: zone::lock"][::core::mem::offset_of!(zone, lock) - 1424usize]; + ["Offset of field: zone::_pad2_"][::core::mem::offset_of!(zone, _pad2_) - 1472usize]; + ["Offset of field: zone::percpu_drift_mark"] + [::core::mem::offset_of!(zone, percpu_drift_mark) - 1472usize]; + ["Offset of field: zone::compact_cached_free_pfn"] + [::core::mem::offset_of!(zone, compact_cached_free_pfn) - 1480usize]; + ["Offset of field: zone::compact_cached_migrate_pfn"] + [::core::mem::offset_of!(zone, compact_cached_migrate_pfn) - 1488usize]; + ["Offset of field: zone::compact_init_migrate_pfn"] + [::core::mem::offset_of!(zone, compact_init_migrate_pfn) - 1504usize]; + ["Offset of field: zone::compact_init_free_pfn"] + [::core::mem::offset_of!(zone, compact_init_free_pfn) - 1512usize]; + ["Offset of field: zone::compact_considered"] + [::core::mem::offset_of!(zone, compact_considered) - 1520usize]; + ["Offset of field: zone::compact_defer_shift"] + [::core::mem::offset_of!(zone, compact_defer_shift) - 1524usize]; + ["Offset of field: zone::compact_order_failed"] + [::core::mem::offset_of!(zone, compact_order_failed) - 1528usize]; + ["Offset of field: zone::compact_blockskip_flush"] + [::core::mem::offset_of!(zone, compact_blockskip_flush) - 1532usize]; + ["Offset of field: zone::contiguous"][::core::mem::offset_of!(zone, contiguous) - 1533usize]; + ["Offset of field: zone::_pad3_"][::core::mem::offset_of!(zone, _pad3_) - 1536usize]; + ["Offset of field: zone::vm_stat"][::core::mem::offset_of!(zone, vm_stat) - 1536usize]; + ["Offset of field: zone::vm_numa_event"] + [::core::mem::offset_of!(zone, vm_numa_event) - 1632usize]; +}; +impl zone { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct zoneref { + pub zone: *mut zone, + pub zone_idx: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of zoneref"][::core::mem::size_of::() - 16usize]; + ["Alignment of zoneref"][::core::mem::align_of::() - 8usize]; + ["Offset of field: zoneref::zone"][::core::mem::offset_of!(zoneref, zone) - 0usize]; + ["Offset of field: zoneref::zone_idx"][::core::mem::offset_of!(zoneref, zone_idx) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct zonelist { + pub _zonerefs: [zoneref; 5121usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of zonelist"][::core::mem::size_of::() - 81936usize]; + ["Alignment of zonelist"][::core::mem::align_of::() - 8usize]; + ["Offset of field: zonelist::_zonerefs"][::core::mem::offset_of!(zonelist, _zonerefs) - 0usize]; +}; +#[repr(C)] +pub struct pglist_data { + pub node_zones: [zone; 5usize], + pub node_zonelists: [zonelist; 2usize], + pub nr_zones: ::core::ffi::c_int, + pub node_size_lock: spinlock_t, + pub node_start_pfn: ::core::ffi::c_ulong, + pub node_present_pages: ::core::ffi::c_ulong, + pub node_spanned_pages: ::core::ffi::c_ulong, + pub node_id: ::core::ffi::c_int, + pub kswapd_wait: wait_queue_head_t, + pub pfmemalloc_wait: wait_queue_head_t, + pub reclaim_wait: [wait_queue_head_t; 4usize], + pub nr_writeback_throttled: atomic_t, + pub nr_reclaim_start: ::core::ffi::c_ulong, + pub kswapd_lock: mutex, + pub kswapd: *mut task_struct, + pub kswapd_order: ::core::ffi::c_int, + pub kswapd_highest_zoneidx: zone_type, + pub kswapd_failures: ::core::ffi::c_int, + pub kcompactd_max_order: ::core::ffi::c_int, + pub kcompactd_highest_zoneidx: zone_type, + pub kcompactd_wait: wait_queue_head_t, + pub kcompactd: *mut task_struct, + pub proactive_compact_trigger: bool_, + pub totalreserve_pages: ::core::ffi::c_ulong, + pub min_unmapped_pages: ::core::ffi::c_ulong, + pub min_slab_pages: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub _pad1_: cacheline_padding, + pub deferred_split_queue: deferred_split, + pub nbp_rl_start: ::core::ffi::c_uint, + pub nbp_rl_nr_cand: ::core::ffi::c_ulong, + pub nbp_threshold: ::core::ffi::c_uint, + pub nbp_th_start: ::core::ffi::c_uint, + pub nbp_th_nr_cand: ::core::ffi::c_ulong, + pub __lruvec: lruvec, + pub flags: ::core::ffi::c_ulong, + pub mm_walk: lru_gen_mm_walk, + pub memcg_lru: lru_gen_memcg, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 32usize]>, + pub _pad2_: cacheline_padding, + pub per_cpu_nodestats: *mut per_cpu_nodestat, + pub vm_stat: [atomic_long_t; 47usize], + pub memtier: *mut memory_tier, + pub mf_stats: memory_failure_stats, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pglist_data"][::core::mem::size_of::() - 175424usize]; + ["Alignment of pglist_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pglist_data::node_zones"] + [::core::mem::offset_of!(pglist_data, node_zones) - 0usize]; + ["Offset of field: pglist_data::node_zonelists"] + [::core::mem::offset_of!(pglist_data, node_zonelists) - 8640usize]; + ["Offset of field: pglist_data::nr_zones"] + [::core::mem::offset_of!(pglist_data, nr_zones) - 172512usize]; + ["Offset of field: pglist_data::node_size_lock"] + [::core::mem::offset_of!(pglist_data, node_size_lock) - 172516usize]; + ["Offset of field: pglist_data::node_start_pfn"] + [::core::mem::offset_of!(pglist_data, node_start_pfn) - 172520usize]; + ["Offset of field: pglist_data::node_present_pages"] + [::core::mem::offset_of!(pglist_data, node_present_pages) - 172528usize]; + ["Offset of field: pglist_data::node_spanned_pages"] + [::core::mem::offset_of!(pglist_data, node_spanned_pages) - 172536usize]; + ["Offset of field: pglist_data::node_id"] + [::core::mem::offset_of!(pglist_data, node_id) - 172544usize]; + ["Offset of field: pglist_data::kswapd_wait"] + [::core::mem::offset_of!(pglist_data, kswapd_wait) - 172552usize]; + ["Offset of field: pglist_data::pfmemalloc_wait"] + [::core::mem::offset_of!(pglist_data, pfmemalloc_wait) - 172576usize]; + ["Offset of field: pglist_data::reclaim_wait"] + [::core::mem::offset_of!(pglist_data, reclaim_wait) - 172600usize]; + ["Offset of field: pglist_data::nr_writeback_throttled"] + [::core::mem::offset_of!(pglist_data, nr_writeback_throttled) - 172696usize]; + ["Offset of field: pglist_data::nr_reclaim_start"] + [::core::mem::offset_of!(pglist_data, nr_reclaim_start) - 172704usize]; + ["Offset of field: pglist_data::kswapd_lock"] + [::core::mem::offset_of!(pglist_data, kswapd_lock) - 172712usize]; + ["Offset of field: pglist_data::kswapd"] + [::core::mem::offset_of!(pglist_data, kswapd) - 172744usize]; + ["Offset of field: pglist_data::kswapd_order"] + [::core::mem::offset_of!(pglist_data, kswapd_order) - 172752usize]; + ["Offset of field: pglist_data::kswapd_highest_zoneidx"] + [::core::mem::offset_of!(pglist_data, kswapd_highest_zoneidx) - 172756usize]; + ["Offset of field: pglist_data::kswapd_failures"] + [::core::mem::offset_of!(pglist_data, kswapd_failures) - 172760usize]; + ["Offset of field: pglist_data::kcompactd_max_order"] + [::core::mem::offset_of!(pglist_data, kcompactd_max_order) - 172764usize]; + ["Offset of field: pglist_data::kcompactd_highest_zoneidx"] + [::core::mem::offset_of!(pglist_data, kcompactd_highest_zoneidx) - 172768usize]; + ["Offset of field: pglist_data::kcompactd_wait"] + [::core::mem::offset_of!(pglist_data, kcompactd_wait) - 172776usize]; + ["Offset of field: pglist_data::kcompactd"] + [::core::mem::offset_of!(pglist_data, kcompactd) - 172800usize]; + ["Offset of field: pglist_data::proactive_compact_trigger"] + [::core::mem::offset_of!(pglist_data, proactive_compact_trigger) - 172808usize]; + ["Offset of field: pglist_data::totalreserve_pages"] + [::core::mem::offset_of!(pglist_data, totalreserve_pages) - 172816usize]; + ["Offset of field: pglist_data::min_unmapped_pages"] + [::core::mem::offset_of!(pglist_data, min_unmapped_pages) - 172824usize]; + ["Offset of field: pglist_data::min_slab_pages"] + [::core::mem::offset_of!(pglist_data, min_slab_pages) - 172832usize]; + ["Offset of field: pglist_data::_pad1_"] + [::core::mem::offset_of!(pglist_data, _pad1_) - 172864usize]; + ["Offset of field: pglist_data::deferred_split_queue"] + [::core::mem::offset_of!(pglist_data, deferred_split_queue) - 172864usize]; + ["Offset of field: pglist_data::nbp_rl_start"] + [::core::mem::offset_of!(pglist_data, nbp_rl_start) - 172896usize]; + ["Offset of field: pglist_data::nbp_rl_nr_cand"] + [::core::mem::offset_of!(pglist_data, nbp_rl_nr_cand) - 172904usize]; + ["Offset of field: pglist_data::nbp_threshold"] + [::core::mem::offset_of!(pglist_data, nbp_threshold) - 172912usize]; + ["Offset of field: pglist_data::nbp_th_start"] + [::core::mem::offset_of!(pglist_data, nbp_th_start) - 172916usize]; + ["Offset of field: pglist_data::nbp_th_nr_cand"] + [::core::mem::offset_of!(pglist_data, nbp_th_nr_cand) - 172920usize]; + ["Offset of field: pglist_data::__lruvec"] + [::core::mem::offset_of!(pglist_data, __lruvec) - 172928usize]; + ["Offset of field: pglist_data::flags"] + [::core::mem::offset_of!(pglist_data, flags) - 174496usize]; + ["Offset of field: pglist_data::mm_walk"] + [::core::mem::offset_of!(pglist_data, mm_walk) - 174504usize]; + ["Offset of field: pglist_data::memcg_lru"] + [::core::mem::offset_of!(pglist_data, memcg_lru) - 174712usize]; + ["Offset of field: pglist_data::_pad2_"] + [::core::mem::offset_of!(pglist_data, _pad2_) - 174976usize]; + ["Offset of field: pglist_data::per_cpu_nodestats"] + [::core::mem::offset_of!(pglist_data, per_cpu_nodestats) - 174976usize]; + ["Offset of field: pglist_data::vm_stat"] + [::core::mem::offset_of!(pglist_data, vm_stat) - 174984usize]; + ["Offset of field: pglist_data::memtier"] + [::core::mem::offset_of!(pglist_data, memtier) - 175360usize]; + ["Offset of field: pglist_data::mf_stats"] + [::core::mem::offset_of!(pglist_data, mf_stats) - 175368usize]; +}; +impl pglist_data { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_3() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phy_c45_device_ids { + pub devices_in_package: u32_, + pub mmds_present: u32_, + pub device_ids: [u32_; 32usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_c45_device_ids"][::core::mem::size_of::() - 136usize]; + ["Alignment of phy_c45_device_ids"][::core::mem::align_of::() - 4usize]; + ["Offset of field: phy_c45_device_ids::devices_in_package"] + [::core::mem::offset_of!(phy_c45_device_ids, devices_in_package) - 0usize]; + ["Offset of field: phy_c45_device_ids::mmds_present"] + [::core::mem::offset_of!(phy_c45_device_ids, mmds_present) - 4usize]; + ["Offset of field: phy_c45_device_ids::device_ids"] + [::core::mem::offset_of!(phy_c45_device_ids, device_ids) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phy_led_trigger { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct phy_device { + pub mdio: mdio_device, + pub drv: *const phy_driver, + pub devlink: *mut device_link, + pub phyindex: u32_, + pub phy_id: u32_, + pub c45_ids: phy_c45_device_ids, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>, + pub rate_matching: ::core::ffi::c_int, + pub state: phy_state, + pub dev_flags: u32_, + pub interface: phy_interface_t, + pub possible_interfaces: [::core::ffi::c_ulong; 1usize], + pub speed: ::core::ffi::c_int, + pub duplex: ::core::ffi::c_int, + pub port: ::core::ffi::c_int, + pub pause: ::core::ffi::c_int, + pub asym_pause: ::core::ffi::c_int, + pub master_slave_get: u8_, + pub master_slave_set: u8_, + pub master_slave_state: u8_, + pub supported: [::core::ffi::c_ulong; 2usize], + pub advertising: [::core::ffi::c_ulong; 2usize], + pub lp_advertising: [::core::ffi::c_ulong; 2usize], + pub adv_old: [::core::ffi::c_ulong; 2usize], + pub supported_eee: [::core::ffi::c_ulong; 2usize], + pub advertising_eee: [::core::ffi::c_ulong; 2usize], + pub eee_enabled: bool_, + pub host_interfaces: [::core::ffi::c_ulong; 1usize], + pub eee_broken_modes: u32_, + pub enable_tx_lpi: bool_, + pub eee_cfg: eee_config, + pub phy_led_triggers: *mut phy_led_trigger, + pub phy_num_led_triggers: ::core::ffi::c_uint, + pub last_triggered: *mut phy_led_trigger, + pub led_link_trigger: *mut phy_led_trigger, + pub leds: list_head, + pub irq: ::core::ffi::c_int, + pub priv_: *mut ::core::ffi::c_void, + pub shared: *mut phy_package_shared, + pub skb: *mut sk_buff, + pub ehdr: *mut ::core::ffi::c_void, + pub nest: *mut nlattr, + pub state_queue: delayed_work, + pub lock: mutex, + pub sfp_bus_attached: bool_, + pub sfp_bus: *mut sfp_bus, + pub phylink: *mut phylink, + pub attached_dev: *mut net_device, + pub mii_ts: *mut mii_timestamper, + pub psec: *mut pse_control, + pub mdix: u8_, + pub mdix_ctrl: u8_, + pub pma_extable: ::core::ffi::c_int, + pub link_down_events: ::core::ffi::c_uint, + pub phy_link_change: + ::core::option::Option, + pub adjust_link: ::core::option::Option, + pub macsec_ops: *const macsec_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_device"][::core::mem::size_of::() - 1504usize]; + ["Alignment of phy_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phy_device::mdio"][::core::mem::offset_of!(phy_device, mdio) - 0usize]; + ["Offset of field: phy_device::drv"][::core::mem::offset_of!(phy_device, drv) - 856usize]; + ["Offset of field: phy_device::devlink"] + [::core::mem::offset_of!(phy_device, devlink) - 864usize]; + ["Offset of field: phy_device::phyindex"] + [::core::mem::offset_of!(phy_device, phyindex) - 872usize]; + ["Offset of field: phy_device::phy_id"][::core::mem::offset_of!(phy_device, phy_id) - 876usize]; + ["Offset of field: phy_device::c45_ids"] + [::core::mem::offset_of!(phy_device, c45_ids) - 880usize]; + ["Offset of field: phy_device::rate_matching"] + [::core::mem::offset_of!(phy_device, rate_matching) - 1020usize]; + ["Offset of field: phy_device::state"][::core::mem::offset_of!(phy_device, state) - 1024usize]; + ["Offset of field: phy_device::dev_flags"] + [::core::mem::offset_of!(phy_device, dev_flags) - 1028usize]; + ["Offset of field: phy_device::interface"] + [::core::mem::offset_of!(phy_device, interface) - 1032usize]; + ["Offset of field: phy_device::possible_interfaces"] + [::core::mem::offset_of!(phy_device, possible_interfaces) - 1040usize]; + ["Offset of field: phy_device::speed"][::core::mem::offset_of!(phy_device, speed) - 1048usize]; + ["Offset of field: phy_device::duplex"] + [::core::mem::offset_of!(phy_device, duplex) - 1052usize]; + ["Offset of field: phy_device::port"][::core::mem::offset_of!(phy_device, port) - 1056usize]; + ["Offset of field: phy_device::pause"][::core::mem::offset_of!(phy_device, pause) - 1060usize]; + ["Offset of field: phy_device::asym_pause"] + [::core::mem::offset_of!(phy_device, asym_pause) - 1064usize]; + ["Offset of field: phy_device::master_slave_get"] + [::core::mem::offset_of!(phy_device, master_slave_get) - 1068usize]; + ["Offset of field: phy_device::master_slave_set"] + [::core::mem::offset_of!(phy_device, master_slave_set) - 1069usize]; + ["Offset of field: phy_device::master_slave_state"] + [::core::mem::offset_of!(phy_device, master_slave_state) - 1070usize]; + ["Offset of field: phy_device::supported"] + [::core::mem::offset_of!(phy_device, supported) - 1072usize]; + ["Offset of field: phy_device::advertising"] + [::core::mem::offset_of!(phy_device, advertising) - 1088usize]; + ["Offset of field: phy_device::lp_advertising"] + [::core::mem::offset_of!(phy_device, lp_advertising) - 1104usize]; + ["Offset of field: phy_device::adv_old"] + [::core::mem::offset_of!(phy_device, adv_old) - 1120usize]; + ["Offset of field: phy_device::supported_eee"] + [::core::mem::offset_of!(phy_device, supported_eee) - 1136usize]; + ["Offset of field: phy_device::advertising_eee"] + [::core::mem::offset_of!(phy_device, advertising_eee) - 1152usize]; + ["Offset of field: phy_device::eee_enabled"] + [::core::mem::offset_of!(phy_device, eee_enabled) - 1168usize]; + ["Offset of field: phy_device::host_interfaces"] + [::core::mem::offset_of!(phy_device, host_interfaces) - 1176usize]; + ["Offset of field: phy_device::eee_broken_modes"] + [::core::mem::offset_of!(phy_device, eee_broken_modes) - 1184usize]; + ["Offset of field: phy_device::enable_tx_lpi"] + [::core::mem::offset_of!(phy_device, enable_tx_lpi) - 1188usize]; + ["Offset of field: phy_device::eee_cfg"] + [::core::mem::offset_of!(phy_device, eee_cfg) - 1192usize]; + ["Offset of field: phy_device::phy_led_triggers"] + [::core::mem::offset_of!(phy_device, phy_led_triggers) - 1200usize]; + ["Offset of field: phy_device::phy_num_led_triggers"] + [::core::mem::offset_of!(phy_device, phy_num_led_triggers) - 1208usize]; + ["Offset of field: phy_device::last_triggered"] + [::core::mem::offset_of!(phy_device, last_triggered) - 1216usize]; + ["Offset of field: phy_device::led_link_trigger"] + [::core::mem::offset_of!(phy_device, led_link_trigger) - 1224usize]; + ["Offset of field: phy_device::leds"][::core::mem::offset_of!(phy_device, leds) - 1232usize]; + ["Offset of field: phy_device::irq"][::core::mem::offset_of!(phy_device, irq) - 1248usize]; + ["Offset of field: phy_device::priv_"][::core::mem::offset_of!(phy_device, priv_) - 1256usize]; + ["Offset of field: phy_device::shared"] + [::core::mem::offset_of!(phy_device, shared) - 1264usize]; + ["Offset of field: phy_device::skb"][::core::mem::offset_of!(phy_device, skb) - 1272usize]; + ["Offset of field: phy_device::ehdr"][::core::mem::offset_of!(phy_device, ehdr) - 1280usize]; + ["Offset of field: phy_device::nest"][::core::mem::offset_of!(phy_device, nest) - 1288usize]; + ["Offset of field: phy_device::state_queue"] + [::core::mem::offset_of!(phy_device, state_queue) - 1296usize]; + ["Offset of field: phy_device::lock"][::core::mem::offset_of!(phy_device, lock) - 1384usize]; + ["Offset of field: phy_device::sfp_bus_attached"] + [::core::mem::offset_of!(phy_device, sfp_bus_attached) - 1416usize]; + ["Offset of field: phy_device::sfp_bus"] + [::core::mem::offset_of!(phy_device, sfp_bus) - 1424usize]; + ["Offset of field: phy_device::phylink"] + [::core::mem::offset_of!(phy_device, phylink) - 1432usize]; + ["Offset of field: phy_device::attached_dev"] + [::core::mem::offset_of!(phy_device, attached_dev) - 1440usize]; + ["Offset of field: phy_device::mii_ts"] + [::core::mem::offset_of!(phy_device, mii_ts) - 1448usize]; + ["Offset of field: phy_device::psec"][::core::mem::offset_of!(phy_device, psec) - 1456usize]; + ["Offset of field: phy_device::mdix"][::core::mem::offset_of!(phy_device, mdix) - 1464usize]; + ["Offset of field: phy_device::mdix_ctrl"] + [::core::mem::offset_of!(phy_device, mdix_ctrl) - 1465usize]; + ["Offset of field: phy_device::pma_extable"] + [::core::mem::offset_of!(phy_device, pma_extable) - 1468usize]; + ["Offset of field: phy_device::link_down_events"] + [::core::mem::offset_of!(phy_device, link_down_events) - 1472usize]; + ["Offset of field: phy_device::phy_link_change"] + [::core::mem::offset_of!(phy_device, phy_link_change) - 1480usize]; + ["Offset of field: phy_device::adjust_link"] + [::core::mem::offset_of!(phy_device, adjust_link) - 1488usize]; + ["Offset of field: phy_device::macsec_ops"] + [::core::mem::offset_of!(phy_device, macsec_ops) - 1496usize]; +}; +impl phy_device { + #[inline] + pub fn is_c45(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_c45(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_c45_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_c45_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_internal(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_internal(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_internal_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_internal_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_pseudo_fixed_link(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_pseudo_fixed_link(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_pseudo_fixed_link_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_pseudo_fixed_link_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_gigabit_capable(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_gigabit_capable(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_gigabit_capable_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_gigabit_capable_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn has_fixups(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_has_fixups(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_fixups_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_has_fixups_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn suspended(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_suspended(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn suspended_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_suspended_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn suspended_by_mdio_bus(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_suspended_by_mdio_bus(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn suspended_by_mdio_bus_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_suspended_by_mdio_bus_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sysfs_links(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_sysfs_links(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sysfs_links_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sysfs_links_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn loopback_enabled(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_loopback_enabled(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn loopback_enabled_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_loopback_enabled_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn downshifted_rate(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_downshifted_rate(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn downshifted_rate_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_downshifted_rate_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_on_sfp_module(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_on_sfp_module(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_on_sfp_module_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 10usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_on_sfp_module_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn mac_managed_pm(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_mac_managed_pm(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mac_managed_pm_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_mac_managed_pm_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn wol_enabled(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_wol_enabled(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn wol_enabled_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_wol_enabled_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn autoneg(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } + } + #[inline] + pub fn set_autoneg(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn autoneg_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 13usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_autoneg_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 13usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn link(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_link(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn link_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 14usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_link_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn autoneg_complete(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_autoneg_complete(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn autoneg_complete_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 15usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_autoneg_complete_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 15usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn interrupts(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_interrupts(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn interrupts_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_interrupts_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn irq_suspended(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } + } + #[inline] + pub fn set_irq_suspended(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn irq_suspended_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 17usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_irq_suspended_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 17usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn irq_rerun(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } + } + #[inline] + pub fn set_irq_rerun(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn irq_rerun_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 18usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_irq_rerun_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 18usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn default_timestamp(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } + } + #[inline] + pub fn set_default_timestamp(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn default_timestamp_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 19usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_default_timestamp_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 19usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_c45: ::core::ffi::c_uint, + is_internal: ::core::ffi::c_uint, + is_pseudo_fixed_link: ::core::ffi::c_uint, + is_gigabit_capable: ::core::ffi::c_uint, + has_fixups: ::core::ffi::c_uint, + suspended: ::core::ffi::c_uint, + suspended_by_mdio_bus: ::core::ffi::c_uint, + sysfs_links: ::core::ffi::c_uint, + loopback_enabled: ::core::ffi::c_uint, + downshifted_rate: ::core::ffi::c_uint, + is_on_sfp_module: ::core::ffi::c_uint, + mac_managed_pm: ::core::ffi::c_uint, + wol_enabled: ::core::ffi::c_uint, + autoneg: ::core::ffi::c_uint, + link: ::core::ffi::c_uint, + autoneg_complete: ::core::ffi::c_uint, + interrupts: ::core::ffi::c_uint, + irq_suspended: ::core::ffi::c_uint, + irq_rerun: ::core::ffi::c_uint, + default_timestamp: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 3usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_c45: u32 = unsafe { ::core::mem::transmute(is_c45) }; + is_c45 as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let is_internal: u32 = unsafe { ::core::mem::transmute(is_internal) }; + is_internal as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let is_pseudo_fixed_link: u32 = unsafe { ::core::mem::transmute(is_pseudo_fixed_link) }; + is_pseudo_fixed_link as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let is_gigabit_capable: u32 = unsafe { ::core::mem::transmute(is_gigabit_capable) }; + is_gigabit_capable as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let has_fixups: u32 = unsafe { ::core::mem::transmute(has_fixups) }; + has_fixups as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let suspended: u32 = unsafe { ::core::mem::transmute(suspended) }; + suspended as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let suspended_by_mdio_bus: u32 = + unsafe { ::core::mem::transmute(suspended_by_mdio_bus) }; + suspended_by_mdio_bus as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let sysfs_links: u32 = unsafe { ::core::mem::transmute(sysfs_links) }; + sysfs_links as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let loopback_enabled: u32 = unsafe { ::core::mem::transmute(loopback_enabled) }; + loopback_enabled as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let downshifted_rate: u32 = unsafe { ::core::mem::transmute(downshifted_rate) }; + downshifted_rate as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let is_on_sfp_module: u32 = unsafe { ::core::mem::transmute(is_on_sfp_module) }; + is_on_sfp_module as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let mac_managed_pm: u32 = unsafe { ::core::mem::transmute(mac_managed_pm) }; + mac_managed_pm as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let wol_enabled: u32 = unsafe { ::core::mem::transmute(wol_enabled) }; + wol_enabled as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let autoneg: u32 = unsafe { ::core::mem::transmute(autoneg) }; + autoneg as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let link: u32 = unsafe { ::core::mem::transmute(link) }; + link as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let autoneg_complete: u32 = unsafe { ::core::mem::transmute(autoneg_complete) }; + autoneg_complete as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let interrupts: u32 = unsafe { ::core::mem::transmute(interrupts) }; + interrupts as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let irq_suspended: u32 = unsafe { ::core::mem::transmute(irq_suspended) }; + irq_suspended as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let irq_rerun: u32 = unsafe { ::core::mem::transmute(irq_rerun) }; + irq_rerun as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let default_timestamp: u32 = unsafe { ::core::mem::transmute(default_timestamp) }; + default_timestamp as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phy_driver { + pub mdiodrv: mdio_driver_common, + pub phy_id: u32_, + pub name: *mut ::core::ffi::c_char, + pub phy_id_mask: u32_, + pub features: *const ::core::ffi::c_ulong, + pub flags: u32_, + pub driver_data: *const ::core::ffi::c_void, + pub soft_reset: + ::core::option::Option ::core::ffi::c_int>, + pub config_init: + ::core::option::Option ::core::ffi::c_int>, + pub probe: + ::core::option::Option ::core::ffi::c_int>, + pub get_features: + ::core::option::Option ::core::ffi::c_int>, + pub get_rate_matching: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: phy_interface_t) -> ::core::ffi::c_int, + >, + pub suspend: + ::core::option::Option ::core::ffi::c_int>, + pub resume: + ::core::option::Option ::core::ffi::c_int>, + pub config_aneg: + ::core::option::Option ::core::ffi::c_int>, + pub aneg_done: + ::core::option::Option ::core::ffi::c_int>, + pub read_status: + ::core::option::Option ::core::ffi::c_int>, + pub config_intr: + ::core::option::Option ::core::ffi::c_int>, + pub handle_interrupt: + ::core::option::Option irqreturn_t>, + pub remove: ::core::option::Option, + pub match_phy_device: + ::core::option::Option ::core::ffi::c_int>, + pub set_wol: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *mut ethtool_wolinfo, + ) -> ::core::ffi::c_int, + >, + pub get_wol: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: *mut ethtool_wolinfo), + >, + pub link_change_notify: ::core::option::Option, + pub read_mmd: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: ::core::ffi::c_int, + arg3: u16_, + ) -> ::core::ffi::c_int, + >, + pub write_mmd: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: ::core::ffi::c_int, + arg3: u16_, + arg4: u16_, + ) -> ::core::ffi::c_int, + >, + pub read_page: + ::core::option::Option ::core::ffi::c_int>, + pub write_page: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub module_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *mut ethtool_modinfo, + ) -> ::core::ffi::c_int, + >, + pub module_eeprom: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *mut ethtool_eeprom, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub cable_test_start: + ::core::option::Option ::core::ffi::c_int>, + pub cable_test_tdr_start: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *const phy_tdr_config, + ) -> ::core::ffi::c_int, + >, + pub cable_test_get_status: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: *mut bool_) -> ::core::ffi::c_int, + >, + pub get_phy_stats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *mut ethtool_eth_phy_stats, + arg3: *mut ethtool_phy_stats, + ), + >, + pub get_link_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: *mut ethtool_link_ext_stats), + >, + pub get_sset_count: + ::core::option::Option ::core::ffi::c_int>, + pub get_strings: + ::core::option::Option, + pub get_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: *mut ethtool_stats, arg3: *mut u64_), + >, + pub get_tunable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *mut ethtool_tunable, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub set_tunable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *mut ethtool_tunable, + arg3: *const ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub set_loopback: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: bool_) -> ::core::ffi::c_int, + >, + pub get_sqi: + ::core::option::Option ::core::ffi::c_int>, + pub get_sqi_max: + ::core::option::Option ::core::ffi::c_int>, + pub get_plca_cfg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phy_device, arg2: *mut phy_plca_cfg) -> ::core::ffi::c_int, + >, + pub set_plca_cfg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *const phy_plca_cfg, + ) -> ::core::ffi::c_int, + >, + pub get_plca_status: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: *mut phy_plca_status, + ) -> ::core::ffi::c_int, + >, + pub led_brightness_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: u8_, + arg3: led_brightness, + ) -> ::core::ffi::c_int, + >, + pub led_blink_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: u8_, + arg3: *mut ::core::ffi::c_ulong, + arg4: *mut ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub led_hw_is_supported: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: u8_, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub led_hw_control_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: u8_, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub led_hw_control_get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: u8_, + arg3: *mut ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub led_polarity_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phy_device, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_driver"][::core::mem::size_of::() - 560usize]; + ["Alignment of phy_driver"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phy_driver::mdiodrv"][::core::mem::offset_of!(phy_driver, mdiodrv) - 0usize]; + ["Offset of field: phy_driver::phy_id"][::core::mem::offset_of!(phy_driver, phy_id) - 152usize]; + ["Offset of field: phy_driver::name"][::core::mem::offset_of!(phy_driver, name) - 160usize]; + ["Offset of field: phy_driver::phy_id_mask"] + [::core::mem::offset_of!(phy_driver, phy_id_mask) - 168usize]; + ["Offset of field: phy_driver::features"] + [::core::mem::offset_of!(phy_driver, features) - 176usize]; + ["Offset of field: phy_driver::flags"][::core::mem::offset_of!(phy_driver, flags) - 184usize]; + ["Offset of field: phy_driver::driver_data"] + [::core::mem::offset_of!(phy_driver, driver_data) - 192usize]; + ["Offset of field: phy_driver::soft_reset"] + [::core::mem::offset_of!(phy_driver, soft_reset) - 200usize]; + ["Offset of field: phy_driver::config_init"] + [::core::mem::offset_of!(phy_driver, config_init) - 208usize]; + ["Offset of field: phy_driver::probe"][::core::mem::offset_of!(phy_driver, probe) - 216usize]; + ["Offset of field: phy_driver::get_features"] + [::core::mem::offset_of!(phy_driver, get_features) - 224usize]; + ["Offset of field: phy_driver::get_rate_matching"] + [::core::mem::offset_of!(phy_driver, get_rate_matching) - 232usize]; + ["Offset of field: phy_driver::suspend"] + [::core::mem::offset_of!(phy_driver, suspend) - 240usize]; + ["Offset of field: phy_driver::resume"][::core::mem::offset_of!(phy_driver, resume) - 248usize]; + ["Offset of field: phy_driver::config_aneg"] + [::core::mem::offset_of!(phy_driver, config_aneg) - 256usize]; + ["Offset of field: phy_driver::aneg_done"] + [::core::mem::offset_of!(phy_driver, aneg_done) - 264usize]; + ["Offset of field: phy_driver::read_status"] + [::core::mem::offset_of!(phy_driver, read_status) - 272usize]; + ["Offset of field: phy_driver::config_intr"] + [::core::mem::offset_of!(phy_driver, config_intr) - 280usize]; + ["Offset of field: phy_driver::handle_interrupt"] + [::core::mem::offset_of!(phy_driver, handle_interrupt) - 288usize]; + ["Offset of field: phy_driver::remove"][::core::mem::offset_of!(phy_driver, remove) - 296usize]; + ["Offset of field: phy_driver::match_phy_device"] + [::core::mem::offset_of!(phy_driver, match_phy_device) - 304usize]; + ["Offset of field: phy_driver::set_wol"] + [::core::mem::offset_of!(phy_driver, set_wol) - 312usize]; + ["Offset of field: phy_driver::get_wol"] + [::core::mem::offset_of!(phy_driver, get_wol) - 320usize]; + ["Offset of field: phy_driver::link_change_notify"] + [::core::mem::offset_of!(phy_driver, link_change_notify) - 328usize]; + ["Offset of field: phy_driver::read_mmd"] + [::core::mem::offset_of!(phy_driver, read_mmd) - 336usize]; + ["Offset of field: phy_driver::write_mmd"] + [::core::mem::offset_of!(phy_driver, write_mmd) - 344usize]; + ["Offset of field: phy_driver::read_page"] + [::core::mem::offset_of!(phy_driver, read_page) - 352usize]; + ["Offset of field: phy_driver::write_page"] + [::core::mem::offset_of!(phy_driver, write_page) - 360usize]; + ["Offset of field: phy_driver::module_info"] + [::core::mem::offset_of!(phy_driver, module_info) - 368usize]; + ["Offset of field: phy_driver::module_eeprom"] + [::core::mem::offset_of!(phy_driver, module_eeprom) - 376usize]; + ["Offset of field: phy_driver::cable_test_start"] + [::core::mem::offset_of!(phy_driver, cable_test_start) - 384usize]; + ["Offset of field: phy_driver::cable_test_tdr_start"] + [::core::mem::offset_of!(phy_driver, cable_test_tdr_start) - 392usize]; + ["Offset of field: phy_driver::cable_test_get_status"] + [::core::mem::offset_of!(phy_driver, cable_test_get_status) - 400usize]; + ["Offset of field: phy_driver::get_phy_stats"] + [::core::mem::offset_of!(phy_driver, get_phy_stats) - 408usize]; + ["Offset of field: phy_driver::get_link_stats"] + [::core::mem::offset_of!(phy_driver, get_link_stats) - 416usize]; + ["Offset of field: phy_driver::get_sset_count"] + [::core::mem::offset_of!(phy_driver, get_sset_count) - 424usize]; + ["Offset of field: phy_driver::get_strings"] + [::core::mem::offset_of!(phy_driver, get_strings) - 432usize]; + ["Offset of field: phy_driver::get_stats"] + [::core::mem::offset_of!(phy_driver, get_stats) - 440usize]; + ["Offset of field: phy_driver::get_tunable"] + [::core::mem::offset_of!(phy_driver, get_tunable) - 448usize]; + ["Offset of field: phy_driver::set_tunable"] + [::core::mem::offset_of!(phy_driver, set_tunable) - 456usize]; + ["Offset of field: phy_driver::set_loopback"] + [::core::mem::offset_of!(phy_driver, set_loopback) - 464usize]; + ["Offset of field: phy_driver::get_sqi"] + [::core::mem::offset_of!(phy_driver, get_sqi) - 472usize]; + ["Offset of field: phy_driver::get_sqi_max"] + [::core::mem::offset_of!(phy_driver, get_sqi_max) - 480usize]; + ["Offset of field: phy_driver::get_plca_cfg"] + [::core::mem::offset_of!(phy_driver, get_plca_cfg) - 488usize]; + ["Offset of field: phy_driver::set_plca_cfg"] + [::core::mem::offset_of!(phy_driver, set_plca_cfg) - 496usize]; + ["Offset of field: phy_driver::get_plca_status"] + [::core::mem::offset_of!(phy_driver, get_plca_status) - 504usize]; + ["Offset of field: phy_driver::led_brightness_set"] + [::core::mem::offset_of!(phy_driver, led_brightness_set) - 512usize]; + ["Offset of field: phy_driver::led_blink_set"] + [::core::mem::offset_of!(phy_driver, led_blink_set) - 520usize]; + ["Offset of field: phy_driver::led_hw_is_supported"] + [::core::mem::offset_of!(phy_driver, led_hw_is_supported) - 528usize]; + ["Offset of field: phy_driver::led_hw_control_set"] + [::core::mem::offset_of!(phy_driver, led_hw_control_set) - 536usize]; + ["Offset of field: phy_driver::led_hw_control_get"] + [::core::mem::offset_of!(phy_driver, led_hw_control_get) - 544usize]; + ["Offset of field: phy_driver::led_polarity_set"] + [::core::mem::offset_of!(phy_driver, led_polarity_set) - 552usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct phy_link_topology { + pub phys: xarray, + pub next_phy_index: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_link_topology"][::core::mem::size_of::() - 24usize]; + ["Alignment of phy_link_topology"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phy_link_topology::phys"] + [::core::mem::offset_of!(phy_link_topology, phys) - 0usize]; + ["Offset of field: phy_link_topology::next_phy_index"] + [::core::mem::offset_of!(phy_link_topology, next_phy_index) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phy_package_shared { + pub base_addr: u8_, + pub np: *mut device_node, + pub refcnt: refcount_t, + pub flags: ::core::ffi::c_ulong, + pub priv_size: usize, + pub priv_: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_package_shared"][::core::mem::size_of::() - 48usize]; + ["Alignment of phy_package_shared"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phy_package_shared::base_addr"] + [::core::mem::offset_of!(phy_package_shared, base_addr) - 0usize]; + ["Offset of field: phy_package_shared::np"] + [::core::mem::offset_of!(phy_package_shared, np) - 8usize]; + ["Offset of field: phy_package_shared::refcnt"] + [::core::mem::offset_of!(phy_package_shared, refcnt) - 16usize]; + ["Offset of field: phy_package_shared::flags"] + [::core::mem::offset_of!(phy_package_shared, flags) - 24usize]; + ["Offset of field: phy_package_shared::priv_size"] + [::core::mem::offset_of!(phy_package_shared, priv_size) - 32usize]; + ["Offset of field: phy_package_shared::priv_"] + [::core::mem::offset_of!(phy_package_shared, priv_) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phy_plca_cfg { + pub version: ::core::ffi::c_int, + pub enabled: ::core::ffi::c_int, + pub node_id: ::core::ffi::c_int, + pub node_cnt: ::core::ffi::c_int, + pub to_tmr: ::core::ffi::c_int, + pub burst_cnt: ::core::ffi::c_int, + pub burst_tmr: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_plca_cfg"][::core::mem::size_of::() - 28usize]; + ["Alignment of phy_plca_cfg"][::core::mem::align_of::() - 4usize]; + ["Offset of field: phy_plca_cfg::version"] + [::core::mem::offset_of!(phy_plca_cfg, version) - 0usize]; + ["Offset of field: phy_plca_cfg::enabled"] + [::core::mem::offset_of!(phy_plca_cfg, enabled) - 4usize]; + ["Offset of field: phy_plca_cfg::node_id"] + [::core::mem::offset_of!(phy_plca_cfg, node_id) - 8usize]; + ["Offset of field: phy_plca_cfg::node_cnt"] + [::core::mem::offset_of!(phy_plca_cfg, node_cnt) - 12usize]; + ["Offset of field: phy_plca_cfg::to_tmr"] + [::core::mem::offset_of!(phy_plca_cfg, to_tmr) - 16usize]; + ["Offset of field: phy_plca_cfg::burst_cnt"] + [::core::mem::offset_of!(phy_plca_cfg, burst_cnt) - 20usize]; + ["Offset of field: phy_plca_cfg::burst_tmr"] + [::core::mem::offset_of!(phy_plca_cfg, burst_tmr) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phy_plca_status { + pub pst: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_plca_status"][::core::mem::size_of::() - 1usize]; + ["Alignment of phy_plca_status"][::core::mem::align_of::() - 1usize]; + ["Offset of field: phy_plca_status::pst"] + [::core::mem::offset_of!(phy_plca_status, pst) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phy_tdr_config { + pub first: u32_, + pub last: u32_, + pub step: u32_, + pub pair: s8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phy_tdr_config"][::core::mem::size_of::() - 16usize]; + ["Alignment of phy_tdr_config"][::core::mem::align_of::() - 4usize]; + ["Offset of field: phy_tdr_config::first"] + [::core::mem::offset_of!(phy_tdr_config, first) - 0usize]; + ["Offset of field: phy_tdr_config::last"] + [::core::mem::offset_of!(phy_tdr_config, last) - 4usize]; + ["Offset of field: phy_tdr_config::step"] + [::core::mem::offset_of!(phy_tdr_config, step) - 8usize]; + ["Offset of field: phy_tdr_config::pair"] + [::core::mem::offset_of!(phy_tdr_config, pair) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phylink_link_state { + pub advertising: [::core::ffi::c_ulong; 2usize], + pub lp_advertising: [::core::ffi::c_ulong; 2usize], + pub interface: phy_interface_t, + pub speed: ::core::ffi::c_int, + pub duplex: ::core::ffi::c_int, + pub pause: ::core::ffi::c_int, + pub rate_matching: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phylink_link_state"][::core::mem::size_of::() - 56usize]; + ["Alignment of phylink_link_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phylink_link_state::advertising"] + [::core::mem::offset_of!(phylink_link_state, advertising) - 0usize]; + ["Offset of field: phylink_link_state::lp_advertising"] + [::core::mem::offset_of!(phylink_link_state, lp_advertising) - 16usize]; + ["Offset of field: phylink_link_state::interface"] + [::core::mem::offset_of!(phylink_link_state, interface) - 32usize]; + ["Offset of field: phylink_link_state::speed"] + [::core::mem::offset_of!(phylink_link_state, speed) - 36usize]; + ["Offset of field: phylink_link_state::duplex"] + [::core::mem::offset_of!(phylink_link_state, duplex) - 40usize]; + ["Offset of field: phylink_link_state::pause"] + [::core::mem::offset_of!(phylink_link_state, pause) - 44usize]; + ["Offset of field: phylink_link_state::rate_matching"] + [::core::mem::offset_of!(phylink_link_state, rate_matching) - 48usize]; +}; +impl phylink_link_state { + #[inline] + pub fn link(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_link(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn link_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_link_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn an_complete(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_an_complete(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn an_complete_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_an_complete_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + link: ::core::ffi::c_uint, + an_complete: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let link: u32 = unsafe { ::core::mem::transmute(link) }; + link as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let an_complete: u32 = unsafe { ::core::mem::transmute(an_complete) }; + an_complete as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phylink_mac_ops { + pub mac_get_caps: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_config, + arg2: phy_interface_t, + ) -> ::core::ffi::c_ulong, + >, + pub mac_select_pcs: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phylink_config, arg2: phy_interface_t) -> *mut phylink_pcs, + >, + pub mac_prepare: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_config, + arg2: ::core::ffi::c_uint, + arg3: phy_interface_t, + ) -> ::core::ffi::c_int, + >, + pub mac_config: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_config, + arg2: ::core::ffi::c_uint, + arg3: *const phylink_link_state, + ), + >, + pub mac_finish: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_config, + arg2: ::core::ffi::c_uint, + arg3: phy_interface_t, + ) -> ::core::ffi::c_int, + >, + pub mac_link_down: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_config, + arg2: ::core::ffi::c_uint, + arg3: phy_interface_t, + ), + >, + pub mac_link_up: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_config, + arg2: *mut phy_device, + arg3: ::core::ffi::c_uint, + arg4: phy_interface_t, + arg5: ::core::ffi::c_int, + arg6: ::core::ffi::c_int, + arg7: bool_, + arg8: bool_, + ), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phylink_mac_ops"][::core::mem::size_of::() - 56usize]; + ["Alignment of phylink_mac_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phylink_mac_ops::mac_get_caps"] + [::core::mem::offset_of!(phylink_mac_ops, mac_get_caps) - 0usize]; + ["Offset of field: phylink_mac_ops::mac_select_pcs"] + [::core::mem::offset_of!(phylink_mac_ops, mac_select_pcs) - 8usize]; + ["Offset of field: phylink_mac_ops::mac_prepare"] + [::core::mem::offset_of!(phylink_mac_ops, mac_prepare) - 16usize]; + ["Offset of field: phylink_mac_ops::mac_config"] + [::core::mem::offset_of!(phylink_mac_ops, mac_config) - 24usize]; + ["Offset of field: phylink_mac_ops::mac_finish"] + [::core::mem::offset_of!(phylink_mac_ops, mac_finish) - 32usize]; + ["Offset of field: phylink_mac_ops::mac_link_down"] + [::core::mem::offset_of!(phylink_mac_ops, mac_link_down) - 40usize]; + ["Offset of field: phylink_mac_ops::mac_link_up"] + [::core::mem::offset_of!(phylink_mac_ops, mac_link_up) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phylink_pcs { + pub ops: *const phylink_pcs_ops, + pub phylink: *mut phylink, + pub neg_mode: bool_, + pub poll: bool_, + pub rxc_always_on: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phylink_pcs"][::core::mem::size_of::() - 24usize]; + ["Alignment of phylink_pcs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phylink_pcs::ops"][::core::mem::offset_of!(phylink_pcs, ops) - 0usize]; + ["Offset of field: phylink_pcs::phylink"] + [::core::mem::offset_of!(phylink_pcs, phylink) - 8usize]; + ["Offset of field: phylink_pcs::neg_mode"] + [::core::mem::offset_of!(phylink_pcs, neg_mode) - 16usize]; + ["Offset of field: phylink_pcs::poll"][::core::mem::offset_of!(phylink_pcs, poll) - 17usize]; + ["Offset of field: phylink_pcs::rxc_always_on"] + [::core::mem::offset_of!(phylink_pcs, rxc_always_on) - 18usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct phylink_pcs_ops { + pub pcs_validate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_pcs, + arg2: *mut ::core::ffi::c_ulong, + arg3: *const phylink_link_state, + ) -> ::core::ffi::c_int, + >, + pub pcs_enable: + ::core::option::Option ::core::ffi::c_int>, + pub pcs_disable: ::core::option::Option, + pub pcs_pre_config: + ::core::option::Option, + pub pcs_post_config: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phylink_pcs, arg2: phy_interface_t) -> ::core::ffi::c_int, + >, + pub pcs_get_state: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut phylink_pcs, arg2: *mut phylink_link_state), + >, + pub pcs_config: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_pcs, + arg2: ::core::ffi::c_uint, + arg3: phy_interface_t, + arg4: *const ::core::ffi::c_ulong, + arg5: bool_, + ) -> ::core::ffi::c_int, + >, + pub pcs_an_restart: ::core::option::Option, + pub pcs_link_up: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut phylink_pcs, + arg2: ::core::ffi::c_uint, + arg3: phy_interface_t, + arg4: ::core::ffi::c_int, + arg5: ::core::ffi::c_int, + ), + >, + pub pcs_pre_init: + ::core::option::Option ::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of phylink_pcs_ops"][::core::mem::size_of::() - 80usize]; + ["Alignment of phylink_pcs_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: phylink_pcs_ops::pcs_validate"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_validate) - 0usize]; + ["Offset of field: phylink_pcs_ops::pcs_enable"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_enable) - 8usize]; + ["Offset of field: phylink_pcs_ops::pcs_disable"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_disable) - 16usize]; + ["Offset of field: phylink_pcs_ops::pcs_pre_config"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_pre_config) - 24usize]; + ["Offset of field: phylink_pcs_ops::pcs_post_config"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_post_config) - 32usize]; + ["Offset of field: phylink_pcs_ops::pcs_get_state"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_get_state) - 40usize]; + ["Offset of field: phylink_pcs_ops::pcs_config"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_config) - 48usize]; + ["Offset of field: phylink_pcs_ops::pcs_an_restart"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_an_restart) - 56usize]; + ["Offset of field: phylink_pcs_ops::pcs_link_up"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_link_up) - 64usize]; + ["Offset of field: phylink_pcs_ops::pcs_pre_init"] + [::core::mem::offset_of!(phylink_pcs_ops, pcs_pre_init) - 72usize]; +}; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct pi_entry { + pub fmt: *const ::core::ffi::c_char, + pub func: *const ::core::ffi::c_char, + pub file: *const ::core::ffi::c_char, + pub line: ::core::ffi::c_uint, + pub level: *const ::core::ffi::c_char, + pub subsys_fmt_prefix: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pi_entry"][::core::mem::size_of::() - 44usize]; + ["Alignment of pi_entry"][::core::mem::align_of::() - 1usize]; + ["Offset of field: pi_entry::fmt"][::core::mem::offset_of!(pi_entry, fmt) - 0usize]; + ["Offset of field: pi_entry::func"][::core::mem::offset_of!(pi_entry, func) - 8usize]; + ["Offset of field: pi_entry::file"][::core::mem::offset_of!(pi_entry, file) - 16usize]; + ["Offset of field: pi_entry::line"][::core::mem::offset_of!(pi_entry, line) - 24usize]; + ["Offset of field: pi_entry::level"][::core::mem::offset_of!(pi_entry, level) - 28usize]; + ["Offset of field: pi_entry::subsys_fmt_prefix"] + [::core::mem::offset_of!(pi_entry, subsys_fmt_prefix) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct upid { + pub nr: ::core::ffi::c_int, + pub ns: *mut pid_namespace, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of upid"][::core::mem::size_of::() - 16usize]; + ["Alignment of upid"][::core::mem::align_of::() - 8usize]; + ["Offset of field: upid::nr"][::core::mem::offset_of!(upid, nr) - 0usize]; + ["Offset of field: upid::ns"][::core::mem::offset_of!(upid, ns) - 8usize]; +}; +#[repr(C)] +pub struct pid { + pub count: refcount_t, + pub level: ::core::ffi::c_uint, + pub lock: spinlock_t, + pub stashed: *mut dentry, + pub ino: u64_, + pub tasks: [hlist_head; 4usize], + pub inodes: hlist_head, + pub wait_pidfd: wait_queue_head_t, + pub rcu: callback_head, + pub numbers: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pid"][::core::mem::size_of::() - 112usize]; + ["Alignment of pid"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pid::count"][::core::mem::offset_of!(pid, count) - 0usize]; + ["Offset of field: pid::level"][::core::mem::offset_of!(pid, level) - 4usize]; + ["Offset of field: pid::lock"][::core::mem::offset_of!(pid, lock) - 8usize]; + ["Offset of field: pid::stashed"][::core::mem::offset_of!(pid, stashed) - 16usize]; + ["Offset of field: pid::ino"][::core::mem::offset_of!(pid, ino) - 24usize]; + ["Offset of field: pid::tasks"][::core::mem::offset_of!(pid, tasks) - 32usize]; + ["Offset of field: pid::inodes"][::core::mem::offset_of!(pid, inodes) - 64usize]; + ["Offset of field: pid::wait_pidfd"][::core::mem::offset_of!(pid, wait_pidfd) - 72usize]; + ["Offset of field: pid::rcu"][::core::mem::offset_of!(pid, rcu) - 96usize]; + ["Offset of field: pid::numbers"][::core::mem::offset_of!(pid, numbers) - 112usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct pid_namespace { + pub idr: idr, + pub rcu: callback_head, + pub pid_allocated: ::core::ffi::c_uint, + pub child_reaper: *mut task_struct, + pub pid_cachep: *mut kmem_cache, + pub level: ::core::ffi::c_uint, + pub parent: *mut pid_namespace, + pub bacct: *mut fs_pin, + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub reboot: ::core::ffi::c_int, + pub ns: ns_common, + pub memfd_noexec_scope: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pid_namespace"][::core::mem::size_of::() - 144usize]; + ["Alignment of pid_namespace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pid_namespace::idr"][::core::mem::offset_of!(pid_namespace, idr) - 0usize]; + ["Offset of field: pid_namespace::rcu"][::core::mem::offset_of!(pid_namespace, rcu) - 24usize]; + ["Offset of field: pid_namespace::pid_allocated"] + [::core::mem::offset_of!(pid_namespace, pid_allocated) - 40usize]; + ["Offset of field: pid_namespace::child_reaper"] + [::core::mem::offset_of!(pid_namespace, child_reaper) - 48usize]; + ["Offset of field: pid_namespace::pid_cachep"] + [::core::mem::offset_of!(pid_namespace, pid_cachep) - 56usize]; + ["Offset of field: pid_namespace::level"] + [::core::mem::offset_of!(pid_namespace, level) - 64usize]; + ["Offset of field: pid_namespace::parent"] + [::core::mem::offset_of!(pid_namespace, parent) - 72usize]; + ["Offset of field: pid_namespace::bacct"] + [::core::mem::offset_of!(pid_namespace, bacct) - 80usize]; + ["Offset of field: pid_namespace::user_ns"] + [::core::mem::offset_of!(pid_namespace, user_ns) - 88usize]; + ["Offset of field: pid_namespace::ucounts"] + [::core::mem::offset_of!(pid_namespace, ucounts) - 96usize]; + ["Offset of field: pid_namespace::reboot"] + [::core::mem::offset_of!(pid_namespace, reboot) - 104usize]; + ["Offset of field: pid_namespace::ns"][::core::mem::offset_of!(pid_namespace, ns) - 112usize]; + ["Offset of field: pid_namespace::memfd_noexec_scope"] + [::core::mem::offset_of!(pid_namespace, memfd_noexec_scope) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pinctrl { + pub node: list_head, + pub dev: *mut device, + pub states: list_head, + pub state: *mut pinctrl_state, + pub dt_maps: list_head, + pub users: kref, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pinctrl"][::core::mem::size_of::() - 72usize]; + ["Alignment of pinctrl"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pinctrl::node"][::core::mem::offset_of!(pinctrl, node) - 0usize]; + ["Offset of field: pinctrl::dev"][::core::mem::offset_of!(pinctrl, dev) - 16usize]; + ["Offset of field: pinctrl::states"][::core::mem::offset_of!(pinctrl, states) - 24usize]; + ["Offset of field: pinctrl::state"][::core::mem::offset_of!(pinctrl, state) - 40usize]; + ["Offset of field: pinctrl::dt_maps"][::core::mem::offset_of!(pinctrl, dt_maps) - 48usize]; + ["Offset of field: pinctrl::users"][::core::mem::offset_of!(pinctrl, users) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pinctrl_state { + pub node: list_head, + pub name: *const ::core::ffi::c_char, + pub settings: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pinctrl_state"][::core::mem::size_of::() - 40usize]; + ["Alignment of pinctrl_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pinctrl_state::node"][::core::mem::offset_of!(pinctrl_state, node) - 0usize]; + ["Offset of field: pinctrl_state::name"] + [::core::mem::offset_of!(pinctrl_state, name) - 16usize]; + ["Offset of field: pinctrl_state::settings"] + [::core::mem::offset_of!(pinctrl_state, settings) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pipe_buf_operations { + pub confirm: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pipe_inode_info, + arg2: *mut pipe_buffer, + ) -> ::core::ffi::c_int, + >, + pub release: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut pipe_inode_info, arg2: *mut pipe_buffer), + >, + pub try_steal: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut pipe_inode_info, arg2: *mut pipe_buffer) -> bool_, + >, + pub get: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut pipe_inode_info, arg2: *mut pipe_buffer) -> bool_, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pipe_buf_operations"][::core::mem::size_of::() - 32usize]; + ["Alignment of pipe_buf_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pipe_buf_operations::confirm"] + [::core::mem::offset_of!(pipe_buf_operations, confirm) - 0usize]; + ["Offset of field: pipe_buf_operations::release"] + [::core::mem::offset_of!(pipe_buf_operations, release) - 8usize]; + ["Offset of field: pipe_buf_operations::try_steal"] + [::core::mem::offset_of!(pipe_buf_operations, try_steal) - 16usize]; + ["Offset of field: pipe_buf_operations::get"] + [::core::mem::offset_of!(pipe_buf_operations, get) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pipe_buffer { + pub page: *mut page, + pub offset: ::core::ffi::c_uint, + pub len: ::core::ffi::c_uint, + pub ops: *const pipe_buf_operations, + pub flags: ::core::ffi::c_uint, + pub private: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pipe_buffer"][::core::mem::size_of::() - 40usize]; + ["Alignment of pipe_buffer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pipe_buffer::page"][::core::mem::offset_of!(pipe_buffer, page) - 0usize]; + ["Offset of field: pipe_buffer::offset"][::core::mem::offset_of!(pipe_buffer, offset) - 8usize]; + ["Offset of field: pipe_buffer::len"][::core::mem::offset_of!(pipe_buffer, len) - 12usize]; + ["Offset of field: pipe_buffer::ops"][::core::mem::offset_of!(pipe_buffer, ops) - 16usize]; + ["Offset of field: pipe_buffer::flags"][::core::mem::offset_of!(pipe_buffer, flags) - 24usize]; + ["Offset of field: pipe_buffer::private"] + [::core::mem::offset_of!(pipe_buffer, private) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct pipe_inode_info { + pub mutex: mutex, + pub rd_wait: wait_queue_head_t, + pub wr_wait: wait_queue_head_t, + pub head: ::core::ffi::c_uint, + pub tail: ::core::ffi::c_uint, + pub max_usage: ::core::ffi::c_uint, + pub ring_size: ::core::ffi::c_uint, + pub nr_accounted: ::core::ffi::c_uint, + pub readers: ::core::ffi::c_uint, + pub writers: ::core::ffi::c_uint, + pub files: ::core::ffi::c_uint, + pub r_counter: ::core::ffi::c_uint, + pub w_counter: ::core::ffi::c_uint, + pub poll_usage: bool_, + pub note_loss: bool_, + pub tmp_page: *mut page, + pub fasync_readers: *mut fasync_struct, + pub fasync_writers: *mut fasync_struct, + pub bufs: *mut pipe_buffer, + pub user: *mut user_struct, + pub watch_queue: *mut watch_queue, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pipe_inode_info"][::core::mem::size_of::() - 176usize]; + ["Alignment of pipe_inode_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pipe_inode_info::mutex"] + [::core::mem::offset_of!(pipe_inode_info, mutex) - 0usize]; + ["Offset of field: pipe_inode_info::rd_wait"] + [::core::mem::offset_of!(pipe_inode_info, rd_wait) - 32usize]; + ["Offset of field: pipe_inode_info::wr_wait"] + [::core::mem::offset_of!(pipe_inode_info, wr_wait) - 56usize]; + ["Offset of field: pipe_inode_info::head"] + [::core::mem::offset_of!(pipe_inode_info, head) - 80usize]; + ["Offset of field: pipe_inode_info::tail"] + [::core::mem::offset_of!(pipe_inode_info, tail) - 84usize]; + ["Offset of field: pipe_inode_info::max_usage"] + [::core::mem::offset_of!(pipe_inode_info, max_usage) - 88usize]; + ["Offset of field: pipe_inode_info::ring_size"] + [::core::mem::offset_of!(pipe_inode_info, ring_size) - 92usize]; + ["Offset of field: pipe_inode_info::nr_accounted"] + [::core::mem::offset_of!(pipe_inode_info, nr_accounted) - 96usize]; + ["Offset of field: pipe_inode_info::readers"] + [::core::mem::offset_of!(pipe_inode_info, readers) - 100usize]; + ["Offset of field: pipe_inode_info::writers"] + [::core::mem::offset_of!(pipe_inode_info, writers) - 104usize]; + ["Offset of field: pipe_inode_info::files"] + [::core::mem::offset_of!(pipe_inode_info, files) - 108usize]; + ["Offset of field: pipe_inode_info::r_counter"] + [::core::mem::offset_of!(pipe_inode_info, r_counter) - 112usize]; + ["Offset of field: pipe_inode_info::w_counter"] + [::core::mem::offset_of!(pipe_inode_info, w_counter) - 116usize]; + ["Offset of field: pipe_inode_info::poll_usage"] + [::core::mem::offset_of!(pipe_inode_info, poll_usage) - 120usize]; + ["Offset of field: pipe_inode_info::note_loss"] + [::core::mem::offset_of!(pipe_inode_info, note_loss) - 121usize]; + ["Offset of field: pipe_inode_info::tmp_page"] + [::core::mem::offset_of!(pipe_inode_info, tmp_page) - 128usize]; + ["Offset of field: pipe_inode_info::fasync_readers"] + [::core::mem::offset_of!(pipe_inode_info, fasync_readers) - 136usize]; + ["Offset of field: pipe_inode_info::fasync_writers"] + [::core::mem::offset_of!(pipe_inode_info, fasync_writers) - 144usize]; + ["Offset of field: pipe_inode_info::bufs"] + [::core::mem::offset_of!(pipe_inode_info, bufs) - 152usize]; + ["Offset of field: pipe_inode_info::user"] + [::core::mem::offset_of!(pipe_inode_info, user) - 160usize]; + ["Offset of field: pipe_inode_info::watch_queue"] + [::core::mem::offset_of!(pipe_inode_info, watch_queue) - 168usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct pm_subsys_data { + pub lock: spinlock_t, + pub refcount: ::core::ffi::c_uint, + pub clock_op_might_sleep: ::core::ffi::c_uint, + pub clock_mutex: mutex, + pub clock_list: list_head, + pub domain_data: *mut pm_domain_data, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pm_subsys_data"][::core::mem::size_of::() - 72usize]; + ["Alignment of pm_subsys_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pm_subsys_data::lock"] + [::core::mem::offset_of!(pm_subsys_data, lock) - 0usize]; + ["Offset of field: pm_subsys_data::refcount"] + [::core::mem::offset_of!(pm_subsys_data, refcount) - 4usize]; + ["Offset of field: pm_subsys_data::clock_op_might_sleep"] + [::core::mem::offset_of!(pm_subsys_data, clock_op_might_sleep) - 8usize]; + ["Offset of field: pm_subsys_data::clock_mutex"] + [::core::mem::offset_of!(pm_subsys_data, clock_mutex) - 16usize]; + ["Offset of field: pm_subsys_data::clock_list"] + [::core::mem::offset_of!(pm_subsys_data, clock_list) - 48usize]; + ["Offset of field: pm_subsys_data::domain_data"] + [::core::mem::offset_of!(pm_subsys_data, domain_data) - 64usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct pneigh_entry { + pub next: *mut pneigh_entry, + pub net: possible_net_t, + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub flags: u32_, + pub protocol: u8_, + pub permanent: bool_, + pub key: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pneigh_entry"][::core::mem::size_of::() - 32usize]; + ["Alignment of pneigh_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pneigh_entry::next"][::core::mem::offset_of!(pneigh_entry, next) - 0usize]; + ["Offset of field: pneigh_entry::net"][::core::mem::offset_of!(pneigh_entry, net) - 8usize]; + ["Offset of field: pneigh_entry::dev"][::core::mem::offset_of!(pneigh_entry, dev) - 16usize]; + ["Offset of field: pneigh_entry::dev_tracker"] + [::core::mem::offset_of!(pneigh_entry, dev_tracker) - 24usize]; + ["Offset of field: pneigh_entry::flags"] + [::core::mem::offset_of!(pneigh_entry, flags) - 24usize]; + ["Offset of field: pneigh_entry::protocol"] + [::core::mem::offset_of!(pneigh_entry, protocol) - 28usize]; + ["Offset of field: pneigh_entry::permanent"] + [::core::mem::offset_of!(pneigh_entry, permanent) - 29usize]; + ["Offset of field: pneigh_entry::key"][::core::mem::offset_of!(pneigh_entry, key) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pnfs_commit_ops { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pnfs_ds_commit_info { + pub commits: list_head, + pub nwritten: ::core::ffi::c_uint, + pub ncommitting: ::core::ffi::c_uint, + pub ops: *const pnfs_commit_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pnfs_ds_commit_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of pnfs_ds_commit_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pnfs_ds_commit_info::commits"] + [::core::mem::offset_of!(pnfs_ds_commit_info, commits) - 0usize]; + ["Offset of field: pnfs_ds_commit_info::nwritten"] + [::core::mem::offset_of!(pnfs_ds_commit_info, nwritten) - 16usize]; + ["Offset of field: pnfs_ds_commit_info::ncommitting"] + [::core::mem::offset_of!(pnfs_ds_commit_info, ncommitting) - 20usize]; + ["Offset of field: pnfs_ds_commit_info::ops"] + [::core::mem::offset_of!(pnfs_ds_commit_info, ops) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pollfd { + pub fd: ::core::ffi::c_int, + pub events: ::core::ffi::c_short, + pub revents: ::core::ffi::c_short, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pollfd"][::core::mem::size_of::() - 8usize]; + ["Alignment of pollfd"][::core::mem::align_of::() - 4usize]; + ["Offset of field: pollfd::fd"][::core::mem::offset_of!(pollfd, fd) - 0usize]; + ["Offset of field: pollfd::events"][::core::mem::offset_of!(pollfd, events) - 4usize]; + ["Offset of field: pollfd::revents"][::core::mem::offset_of!(pollfd, revents) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pool_workqueue { + pub pool: *mut worker_pool, + pub wq: *mut workqueue_struct, + pub work_color: ::core::ffi::c_int, + pub flush_color: ::core::ffi::c_int, + pub refcnt: ::core::ffi::c_int, + pub nr_in_flight: [::core::ffi::c_int; 16usize], + pub plugged: bool_, + pub nr_active: ::core::ffi::c_int, + pub inactive_works: list_head, + pub pending_node: list_head, + pub pwqs_node: list_head, + pub mayday_node: list_head, + pub stats: [u64_; 8usize], + pub release_work: kthread_work, + pub rcu: callback_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 224usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pool_workqueue"][::core::mem::size_of::() - 512usize]; + ["Alignment of pool_workqueue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pool_workqueue::pool"] + [::core::mem::offset_of!(pool_workqueue, pool) - 0usize]; + ["Offset of field: pool_workqueue::wq"][::core::mem::offset_of!(pool_workqueue, wq) - 8usize]; + ["Offset of field: pool_workqueue::work_color"] + [::core::mem::offset_of!(pool_workqueue, work_color) - 16usize]; + ["Offset of field: pool_workqueue::flush_color"] + [::core::mem::offset_of!(pool_workqueue, flush_color) - 20usize]; + ["Offset of field: pool_workqueue::refcnt"] + [::core::mem::offset_of!(pool_workqueue, refcnt) - 24usize]; + ["Offset of field: pool_workqueue::nr_in_flight"] + [::core::mem::offset_of!(pool_workqueue, nr_in_flight) - 28usize]; + ["Offset of field: pool_workqueue::plugged"] + [::core::mem::offset_of!(pool_workqueue, plugged) - 92usize]; + ["Offset of field: pool_workqueue::nr_active"] + [::core::mem::offset_of!(pool_workqueue, nr_active) - 96usize]; + ["Offset of field: pool_workqueue::inactive_works"] + [::core::mem::offset_of!(pool_workqueue, inactive_works) - 104usize]; + ["Offset of field: pool_workqueue::pending_node"] + [::core::mem::offset_of!(pool_workqueue, pending_node) - 120usize]; + ["Offset of field: pool_workqueue::pwqs_node"] + [::core::mem::offset_of!(pool_workqueue, pwqs_node) - 136usize]; + ["Offset of field: pool_workqueue::mayday_node"] + [::core::mem::offset_of!(pool_workqueue, mayday_node) - 152usize]; + ["Offset of field: pool_workqueue::stats"] + [::core::mem::offset_of!(pool_workqueue, stats) - 168usize]; + ["Offset of field: pool_workqueue::release_work"] + [::core::mem::offset_of!(pool_workqueue, release_work) - 232usize]; + ["Offset of field: pool_workqueue::rcu"] + [::core::mem::offset_of!(pool_workqueue, rcu) - 272usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct posix_acl_entry { + pub e_tag: ::core::ffi::c_short, + pub e_perm: ::core::ffi::c_ushort, + pub __bindgen_anon_1: posix_acl_entry__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union posix_acl_entry__bindgen_ty_1 { + pub e_uid: kuid_t, + pub e_gid: kgid_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of posix_acl_entry__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of posix_acl_entry__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: posix_acl_entry__bindgen_ty_1::e_uid"] + [::core::mem::offset_of!(posix_acl_entry__bindgen_ty_1, e_uid) - 0usize]; + ["Offset of field: posix_acl_entry__bindgen_ty_1::e_gid"] + [::core::mem::offset_of!(posix_acl_entry__bindgen_ty_1, e_gid) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of posix_acl_entry"][::core::mem::size_of::() - 8usize]; + ["Alignment of posix_acl_entry"][::core::mem::align_of::() - 4usize]; + ["Offset of field: posix_acl_entry::e_tag"] + [::core::mem::offset_of!(posix_acl_entry, e_tag) - 0usize]; + ["Offset of field: posix_acl_entry::e_perm"] + [::core::mem::offset_of!(posix_acl_entry, e_perm) - 2usize]; +}; +#[repr(C)] +pub struct posix_acl { + pub a_refcount: refcount_t, + pub a_rcu: callback_head, + pub a_count: ::core::ffi::c_uint, + pub a_entries: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of posix_acl"][::core::mem::size_of::() - 32usize]; + ["Alignment of posix_acl"][::core::mem::align_of::() - 8usize]; + ["Offset of field: posix_acl::a_refcount"] + [::core::mem::offset_of!(posix_acl, a_refcount) - 0usize]; + ["Offset of field: posix_acl::a_rcu"][::core::mem::offset_of!(posix_acl, a_rcu) - 8usize]; + ["Offset of field: posix_acl::a_count"][::core::mem::offset_of!(posix_acl, a_count) - 24usize]; + ["Offset of field: posix_acl::a_entries"] + [::core::mem::offset_of!(posix_acl, a_entries) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct posix_cputimer_base { + pub nextevt: u64_, + pub tqhead: timerqueue_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of posix_cputimer_base"][::core::mem::size_of::() - 24usize]; + ["Alignment of posix_cputimer_base"][::core::mem::align_of::() - 8usize]; + ["Offset of field: posix_cputimer_base::nextevt"] + [::core::mem::offset_of!(posix_cputimer_base, nextevt) - 0usize]; + ["Offset of field: posix_cputimer_base::tqhead"] + [::core::mem::offset_of!(posix_cputimer_base, tqhead) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct posix_cputimers { + pub bases: [posix_cputimer_base; 3usize], + pub timers_active: ::core::ffi::c_uint, + pub expiry_active: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of posix_cputimers"][::core::mem::size_of::() - 80usize]; + ["Alignment of posix_cputimers"][::core::mem::align_of::() - 8usize]; + ["Offset of field: posix_cputimers::bases"] + [::core::mem::offset_of!(posix_cputimers, bases) - 0usize]; + ["Offset of field: posix_cputimers::timers_active"] + [::core::mem::offset_of!(posix_cputimers, timers_active) - 72usize]; + ["Offset of field: posix_cputimers::expiry_active"] + [::core::mem::offset_of!(posix_cputimers, expiry_active) - 76usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct posix_cputimers_work { + pub work: callback_head, + pub mutex: mutex, + pub scheduled: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of posix_cputimers_work"][::core::mem::size_of::() - 56usize]; + ["Alignment of posix_cputimers_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: posix_cputimers_work::work"] + [::core::mem::offset_of!(posix_cputimers_work, work) - 0usize]; + ["Offset of field: posix_cputimers_work::mutex"] + [::core::mem::offset_of!(posix_cputimers_work, mutex) - 16usize]; + ["Offset of field: posix_cputimers_work::scheduled"] + [::core::mem::offset_of!(posix_cputimers_work, scheduled) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pr_held_reservation { + pub key: u64_, + pub generation: u32_, + pub type_: pr_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pr_held_reservation"][::core::mem::size_of::() - 16usize]; + ["Alignment of pr_held_reservation"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pr_held_reservation::key"] + [::core::mem::offset_of!(pr_held_reservation, key) - 0usize]; + ["Offset of field: pr_held_reservation::generation"] + [::core::mem::offset_of!(pr_held_reservation, generation) - 8usize]; + ["Offset of field: pr_held_reservation::type_"] + [::core::mem::offset_of!(pr_held_reservation, type_) - 12usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct pr_keys { + pub generation: u32_, + pub num_keys: u32_, + pub keys: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pr_keys"][::core::mem::size_of::() - 8usize]; + ["Alignment of pr_keys"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pr_keys::generation"][::core::mem::offset_of!(pr_keys, generation) - 0usize]; + ["Offset of field: pr_keys::num_keys"][::core::mem::offset_of!(pr_keys, num_keys) - 4usize]; + ["Offset of field: pr_keys::keys"][::core::mem::offset_of!(pr_keys, keys) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pr_ops { + pub pr_register: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut block_device, + arg2: u64_, + arg3: u64_, + arg4: u32_, + ) -> ::core::ffi::c_int, + >, + pub pr_reserve: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut block_device, + arg2: u64_, + arg3: pr_type, + arg4: u32_, + ) -> ::core::ffi::c_int, + >, + pub pr_release: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut block_device, + arg2: u64_, + arg3: pr_type, + ) -> ::core::ffi::c_int, + >, + pub pr_preempt: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut block_device, + arg2: u64_, + arg3: u64_, + arg4: pr_type, + arg5: bool_, + ) -> ::core::ffi::c_int, + >, + pub pr_clear: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut block_device, arg2: u64_) -> ::core::ffi::c_int, + >, + pub pr_read_keys: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut block_device, arg2: *mut pr_keys) -> ::core::ffi::c_int, + >, + pub pr_read_reservation: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut block_device, + arg2: *mut pr_held_reservation, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pr_ops"][::core::mem::size_of::() - 56usize]; + ["Alignment of pr_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pr_ops::pr_register"][::core::mem::offset_of!(pr_ops, pr_register) - 0usize]; + ["Offset of field: pr_ops::pr_reserve"][::core::mem::offset_of!(pr_ops, pr_reserve) - 8usize]; + ["Offset of field: pr_ops::pr_release"][::core::mem::offset_of!(pr_ops, pr_release) - 16usize]; + ["Offset of field: pr_ops::pr_preempt"][::core::mem::offset_of!(pr_ops, pr_preempt) - 24usize]; + ["Offset of field: pr_ops::pr_clear"][::core::mem::offset_of!(pr_ops, pr_clear) - 32usize]; + ["Offset of field: pr_ops::pr_read_keys"] + [::core::mem::offset_of!(pr_ops, pr_read_keys) - 40usize]; + ["Offset of field: pr_ops::pr_read_reservation"] + [::core::mem::offset_of!(pr_ops, pr_read_reservation) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct prefix_info { + pub type_: __u8, + pub length: __u8, + pub prefix_len: __u8, + pub __bindgen_anon_1: prefix_info__bindgen_ty_1, + pub valid: __be32, + pub prefered: __be32, + pub reserved2: __be32, + pub prefix: in6_addr, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union prefix_info__bindgen_ty_1 { + pub flags: __u8, + pub __bindgen_anon_1: prefix_info__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct prefix_info__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of prefix_info__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 1usize]; + ["Alignment of prefix_info__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +impl prefix_info__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn reserved(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) } + } + #[inline] + pub fn set_reserved(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reserved_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn preferpd(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_preferpd(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn preferpd_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_preferpd_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn routeraddr(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_routeraddr(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn routeraddr_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_routeraddr_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn autoconf(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_autoconf(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn autoconf_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_autoconf_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn onlink(&self) -> __u8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_onlink(&mut self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn onlink_raw(this: *const Self) -> __u8 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_onlink_raw(this: *mut Self, val: __u8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + reserved: __u8, + preferpd: __u8, + routeraddr: __u8, + autoconf: __u8, + onlink: __u8, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let reserved: u8 = unsafe { ::core::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let preferpd: u8 = unsafe { ::core::mem::transmute(preferpd) }; + preferpd as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let routeraddr: u8 = unsafe { ::core::mem::transmute(routeraddr) }; + routeraddr as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let autoconf: u8 = unsafe { ::core::mem::transmute(autoconf) }; + autoconf as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let onlink: u8 = unsafe { ::core::mem::transmute(onlink) }; + onlink as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of prefix_info__bindgen_ty_1"] + [::core::mem::size_of::() - 1usize]; + ["Alignment of prefix_info__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: prefix_info__bindgen_ty_1::flags"] + [::core::mem::offset_of!(prefix_info__bindgen_ty_1, flags) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of prefix_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of prefix_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: prefix_info::type_"][::core::mem::offset_of!(prefix_info, type_) - 0usize]; + ["Offset of field: prefix_info::length"][::core::mem::offset_of!(prefix_info, length) - 1usize]; + ["Offset of field: prefix_info::prefix_len"] + [::core::mem::offset_of!(prefix_info, prefix_len) - 2usize]; + ["Offset of field: prefix_info::valid"][::core::mem::offset_of!(prefix_info, valid) - 4usize]; + ["Offset of field: prefix_info::prefered"] + [::core::mem::offset_of!(prefix_info, prefered) - 8usize]; + ["Offset of field: prefix_info::reserved2"] + [::core::mem::offset_of!(prefix_info, reserved2) - 12usize]; + ["Offset of field: prefix_info::prefix"] + [::core::mem::offset_of!(prefix_info, prefix) - 16usize]; +}; +pub type proc_write_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +pub struct proc_dir_entry { + pub in_use: atomic_t, + pub refcnt: refcount_t, + pub pde_openers: list_head, + pub pde_unload_lock: spinlock_t, + pub pde_unload_completion: *mut completion, + pub proc_iops: *const inode_operations, + pub __bindgen_anon_1: proc_dir_entry__bindgen_ty_1, + pub proc_dops: *const dentry_operations, + pub __bindgen_anon_2: proc_dir_entry__bindgen_ty_2, + pub write: proc_write_t, + pub data: *mut ::core::ffi::c_void, + pub state_size: ::core::ffi::c_uint, + pub low_ino: ::core::ffi::c_uint, + pub nlink: nlink_t, + pub uid: kuid_t, + pub gid: kgid_t, + pub size: loff_t, + pub parent: *mut proc_dir_entry, + pub subdir: rb_root, + pub subdir_node: rb_node, + pub name: *mut ::core::ffi::c_char, + pub mode: umode_t, + pub flags: u8_, + pub namelen: u8_, + pub inline_name: __IncompleteArrayField<::core::ffi::c_char>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union proc_dir_entry__bindgen_ty_1 { + pub proc_ops: *const proc_ops, + pub proc_dir_ops: *const file_operations, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proc_dir_entry__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of proc_dir_entry__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: proc_dir_entry__bindgen_ty_1::proc_ops"] + [::core::mem::offset_of!(proc_dir_entry__bindgen_ty_1, proc_ops) - 0usize]; + ["Offset of field: proc_dir_entry__bindgen_ty_1::proc_dir_ops"] + [::core::mem::offset_of!(proc_dir_entry__bindgen_ty_1, proc_dir_ops) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union proc_dir_entry__bindgen_ty_2 { + pub seq_ops: *const seq_operations, + pub single_show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proc_dir_entry__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of proc_dir_entry__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: proc_dir_entry__bindgen_ty_2::seq_ops"] + [::core::mem::offset_of!(proc_dir_entry__bindgen_ty_2, seq_ops) - 0usize]; + ["Offset of field: proc_dir_entry__bindgen_ty_2::single_show"] + [::core::mem::offset_of!(proc_dir_entry__bindgen_ty_2, single_show) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proc_dir_entry"][::core::mem::size_of::() - 176usize]; + ["Alignment of proc_dir_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: proc_dir_entry::in_use"] + [::core::mem::offset_of!(proc_dir_entry, in_use) - 0usize]; + ["Offset of field: proc_dir_entry::refcnt"] + [::core::mem::offset_of!(proc_dir_entry, refcnt) - 4usize]; + ["Offset of field: proc_dir_entry::pde_openers"] + [::core::mem::offset_of!(proc_dir_entry, pde_openers) - 8usize]; + ["Offset of field: proc_dir_entry::pde_unload_lock"] + [::core::mem::offset_of!(proc_dir_entry, pde_unload_lock) - 24usize]; + ["Offset of field: proc_dir_entry::pde_unload_completion"] + [::core::mem::offset_of!(proc_dir_entry, pde_unload_completion) - 32usize]; + ["Offset of field: proc_dir_entry::proc_iops"] + [::core::mem::offset_of!(proc_dir_entry, proc_iops) - 40usize]; + ["Offset of field: proc_dir_entry::proc_dops"] + [::core::mem::offset_of!(proc_dir_entry, proc_dops) - 56usize]; + ["Offset of field: proc_dir_entry::write"] + [::core::mem::offset_of!(proc_dir_entry, write) - 72usize]; + ["Offset of field: proc_dir_entry::data"] + [::core::mem::offset_of!(proc_dir_entry, data) - 80usize]; + ["Offset of field: proc_dir_entry::state_size"] + [::core::mem::offset_of!(proc_dir_entry, state_size) - 88usize]; + ["Offset of field: proc_dir_entry::low_ino"] + [::core::mem::offset_of!(proc_dir_entry, low_ino) - 92usize]; + ["Offset of field: proc_dir_entry::nlink"] + [::core::mem::offset_of!(proc_dir_entry, nlink) - 96usize]; + ["Offset of field: proc_dir_entry::uid"] + [::core::mem::offset_of!(proc_dir_entry, uid) - 100usize]; + ["Offset of field: proc_dir_entry::gid"] + [::core::mem::offset_of!(proc_dir_entry, gid) - 104usize]; + ["Offset of field: proc_dir_entry::size"] + [::core::mem::offset_of!(proc_dir_entry, size) - 112usize]; + ["Offset of field: proc_dir_entry::parent"] + [::core::mem::offset_of!(proc_dir_entry, parent) - 120usize]; + ["Offset of field: proc_dir_entry::subdir"] + [::core::mem::offset_of!(proc_dir_entry, subdir) - 128usize]; + ["Offset of field: proc_dir_entry::subdir_node"] + [::core::mem::offset_of!(proc_dir_entry, subdir_node) - 136usize]; + ["Offset of field: proc_dir_entry::name"] + [::core::mem::offset_of!(proc_dir_entry, name) - 160usize]; + ["Offset of field: proc_dir_entry::mode"] + [::core::mem::offset_of!(proc_dir_entry, mode) - 168usize]; + ["Offset of field: proc_dir_entry::flags"] + [::core::mem::offset_of!(proc_dir_entry, flags) - 170usize]; + ["Offset of field: proc_dir_entry::namelen"] + [::core::mem::offset_of!(proc_dir_entry, namelen) - 171usize]; + ["Offset of field: proc_dir_entry::inline_name"] + [::core::mem::offset_of!(proc_dir_entry, inline_name) - 172usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct proc_ns_operations { + pub name: *const ::core::ffi::c_char, + pub real_ns_name: *const ::core::ffi::c_char, + pub type_: ::core::ffi::c_int, + pub get: ::core::option::Option *mut ns_common>, + pub put: ::core::option::Option, + pub install: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut nsset, arg2: *mut ns_common) -> ::core::ffi::c_int, + >, + pub owner: + ::core::option::Option *mut user_namespace>, + pub get_parent: + ::core::option::Option *mut ns_common>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proc_ns_operations"][::core::mem::size_of::() - 64usize]; + ["Alignment of proc_ns_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: proc_ns_operations::name"] + [::core::mem::offset_of!(proc_ns_operations, name) - 0usize]; + ["Offset of field: proc_ns_operations::real_ns_name"] + [::core::mem::offset_of!(proc_ns_operations, real_ns_name) - 8usize]; + ["Offset of field: proc_ns_operations::type_"] + [::core::mem::offset_of!(proc_ns_operations, type_) - 16usize]; + ["Offset of field: proc_ns_operations::get"] + [::core::mem::offset_of!(proc_ns_operations, get) - 24usize]; + ["Offset of field: proc_ns_operations::put"] + [::core::mem::offset_of!(proc_ns_operations, put) - 32usize]; + ["Offset of field: proc_ns_operations::install"] + [::core::mem::offset_of!(proc_ns_operations, install) - 40usize]; + ["Offset of field: proc_ns_operations::owner"] + [::core::mem::offset_of!(proc_ns_operations, owner) - 48usize]; + ["Offset of field: proc_ns_operations::get_parent"] + [::core::mem::offset_of!(proc_ns_operations, get_parent) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct proc_ops { + pub proc_flags: ::core::ffi::c_uint, + pub proc_open: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut file) -> ::core::ffi::c_int, + >, + pub proc_read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + arg4: *mut loff_t, + ) -> isize, + >, + pub proc_read_iter: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut kiocb, arg2: *mut iov_iter) -> isize, + >, + pub proc_write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *const ::core::ffi::c_char, + arg3: usize, + arg4: *mut loff_t, + ) -> isize, + >, + pub proc_lseek: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: loff_t, arg3: ::core::ffi::c_int) -> loff_t, + >, + pub proc_release: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut file) -> ::core::ffi::c_int, + >, + pub proc_poll: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: *mut poll_table_struct) -> __poll_t, + >, + pub proc_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_long, + >, + pub proc_compat_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_long, + >, + pub proc_mmap: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut file, arg2: *mut vm_area_struct) -> ::core::ffi::c_int, + >, + pub proc_get_unmapped_area: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + arg4: ::core::ffi::c_ulong, + arg5: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_ulong, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proc_ops"][::core::mem::size_of::() - 96usize]; + ["Alignment of proc_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: proc_ops::proc_flags"] + [::core::mem::offset_of!(proc_ops, proc_flags) - 0usize]; + ["Offset of field: proc_ops::proc_open"][::core::mem::offset_of!(proc_ops, proc_open) - 8usize]; + ["Offset of field: proc_ops::proc_read"] + [::core::mem::offset_of!(proc_ops, proc_read) - 16usize]; + ["Offset of field: proc_ops::proc_read_iter"] + [::core::mem::offset_of!(proc_ops, proc_read_iter) - 24usize]; + ["Offset of field: proc_ops::proc_write"] + [::core::mem::offset_of!(proc_ops, proc_write) - 32usize]; + ["Offset of field: proc_ops::proc_lseek"] + [::core::mem::offset_of!(proc_ops, proc_lseek) - 40usize]; + ["Offset of field: proc_ops::proc_release"] + [::core::mem::offset_of!(proc_ops, proc_release) - 48usize]; + ["Offset of field: proc_ops::proc_poll"] + [::core::mem::offset_of!(proc_ops, proc_poll) - 56usize]; + ["Offset of field: proc_ops::proc_ioctl"] + [::core::mem::offset_of!(proc_ops, proc_ioctl) - 64usize]; + ["Offset of field: proc_ops::proc_compat_ioctl"] + [::core::mem::offset_of!(proc_ops, proc_compat_ioctl) - 72usize]; + ["Offset of field: proc_ops::proc_mmap"] + [::core::mem::offset_of!(proc_ops, proc_mmap) - 80usize]; + ["Offset of field: proc_ops::proc_get_unmapped_area"] + [::core::mem::offset_of!(proc_ops, proc_get_unmapped_area) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct prog_entry { + pub target: ::core::ffi::c_int, + pub when_to_branch: ::core::ffi::c_int, + pub pred: *mut filter_pred, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of prog_entry"][::core::mem::size_of::() - 16usize]; + ["Alignment of prog_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: prog_entry::target"][::core::mem::offset_of!(prog_entry, target) - 0usize]; + ["Offset of field: prog_entry::when_to_branch"] + [::core::mem::offset_of!(prog_entry, when_to_branch) - 4usize]; + ["Offset of field: prog_entry::pred"][::core::mem::offset_of!(prog_entry, pred) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct property { + pub name: *mut ::core::ffi::c_char, + pub length: ::core::ffi::c_int, + pub value: *mut ::core::ffi::c_void, + pub next: *mut property, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of property"][::core::mem::size_of::() - 32usize]; + ["Alignment of property"][::core::mem::align_of::() - 8usize]; + ["Offset of field: property::name"][::core::mem::offset_of!(property, name) - 0usize]; + ["Offset of field: property::length"][::core::mem::offset_of!(property, length) - 8usize]; + ["Offset of field: property::value"][::core::mem::offset_of!(property, value) - 16usize]; + ["Offset of field: property::next"][::core::mem::offset_of!(property, next) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct prot_inuse { + pub all: ::core::ffi::c_int, + pub val: [::core::ffi::c_int; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of prot_inuse"][::core::mem::size_of::() - 260usize]; + ["Alignment of prot_inuse"][::core::mem::align_of::() - 4usize]; + ["Offset of field: prot_inuse::all"][::core::mem::offset_of!(prot_inuse, all) - 0usize]; + ["Offset of field: prot_inuse::val"][::core::mem::offset_of!(prot_inuse, val) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct smc_hashinfo { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct proto { + pub close: + ::core::option::Option, + pub pre_connect: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut sockaddr, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub connect: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut sockaddr, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub disconnect: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub accept: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: *mut proto_accept_arg) -> *mut sock, + >, + pub ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: ::core::ffi::c_int, + arg3: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub init: ::core::option::Option ::core::ffi::c_int>, + pub destroy: ::core::option::Option, + pub shutdown: + ::core::option::Option, + pub setsockopt: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: sockptr_t, + arg5: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub getsockopt: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: *mut ::core::ffi::c_char, + arg5: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub keepalive: + ::core::option::Option, + pub compat_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub sendmsg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: *mut msghdr, arg3: usize) -> ::core::ffi::c_int, + >, + pub recvmsg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut msghdr, + arg3: usize, + arg4: ::core::ffi::c_int, + arg5: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub splice_eof: ::core::option::Option, + pub bind: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut sockaddr, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub bind_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut sockaddr, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub backlog_rcv: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub bpf_bypass_getsockopt: ::core::option::Option< + unsafe extern "C" fn(arg1: ::core::ffi::c_int, arg2: ::core::ffi::c_int) -> bool_, + >, + pub release_cb: ::core::option::Option, + pub hash: ::core::option::Option ::core::ffi::c_int>, + pub unhash: ::core::option::Option, + pub rehash: ::core::option::Option, + pub get_port: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: ::core::ffi::c_ushort) -> ::core::ffi::c_int, + >, + pub put_port: ::core::option::Option, + pub psock_update_sk_prot: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut sk_psock, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub inuse_idx: ::core::ffi::c_uint, + pub forward_alloc_get: + ::core::option::Option ::core::ffi::c_int>, + pub stream_memory_free: ::core::option::Option< + unsafe extern "C" fn(arg1: *const sock, arg2: ::core::ffi::c_int) -> bool_, + >, + pub sock_is_readable: ::core::option::Option bool_>, + pub enter_memory_pressure: ::core::option::Option, + pub leave_memory_pressure: ::core::option::Option, + pub memory_allocated: *mut atomic_long_t, + pub per_cpu_fw_alloc: *mut ::core::ffi::c_int, + pub sockets_allocated: *mut percpu_counter, + pub memory_pressure: *mut ::core::ffi::c_ulong, + pub sysctl_mem: *mut ::core::ffi::c_long, + pub sysctl_wmem: *mut ::core::ffi::c_int, + pub sysctl_rmem: *mut ::core::ffi::c_int, + pub sysctl_wmem_offset: u32_, + pub sysctl_rmem_offset: u32_, + pub max_header: ::core::ffi::c_int, + pub no_autobind: bool_, + pub slab: *mut kmem_cache, + pub obj_size: ::core::ffi::c_uint, + pub ipv6_pinfo_offset: ::core::ffi::c_uint, + pub slab_flags: slab_flags_t, + pub useroffset: ::core::ffi::c_uint, + pub usersize: ::core::ffi::c_uint, + pub orphan_count: *mut ::core::ffi::c_uint, + pub rsk_prot: *mut request_sock_ops, + pub twsk_prot: *mut timewait_sock_ops, + pub h: proto__bindgen_ty_1, + pub owner: *mut module, + pub name: [::core::ffi::c_char; 32usize], + pub node: list_head, + pub diag_destroy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union proto__bindgen_ty_1 { + pub hashinfo: *mut inet_hashinfo, + pub udp_table: *mut udp_table, + pub raw_hash: *mut raw_hashinfo, + pub smc_hash: *mut smc_hashinfo, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proto__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of proto__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: proto__bindgen_ty_1::hashinfo"] + [::core::mem::offset_of!(proto__bindgen_ty_1, hashinfo) - 0usize]; + ["Offset of field: proto__bindgen_ty_1::udp_table"] + [::core::mem::offset_of!(proto__bindgen_ty_1, udp_table) - 0usize]; + ["Offset of field: proto__bindgen_ty_1::raw_hash"] + [::core::mem::offset_of!(proto__bindgen_ty_1, raw_hash) - 0usize]; + ["Offset of field: proto__bindgen_ty_1::smc_hash"] + [::core::mem::offset_of!(proto__bindgen_ty_1, smc_hash) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proto"][::core::mem::size_of::() - 464usize]; + ["Alignment of proto"][::core::mem::align_of::() - 8usize]; + ["Offset of field: proto::close"][::core::mem::offset_of!(proto, close) - 0usize]; + ["Offset of field: proto::pre_connect"][::core::mem::offset_of!(proto, pre_connect) - 8usize]; + ["Offset of field: proto::connect"][::core::mem::offset_of!(proto, connect) - 16usize]; + ["Offset of field: proto::disconnect"][::core::mem::offset_of!(proto, disconnect) - 24usize]; + ["Offset of field: proto::accept"][::core::mem::offset_of!(proto, accept) - 32usize]; + ["Offset of field: proto::ioctl"][::core::mem::offset_of!(proto, ioctl) - 40usize]; + ["Offset of field: proto::init"][::core::mem::offset_of!(proto, init) - 48usize]; + ["Offset of field: proto::destroy"][::core::mem::offset_of!(proto, destroy) - 56usize]; + ["Offset of field: proto::shutdown"][::core::mem::offset_of!(proto, shutdown) - 64usize]; + ["Offset of field: proto::setsockopt"][::core::mem::offset_of!(proto, setsockopt) - 72usize]; + ["Offset of field: proto::getsockopt"][::core::mem::offset_of!(proto, getsockopt) - 80usize]; + ["Offset of field: proto::keepalive"][::core::mem::offset_of!(proto, keepalive) - 88usize]; + ["Offset of field: proto::compat_ioctl"] + [::core::mem::offset_of!(proto, compat_ioctl) - 96usize]; + ["Offset of field: proto::sendmsg"][::core::mem::offset_of!(proto, sendmsg) - 104usize]; + ["Offset of field: proto::recvmsg"][::core::mem::offset_of!(proto, recvmsg) - 112usize]; + ["Offset of field: proto::splice_eof"][::core::mem::offset_of!(proto, splice_eof) - 120usize]; + ["Offset of field: proto::bind"][::core::mem::offset_of!(proto, bind) - 128usize]; + ["Offset of field: proto::bind_add"][::core::mem::offset_of!(proto, bind_add) - 136usize]; + ["Offset of field: proto::backlog_rcv"][::core::mem::offset_of!(proto, backlog_rcv) - 144usize]; + ["Offset of field: proto::bpf_bypass_getsockopt"] + [::core::mem::offset_of!(proto, bpf_bypass_getsockopt) - 152usize]; + ["Offset of field: proto::release_cb"][::core::mem::offset_of!(proto, release_cb) - 160usize]; + ["Offset of field: proto::hash"][::core::mem::offset_of!(proto, hash) - 168usize]; + ["Offset of field: proto::unhash"][::core::mem::offset_of!(proto, unhash) - 176usize]; + ["Offset of field: proto::rehash"][::core::mem::offset_of!(proto, rehash) - 184usize]; + ["Offset of field: proto::get_port"][::core::mem::offset_of!(proto, get_port) - 192usize]; + ["Offset of field: proto::put_port"][::core::mem::offset_of!(proto, put_port) - 200usize]; + ["Offset of field: proto::psock_update_sk_prot"] + [::core::mem::offset_of!(proto, psock_update_sk_prot) - 208usize]; + ["Offset of field: proto::inuse_idx"][::core::mem::offset_of!(proto, inuse_idx) - 216usize]; + ["Offset of field: proto::forward_alloc_get"] + [::core::mem::offset_of!(proto, forward_alloc_get) - 224usize]; + ["Offset of field: proto::stream_memory_free"] + [::core::mem::offset_of!(proto, stream_memory_free) - 232usize]; + ["Offset of field: proto::sock_is_readable"] + [::core::mem::offset_of!(proto, sock_is_readable) - 240usize]; + ["Offset of field: proto::enter_memory_pressure"] + [::core::mem::offset_of!(proto, enter_memory_pressure) - 248usize]; + ["Offset of field: proto::leave_memory_pressure"] + [::core::mem::offset_of!(proto, leave_memory_pressure) - 256usize]; + ["Offset of field: proto::memory_allocated"] + [::core::mem::offset_of!(proto, memory_allocated) - 264usize]; + ["Offset of field: proto::per_cpu_fw_alloc"] + [::core::mem::offset_of!(proto, per_cpu_fw_alloc) - 272usize]; + ["Offset of field: proto::sockets_allocated"] + [::core::mem::offset_of!(proto, sockets_allocated) - 280usize]; + ["Offset of field: proto::memory_pressure"] + [::core::mem::offset_of!(proto, memory_pressure) - 288usize]; + ["Offset of field: proto::sysctl_mem"][::core::mem::offset_of!(proto, sysctl_mem) - 296usize]; + ["Offset of field: proto::sysctl_wmem"][::core::mem::offset_of!(proto, sysctl_wmem) - 304usize]; + ["Offset of field: proto::sysctl_rmem"][::core::mem::offset_of!(proto, sysctl_rmem) - 312usize]; + ["Offset of field: proto::sysctl_wmem_offset"] + [::core::mem::offset_of!(proto, sysctl_wmem_offset) - 320usize]; + ["Offset of field: proto::sysctl_rmem_offset"] + [::core::mem::offset_of!(proto, sysctl_rmem_offset) - 324usize]; + ["Offset of field: proto::max_header"][::core::mem::offset_of!(proto, max_header) - 328usize]; + ["Offset of field: proto::no_autobind"][::core::mem::offset_of!(proto, no_autobind) - 332usize]; + ["Offset of field: proto::slab"][::core::mem::offset_of!(proto, slab) - 336usize]; + ["Offset of field: proto::obj_size"][::core::mem::offset_of!(proto, obj_size) - 344usize]; + ["Offset of field: proto::ipv6_pinfo_offset"] + [::core::mem::offset_of!(proto, ipv6_pinfo_offset) - 348usize]; + ["Offset of field: proto::slab_flags"][::core::mem::offset_of!(proto, slab_flags) - 352usize]; + ["Offset of field: proto::useroffset"][::core::mem::offset_of!(proto, useroffset) - 356usize]; + ["Offset of field: proto::usersize"][::core::mem::offset_of!(proto, usersize) - 360usize]; + ["Offset of field: proto::orphan_count"] + [::core::mem::offset_of!(proto, orphan_count) - 368usize]; + ["Offset of field: proto::rsk_prot"][::core::mem::offset_of!(proto, rsk_prot) - 376usize]; + ["Offset of field: proto::twsk_prot"][::core::mem::offset_of!(proto, twsk_prot) - 384usize]; + ["Offset of field: proto::h"][::core::mem::offset_of!(proto, h) - 392usize]; + ["Offset of field: proto::owner"][::core::mem::offset_of!(proto, owner) - 400usize]; + ["Offset of field: proto::name"][::core::mem::offset_of!(proto, name) - 408usize]; + ["Offset of field: proto::node"][::core::mem::offset_of!(proto, node) - 440usize]; + ["Offset of field: proto::diag_destroy"] + [::core::mem::offset_of!(proto, diag_destroy) - 456usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct proto_accept_arg { + pub flags: ::core::ffi::c_int, + pub err: ::core::ffi::c_int, + pub is_empty: ::core::ffi::c_int, + pub kern: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proto_accept_arg"][::core::mem::size_of::() - 16usize]; + ["Alignment of proto_accept_arg"][::core::mem::align_of::() - 4usize]; + ["Offset of field: proto_accept_arg::flags"] + [::core::mem::offset_of!(proto_accept_arg, flags) - 0usize]; + ["Offset of field: proto_accept_arg::err"] + [::core::mem::offset_of!(proto_accept_arg, err) - 4usize]; + ["Offset of field: proto_accept_arg::is_empty"] + [::core::mem::offset_of!(proto_accept_arg, is_empty) - 8usize]; + ["Offset of field: proto_accept_arg::kern"] + [::core::mem::offset_of!(proto_accept_arg, kern) - 12usize]; +}; +pub type skb_read_actor_t = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: *mut sk_buff) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct proto_ops { + pub family: ::core::ffi::c_int, + pub owner: *mut module, + pub release: + ::core::option::Option ::core::ffi::c_int>, + pub bind: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut sockaddr, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub connect: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut sockaddr, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub socketpair: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut socket, arg2: *mut socket) -> ::core::ffi::c_int, + >, + pub accept: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut socket, + arg3: *mut proto_accept_arg, + ) -> ::core::ffi::c_int, + >, + pub getname: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut sockaddr, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub poll: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut socket, + arg3: *mut poll_table_struct, + ) -> __poll_t, + >, + pub ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub compat_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub gettstamp: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut ::core::ffi::c_void, + arg3: bool_, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub listen: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut socket, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub shutdown: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut socket, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub setsockopt: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: sockptr_t, + arg5: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub getsockopt: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: *mut ::core::ffi::c_char, + arg5: *mut ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub show_fdinfo: + ::core::option::Option, + pub sendmsg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut msghdr, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub recvmsg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut msghdr, + arg3: usize, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub mmap: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut file, + arg2: *mut socket, + arg3: *mut vm_area_struct, + ) -> ::core::ffi::c_int, + >, + pub splice_read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut socket, + arg2: *mut loff_t, + arg3: *mut pipe_inode_info, + arg4: usize, + arg5: ::core::ffi::c_uint, + ) -> isize, + >, + pub splice_eof: ::core::option::Option, + pub set_peek_off: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub peek_len: + ::core::option::Option ::core::ffi::c_int>, + pub read_sock: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut read_descriptor_t, + arg3: sk_read_actor_t, + ) -> ::core::ffi::c_int, + >, + pub read_skb: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: skb_read_actor_t) -> ::core::ffi::c_int, + >, + pub sendmsg_locked: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: *mut msghdr, arg3: usize) -> ::core::ffi::c_int, + >, + pub set_rcvlowat: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of proto_ops"][::core::mem::size_of::() - 224usize]; + ["Alignment of proto_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: proto_ops::family"][::core::mem::offset_of!(proto_ops, family) - 0usize]; + ["Offset of field: proto_ops::owner"][::core::mem::offset_of!(proto_ops, owner) - 8usize]; + ["Offset of field: proto_ops::release"][::core::mem::offset_of!(proto_ops, release) - 16usize]; + ["Offset of field: proto_ops::bind"][::core::mem::offset_of!(proto_ops, bind) - 24usize]; + ["Offset of field: proto_ops::connect"][::core::mem::offset_of!(proto_ops, connect) - 32usize]; + ["Offset of field: proto_ops::socketpair"] + [::core::mem::offset_of!(proto_ops, socketpair) - 40usize]; + ["Offset of field: proto_ops::accept"][::core::mem::offset_of!(proto_ops, accept) - 48usize]; + ["Offset of field: proto_ops::getname"][::core::mem::offset_of!(proto_ops, getname) - 56usize]; + ["Offset of field: proto_ops::poll"][::core::mem::offset_of!(proto_ops, poll) - 64usize]; + ["Offset of field: proto_ops::ioctl"][::core::mem::offset_of!(proto_ops, ioctl) - 72usize]; + ["Offset of field: proto_ops::compat_ioctl"] + [::core::mem::offset_of!(proto_ops, compat_ioctl) - 80usize]; + ["Offset of field: proto_ops::gettstamp"] + [::core::mem::offset_of!(proto_ops, gettstamp) - 88usize]; + ["Offset of field: proto_ops::listen"][::core::mem::offset_of!(proto_ops, listen) - 96usize]; + ["Offset of field: proto_ops::shutdown"] + [::core::mem::offset_of!(proto_ops, shutdown) - 104usize]; + ["Offset of field: proto_ops::setsockopt"] + [::core::mem::offset_of!(proto_ops, setsockopt) - 112usize]; + ["Offset of field: proto_ops::getsockopt"] + [::core::mem::offset_of!(proto_ops, getsockopt) - 120usize]; + ["Offset of field: proto_ops::show_fdinfo"] + [::core::mem::offset_of!(proto_ops, show_fdinfo) - 128usize]; + ["Offset of field: proto_ops::sendmsg"][::core::mem::offset_of!(proto_ops, sendmsg) - 136usize]; + ["Offset of field: proto_ops::recvmsg"][::core::mem::offset_of!(proto_ops, recvmsg) - 144usize]; + ["Offset of field: proto_ops::mmap"][::core::mem::offset_of!(proto_ops, mmap) - 152usize]; + ["Offset of field: proto_ops::splice_read"] + [::core::mem::offset_of!(proto_ops, splice_read) - 160usize]; + ["Offset of field: proto_ops::splice_eof"] + [::core::mem::offset_of!(proto_ops, splice_eof) - 168usize]; + ["Offset of field: proto_ops::set_peek_off"] + [::core::mem::offset_of!(proto_ops, set_peek_off) - 176usize]; + ["Offset of field: proto_ops::peek_len"] + [::core::mem::offset_of!(proto_ops, peek_len) - 184usize]; + ["Offset of field: proto_ops::read_sock"] + [::core::mem::offset_of!(proto_ops, read_sock) - 192usize]; + ["Offset of field: proto_ops::read_skb"] + [::core::mem::offset_of!(proto_ops, read_skb) - 200usize]; + ["Offset of field: proto_ops::sendmsg_locked"] + [::core::mem::offset_of!(proto_ops, sendmsg_locked) - 208usize]; + ["Offset of field: proto_ops::set_rcvlowat"] + [::core::mem::offset_of!(proto_ops, set_rcvlowat) - 216usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct psample_group { + pub list: list_head, + pub net: *mut net, + pub group_num: u32_, + pub refcount: u32_, + pub seq: u32_, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of psample_group"][::core::mem::size_of::() - 56usize]; + ["Alignment of psample_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: psample_group::list"][::core::mem::offset_of!(psample_group, list) - 0usize]; + ["Offset of field: psample_group::net"][::core::mem::offset_of!(psample_group, net) - 16usize]; + ["Offset of field: psample_group::group_num"] + [::core::mem::offset_of!(psample_group, group_num) - 24usize]; + ["Offset of field: psample_group::refcount"] + [::core::mem::offset_of!(psample_group, refcount) - 28usize]; + ["Offset of field: psample_group::seq"][::core::mem::offset_of!(psample_group, seq) - 32usize]; + ["Offset of field: psample_group::rcu"][::core::mem::offset_of!(psample_group, rcu) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pse_control { + pub pcdev: *mut pse_controller_dev, + pub ps: *mut regulator, + pub list: list_head, + pub id: ::core::ffi::c_uint, + pub refcnt: kref, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pse_control"][::core::mem::size_of::() - 40usize]; + ["Alignment of pse_control"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pse_control::pcdev"][::core::mem::offset_of!(pse_control, pcdev) - 0usize]; + ["Offset of field: pse_control::ps"][::core::mem::offset_of!(pse_control, ps) - 8usize]; + ["Offset of field: pse_control::list"][::core::mem::offset_of!(pse_control, list) - 16usize]; + ["Offset of field: pse_control::id"][::core::mem::offset_of!(pse_control, id) - 32usize]; + ["Offset of field: pse_control::refcnt"] + [::core::mem::offset_of!(pse_control, refcnt) - 36usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct pse_control_status { + pub podl_admin_state: ethtool_podl_pse_admin_state, + pub podl_pw_status: ethtool_podl_pse_pw_d_status, + pub c33_admin_state: ethtool_c33_pse_admin_state, + pub c33_pw_status: ethtool_c33_pse_pw_d_status, + pub c33_pw_class: u32_, + pub c33_actual_pw: u32_, + pub c33_ext_state_info: ethtool_c33_pse_ext_state_info, + pub c33_avail_pw_limit: u32_, + pub c33_pw_limit_ranges: *mut ethtool_c33_pse_pw_limit_range, + pub c33_pw_limit_nb_ranges: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pse_control_status"][::core::mem::size_of::() - 56usize]; + ["Alignment of pse_control_status"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pse_control_status::podl_admin_state"] + [::core::mem::offset_of!(pse_control_status, podl_admin_state) - 0usize]; + ["Offset of field: pse_control_status::podl_pw_status"] + [::core::mem::offset_of!(pse_control_status, podl_pw_status) - 4usize]; + ["Offset of field: pse_control_status::c33_admin_state"] + [::core::mem::offset_of!(pse_control_status, c33_admin_state) - 8usize]; + ["Offset of field: pse_control_status::c33_pw_status"] + [::core::mem::offset_of!(pse_control_status, c33_pw_status) - 12usize]; + ["Offset of field: pse_control_status::c33_pw_class"] + [::core::mem::offset_of!(pse_control_status, c33_pw_class) - 16usize]; + ["Offset of field: pse_control_status::c33_actual_pw"] + [::core::mem::offset_of!(pse_control_status, c33_actual_pw) - 20usize]; + ["Offset of field: pse_control_status::c33_ext_state_info"] + [::core::mem::offset_of!(pse_control_status, c33_ext_state_info) - 24usize]; + ["Offset of field: pse_control_status::c33_avail_pw_limit"] + [::core::mem::offset_of!(pse_control_status, c33_avail_pw_limit) - 32usize]; + ["Offset of field: pse_control_status::c33_pw_limit_ranges"] + [::core::mem::offset_of!(pse_control_status, c33_pw_limit_ranges) - 40usize]; + ["Offset of field: pse_control_status::c33_pw_limit_nb_ranges"] + [::core::mem::offset_of!(pse_control_status, c33_pw_limit_nb_ranges) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct pse_controller_dev { + pub ops: *const pse_controller_ops, + pub owner: *mut module, + pub list: list_head, + pub pse_control_head: list_head, + pub dev: *mut device, + pub of_pse_n_cells: ::core::ffi::c_int, + pub nr_lines: ::core::ffi::c_uint, + pub lock: mutex, + pub types: ethtool_pse_types, + pub pi: *mut pse_pi, + pub no_of_pse_pi: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pse_controller_dev"][::core::mem::size_of::() - 120usize]; + ["Alignment of pse_controller_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pse_controller_dev::ops"] + [::core::mem::offset_of!(pse_controller_dev, ops) - 0usize]; + ["Offset of field: pse_controller_dev::owner"] + [::core::mem::offset_of!(pse_controller_dev, owner) - 8usize]; + ["Offset of field: pse_controller_dev::list"] + [::core::mem::offset_of!(pse_controller_dev, list) - 16usize]; + ["Offset of field: pse_controller_dev::pse_control_head"] + [::core::mem::offset_of!(pse_controller_dev, pse_control_head) - 32usize]; + ["Offset of field: pse_controller_dev::dev"] + [::core::mem::offset_of!(pse_controller_dev, dev) - 48usize]; + ["Offset of field: pse_controller_dev::of_pse_n_cells"] + [::core::mem::offset_of!(pse_controller_dev, of_pse_n_cells) - 56usize]; + ["Offset of field: pse_controller_dev::nr_lines"] + [::core::mem::offset_of!(pse_controller_dev, nr_lines) - 60usize]; + ["Offset of field: pse_controller_dev::lock"] + [::core::mem::offset_of!(pse_controller_dev, lock) - 64usize]; + ["Offset of field: pse_controller_dev::types"] + [::core::mem::offset_of!(pse_controller_dev, types) - 96usize]; + ["Offset of field: pse_controller_dev::pi"] + [::core::mem::offset_of!(pse_controller_dev, pi) - 104usize]; + ["Offset of field: pse_controller_dev::no_of_pse_pi"] + [::core::mem::offset_of!(pse_controller_dev, no_of_pse_pi) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pse_controller_ops { + pub ethtool_get_status: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pse_controller_dev, + arg2: ::core::ffi::c_ulong, + arg3: *mut netlink_ext_ack, + arg4: *mut pse_control_status, + ) -> ::core::ffi::c_int, + >, + pub setup_pi_matrix: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut pse_controller_dev) -> ::core::ffi::c_int, + >, + pub pi_is_enabled: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pse_controller_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub pi_enable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pse_controller_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub pi_disable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pse_controller_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub pi_get_voltage: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pse_controller_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub pi_get_pw_limit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pse_controller_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub pi_set_pw_limit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut pse_controller_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pse_controller_ops"][::core::mem::size_of::() - 64usize]; + ["Alignment of pse_controller_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pse_controller_ops::ethtool_get_status"] + [::core::mem::offset_of!(pse_controller_ops, ethtool_get_status) - 0usize]; + ["Offset of field: pse_controller_ops::setup_pi_matrix"] + [::core::mem::offset_of!(pse_controller_ops, setup_pi_matrix) - 8usize]; + ["Offset of field: pse_controller_ops::pi_is_enabled"] + [::core::mem::offset_of!(pse_controller_ops, pi_is_enabled) - 16usize]; + ["Offset of field: pse_controller_ops::pi_enable"] + [::core::mem::offset_of!(pse_controller_ops, pi_enable) - 24usize]; + ["Offset of field: pse_controller_ops::pi_disable"] + [::core::mem::offset_of!(pse_controller_ops, pi_disable) - 32usize]; + ["Offset of field: pse_controller_ops::pi_get_voltage"] + [::core::mem::offset_of!(pse_controller_ops, pi_get_voltage) - 40usize]; + ["Offset of field: pse_controller_ops::pi_get_pw_limit"] + [::core::mem::offset_of!(pse_controller_ops, pi_get_pw_limit) - 48usize]; + ["Offset of field: pse_controller_ops::pi_set_pw_limit"] + [::core::mem::offset_of!(pse_controller_ops, pi_set_pw_limit) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pse_pi_pairset { + pub pinout: pse_pi_pairset_pinout, + pub np: *mut device_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pse_pi_pairset"][::core::mem::size_of::() - 16usize]; + ["Alignment of pse_pi_pairset"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pse_pi_pairset::pinout"] + [::core::mem::offset_of!(pse_pi_pairset, pinout) - 0usize]; + ["Offset of field: pse_pi_pairset::np"][::core::mem::offset_of!(pse_pi_pairset, np) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pse_pi { + pub pairset: [pse_pi_pairset; 2usize], + pub np: *mut device_node, + pub rdev: *mut regulator_dev, + pub admin_state_enabled: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of pse_pi"][::core::mem::size_of::() - 56usize]; + ["Alignment of pse_pi"][::core::mem::align_of::() - 8usize]; + ["Offset of field: pse_pi::pairset"][::core::mem::offset_of!(pse_pi, pairset) - 0usize]; + ["Offset of field: pse_pi::np"][::core::mem::offset_of!(pse_pi, np) - 32usize]; + ["Offset of field: pse_pi::rdev"][::core::mem::offset_of!(pse_pi, rdev) - 40usize]; + ["Offset of field: pse_pi::admin_state_enabled"] + [::core::mem::offset_of!(pse_pi, admin_state_enabled) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct psi_group { + pub parent: *mut psi_group, + pub enabled: bool_, + pub avgs_lock: mutex, + pub pcpu: *mut psi_group_cpu, + pub avg_total: [u64_; 7usize], + pub avg_last_update: u64_, + pub avg_next_update: u64_, + pub avgs_work: delayed_work, + pub avg_triggers: list_head, + pub avg_nr_triggers: [u32_; 7usize], + pub total: [u64_; 14usize], + pub avg: [::core::ffi::c_ulong; 21usize], + pub rtpoll_task: *mut task_struct, + pub rtpoll_timer: timer_list, + pub rtpoll_wait: wait_queue_head_t, + pub rtpoll_wakeup: atomic_t, + pub rtpoll_scheduled: atomic_t, + pub rtpoll_trigger_lock: mutex, + pub rtpoll_triggers: list_head, + pub rtpoll_nr_triggers: [u32_; 7usize], + pub rtpoll_states: u32_, + pub rtpoll_min_period: u64_, + pub rtpoll_total: [u64_; 7usize], + pub rtpoll_next_update: u64_, + pub rtpoll_until: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of psi_group"][::core::mem::size_of::() - 784usize]; + ["Alignment of psi_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: psi_group::parent"][::core::mem::offset_of!(psi_group, parent) - 0usize]; + ["Offset of field: psi_group::enabled"][::core::mem::offset_of!(psi_group, enabled) - 8usize]; + ["Offset of field: psi_group::avgs_lock"] + [::core::mem::offset_of!(psi_group, avgs_lock) - 16usize]; + ["Offset of field: psi_group::pcpu"][::core::mem::offset_of!(psi_group, pcpu) - 48usize]; + ["Offset of field: psi_group::avg_total"] + [::core::mem::offset_of!(psi_group, avg_total) - 56usize]; + ["Offset of field: psi_group::avg_last_update"] + [::core::mem::offset_of!(psi_group, avg_last_update) - 112usize]; + ["Offset of field: psi_group::avg_next_update"] + [::core::mem::offset_of!(psi_group, avg_next_update) - 120usize]; + ["Offset of field: psi_group::avgs_work"] + [::core::mem::offset_of!(psi_group, avgs_work) - 128usize]; + ["Offset of field: psi_group::avg_triggers"] + [::core::mem::offset_of!(psi_group, avg_triggers) - 216usize]; + ["Offset of field: psi_group::avg_nr_triggers"] + [::core::mem::offset_of!(psi_group, avg_nr_triggers) - 232usize]; + ["Offset of field: psi_group::total"][::core::mem::offset_of!(psi_group, total) - 264usize]; + ["Offset of field: psi_group::avg"][::core::mem::offset_of!(psi_group, avg) - 376usize]; + ["Offset of field: psi_group::rtpoll_task"] + [::core::mem::offset_of!(psi_group, rtpoll_task) - 544usize]; + ["Offset of field: psi_group::rtpoll_timer"] + [::core::mem::offset_of!(psi_group, rtpoll_timer) - 552usize]; + ["Offset of field: psi_group::rtpoll_wait"] + [::core::mem::offset_of!(psi_group, rtpoll_wait) - 592usize]; + ["Offset of field: psi_group::rtpoll_wakeup"] + [::core::mem::offset_of!(psi_group, rtpoll_wakeup) - 616usize]; + ["Offset of field: psi_group::rtpoll_scheduled"] + [::core::mem::offset_of!(psi_group, rtpoll_scheduled) - 620usize]; + ["Offset of field: psi_group::rtpoll_trigger_lock"] + [::core::mem::offset_of!(psi_group, rtpoll_trigger_lock) - 624usize]; + ["Offset of field: psi_group::rtpoll_triggers"] + [::core::mem::offset_of!(psi_group, rtpoll_triggers) - 656usize]; + ["Offset of field: psi_group::rtpoll_nr_triggers"] + [::core::mem::offset_of!(psi_group, rtpoll_nr_triggers) - 672usize]; + ["Offset of field: psi_group::rtpoll_states"] + [::core::mem::offset_of!(psi_group, rtpoll_states) - 700usize]; + ["Offset of field: psi_group::rtpoll_min_period"] + [::core::mem::offset_of!(psi_group, rtpoll_min_period) - 704usize]; + ["Offset of field: psi_group::rtpoll_total"] + [::core::mem::offset_of!(psi_group, rtpoll_total) - 712usize]; + ["Offset of field: psi_group::rtpoll_next_update"] + [::core::mem::offset_of!(psi_group, rtpoll_next_update) - 768usize]; + ["Offset of field: psi_group::rtpoll_until"] + [::core::mem::offset_of!(psi_group, rtpoll_until) - 776usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct psi_group_cpu { + pub tasks: [::core::ffi::c_uint; 4usize], + pub state_mask: u32_, + pub times: [u32_; 8usize], + pub state_start: u64_, + pub times_prev: [u32_; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of psi_group_cpu"][::core::mem::size_of::() - 128usize]; + ["Alignment of psi_group_cpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: psi_group_cpu::tasks"] + [::core::mem::offset_of!(psi_group_cpu, tasks) - 0usize]; + ["Offset of field: psi_group_cpu::state_mask"] + [::core::mem::offset_of!(psi_group_cpu, state_mask) - 16usize]; + ["Offset of field: psi_group_cpu::times"] + [::core::mem::offset_of!(psi_group_cpu, times) - 20usize]; + ["Offset of field: psi_group_cpu::state_start"] + [::core::mem::offset_of!(psi_group_cpu, state_start) - 56usize]; + ["Offset of field: psi_group_cpu::times_prev"] + [::core::mem::offset_of!(psi_group_cpu, times_prev) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qc_dqblk { + pub d_fieldmask: ::core::ffi::c_int, + pub d_spc_hardlimit: u64_, + pub d_spc_softlimit: u64_, + pub d_ino_hardlimit: u64_, + pub d_ino_softlimit: u64_, + pub d_space: u64_, + pub d_ino_count: u64_, + pub d_ino_timer: s64, + pub d_spc_timer: s64, + pub d_ino_warns: ::core::ffi::c_int, + pub d_spc_warns: ::core::ffi::c_int, + pub d_rt_spc_hardlimit: u64_, + pub d_rt_spc_softlimit: u64_, + pub d_rt_space: u64_, + pub d_rt_spc_timer: s64, + pub d_rt_spc_warns: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qc_dqblk"][::core::mem::size_of::() - 120usize]; + ["Alignment of qc_dqblk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qc_dqblk::d_fieldmask"] + [::core::mem::offset_of!(qc_dqblk, d_fieldmask) - 0usize]; + ["Offset of field: qc_dqblk::d_spc_hardlimit"] + [::core::mem::offset_of!(qc_dqblk, d_spc_hardlimit) - 8usize]; + ["Offset of field: qc_dqblk::d_spc_softlimit"] + [::core::mem::offset_of!(qc_dqblk, d_spc_softlimit) - 16usize]; + ["Offset of field: qc_dqblk::d_ino_hardlimit"] + [::core::mem::offset_of!(qc_dqblk, d_ino_hardlimit) - 24usize]; + ["Offset of field: qc_dqblk::d_ino_softlimit"] + [::core::mem::offset_of!(qc_dqblk, d_ino_softlimit) - 32usize]; + ["Offset of field: qc_dqblk::d_space"][::core::mem::offset_of!(qc_dqblk, d_space) - 40usize]; + ["Offset of field: qc_dqblk::d_ino_count"] + [::core::mem::offset_of!(qc_dqblk, d_ino_count) - 48usize]; + ["Offset of field: qc_dqblk::d_ino_timer"] + [::core::mem::offset_of!(qc_dqblk, d_ino_timer) - 56usize]; + ["Offset of field: qc_dqblk::d_spc_timer"] + [::core::mem::offset_of!(qc_dqblk, d_spc_timer) - 64usize]; + ["Offset of field: qc_dqblk::d_ino_warns"] + [::core::mem::offset_of!(qc_dqblk, d_ino_warns) - 72usize]; + ["Offset of field: qc_dqblk::d_spc_warns"] + [::core::mem::offset_of!(qc_dqblk, d_spc_warns) - 76usize]; + ["Offset of field: qc_dqblk::d_rt_spc_hardlimit"] + [::core::mem::offset_of!(qc_dqblk, d_rt_spc_hardlimit) - 80usize]; + ["Offset of field: qc_dqblk::d_rt_spc_softlimit"] + [::core::mem::offset_of!(qc_dqblk, d_rt_spc_softlimit) - 88usize]; + ["Offset of field: qc_dqblk::d_rt_space"] + [::core::mem::offset_of!(qc_dqblk, d_rt_space) - 96usize]; + ["Offset of field: qc_dqblk::d_rt_spc_timer"] + [::core::mem::offset_of!(qc_dqblk, d_rt_spc_timer) - 104usize]; + ["Offset of field: qc_dqblk::d_rt_spc_warns"] + [::core::mem::offset_of!(qc_dqblk, d_rt_spc_warns) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qc_info { + pub i_fieldmask: ::core::ffi::c_int, + pub i_flags: ::core::ffi::c_uint, + pub i_spc_timelimit: ::core::ffi::c_uint, + pub i_ino_timelimit: ::core::ffi::c_uint, + pub i_rt_spc_timelimit: ::core::ffi::c_uint, + pub i_spc_warnlimit: ::core::ffi::c_uint, + pub i_ino_warnlimit: ::core::ffi::c_uint, + pub i_rt_spc_warnlimit: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qc_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of qc_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: qc_info::i_fieldmask"] + [::core::mem::offset_of!(qc_info, i_fieldmask) - 0usize]; + ["Offset of field: qc_info::i_flags"][::core::mem::offset_of!(qc_info, i_flags) - 4usize]; + ["Offset of field: qc_info::i_spc_timelimit"] + [::core::mem::offset_of!(qc_info, i_spc_timelimit) - 8usize]; + ["Offset of field: qc_info::i_ino_timelimit"] + [::core::mem::offset_of!(qc_info, i_ino_timelimit) - 12usize]; + ["Offset of field: qc_info::i_rt_spc_timelimit"] + [::core::mem::offset_of!(qc_info, i_rt_spc_timelimit) - 16usize]; + ["Offset of field: qc_info::i_spc_warnlimit"] + [::core::mem::offset_of!(qc_info, i_spc_warnlimit) - 20usize]; + ["Offset of field: qc_info::i_ino_warnlimit"] + [::core::mem::offset_of!(qc_info, i_ino_warnlimit) - 24usize]; + ["Offset of field: qc_info::i_rt_spc_warnlimit"] + [::core::mem::offset_of!(qc_info, i_rt_spc_warnlimit) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qc_type_state { + pub flags: ::core::ffi::c_uint, + pub spc_timelimit: ::core::ffi::c_uint, + pub ino_timelimit: ::core::ffi::c_uint, + pub rt_spc_timelimit: ::core::ffi::c_uint, + pub spc_warnlimit: ::core::ffi::c_uint, + pub ino_warnlimit: ::core::ffi::c_uint, + pub rt_spc_warnlimit: ::core::ffi::c_uint, + pub ino: ::core::ffi::c_ulonglong, + pub blocks: blkcnt_t, + pub nextents: blkcnt_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qc_type_state"][::core::mem::size_of::() - 56usize]; + ["Alignment of qc_type_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qc_type_state::flags"] + [::core::mem::offset_of!(qc_type_state, flags) - 0usize]; + ["Offset of field: qc_type_state::spc_timelimit"] + [::core::mem::offset_of!(qc_type_state, spc_timelimit) - 4usize]; + ["Offset of field: qc_type_state::ino_timelimit"] + [::core::mem::offset_of!(qc_type_state, ino_timelimit) - 8usize]; + ["Offset of field: qc_type_state::rt_spc_timelimit"] + [::core::mem::offset_of!(qc_type_state, rt_spc_timelimit) - 12usize]; + ["Offset of field: qc_type_state::spc_warnlimit"] + [::core::mem::offset_of!(qc_type_state, spc_warnlimit) - 16usize]; + ["Offset of field: qc_type_state::ino_warnlimit"] + [::core::mem::offset_of!(qc_type_state, ino_warnlimit) - 20usize]; + ["Offset of field: qc_type_state::rt_spc_warnlimit"] + [::core::mem::offset_of!(qc_type_state, rt_spc_warnlimit) - 24usize]; + ["Offset of field: qc_type_state::ino"][::core::mem::offset_of!(qc_type_state, ino) - 32usize]; + ["Offset of field: qc_type_state::blocks"] + [::core::mem::offset_of!(qc_type_state, blocks) - 40usize]; + ["Offset of field: qc_type_state::nextents"] + [::core::mem::offset_of!(qc_type_state, nextents) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct qc_state { + pub s_incoredqs: ::core::ffi::c_uint, + pub s_state: [qc_type_state; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qc_state"][::core::mem::size_of::() - 176usize]; + ["Alignment of qc_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qc_state::s_incoredqs"] + [::core::mem::offset_of!(qc_state, s_incoredqs) - 0usize]; + ["Offset of field: qc_state::s_state"][::core::mem::offset_of!(qc_state, s_state) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tc_sizespec { + pub cell_log: ::core::ffi::c_uchar, + pub size_log: ::core::ffi::c_uchar, + pub cell_align: ::core::ffi::c_short, + pub overhead: ::core::ffi::c_int, + pub linklayer: ::core::ffi::c_uint, + pub mpu: ::core::ffi::c_uint, + pub mtu: ::core::ffi::c_uint, + pub tsize: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tc_sizespec"][::core::mem::size_of::() - 24usize]; + ["Alignment of tc_sizespec"][::core::mem::align_of::() - 4usize]; + ["Offset of field: tc_sizespec::cell_log"] + [::core::mem::offset_of!(tc_sizespec, cell_log) - 0usize]; + ["Offset of field: tc_sizespec::size_log"] + [::core::mem::offset_of!(tc_sizespec, size_log) - 1usize]; + ["Offset of field: tc_sizespec::cell_align"] + [::core::mem::offset_of!(tc_sizespec, cell_align) - 2usize]; + ["Offset of field: tc_sizespec::overhead"] + [::core::mem::offset_of!(tc_sizespec, overhead) - 4usize]; + ["Offset of field: tc_sizespec::linklayer"] + [::core::mem::offset_of!(tc_sizespec, linklayer) - 8usize]; + ["Offset of field: tc_sizespec::mpu"][::core::mem::offset_of!(tc_sizespec, mpu) - 12usize]; + ["Offset of field: tc_sizespec::mtu"][::core::mem::offset_of!(tc_sizespec, mtu) - 16usize]; + ["Offset of field: tc_sizespec::tsize"][::core::mem::offset_of!(tc_sizespec, tsize) - 20usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct qdisc_size_table { + pub rcu: callback_head, + pub list: list_head, + pub szopts: tc_sizespec, + pub refcnt: ::core::ffi::c_int, + pub data: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of qdisc_size_table"][::core::mem::size_of::() - 64usize]; + ["Alignment of qdisc_size_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: qdisc_size_table::rcu"] + [::core::mem::offset_of!(qdisc_size_table, rcu) - 0usize]; + ["Offset of field: qdisc_size_table::list"] + [::core::mem::offset_of!(qdisc_size_table, list) - 16usize]; + ["Offset of field: qdisc_size_table::szopts"] + [::core::mem::offset_of!(qdisc_size_table, szopts) - 32usize]; + ["Offset of field: qdisc_size_table::refcnt"] + [::core::mem::offset_of!(qdisc_size_table, refcnt) - 56usize]; + ["Offset of field: qdisc_size_table::data"] + [::core::mem::offset_of!(qdisc_size_table, data) - 60usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct queue_limits { + pub features: blk_features_t, + pub flags: blk_flags_t, + pub seg_boundary_mask: ::core::ffi::c_ulong, + pub virt_boundary_mask: ::core::ffi::c_ulong, + pub max_hw_sectors: ::core::ffi::c_uint, + pub max_dev_sectors: ::core::ffi::c_uint, + pub chunk_sectors: ::core::ffi::c_uint, + pub max_sectors: ::core::ffi::c_uint, + pub max_user_sectors: ::core::ffi::c_uint, + pub max_segment_size: ::core::ffi::c_uint, + pub physical_block_size: ::core::ffi::c_uint, + pub logical_block_size: ::core::ffi::c_uint, + pub alignment_offset: ::core::ffi::c_uint, + pub io_min: ::core::ffi::c_uint, + pub io_opt: ::core::ffi::c_uint, + pub max_discard_sectors: ::core::ffi::c_uint, + pub max_hw_discard_sectors: ::core::ffi::c_uint, + pub max_user_discard_sectors: ::core::ffi::c_uint, + pub max_secure_erase_sectors: ::core::ffi::c_uint, + pub max_write_zeroes_sectors: ::core::ffi::c_uint, + pub max_zone_append_sectors: ::core::ffi::c_uint, + pub discard_granularity: ::core::ffi::c_uint, + pub discard_alignment: ::core::ffi::c_uint, + pub zone_write_granularity: ::core::ffi::c_uint, + pub atomic_write_hw_max: ::core::ffi::c_uint, + pub atomic_write_max_sectors: ::core::ffi::c_uint, + pub atomic_write_hw_boundary: ::core::ffi::c_uint, + pub atomic_write_boundary_sectors: ::core::ffi::c_uint, + pub atomic_write_hw_unit_min: ::core::ffi::c_uint, + pub atomic_write_unit_min: ::core::ffi::c_uint, + pub atomic_write_hw_unit_max: ::core::ffi::c_uint, + pub atomic_write_unit_max: ::core::ffi::c_uint, + pub max_segments: ::core::ffi::c_ushort, + pub max_integrity_segments: ::core::ffi::c_ushort, + pub max_discard_segments: ::core::ffi::c_ushort, + pub max_open_zones: ::core::ffi::c_uint, + pub max_active_zones: ::core::ffi::c_uint, + pub dma_alignment: ::core::ffi::c_uint, + pub dma_pad_mask: ::core::ffi::c_uint, + pub integrity: blk_integrity, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of queue_limits"][::core::mem::size_of::() - 168usize]; + ["Alignment of queue_limits"][::core::mem::align_of::() - 8usize]; + ["Offset of field: queue_limits::features"] + [::core::mem::offset_of!(queue_limits, features) - 0usize]; + ["Offset of field: queue_limits::flags"][::core::mem::offset_of!(queue_limits, flags) - 4usize]; + ["Offset of field: queue_limits::seg_boundary_mask"] + [::core::mem::offset_of!(queue_limits, seg_boundary_mask) - 8usize]; + ["Offset of field: queue_limits::virt_boundary_mask"] + [::core::mem::offset_of!(queue_limits, virt_boundary_mask) - 16usize]; + ["Offset of field: queue_limits::max_hw_sectors"] + [::core::mem::offset_of!(queue_limits, max_hw_sectors) - 24usize]; + ["Offset of field: queue_limits::max_dev_sectors"] + [::core::mem::offset_of!(queue_limits, max_dev_sectors) - 28usize]; + ["Offset of field: queue_limits::chunk_sectors"] + [::core::mem::offset_of!(queue_limits, chunk_sectors) - 32usize]; + ["Offset of field: queue_limits::max_sectors"] + [::core::mem::offset_of!(queue_limits, max_sectors) - 36usize]; + ["Offset of field: queue_limits::max_user_sectors"] + [::core::mem::offset_of!(queue_limits, max_user_sectors) - 40usize]; + ["Offset of field: queue_limits::max_segment_size"] + [::core::mem::offset_of!(queue_limits, max_segment_size) - 44usize]; + ["Offset of field: queue_limits::physical_block_size"] + [::core::mem::offset_of!(queue_limits, physical_block_size) - 48usize]; + ["Offset of field: queue_limits::logical_block_size"] + [::core::mem::offset_of!(queue_limits, logical_block_size) - 52usize]; + ["Offset of field: queue_limits::alignment_offset"] + [::core::mem::offset_of!(queue_limits, alignment_offset) - 56usize]; + ["Offset of field: queue_limits::io_min"] + [::core::mem::offset_of!(queue_limits, io_min) - 60usize]; + ["Offset of field: queue_limits::io_opt"] + [::core::mem::offset_of!(queue_limits, io_opt) - 64usize]; + ["Offset of field: queue_limits::max_discard_sectors"] + [::core::mem::offset_of!(queue_limits, max_discard_sectors) - 68usize]; + ["Offset of field: queue_limits::max_hw_discard_sectors"] + [::core::mem::offset_of!(queue_limits, max_hw_discard_sectors) - 72usize]; + ["Offset of field: queue_limits::max_user_discard_sectors"] + [::core::mem::offset_of!(queue_limits, max_user_discard_sectors) - 76usize]; + ["Offset of field: queue_limits::max_secure_erase_sectors"] + [::core::mem::offset_of!(queue_limits, max_secure_erase_sectors) - 80usize]; + ["Offset of field: queue_limits::max_write_zeroes_sectors"] + [::core::mem::offset_of!(queue_limits, max_write_zeroes_sectors) - 84usize]; + ["Offset of field: queue_limits::max_zone_append_sectors"] + [::core::mem::offset_of!(queue_limits, max_zone_append_sectors) - 88usize]; + ["Offset of field: queue_limits::discard_granularity"] + [::core::mem::offset_of!(queue_limits, discard_granularity) - 92usize]; + ["Offset of field: queue_limits::discard_alignment"] + [::core::mem::offset_of!(queue_limits, discard_alignment) - 96usize]; + ["Offset of field: queue_limits::zone_write_granularity"] + [::core::mem::offset_of!(queue_limits, zone_write_granularity) - 100usize]; + ["Offset of field: queue_limits::atomic_write_hw_max"] + [::core::mem::offset_of!(queue_limits, atomic_write_hw_max) - 104usize]; + ["Offset of field: queue_limits::atomic_write_max_sectors"] + [::core::mem::offset_of!(queue_limits, atomic_write_max_sectors) - 108usize]; + ["Offset of field: queue_limits::atomic_write_hw_boundary"] + [::core::mem::offset_of!(queue_limits, atomic_write_hw_boundary) - 112usize]; + ["Offset of field: queue_limits::atomic_write_boundary_sectors"] + [::core::mem::offset_of!(queue_limits, atomic_write_boundary_sectors) - 116usize]; + ["Offset of field: queue_limits::atomic_write_hw_unit_min"] + [::core::mem::offset_of!(queue_limits, atomic_write_hw_unit_min) - 120usize]; + ["Offset of field: queue_limits::atomic_write_unit_min"] + [::core::mem::offset_of!(queue_limits, atomic_write_unit_min) - 124usize]; + ["Offset of field: queue_limits::atomic_write_hw_unit_max"] + [::core::mem::offset_of!(queue_limits, atomic_write_hw_unit_max) - 128usize]; + ["Offset of field: queue_limits::atomic_write_unit_max"] + [::core::mem::offset_of!(queue_limits, atomic_write_unit_max) - 132usize]; + ["Offset of field: queue_limits::max_segments"] + [::core::mem::offset_of!(queue_limits, max_segments) - 136usize]; + ["Offset of field: queue_limits::max_integrity_segments"] + [::core::mem::offset_of!(queue_limits, max_integrity_segments) - 138usize]; + ["Offset of field: queue_limits::max_discard_segments"] + [::core::mem::offset_of!(queue_limits, max_discard_segments) - 140usize]; + ["Offset of field: queue_limits::max_open_zones"] + [::core::mem::offset_of!(queue_limits, max_open_zones) - 144usize]; + ["Offset of field: queue_limits::max_active_zones"] + [::core::mem::offset_of!(queue_limits, max_active_zones) - 148usize]; + ["Offset of field: queue_limits::dma_alignment"] + [::core::mem::offset_of!(queue_limits, dma_alignment) - 152usize]; + ["Offset of field: queue_limits::dma_pad_mask"] + [::core::mem::offset_of!(queue_limits, dma_pad_mask) - 156usize]; + ["Offset of field: queue_limits::integrity"] + [::core::mem::offset_of!(queue_limits, integrity) - 160usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quota_format_ops { + pub check_quota_file: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub read_file_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub write_file_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub free_file_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub read_dqblk: + ::core::option::Option ::core::ffi::c_int>, + pub commit_dqblk: + ::core::option::Option ::core::ffi::c_int>, + pub release_dqblk: + ::core::option::Option ::core::ffi::c_int>, + pub get_next_id: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut super_block, arg2: *mut kqid) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of quota_format_ops"][::core::mem::size_of::() - 64usize]; + ["Alignment of quota_format_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: quota_format_ops::check_quota_file"] + [::core::mem::offset_of!(quota_format_ops, check_quota_file) - 0usize]; + ["Offset of field: quota_format_ops::read_file_info"] + [::core::mem::offset_of!(quota_format_ops, read_file_info) - 8usize]; + ["Offset of field: quota_format_ops::write_file_info"] + [::core::mem::offset_of!(quota_format_ops, write_file_info) - 16usize]; + ["Offset of field: quota_format_ops::free_file_info"] + [::core::mem::offset_of!(quota_format_ops, free_file_info) - 24usize]; + ["Offset of field: quota_format_ops::read_dqblk"] + [::core::mem::offset_of!(quota_format_ops, read_dqblk) - 32usize]; + ["Offset of field: quota_format_ops::commit_dqblk"] + [::core::mem::offset_of!(quota_format_ops, commit_dqblk) - 40usize]; + ["Offset of field: quota_format_ops::release_dqblk"] + [::core::mem::offset_of!(quota_format_ops, release_dqblk) - 48usize]; + ["Offset of field: quota_format_ops::get_next_id"] + [::core::mem::offset_of!(quota_format_ops, get_next_id) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quota_format_type { + pub qf_fmt_id: ::core::ffi::c_int, + pub qf_ops: *const quota_format_ops, + pub qf_owner: *mut module, + pub qf_next: *mut quota_format_type, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of quota_format_type"][::core::mem::size_of::() - 32usize]; + ["Alignment of quota_format_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: quota_format_type::qf_fmt_id"] + [::core::mem::offset_of!(quota_format_type, qf_fmt_id) - 0usize]; + ["Offset of field: quota_format_type::qf_ops"] + [::core::mem::offset_of!(quota_format_type, qf_ops) - 8usize]; + ["Offset of field: quota_format_type::qf_owner"] + [::core::mem::offset_of!(quota_format_type, qf_owner) - 16usize]; + ["Offset of field: quota_format_type::qf_next"] + [::core::mem::offset_of!(quota_format_type, qf_next) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct quota_info { + pub flags: ::core::ffi::c_uint, + pub dqio_sem: rw_semaphore, + pub files: [*mut inode; 3usize], + pub info: [mem_dqinfo; 3usize], + pub ops: [*const quota_format_ops; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of quota_info"][::core::mem::size_of::() - 312usize]; + ["Alignment of quota_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: quota_info::flags"][::core::mem::offset_of!(quota_info, flags) - 0usize]; + ["Offset of field: quota_info::dqio_sem"] + [::core::mem::offset_of!(quota_info, dqio_sem) - 8usize]; + ["Offset of field: quota_info::files"][::core::mem::offset_of!(quota_info, files) - 48usize]; + ["Offset of field: quota_info::info"][::core::mem::offset_of!(quota_info, info) - 72usize]; + ["Offset of field: quota_info::ops"][::core::mem::offset_of!(quota_info, ops) - 288usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quotactl_ops { + pub quota_on: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: *const path, + ) -> ::core::ffi::c_int, + >, + pub quota_off: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub quota_enable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub quota_disable: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub quota_sync: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub set_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + arg3: *mut qc_info, + ) -> ::core::ffi::c_int, + >, + pub get_dqblk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: kqid, + arg3: *mut qc_dqblk, + ) -> ::core::ffi::c_int, + >, + pub get_nextdqblk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut kqid, + arg3: *mut qc_dqblk, + ) -> ::core::ffi::c_int, + >, + pub set_dqblk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: kqid, + arg3: *mut qc_dqblk, + ) -> ::core::ffi::c_int, + >, + pub get_state: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut super_block, arg2: *mut qc_state) -> ::core::ffi::c_int, + >, + pub rm_xquota: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of quotactl_ops"][::core::mem::size_of::() - 88usize]; + ["Alignment of quotactl_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: quotactl_ops::quota_on"] + [::core::mem::offset_of!(quotactl_ops, quota_on) - 0usize]; + ["Offset of field: quotactl_ops::quota_off"] + [::core::mem::offset_of!(quotactl_ops, quota_off) - 8usize]; + ["Offset of field: quotactl_ops::quota_enable"] + [::core::mem::offset_of!(quotactl_ops, quota_enable) - 16usize]; + ["Offset of field: quotactl_ops::quota_disable"] + [::core::mem::offset_of!(quotactl_ops, quota_disable) - 24usize]; + ["Offset of field: quotactl_ops::quota_sync"] + [::core::mem::offset_of!(quotactl_ops, quota_sync) - 32usize]; + ["Offset of field: quotactl_ops::set_info"] + [::core::mem::offset_of!(quotactl_ops, set_info) - 40usize]; + ["Offset of field: quotactl_ops::get_dqblk"] + [::core::mem::offset_of!(quotactl_ops, get_dqblk) - 48usize]; + ["Offset of field: quotactl_ops::get_nextdqblk"] + [::core::mem::offset_of!(quotactl_ops, get_nextdqblk) - 56usize]; + ["Offset of field: quotactl_ops::set_dqblk"] + [::core::mem::offset_of!(quotactl_ops, set_dqblk) - 64usize]; + ["Offset of field: quotactl_ops::get_state"] + [::core::mem::offset_of!(quotactl_ops, get_state) - 72usize]; + ["Offset of field: quotactl_ops::rm_xquota"] + [::core::mem::offset_of!(quotactl_ops, rm_xquota) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rate_sample { + pub prior_mstamp: u64_, + pub prior_delivered: u32_, + pub prior_delivered_ce: u32_, + pub delivered: s32, + pub delivered_ce: s32, + pub interval_us: ::core::ffi::c_long, + pub snd_interval_us: u32_, + pub rcv_interval_us: u32_, + pub rtt_us: ::core::ffi::c_long, + pub losses: ::core::ffi::c_int, + pub acked_sacked: u32_, + pub prior_in_flight: u32_, + pub last_end_seq: u32_, + pub is_app_limited: bool_, + pub is_retrans: bool_, + pub is_ack_delayed: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rate_sample"][::core::mem::size_of::() - 72usize]; + ["Alignment of rate_sample"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rate_sample::prior_mstamp"] + [::core::mem::offset_of!(rate_sample, prior_mstamp) - 0usize]; + ["Offset of field: rate_sample::prior_delivered"] + [::core::mem::offset_of!(rate_sample, prior_delivered) - 8usize]; + ["Offset of field: rate_sample::prior_delivered_ce"] + [::core::mem::offset_of!(rate_sample, prior_delivered_ce) - 12usize]; + ["Offset of field: rate_sample::delivered"] + [::core::mem::offset_of!(rate_sample, delivered) - 16usize]; + ["Offset of field: rate_sample::delivered_ce"] + [::core::mem::offset_of!(rate_sample, delivered_ce) - 20usize]; + ["Offset of field: rate_sample::interval_us"] + [::core::mem::offset_of!(rate_sample, interval_us) - 24usize]; + ["Offset of field: rate_sample::snd_interval_us"] + [::core::mem::offset_of!(rate_sample, snd_interval_us) - 32usize]; + ["Offset of field: rate_sample::rcv_interval_us"] + [::core::mem::offset_of!(rate_sample, rcv_interval_us) - 36usize]; + ["Offset of field: rate_sample::rtt_us"] + [::core::mem::offset_of!(rate_sample, rtt_us) - 40usize]; + ["Offset of field: rate_sample::losses"] + [::core::mem::offset_of!(rate_sample, losses) - 48usize]; + ["Offset of field: rate_sample::acked_sacked"] + [::core::mem::offset_of!(rate_sample, acked_sacked) - 52usize]; + ["Offset of field: rate_sample::prior_in_flight"] + [::core::mem::offset_of!(rate_sample, prior_in_flight) - 56usize]; + ["Offset of field: rate_sample::last_end_seq"] + [::core::mem::offset_of!(rate_sample, last_end_seq) - 60usize]; + ["Offset of field: rate_sample::is_app_limited"] + [::core::mem::offset_of!(rate_sample, is_app_limited) - 64usize]; + ["Offset of field: rate_sample::is_retrans"] + [::core::mem::offset_of!(rate_sample, is_retrans) - 65usize]; + ["Offset of field: rate_sample::is_ack_delayed"] + [::core::mem::offset_of!(rate_sample, is_ack_delayed) - 66usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct raw_hashinfo { + pub lock: spinlock_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub ht: [hlist_head; 256usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of raw_hashinfo"][::core::mem::size_of::() - 2112usize]; + ["Alignment of raw_hashinfo"][::core::mem::align_of::() - 8usize]; + ["Offset of field: raw_hashinfo::lock"][::core::mem::offset_of!(raw_hashinfo, lock) - 0usize]; + ["Offset of field: raw_hashinfo::ht"][::core::mem::offset_of!(raw_hashinfo, ht) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rb_irq_work { + pub work: irq_work, + pub waiters: wait_queue_head_t, + pub full_waiters: wait_queue_head_t, + pub seq: atomic_t, + pub waiters_pending: bool_, + pub full_waiters_pending: bool_, + pub wakeup_full: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rb_irq_work"][::core::mem::size_of::() - 88usize]; + ["Alignment of rb_irq_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rb_irq_work::work"][::core::mem::offset_of!(rb_irq_work, work) - 0usize]; + ["Offset of field: rb_irq_work::waiters"] + [::core::mem::offset_of!(rb_irq_work, waiters) - 32usize]; + ["Offset of field: rb_irq_work::full_waiters"] + [::core::mem::offset_of!(rb_irq_work, full_waiters) - 56usize]; + ["Offset of field: rb_irq_work::seq"][::core::mem::offset_of!(rb_irq_work, seq) - 80usize]; + ["Offset of field: rb_irq_work::waiters_pending"] + [::core::mem::offset_of!(rb_irq_work, waiters_pending) - 84usize]; + ["Offset of field: rb_irq_work::full_waiters_pending"] + [::core::mem::offset_of!(rb_irq_work, full_waiters_pending) - 85usize]; + ["Offset of field: rb_irq_work::wakeup_full"] + [::core::mem::offset_of!(rb_irq_work, wakeup_full) - 86usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rb_time_struct { + pub time: local64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rb_time_struct"][::core::mem::size_of::() - 8usize]; + ["Alignment of rb_time_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rb_time_struct::time"] + [::core::mem::offset_of!(rb_time_struct, time) - 0usize]; +}; +pub type rb_time_t = rb_time_struct; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rchan { + pub version: u32_, + pub subbuf_size: usize, + pub n_subbufs: usize, + pub alloc_size: usize, + pub cb: *const rchan_callbacks, + pub kref: kref, + pub private_data: *mut ::core::ffi::c_void, + pub last_toobig: usize, + pub buf: *mut *mut rchan_buf, + pub is_global: ::core::ffi::c_int, + pub list: list_head, + pub parent: *mut dentry, + pub has_base_filename: ::core::ffi::c_int, + pub base_filename: [::core::ffi::c_char; 255usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rchan"][::core::mem::size_of::() - 368usize]; + ["Alignment of rchan"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rchan::version"][::core::mem::offset_of!(rchan, version) - 0usize]; + ["Offset of field: rchan::subbuf_size"][::core::mem::offset_of!(rchan, subbuf_size) - 8usize]; + ["Offset of field: rchan::n_subbufs"][::core::mem::offset_of!(rchan, n_subbufs) - 16usize]; + ["Offset of field: rchan::alloc_size"][::core::mem::offset_of!(rchan, alloc_size) - 24usize]; + ["Offset of field: rchan::cb"][::core::mem::offset_of!(rchan, cb) - 32usize]; + ["Offset of field: rchan::kref"][::core::mem::offset_of!(rchan, kref) - 40usize]; + ["Offset of field: rchan::private_data"] + [::core::mem::offset_of!(rchan, private_data) - 48usize]; + ["Offset of field: rchan::last_toobig"][::core::mem::offset_of!(rchan, last_toobig) - 56usize]; + ["Offset of field: rchan::buf"][::core::mem::offset_of!(rchan, buf) - 64usize]; + ["Offset of field: rchan::is_global"][::core::mem::offset_of!(rchan, is_global) - 72usize]; + ["Offset of field: rchan::list"][::core::mem::offset_of!(rchan, list) - 80usize]; + ["Offset of field: rchan::parent"][::core::mem::offset_of!(rchan, parent) - 96usize]; + ["Offset of field: rchan::has_base_filename"] + [::core::mem::offset_of!(rchan, has_base_filename) - 104usize]; + ["Offset of field: rchan::base_filename"] + [::core::mem::offset_of!(rchan, base_filename) - 108usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rchan_buf { + pub start: *mut ::core::ffi::c_void, + pub data: *mut ::core::ffi::c_void, + pub offset: usize, + pub subbufs_produced: usize, + pub subbufs_consumed: usize, + pub chan: *mut rchan, + pub read_wait: wait_queue_head_t, + pub wakeup_work: irq_work, + pub dentry: *mut dentry, + pub kref: kref, + pub page_array: *mut *mut page, + pub page_count: ::core::ffi::c_uint, + pub finalized: ::core::ffi::c_uint, + pub padding: *mut usize, + pub prev_padding: usize, + pub bytes_consumed: usize, + pub early_bytes: usize, + pub cpu: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rchan_buf"][::core::mem::size_of::() - 192usize]; + ["Alignment of rchan_buf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rchan_buf::start"][::core::mem::offset_of!(rchan_buf, start) - 0usize]; + ["Offset of field: rchan_buf::data"][::core::mem::offset_of!(rchan_buf, data) - 8usize]; + ["Offset of field: rchan_buf::offset"][::core::mem::offset_of!(rchan_buf, offset) - 16usize]; + ["Offset of field: rchan_buf::subbufs_produced"] + [::core::mem::offset_of!(rchan_buf, subbufs_produced) - 24usize]; + ["Offset of field: rchan_buf::subbufs_consumed"] + [::core::mem::offset_of!(rchan_buf, subbufs_consumed) - 32usize]; + ["Offset of field: rchan_buf::chan"][::core::mem::offset_of!(rchan_buf, chan) - 40usize]; + ["Offset of field: rchan_buf::read_wait"] + [::core::mem::offset_of!(rchan_buf, read_wait) - 48usize]; + ["Offset of field: rchan_buf::wakeup_work"] + [::core::mem::offset_of!(rchan_buf, wakeup_work) - 72usize]; + ["Offset of field: rchan_buf::dentry"][::core::mem::offset_of!(rchan_buf, dentry) - 104usize]; + ["Offset of field: rchan_buf::kref"][::core::mem::offset_of!(rchan_buf, kref) - 112usize]; + ["Offset of field: rchan_buf::page_array"] + [::core::mem::offset_of!(rchan_buf, page_array) - 120usize]; + ["Offset of field: rchan_buf::page_count"] + [::core::mem::offset_of!(rchan_buf, page_count) - 128usize]; + ["Offset of field: rchan_buf::finalized"] + [::core::mem::offset_of!(rchan_buf, finalized) - 132usize]; + ["Offset of field: rchan_buf::padding"][::core::mem::offset_of!(rchan_buf, padding) - 136usize]; + ["Offset of field: rchan_buf::prev_padding"] + [::core::mem::offset_of!(rchan_buf, prev_padding) - 144usize]; + ["Offset of field: rchan_buf::bytes_consumed"] + [::core::mem::offset_of!(rchan_buf, bytes_consumed) - 152usize]; + ["Offset of field: rchan_buf::early_bytes"] + [::core::mem::offset_of!(rchan_buf, early_bytes) - 160usize]; + ["Offset of field: rchan_buf::cpu"][::core::mem::offset_of!(rchan_buf, cpu) - 168usize]; +}; +impl rchan_buf { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rchan_callbacks { + pub subbuf_start: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rchan_buf, + arg2: *mut ::core::ffi::c_void, + arg3: *mut ::core::ffi::c_void, + arg4: usize, + ) -> ::core::ffi::c_int, + >, + pub create_buf_file: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_char, + arg2: *mut dentry, + arg3: umode_t, + arg4: *mut rchan_buf, + arg5: *mut ::core::ffi::c_int, + ) -> *mut dentry, + >, + pub remove_buf_file: + ::core::option::Option ::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rchan_callbacks"][::core::mem::size_of::() - 24usize]; + ["Alignment of rchan_callbacks"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rchan_callbacks::subbuf_start"] + [::core::mem::offset_of!(rchan_callbacks, subbuf_start) - 0usize]; + ["Offset of field: rchan_callbacks::create_buf_file"] + [::core::mem::offset_of!(rchan_callbacks, create_buf_file) - 8usize]; + ["Offset of field: rchan_callbacks::remove_buf_file"] + [::core::mem::offset_of!(rchan_callbacks, remove_buf_file) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rcu_segcblist { + pub head: *mut callback_head, + pub tails: [*mut *mut callback_head; 4usize], + pub gp_seq: [::core::ffi::c_ulong; 4usize], + pub len: atomic_long_t, + pub seglen: [::core::ffi::c_long; 4usize], + pub flags: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcu_segcblist"][::core::mem::size_of::() - 120usize]; + ["Alignment of rcu_segcblist"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rcu_segcblist::head"][::core::mem::offset_of!(rcu_segcblist, head) - 0usize]; + ["Offset of field: rcu_segcblist::tails"] + [::core::mem::offset_of!(rcu_segcblist, tails) - 8usize]; + ["Offset of field: rcu_segcblist::gp_seq"] + [::core::mem::offset_of!(rcu_segcblist, gp_seq) - 40usize]; + ["Offset of field: rcu_segcblist::len"][::core::mem::offset_of!(rcu_segcblist, len) - 72usize]; + ["Offset of field: rcu_segcblist::seglen"] + [::core::mem::offset_of!(rcu_segcblist, seglen) - 80usize]; + ["Offset of field: rcu_segcblist::flags"] + [::core::mem::offset_of!(rcu_segcblist, flags) - 112usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rcu_exp_work { + pub rew_s: ::core::ffi::c_ulong, + pub rew_work: kthread_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcu_exp_work"][::core::mem::size_of::() - 48usize]; + ["Alignment of rcu_exp_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rcu_exp_work::rew_s"][::core::mem::offset_of!(rcu_exp_work, rew_s) - 0usize]; + ["Offset of field: rcu_exp_work::rew_work"] + [::core::mem::offset_of!(rcu_exp_work, rew_work) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rcu_node { + pub lock: raw_spinlock_t, + pub gp_seq: ::core::ffi::c_ulong, + pub gp_seq_needed: ::core::ffi::c_ulong, + pub completedqs: ::core::ffi::c_ulong, + pub qsmask: ::core::ffi::c_ulong, + pub rcu_gp_init_mask: ::core::ffi::c_ulong, + pub qsmaskinit: ::core::ffi::c_ulong, + pub qsmaskinitnext: ::core::ffi::c_ulong, + pub expmask: ::core::ffi::c_ulong, + pub expmaskinit: ::core::ffi::c_ulong, + pub expmaskinitnext: ::core::ffi::c_ulong, + pub exp_kworker: *mut kthread_worker, + pub cbovldmask: ::core::ffi::c_ulong, + pub ffmask: ::core::ffi::c_ulong, + pub grpmask: ::core::ffi::c_ulong, + pub grplo: ::core::ffi::c_int, + pub grphi: ::core::ffi::c_int, + pub grpnum: u8_, + pub level: u8_, + pub wait_blkd_tasks: bool_, + pub parent: *mut rcu_node, + pub blkd_tasks: list_head, + pub gp_tasks: *mut list_head, + pub exp_tasks: *mut list_head, + pub boost_tasks: *mut list_head, + pub boost_mtx: rt_mutex, + pub boost_time: ::core::ffi::c_ulong, + pub kthread_mutex: mutex, + pub boost_kthread_task: *mut task_struct, + pub boost_kthread_status: ::core::ffi::c_uint, + pub n_boosts: ::core::ffi::c_ulong, + pub nocb_gp_wq: [swait_queue_head; 2usize], + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub fqslock: raw_spinlock_t, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, + pub __bindgen_padding_0: u32, + pub exp_lock: spinlock_t, + pub exp_seq_rq: ::core::ffi::c_ulong, + pub exp_wq: [wait_queue_head_t; 4usize], + pub rew: rcu_exp_work, + pub exp_need_flush: bool_, + pub exp_poll_lock: raw_spinlock_t, + pub exp_seq_poll_rq: ::core::ffi::c_ulong, + pub exp_poll_wq: work_struct, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcu_node"][::core::mem::size_of::() - 704usize]; + ["Alignment of rcu_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rcu_node::lock"][::core::mem::offset_of!(rcu_node, lock) - 0usize]; + ["Offset of field: rcu_node::gp_seq"][::core::mem::offset_of!(rcu_node, gp_seq) - 8usize]; + ["Offset of field: rcu_node::gp_seq_needed"] + [::core::mem::offset_of!(rcu_node, gp_seq_needed) - 16usize]; + ["Offset of field: rcu_node::completedqs"] + [::core::mem::offset_of!(rcu_node, completedqs) - 24usize]; + ["Offset of field: rcu_node::qsmask"][::core::mem::offset_of!(rcu_node, qsmask) - 32usize]; + ["Offset of field: rcu_node::rcu_gp_init_mask"] + [::core::mem::offset_of!(rcu_node, rcu_gp_init_mask) - 40usize]; + ["Offset of field: rcu_node::qsmaskinit"] + [::core::mem::offset_of!(rcu_node, qsmaskinit) - 48usize]; + ["Offset of field: rcu_node::qsmaskinitnext"] + [::core::mem::offset_of!(rcu_node, qsmaskinitnext) - 56usize]; + ["Offset of field: rcu_node::expmask"][::core::mem::offset_of!(rcu_node, expmask) - 64usize]; + ["Offset of field: rcu_node::expmaskinit"] + [::core::mem::offset_of!(rcu_node, expmaskinit) - 72usize]; + ["Offset of field: rcu_node::expmaskinitnext"] + [::core::mem::offset_of!(rcu_node, expmaskinitnext) - 80usize]; + ["Offset of field: rcu_node::exp_kworker"] + [::core::mem::offset_of!(rcu_node, exp_kworker) - 88usize]; + ["Offset of field: rcu_node::cbovldmask"] + [::core::mem::offset_of!(rcu_node, cbovldmask) - 96usize]; + ["Offset of field: rcu_node::ffmask"][::core::mem::offset_of!(rcu_node, ffmask) - 104usize]; + ["Offset of field: rcu_node::grpmask"][::core::mem::offset_of!(rcu_node, grpmask) - 112usize]; + ["Offset of field: rcu_node::grplo"][::core::mem::offset_of!(rcu_node, grplo) - 120usize]; + ["Offset of field: rcu_node::grphi"][::core::mem::offset_of!(rcu_node, grphi) - 124usize]; + ["Offset of field: rcu_node::grpnum"][::core::mem::offset_of!(rcu_node, grpnum) - 128usize]; + ["Offset of field: rcu_node::level"][::core::mem::offset_of!(rcu_node, level) - 129usize]; + ["Offset of field: rcu_node::wait_blkd_tasks"] + [::core::mem::offset_of!(rcu_node, wait_blkd_tasks) - 130usize]; + ["Offset of field: rcu_node::parent"][::core::mem::offset_of!(rcu_node, parent) - 136usize]; + ["Offset of field: rcu_node::blkd_tasks"] + [::core::mem::offset_of!(rcu_node, blkd_tasks) - 144usize]; + ["Offset of field: rcu_node::gp_tasks"][::core::mem::offset_of!(rcu_node, gp_tasks) - 160usize]; + ["Offset of field: rcu_node::exp_tasks"] + [::core::mem::offset_of!(rcu_node, exp_tasks) - 168usize]; + ["Offset of field: rcu_node::boost_tasks"] + [::core::mem::offset_of!(rcu_node, boost_tasks) - 176usize]; + ["Offset of field: rcu_node::boost_mtx"] + [::core::mem::offset_of!(rcu_node, boost_mtx) - 184usize]; + ["Offset of field: rcu_node::boost_time"] + [::core::mem::offset_of!(rcu_node, boost_time) - 216usize]; + ["Offset of field: rcu_node::kthread_mutex"] + [::core::mem::offset_of!(rcu_node, kthread_mutex) - 224usize]; + ["Offset of field: rcu_node::boost_kthread_task"] + [::core::mem::offset_of!(rcu_node, boost_kthread_task) - 256usize]; + ["Offset of field: rcu_node::boost_kthread_status"] + [::core::mem::offset_of!(rcu_node, boost_kthread_status) - 264usize]; + ["Offset of field: rcu_node::n_boosts"][::core::mem::offset_of!(rcu_node, n_boosts) - 272usize]; + ["Offset of field: rcu_node::nocb_gp_wq"] + [::core::mem::offset_of!(rcu_node, nocb_gp_wq) - 280usize]; + ["Offset of field: rcu_node::fqslock"][::core::mem::offset_of!(rcu_node, fqslock) - 384usize]; + ["Offset of field: rcu_node::exp_lock"][::core::mem::offset_of!(rcu_node, exp_lock) - 448usize]; + ["Offset of field: rcu_node::exp_seq_rq"] + [::core::mem::offset_of!(rcu_node, exp_seq_rq) - 456usize]; + ["Offset of field: rcu_node::exp_wq"][::core::mem::offset_of!(rcu_node, exp_wq) - 464usize]; + ["Offset of field: rcu_node::rew"][::core::mem::offset_of!(rcu_node, rew) - 560usize]; + ["Offset of field: rcu_node::exp_need_flush"] + [::core::mem::offset_of!(rcu_node, exp_need_flush) - 608usize]; + ["Offset of field: rcu_node::exp_poll_lock"] + [::core::mem::offset_of!(rcu_node, exp_poll_lock) - 612usize]; + ["Offset of field: rcu_node::exp_seq_poll_rq"] + [::core::mem::offset_of!(rcu_node, exp_seq_poll_rq) - 616usize]; + ["Offset of field: rcu_node::exp_poll_wq"] + [::core::mem::offset_of!(rcu_node, exp_poll_wq) - 624usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union rcu_special { + pub b: rcu_special__bindgen_ty_1, + pub s: u32_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rcu_special__bindgen_ty_1 { + pub blocked: u8_, + pub need_qs: u8_, + pub exp_hint: u8_, + pub need_mb: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcu_special__bindgen_ty_1"] + [::core::mem::size_of::() - 4usize]; + ["Alignment of rcu_special__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: rcu_special__bindgen_ty_1::blocked"] + [::core::mem::offset_of!(rcu_special__bindgen_ty_1, blocked) - 0usize]; + ["Offset of field: rcu_special__bindgen_ty_1::need_qs"] + [::core::mem::offset_of!(rcu_special__bindgen_ty_1, need_qs) - 1usize]; + ["Offset of field: rcu_special__bindgen_ty_1::exp_hint"] + [::core::mem::offset_of!(rcu_special__bindgen_ty_1, exp_hint) - 2usize]; + ["Offset of field: rcu_special__bindgen_ty_1::need_mb"] + [::core::mem::offset_of!(rcu_special__bindgen_ty_1, need_mb) - 3usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rcu_special"][::core::mem::size_of::() - 4usize]; + ["Alignment of rcu_special"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rcu_special::b"][::core::mem::offset_of!(rcu_special, b) - 0usize]; + ["Offset of field: rcu_special::s"][::core::mem::offset_of!(rcu_special, s) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_ah_init_attr { + pub ah_attr: *mut rdma_ah_attr, + pub flags: u32_, + pub xmit_slave: *mut net_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_ah_init_attr"][::core::mem::size_of::() - 24usize]; + ["Alignment of rdma_ah_init_attr"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_ah_init_attr::ah_attr"] + [::core::mem::offset_of!(rdma_ah_init_attr, ah_attr) - 0usize]; + ["Offset of field: rdma_ah_init_attr::flags"] + [::core::mem::offset_of!(rdma_ah_init_attr, flags) - 8usize]; + ["Offset of field: rdma_ah_init_attr::xmit_slave"] + [::core::mem::offset_of!(rdma_ah_init_attr, xmit_slave) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_cgroup { + pub css: cgroup_subsys_state, + pub rpools: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_cgroup"][::core::mem::size_of::() - 224usize]; + ["Alignment of rdma_cgroup"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_cgroup::css"][::core::mem::offset_of!(rdma_cgroup, css) - 0usize]; + ["Offset of field: rdma_cgroup::rpools"] + [::core::mem::offset_of!(rdma_cgroup, rpools) - 208usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rdma_counter { + pub res: rdma_restrack_entry, + pub device: *mut ib_device, + pub id: u32, + pub kref: kref, + pub mode: rdma_counter_mode, + pub lock: mutex, + pub stats: *mut rdma_hw_stats, + pub port: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_counter"][::core::mem::size_of::() - 152usize]; + ["Alignment of rdma_counter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_counter::res"][::core::mem::offset_of!(rdma_counter, res) - 0usize]; + ["Offset of field: rdma_counter::device"] + [::core::mem::offset_of!(rdma_counter, device) - 72usize]; + ["Offset of field: rdma_counter::id"][::core::mem::offset_of!(rdma_counter, id) - 80usize]; + ["Offset of field: rdma_counter::kref"][::core::mem::offset_of!(rdma_counter, kref) - 84usize]; + ["Offset of field: rdma_counter::mode"][::core::mem::offset_of!(rdma_counter, mode) - 88usize]; + ["Offset of field: rdma_counter::lock"][::core::mem::offset_of!(rdma_counter, lock) - 104usize]; + ["Offset of field: rdma_counter::stats"] + [::core::mem::offset_of!(rdma_counter, stats) - 136usize]; + ["Offset of field: rdma_counter::port"][::core::mem::offset_of!(rdma_counter, port) - 144usize]; +}; +#[repr(C)] +pub struct rdma_hw_stats { + pub lock: mutex, + pub timestamp: ::core::ffi::c_ulong, + pub lifespan: ::core::ffi::c_ulong, + pub descs: *const rdma_stat_desc, + pub is_disabled: *mut ::core::ffi::c_ulong, + pub num_counters: ::core::ffi::c_int, + pub value: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_hw_stats"][::core::mem::size_of::() - 72usize]; + ["Alignment of rdma_hw_stats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_hw_stats::lock"][::core::mem::offset_of!(rdma_hw_stats, lock) - 0usize]; + ["Offset of field: rdma_hw_stats::timestamp"] + [::core::mem::offset_of!(rdma_hw_stats, timestamp) - 32usize]; + ["Offset of field: rdma_hw_stats::lifespan"] + [::core::mem::offset_of!(rdma_hw_stats, lifespan) - 40usize]; + ["Offset of field: rdma_hw_stats::descs"] + [::core::mem::offset_of!(rdma_hw_stats, descs) - 48usize]; + ["Offset of field: rdma_hw_stats::is_disabled"] + [::core::mem::offset_of!(rdma_hw_stats, is_disabled) - 56usize]; + ["Offset of field: rdma_hw_stats::num_counters"] + [::core::mem::offset_of!(rdma_hw_stats, num_counters) - 64usize]; + ["Offset of field: rdma_hw_stats::value"] + [::core::mem::offset_of!(rdma_hw_stats, value) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_link_ops { + pub list: list_head, + pub type_: *const ::core::ffi::c_char, + pub newlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const ::core::ffi::c_char, + arg2: *mut net_device, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_link_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of rdma_link_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_link_ops::list"][::core::mem::offset_of!(rdma_link_ops, list) - 0usize]; + ["Offset of field: rdma_link_ops::type_"] + [::core::mem::offset_of!(rdma_link_ops, type_) - 16usize]; + ["Offset of field: rdma_link_ops::newlink"] + [::core::mem::offset_of!(rdma_link_ops, newlink) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_netdev_alloc_params { + pub sizeof_priv: usize, + pub txqs: ::core::ffi::c_uint, + pub rxqs: ::core::ffi::c_uint, + pub param: *mut ::core::ffi::c_void, + pub initialize_rdma_netdev: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ib_device, + arg2: u32_, + arg3: *mut net_device, + arg4: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_netdev_alloc_params"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of rdma_netdev_alloc_params"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_netdev_alloc_params::sizeof_priv"] + [::core::mem::offset_of!(rdma_netdev_alloc_params, sizeof_priv) - 0usize]; + ["Offset of field: rdma_netdev_alloc_params::txqs"] + [::core::mem::offset_of!(rdma_netdev_alloc_params, txqs) - 8usize]; + ["Offset of field: rdma_netdev_alloc_params::rxqs"] + [::core::mem::offset_of!(rdma_netdev_alloc_params, rxqs) - 12usize]; + ["Offset of field: rdma_netdev_alloc_params::param"] + [::core::mem::offset_of!(rdma_netdev_alloc_params, param) - 16usize]; + ["Offset of field: rdma_netdev_alloc_params::initialize_rdma_netdev"] + [::core::mem::offset_of!(rdma_netdev_alloc_params, initialize_rdma_netdev) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_stat_desc { + pub name: *const ::core::ffi::c_char, + pub flags: ::core::ffi::c_uint, + pub priv_: *const ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_stat_desc"][::core::mem::size_of::() - 24usize]; + ["Alignment of rdma_stat_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_stat_desc::name"] + [::core::mem::offset_of!(rdma_stat_desc, name) - 0usize]; + ["Offset of field: rdma_stat_desc::flags"] + [::core::mem::offset_of!(rdma_stat_desc, flags) - 8usize]; + ["Offset of field: rdma_stat_desc::priv_"] + [::core::mem::offset_of!(rdma_stat_desc, priv_) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rdma_user_mmap_entry { + pub ref_: kref, + pub ucontext: *mut ib_ucontext, + pub start_pgoff: ::core::ffi::c_ulong, + pub npages: usize, + pub driver_removed: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rdma_user_mmap_entry"][::core::mem::size_of::() - 40usize]; + ["Alignment of rdma_user_mmap_entry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rdma_user_mmap_entry::ref_"] + [::core::mem::offset_of!(rdma_user_mmap_entry, ref_) - 0usize]; + ["Offset of field: rdma_user_mmap_entry::ucontext"] + [::core::mem::offset_of!(rdma_user_mmap_entry, ucontext) - 8usize]; + ["Offset of field: rdma_user_mmap_entry::start_pgoff"] + [::core::mem::offset_of!(rdma_user_mmap_entry, start_pgoff) - 16usize]; + ["Offset of field: rdma_user_mmap_entry::npages"] + [::core::mem::offset_of!(rdma_user_mmap_entry, npages) - 24usize]; + ["Offset of field: rdma_user_mmap_entry::driver_removed"] + [::core::mem::offset_of!(rdma_user_mmap_entry, driver_removed) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct readahead_control { + pub file: *mut file, + pub mapping: *mut address_space, + pub ra: *mut file_ra_state, + pub _index: ::core::ffi::c_ulong, + pub _nr_pages: ::core::ffi::c_uint, + pub _batch_count: ::core::ffi::c_uint, + pub _workingset: bool_, + pub _pflags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of readahead_control"][::core::mem::size_of::() - 56usize]; + ["Alignment of readahead_control"][::core::mem::align_of::() - 8usize]; + ["Offset of field: readahead_control::file"] + [::core::mem::offset_of!(readahead_control, file) - 0usize]; + ["Offset of field: readahead_control::mapping"] + [::core::mem::offset_of!(readahead_control, mapping) - 8usize]; + ["Offset of field: readahead_control::ra"] + [::core::mem::offset_of!(readahead_control, ra) - 16usize]; + ["Offset of field: readahead_control::_index"] + [::core::mem::offset_of!(readahead_control, _index) - 24usize]; + ["Offset of field: readahead_control::_nr_pages"] + [::core::mem::offset_of!(readahead_control, _nr_pages) - 32usize]; + ["Offset of field: readahead_control::_batch_count"] + [::core::mem::offset_of!(readahead_control, _batch_count) - 36usize]; + ["Offset of field: readahead_control::_workingset"] + [::core::mem::offset_of!(readahead_control, _workingset) - 40usize]; + ["Offset of field: readahead_control::_pflags"] + [::core::mem::offset_of!(readahead_control, _pflags) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct reclaim_state { + pub reclaimed: ::core::ffi::c_ulong, + pub mm_walk: *mut lru_gen_mm_walk, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of reclaim_state"][::core::mem::size_of::() - 16usize]; + ["Alignment of reclaim_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: reclaim_state::reclaimed"] + [::core::mem::offset_of!(reclaim_state, reclaimed) - 0usize]; + ["Offset of field: reclaim_state::mm_walk"] + [::core::mem::offset_of!(reclaim_state, mm_walk) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct reg_default { + pub reg: ::core::ffi::c_uint, + pub def: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of reg_default"][::core::mem::size_of::() - 8usize]; + ["Alignment of reg_default"][::core::mem::align_of::() - 4usize]; + ["Offset of field: reg_default::reg"][::core::mem::offset_of!(reg_default, reg) - 0usize]; + ["Offset of field: reg_default::def"][::core::mem::offset_of!(reg_default, def) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct reg_sequence { + pub reg: ::core::ffi::c_uint, + pub def: ::core::ffi::c_uint, + pub delay_us: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of reg_sequence"][::core::mem::size_of::() - 12usize]; + ["Alignment of reg_sequence"][::core::mem::align_of::() - 4usize]; + ["Offset of field: reg_sequence::reg"][::core::mem::offset_of!(reg_sequence, reg) - 0usize]; + ["Offset of field: reg_sequence::def"][::core::mem::offset_of!(reg_sequence, def) - 4usize]; + ["Offset of field: reg_sequence::delay_us"] + [::core::mem::offset_of!(reg_sequence, delay_us) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regcache_ops { + pub name: *const ::core::ffi::c_char, + pub type_: regcache_type, + pub init: ::core::option::Option ::core::ffi::c_int>, + pub exit: ::core::option::Option ::core::ffi::c_int>, + pub debugfs_init: ::core::option::Option, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regmap, + arg2: ::core::ffi::c_uint, + arg3: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regmap, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub sync: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regmap, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub drop: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regmap, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regcache_ops"][::core::mem::size_of::() - 72usize]; + ["Alignment of regcache_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regcache_ops::name"][::core::mem::offset_of!(regcache_ops, name) - 0usize]; + ["Offset of field: regcache_ops::type_"][::core::mem::offset_of!(regcache_ops, type_) - 8usize]; + ["Offset of field: regcache_ops::init"][::core::mem::offset_of!(regcache_ops, init) - 16usize]; + ["Offset of field: regcache_ops::exit"][::core::mem::offset_of!(regcache_ops, exit) - 24usize]; + ["Offset of field: regcache_ops::debugfs_init"] + [::core::mem::offset_of!(regcache_ops, debugfs_init) - 32usize]; + ["Offset of field: regcache_ops::read"][::core::mem::offset_of!(regcache_ops, read) - 40usize]; + ["Offset of field: regcache_ops::write"] + [::core::mem::offset_of!(regcache_ops, write) - 48usize]; + ["Offset of field: regcache_ops::sync"][::core::mem::offset_of!(regcache_ops, sync) - 56usize]; + ["Offset of field: regcache_ops::drop"][::core::mem::offset_of!(regcache_ops, drop) - 64usize]; +}; +pub type regex_match_func = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_char, + arg2: *mut regex, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regex { + pub pattern: [::core::ffi::c_char; 256usize], + pub len: ::core::ffi::c_int, + pub field_len: ::core::ffi::c_int, + pub match_: regex_match_func, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regex"][::core::mem::size_of::() - 272usize]; + ["Alignment of regex"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regex::pattern"][::core::mem::offset_of!(regex, pattern) - 0usize]; + ["Offset of field: regex::len"][::core::mem::offset_of!(regex, len) - 256usize]; + ["Offset of field: regex::field_len"][::core::mem::offset_of!(regex, field_len) - 260usize]; + ["Offset of field: regex::match_"][::core::mem::offset_of!(regex, match_) - 264usize]; +}; +pub type regmap_lock = ::core::option::Option; +pub type regmap_unlock = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regmap_format { + pub buf_size: usize, + pub reg_bytes: usize, + pub pad_bytes: usize, + pub val_bytes: usize, + pub reg_shift: s8, + pub format_write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regmap, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ), + >, + pub format_reg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ), + >, + pub format_val: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ), + >, + pub parse_val: ::core::option::Option< + unsafe extern "C" fn(arg1: *const ::core::ffi::c_void) -> ::core::ffi::c_uint, + >, + pub parse_inplace: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap_format"][::core::mem::size_of::() - 80usize]; + ["Alignment of regmap_format"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap_format::buf_size"] + [::core::mem::offset_of!(regmap_format, buf_size) - 0usize]; + ["Offset of field: regmap_format::reg_bytes"] + [::core::mem::offset_of!(regmap_format, reg_bytes) - 8usize]; + ["Offset of field: regmap_format::pad_bytes"] + [::core::mem::offset_of!(regmap_format, pad_bytes) - 16usize]; + ["Offset of field: regmap_format::val_bytes"] + [::core::mem::offset_of!(regmap_format, val_bytes) - 24usize]; + ["Offset of field: regmap_format::reg_shift"] + [::core::mem::offset_of!(regmap_format, reg_shift) - 32usize]; + ["Offset of field: regmap_format::format_write"] + [::core::mem::offset_of!(regmap_format, format_write) - 40usize]; + ["Offset of field: regmap_format::format_reg"] + [::core::mem::offset_of!(regmap_format, format_reg) - 48usize]; + ["Offset of field: regmap_format::format_val"] + [::core::mem::offset_of!(regmap_format, format_val) - 56usize]; + ["Offset of field: regmap_format::parse_val"] + [::core::mem::offset_of!(regmap_format, parse_val) - 64usize]; + ["Offset of field: regmap_format::parse_inplace"] + [::core::mem::offset_of!(regmap_format, parse_inplace) - 72usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct regmap { + pub __bindgen_anon_1: regmap__bindgen_ty_1, + pub lock_key: *mut lock_class_key, + pub lock: regmap_lock, + pub unlock: regmap_unlock, + pub lock_arg: *mut ::core::ffi::c_void, + pub alloc_flags: gfp_t, + pub reg_base: ::core::ffi::c_uint, + pub dev: *mut device, + pub work_buf: *mut ::core::ffi::c_void, + pub format: regmap_format, + pub bus: *const regmap_bus, + pub bus_context: *mut ::core::ffi::c_void, + pub name: *const ::core::ffi::c_char, + pub async_: bool_, + pub async_lock: spinlock_t, + pub async_waitq: wait_queue_head_t, + pub async_list: list_head, + pub async_free: list_head, + pub async_ret: ::core::ffi::c_int, + pub debugfs_disable: bool_, + pub debugfs: *mut dentry, + pub debugfs_name: *const ::core::ffi::c_char, + pub debugfs_reg_len: ::core::ffi::c_uint, + pub debugfs_val_len: ::core::ffi::c_uint, + pub debugfs_tot_len: ::core::ffi::c_uint, + pub debugfs_off_cache: list_head, + pub cache_lock: mutex, + pub max_register: ::core::ffi::c_uint, + pub max_register_is_set: bool_, + pub writeable_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> bool_, + >, + pub readable_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> bool_, + >, + pub volatile_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> bool_, + >, + pub precious_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> bool_, + >, + pub writeable_noinc_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> bool_, + >, + pub readable_noinc_reg: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut device, arg2: ::core::ffi::c_uint) -> bool_, + >, + pub wr_table: *const regmap_access_table, + pub rd_table: *const regmap_access_table, + pub volatile_table: *const regmap_access_table, + pub precious_table: *const regmap_access_table, + pub wr_noinc_table: *const regmap_access_table, + pub rd_noinc_table: *const regmap_access_table, + pub reg_read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub reg_write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub reg_update_bits: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: usize, + arg4: *mut ::core::ffi::c_void, + arg5: usize, + ) -> ::core::ffi::c_int, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub defer_caching: bool_, + pub read_flag_mask: ::core::ffi::c_ulong, + pub write_flag_mask: ::core::ffi::c_ulong, + pub reg_shift: ::core::ffi::c_int, + pub reg_stride: ::core::ffi::c_int, + pub reg_stride_order: ::core::ffi::c_int, + pub force_write_field: bool_, + pub cache_ops: *const regcache_ops, + pub cache_type: regcache_type, + pub cache_size_raw: ::core::ffi::c_uint, + pub cache_word_size: ::core::ffi::c_uint, + pub num_reg_defaults: ::core::ffi::c_uint, + pub num_reg_defaults_raw: ::core::ffi::c_uint, + pub cache_only: bool_, + pub cache_bypass: bool_, + pub cache_free: bool_, + pub reg_defaults: *mut reg_default, + pub reg_defaults_raw: *const ::core::ffi::c_void, + pub cache: *mut ::core::ffi::c_void, + pub cache_dirty: bool_, + pub no_sync_defaults: bool_, + pub patch: *mut reg_sequence, + pub patch_regs: ::core::ffi::c_int, + pub use_single_read: bool_, + pub use_single_write: bool_, + pub can_multi_write: bool_, + pub max_raw_read: usize, + pub max_raw_write: usize, + pub range_tree: rb_root, + pub selector_work_buf: *mut ::core::ffi::c_void, + pub hwlock: *mut hwspinlock, + pub can_sleep: bool_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union regmap__bindgen_ty_1 { + pub mutex: mutex, + pub __bindgen_anon_1: regmap__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: regmap__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct regmap__bindgen_ty_1__bindgen_ty_1 { + pub spinlock: spinlock_t, + pub spinlock_flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of regmap__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap__bindgen_ty_1__bindgen_ty_1::spinlock"] + [::core::mem::offset_of!(regmap__bindgen_ty_1__bindgen_ty_1, spinlock) - 0usize]; + ["Offset of field: regmap__bindgen_ty_1__bindgen_ty_1::spinlock_flags"] + [::core::mem::offset_of!(regmap__bindgen_ty_1__bindgen_ty_1, spinlock_flags) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct regmap__bindgen_ty_1__bindgen_ty_2 { + pub raw_spinlock: raw_spinlock_t, + pub raw_spinlock_flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of regmap__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap__bindgen_ty_1__bindgen_ty_2::raw_spinlock"] + [::core::mem::offset_of!(regmap__bindgen_ty_1__bindgen_ty_2, raw_spinlock) - 0usize]; + ["Offset of field: regmap__bindgen_ty_1__bindgen_ty_2::raw_spinlock_flags"] + [::core::mem::offset_of!(regmap__bindgen_ty_1__bindgen_ty_2, raw_spinlock_flags) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap__bindgen_ty_1"][::core::mem::size_of::() - 32usize]; + ["Alignment of regmap__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap__bindgen_ty_1::mutex"] + [::core::mem::offset_of!(regmap__bindgen_ty_1, mutex) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap"][::core::mem::size_of::() - 656usize]; + ["Alignment of regmap"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap::lock_key"][::core::mem::offset_of!(regmap, lock_key) - 32usize]; + ["Offset of field: regmap::lock"][::core::mem::offset_of!(regmap, lock) - 40usize]; + ["Offset of field: regmap::unlock"][::core::mem::offset_of!(regmap, unlock) - 48usize]; + ["Offset of field: regmap::lock_arg"][::core::mem::offset_of!(regmap, lock_arg) - 56usize]; + ["Offset of field: regmap::alloc_flags"] + [::core::mem::offset_of!(regmap, alloc_flags) - 64usize]; + ["Offset of field: regmap::reg_base"][::core::mem::offset_of!(regmap, reg_base) - 68usize]; + ["Offset of field: regmap::dev"][::core::mem::offset_of!(regmap, dev) - 72usize]; + ["Offset of field: regmap::work_buf"][::core::mem::offset_of!(regmap, work_buf) - 80usize]; + ["Offset of field: regmap::format"][::core::mem::offset_of!(regmap, format) - 88usize]; + ["Offset of field: regmap::bus"][::core::mem::offset_of!(regmap, bus) - 168usize]; + ["Offset of field: regmap::bus_context"] + [::core::mem::offset_of!(regmap, bus_context) - 176usize]; + ["Offset of field: regmap::name"][::core::mem::offset_of!(regmap, name) - 184usize]; + ["Offset of field: regmap::async_"][::core::mem::offset_of!(regmap, async_) - 192usize]; + ["Offset of field: regmap::async_lock"][::core::mem::offset_of!(regmap, async_lock) - 196usize]; + ["Offset of field: regmap::async_waitq"] + [::core::mem::offset_of!(regmap, async_waitq) - 200usize]; + ["Offset of field: regmap::async_list"][::core::mem::offset_of!(regmap, async_list) - 224usize]; + ["Offset of field: regmap::async_free"][::core::mem::offset_of!(regmap, async_free) - 240usize]; + ["Offset of field: regmap::async_ret"][::core::mem::offset_of!(regmap, async_ret) - 256usize]; + ["Offset of field: regmap::debugfs_disable"] + [::core::mem::offset_of!(regmap, debugfs_disable) - 260usize]; + ["Offset of field: regmap::debugfs"][::core::mem::offset_of!(regmap, debugfs) - 264usize]; + ["Offset of field: regmap::debugfs_name"] + [::core::mem::offset_of!(regmap, debugfs_name) - 272usize]; + ["Offset of field: regmap::debugfs_reg_len"] + [::core::mem::offset_of!(regmap, debugfs_reg_len) - 280usize]; + ["Offset of field: regmap::debugfs_val_len"] + [::core::mem::offset_of!(regmap, debugfs_val_len) - 284usize]; + ["Offset of field: regmap::debugfs_tot_len"] + [::core::mem::offset_of!(regmap, debugfs_tot_len) - 288usize]; + ["Offset of field: regmap::debugfs_off_cache"] + [::core::mem::offset_of!(regmap, debugfs_off_cache) - 296usize]; + ["Offset of field: regmap::cache_lock"][::core::mem::offset_of!(regmap, cache_lock) - 312usize]; + ["Offset of field: regmap::max_register"] + [::core::mem::offset_of!(regmap, max_register) - 344usize]; + ["Offset of field: regmap::max_register_is_set"] + [::core::mem::offset_of!(regmap, max_register_is_set) - 348usize]; + ["Offset of field: regmap::writeable_reg"] + [::core::mem::offset_of!(regmap, writeable_reg) - 352usize]; + ["Offset of field: regmap::readable_reg"] + [::core::mem::offset_of!(regmap, readable_reg) - 360usize]; + ["Offset of field: regmap::volatile_reg"] + [::core::mem::offset_of!(regmap, volatile_reg) - 368usize]; + ["Offset of field: regmap::precious_reg"] + [::core::mem::offset_of!(regmap, precious_reg) - 376usize]; + ["Offset of field: regmap::writeable_noinc_reg"] + [::core::mem::offset_of!(regmap, writeable_noinc_reg) - 384usize]; + ["Offset of field: regmap::readable_noinc_reg"] + [::core::mem::offset_of!(regmap, readable_noinc_reg) - 392usize]; + ["Offset of field: regmap::wr_table"][::core::mem::offset_of!(regmap, wr_table) - 400usize]; + ["Offset of field: regmap::rd_table"][::core::mem::offset_of!(regmap, rd_table) - 408usize]; + ["Offset of field: regmap::volatile_table"] + [::core::mem::offset_of!(regmap, volatile_table) - 416usize]; + ["Offset of field: regmap::precious_table"] + [::core::mem::offset_of!(regmap, precious_table) - 424usize]; + ["Offset of field: regmap::wr_noinc_table"] + [::core::mem::offset_of!(regmap, wr_noinc_table) - 432usize]; + ["Offset of field: regmap::rd_noinc_table"] + [::core::mem::offset_of!(regmap, rd_noinc_table) - 440usize]; + ["Offset of field: regmap::reg_read"][::core::mem::offset_of!(regmap, reg_read) - 448usize]; + ["Offset of field: regmap::reg_write"][::core::mem::offset_of!(regmap, reg_write) - 456usize]; + ["Offset of field: regmap::reg_update_bits"] + [::core::mem::offset_of!(regmap, reg_update_bits) - 464usize]; + ["Offset of field: regmap::read"][::core::mem::offset_of!(regmap, read) - 472usize]; + ["Offset of field: regmap::write"][::core::mem::offset_of!(regmap, write) - 480usize]; + ["Offset of field: regmap::defer_caching"] + [::core::mem::offset_of!(regmap, defer_caching) - 488usize]; + ["Offset of field: regmap::read_flag_mask"] + [::core::mem::offset_of!(regmap, read_flag_mask) - 496usize]; + ["Offset of field: regmap::write_flag_mask"] + [::core::mem::offset_of!(regmap, write_flag_mask) - 504usize]; + ["Offset of field: regmap::reg_shift"][::core::mem::offset_of!(regmap, reg_shift) - 512usize]; + ["Offset of field: regmap::reg_stride"][::core::mem::offset_of!(regmap, reg_stride) - 516usize]; + ["Offset of field: regmap::reg_stride_order"] + [::core::mem::offset_of!(regmap, reg_stride_order) - 520usize]; + ["Offset of field: regmap::force_write_field"] + [::core::mem::offset_of!(regmap, force_write_field) - 524usize]; + ["Offset of field: regmap::cache_ops"][::core::mem::offset_of!(regmap, cache_ops) - 528usize]; + ["Offset of field: regmap::cache_type"][::core::mem::offset_of!(regmap, cache_type) - 536usize]; + ["Offset of field: regmap::cache_size_raw"] + [::core::mem::offset_of!(regmap, cache_size_raw) - 540usize]; + ["Offset of field: regmap::cache_word_size"] + [::core::mem::offset_of!(regmap, cache_word_size) - 544usize]; + ["Offset of field: regmap::num_reg_defaults"] + [::core::mem::offset_of!(regmap, num_reg_defaults) - 548usize]; + ["Offset of field: regmap::num_reg_defaults_raw"] + [::core::mem::offset_of!(regmap, num_reg_defaults_raw) - 552usize]; + ["Offset of field: regmap::cache_only"][::core::mem::offset_of!(regmap, cache_only) - 556usize]; + ["Offset of field: regmap::cache_bypass"] + [::core::mem::offset_of!(regmap, cache_bypass) - 557usize]; + ["Offset of field: regmap::cache_free"][::core::mem::offset_of!(regmap, cache_free) - 558usize]; + ["Offset of field: regmap::reg_defaults"] + [::core::mem::offset_of!(regmap, reg_defaults) - 560usize]; + ["Offset of field: regmap::reg_defaults_raw"] + [::core::mem::offset_of!(regmap, reg_defaults_raw) - 568usize]; + ["Offset of field: regmap::cache"][::core::mem::offset_of!(regmap, cache) - 576usize]; + ["Offset of field: regmap::cache_dirty"] + [::core::mem::offset_of!(regmap, cache_dirty) - 584usize]; + ["Offset of field: regmap::no_sync_defaults"] + [::core::mem::offset_of!(regmap, no_sync_defaults) - 585usize]; + ["Offset of field: regmap::patch"][::core::mem::offset_of!(regmap, patch) - 592usize]; + ["Offset of field: regmap::patch_regs"][::core::mem::offset_of!(regmap, patch_regs) - 600usize]; + ["Offset of field: regmap::use_single_read"] + [::core::mem::offset_of!(regmap, use_single_read) - 604usize]; + ["Offset of field: regmap::use_single_write"] + [::core::mem::offset_of!(regmap, use_single_write) - 605usize]; + ["Offset of field: regmap::can_multi_write"] + [::core::mem::offset_of!(regmap, can_multi_write) - 606usize]; + ["Offset of field: regmap::max_raw_read"] + [::core::mem::offset_of!(regmap, max_raw_read) - 608usize]; + ["Offset of field: regmap::max_raw_write"] + [::core::mem::offset_of!(regmap, max_raw_write) - 616usize]; + ["Offset of field: regmap::range_tree"][::core::mem::offset_of!(regmap, range_tree) - 624usize]; + ["Offset of field: regmap::selector_work_buf"] + [::core::mem::offset_of!(regmap, selector_work_buf) - 632usize]; + ["Offset of field: regmap::hwlock"][::core::mem::offset_of!(regmap, hwlock) - 640usize]; + ["Offset of field: regmap::can_sleep"][::core::mem::offset_of!(regmap, can_sleep) - 648usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regmap_access_table { + pub yes_ranges: *const regmap_range, + pub n_yes_ranges: ::core::ffi::c_uint, + pub no_ranges: *const regmap_range, + pub n_no_ranges: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap_access_table"][::core::mem::size_of::() - 32usize]; + ["Alignment of regmap_access_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap_access_table::yes_ranges"] + [::core::mem::offset_of!(regmap_access_table, yes_ranges) - 0usize]; + ["Offset of field: regmap_access_table::n_yes_ranges"] + [::core::mem::offset_of!(regmap_access_table, n_yes_ranges) - 8usize]; + ["Offset of field: regmap_access_table::no_ranges"] + [::core::mem::offset_of!(regmap_access_table, no_ranges) - 16usize]; + ["Offset of field: regmap_access_table::n_no_ranges"] + [::core::mem::offset_of!(regmap_access_table, n_no_ranges) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regmap_async { + pub list: list_head, + pub map: *mut regmap, + pub work_buf: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap_async"][::core::mem::size_of::() - 32usize]; + ["Alignment of regmap_async"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap_async::list"][::core::mem::offset_of!(regmap_async, list) - 0usize]; + ["Offset of field: regmap_async::map"][::core::mem::offset_of!(regmap_async, map) - 16usize]; + ["Offset of field: regmap_async::work_buf"] + [::core::mem::offset_of!(regmap_async, work_buf) - 24usize]; +}; +pub type regmap_hw_write = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: usize, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_gather_write = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: usize, + arg4: *const ::core::ffi::c_void, + arg5: usize, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_async_write = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: usize, + arg4: *const ::core::ffi::c_void, + arg5: usize, + arg6: *mut regmap_async, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_reg_write = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_reg_noinc_write = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: *const ::core::ffi::c_void, + arg4: usize, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_reg_update_bits = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + arg4: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_read = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const ::core::ffi::c_void, + arg3: usize, + arg4: *mut ::core::ffi::c_void, + arg5: usize, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_reg_read = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_reg_noinc_read = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: ::core::ffi::c_uint, + arg3: *mut ::core::ffi::c_void, + arg4: usize, + ) -> ::core::ffi::c_int, +>; +pub type regmap_hw_free_context = + ::core::option::Option; +pub type regmap_hw_async_alloc = + ::core::option::Option *mut regmap_async>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regmap_bus { + pub fast_io: bool_, + pub free_on_exit: bool_, + pub write: regmap_hw_write, + pub gather_write: regmap_hw_gather_write, + pub async_write: regmap_hw_async_write, + pub reg_write: regmap_hw_reg_write, + pub reg_noinc_write: regmap_hw_reg_noinc_write, + pub reg_update_bits: regmap_hw_reg_update_bits, + pub read: regmap_hw_read, + pub reg_read: regmap_hw_reg_read, + pub reg_noinc_read: regmap_hw_reg_noinc_read, + pub free_context: regmap_hw_free_context, + pub async_alloc: regmap_hw_async_alloc, + pub read_flag_mask: u8_, + pub reg_format_endian_default: regmap_endian, + pub val_format_endian_default: regmap_endian, + pub max_raw_read: usize, + pub max_raw_write: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap_bus"][::core::mem::size_of::() - 128usize]; + ["Alignment of regmap_bus"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regmap_bus::fast_io"][::core::mem::offset_of!(regmap_bus, fast_io) - 0usize]; + ["Offset of field: regmap_bus::free_on_exit"] + [::core::mem::offset_of!(regmap_bus, free_on_exit) - 1usize]; + ["Offset of field: regmap_bus::write"][::core::mem::offset_of!(regmap_bus, write) - 8usize]; + ["Offset of field: regmap_bus::gather_write"] + [::core::mem::offset_of!(regmap_bus, gather_write) - 16usize]; + ["Offset of field: regmap_bus::async_write"] + [::core::mem::offset_of!(regmap_bus, async_write) - 24usize]; + ["Offset of field: regmap_bus::reg_write"] + [::core::mem::offset_of!(regmap_bus, reg_write) - 32usize]; + ["Offset of field: regmap_bus::reg_noinc_write"] + [::core::mem::offset_of!(regmap_bus, reg_noinc_write) - 40usize]; + ["Offset of field: regmap_bus::reg_update_bits"] + [::core::mem::offset_of!(regmap_bus, reg_update_bits) - 48usize]; + ["Offset of field: regmap_bus::read"][::core::mem::offset_of!(regmap_bus, read) - 56usize]; + ["Offset of field: regmap_bus::reg_read"] + [::core::mem::offset_of!(regmap_bus, reg_read) - 64usize]; + ["Offset of field: regmap_bus::reg_noinc_read"] + [::core::mem::offset_of!(regmap_bus, reg_noinc_read) - 72usize]; + ["Offset of field: regmap_bus::free_context"] + [::core::mem::offset_of!(regmap_bus, free_context) - 80usize]; + ["Offset of field: regmap_bus::async_alloc"] + [::core::mem::offset_of!(regmap_bus, async_alloc) - 88usize]; + ["Offset of field: regmap_bus::read_flag_mask"] + [::core::mem::offset_of!(regmap_bus, read_flag_mask) - 96usize]; + ["Offset of field: regmap_bus::reg_format_endian_default"] + [::core::mem::offset_of!(regmap_bus, reg_format_endian_default) - 100usize]; + ["Offset of field: regmap_bus::val_format_endian_default"] + [::core::mem::offset_of!(regmap_bus, val_format_endian_default) - 104usize]; + ["Offset of field: regmap_bus::max_raw_read"] + [::core::mem::offset_of!(regmap_bus, max_raw_read) - 112usize]; + ["Offset of field: regmap_bus::max_raw_write"] + [::core::mem::offset_of!(regmap_bus, max_raw_write) - 120usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regmap_range { + pub range_min: ::core::ffi::c_uint, + pub range_max: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regmap_range"][::core::mem::size_of::() - 8usize]; + ["Alignment of regmap_range"][::core::mem::align_of::() - 4usize]; + ["Offset of field: regmap_range::range_min"] + [::core::mem::offset_of!(regmap_range, range_min) - 0usize]; + ["Offset of field: regmap_range::range_max"] + [::core::mem::offset_of!(regmap_range, range_max) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_voltage { + pub min_uV: ::core::ffi::c_int, + pub max_uV: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_voltage"][::core::mem::size_of::() - 8usize]; + ["Alignment of regulator_voltage"][::core::mem::align_of::() - 4usize]; + ["Offset of field: regulator_voltage::min_uV"] + [::core::mem::offset_of!(regulator_voltage, min_uV) - 0usize]; + ["Offset of field: regulator_voltage::max_uV"] + [::core::mem::offset_of!(regulator_voltage, max_uV) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator { + pub dev: *mut device, + pub list: list_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub uA_load: ::core::ffi::c_int, + pub enable_count: ::core::ffi::c_uint, + pub deferred_disables: ::core::ffi::c_uint, + pub voltage: [regulator_voltage; 5usize], + pub supply_name: *const ::core::ffi::c_char, + pub dev_attr: device_attribute, + pub rdev: *mut regulator_dev, + pub debugfs: *mut dentry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator"][::core::mem::size_of::() - 136usize]; + ["Alignment of regulator"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator::dev"][::core::mem::offset_of!(regulator, dev) - 0usize]; + ["Offset of field: regulator::list"][::core::mem::offset_of!(regulator, list) - 8usize]; + ["Offset of field: regulator::uA_load"][::core::mem::offset_of!(regulator, uA_load) - 28usize]; + ["Offset of field: regulator::enable_count"] + [::core::mem::offset_of!(regulator, enable_count) - 32usize]; + ["Offset of field: regulator::deferred_disables"] + [::core::mem::offset_of!(regulator, deferred_disables) - 36usize]; + ["Offset of field: regulator::voltage"][::core::mem::offset_of!(regulator, voltage) - 40usize]; + ["Offset of field: regulator::supply_name"] + [::core::mem::offset_of!(regulator, supply_name) - 80usize]; + ["Offset of field: regulator::dev_attr"] + [::core::mem::offset_of!(regulator, dev_attr) - 88usize]; + ["Offset of field: regulator::rdev"][::core::mem::offset_of!(regulator, rdev) - 120usize]; + ["Offset of field: regulator::debugfs"][::core::mem::offset_of!(regulator, debugfs) - 128usize]; +}; +impl regulator { + #[inline] + pub fn always_on(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_always_on(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn always_on_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_always_on_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn bypass(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_bypass(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn bypass_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_bypass_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn device_link(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_device_link(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn device_link_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_device_link_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + always_on: ::core::ffi::c_uint, + bypass: ::core::ffi::c_uint, + device_link: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let always_on: u32 = unsafe { ::core::mem::transmute(always_on) }; + always_on as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let bypass: u32 = unsafe { ::core::mem::transmute(bypass) }; + bypass as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let device_link: u32 = unsafe { ::core::mem::transmute(device_link) }; + device_link as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_config { + pub dev: *mut device, + pub init_data: *const regulator_init_data, + pub driver_data: *mut ::core::ffi::c_void, + pub of_node: *mut device_node, + pub regmap: *mut regmap, + pub ena_gpiod: *mut gpio_desc, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_config"][::core::mem::size_of::() - 48usize]; + ["Alignment of regulator_config"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_config::dev"] + [::core::mem::offset_of!(regulator_config, dev) - 0usize]; + ["Offset of field: regulator_config::init_data"] + [::core::mem::offset_of!(regulator_config, init_data) - 8usize]; + ["Offset of field: regulator_config::driver_data"] + [::core::mem::offset_of!(regulator_config, driver_data) - 16usize]; + ["Offset of field: regulator_config::of_node"] + [::core::mem::offset_of!(regulator_config, of_node) - 24usize]; + ["Offset of field: regulator_config::regmap"] + [::core::mem::offset_of!(regulator_config, regmap) - 32usize]; + ["Offset of field: regulator_config::ena_gpiod"] + [::core::mem::offset_of!(regulator_config, ena_gpiod) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_consumer_supply { + pub dev_name: *const ::core::ffi::c_char, + pub supply: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_consumer_supply"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of regulator_consumer_supply"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_consumer_supply::dev_name"] + [::core::mem::offset_of!(regulator_consumer_supply, dev_name) - 0usize]; + ["Offset of field: regulator_consumer_supply::supply"] + [::core::mem::offset_of!(regulator_consumer_supply, supply) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_coupler { + pub list: list_head, + pub attach_regulator: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_coupler, + arg2: *mut regulator_dev, + ) -> ::core::ffi::c_int, + >, + pub detach_regulator: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_coupler, + arg2: *mut regulator_dev, + ) -> ::core::ffi::c_int, + >, + pub balance_voltage: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_coupler, + arg2: *mut regulator_dev, + arg3: suspend_state_t, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_coupler"][::core::mem::size_of::() - 40usize]; + ["Alignment of regulator_coupler"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_coupler::list"] + [::core::mem::offset_of!(regulator_coupler, list) - 0usize]; + ["Offset of field: regulator_coupler::attach_regulator"] + [::core::mem::offset_of!(regulator_coupler, attach_regulator) - 16usize]; + ["Offset of field: regulator_coupler::detach_regulator"] + [::core::mem::offset_of!(regulator_coupler, detach_regulator) - 24usize]; + ["Offset of field: regulator_coupler::balance_voltage"] + [::core::mem::offset_of!(regulator_coupler, balance_voltage) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct regulator_dev { + pub desc: *const regulator_desc, + pub exclusive: ::core::ffi::c_int, + pub use_count: u32_, + pub open_count: u32_, + pub bypass_count: u32_, + pub list: list_head, + pub consumer_list: list_head, + pub coupling_desc: coupling_desc, + pub notifier: blocking_notifier_head, + pub mutex: ww_mutex, + pub mutex_owner: *mut task_struct, + pub ref_cnt: ::core::ffi::c_int, + pub owner: *mut module, + pub dev: device, + pub constraints: *mut regulation_constraints, + pub supply: *mut regulator, + pub supply_name: *const ::core::ffi::c_char, + pub regmap: *mut regmap, + pub disable_work: delayed_work, + pub reg_data: *mut ::core::ffi::c_void, + pub debugfs: *mut dentry, + pub ena_pin: *mut regulator_enable_gpio, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub last_off: ktime_t, + pub cached_err: ::core::ffi::c_int, + pub use_cached_err: bool_, + pub err_lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_dev"][::core::mem::size_of::() - 1120usize]; + ["Alignment of regulator_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_dev::desc"][::core::mem::offset_of!(regulator_dev, desc) - 0usize]; + ["Offset of field: regulator_dev::exclusive"] + [::core::mem::offset_of!(regulator_dev, exclusive) - 8usize]; + ["Offset of field: regulator_dev::use_count"] + [::core::mem::offset_of!(regulator_dev, use_count) - 12usize]; + ["Offset of field: regulator_dev::open_count"] + [::core::mem::offset_of!(regulator_dev, open_count) - 16usize]; + ["Offset of field: regulator_dev::bypass_count"] + [::core::mem::offset_of!(regulator_dev, bypass_count) - 20usize]; + ["Offset of field: regulator_dev::list"] + [::core::mem::offset_of!(regulator_dev, list) - 24usize]; + ["Offset of field: regulator_dev::consumer_list"] + [::core::mem::offset_of!(regulator_dev, consumer_list) - 40usize]; + ["Offset of field: regulator_dev::coupling_desc"] + [::core::mem::offset_of!(regulator_dev, coupling_desc) - 56usize]; + ["Offset of field: regulator_dev::notifier"] + [::core::mem::offset_of!(regulator_dev, notifier) - 80usize]; + ["Offset of field: regulator_dev::mutex"] + [::core::mem::offset_of!(regulator_dev, mutex) - 128usize]; + ["Offset of field: regulator_dev::mutex_owner"] + [::core::mem::offset_of!(regulator_dev, mutex_owner) - 168usize]; + ["Offset of field: regulator_dev::ref_cnt"] + [::core::mem::offset_of!(regulator_dev, ref_cnt) - 176usize]; + ["Offset of field: regulator_dev::owner"] + [::core::mem::offset_of!(regulator_dev, owner) - 184usize]; + ["Offset of field: regulator_dev::dev"][::core::mem::offset_of!(regulator_dev, dev) - 192usize]; + ["Offset of field: regulator_dev::constraints"] + [::core::mem::offset_of!(regulator_dev, constraints) - 944usize]; + ["Offset of field: regulator_dev::supply"] + [::core::mem::offset_of!(regulator_dev, supply) - 952usize]; + ["Offset of field: regulator_dev::supply_name"] + [::core::mem::offset_of!(regulator_dev, supply_name) - 960usize]; + ["Offset of field: regulator_dev::regmap"] + [::core::mem::offset_of!(regulator_dev, regmap) - 968usize]; + ["Offset of field: regulator_dev::disable_work"] + [::core::mem::offset_of!(regulator_dev, disable_work) - 976usize]; + ["Offset of field: regulator_dev::reg_data"] + [::core::mem::offset_of!(regulator_dev, reg_data) - 1064usize]; + ["Offset of field: regulator_dev::debugfs"] + [::core::mem::offset_of!(regulator_dev, debugfs) - 1072usize]; + ["Offset of field: regulator_dev::ena_pin"] + [::core::mem::offset_of!(regulator_dev, ena_pin) - 1080usize]; + ["Offset of field: regulator_dev::last_off"] + [::core::mem::offset_of!(regulator_dev, last_off) - 1096usize]; + ["Offset of field: regulator_dev::cached_err"] + [::core::mem::offset_of!(regulator_dev, cached_err) - 1104usize]; + ["Offset of field: regulator_dev::use_cached_err"] + [::core::mem::offset_of!(regulator_dev, use_cached_err) - 1108usize]; + ["Offset of field: regulator_dev::err_lock"] + [::core::mem::offset_of!(regulator_dev, err_lock) - 1112usize]; +}; +impl regulator_dev { + #[inline] + pub fn ena_gpio_state(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_ena_gpio_state(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn ena_gpio_state_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_ena_gpio_state_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn is_switch(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_switch(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_switch_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_switch_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + ena_gpio_state: ::core::ffi::c_uint, + is_switch: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ena_gpio_state: u32 = unsafe { ::core::mem::transmute(ena_gpio_state) }; + ena_gpio_state as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let is_switch: u32 = unsafe { ::core::mem::transmute(is_switch) }; + is_switch as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_enable_gpio { + pub list: list_head, + pub gpiod: *mut gpio_desc, + pub enable_count: u32_, + pub request_count: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_enable_gpio"][::core::mem::size_of::() - 32usize]; + ["Alignment of regulator_enable_gpio"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_enable_gpio::list"] + [::core::mem::offset_of!(regulator_enable_gpio, list) - 0usize]; + ["Offset of field: regulator_enable_gpio::gpiod"] + [::core::mem::offset_of!(regulator_enable_gpio, gpiod) - 16usize]; + ["Offset of field: regulator_enable_gpio::enable_count"] + [::core::mem::offset_of!(regulator_enable_gpio, enable_count) - 24usize]; + ["Offset of field: regulator_enable_gpio::request_count"] + [::core::mem::offset_of!(regulator_enable_gpio, request_count) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulator_ops { + pub list_voltage: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub set_voltage: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub map_voltage: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub set_voltage_sel: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub get_voltage: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub get_voltage_sel: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub set_current_limit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub get_current_limit: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub set_input_current_limit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub set_over_current_protection: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub set_over_voltage_protection: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub set_under_voltage_protection: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub set_thermal_protection: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: bool_, + ) -> ::core::ffi::c_int, + >, + pub set_active_discharge: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev, arg2: bool_) -> ::core::ffi::c_int, + >, + pub enable: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub disable: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub is_enabled: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub set_mode: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub get_mode: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_uint, + >, + pub get_error_flags: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: *mut ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub enable_time: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub set_ramp_delay: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub set_voltage_time: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub set_voltage_time_sel: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub set_soft_start: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub get_status: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub get_optimum_mode: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_uint, + >, + pub set_load: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub set_bypass: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev, arg2: bool_) -> ::core::ffi::c_int, + >, + pub get_bypass: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev, arg2: *mut bool_) -> ::core::ffi::c_int, + >, + pub set_suspend_voltage: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub set_suspend_enable: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub set_suspend_disable: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub set_suspend_mode: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut regulator_dev, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub resume: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, + pub set_pull_down: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut regulator_dev) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulator_ops"][::core::mem::size_of::() - 288usize]; + ["Alignment of regulator_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulator_ops::list_voltage"] + [::core::mem::offset_of!(regulator_ops, list_voltage) - 0usize]; + ["Offset of field: regulator_ops::set_voltage"] + [::core::mem::offset_of!(regulator_ops, set_voltage) - 8usize]; + ["Offset of field: regulator_ops::map_voltage"] + [::core::mem::offset_of!(regulator_ops, map_voltage) - 16usize]; + ["Offset of field: regulator_ops::set_voltage_sel"] + [::core::mem::offset_of!(regulator_ops, set_voltage_sel) - 24usize]; + ["Offset of field: regulator_ops::get_voltage"] + [::core::mem::offset_of!(regulator_ops, get_voltage) - 32usize]; + ["Offset of field: regulator_ops::get_voltage_sel"] + [::core::mem::offset_of!(regulator_ops, get_voltage_sel) - 40usize]; + ["Offset of field: regulator_ops::set_current_limit"] + [::core::mem::offset_of!(regulator_ops, set_current_limit) - 48usize]; + ["Offset of field: regulator_ops::get_current_limit"] + [::core::mem::offset_of!(regulator_ops, get_current_limit) - 56usize]; + ["Offset of field: regulator_ops::set_input_current_limit"] + [::core::mem::offset_of!(regulator_ops, set_input_current_limit) - 64usize]; + ["Offset of field: regulator_ops::set_over_current_protection"] + [::core::mem::offset_of!(regulator_ops, set_over_current_protection) - 72usize]; + ["Offset of field: regulator_ops::set_over_voltage_protection"] + [::core::mem::offset_of!(regulator_ops, set_over_voltage_protection) - 80usize]; + ["Offset of field: regulator_ops::set_under_voltage_protection"] + [::core::mem::offset_of!(regulator_ops, set_under_voltage_protection) - 88usize]; + ["Offset of field: regulator_ops::set_thermal_protection"] + [::core::mem::offset_of!(regulator_ops, set_thermal_protection) - 96usize]; + ["Offset of field: regulator_ops::set_active_discharge"] + [::core::mem::offset_of!(regulator_ops, set_active_discharge) - 104usize]; + ["Offset of field: regulator_ops::enable"] + [::core::mem::offset_of!(regulator_ops, enable) - 112usize]; + ["Offset of field: regulator_ops::disable"] + [::core::mem::offset_of!(regulator_ops, disable) - 120usize]; + ["Offset of field: regulator_ops::is_enabled"] + [::core::mem::offset_of!(regulator_ops, is_enabled) - 128usize]; + ["Offset of field: regulator_ops::set_mode"] + [::core::mem::offset_of!(regulator_ops, set_mode) - 136usize]; + ["Offset of field: regulator_ops::get_mode"] + [::core::mem::offset_of!(regulator_ops, get_mode) - 144usize]; + ["Offset of field: regulator_ops::get_error_flags"] + [::core::mem::offset_of!(regulator_ops, get_error_flags) - 152usize]; + ["Offset of field: regulator_ops::enable_time"] + [::core::mem::offset_of!(regulator_ops, enable_time) - 160usize]; + ["Offset of field: regulator_ops::set_ramp_delay"] + [::core::mem::offset_of!(regulator_ops, set_ramp_delay) - 168usize]; + ["Offset of field: regulator_ops::set_voltage_time"] + [::core::mem::offset_of!(regulator_ops, set_voltage_time) - 176usize]; + ["Offset of field: regulator_ops::set_voltage_time_sel"] + [::core::mem::offset_of!(regulator_ops, set_voltage_time_sel) - 184usize]; + ["Offset of field: regulator_ops::set_soft_start"] + [::core::mem::offset_of!(regulator_ops, set_soft_start) - 192usize]; + ["Offset of field: regulator_ops::get_status"] + [::core::mem::offset_of!(regulator_ops, get_status) - 200usize]; + ["Offset of field: regulator_ops::get_optimum_mode"] + [::core::mem::offset_of!(regulator_ops, get_optimum_mode) - 208usize]; + ["Offset of field: regulator_ops::set_load"] + [::core::mem::offset_of!(regulator_ops, set_load) - 216usize]; + ["Offset of field: regulator_ops::set_bypass"] + [::core::mem::offset_of!(regulator_ops, set_bypass) - 224usize]; + ["Offset of field: regulator_ops::get_bypass"] + [::core::mem::offset_of!(regulator_ops, get_bypass) - 232usize]; + ["Offset of field: regulator_ops::set_suspend_voltage"] + [::core::mem::offset_of!(regulator_ops, set_suspend_voltage) - 240usize]; + ["Offset of field: regulator_ops::set_suspend_enable"] + [::core::mem::offset_of!(regulator_ops, set_suspend_enable) - 248usize]; + ["Offset of field: regulator_ops::set_suspend_disable"] + [::core::mem::offset_of!(regulator_ops, set_suspend_disable) - 256usize]; + ["Offset of field: regulator_ops::set_suspend_mode"] + [::core::mem::offset_of!(regulator_ops, set_suspend_mode) - 264usize]; + ["Offset of field: regulator_ops::resume"] + [::core::mem::offset_of!(regulator_ops, resume) - 272usize]; + ["Offset of field: regulator_ops::set_pull_down"] + [::core::mem::offset_of!(regulator_ops, set_pull_down) - 280usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct regulatory_request { + pub callback_head: callback_head, + pub wiphy_idx: ::core::ffi::c_int, + pub initiator: nl80211_reg_initiator, + pub user_reg_hint_type: nl80211_user_reg_hint_type, + pub alpha2: [::core::ffi::c_char; 3usize], + pub dfs_region: nl80211_dfs_regions, + pub intersect: bool_, + pub processed: bool_, + pub country_ie_env: environment_cap, + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of regulatory_request"][::core::mem::size_of::() - 64usize]; + ["Alignment of regulatory_request"][::core::mem::align_of::() - 8usize]; + ["Offset of field: regulatory_request::callback_head"] + [::core::mem::offset_of!(regulatory_request, callback_head) - 0usize]; + ["Offset of field: regulatory_request::wiphy_idx"] + [::core::mem::offset_of!(regulatory_request, wiphy_idx) - 16usize]; + ["Offset of field: regulatory_request::initiator"] + [::core::mem::offset_of!(regulatory_request, initiator) - 20usize]; + ["Offset of field: regulatory_request::user_reg_hint_type"] + [::core::mem::offset_of!(regulatory_request, user_reg_hint_type) - 24usize]; + ["Offset of field: regulatory_request::alpha2"] + [::core::mem::offset_of!(regulatory_request, alpha2) - 28usize]; + ["Offset of field: regulatory_request::dfs_region"] + [::core::mem::offset_of!(regulatory_request, dfs_region) - 32usize]; + ["Offset of field: regulatory_request::intersect"] + [::core::mem::offset_of!(regulatory_request, intersect) - 36usize]; + ["Offset of field: regulatory_request::processed"] + [::core::mem::offset_of!(regulatory_request, processed) - 37usize]; + ["Offset of field: regulatory_request::country_ie_env"] + [::core::mem::offset_of!(regulatory_request, country_ie_env) - 40usize]; + ["Offset of field: regulatory_request::list"] + [::core::mem::offset_of!(regulatory_request, list) - 48usize]; +}; +pub type rq_end_io_fn = ::core::option::Option< + unsafe extern "C" fn(arg1: *mut request, arg2: blk_status_t) -> rq_end_io_ret, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct request { + pub q: *mut request_queue, + pub mq_ctx: *mut blk_mq_ctx, + pub mq_hctx: *mut blk_mq_hw_ctx, + pub cmd_flags: blk_opf_t, + pub rq_flags: req_flags_t, + pub tag: ::core::ffi::c_int, + pub internal_tag: ::core::ffi::c_int, + pub timeout: ::core::ffi::c_uint, + pub __data_len: ::core::ffi::c_uint, + pub __sector: sector_t, + pub bio: *mut bio, + pub biotail: *mut bio, + pub __bindgen_anon_1: request__bindgen_ty_1, + pub part: *mut block_device, + pub alloc_time_ns: u64_, + pub start_time_ns: u64_, + pub io_start_time_ns: u64_, + pub wbt_flags: ::core::ffi::c_ushort, + pub stats_sectors: ::core::ffi::c_ushort, + pub nr_phys_segments: ::core::ffi::c_ushort, + pub nr_integrity_segments: ::core::ffi::c_ushort, + pub crypt_ctx: *mut bio_crypt_ctx, + pub crypt_keyslot: *mut blk_crypto_keyslot, + pub state: mq_rq_state, + pub ref_: atomic_t, + pub deadline: ::core::ffi::c_ulong, + pub __bindgen_anon_2: request__bindgen_ty_2, + pub __bindgen_anon_3: request__bindgen_ty_3, + pub elv: request__bindgen_ty_4, + pub flush: request__bindgen_ty_5, + pub fifo_time: u64_, + pub end_io: rq_end_io_fn, + pub end_io_data: *mut ::core::ffi::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union request__bindgen_ty_1 { + pub queuelist: list_head, + pub rq_next: *mut request, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of request__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: request__bindgen_ty_1::queuelist"] + [::core::mem::offset_of!(request__bindgen_ty_1, queuelist) - 0usize]; + ["Offset of field: request__bindgen_ty_1::rq_next"] + [::core::mem::offset_of!(request__bindgen_ty_1, rq_next) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union request__bindgen_ty_2 { + pub hash: hlist_node, + pub ipi_list: llist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request__bindgen_ty_2"][::core::mem::size_of::() - 16usize]; + ["Alignment of request__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: request__bindgen_ty_2::hash"] + [::core::mem::offset_of!(request__bindgen_ty_2, hash) - 0usize]; + ["Offset of field: request__bindgen_ty_2::ipi_list"] + [::core::mem::offset_of!(request__bindgen_ty_2, ipi_list) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union request__bindgen_ty_3 { + pub rb_node: rb_node, + pub special_vec: bio_vec, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request__bindgen_ty_3"][::core::mem::size_of::() - 24usize]; + ["Alignment of request__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: request__bindgen_ty_3::rb_node"] + [::core::mem::offset_of!(request__bindgen_ty_3, rb_node) - 0usize]; + ["Offset of field: request__bindgen_ty_3::special_vec"] + [::core::mem::offset_of!(request__bindgen_ty_3, special_vec) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct request__bindgen_ty_4 { + pub icq: *mut io_cq, + pub priv_: [*mut ::core::ffi::c_void; 2usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request__bindgen_ty_4"][::core::mem::size_of::() - 24usize]; + ["Alignment of request__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: request__bindgen_ty_4::icq"] + [::core::mem::offset_of!(request__bindgen_ty_4, icq) - 0usize]; + ["Offset of field: request__bindgen_ty_4::priv_"] + [::core::mem::offset_of!(request__bindgen_ty_4, priv_) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct request__bindgen_ty_5 { + pub seq: ::core::ffi::c_uint, + pub saved_end_io: rq_end_io_fn, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request__bindgen_ty_5"][::core::mem::size_of::() - 16usize]; + ["Alignment of request__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: request__bindgen_ty_5::seq"] + [::core::mem::offset_of!(request__bindgen_ty_5, seq) - 0usize]; + ["Offset of field: request__bindgen_ty_5::saved_end_io"] + [::core::mem::offset_of!(request__bindgen_ty_5, saved_end_io) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request"][::core::mem::size_of::() - 264usize]; + ["Alignment of request"][::core::mem::align_of::() - 8usize]; + ["Offset of field: request::q"][::core::mem::offset_of!(request, q) - 0usize]; + ["Offset of field: request::mq_ctx"][::core::mem::offset_of!(request, mq_ctx) - 8usize]; + ["Offset of field: request::mq_hctx"][::core::mem::offset_of!(request, mq_hctx) - 16usize]; + ["Offset of field: request::cmd_flags"][::core::mem::offset_of!(request, cmd_flags) - 24usize]; + ["Offset of field: request::rq_flags"][::core::mem::offset_of!(request, rq_flags) - 28usize]; + ["Offset of field: request::tag"][::core::mem::offset_of!(request, tag) - 32usize]; + ["Offset of field: request::internal_tag"] + [::core::mem::offset_of!(request, internal_tag) - 36usize]; + ["Offset of field: request::timeout"][::core::mem::offset_of!(request, timeout) - 40usize]; + ["Offset of field: request::__data_len"] + [::core::mem::offset_of!(request, __data_len) - 44usize]; + ["Offset of field: request::__sector"][::core::mem::offset_of!(request, __sector) - 48usize]; + ["Offset of field: request::bio"][::core::mem::offset_of!(request, bio) - 56usize]; + ["Offset of field: request::biotail"][::core::mem::offset_of!(request, biotail) - 64usize]; + ["Offset of field: request::part"][::core::mem::offset_of!(request, part) - 88usize]; + ["Offset of field: request::alloc_time_ns"] + [::core::mem::offset_of!(request, alloc_time_ns) - 96usize]; + ["Offset of field: request::start_time_ns"] + [::core::mem::offset_of!(request, start_time_ns) - 104usize]; + ["Offset of field: request::io_start_time_ns"] + [::core::mem::offset_of!(request, io_start_time_ns) - 112usize]; + ["Offset of field: request::wbt_flags"][::core::mem::offset_of!(request, wbt_flags) - 120usize]; + ["Offset of field: request::stats_sectors"] + [::core::mem::offset_of!(request, stats_sectors) - 122usize]; + ["Offset of field: request::nr_phys_segments"] + [::core::mem::offset_of!(request, nr_phys_segments) - 124usize]; + ["Offset of field: request::nr_integrity_segments"] + [::core::mem::offset_of!(request, nr_integrity_segments) - 126usize]; + ["Offset of field: request::crypt_ctx"][::core::mem::offset_of!(request, crypt_ctx) - 128usize]; + ["Offset of field: request::crypt_keyslot"] + [::core::mem::offset_of!(request, crypt_keyslot) - 136usize]; + ["Offset of field: request::state"][::core::mem::offset_of!(request, state) - 144usize]; + ["Offset of field: request::ref_"][::core::mem::offset_of!(request, ref_) - 148usize]; + ["Offset of field: request::deadline"][::core::mem::offset_of!(request, deadline) - 152usize]; + ["Offset of field: request::elv"][::core::mem::offset_of!(request, elv) - 200usize]; + ["Offset of field: request::flush"][::core::mem::offset_of!(request, flush) - 224usize]; + ["Offset of field: request::fifo_time"][::core::mem::offset_of!(request, fifo_time) - 240usize]; + ["Offset of field: request::end_io"][::core::mem::offset_of!(request, end_io) - 248usize]; + ["Offset of field: request::end_io_data"] + [::core::mem::offset_of!(request, end_io_data) - 256usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct request_queue { + pub queuedata: *mut ::core::ffi::c_void, + pub elevator: *mut elevator_queue, + pub mq_ops: *const blk_mq_ops, + pub queue_ctx: *mut blk_mq_ctx, + pub queue_flags: ::core::ffi::c_ulong, + pub rq_timeout: ::core::ffi::c_uint, + pub queue_depth: ::core::ffi::c_uint, + pub refs: refcount_t, + pub nr_hw_queues: ::core::ffi::c_uint, + pub hctx_table: xarray, + pub q_usage_counter: percpu_ref, + pub io_lock_cls_key: lock_class_key, + pub io_lockdep_map: lockdep_map, + pub q_lock_cls_key: lock_class_key, + pub q_lockdep_map: lockdep_map, + pub last_merge: *mut request, + pub queue_lock: spinlock_t, + pub quiesce_depth: ::core::ffi::c_int, + pub disk: *mut gendisk, + pub mq_kobj: *mut kobject, + pub limits: queue_limits, + pub dev: *mut device, + pub rpm_status: rpm_status, + pub pm_only: atomic_t, + pub stats: *mut blk_queue_stats, + pub rq_qos: *mut rq_qos, + pub rq_qos_mutex: mutex, + pub id: ::core::ffi::c_int, + pub nr_requests: ::core::ffi::c_ulong, + pub crypto_profile: *mut blk_crypto_profile, + pub crypto_kobject: *mut kobject, + pub timeout: timer_list, + pub timeout_work: work_struct, + pub nr_active_requests_shared_tags: atomic_t, + pub sched_shared_tags: *mut blk_mq_tags, + pub icq_list: list_head, + pub blkcg_pols: [::core::ffi::c_ulong; 1usize], + pub root_blkg: *mut blkcg_gq, + pub blkg_list: list_head, + pub blkcg_mutex: mutex, + pub node: ::core::ffi::c_int, + pub requeue_lock: spinlock_t, + pub requeue_list: list_head, + pub requeue_work: delayed_work, + pub blk_trace: *mut blk_trace, + pub fq: *mut blk_flush_queue, + pub flush_list: list_head, + pub sysfs_lock: mutex, + pub sysfs_dir_lock: mutex, + pub limits_lock: mutex, + pub unused_hctx_list: list_head, + pub unused_hctx_lock: spinlock_t, + pub mq_freeze_depth: ::core::ffi::c_int, + pub td: *mut throtl_data, + pub callback_head: callback_head, + pub mq_freeze_wq: wait_queue_head_t, + pub mq_freeze_lock: mutex, + pub tag_set: *mut blk_mq_tag_set, + pub tag_set_list: list_head, + pub debugfs_dir: *mut dentry, + pub sched_debugfs_dir: *mut dentry, + pub rqos_debugfs_dir: *mut dentry, + pub debugfs_mutex: mutex, + pub mq_sysfs_init_done: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request_queue"][::core::mem::size_of::() - 984usize]; + ["Alignment of request_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: request_queue::queuedata"] + [::core::mem::offset_of!(request_queue, queuedata) - 0usize]; + ["Offset of field: request_queue::elevator"] + [::core::mem::offset_of!(request_queue, elevator) - 8usize]; + ["Offset of field: request_queue::mq_ops"] + [::core::mem::offset_of!(request_queue, mq_ops) - 16usize]; + ["Offset of field: request_queue::queue_ctx"] + [::core::mem::offset_of!(request_queue, queue_ctx) - 24usize]; + ["Offset of field: request_queue::queue_flags"] + [::core::mem::offset_of!(request_queue, queue_flags) - 32usize]; + ["Offset of field: request_queue::rq_timeout"] + [::core::mem::offset_of!(request_queue, rq_timeout) - 40usize]; + ["Offset of field: request_queue::queue_depth"] + [::core::mem::offset_of!(request_queue, queue_depth) - 44usize]; + ["Offset of field: request_queue::refs"] + [::core::mem::offset_of!(request_queue, refs) - 48usize]; + ["Offset of field: request_queue::nr_hw_queues"] + [::core::mem::offset_of!(request_queue, nr_hw_queues) - 52usize]; + ["Offset of field: request_queue::hctx_table"] + [::core::mem::offset_of!(request_queue, hctx_table) - 56usize]; + ["Offset of field: request_queue::q_usage_counter"] + [::core::mem::offset_of!(request_queue, q_usage_counter) - 72usize]; + ["Offset of field: request_queue::io_lock_cls_key"] + [::core::mem::offset_of!(request_queue, io_lock_cls_key) - 88usize]; + ["Offset of field: request_queue::io_lockdep_map"] + [::core::mem::offset_of!(request_queue, io_lockdep_map) - 88usize]; + ["Offset of field: request_queue::q_lock_cls_key"] + [::core::mem::offset_of!(request_queue, q_lock_cls_key) - 88usize]; + ["Offset of field: request_queue::q_lockdep_map"] + [::core::mem::offset_of!(request_queue, q_lockdep_map) - 88usize]; + ["Offset of field: request_queue::last_merge"] + [::core::mem::offset_of!(request_queue, last_merge) - 88usize]; + ["Offset of field: request_queue::queue_lock"] + [::core::mem::offset_of!(request_queue, queue_lock) - 96usize]; + ["Offset of field: request_queue::quiesce_depth"] + [::core::mem::offset_of!(request_queue, quiesce_depth) - 100usize]; + ["Offset of field: request_queue::disk"] + [::core::mem::offset_of!(request_queue, disk) - 104usize]; + ["Offset of field: request_queue::mq_kobj"] + [::core::mem::offset_of!(request_queue, mq_kobj) - 112usize]; + ["Offset of field: request_queue::limits"] + [::core::mem::offset_of!(request_queue, limits) - 120usize]; + ["Offset of field: request_queue::dev"][::core::mem::offset_of!(request_queue, dev) - 288usize]; + ["Offset of field: request_queue::rpm_status"] + [::core::mem::offset_of!(request_queue, rpm_status) - 296usize]; + ["Offset of field: request_queue::pm_only"] + [::core::mem::offset_of!(request_queue, pm_only) - 300usize]; + ["Offset of field: request_queue::stats"] + [::core::mem::offset_of!(request_queue, stats) - 304usize]; + ["Offset of field: request_queue::rq_qos"] + [::core::mem::offset_of!(request_queue, rq_qos) - 312usize]; + ["Offset of field: request_queue::rq_qos_mutex"] + [::core::mem::offset_of!(request_queue, rq_qos_mutex) - 320usize]; + ["Offset of field: request_queue::id"][::core::mem::offset_of!(request_queue, id) - 352usize]; + ["Offset of field: request_queue::nr_requests"] + [::core::mem::offset_of!(request_queue, nr_requests) - 360usize]; + ["Offset of field: request_queue::crypto_profile"] + [::core::mem::offset_of!(request_queue, crypto_profile) - 368usize]; + ["Offset of field: request_queue::crypto_kobject"] + [::core::mem::offset_of!(request_queue, crypto_kobject) - 376usize]; + ["Offset of field: request_queue::timeout"] + [::core::mem::offset_of!(request_queue, timeout) - 384usize]; + ["Offset of field: request_queue::timeout_work"] + [::core::mem::offset_of!(request_queue, timeout_work) - 424usize]; + ["Offset of field: request_queue::nr_active_requests_shared_tags"] + [::core::mem::offset_of!(request_queue, nr_active_requests_shared_tags) - 456usize]; + ["Offset of field: request_queue::sched_shared_tags"] + [::core::mem::offset_of!(request_queue, sched_shared_tags) - 464usize]; + ["Offset of field: request_queue::icq_list"] + [::core::mem::offset_of!(request_queue, icq_list) - 472usize]; + ["Offset of field: request_queue::blkcg_pols"] + [::core::mem::offset_of!(request_queue, blkcg_pols) - 488usize]; + ["Offset of field: request_queue::root_blkg"] + [::core::mem::offset_of!(request_queue, root_blkg) - 496usize]; + ["Offset of field: request_queue::blkg_list"] + [::core::mem::offset_of!(request_queue, blkg_list) - 504usize]; + ["Offset of field: request_queue::blkcg_mutex"] + [::core::mem::offset_of!(request_queue, blkcg_mutex) - 520usize]; + ["Offset of field: request_queue::node"] + [::core::mem::offset_of!(request_queue, node) - 552usize]; + ["Offset of field: request_queue::requeue_lock"] + [::core::mem::offset_of!(request_queue, requeue_lock) - 556usize]; + ["Offset of field: request_queue::requeue_list"] + [::core::mem::offset_of!(request_queue, requeue_list) - 560usize]; + ["Offset of field: request_queue::requeue_work"] + [::core::mem::offset_of!(request_queue, requeue_work) - 576usize]; + ["Offset of field: request_queue::blk_trace"] + [::core::mem::offset_of!(request_queue, blk_trace) - 664usize]; + ["Offset of field: request_queue::fq"][::core::mem::offset_of!(request_queue, fq) - 672usize]; + ["Offset of field: request_queue::flush_list"] + [::core::mem::offset_of!(request_queue, flush_list) - 680usize]; + ["Offset of field: request_queue::sysfs_lock"] + [::core::mem::offset_of!(request_queue, sysfs_lock) - 696usize]; + ["Offset of field: request_queue::sysfs_dir_lock"] + [::core::mem::offset_of!(request_queue, sysfs_dir_lock) - 728usize]; + ["Offset of field: request_queue::limits_lock"] + [::core::mem::offset_of!(request_queue, limits_lock) - 760usize]; + ["Offset of field: request_queue::unused_hctx_list"] + [::core::mem::offset_of!(request_queue, unused_hctx_list) - 792usize]; + ["Offset of field: request_queue::unused_hctx_lock"] + [::core::mem::offset_of!(request_queue, unused_hctx_lock) - 808usize]; + ["Offset of field: request_queue::mq_freeze_depth"] + [::core::mem::offset_of!(request_queue, mq_freeze_depth) - 812usize]; + ["Offset of field: request_queue::td"][::core::mem::offset_of!(request_queue, td) - 816usize]; + ["Offset of field: request_queue::callback_head"] + [::core::mem::offset_of!(request_queue, callback_head) - 824usize]; + ["Offset of field: request_queue::mq_freeze_wq"] + [::core::mem::offset_of!(request_queue, mq_freeze_wq) - 840usize]; + ["Offset of field: request_queue::mq_freeze_lock"] + [::core::mem::offset_of!(request_queue, mq_freeze_lock) - 864usize]; + ["Offset of field: request_queue::tag_set"] + [::core::mem::offset_of!(request_queue, tag_set) - 896usize]; + ["Offset of field: request_queue::tag_set_list"] + [::core::mem::offset_of!(request_queue, tag_set_list) - 904usize]; + ["Offset of field: request_queue::debugfs_dir"] + [::core::mem::offset_of!(request_queue, debugfs_dir) - 920usize]; + ["Offset of field: request_queue::sched_debugfs_dir"] + [::core::mem::offset_of!(request_queue, sched_debugfs_dir) - 928usize]; + ["Offset of field: request_queue::rqos_debugfs_dir"] + [::core::mem::offset_of!(request_queue, rqos_debugfs_dir) - 936usize]; + ["Offset of field: request_queue::debugfs_mutex"] + [::core::mem::offset_of!(request_queue, debugfs_mutex) - 944usize]; + ["Offset of field: request_queue::mq_sysfs_init_done"] + [::core::mem::offset_of!(request_queue, mq_sysfs_init_done) - 976usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct request_sock_ops { + pub family: ::core::ffi::c_int, + pub obj_size: ::core::ffi::c_uint, + pub slab: *mut kmem_cache, + pub slab_name: *mut ::core::ffi::c_char, + pub rtx_syn_ack: ::core::option::Option< + unsafe extern "C" fn(arg1: *const sock, arg2: *mut request_sock) -> ::core::ffi::c_int, + >, + pub send_ack: ::core::option::Option< + unsafe extern "C" fn(arg1: *const sock, arg2: *mut sk_buff, arg3: *mut request_sock), + >, + pub send_reset: ::core::option::Option< + unsafe extern "C" fn(arg1: *const sock, arg2: *mut sk_buff, arg3: sk_rst_reason), + >, + pub destructor: ::core::option::Option, + pub syn_ack_timeout: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of request_sock_ops"][::core::mem::size_of::() - 64usize]; + ["Alignment of request_sock_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: request_sock_ops::family"] + [::core::mem::offset_of!(request_sock_ops, family) - 0usize]; + ["Offset of field: request_sock_ops::obj_size"] + [::core::mem::offset_of!(request_sock_ops, obj_size) - 4usize]; + ["Offset of field: request_sock_ops::slab"] + [::core::mem::offset_of!(request_sock_ops, slab) - 8usize]; + ["Offset of field: request_sock_ops::slab_name"] + [::core::mem::offset_of!(request_sock_ops, slab_name) - 16usize]; + ["Offset of field: request_sock_ops::rtx_syn_ack"] + [::core::mem::offset_of!(request_sock_ops, rtx_syn_ack) - 24usize]; + ["Offset of field: request_sock_ops::send_ack"] + [::core::mem::offset_of!(request_sock_ops, send_ack) - 32usize]; + ["Offset of field: request_sock_ops::send_reset"] + [::core::mem::offset_of!(request_sock_ops, send_reset) - 40usize]; + ["Offset of field: request_sock_ops::destructor"] + [::core::mem::offset_of!(request_sock_ops, destructor) - 48usize]; + ["Offset of field: request_sock_ops::syn_ack_timeout"] + [::core::mem::offset_of!(request_sock_ops, syn_ack_timeout) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct reset_control { + pub rcdev: *mut reset_controller_dev, + pub list: list_head, + pub id: ::core::ffi::c_uint, + pub refcnt: kref, + pub acquired: bool_, + pub shared: bool_, + pub array: bool_, + pub deassert_count: atomic_t, + pub triggered_count: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of reset_control"][::core::mem::size_of::() - 48usize]; + ["Alignment of reset_control"][::core::mem::align_of::() - 8usize]; + ["Offset of field: reset_control::rcdev"] + [::core::mem::offset_of!(reset_control, rcdev) - 0usize]; + ["Offset of field: reset_control::list"][::core::mem::offset_of!(reset_control, list) - 8usize]; + ["Offset of field: reset_control::id"][::core::mem::offset_of!(reset_control, id) - 24usize]; + ["Offset of field: reset_control::refcnt"] + [::core::mem::offset_of!(reset_control, refcnt) - 28usize]; + ["Offset of field: reset_control::acquired"] + [::core::mem::offset_of!(reset_control, acquired) - 32usize]; + ["Offset of field: reset_control::shared"] + [::core::mem::offset_of!(reset_control, shared) - 33usize]; + ["Offset of field: reset_control::array"] + [::core::mem::offset_of!(reset_control, array) - 34usize]; + ["Offset of field: reset_control::deassert_count"] + [::core::mem::offset_of!(reset_control, deassert_count) - 36usize]; + ["Offset of field: reset_control::triggered_count"] + [::core::mem::offset_of!(reset_control, triggered_count) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct reset_control_ops { + pub reset: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut reset_controller_dev, + arg2: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub assert: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut reset_controller_dev, + arg2: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub deassert: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut reset_controller_dev, + arg2: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub status: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut reset_controller_dev, + arg2: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of reset_control_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of reset_control_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: reset_control_ops::reset"] + [::core::mem::offset_of!(reset_control_ops, reset) - 0usize]; + ["Offset of field: reset_control_ops::assert"] + [::core::mem::offset_of!(reset_control_ops, assert) - 8usize]; + ["Offset of field: reset_control_ops::deassert"] + [::core::mem::offset_of!(reset_control_ops, deassert) - 16usize]; + ["Offset of field: reset_control_ops::status"] + [::core::mem::offset_of!(reset_control_ops, status) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct reset_controller_dev { + pub ops: *const reset_control_ops, + pub owner: *mut module, + pub list: list_head, + pub reset_control_head: list_head, + pub dev: *mut device, + pub of_node: *mut device_node, + pub of_args: *const of_phandle_args, + pub of_reset_n_cells: ::core::ffi::c_int, + pub of_xlate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut reset_controller_dev, + arg2: *const of_phandle_args, + ) -> ::core::ffi::c_int, + >, + pub nr_resets: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of reset_controller_dev"][::core::mem::size_of::() - 96usize]; + ["Alignment of reset_controller_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: reset_controller_dev::ops"] + [::core::mem::offset_of!(reset_controller_dev, ops) - 0usize]; + ["Offset of field: reset_controller_dev::owner"] + [::core::mem::offset_of!(reset_controller_dev, owner) - 8usize]; + ["Offset of field: reset_controller_dev::list"] + [::core::mem::offset_of!(reset_controller_dev, list) - 16usize]; + ["Offset of field: reset_controller_dev::reset_control_head"] + [::core::mem::offset_of!(reset_controller_dev, reset_control_head) - 32usize]; + ["Offset of field: reset_controller_dev::dev"] + [::core::mem::offset_of!(reset_controller_dev, dev) - 48usize]; + ["Offset of field: reset_controller_dev::of_node"] + [::core::mem::offset_of!(reset_controller_dev, of_node) - 56usize]; + ["Offset of field: reset_controller_dev::of_args"] + [::core::mem::offset_of!(reset_controller_dev, of_args) - 64usize]; + ["Offset of field: reset_controller_dev::of_reset_n_cells"] + [::core::mem::offset_of!(reset_controller_dev, of_reset_n_cells) - 72usize]; + ["Offset of field: reset_controller_dev::of_xlate"] + [::core::mem::offset_of!(reset_controller_dev, of_xlate) - 80usize]; + ["Offset of field: reset_controller_dev::nr_resets"] + [::core::mem::offset_of!(reset_controller_dev, nr_resets) - 88usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct restart_block { + pub arch_data: ::core::ffi::c_ulong, + pub fn_: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut restart_block) -> ::core::ffi::c_long, + >, + pub __bindgen_anon_1: restart_block__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union restart_block__bindgen_ty_1 { + pub futex: restart_block__bindgen_ty_1__bindgen_ty_1, + pub nanosleep: restart_block__bindgen_ty_1__bindgen_ty_2, + pub poll: restart_block__bindgen_ty_1__bindgen_ty_3, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct restart_block__bindgen_ty_1__bindgen_ty_1 { + pub uaddr: *mut u32_, + pub val: u32_, + pub flags: u32_, + pub bitset: u32_, + pub time: u64_, + pub uaddr2: *mut u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of restart_block__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of restart_block__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_1::uaddr"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_1, uaddr) - 0usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_1::val"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_1, val) - 8usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_1::flags"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_1, flags) - 12usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_1::bitset"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_1, bitset) - 16usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_1::time"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_1, time) - 24usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_1::uaddr2"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_1, uaddr2) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct restart_block__bindgen_ty_1__bindgen_ty_2 { + pub clockid: clockid_t, + pub type_: timespec_type, + pub __bindgen_anon_1: restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub expires: u64_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { + pub rmtp: *mut __kernel_timespec, + pub compat_rmtp: *mut old_timespec32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::core::mem::size_of::< + restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + >() - 8usize]; + ["Alignment of restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::core::mem::align_of::< + restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + >() - 8usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::rmtp"][::core::mem::offset_of!( + restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + rmtp + ) - 0usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::compat_rmtp"][::core::mem::offset_of!( + restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + compat_rmtp + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of restart_block__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of restart_block__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_2::clockid"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_2, clockid) - 0usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_2::type_"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_2, type_) - 4usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_2::expires"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_2, expires) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct restart_block__bindgen_ty_1__bindgen_ty_3 { + pub ufds: *mut pollfd, + pub nfds: ::core::ffi::c_int, + pub has_timeout: ::core::ffi::c_int, + pub tv_sec: ::core::ffi::c_ulong, + pub tv_nsec: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of restart_block__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of restart_block__bindgen_ty_1__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_3::ufds"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_3, ufds) - 0usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_3::nfds"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_3, nfds) - 8usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_3::has_timeout"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_3, has_timeout) - 12usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_3::tv_sec"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_3, tv_sec) - 16usize]; + ["Offset of field: restart_block__bindgen_ty_1__bindgen_ty_3::tv_nsec"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1__bindgen_ty_3, tv_nsec) - 24usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of restart_block__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of restart_block__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: restart_block__bindgen_ty_1::futex"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1, futex) - 0usize]; + ["Offset of field: restart_block__bindgen_ty_1::nanosleep"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1, nanosleep) - 0usize]; + ["Offset of field: restart_block__bindgen_ty_1::poll"] + [::core::mem::offset_of!(restart_block__bindgen_ty_1, poll) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of restart_block"][::core::mem::size_of::() - 56usize]; + ["Alignment of restart_block"][::core::mem::align_of::() - 8usize]; + ["Offset of field: restart_block::arch_data"] + [::core::mem::offset_of!(restart_block, arch_data) - 0usize]; + ["Offset of field: restart_block::fn_"][::core::mem::offset_of!(restart_block, fn_) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct return_instance { + pub uprobe: *mut uprobe, + pub func: ::core::ffi::c_ulong, + pub stack: ::core::ffi::c_ulong, + pub orig_ret_vaddr: ::core::ffi::c_ulong, + pub chained: bool_, + pub next: *mut return_instance, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of return_instance"][::core::mem::size_of::() - 48usize]; + ["Alignment of return_instance"][::core::mem::align_of::() - 8usize]; + ["Offset of field: return_instance::uprobe"] + [::core::mem::offset_of!(return_instance, uprobe) - 0usize]; + ["Offset of field: return_instance::func"] + [::core::mem::offset_of!(return_instance, func) - 8usize]; + ["Offset of field: return_instance::stack"] + [::core::mem::offset_of!(return_instance, stack) - 16usize]; + ["Offset of field: return_instance::orig_ret_vaddr"] + [::core::mem::offset_of!(return_instance, orig_ret_vaddr) - 24usize]; + ["Offset of field: return_instance::chained"] + [::core::mem::offset_of!(return_instance, chained) - 32usize]; + ["Offset of field: return_instance::next"] + [::core::mem::offset_of!(return_instance, next) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rhash_lock_head {} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rhash_lock_head"][::core::mem::size_of::() - 0usize]; + ["Alignment of rhash_lock_head"][::core::mem::align_of::() - 1usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rhashtable_compare_arg { + pub ht: *mut rhashtable, + pub key: *const ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rhashtable_compare_arg"][::core::mem::size_of::() - 16usize]; + ["Alignment of rhashtable_compare_arg"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: rhashtable_compare_arg::ht"] + [::core::mem::offset_of!(rhashtable_compare_arg, ht) - 0usize]; + ["Offset of field: rhashtable_compare_arg::key"] + [::core::mem::offset_of!(rhashtable_compare_arg, key) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ring_buffer_event { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub array: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ring_buffer_event"][::core::mem::size_of::() - 4usize]; + ["Alignment of ring_buffer_event"][::core::mem::align_of::() - 4usize]; + ["Offset of field: ring_buffer_event::array"] + [::core::mem::offset_of!(ring_buffer_event, array) - 4usize]; +}; +impl ring_buffer_event { + #[inline] + pub fn type_len(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u32) } + } + #[inline] + pub fn set_type_len(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 5u8, val as u64) + } + } + #[inline] + pub unsafe fn type_len_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 5u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_type_len_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 5u8, + val as u64, + ) + } + } + #[inline] + pub fn time_delta(&self) -> u32_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_time_delta(&mut self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub unsafe fn time_delta_raw(this: *const Self) -> u32_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 27u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_time_delta_raw(this: *mut Self, val: u32_) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 27u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(type_len: u32_, time_delta: u32_) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 5u8, { + let type_len: u32 = unsafe { ::core::mem::transmute(type_len) }; + type_len as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let time_delta: u32 = unsafe { ::core::mem::transmute(time_delta) }; + time_delta as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ring_buffer_iter { + pub cpu_buffer: *mut ring_buffer_per_cpu, + pub head: ::core::ffi::c_ulong, + pub next_event: ::core::ffi::c_ulong, + pub head_page: *mut buffer_page, + pub cache_reader_page: *mut buffer_page, + pub cache_read: ::core::ffi::c_ulong, + pub cache_pages_removed: ::core::ffi::c_ulong, + pub read_stamp: u64_, + pub page_stamp: u64_, + pub event: *mut ring_buffer_event, + pub event_size: usize, + pub missed_events: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ring_buffer_iter"][::core::mem::size_of::() - 96usize]; + ["Alignment of ring_buffer_iter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ring_buffer_iter::cpu_buffer"] + [::core::mem::offset_of!(ring_buffer_iter, cpu_buffer) - 0usize]; + ["Offset of field: ring_buffer_iter::head"] + [::core::mem::offset_of!(ring_buffer_iter, head) - 8usize]; + ["Offset of field: ring_buffer_iter::next_event"] + [::core::mem::offset_of!(ring_buffer_iter, next_event) - 16usize]; + ["Offset of field: ring_buffer_iter::head_page"] + [::core::mem::offset_of!(ring_buffer_iter, head_page) - 24usize]; + ["Offset of field: ring_buffer_iter::cache_reader_page"] + [::core::mem::offset_of!(ring_buffer_iter, cache_reader_page) - 32usize]; + ["Offset of field: ring_buffer_iter::cache_read"] + [::core::mem::offset_of!(ring_buffer_iter, cache_read) - 40usize]; + ["Offset of field: ring_buffer_iter::cache_pages_removed"] + [::core::mem::offset_of!(ring_buffer_iter, cache_pages_removed) - 48usize]; + ["Offset of field: ring_buffer_iter::read_stamp"] + [::core::mem::offset_of!(ring_buffer_iter, read_stamp) - 56usize]; + ["Offset of field: ring_buffer_iter::page_stamp"] + [::core::mem::offset_of!(ring_buffer_iter, page_stamp) - 64usize]; + ["Offset of field: ring_buffer_iter::event"] + [::core::mem::offset_of!(ring_buffer_iter, event) - 72usize]; + ["Offset of field: ring_buffer_iter::event_size"] + [::core::mem::offset_of!(ring_buffer_iter, event_size) - 80usize]; + ["Offset of field: ring_buffer_iter::missed_events"] + [::core::mem::offset_of!(ring_buffer_iter, missed_events) - 88usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct ring_buffer_meta { + pub magic: ::core::ffi::c_int, + pub struct_size: ::core::ffi::c_int, + pub text_addr: ::core::ffi::c_ulong, + pub data_addr: ::core::ffi::c_ulong, + pub first_buffer: ::core::ffi::c_ulong, + pub head_buffer: ::core::ffi::c_ulong, + pub commit_buffer: ::core::ffi::c_ulong, + pub subbuf_size: __u32, + pub nr_subbufs: __u32, + pub buffers: __IncompleteArrayField<::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ring_buffer_meta"][::core::mem::size_of::() - 56usize]; + ["Alignment of ring_buffer_meta"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ring_buffer_meta::magic"] + [::core::mem::offset_of!(ring_buffer_meta, magic) - 0usize]; + ["Offset of field: ring_buffer_meta::struct_size"] + [::core::mem::offset_of!(ring_buffer_meta, struct_size) - 4usize]; + ["Offset of field: ring_buffer_meta::text_addr"] + [::core::mem::offset_of!(ring_buffer_meta, text_addr) - 8usize]; + ["Offset of field: ring_buffer_meta::data_addr"] + [::core::mem::offset_of!(ring_buffer_meta, data_addr) - 16usize]; + ["Offset of field: ring_buffer_meta::first_buffer"] + [::core::mem::offset_of!(ring_buffer_meta, first_buffer) - 24usize]; + ["Offset of field: ring_buffer_meta::head_buffer"] + [::core::mem::offset_of!(ring_buffer_meta, head_buffer) - 32usize]; + ["Offset of field: ring_buffer_meta::commit_buffer"] + [::core::mem::offset_of!(ring_buffer_meta, commit_buffer) - 40usize]; + ["Offset of field: ring_buffer_meta::subbuf_size"] + [::core::mem::offset_of!(ring_buffer_meta, subbuf_size) - 48usize]; + ["Offset of field: ring_buffer_meta::nr_subbufs"] + [::core::mem::offset_of!(ring_buffer_meta, nr_subbufs) - 52usize]; + ["Offset of field: ring_buffer_meta::buffers"] + [::core::mem::offset_of!(ring_buffer_meta, buffers) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ring_buffer_per_cpu { + pub cpu: ::core::ffi::c_int, + pub record_disabled: atomic_t, + pub resize_disabled: atomic_t, + pub buffer: *mut trace_buffer, + pub reader_lock: raw_spinlock_t, + pub lock: arch_spinlock_t, + pub lock_key: lock_class_key, + pub free_page: *mut buffer_data_page, + pub nr_pages: ::core::ffi::c_ulong, + pub current_context: ::core::ffi::c_uint, + pub pages: *mut list_head, + pub cnt: ::core::ffi::c_ulong, + pub head_page: *mut buffer_page, + pub tail_page: *mut buffer_page, + pub commit_page: *mut buffer_page, + pub reader_page: *mut buffer_page, + pub lost_events: ::core::ffi::c_ulong, + pub last_overrun: ::core::ffi::c_ulong, + pub nest: ::core::ffi::c_ulong, + pub entries_bytes: local_t, + pub entries: local_t, + pub overrun: local_t, + pub commit_overrun: local_t, + pub dropped_events: local_t, + pub committing: local_t, + pub commits: local_t, + pub pages_touched: local_t, + pub pages_lost: local_t, + pub pages_read: local_t, + pub last_pages_touch: ::core::ffi::c_long, + pub shortest_full: usize, + pub read: ::core::ffi::c_ulong, + pub read_bytes: ::core::ffi::c_ulong, + pub write_stamp: rb_time_t, + pub before_stamp: rb_time_t, + pub event_stamp: [u64_; 5usize], + pub read_stamp: u64_, + pub pages_removed: ::core::ffi::c_ulong, + pub mapped: ::core::ffi::c_uint, + pub user_mapped: ::core::ffi::c_uint, + pub mapping_lock: mutex, + pub subbuf_ids: *mut ::core::ffi::c_ulong, + pub meta_page: *mut trace_buffer_meta, + pub ring_meta: *mut ring_buffer_meta, + pub nr_pages_to_update: ::core::ffi::c_long, + pub new_pages: list_head, + pub update_pages_work: work_struct, + pub update_done: completion, + pub irq_work: rb_irq_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ring_buffer_per_cpu"][::core::mem::size_of::() - 552usize]; + ["Alignment of ring_buffer_per_cpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ring_buffer_per_cpu::cpu"] + [::core::mem::offset_of!(ring_buffer_per_cpu, cpu) - 0usize]; + ["Offset of field: ring_buffer_per_cpu::record_disabled"] + [::core::mem::offset_of!(ring_buffer_per_cpu, record_disabled) - 4usize]; + ["Offset of field: ring_buffer_per_cpu::resize_disabled"] + [::core::mem::offset_of!(ring_buffer_per_cpu, resize_disabled) - 8usize]; + ["Offset of field: ring_buffer_per_cpu::buffer"] + [::core::mem::offset_of!(ring_buffer_per_cpu, buffer) - 16usize]; + ["Offset of field: ring_buffer_per_cpu::reader_lock"] + [::core::mem::offset_of!(ring_buffer_per_cpu, reader_lock) - 24usize]; + ["Offset of field: ring_buffer_per_cpu::lock"] + [::core::mem::offset_of!(ring_buffer_per_cpu, lock) - 28usize]; + ["Offset of field: ring_buffer_per_cpu::lock_key"] + [::core::mem::offset_of!(ring_buffer_per_cpu, lock_key) - 32usize]; + ["Offset of field: ring_buffer_per_cpu::free_page"] + [::core::mem::offset_of!(ring_buffer_per_cpu, free_page) - 32usize]; + ["Offset of field: ring_buffer_per_cpu::nr_pages"] + [::core::mem::offset_of!(ring_buffer_per_cpu, nr_pages) - 40usize]; + ["Offset of field: ring_buffer_per_cpu::current_context"] + [::core::mem::offset_of!(ring_buffer_per_cpu, current_context) - 48usize]; + ["Offset of field: ring_buffer_per_cpu::pages"] + [::core::mem::offset_of!(ring_buffer_per_cpu, pages) - 56usize]; + ["Offset of field: ring_buffer_per_cpu::cnt"] + [::core::mem::offset_of!(ring_buffer_per_cpu, cnt) - 64usize]; + ["Offset of field: ring_buffer_per_cpu::head_page"] + [::core::mem::offset_of!(ring_buffer_per_cpu, head_page) - 72usize]; + ["Offset of field: ring_buffer_per_cpu::tail_page"] + [::core::mem::offset_of!(ring_buffer_per_cpu, tail_page) - 80usize]; + ["Offset of field: ring_buffer_per_cpu::commit_page"] + [::core::mem::offset_of!(ring_buffer_per_cpu, commit_page) - 88usize]; + ["Offset of field: ring_buffer_per_cpu::reader_page"] + [::core::mem::offset_of!(ring_buffer_per_cpu, reader_page) - 96usize]; + ["Offset of field: ring_buffer_per_cpu::lost_events"] + [::core::mem::offset_of!(ring_buffer_per_cpu, lost_events) - 104usize]; + ["Offset of field: ring_buffer_per_cpu::last_overrun"] + [::core::mem::offset_of!(ring_buffer_per_cpu, last_overrun) - 112usize]; + ["Offset of field: ring_buffer_per_cpu::nest"] + [::core::mem::offset_of!(ring_buffer_per_cpu, nest) - 120usize]; + ["Offset of field: ring_buffer_per_cpu::entries_bytes"] + [::core::mem::offset_of!(ring_buffer_per_cpu, entries_bytes) - 128usize]; + ["Offset of field: ring_buffer_per_cpu::entries"] + [::core::mem::offset_of!(ring_buffer_per_cpu, entries) - 136usize]; + ["Offset of field: ring_buffer_per_cpu::overrun"] + [::core::mem::offset_of!(ring_buffer_per_cpu, overrun) - 144usize]; + ["Offset of field: ring_buffer_per_cpu::commit_overrun"] + [::core::mem::offset_of!(ring_buffer_per_cpu, commit_overrun) - 152usize]; + ["Offset of field: ring_buffer_per_cpu::dropped_events"] + [::core::mem::offset_of!(ring_buffer_per_cpu, dropped_events) - 160usize]; + ["Offset of field: ring_buffer_per_cpu::committing"] + [::core::mem::offset_of!(ring_buffer_per_cpu, committing) - 168usize]; + ["Offset of field: ring_buffer_per_cpu::commits"] + [::core::mem::offset_of!(ring_buffer_per_cpu, commits) - 176usize]; + ["Offset of field: ring_buffer_per_cpu::pages_touched"] + [::core::mem::offset_of!(ring_buffer_per_cpu, pages_touched) - 184usize]; + ["Offset of field: ring_buffer_per_cpu::pages_lost"] + [::core::mem::offset_of!(ring_buffer_per_cpu, pages_lost) - 192usize]; + ["Offset of field: ring_buffer_per_cpu::pages_read"] + [::core::mem::offset_of!(ring_buffer_per_cpu, pages_read) - 200usize]; + ["Offset of field: ring_buffer_per_cpu::last_pages_touch"] + [::core::mem::offset_of!(ring_buffer_per_cpu, last_pages_touch) - 208usize]; + ["Offset of field: ring_buffer_per_cpu::shortest_full"] + [::core::mem::offset_of!(ring_buffer_per_cpu, shortest_full) - 216usize]; + ["Offset of field: ring_buffer_per_cpu::read"] + [::core::mem::offset_of!(ring_buffer_per_cpu, read) - 224usize]; + ["Offset of field: ring_buffer_per_cpu::read_bytes"] + [::core::mem::offset_of!(ring_buffer_per_cpu, read_bytes) - 232usize]; + ["Offset of field: ring_buffer_per_cpu::write_stamp"] + [::core::mem::offset_of!(ring_buffer_per_cpu, write_stamp) - 240usize]; + ["Offset of field: ring_buffer_per_cpu::before_stamp"] + [::core::mem::offset_of!(ring_buffer_per_cpu, before_stamp) - 248usize]; + ["Offset of field: ring_buffer_per_cpu::event_stamp"] + [::core::mem::offset_of!(ring_buffer_per_cpu, event_stamp) - 256usize]; + ["Offset of field: ring_buffer_per_cpu::read_stamp"] + [::core::mem::offset_of!(ring_buffer_per_cpu, read_stamp) - 296usize]; + ["Offset of field: ring_buffer_per_cpu::pages_removed"] + [::core::mem::offset_of!(ring_buffer_per_cpu, pages_removed) - 304usize]; + ["Offset of field: ring_buffer_per_cpu::mapped"] + [::core::mem::offset_of!(ring_buffer_per_cpu, mapped) - 312usize]; + ["Offset of field: ring_buffer_per_cpu::user_mapped"] + [::core::mem::offset_of!(ring_buffer_per_cpu, user_mapped) - 316usize]; + ["Offset of field: ring_buffer_per_cpu::mapping_lock"] + [::core::mem::offset_of!(ring_buffer_per_cpu, mapping_lock) - 320usize]; + ["Offset of field: ring_buffer_per_cpu::subbuf_ids"] + [::core::mem::offset_of!(ring_buffer_per_cpu, subbuf_ids) - 352usize]; + ["Offset of field: ring_buffer_per_cpu::meta_page"] + [::core::mem::offset_of!(ring_buffer_per_cpu, meta_page) - 360usize]; + ["Offset of field: ring_buffer_per_cpu::ring_meta"] + [::core::mem::offset_of!(ring_buffer_per_cpu, ring_meta) - 368usize]; + ["Offset of field: ring_buffer_per_cpu::nr_pages_to_update"] + [::core::mem::offset_of!(ring_buffer_per_cpu, nr_pages_to_update) - 376usize]; + ["Offset of field: ring_buffer_per_cpu::new_pages"] + [::core::mem::offset_of!(ring_buffer_per_cpu, new_pages) - 384usize]; + ["Offset of field: ring_buffer_per_cpu::update_pages_work"] + [::core::mem::offset_of!(ring_buffer_per_cpu, update_pages_work) - 400usize]; + ["Offset of field: ring_buffer_per_cpu::update_done"] + [::core::mem::offset_of!(ring_buffer_per_cpu, update_done) - 432usize]; + ["Offset of field: ring_buffer_per_cpu::irq_work"] + [::core::mem::offset_of!(ring_buffer_per_cpu, irq_work) - 464usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct robust_list { + pub next: *mut robust_list, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of robust_list"][::core::mem::size_of::() - 8usize]; + ["Alignment of robust_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: robust_list::next"][::core::mem::offset_of!(robust_list, next) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct robust_list_head { + pub list: robust_list, + pub futex_offset: ::core::ffi::c_long, + pub list_op_pending: *mut robust_list, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of robust_list_head"][::core::mem::size_of::() - 24usize]; + ["Alignment of robust_list_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: robust_list_head::list"] + [::core::mem::offset_of!(robust_list_head, list) - 0usize]; + ["Offset of field: robust_list_head::futex_offset"] + [::core::mem::offset_of!(robust_list_head, futex_offset) - 8usize]; + ["Offset of field: robust_list_head::list_op_pending"] + [::core::mem::offset_of!(robust_list_head, list_op_pending) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct root_domain { + pub refcount: atomic_t, + pub rto_count: atomic_t, + pub rcu: callback_head, + pub span: cpumask_var_t, + pub online: cpumask_var_t, + pub overloaded: bool_, + pub overutilized: bool_, + pub dlo_mask: cpumask_var_t, + pub dlo_count: atomic_t, + pub dl_bw: dl_bw, + pub cpudl: cpudl, + pub visit_gen: u64_, + pub rto_push_work: irq_work, + pub rto_lock: raw_spinlock_t, + pub rto_loop: ::core::ffi::c_int, + pub rto_cpu: ::core::ffi::c_int, + pub rto_loop_next: atomic_t, + pub rto_loop_start: atomic_t, + pub rto_mask: cpumask_var_t, + pub cpupri: cpupri, + pub pd: *mut perf_domain, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of root_domain"][::core::mem::size_of::() - 1816usize]; + ["Alignment of root_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: root_domain::refcount"] + [::core::mem::offset_of!(root_domain, refcount) - 0usize]; + ["Offset of field: root_domain::rto_count"] + [::core::mem::offset_of!(root_domain, rto_count) - 4usize]; + ["Offset of field: root_domain::rcu"][::core::mem::offset_of!(root_domain, rcu) - 8usize]; + ["Offset of field: root_domain::span"][::core::mem::offset_of!(root_domain, span) - 24usize]; + ["Offset of field: root_domain::online"] + [::core::mem::offset_of!(root_domain, online) - 32usize]; + ["Offset of field: root_domain::overloaded"] + [::core::mem::offset_of!(root_domain, overloaded) - 40usize]; + ["Offset of field: root_domain::overutilized"] + [::core::mem::offset_of!(root_domain, overutilized) - 41usize]; + ["Offset of field: root_domain::dlo_mask"] + [::core::mem::offset_of!(root_domain, dlo_mask) - 48usize]; + ["Offset of field: root_domain::dlo_count"] + [::core::mem::offset_of!(root_domain, dlo_count) - 56usize]; + ["Offset of field: root_domain::dl_bw"][::core::mem::offset_of!(root_domain, dl_bw) - 64usize]; + ["Offset of field: root_domain::cpudl"][::core::mem::offset_of!(root_domain, cpudl) - 88usize]; + ["Offset of field: root_domain::visit_gen"] + [::core::mem::offset_of!(root_domain, visit_gen) - 112usize]; + ["Offset of field: root_domain::rto_push_work"] + [::core::mem::offset_of!(root_domain, rto_push_work) - 120usize]; + ["Offset of field: root_domain::rto_lock"] + [::core::mem::offset_of!(root_domain, rto_lock) - 152usize]; + ["Offset of field: root_domain::rto_loop"] + [::core::mem::offset_of!(root_domain, rto_loop) - 156usize]; + ["Offset of field: root_domain::rto_cpu"] + [::core::mem::offset_of!(root_domain, rto_cpu) - 160usize]; + ["Offset of field: root_domain::rto_loop_next"] + [::core::mem::offset_of!(root_domain, rto_loop_next) - 164usize]; + ["Offset of field: root_domain::rto_loop_start"] + [::core::mem::offset_of!(root_domain, rto_loop_start) - 168usize]; + ["Offset of field: root_domain::rto_mask"] + [::core::mem::offset_of!(root_domain, rto_mask) - 176usize]; + ["Offset of field: root_domain::cpupri"] + [::core::mem::offset_of!(root_domain, cpupri) - 184usize]; + ["Offset of field: root_domain::pd"][::core::mem::offset_of!(root_domain, pd) - 1808usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_cred_cache { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_auth { + pub au_cslack: ::core::ffi::c_uint, + pub au_rslack: ::core::ffi::c_uint, + pub au_verfsize: ::core::ffi::c_uint, + pub au_ralign: ::core::ffi::c_uint, + pub au_flags: ::core::ffi::c_ulong, + pub au_ops: *const rpc_authops, + pub au_flavor: rpc_authflavor_t, + pub au_count: refcount_t, + pub au_credcache: *mut rpc_cred_cache, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_auth"][::core::mem::size_of::() - 48usize]; + ["Alignment of rpc_auth"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_auth::au_cslack"][::core::mem::offset_of!(rpc_auth, au_cslack) - 0usize]; + ["Offset of field: rpc_auth::au_rslack"][::core::mem::offset_of!(rpc_auth, au_rslack) - 4usize]; + ["Offset of field: rpc_auth::au_verfsize"] + [::core::mem::offset_of!(rpc_auth, au_verfsize) - 8usize]; + ["Offset of field: rpc_auth::au_ralign"] + [::core::mem::offset_of!(rpc_auth, au_ralign) - 12usize]; + ["Offset of field: rpc_auth::au_flags"][::core::mem::offset_of!(rpc_auth, au_flags) - 16usize]; + ["Offset of field: rpc_auth::au_ops"][::core::mem::offset_of!(rpc_auth, au_ops) - 24usize]; + ["Offset of field: rpc_auth::au_flavor"] + [::core::mem::offset_of!(rpc_auth, au_flavor) - 32usize]; + ["Offset of field: rpc_auth::au_count"][::core::mem::offset_of!(rpc_auth, au_count) - 36usize]; + ["Offset of field: rpc_auth::au_credcache"] + [::core::mem::offset_of!(rpc_auth, au_credcache) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_auth_create_args { + pub pseudoflavor: rpc_authflavor_t, + pub target_name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_auth_create_args"][::core::mem::size_of::() - 16usize]; + ["Alignment of rpc_auth_create_args"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_auth_create_args::pseudoflavor"] + [::core::mem::offset_of!(rpc_auth_create_args, pseudoflavor) - 0usize]; + ["Offset of field: rpc_auth_create_args::target_name"] + [::core::mem::offset_of!(rpc_auth_create_args, target_name) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_authops { + pub owner: *mut module, + pub au_flavor: rpc_authflavor_t, + pub au_name: *mut ::core::ffi::c_char, + pub create: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const rpc_auth_create_args, + arg2: *mut rpc_clnt, + ) -> *mut rpc_auth, + >, + pub destroy: ::core::option::Option, + pub hash_cred: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut auth_cred, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub lookup_cred: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_auth, + arg2: *mut auth_cred, + arg3: ::core::ffi::c_int, + ) -> *mut rpc_cred, + >, + pub crcreate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_auth, + arg2: *mut auth_cred, + arg3: ::core::ffi::c_int, + arg4: gfp_t, + ) -> *mut rpc_cred, + >, + pub info2flavor: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpcsec_gss_info) -> rpc_authflavor_t, + >, + pub flavor2info: ::core::option::Option< + unsafe extern "C" fn( + arg1: rpc_authflavor_t, + arg2: *mut rpcsec_gss_info, + ) -> ::core::ffi::c_int, + >, + pub key_timeout: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_auth, arg2: *mut rpc_cred) -> ::core::ffi::c_int, + >, + pub ping: + ::core::option::Option ::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_authops"][::core::mem::size_of::() - 96usize]; + ["Alignment of rpc_authops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_authops::owner"][::core::mem::offset_of!(rpc_authops, owner) - 0usize]; + ["Offset of field: rpc_authops::au_flavor"] + [::core::mem::offset_of!(rpc_authops, au_flavor) - 8usize]; + ["Offset of field: rpc_authops::au_name"] + [::core::mem::offset_of!(rpc_authops, au_name) - 16usize]; + ["Offset of field: rpc_authops::create"] + [::core::mem::offset_of!(rpc_authops, create) - 24usize]; + ["Offset of field: rpc_authops::destroy"] + [::core::mem::offset_of!(rpc_authops, destroy) - 32usize]; + ["Offset of field: rpc_authops::hash_cred"] + [::core::mem::offset_of!(rpc_authops, hash_cred) - 40usize]; + ["Offset of field: rpc_authops::lookup_cred"] + [::core::mem::offset_of!(rpc_authops, lookup_cred) - 48usize]; + ["Offset of field: rpc_authops::crcreate"] + [::core::mem::offset_of!(rpc_authops, crcreate) - 56usize]; + ["Offset of field: rpc_authops::info2flavor"] + [::core::mem::offset_of!(rpc_authops, info2flavor) - 64usize]; + ["Offset of field: rpc_authops::flavor2info"] + [::core::mem::offset_of!(rpc_authops, flavor2info) - 72usize]; + ["Offset of field: rpc_authops::key_timeout"] + [::core::mem::offset_of!(rpc_authops, key_timeout) - 80usize]; + ["Offset of field: rpc_authops::ping"][::core::mem::offset_of!(rpc_authops, ping) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_call_ops { + pub rpc_call_prepare: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut ::core::ffi::c_void), + >, + pub rpc_call_done: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut ::core::ffi::c_void), + >, + pub rpc_count_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut ::core::ffi::c_void), + >, + pub rpc_release: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_call_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of rpc_call_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_call_ops::rpc_call_prepare"] + [::core::mem::offset_of!(rpc_call_ops, rpc_call_prepare) - 0usize]; + ["Offset of field: rpc_call_ops::rpc_call_done"] + [::core::mem::offset_of!(rpc_call_ops, rpc_call_done) - 8usize]; + ["Offset of field: rpc_call_ops::rpc_count_stats"] + [::core::mem::offset_of!(rpc_call_ops, rpc_count_stats) - 16usize]; + ["Offset of field: rpc_call_ops::rpc_release"] + [::core::mem::offset_of!(rpc_call_ops, rpc_release) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_iostats { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_pipe_dir_head { + pub pdh_entries: list_head, + pub pdh_dentry: *mut dentry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_pipe_dir_head"][::core::mem::size_of::() - 24usize]; + ["Alignment of rpc_pipe_dir_head"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_pipe_dir_head::pdh_entries"] + [::core::mem::offset_of!(rpc_pipe_dir_head, pdh_entries) - 0usize]; + ["Offset of field: rpc_pipe_dir_head::pdh_dentry"] + [::core::mem::offset_of!(rpc_pipe_dir_head, pdh_dentry) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_rtt { + pub timeo: ::core::ffi::c_ulong, + pub srtt: [::core::ffi::c_ulong; 5usize], + pub sdrtt: [::core::ffi::c_ulong; 5usize], + pub ntimeouts: [::core::ffi::c_int; 5usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_rtt"][::core::mem::size_of::() - 112usize]; + ["Alignment of rpc_rtt"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_rtt::timeo"][::core::mem::offset_of!(rpc_rtt, timeo) - 0usize]; + ["Offset of field: rpc_rtt::srtt"][::core::mem::offset_of!(rpc_rtt, srtt) - 8usize]; + ["Offset of field: rpc_rtt::sdrtt"][::core::mem::offset_of!(rpc_rtt, sdrtt) - 48usize]; + ["Offset of field: rpc_rtt::ntimeouts"][::core::mem::offset_of!(rpc_rtt, ntimeouts) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_timeout { + pub to_initval: ::core::ffi::c_ulong, + pub to_maxval: ::core::ffi::c_ulong, + pub to_increment: ::core::ffi::c_ulong, + pub to_retries: ::core::ffi::c_uint, + pub to_exponential: ::core::ffi::c_uchar, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_timeout"][::core::mem::size_of::() - 32usize]; + ["Alignment of rpc_timeout"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_timeout::to_initval"] + [::core::mem::offset_of!(rpc_timeout, to_initval) - 0usize]; + ["Offset of field: rpc_timeout::to_maxval"] + [::core::mem::offset_of!(rpc_timeout, to_maxval) - 8usize]; + ["Offset of field: rpc_timeout::to_increment"] + [::core::mem::offset_of!(rpc_timeout, to_increment) - 16usize]; + ["Offset of field: rpc_timeout::to_retries"] + [::core::mem::offset_of!(rpc_timeout, to_retries) - 24usize]; + ["Offset of field: rpc_timeout::to_exponential"] + [::core::mem::offset_of!(rpc_timeout, to_exponential) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_xprt_iter { + pub xpi_xpswitch: *mut rpc_xprt_switch, + pub xpi_cursor: *mut rpc_xprt, + pub xpi_ops: *const rpc_xprt_iter_ops, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_xprt_iter"][::core::mem::size_of::() - 24usize]; + ["Alignment of rpc_xprt_iter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_xprt_iter::xpi_xpswitch"] + [::core::mem::offset_of!(rpc_xprt_iter, xpi_xpswitch) - 0usize]; + ["Offset of field: rpc_xprt_iter::xpi_cursor"] + [::core::mem::offset_of!(rpc_xprt_iter, xpi_cursor) - 8usize]; + ["Offset of field: rpc_xprt_iter::xpi_ops"] + [::core::mem::offset_of!(rpc_xprt_iter, xpi_ops) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rpc_clnt { + pub cl_count: refcount_t, + pub cl_clid: ::core::ffi::c_uint, + pub cl_clients: list_head, + pub cl_tasks: list_head, + pub cl_pid: atomic_t, + pub cl_lock: spinlock_t, + pub cl_xprt: *mut rpc_xprt, + pub cl_procinfo: *const rpc_procinfo, + pub cl_prog: u32_, + pub cl_vers: u32_, + pub cl_maxproc: u32_, + pub cl_auth: *mut rpc_auth, + pub cl_stats: *mut rpc_stat, + pub cl_metrics: *mut rpc_iostats, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub cl_xprtsec: xprtsec_parms, + pub cl_rtt: *mut rpc_rtt, + pub cl_timeout: *const rpc_timeout, + pub cl_swapper: atomic_t, + pub cl_nodelen: ::core::ffi::c_int, + pub cl_nodename: [::core::ffi::c_char; 65usize], + pub cl_pipedir_objects: rpc_pipe_dir_head, + pub cl_parent: *mut rpc_clnt, + pub cl_rtt_default: rpc_rtt, + pub cl_timeout_default: rpc_timeout, + pub cl_program: *const rpc_program, + pub cl_principal: *const ::core::ffi::c_char, + pub cl_debugfs: *mut dentry, + pub cl_sysfs: *mut rpc_sysfs_client, + pub __bindgen_anon_1: rpc_clnt__bindgen_ty_1, + pub cl_cred: *const cred, + pub cl_max_connect: ::core::ffi::c_uint, + pub pipefs_sb: *mut super_block, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union rpc_clnt__bindgen_ty_1 { + pub cl_xpi: rpc_xprt_iter, + pub cl_work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_clnt__bindgen_ty_1"][::core::mem::size_of::() - 32usize]; + ["Alignment of rpc_clnt__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_clnt__bindgen_ty_1::cl_xpi"] + [::core::mem::offset_of!(rpc_clnt__bindgen_ty_1, cl_xpi) - 0usize]; + ["Offset of field: rpc_clnt__bindgen_ty_1::cl_work"] + [::core::mem::offset_of!(rpc_clnt__bindgen_ty_1, cl_work) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_clnt"][::core::mem::size_of::() - 480usize]; + ["Alignment of rpc_clnt"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_clnt::cl_count"][::core::mem::offset_of!(rpc_clnt, cl_count) - 0usize]; + ["Offset of field: rpc_clnt::cl_clid"][::core::mem::offset_of!(rpc_clnt, cl_clid) - 4usize]; + ["Offset of field: rpc_clnt::cl_clients"] + [::core::mem::offset_of!(rpc_clnt, cl_clients) - 8usize]; + ["Offset of field: rpc_clnt::cl_tasks"][::core::mem::offset_of!(rpc_clnt, cl_tasks) - 24usize]; + ["Offset of field: rpc_clnt::cl_pid"][::core::mem::offset_of!(rpc_clnt, cl_pid) - 40usize]; + ["Offset of field: rpc_clnt::cl_lock"][::core::mem::offset_of!(rpc_clnt, cl_lock) - 44usize]; + ["Offset of field: rpc_clnt::cl_xprt"][::core::mem::offset_of!(rpc_clnt, cl_xprt) - 48usize]; + ["Offset of field: rpc_clnt::cl_procinfo"] + [::core::mem::offset_of!(rpc_clnt, cl_procinfo) - 56usize]; + ["Offset of field: rpc_clnt::cl_prog"][::core::mem::offset_of!(rpc_clnt, cl_prog) - 64usize]; + ["Offset of field: rpc_clnt::cl_vers"][::core::mem::offset_of!(rpc_clnt, cl_vers) - 68usize]; + ["Offset of field: rpc_clnt::cl_maxproc"] + [::core::mem::offset_of!(rpc_clnt, cl_maxproc) - 72usize]; + ["Offset of field: rpc_clnt::cl_auth"][::core::mem::offset_of!(rpc_clnt, cl_auth) - 80usize]; + ["Offset of field: rpc_clnt::cl_stats"][::core::mem::offset_of!(rpc_clnt, cl_stats) - 88usize]; + ["Offset of field: rpc_clnt::cl_metrics"] + [::core::mem::offset_of!(rpc_clnt, cl_metrics) - 96usize]; + ["Offset of field: rpc_clnt::cl_xprtsec"] + [::core::mem::offset_of!(rpc_clnt, cl_xprtsec) - 108usize]; + ["Offset of field: rpc_clnt::cl_rtt"][::core::mem::offset_of!(rpc_clnt, cl_rtt) - 120usize]; + ["Offset of field: rpc_clnt::cl_timeout"] + [::core::mem::offset_of!(rpc_clnt, cl_timeout) - 128usize]; + ["Offset of field: rpc_clnt::cl_swapper"] + [::core::mem::offset_of!(rpc_clnt, cl_swapper) - 136usize]; + ["Offset of field: rpc_clnt::cl_nodelen"] + [::core::mem::offset_of!(rpc_clnt, cl_nodelen) - 140usize]; + ["Offset of field: rpc_clnt::cl_nodename"] + [::core::mem::offset_of!(rpc_clnt, cl_nodename) - 144usize]; + ["Offset of field: rpc_clnt::cl_pipedir_objects"] + [::core::mem::offset_of!(rpc_clnt, cl_pipedir_objects) - 216usize]; + ["Offset of field: rpc_clnt::cl_parent"] + [::core::mem::offset_of!(rpc_clnt, cl_parent) - 240usize]; + ["Offset of field: rpc_clnt::cl_rtt_default"] + [::core::mem::offset_of!(rpc_clnt, cl_rtt_default) - 248usize]; + ["Offset of field: rpc_clnt::cl_timeout_default"] + [::core::mem::offset_of!(rpc_clnt, cl_timeout_default) - 360usize]; + ["Offset of field: rpc_clnt::cl_program"] + [::core::mem::offset_of!(rpc_clnt, cl_program) - 392usize]; + ["Offset of field: rpc_clnt::cl_principal"] + [::core::mem::offset_of!(rpc_clnt, cl_principal) - 400usize]; + ["Offset of field: rpc_clnt::cl_debugfs"] + [::core::mem::offset_of!(rpc_clnt, cl_debugfs) - 408usize]; + ["Offset of field: rpc_clnt::cl_sysfs"][::core::mem::offset_of!(rpc_clnt, cl_sysfs) - 416usize]; + ["Offset of field: rpc_clnt::cl_cred"][::core::mem::offset_of!(rpc_clnt, cl_cred) - 456usize]; + ["Offset of field: rpc_clnt::cl_max_connect"] + [::core::mem::offset_of!(rpc_clnt, cl_max_connect) - 464usize]; + ["Offset of field: rpc_clnt::pipefs_sb"] + [::core::mem::offset_of!(rpc_clnt, pipefs_sb) - 472usize]; +}; +impl rpc_clnt { + #[inline] + pub fn cl_softrtry(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_cl_softrtry(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cl_softrtry_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cl_softrtry_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cl_softerr(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_cl_softerr(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cl_softerr_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cl_softerr_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cl_discrtry(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_cl_discrtry(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cl_discrtry_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cl_discrtry_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cl_noretranstimeo(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_cl_noretranstimeo(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cl_noretranstimeo_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cl_noretranstimeo_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cl_autobind(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_cl_autobind(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cl_autobind_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cl_autobind_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cl_chatty(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_cl_chatty(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cl_chatty_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cl_chatty_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn cl_shutdown(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_cl_shutdown(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn cl_shutdown_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_cl_shutdown_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + cl_softrtry: ::core::ffi::c_uint, + cl_softerr: ::core::ffi::c_uint, + cl_discrtry: ::core::ffi::c_uint, + cl_noretranstimeo: ::core::ffi::c_uint, + cl_autobind: ::core::ffi::c_uint, + cl_chatty: ::core::ffi::c_uint, + cl_shutdown: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let cl_softrtry: u32 = unsafe { ::core::mem::transmute(cl_softrtry) }; + cl_softrtry as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let cl_softerr: u32 = unsafe { ::core::mem::transmute(cl_softerr) }; + cl_softerr as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let cl_discrtry: u32 = unsafe { ::core::mem::transmute(cl_discrtry) }; + cl_discrtry as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let cl_noretranstimeo: u32 = unsafe { ::core::mem::transmute(cl_noretranstimeo) }; + cl_noretranstimeo as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let cl_autobind: u32 = unsafe { ::core::mem::transmute(cl_autobind) }; + cl_autobind as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let cl_chatty: u32 = unsafe { ::core::mem::transmute(cl_chatty) }; + cl_chatty as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let cl_shutdown: u32 = unsafe { ::core::mem::transmute(cl_shutdown) }; + cl_shutdown as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_cred { + pub cr_hash: hlist_node, + pub cr_lru: list_head, + pub cr_rcu: callback_head, + pub cr_auth: *mut rpc_auth, + pub cr_ops: *const rpc_credops, + pub cr_expire: ::core::ffi::c_ulong, + pub cr_flags: ::core::ffi::c_ulong, + pub cr_count: refcount_t, + pub cr_cred: *const cred, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_cred"][::core::mem::size_of::() - 96usize]; + ["Alignment of rpc_cred"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_cred::cr_hash"][::core::mem::offset_of!(rpc_cred, cr_hash) - 0usize]; + ["Offset of field: rpc_cred::cr_lru"][::core::mem::offset_of!(rpc_cred, cr_lru) - 16usize]; + ["Offset of field: rpc_cred::cr_rcu"][::core::mem::offset_of!(rpc_cred, cr_rcu) - 32usize]; + ["Offset of field: rpc_cred::cr_auth"][::core::mem::offset_of!(rpc_cred, cr_auth) - 48usize]; + ["Offset of field: rpc_cred::cr_ops"][::core::mem::offset_of!(rpc_cred, cr_ops) - 56usize]; + ["Offset of field: rpc_cred::cr_expire"] + [::core::mem::offset_of!(rpc_cred, cr_expire) - 64usize]; + ["Offset of field: rpc_cred::cr_flags"][::core::mem::offset_of!(rpc_cred, cr_flags) - 72usize]; + ["Offset of field: rpc_cred::cr_count"][::core::mem::offset_of!(rpc_cred, cr_count) - 80usize]; + ["Offset of field: rpc_cred::cr_cred"][::core::mem::offset_of!(rpc_cred, cr_cred) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_credops { + pub cr_name: *const ::core::ffi::c_char, + pub cr_init: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_auth, arg2: *mut rpc_cred) -> ::core::ffi::c_int, + >, + pub crdestroy: ::core::option::Option, + pub crmatch: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut auth_cred, + arg2: *mut rpc_cred, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub crmarshal: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut xdr_stream) -> ::core::ffi::c_int, + >, + pub crrefresh: + ::core::option::Option ::core::ffi::c_int>, + pub crvalidate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut xdr_stream) -> ::core::ffi::c_int, + >, + pub crwrap_req: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut xdr_stream) -> ::core::ffi::c_int, + >, + pub crunwrap_resp: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_task, arg2: *mut xdr_stream) -> ::core::ffi::c_int, + >, + pub crkey_timeout: + ::core::option::Option ::core::ffi::c_int>, + pub crstringify_acceptor: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_cred) -> *mut ::core::ffi::c_char, + >, + pub crneed_reencode: ::core::option::Option bool_>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_credops"][::core::mem::size_of::() - 96usize]; + ["Alignment of rpc_credops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_credops::cr_name"] + [::core::mem::offset_of!(rpc_credops, cr_name) - 0usize]; + ["Offset of field: rpc_credops::cr_init"] + [::core::mem::offset_of!(rpc_credops, cr_init) - 8usize]; + ["Offset of field: rpc_credops::crdestroy"] + [::core::mem::offset_of!(rpc_credops, crdestroy) - 16usize]; + ["Offset of field: rpc_credops::crmatch"] + [::core::mem::offset_of!(rpc_credops, crmatch) - 24usize]; + ["Offset of field: rpc_credops::crmarshal"] + [::core::mem::offset_of!(rpc_credops, crmarshal) - 32usize]; + ["Offset of field: rpc_credops::crrefresh"] + [::core::mem::offset_of!(rpc_credops, crrefresh) - 40usize]; + ["Offset of field: rpc_credops::crvalidate"] + [::core::mem::offset_of!(rpc_credops, crvalidate) - 48usize]; + ["Offset of field: rpc_credops::crwrap_req"] + [::core::mem::offset_of!(rpc_credops, crwrap_req) - 56usize]; + ["Offset of field: rpc_credops::crunwrap_resp"] + [::core::mem::offset_of!(rpc_credops, crunwrap_resp) - 64usize]; + ["Offset of field: rpc_credops::crkey_timeout"] + [::core::mem::offset_of!(rpc_credops, crkey_timeout) - 72usize]; + ["Offset of field: rpc_credops::crstringify_acceptor"] + [::core::mem::offset_of!(rpc_credops, crstringify_acceptor) - 80usize]; + ["Offset of field: rpc_credops::crneed_reencode"] + [::core::mem::offset_of!(rpc_credops, crneed_reencode) - 88usize]; +}; +pub type kxdreproc_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_rqst, + arg2: *mut xdr_stream, + arg3: *const ::core::ffi::c_void, + ), +>; +pub type kxdrdproc_t = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_rqst, + arg2: *mut xdr_stream, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_procinfo { + pub p_proc: u32_, + pub p_encode: kxdreproc_t, + pub p_decode: kxdrdproc_t, + pub p_arglen: ::core::ffi::c_uint, + pub p_replen: ::core::ffi::c_uint, + pub p_timer: ::core::ffi::c_uint, + pub p_statidx: u32_, + pub p_name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_procinfo"][::core::mem::size_of::() - 48usize]; + ["Alignment of rpc_procinfo"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_procinfo::p_proc"] + [::core::mem::offset_of!(rpc_procinfo, p_proc) - 0usize]; + ["Offset of field: rpc_procinfo::p_encode"] + [::core::mem::offset_of!(rpc_procinfo, p_encode) - 8usize]; + ["Offset of field: rpc_procinfo::p_decode"] + [::core::mem::offset_of!(rpc_procinfo, p_decode) - 16usize]; + ["Offset of field: rpc_procinfo::p_arglen"] + [::core::mem::offset_of!(rpc_procinfo, p_arglen) - 24usize]; + ["Offset of field: rpc_procinfo::p_replen"] + [::core::mem::offset_of!(rpc_procinfo, p_replen) - 28usize]; + ["Offset of field: rpc_procinfo::p_timer"] + [::core::mem::offset_of!(rpc_procinfo, p_timer) - 32usize]; + ["Offset of field: rpc_procinfo::p_statidx"] + [::core::mem::offset_of!(rpc_procinfo, p_statidx) - 36usize]; + ["Offset of field: rpc_procinfo::p_name"] + [::core::mem::offset_of!(rpc_procinfo, p_name) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_program { + pub name: *const ::core::ffi::c_char, + pub number: u32_, + pub nrvers: ::core::ffi::c_uint, + pub version: *mut *const rpc_version, + pub stats: *mut rpc_stat, + pub pipe_dir_name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_program"][::core::mem::size_of::() - 40usize]; + ["Alignment of rpc_program"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_program::name"][::core::mem::offset_of!(rpc_program, name) - 0usize]; + ["Offset of field: rpc_program::number"][::core::mem::offset_of!(rpc_program, number) - 8usize]; + ["Offset of field: rpc_program::nrvers"] + [::core::mem::offset_of!(rpc_program, nrvers) - 12usize]; + ["Offset of field: rpc_program::version"] + [::core::mem::offset_of!(rpc_program, version) - 16usize]; + ["Offset of field: rpc_program::stats"][::core::mem::offset_of!(rpc_program, stats) - 24usize]; + ["Offset of field: rpc_program::pipe_dir_name"] + [::core::mem::offset_of!(rpc_program, pipe_dir_name) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdr_buf { + pub head: [kvec; 1usize], + pub tail: [kvec; 1usize], + pub bvec: *mut bio_vec, + pub pages: *mut *mut page, + pub page_base: ::core::ffi::c_uint, + pub page_len: ::core::ffi::c_uint, + pub flags: ::core::ffi::c_uint, + pub buflen: ::core::ffi::c_uint, + pub len: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdr_buf"][::core::mem::size_of::() - 72usize]; + ["Alignment of xdr_buf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdr_buf::head"][::core::mem::offset_of!(xdr_buf, head) - 0usize]; + ["Offset of field: xdr_buf::tail"][::core::mem::offset_of!(xdr_buf, tail) - 16usize]; + ["Offset of field: xdr_buf::bvec"][::core::mem::offset_of!(xdr_buf, bvec) - 32usize]; + ["Offset of field: xdr_buf::pages"][::core::mem::offset_of!(xdr_buf, pages) - 40usize]; + ["Offset of field: xdr_buf::page_base"][::core::mem::offset_of!(xdr_buf, page_base) - 48usize]; + ["Offset of field: xdr_buf::page_len"][::core::mem::offset_of!(xdr_buf, page_len) - 52usize]; + ["Offset of field: xdr_buf::flags"][::core::mem::offset_of!(xdr_buf, flags) - 56usize]; + ["Offset of field: xdr_buf::buflen"][::core::mem::offset_of!(xdr_buf, buflen) - 60usize]; + ["Offset of field: xdr_buf::len"][::core::mem::offset_of!(xdr_buf, len) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rpc_rqst { + pub rq_xprt: *mut rpc_xprt, + pub rq_snd_buf: xdr_buf, + pub rq_rcv_buf: xdr_buf, + pub rq_task: *mut rpc_task, + pub rq_cred: *mut rpc_cred, + pub rq_xid: __be32, + pub rq_cong: ::core::ffi::c_int, + pub rq_seqno: u32_, + pub rq_enc_pages_num: ::core::ffi::c_int, + pub rq_enc_pages: *mut *mut page, + pub rq_release_snd_buf: ::core::option::Option, + pub __bindgen_anon_1: rpc_rqst__bindgen_ty_1, + pub rq_xmit: list_head, + pub rq_xmit2: list_head, + pub rq_buffer: *mut ::core::ffi::c_void, + pub rq_callsize: usize, + pub rq_rbuffer: *mut ::core::ffi::c_void, + pub rq_rcvsize: usize, + pub rq_xmit_bytes_sent: usize, + pub rq_reply_bytes_recvd: usize, + pub rq_private_buf: xdr_buf, + pub rq_majortimeo: ::core::ffi::c_ulong, + pub rq_minortimeo: ::core::ffi::c_ulong, + pub rq_timeout: ::core::ffi::c_ulong, + pub rq_rtt: ktime_t, + pub rq_retries: ::core::ffi::c_uint, + pub rq_connect_cookie: ::core::ffi::c_uint, + pub rq_pin: atomic_t, + pub rq_bytes_sent: u32_, + pub rq_xtime: ktime_t, + pub rq_ntrans: ::core::ffi::c_int, + pub rq_bc_list: lwq_node, + pub rq_bc_pa_state: ::core::ffi::c_ulong, + pub rq_bc_pa_list: list_head, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union rpc_rqst__bindgen_ty_1 { + pub rq_list: list_head, + pub rq_recv: rb_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_rqst__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of rpc_rqst__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_rqst__bindgen_ty_1::rq_list"] + [::core::mem::offset_of!(rpc_rqst__bindgen_ty_1, rq_list) - 0usize]; + ["Offset of field: rpc_rqst__bindgen_ty_1::rq_recv"] + [::core::mem::offset_of!(rpc_rqst__bindgen_ty_1, rq_recv) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_rqst"][::core::mem::size_of::() - 472usize]; + ["Alignment of rpc_rqst"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_rqst::rq_xprt"][::core::mem::offset_of!(rpc_rqst, rq_xprt) - 0usize]; + ["Offset of field: rpc_rqst::rq_snd_buf"] + [::core::mem::offset_of!(rpc_rqst, rq_snd_buf) - 8usize]; + ["Offset of field: rpc_rqst::rq_rcv_buf"] + [::core::mem::offset_of!(rpc_rqst, rq_rcv_buf) - 80usize]; + ["Offset of field: rpc_rqst::rq_task"][::core::mem::offset_of!(rpc_rqst, rq_task) - 152usize]; + ["Offset of field: rpc_rqst::rq_cred"][::core::mem::offset_of!(rpc_rqst, rq_cred) - 160usize]; + ["Offset of field: rpc_rqst::rq_xid"][::core::mem::offset_of!(rpc_rqst, rq_xid) - 168usize]; + ["Offset of field: rpc_rqst::rq_cong"][::core::mem::offset_of!(rpc_rqst, rq_cong) - 172usize]; + ["Offset of field: rpc_rqst::rq_seqno"][::core::mem::offset_of!(rpc_rqst, rq_seqno) - 176usize]; + ["Offset of field: rpc_rqst::rq_enc_pages_num"] + [::core::mem::offset_of!(rpc_rqst, rq_enc_pages_num) - 180usize]; + ["Offset of field: rpc_rqst::rq_enc_pages"] + [::core::mem::offset_of!(rpc_rqst, rq_enc_pages) - 184usize]; + ["Offset of field: rpc_rqst::rq_release_snd_buf"] + [::core::mem::offset_of!(rpc_rqst, rq_release_snd_buf) - 192usize]; + ["Offset of field: rpc_rqst::rq_xmit"][::core::mem::offset_of!(rpc_rqst, rq_xmit) - 224usize]; + ["Offset of field: rpc_rqst::rq_xmit2"][::core::mem::offset_of!(rpc_rqst, rq_xmit2) - 240usize]; + ["Offset of field: rpc_rqst::rq_buffer"] + [::core::mem::offset_of!(rpc_rqst, rq_buffer) - 256usize]; + ["Offset of field: rpc_rqst::rq_callsize"] + [::core::mem::offset_of!(rpc_rqst, rq_callsize) - 264usize]; + ["Offset of field: rpc_rqst::rq_rbuffer"] + [::core::mem::offset_of!(rpc_rqst, rq_rbuffer) - 272usize]; + ["Offset of field: rpc_rqst::rq_rcvsize"] + [::core::mem::offset_of!(rpc_rqst, rq_rcvsize) - 280usize]; + ["Offset of field: rpc_rqst::rq_xmit_bytes_sent"] + [::core::mem::offset_of!(rpc_rqst, rq_xmit_bytes_sent) - 288usize]; + ["Offset of field: rpc_rqst::rq_reply_bytes_recvd"] + [::core::mem::offset_of!(rpc_rqst, rq_reply_bytes_recvd) - 296usize]; + ["Offset of field: rpc_rqst::rq_private_buf"] + [::core::mem::offset_of!(rpc_rqst, rq_private_buf) - 304usize]; + ["Offset of field: rpc_rqst::rq_majortimeo"] + [::core::mem::offset_of!(rpc_rqst, rq_majortimeo) - 376usize]; + ["Offset of field: rpc_rqst::rq_minortimeo"] + [::core::mem::offset_of!(rpc_rqst, rq_minortimeo) - 384usize]; + ["Offset of field: rpc_rqst::rq_timeout"] + [::core::mem::offset_of!(rpc_rqst, rq_timeout) - 392usize]; + ["Offset of field: rpc_rqst::rq_rtt"][::core::mem::offset_of!(rpc_rqst, rq_rtt) - 400usize]; + ["Offset of field: rpc_rqst::rq_retries"] + [::core::mem::offset_of!(rpc_rqst, rq_retries) - 408usize]; + ["Offset of field: rpc_rqst::rq_connect_cookie"] + [::core::mem::offset_of!(rpc_rqst, rq_connect_cookie) - 412usize]; + ["Offset of field: rpc_rqst::rq_pin"][::core::mem::offset_of!(rpc_rqst, rq_pin) - 416usize]; + ["Offset of field: rpc_rqst::rq_bytes_sent"] + [::core::mem::offset_of!(rpc_rqst, rq_bytes_sent) - 420usize]; + ["Offset of field: rpc_rqst::rq_xtime"][::core::mem::offset_of!(rpc_rqst, rq_xtime) - 424usize]; + ["Offset of field: rpc_rqst::rq_ntrans"] + [::core::mem::offset_of!(rpc_rqst, rq_ntrans) - 432usize]; + ["Offset of field: rpc_rqst::rq_bc_list"] + [::core::mem::offset_of!(rpc_rqst, rq_bc_list) - 440usize]; + ["Offset of field: rpc_rqst::rq_bc_pa_state"] + [::core::mem::offset_of!(rpc_rqst, rq_bc_pa_state) - 448usize]; + ["Offset of field: rpc_rqst::rq_bc_pa_list"] + [::core::mem::offset_of!(rpc_rqst, rq_bc_pa_list) - 456usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_stat { + pub program: *const rpc_program, + pub netcnt: ::core::ffi::c_uint, + pub netudpcnt: ::core::ffi::c_uint, + pub nettcpcnt: ::core::ffi::c_uint, + pub nettcpconn: ::core::ffi::c_uint, + pub netreconn: ::core::ffi::c_uint, + pub rpccnt: ::core::ffi::c_uint, + pub rpcretrans: ::core::ffi::c_uint, + pub rpcauthrefresh: ::core::ffi::c_uint, + pub rpcgarbage: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_stat"][::core::mem::size_of::() - 48usize]; + ["Alignment of rpc_stat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_stat::program"][::core::mem::offset_of!(rpc_stat, program) - 0usize]; + ["Offset of field: rpc_stat::netcnt"][::core::mem::offset_of!(rpc_stat, netcnt) - 8usize]; + ["Offset of field: rpc_stat::netudpcnt"] + [::core::mem::offset_of!(rpc_stat, netudpcnt) - 12usize]; + ["Offset of field: rpc_stat::nettcpcnt"] + [::core::mem::offset_of!(rpc_stat, nettcpcnt) - 16usize]; + ["Offset of field: rpc_stat::nettcpconn"] + [::core::mem::offset_of!(rpc_stat, nettcpconn) - 20usize]; + ["Offset of field: rpc_stat::netreconn"] + [::core::mem::offset_of!(rpc_stat, netreconn) - 24usize]; + ["Offset of field: rpc_stat::rpccnt"][::core::mem::offset_of!(rpc_stat, rpccnt) - 28usize]; + ["Offset of field: rpc_stat::rpcretrans"] + [::core::mem::offset_of!(rpc_stat, rpcretrans) - 32usize]; + ["Offset of field: rpc_stat::rpcauthrefresh"] + [::core::mem::offset_of!(rpc_stat, rpcauthrefresh) - 36usize]; + ["Offset of field: rpc_stat::rpcgarbage"] + [::core::mem::offset_of!(rpc_stat, rpcgarbage) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_sysfs_client { + pub kobject: kobject, + pub net: *mut net, + pub clnt: *mut rpc_clnt, + pub xprt_switch: *mut rpc_xprt_switch, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_sysfs_client"][::core::mem::size_of::() - 88usize]; + ["Alignment of rpc_sysfs_client"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_sysfs_client::kobject"] + [::core::mem::offset_of!(rpc_sysfs_client, kobject) - 0usize]; + ["Offset of field: rpc_sysfs_client::net"] + [::core::mem::offset_of!(rpc_sysfs_client, net) - 64usize]; + ["Offset of field: rpc_sysfs_client::clnt"] + [::core::mem::offset_of!(rpc_sysfs_client, clnt) - 72usize]; + ["Offset of field: rpc_sysfs_client::xprt_switch"] + [::core::mem::offset_of!(rpc_sysfs_client, xprt_switch) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_version { + pub number: u32_, + pub nrprocs: ::core::ffi::c_uint, + pub procs: *const rpc_procinfo, + pub counts: *mut ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_version"][::core::mem::size_of::() - 24usize]; + ["Alignment of rpc_version"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_version::number"][::core::mem::offset_of!(rpc_version, number) - 0usize]; + ["Offset of field: rpc_version::nrprocs"] + [::core::mem::offset_of!(rpc_version, nrprocs) - 4usize]; + ["Offset of field: rpc_version::procs"][::core::mem::offset_of!(rpc_version, procs) - 8usize]; + ["Offset of field: rpc_version::counts"] + [::core::mem::offset_of!(rpc_version, counts) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct svc_xprt { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_sysfs_xprt { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rpc_xprt { + pub kref: kref, + pub ops: *const rpc_xprt_ops, + pub id: ::core::ffi::c_uint, + pub timeout: *const rpc_timeout, + pub addr: __kernel_sockaddr_storage, + pub addrlen: usize, + pub prot: ::core::ffi::c_int, + pub cong: ::core::ffi::c_ulong, + pub cwnd: ::core::ffi::c_ulong, + pub max_payload: usize, + pub binding: rpc_wait_queue, + pub sending: rpc_wait_queue, + pub pending: rpc_wait_queue, + pub backlog: rpc_wait_queue, + pub free: list_head, + pub max_reqs: ::core::ffi::c_uint, + pub min_reqs: ::core::ffi::c_uint, + pub num_reqs: ::core::ffi::c_uint, + pub state: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub swapper: atomic_t, + pub bind_index: ::core::ffi::c_uint, + pub xprt_switch: list_head, + pub bind_timeout: ::core::ffi::c_ulong, + pub reestablish_timeout: ::core::ffi::c_ulong, + pub xprtsec: xprtsec_parms, + pub connect_cookie: ::core::ffi::c_uint, + pub task_cleanup: work_struct, + pub timer: timer_list, + pub last_used: ::core::ffi::c_ulong, + pub idle_timeout: ::core::ffi::c_ulong, + pub connect_timeout: ::core::ffi::c_ulong, + pub max_reconnect_timeout: ::core::ffi::c_ulong, + pub queuelen: atomic_long_t, + pub transport_lock: spinlock_t, + pub reserve_lock: spinlock_t, + pub queue_lock: spinlock_t, + pub xid: u32_, + pub snd_task: *mut rpc_task, + pub xmit_queue: list_head, + pub xmit_queuelen: atomic_long_t, + pub bc_xprt: *mut svc_xprt, + pub bc_serv: *mut svc_serv, + pub bc_alloc_max: ::core::ffi::c_uint, + pub bc_alloc_count: ::core::ffi::c_uint, + pub bc_slot_count: atomic_t, + pub bc_pa_lock: spinlock_t, + pub bc_pa_list: list_head, + pub recv_queue: rb_root, + pub stat: rpc_xprt__bindgen_ty_1, + pub xprt_net: *mut net, + pub ns_tracker: netns_tracker, + pub servername: *const ::core::ffi::c_char, + pub address_strings: [*const ::core::ffi::c_char; 6usize], + pub debugfs: *mut dentry, + pub rcu: callback_head, + pub xprt_class: *const xprt_class, + pub xprt_sysfs: *mut rpc_sysfs_xprt, + pub main: bool_, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_xprt__bindgen_ty_1 { + pub bind_count: ::core::ffi::c_ulong, + pub connect_count: ::core::ffi::c_ulong, + pub connect_start: ::core::ffi::c_ulong, + pub connect_time: ::core::ffi::c_ulong, + pub sends: ::core::ffi::c_ulong, + pub recvs: ::core::ffi::c_ulong, + pub bad_xids: ::core::ffi::c_ulong, + pub max_slots: ::core::ffi::c_ulong, + pub req_u: ::core::ffi::c_ulonglong, + pub bklog_u: ::core::ffi::c_ulonglong, + pub sending_u: ::core::ffi::c_ulonglong, + pub pending_u: ::core::ffi::c_ulonglong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_xprt__bindgen_ty_1"][::core::mem::size_of::() - 96usize]; + ["Alignment of rpc_xprt__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::bind_count"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, bind_count) - 0usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::connect_count"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, connect_count) - 8usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::connect_start"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, connect_start) - 16usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::connect_time"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, connect_time) - 24usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::sends"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, sends) - 32usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::recvs"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, recvs) - 40usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::bad_xids"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, bad_xids) - 48usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::max_slots"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, max_slots) - 56usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::req_u"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, req_u) - 64usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::bklog_u"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, bklog_u) - 72usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::sending_u"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, sending_u) - 80usize]; + ["Offset of field: rpc_xprt__bindgen_ty_1::pending_u"] + [::core::mem::offset_of!(rpc_xprt__bindgen_ty_1, pending_u) - 88usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_xprt"][::core::mem::size_of::() - 1528usize]; + ["Alignment of rpc_xprt"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_xprt::kref"][::core::mem::offset_of!(rpc_xprt, kref) - 0usize]; + ["Offset of field: rpc_xprt::ops"][::core::mem::offset_of!(rpc_xprt, ops) - 8usize]; + ["Offset of field: rpc_xprt::id"][::core::mem::offset_of!(rpc_xprt, id) - 16usize]; + ["Offset of field: rpc_xprt::timeout"][::core::mem::offset_of!(rpc_xprt, timeout) - 24usize]; + ["Offset of field: rpc_xprt::addr"][::core::mem::offset_of!(rpc_xprt, addr) - 32usize]; + ["Offset of field: rpc_xprt::addrlen"][::core::mem::offset_of!(rpc_xprt, addrlen) - 160usize]; + ["Offset of field: rpc_xprt::prot"][::core::mem::offset_of!(rpc_xprt, prot) - 168usize]; + ["Offset of field: rpc_xprt::cong"][::core::mem::offset_of!(rpc_xprt, cong) - 176usize]; + ["Offset of field: rpc_xprt::cwnd"][::core::mem::offset_of!(rpc_xprt, cwnd) - 184usize]; + ["Offset of field: rpc_xprt::max_payload"] + [::core::mem::offset_of!(rpc_xprt, max_payload) - 192usize]; + ["Offset of field: rpc_xprt::binding"][::core::mem::offset_of!(rpc_xprt, binding) - 200usize]; + ["Offset of field: rpc_xprt::sending"][::core::mem::offset_of!(rpc_xprt, sending) - 400usize]; + ["Offset of field: rpc_xprt::pending"][::core::mem::offset_of!(rpc_xprt, pending) - 600usize]; + ["Offset of field: rpc_xprt::backlog"][::core::mem::offset_of!(rpc_xprt, backlog) - 800usize]; + ["Offset of field: rpc_xprt::free"][::core::mem::offset_of!(rpc_xprt, free) - 1000usize]; + ["Offset of field: rpc_xprt::max_reqs"] + [::core::mem::offset_of!(rpc_xprt, max_reqs) - 1016usize]; + ["Offset of field: rpc_xprt::min_reqs"] + [::core::mem::offset_of!(rpc_xprt, min_reqs) - 1020usize]; + ["Offset of field: rpc_xprt::num_reqs"] + [::core::mem::offset_of!(rpc_xprt, num_reqs) - 1024usize]; + ["Offset of field: rpc_xprt::state"][::core::mem::offset_of!(rpc_xprt, state) - 1032usize]; + ["Offset of field: rpc_xprt::swapper"][::core::mem::offset_of!(rpc_xprt, swapper) - 1044usize]; + ["Offset of field: rpc_xprt::bind_index"] + [::core::mem::offset_of!(rpc_xprt, bind_index) - 1048usize]; + ["Offset of field: rpc_xprt::xprt_switch"] + [::core::mem::offset_of!(rpc_xprt, xprt_switch) - 1056usize]; + ["Offset of field: rpc_xprt::bind_timeout"] + [::core::mem::offset_of!(rpc_xprt, bind_timeout) - 1072usize]; + ["Offset of field: rpc_xprt::reestablish_timeout"] + [::core::mem::offset_of!(rpc_xprt, reestablish_timeout) - 1080usize]; + ["Offset of field: rpc_xprt::xprtsec"][::core::mem::offset_of!(rpc_xprt, xprtsec) - 1088usize]; + ["Offset of field: rpc_xprt::connect_cookie"] + [::core::mem::offset_of!(rpc_xprt, connect_cookie) - 1100usize]; + ["Offset of field: rpc_xprt::task_cleanup"] + [::core::mem::offset_of!(rpc_xprt, task_cleanup) - 1104usize]; + ["Offset of field: rpc_xprt::timer"][::core::mem::offset_of!(rpc_xprt, timer) - 1136usize]; + ["Offset of field: rpc_xprt::last_used"] + [::core::mem::offset_of!(rpc_xprt, last_used) - 1176usize]; + ["Offset of field: rpc_xprt::idle_timeout"] + [::core::mem::offset_of!(rpc_xprt, idle_timeout) - 1184usize]; + ["Offset of field: rpc_xprt::connect_timeout"] + [::core::mem::offset_of!(rpc_xprt, connect_timeout) - 1192usize]; + ["Offset of field: rpc_xprt::max_reconnect_timeout"] + [::core::mem::offset_of!(rpc_xprt, max_reconnect_timeout) - 1200usize]; + ["Offset of field: rpc_xprt::queuelen"] + [::core::mem::offset_of!(rpc_xprt, queuelen) - 1208usize]; + ["Offset of field: rpc_xprt::transport_lock"] + [::core::mem::offset_of!(rpc_xprt, transport_lock) - 1216usize]; + ["Offset of field: rpc_xprt::reserve_lock"] + [::core::mem::offset_of!(rpc_xprt, reserve_lock) - 1220usize]; + ["Offset of field: rpc_xprt::queue_lock"] + [::core::mem::offset_of!(rpc_xprt, queue_lock) - 1224usize]; + ["Offset of field: rpc_xprt::xid"][::core::mem::offset_of!(rpc_xprt, xid) - 1228usize]; + ["Offset of field: rpc_xprt::snd_task"] + [::core::mem::offset_of!(rpc_xprt, snd_task) - 1232usize]; + ["Offset of field: rpc_xprt::xmit_queue"] + [::core::mem::offset_of!(rpc_xprt, xmit_queue) - 1240usize]; + ["Offset of field: rpc_xprt::xmit_queuelen"] + [::core::mem::offset_of!(rpc_xprt, xmit_queuelen) - 1256usize]; + ["Offset of field: rpc_xprt::bc_xprt"][::core::mem::offset_of!(rpc_xprt, bc_xprt) - 1264usize]; + ["Offset of field: rpc_xprt::bc_serv"][::core::mem::offset_of!(rpc_xprt, bc_serv) - 1272usize]; + ["Offset of field: rpc_xprt::bc_alloc_max"] + [::core::mem::offset_of!(rpc_xprt, bc_alloc_max) - 1280usize]; + ["Offset of field: rpc_xprt::bc_alloc_count"] + [::core::mem::offset_of!(rpc_xprt, bc_alloc_count) - 1284usize]; + ["Offset of field: rpc_xprt::bc_slot_count"] + [::core::mem::offset_of!(rpc_xprt, bc_slot_count) - 1288usize]; + ["Offset of field: rpc_xprt::bc_pa_lock"] + [::core::mem::offset_of!(rpc_xprt, bc_pa_lock) - 1292usize]; + ["Offset of field: rpc_xprt::bc_pa_list"] + [::core::mem::offset_of!(rpc_xprt, bc_pa_list) - 1296usize]; + ["Offset of field: rpc_xprt::recv_queue"] + [::core::mem::offset_of!(rpc_xprt, recv_queue) - 1312usize]; + ["Offset of field: rpc_xprt::stat"][::core::mem::offset_of!(rpc_xprt, stat) - 1320usize]; + ["Offset of field: rpc_xprt::xprt_net"] + [::core::mem::offset_of!(rpc_xprt, xprt_net) - 1416usize]; + ["Offset of field: rpc_xprt::ns_tracker"] + [::core::mem::offset_of!(rpc_xprt, ns_tracker) - 1424usize]; + ["Offset of field: rpc_xprt::servername"] + [::core::mem::offset_of!(rpc_xprt, servername) - 1424usize]; + ["Offset of field: rpc_xprt::address_strings"] + [::core::mem::offset_of!(rpc_xprt, address_strings) - 1432usize]; + ["Offset of field: rpc_xprt::debugfs"][::core::mem::offset_of!(rpc_xprt, debugfs) - 1480usize]; + ["Offset of field: rpc_xprt::rcu"][::core::mem::offset_of!(rpc_xprt, rcu) - 1488usize]; + ["Offset of field: rpc_xprt::xprt_class"] + [::core::mem::offset_of!(rpc_xprt, xprt_class) - 1504usize]; + ["Offset of field: rpc_xprt::xprt_sysfs"] + [::core::mem::offset_of!(rpc_xprt, xprt_sysfs) - 1512usize]; + ["Offset of field: rpc_xprt::main"][::core::mem::offset_of!(rpc_xprt, main) - 1520usize]; +}; +impl rpc_xprt { + #[inline] + pub fn resvport(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_resvport(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn resvport_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_resvport_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn reuseport(&self) -> ::core::ffi::c_uchar { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_reuseport(&mut self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn reuseport_raw(this: *const Self) -> ::core::ffi::c_uchar { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reuseport_raw(this: *mut Self, val: ::core::ffi::c_uchar) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + resvport: ::core::ffi::c_uchar, + reuseport: ::core::ffi::c_uchar, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let resvport: u8 = unsafe { ::core::mem::transmute(resvport) }; + resvport as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let reuseport: u8 = unsafe { ::core::mem::transmute(reuseport) }; + reuseport as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_xprt_iter_ops { + pub xpi_rewind: ::core::option::Option, + pub xpi_xprt: + ::core::option::Option *mut rpc_xprt>, + pub xpi_next: + ::core::option::Option *mut rpc_xprt>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_xprt_iter_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of rpc_xprt_iter_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_xprt_iter_ops::xpi_rewind"] + [::core::mem::offset_of!(rpc_xprt_iter_ops, xpi_rewind) - 0usize]; + ["Offset of field: rpc_xprt_iter_ops::xpi_xprt"] + [::core::mem::offset_of!(rpc_xprt_iter_ops, xpi_xprt) - 8usize]; + ["Offset of field: rpc_xprt_iter_ops::xpi_next"] + [::core::mem::offset_of!(rpc_xprt_iter_ops, xpi_next) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_xprt_ops { + pub set_buffer_size: + ::core::option::Option, + pub reserve_xprt: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_xprt, arg2: *mut rpc_task) -> ::core::ffi::c_int, + >, + pub release_xprt: + ::core::option::Option, + pub alloc_slot: + ::core::option::Option, + pub free_slot: + ::core::option::Option, + pub rpcbind: ::core::option::Option, + pub set_port: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_xprt, arg2: ::core::ffi::c_ushort), + >, + pub connect: + ::core::option::Option, + pub get_srcaddr: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_xprt, + arg2: *mut ::core::ffi::c_char, + arg3: usize, + ) -> ::core::ffi::c_int, + >, + pub get_srcport: + ::core::option::Option ::core::ffi::c_ushort>, + pub buf_alloc: + ::core::option::Option ::core::ffi::c_int>, + pub buf_free: ::core::option::Option, + pub prepare_request: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_rqst, arg2: *mut xdr_buf) -> ::core::ffi::c_int, + >, + pub send_request: + ::core::option::Option ::core::ffi::c_int>, + pub abort_send_request: ::core::option::Option, + pub wait_for_reply_request: ::core::option::Option, + pub timer: + ::core::option::Option, + pub release_request: ::core::option::Option, + pub close: ::core::option::Option, + pub destroy: ::core::option::Option, + pub set_connect_timeout: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rpc_xprt, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + ), + >, + pub print_stats: + ::core::option::Option, + pub enable_swap: + ::core::option::Option ::core::ffi::c_int>, + pub disable_swap: ::core::option::Option, + pub inject_disconnect: ::core::option::Option, + pub bc_setup: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_xprt, arg2: ::core::ffi::c_uint) -> ::core::ffi::c_int, + >, + pub bc_maxpayload: ::core::option::Option usize>, + pub bc_num_slots: + ::core::option::Option ::core::ffi::c_uint>, + pub bc_free_rqst: ::core::option::Option, + pub bc_destroy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rpc_xprt, arg2: ::core::ffi::c_uint), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_xprt_ops"][::core::mem::size_of::() - 240usize]; + ["Alignment of rpc_xprt_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_xprt_ops::set_buffer_size"] + [::core::mem::offset_of!(rpc_xprt_ops, set_buffer_size) - 0usize]; + ["Offset of field: rpc_xprt_ops::reserve_xprt"] + [::core::mem::offset_of!(rpc_xprt_ops, reserve_xprt) - 8usize]; + ["Offset of field: rpc_xprt_ops::release_xprt"] + [::core::mem::offset_of!(rpc_xprt_ops, release_xprt) - 16usize]; + ["Offset of field: rpc_xprt_ops::alloc_slot"] + [::core::mem::offset_of!(rpc_xprt_ops, alloc_slot) - 24usize]; + ["Offset of field: rpc_xprt_ops::free_slot"] + [::core::mem::offset_of!(rpc_xprt_ops, free_slot) - 32usize]; + ["Offset of field: rpc_xprt_ops::rpcbind"] + [::core::mem::offset_of!(rpc_xprt_ops, rpcbind) - 40usize]; + ["Offset of field: rpc_xprt_ops::set_port"] + [::core::mem::offset_of!(rpc_xprt_ops, set_port) - 48usize]; + ["Offset of field: rpc_xprt_ops::connect"] + [::core::mem::offset_of!(rpc_xprt_ops, connect) - 56usize]; + ["Offset of field: rpc_xprt_ops::get_srcaddr"] + [::core::mem::offset_of!(rpc_xprt_ops, get_srcaddr) - 64usize]; + ["Offset of field: rpc_xprt_ops::get_srcport"] + [::core::mem::offset_of!(rpc_xprt_ops, get_srcport) - 72usize]; + ["Offset of field: rpc_xprt_ops::buf_alloc"] + [::core::mem::offset_of!(rpc_xprt_ops, buf_alloc) - 80usize]; + ["Offset of field: rpc_xprt_ops::buf_free"] + [::core::mem::offset_of!(rpc_xprt_ops, buf_free) - 88usize]; + ["Offset of field: rpc_xprt_ops::prepare_request"] + [::core::mem::offset_of!(rpc_xprt_ops, prepare_request) - 96usize]; + ["Offset of field: rpc_xprt_ops::send_request"] + [::core::mem::offset_of!(rpc_xprt_ops, send_request) - 104usize]; + ["Offset of field: rpc_xprt_ops::abort_send_request"] + [::core::mem::offset_of!(rpc_xprt_ops, abort_send_request) - 112usize]; + ["Offset of field: rpc_xprt_ops::wait_for_reply_request"] + [::core::mem::offset_of!(rpc_xprt_ops, wait_for_reply_request) - 120usize]; + ["Offset of field: rpc_xprt_ops::timer"] + [::core::mem::offset_of!(rpc_xprt_ops, timer) - 128usize]; + ["Offset of field: rpc_xprt_ops::release_request"] + [::core::mem::offset_of!(rpc_xprt_ops, release_request) - 136usize]; + ["Offset of field: rpc_xprt_ops::close"] + [::core::mem::offset_of!(rpc_xprt_ops, close) - 144usize]; + ["Offset of field: rpc_xprt_ops::destroy"] + [::core::mem::offset_of!(rpc_xprt_ops, destroy) - 152usize]; + ["Offset of field: rpc_xprt_ops::set_connect_timeout"] + [::core::mem::offset_of!(rpc_xprt_ops, set_connect_timeout) - 160usize]; + ["Offset of field: rpc_xprt_ops::print_stats"] + [::core::mem::offset_of!(rpc_xprt_ops, print_stats) - 168usize]; + ["Offset of field: rpc_xprt_ops::enable_swap"] + [::core::mem::offset_of!(rpc_xprt_ops, enable_swap) - 176usize]; + ["Offset of field: rpc_xprt_ops::disable_swap"] + [::core::mem::offset_of!(rpc_xprt_ops, disable_swap) - 184usize]; + ["Offset of field: rpc_xprt_ops::inject_disconnect"] + [::core::mem::offset_of!(rpc_xprt_ops, inject_disconnect) - 192usize]; + ["Offset of field: rpc_xprt_ops::bc_setup"] + [::core::mem::offset_of!(rpc_xprt_ops, bc_setup) - 200usize]; + ["Offset of field: rpc_xprt_ops::bc_maxpayload"] + [::core::mem::offset_of!(rpc_xprt_ops, bc_maxpayload) - 208usize]; + ["Offset of field: rpc_xprt_ops::bc_num_slots"] + [::core::mem::offset_of!(rpc_xprt_ops, bc_num_slots) - 216usize]; + ["Offset of field: rpc_xprt_ops::bc_free_rqst"] + [::core::mem::offset_of!(rpc_xprt_ops, bc_free_rqst) - 224usize]; + ["Offset of field: rpc_xprt_ops::bc_destroy"] + [::core::mem::offset_of!(rpc_xprt_ops, bc_destroy) - 232usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpc_sysfs_xprt_switch { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rpc_xprt_switch { + pub xps_lock: spinlock_t, + pub xps_kref: kref, + pub xps_id: ::core::ffi::c_uint, + pub xps_nxprts: ::core::ffi::c_uint, + pub xps_nactive: ::core::ffi::c_uint, + pub xps_nunique_destaddr_xprts: ::core::ffi::c_uint, + pub xps_queuelen: atomic_long_t, + pub xps_xprt_list: list_head, + pub xps_net: *mut net, + pub xps_iter_ops: *const rpc_xprt_iter_ops, + pub xps_sysfs: *mut rpc_sysfs_xprt_switch, + pub xps_rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpc_xprt_switch"][::core::mem::size_of::() - 88usize]; + ["Alignment of rpc_xprt_switch"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rpc_xprt_switch::xps_lock"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_lock) - 0usize]; + ["Offset of field: rpc_xprt_switch::xps_kref"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_kref) - 4usize]; + ["Offset of field: rpc_xprt_switch::xps_id"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_id) - 8usize]; + ["Offset of field: rpc_xprt_switch::xps_nxprts"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_nxprts) - 12usize]; + ["Offset of field: rpc_xprt_switch::xps_nactive"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_nactive) - 16usize]; + ["Offset of field: rpc_xprt_switch::xps_nunique_destaddr_xprts"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_nunique_destaddr_xprts) - 20usize]; + ["Offset of field: rpc_xprt_switch::xps_queuelen"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_queuelen) - 24usize]; + ["Offset of field: rpc_xprt_switch::xps_xprt_list"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_xprt_list) - 32usize]; + ["Offset of field: rpc_xprt_switch::xps_net"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_net) - 48usize]; + ["Offset of field: rpc_xprt_switch::xps_iter_ops"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_iter_ops) - 56usize]; + ["Offset of field: rpc_xprt_switch::xps_sysfs"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_sysfs) - 64usize]; + ["Offset of field: rpc_xprt_switch::xps_rcu"] + [::core::mem::offset_of!(rpc_xprt_switch, xps_rcu) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rpcsec_gss_info { + pub oid: rpcsec_gss_oid, + pub qop: u32_, + pub service: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rpcsec_gss_info"][::core::mem::size_of::() - 44usize]; + ["Alignment of rpcsec_gss_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rpcsec_gss_info::oid"] + [::core::mem::offset_of!(rpcsec_gss_info, oid) - 0usize]; + ["Offset of field: rpcsec_gss_info::qop"] + [::core::mem::offset_of!(rpcsec_gss_info, qop) - 36usize]; + ["Offset of field: rpcsec_gss_info::service"] + [::core::mem::offset_of!(rpcsec_gss_info, service) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rps_dev_flow { + pub cpu: u16_, + pub filter: u16_, + pub last_qtail: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rps_dev_flow"][::core::mem::size_of::() - 8usize]; + ["Alignment of rps_dev_flow"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rps_dev_flow::cpu"][::core::mem::offset_of!(rps_dev_flow, cpu) - 0usize]; + ["Offset of field: rps_dev_flow::filter"] + [::core::mem::offset_of!(rps_dev_flow, filter) - 2usize]; + ["Offset of field: rps_dev_flow::last_qtail"] + [::core::mem::offset_of!(rps_dev_flow, last_qtail) - 4usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct rps_dev_flow_table { + pub mask: ::core::ffi::c_uint, + pub rcu: callback_head, + pub flows: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rps_dev_flow_table"][::core::mem::size_of::() - 24usize]; + ["Alignment of rps_dev_flow_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rps_dev_flow_table::mask"] + [::core::mem::offset_of!(rps_dev_flow_table, mask) - 0usize]; + ["Offset of field: rps_dev_flow_table::rcu"] + [::core::mem::offset_of!(rps_dev_flow_table, rcu) - 8usize]; + ["Offset of field: rps_dev_flow_table::flows"] + [::core::mem::offset_of!(rps_dev_flow_table, flows) - 24usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct rps_map { + pub len: ::core::ffi::c_uint, + pub rcu: callback_head, + pub cpus: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rps_map"][::core::mem::size_of::() - 24usize]; + ["Alignment of rps_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rps_map::len"][::core::mem::offset_of!(rps_map, len) - 0usize]; + ["Offset of field: rps_map::rcu"][::core::mem::offset_of!(rps_map, rcu) - 8usize]; + ["Offset of field: rps_map::cpus"][::core::mem::offset_of!(rps_map, cpus) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uclamp_bucket { + pub _bitfield_align_1: [u64; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uclamp_bucket"][::core::mem::size_of::() - 8usize]; + ["Alignment of uclamp_bucket"][::core::mem::align_of::() - 8usize]; +}; +impl uclamp_bucket { + #[inline] + pub fn value(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 11u8) as u64) } + } + #[inline] + pub fn set_value(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 11u8, val as u64) + } + } + #[inline] + pub unsafe fn value_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 11u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_value_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 11u8, + val as u64, + ) + } + } + #[inline] + pub fn tasks(&self) -> ::core::ffi::c_ulong { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 53u8) as u64) } + } + #[inline] + pub fn set_tasks(&mut self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 53u8, val as u64) + } + } + #[inline] + pub unsafe fn tasks_raw(this: *const Self) -> ::core::ffi::c_ulong { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 53u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_tasks_raw(this: *mut Self, val: ::core::ffi::c_ulong) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 53u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + value: ::core::ffi::c_ulong, + tasks: ::core::ffi::c_ulong, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 11u8, { + let value: u64 = unsafe { ::core::mem::transmute(value) }; + value as u64 + }); + __bindgen_bitfield_unit.set(11usize, 53u8, { + let tasks: u64 = unsafe { ::core::mem::transmute(tasks) }; + tasks as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uclamp_rq { + pub value: ::core::ffi::c_uint, + pub bucket: [uclamp_bucket; 5usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uclamp_rq"][::core::mem::size_of::() - 48usize]; + ["Alignment of uclamp_rq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uclamp_rq::value"][::core::mem::offset_of!(uclamp_rq, value) - 0usize]; + ["Offset of field: uclamp_rq::bucket"][::core::mem::offset_of!(uclamp_rq, bucket) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rt_prio_array { + pub bitmap: [::core::ffi::c_ulong; 2usize], + pub queue: [list_head; 100usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt_prio_array"][::core::mem::size_of::() - 1616usize]; + ["Alignment of rt_prio_array"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt_prio_array::bitmap"] + [::core::mem::offset_of!(rt_prio_array, bitmap) - 0usize]; + ["Offset of field: rt_prio_array::queue"] + [::core::mem::offset_of!(rt_prio_array, queue) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rt_rq { + pub active: rt_prio_array, + pub rt_nr_running: ::core::ffi::c_uint, + pub rr_nr_running: ::core::ffi::c_uint, + pub highest_prio: rt_rq__bindgen_ty_1, + pub overloaded: bool_, + pub pushable_tasks: plist_head, + pub rt_queued: ::core::ffi::c_int, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rt_rq__bindgen_ty_1 { + pub curr: ::core::ffi::c_int, + pub next: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt_rq__bindgen_ty_1"][::core::mem::size_of::() - 8usize]; + ["Alignment of rt_rq__bindgen_ty_1"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rt_rq__bindgen_ty_1::curr"] + [::core::mem::offset_of!(rt_rq__bindgen_ty_1, curr) - 0usize]; + ["Offset of field: rt_rq__bindgen_ty_1::next"] + [::core::mem::offset_of!(rt_rq__bindgen_ty_1, next) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt_rq"][::core::mem::size_of::() - 1664usize]; + ["Alignment of rt_rq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt_rq::active"][::core::mem::offset_of!(rt_rq, active) - 0usize]; + ["Offset of field: rt_rq::rt_nr_running"] + [::core::mem::offset_of!(rt_rq, rt_nr_running) - 1616usize]; + ["Offset of field: rt_rq::rr_nr_running"] + [::core::mem::offset_of!(rt_rq, rr_nr_running) - 1620usize]; + ["Offset of field: rt_rq::highest_prio"] + [::core::mem::offset_of!(rt_rq, highest_prio) - 1624usize]; + ["Offset of field: rt_rq::overloaded"][::core::mem::offset_of!(rt_rq, overloaded) - 1632usize]; + ["Offset of field: rt_rq::pushable_tasks"] + [::core::mem::offset_of!(rt_rq, pushable_tasks) - 1640usize]; + ["Offset of field: rt_rq::rt_queued"][::core::mem::offset_of!(rt_rq, rt_queued) - 1656usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct scx_dispatch_q { + pub lock: raw_spinlock_t, + pub list: list_head, + pub priq: rb_root, + pub nr: u32_, + pub seq: u32_, + pub id: u64_, + pub hash_node: rhash_head, + pub free_node: llist_node, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of scx_dispatch_q"][::core::mem::size_of::() - 80usize]; + ["Alignment of scx_dispatch_q"][::core::mem::align_of::() - 8usize]; + ["Offset of field: scx_dispatch_q::lock"] + [::core::mem::offset_of!(scx_dispatch_q, lock) - 0usize]; + ["Offset of field: scx_dispatch_q::list"] + [::core::mem::offset_of!(scx_dispatch_q, list) - 8usize]; + ["Offset of field: scx_dispatch_q::priq"] + [::core::mem::offset_of!(scx_dispatch_q, priq) - 24usize]; + ["Offset of field: scx_dispatch_q::nr"][::core::mem::offset_of!(scx_dispatch_q, nr) - 32usize]; + ["Offset of field: scx_dispatch_q::seq"] + [::core::mem::offset_of!(scx_dispatch_q, seq) - 36usize]; + ["Offset of field: scx_dispatch_q::id"][::core::mem::offset_of!(scx_dispatch_q, id) - 40usize]; + ["Offset of field: scx_dispatch_q::hash_node"] + [::core::mem::offset_of!(scx_dispatch_q, hash_node) - 48usize]; + ["Offset of field: scx_dispatch_q::free_node"] + [::core::mem::offset_of!(scx_dispatch_q, free_node) - 56usize]; + ["Offset of field: scx_dispatch_q::rcu"] + [::core::mem::offset_of!(scx_dispatch_q, rcu) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct scx_rq { + pub local_dsq: scx_dispatch_q, + pub runnable_list: list_head, + pub ddsp_deferred_locals: list_head, + pub ops_qseq: ::core::ffi::c_ulong, + pub extra_enq_flags: u64_, + pub nr_running: u32_, + pub flags: u32_, + pub cpuperf_target: u32_, + pub cpu_released: bool_, + pub cpus_to_kick: cpumask_var_t, + pub cpus_to_kick_if_idle: cpumask_var_t, + pub cpus_to_preempt: cpumask_var_t, + pub cpus_to_wait: cpumask_var_t, + pub pnt_seq: ::core::ffi::c_ulong, + pub deferred_bal_cb: balance_callback, + pub deferred_irq_work: irq_work, + pub kick_cpus_irq_work: irq_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of scx_rq"][::core::mem::size_of::() - 264usize]; + ["Alignment of scx_rq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: scx_rq::local_dsq"][::core::mem::offset_of!(scx_rq, local_dsq) - 0usize]; + ["Offset of field: scx_rq::runnable_list"] + [::core::mem::offset_of!(scx_rq, runnable_list) - 80usize]; + ["Offset of field: scx_rq::ddsp_deferred_locals"] + [::core::mem::offset_of!(scx_rq, ddsp_deferred_locals) - 96usize]; + ["Offset of field: scx_rq::ops_qseq"][::core::mem::offset_of!(scx_rq, ops_qseq) - 112usize]; + ["Offset of field: scx_rq::extra_enq_flags"] + [::core::mem::offset_of!(scx_rq, extra_enq_flags) - 120usize]; + ["Offset of field: scx_rq::nr_running"][::core::mem::offset_of!(scx_rq, nr_running) - 128usize]; + ["Offset of field: scx_rq::flags"][::core::mem::offset_of!(scx_rq, flags) - 132usize]; + ["Offset of field: scx_rq::cpuperf_target"] + [::core::mem::offset_of!(scx_rq, cpuperf_target) - 136usize]; + ["Offset of field: scx_rq::cpu_released"] + [::core::mem::offset_of!(scx_rq, cpu_released) - 140usize]; + ["Offset of field: scx_rq::cpus_to_kick"] + [::core::mem::offset_of!(scx_rq, cpus_to_kick) - 144usize]; + ["Offset of field: scx_rq::cpus_to_kick_if_idle"] + [::core::mem::offset_of!(scx_rq, cpus_to_kick_if_idle) - 152usize]; + ["Offset of field: scx_rq::cpus_to_preempt"] + [::core::mem::offset_of!(scx_rq, cpus_to_preempt) - 160usize]; + ["Offset of field: scx_rq::cpus_to_wait"] + [::core::mem::offset_of!(scx_rq, cpus_to_wait) - 168usize]; + ["Offset of field: scx_rq::pnt_seq"][::core::mem::offset_of!(scx_rq, pnt_seq) - 176usize]; + ["Offset of field: scx_rq::deferred_bal_cb"] + [::core::mem::offset_of!(scx_rq, deferred_bal_cb) - 184usize]; + ["Offset of field: scx_rq::deferred_irq_work"] + [::core::mem::offset_of!(scx_rq, deferred_irq_work) - 200usize]; + ["Offset of field: scx_rq::kick_cpus_irq_work"] + [::core::mem::offset_of!(scx_rq, kick_cpus_irq_work) - 232usize]; +}; +pub type dl_server_has_tasks_f = + ::core::option::Option bool_>; +pub type dl_server_pick_f = + ::core::option::Option *mut task_struct>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_dl_entity { + pub rb_node: rb_node, + pub dl_runtime: u64_, + pub dl_deadline: u64_, + pub dl_period: u64_, + pub dl_bw: u64_, + pub dl_density: u64_, + pub runtime: s64, + pub deadline: u64_, + pub flags: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub dl_timer: hrtimer, + pub inactive_timer: hrtimer, + pub rq: *mut rq, + pub server_has_tasks: dl_server_has_tasks_f, + pub server_pick_task: dl_server_pick_f, + pub pi_se: *mut sched_dl_entity, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_dl_entity"][::core::mem::size_of::() - 248usize]; + ["Alignment of sched_dl_entity"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_dl_entity::rb_node"] + [::core::mem::offset_of!(sched_dl_entity, rb_node) - 0usize]; + ["Offset of field: sched_dl_entity::dl_runtime"] + [::core::mem::offset_of!(sched_dl_entity, dl_runtime) - 24usize]; + ["Offset of field: sched_dl_entity::dl_deadline"] + [::core::mem::offset_of!(sched_dl_entity, dl_deadline) - 32usize]; + ["Offset of field: sched_dl_entity::dl_period"] + [::core::mem::offset_of!(sched_dl_entity, dl_period) - 40usize]; + ["Offset of field: sched_dl_entity::dl_bw"] + [::core::mem::offset_of!(sched_dl_entity, dl_bw) - 48usize]; + ["Offset of field: sched_dl_entity::dl_density"] + [::core::mem::offset_of!(sched_dl_entity, dl_density) - 56usize]; + ["Offset of field: sched_dl_entity::runtime"] + [::core::mem::offset_of!(sched_dl_entity, runtime) - 64usize]; + ["Offset of field: sched_dl_entity::deadline"] + [::core::mem::offset_of!(sched_dl_entity, deadline) - 72usize]; + ["Offset of field: sched_dl_entity::flags"] + [::core::mem::offset_of!(sched_dl_entity, flags) - 80usize]; + ["Offset of field: sched_dl_entity::dl_timer"] + [::core::mem::offset_of!(sched_dl_entity, dl_timer) - 88usize]; + ["Offset of field: sched_dl_entity::inactive_timer"] + [::core::mem::offset_of!(sched_dl_entity, inactive_timer) - 152usize]; + ["Offset of field: sched_dl_entity::rq"] + [::core::mem::offset_of!(sched_dl_entity, rq) - 216usize]; + ["Offset of field: sched_dl_entity::server_has_tasks"] + [::core::mem::offset_of!(sched_dl_entity, server_has_tasks) - 224usize]; + ["Offset of field: sched_dl_entity::server_pick_task"] + [::core::mem::offset_of!(sched_dl_entity, server_pick_task) - 232usize]; + ["Offset of field: sched_dl_entity::pi_se"] + [::core::mem::offset_of!(sched_dl_entity, pi_se) - 240usize]; +}; +impl sched_dl_entity { + #[inline] + pub fn dl_throttled(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_throttled(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_throttled_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_throttled_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_yielded(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_yielded(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_yielded_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_yielded_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_non_contending(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_non_contending(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_non_contending_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_non_contending_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_overrun(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_overrun(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_overrun_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_overrun_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_server(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_server(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_server_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_server_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_server_active(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_server_active(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_server_active_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_server_active_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_defer(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_defer(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_defer_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_defer_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_defer_armed(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_defer_armed(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_defer_armed_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_defer_armed_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn dl_defer_running(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_dl_defer_running(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn dl_defer_running_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_dl_defer_running_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + dl_throttled: ::core::ffi::c_uint, + dl_yielded: ::core::ffi::c_uint, + dl_non_contending: ::core::ffi::c_uint, + dl_overrun: ::core::ffi::c_uint, + dl_server: ::core::ffi::c_uint, + dl_server_active: ::core::ffi::c_uint, + dl_defer: ::core::ffi::c_uint, + dl_defer_armed: ::core::ffi::c_uint, + dl_defer_running: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let dl_throttled: u32 = unsafe { ::core::mem::transmute(dl_throttled) }; + dl_throttled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let dl_yielded: u32 = unsafe { ::core::mem::transmute(dl_yielded) }; + dl_yielded as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let dl_non_contending: u32 = unsafe { ::core::mem::transmute(dl_non_contending) }; + dl_non_contending as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let dl_overrun: u32 = unsafe { ::core::mem::transmute(dl_overrun) }; + dl_overrun as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let dl_server: u32 = unsafe { ::core::mem::transmute(dl_server) }; + dl_server as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let dl_server_active: u32 = unsafe { ::core::mem::transmute(dl_server_active) }; + dl_server_active as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let dl_defer: u32 = unsafe { ::core::mem::transmute(dl_defer) }; + dl_defer as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let dl_defer_armed: u32 = unsafe { ::core::mem::transmute(dl_defer_armed) }; + dl_defer_armed as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let dl_defer_running: u32 = unsafe { ::core::mem::transmute(dl_defer_running) }; + dl_defer_running as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_info { + pub pcount: ::core::ffi::c_ulong, + pub run_delay: ::core::ffi::c_ulonglong, + pub last_arrival: ::core::ffi::c_ulonglong, + pub last_queued: ::core::ffi::c_ulonglong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_info"][::core::mem::size_of::() - 32usize]; + ["Alignment of sched_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_info::pcount"][::core::mem::offset_of!(sched_info, pcount) - 0usize]; + ["Offset of field: sched_info::run_delay"] + [::core::mem::offset_of!(sched_info, run_delay) - 8usize]; + ["Offset of field: sched_info::last_arrival"] + [::core::mem::offset_of!(sched_info, last_arrival) - 16usize]; + ["Offset of field: sched_info::last_queued"] + [::core::mem::offset_of!(sched_info, last_queued) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct rq { + pub __lock: raw_spinlock_t, + pub nr_running: ::core::ffi::c_uint, + pub nr_numa_running: ::core::ffi::c_uint, + pub nr_preferred_running: ::core::ffi::c_uint, + pub numa_migrate_on: ::core::ffi::c_uint, + pub last_blocked_load_update_tick: ::core::ffi::c_ulong, + pub has_blocked_load: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub nohz_csd: call_single_data_t, + pub nohz_tick_stopped: ::core::ffi::c_uint, + pub nohz_flags: atomic_t, + pub ttwu_pending: ::core::ffi::c_uint, + pub nr_switches: u64_, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 8usize]>, + pub uclamp: [uclamp_rq; 2usize], + pub uclamp_flags: ::core::ffi::c_uint, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 24usize]>, + pub cfs: cfs_rq, + pub rt: rt_rq, + pub dl: dl_rq, + pub scx: scx_rq, + pub fair_server: sched_dl_entity, + pub leaf_cfs_rq_list: list_head, + pub tmp_alone_branch: *mut list_head, + pub nr_uninterruptible: ::core::ffi::c_ulong, + pub curr: *mut task_struct, + pub dl_server: *mut sched_dl_entity, + pub idle: *mut task_struct, + pub stop: *mut task_struct, + pub next_balance: ::core::ffi::c_ulong, + pub prev_mm: *mut mm_struct, + pub clock_update_flags: ::core::ffi::c_uint, + pub clock: u64_, + pub _bitfield_align_4: [u8; 0], + pub _bitfield_4: __BindgenBitfieldUnit<[u8; 56usize]>, + pub clock_task: u64_, + pub clock_pelt: u64_, + pub lost_idle_time: ::core::ffi::c_ulong, + pub clock_pelt_idle: u64_, + pub clock_idle: u64_, + pub nr_iowait: atomic_t, + pub last_seen_need_resched_ns: u64_, + pub ticks_without_resched: ::core::ffi::c_int, + pub membarrier_state: ::core::ffi::c_int, + pub rd: *mut root_domain, + pub sd: *mut sched_domain, + pub cpu_capacity: ::core::ffi::c_ulong, + pub balance_callback: *mut balance_callback, + pub nohz_idle_balance: ::core::ffi::c_uchar, + pub idle_balance: ::core::ffi::c_uchar, + pub misfit_task_load: ::core::ffi::c_ulong, + pub active_balance: ::core::ffi::c_int, + pub push_cpu: ::core::ffi::c_int, + pub active_balance_work: cpu_stop_work, + pub cpu: ::core::ffi::c_int, + pub online: ::core::ffi::c_int, + pub cfs_tasks: list_head, + pub avg_rt: sched_avg, + pub avg_dl: sched_avg, + pub avg_irq: sched_avg, + pub idle_stamp: u64_, + pub avg_idle: u64_, + pub max_idle_balance_cost: u64_, + pub hotplug_wait: rcuwait, + pub prev_irq_time: u64_, + pub psi_irq_time: u64_, + pub prev_steal_time: u64_, + pub prev_steal_time_rq: u64_, + pub calc_load_update: ::core::ffi::c_ulong, + pub calc_load_active: ::core::ffi::c_long, + pub _bitfield_align_5: [u8; 0], + pub _bitfield_5: __BindgenBitfieldUnit<[u8; 16usize]>, + pub hrtick_csd: call_single_data_t, + pub hrtick_timer: hrtimer, + pub hrtick_time: ktime_t, + pub rq_sched_info: sched_info, + pub rq_cpu_time: ::core::ffi::c_ulonglong, + pub yld_count: ::core::ffi::c_uint, + pub sched_count: ::core::ffi::c_uint, + pub sched_goidle: ::core::ffi::c_uint, + pub ttwu_count: ::core::ffi::c_uint, + pub ttwu_local: ::core::ffi::c_uint, + pub idle_state: *mut cpuidle_state, + pub nr_pinned: ::core::ffi::c_uint, + pub push_busy: ::core::ffi::c_uint, + pub push_work: cpu_stop_work, + pub core: *mut rq, + pub core_pick: *mut task_struct, + pub core_dl_server: *mut sched_dl_entity, + pub core_enabled: ::core::ffi::c_uint, + pub core_sched_seq: ::core::ffi::c_uint, + pub core_tree: rb_root, + pub core_task_seq: ::core::ffi::c_uint, + pub core_pick_seq: ::core::ffi::c_uint, + pub core_cookie: ::core::ffi::c_ulong, + pub core_forceidle_count: ::core::ffi::c_uint, + pub core_forceidle_seq: ::core::ffi::c_uint, + pub core_forceidle_occupation: ::core::ffi::c_uint, + pub core_forceidle_start: u64_, + pub scratch_mask: cpumask_var_t, + pub cfsb_csd: call_single_data_t, + pub cfsb_csd_list: list_head, + pub _bitfield_align_6: [u8; 0], + pub _bitfield_6: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rq"][::core::mem::size_of::() - 4096usize]; + ["Alignment of rq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rq::__lock"][::core::mem::offset_of!(rq, __lock) - 0usize]; + ["Offset of field: rq::nr_running"][::core::mem::offset_of!(rq, nr_running) - 4usize]; + ["Offset of field: rq::nr_numa_running"][::core::mem::offset_of!(rq, nr_numa_running) - 8usize]; + ["Offset of field: rq::nr_preferred_running"] + [::core::mem::offset_of!(rq, nr_preferred_running) - 12usize]; + ["Offset of field: rq::numa_migrate_on"] + [::core::mem::offset_of!(rq, numa_migrate_on) - 16usize]; + ["Offset of field: rq::last_blocked_load_update_tick"] + [::core::mem::offset_of!(rq, last_blocked_load_update_tick) - 24usize]; + ["Offset of field: rq::has_blocked_load"] + [::core::mem::offset_of!(rq, has_blocked_load) - 32usize]; + ["Offset of field: rq::nohz_csd"][::core::mem::offset_of!(rq, nohz_csd) - 64usize]; + ["Offset of field: rq::nohz_tick_stopped"] + [::core::mem::offset_of!(rq, nohz_tick_stopped) - 96usize]; + ["Offset of field: rq::nohz_flags"][::core::mem::offset_of!(rq, nohz_flags) - 100usize]; + ["Offset of field: rq::ttwu_pending"][::core::mem::offset_of!(rq, ttwu_pending) - 104usize]; + ["Offset of field: rq::nr_switches"][::core::mem::offset_of!(rq, nr_switches) - 112usize]; + ["Offset of field: rq::uclamp"][::core::mem::offset_of!(rq, uclamp) - 128usize]; + ["Offset of field: rq::uclamp_flags"][::core::mem::offset_of!(rq, uclamp_flags) - 224usize]; + ["Offset of field: rq::cfs"][::core::mem::offset_of!(rq, cfs) - 256usize]; + ["Offset of field: rq::rt"][::core::mem::offset_of!(rq, rt) - 768usize]; + ["Offset of field: rq::dl"][::core::mem::offset_of!(rq, dl) - 2432usize]; + ["Offset of field: rq::scx"][::core::mem::offset_of!(rq, scx) - 2536usize]; + ["Offset of field: rq::fair_server"][::core::mem::offset_of!(rq, fair_server) - 2800usize]; + ["Offset of field: rq::leaf_cfs_rq_list"] + [::core::mem::offset_of!(rq, leaf_cfs_rq_list) - 3048usize]; + ["Offset of field: rq::tmp_alone_branch"] + [::core::mem::offset_of!(rq, tmp_alone_branch) - 3064usize]; + ["Offset of field: rq::nr_uninterruptible"] + [::core::mem::offset_of!(rq, nr_uninterruptible) - 3072usize]; + ["Offset of field: rq::curr"][::core::mem::offset_of!(rq, curr) - 3080usize]; + ["Offset of field: rq::dl_server"][::core::mem::offset_of!(rq, dl_server) - 3088usize]; + ["Offset of field: rq::idle"][::core::mem::offset_of!(rq, idle) - 3096usize]; + ["Offset of field: rq::stop"][::core::mem::offset_of!(rq, stop) - 3104usize]; + ["Offset of field: rq::next_balance"][::core::mem::offset_of!(rq, next_balance) - 3112usize]; + ["Offset of field: rq::prev_mm"][::core::mem::offset_of!(rq, prev_mm) - 3120usize]; + ["Offset of field: rq::clock_update_flags"] + [::core::mem::offset_of!(rq, clock_update_flags) - 3128usize]; + ["Offset of field: rq::clock"][::core::mem::offset_of!(rq, clock) - 3136usize]; + ["Offset of field: rq::clock_task"][::core::mem::offset_of!(rq, clock_task) - 3200usize]; + ["Offset of field: rq::clock_pelt"][::core::mem::offset_of!(rq, clock_pelt) - 3208usize]; + ["Offset of field: rq::lost_idle_time"] + [::core::mem::offset_of!(rq, lost_idle_time) - 3216usize]; + ["Offset of field: rq::clock_pelt_idle"] + [::core::mem::offset_of!(rq, clock_pelt_idle) - 3224usize]; + ["Offset of field: rq::clock_idle"][::core::mem::offset_of!(rq, clock_idle) - 3232usize]; + ["Offset of field: rq::nr_iowait"][::core::mem::offset_of!(rq, nr_iowait) - 3240usize]; + ["Offset of field: rq::last_seen_need_resched_ns"] + [::core::mem::offset_of!(rq, last_seen_need_resched_ns) - 3248usize]; + ["Offset of field: rq::ticks_without_resched"] + [::core::mem::offset_of!(rq, ticks_without_resched) - 3256usize]; + ["Offset of field: rq::membarrier_state"] + [::core::mem::offset_of!(rq, membarrier_state) - 3260usize]; + ["Offset of field: rq::rd"][::core::mem::offset_of!(rq, rd) - 3264usize]; + ["Offset of field: rq::sd"][::core::mem::offset_of!(rq, sd) - 3272usize]; + ["Offset of field: rq::cpu_capacity"][::core::mem::offset_of!(rq, cpu_capacity) - 3280usize]; + ["Offset of field: rq::balance_callback"] + [::core::mem::offset_of!(rq, balance_callback) - 3288usize]; + ["Offset of field: rq::nohz_idle_balance"] + [::core::mem::offset_of!(rq, nohz_idle_balance) - 3296usize]; + ["Offset of field: rq::idle_balance"][::core::mem::offset_of!(rq, idle_balance) - 3297usize]; + ["Offset of field: rq::misfit_task_load"] + [::core::mem::offset_of!(rq, misfit_task_load) - 3304usize]; + ["Offset of field: rq::active_balance"] + [::core::mem::offset_of!(rq, active_balance) - 3312usize]; + ["Offset of field: rq::push_cpu"][::core::mem::offset_of!(rq, push_cpu) - 3316usize]; + ["Offset of field: rq::active_balance_work"] + [::core::mem::offset_of!(rq, active_balance_work) - 3320usize]; + ["Offset of field: rq::cpu"][::core::mem::offset_of!(rq, cpu) - 3368usize]; + ["Offset of field: rq::online"][::core::mem::offset_of!(rq, online) - 3372usize]; + ["Offset of field: rq::cfs_tasks"][::core::mem::offset_of!(rq, cfs_tasks) - 3376usize]; + ["Offset of field: rq::avg_rt"][::core::mem::offset_of!(rq, avg_rt) - 3392usize]; + ["Offset of field: rq::avg_dl"][::core::mem::offset_of!(rq, avg_dl) - 3456usize]; + ["Offset of field: rq::avg_irq"][::core::mem::offset_of!(rq, avg_irq) - 3520usize]; + ["Offset of field: rq::idle_stamp"][::core::mem::offset_of!(rq, idle_stamp) - 3584usize]; + ["Offset of field: rq::avg_idle"][::core::mem::offset_of!(rq, avg_idle) - 3592usize]; + ["Offset of field: rq::max_idle_balance_cost"] + [::core::mem::offset_of!(rq, max_idle_balance_cost) - 3600usize]; + ["Offset of field: rq::hotplug_wait"][::core::mem::offset_of!(rq, hotplug_wait) - 3608usize]; + ["Offset of field: rq::prev_irq_time"][::core::mem::offset_of!(rq, prev_irq_time) - 3616usize]; + ["Offset of field: rq::psi_irq_time"][::core::mem::offset_of!(rq, psi_irq_time) - 3624usize]; + ["Offset of field: rq::prev_steal_time"] + [::core::mem::offset_of!(rq, prev_steal_time) - 3632usize]; + ["Offset of field: rq::prev_steal_time_rq"] + [::core::mem::offset_of!(rq, prev_steal_time_rq) - 3640usize]; + ["Offset of field: rq::calc_load_update"] + [::core::mem::offset_of!(rq, calc_load_update) - 3648usize]; + ["Offset of field: rq::calc_load_active"] + [::core::mem::offset_of!(rq, calc_load_active) - 3656usize]; + ["Offset of field: rq::hrtick_csd"][::core::mem::offset_of!(rq, hrtick_csd) - 3680usize]; + ["Offset of field: rq::hrtick_timer"][::core::mem::offset_of!(rq, hrtick_timer) - 3712usize]; + ["Offset of field: rq::hrtick_time"][::core::mem::offset_of!(rq, hrtick_time) - 3776usize]; + ["Offset of field: rq::rq_sched_info"][::core::mem::offset_of!(rq, rq_sched_info) - 3784usize]; + ["Offset of field: rq::rq_cpu_time"][::core::mem::offset_of!(rq, rq_cpu_time) - 3816usize]; + ["Offset of field: rq::yld_count"][::core::mem::offset_of!(rq, yld_count) - 3824usize]; + ["Offset of field: rq::sched_count"][::core::mem::offset_of!(rq, sched_count) - 3828usize]; + ["Offset of field: rq::sched_goidle"][::core::mem::offset_of!(rq, sched_goidle) - 3832usize]; + ["Offset of field: rq::ttwu_count"][::core::mem::offset_of!(rq, ttwu_count) - 3836usize]; + ["Offset of field: rq::ttwu_local"][::core::mem::offset_of!(rq, ttwu_local) - 3840usize]; + ["Offset of field: rq::idle_state"][::core::mem::offset_of!(rq, idle_state) - 3848usize]; + ["Offset of field: rq::nr_pinned"][::core::mem::offset_of!(rq, nr_pinned) - 3856usize]; + ["Offset of field: rq::push_busy"][::core::mem::offset_of!(rq, push_busy) - 3860usize]; + ["Offset of field: rq::push_work"][::core::mem::offset_of!(rq, push_work) - 3864usize]; + ["Offset of field: rq::core"][::core::mem::offset_of!(rq, core) - 3912usize]; + ["Offset of field: rq::core_pick"][::core::mem::offset_of!(rq, core_pick) - 3920usize]; + ["Offset of field: rq::core_dl_server"] + [::core::mem::offset_of!(rq, core_dl_server) - 3928usize]; + ["Offset of field: rq::core_enabled"][::core::mem::offset_of!(rq, core_enabled) - 3936usize]; + ["Offset of field: rq::core_sched_seq"] + [::core::mem::offset_of!(rq, core_sched_seq) - 3940usize]; + ["Offset of field: rq::core_tree"][::core::mem::offset_of!(rq, core_tree) - 3944usize]; + ["Offset of field: rq::core_task_seq"][::core::mem::offset_of!(rq, core_task_seq) - 3952usize]; + ["Offset of field: rq::core_pick_seq"][::core::mem::offset_of!(rq, core_pick_seq) - 3956usize]; + ["Offset of field: rq::core_cookie"][::core::mem::offset_of!(rq, core_cookie) - 3960usize]; + ["Offset of field: rq::core_forceidle_count"] + [::core::mem::offset_of!(rq, core_forceidle_count) - 3968usize]; + ["Offset of field: rq::core_forceidle_seq"] + [::core::mem::offset_of!(rq, core_forceidle_seq) - 3972usize]; + ["Offset of field: rq::core_forceidle_occupation"] + [::core::mem::offset_of!(rq, core_forceidle_occupation) - 3976usize]; + ["Offset of field: rq::core_forceidle_start"] + [::core::mem::offset_of!(rq, core_forceidle_start) - 3984usize]; + ["Offset of field: rq::scratch_mask"][::core::mem::offset_of!(rq, scratch_mask) - 3992usize]; + ["Offset of field: rq::cfsb_csd"][::core::mem::offset_of!(rq, cfsb_csd) - 4000usize]; + ["Offset of field: rq::cfsb_csd_list"][::core::mem::offset_of!(rq, cfsb_csd_list) - 4032usize]; +}; +impl rq { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_3() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_5() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rq_qos_ops { + pub throttle: ::core::option::Option, + pub track: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq_qos, arg2: *mut request, arg3: *mut bio), + >, + pub merge: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq_qos, arg2: *mut request, arg3: *mut bio), + >, + pub issue: ::core::option::Option, + pub requeue: + ::core::option::Option, + pub done: ::core::option::Option, + pub done_bio: ::core::option::Option, + pub cleanup: ::core::option::Option, + pub queue_depth_changed: ::core::option::Option, + pub exit: ::core::option::Option, + pub debugfs_attrs: *const blk_mq_debugfs_attr, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rq_qos_ops"][::core::mem::size_of::() - 88usize]; + ["Alignment of rq_qos_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rq_qos_ops::throttle"] + [::core::mem::offset_of!(rq_qos_ops, throttle) - 0usize]; + ["Offset of field: rq_qos_ops::track"][::core::mem::offset_of!(rq_qos_ops, track) - 8usize]; + ["Offset of field: rq_qos_ops::merge"][::core::mem::offset_of!(rq_qos_ops, merge) - 16usize]; + ["Offset of field: rq_qos_ops::issue"][::core::mem::offset_of!(rq_qos_ops, issue) - 24usize]; + ["Offset of field: rq_qos_ops::requeue"] + [::core::mem::offset_of!(rq_qos_ops, requeue) - 32usize]; + ["Offset of field: rq_qos_ops::done"][::core::mem::offset_of!(rq_qos_ops, done) - 40usize]; + ["Offset of field: rq_qos_ops::done_bio"] + [::core::mem::offset_of!(rq_qos_ops, done_bio) - 48usize]; + ["Offset of field: rq_qos_ops::cleanup"] + [::core::mem::offset_of!(rq_qos_ops, cleanup) - 56usize]; + ["Offset of field: rq_qos_ops::queue_depth_changed"] + [::core::mem::offset_of!(rq_qos_ops, queue_depth_changed) - 64usize]; + ["Offset of field: rq_qos_ops::exit"][::core::mem::offset_of!(rq_qos_ops, exit) - 72usize]; + ["Offset of field: rq_qos_ops::debugfs_attrs"] + [::core::mem::offset_of!(rq_qos_ops, debugfs_attrs) - 80usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct rseq { + pub cpu_id_start: __u32, + pub cpu_id: __u32, + pub rseq_cs: __u64, + pub flags: __u32, + pub node_id: __u32, + pub mm_cid: __u32, + pub end: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rseq"][::core::mem::size_of::() - 32usize]; + ["Alignment of rseq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rseq::cpu_id_start"][::core::mem::offset_of!(rseq, cpu_id_start) - 0usize]; + ["Offset of field: rseq::cpu_id"][::core::mem::offset_of!(rseq, cpu_id) - 4usize]; + ["Offset of field: rseq::rseq_cs"][::core::mem::offset_of!(rseq, rseq_cs) - 8usize]; + ["Offset of field: rseq::flags"][::core::mem::offset_of!(rseq, flags) - 16usize]; + ["Offset of field: rseq::node_id"][::core::mem::offset_of!(rseq, node_id) - 20usize]; + ["Offset of field: rseq::mm_cid"][::core::mem::offset_of!(rseq, mm_cid) - 24usize]; + ["Offset of field: rseq::end"][::core::mem::offset_of!(rseq, end) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rt6_exception_bucket { + pub chain: hlist_head, + pub depth: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt6_exception_bucket"][::core::mem::size_of::() - 16usize]; + ["Alignment of rt6_exception_bucket"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt6_exception_bucket::chain"] + [::core::mem::offset_of!(rt6_exception_bucket, chain) - 0usize]; + ["Offset of field: rt6_exception_bucket::depth"] + [::core::mem::offset_of!(rt6_exception_bucket, depth) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rt6_statistics { + pub fib_nodes: __u32, + pub fib_route_nodes: __u32, + pub fib_rt_entries: __u32, + pub fib_rt_cache: __u32, + pub fib_discarded_routes: __u32, + pub fib_rt_alloc: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt6_statistics"][::core::mem::size_of::() - 24usize]; + ["Alignment of rt6_statistics"][::core::mem::align_of::() - 4usize]; + ["Offset of field: rt6_statistics::fib_nodes"] + [::core::mem::offset_of!(rt6_statistics, fib_nodes) - 0usize]; + ["Offset of field: rt6_statistics::fib_route_nodes"] + [::core::mem::offset_of!(rt6_statistics, fib_route_nodes) - 4usize]; + ["Offset of field: rt6_statistics::fib_rt_entries"] + [::core::mem::offset_of!(rt6_statistics, fib_rt_entries) - 8usize]; + ["Offset of field: rt6_statistics::fib_rt_cache"] + [::core::mem::offset_of!(rt6_statistics, fib_rt_cache) - 12usize]; + ["Offset of field: rt6_statistics::fib_discarded_routes"] + [::core::mem::offset_of!(rt6_statistics, fib_discarded_routes) - 16usize]; + ["Offset of field: rt6_statistics::fib_rt_alloc"] + [::core::mem::offset_of!(rt6_statistics, fib_rt_alloc) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rt_waiter_node { + pub entry: rb_node, + pub prio: ::core::ffi::c_int, + pub deadline: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt_waiter_node"][::core::mem::size_of::() - 40usize]; + ["Alignment of rt_waiter_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt_waiter_node::entry"] + [::core::mem::offset_of!(rt_waiter_node, entry) - 0usize]; + ["Offset of field: rt_waiter_node::prio"] + [::core::mem::offset_of!(rt_waiter_node, prio) - 24usize]; + ["Offset of field: rt_waiter_node::deadline"] + [::core::mem::offset_of!(rt_waiter_node, deadline) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rt_mutex_waiter { + pub tree: rt_waiter_node, + pub pi_tree: rt_waiter_node, + pub task: *mut task_struct, + pub lock: *mut rt_mutex_base, + pub wake_state: ::core::ffi::c_uint, + pub ww_ctx: *mut ww_acquire_ctx, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rt_mutex_waiter"][::core::mem::size_of::() - 112usize]; + ["Alignment of rt_mutex_waiter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rt_mutex_waiter::tree"] + [::core::mem::offset_of!(rt_mutex_waiter, tree) - 0usize]; + ["Offset of field: rt_mutex_waiter::pi_tree"] + [::core::mem::offset_of!(rt_mutex_waiter, pi_tree) - 40usize]; + ["Offset of field: rt_mutex_waiter::task"] + [::core::mem::offset_of!(rt_mutex_waiter, task) - 80usize]; + ["Offset of field: rt_mutex_waiter::lock"] + [::core::mem::offset_of!(rt_mutex_waiter, lock) - 88usize]; + ["Offset of field: rt_mutex_waiter::wake_state"] + [::core::mem::offset_of!(rt_mutex_waiter, wake_state) - 96usize]; + ["Offset of field: rt_mutex_waiter::ww_ctx"] + [::core::mem::offset_of!(rt_mutex_waiter, ww_ctx) - 104usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rtnl_link_ops { + pub list: list_head, + pub kind: *const ::core::ffi::c_char, + pub priv_size: usize, + pub alloc: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut *mut nlattr, + arg2: *const ::core::ffi::c_char, + arg3: ::core::ffi::c_uchar, + arg4: ::core::ffi::c_uint, + arg5: ::core::ffi::c_uint, + ) -> *mut net_device, + >, + pub setup: ::core::option::Option, + pub netns_refund: bool_, + pub maxtype: ::core::ffi::c_uint, + pub policy: *const nla_policy, + pub validate: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut *mut nlattr, + arg2: *mut *mut nlattr, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub newlink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut net_device, + arg3: *mut *mut nlattr, + arg4: *mut *mut nlattr, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub changelink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut *mut nlattr, + arg3: *mut *mut nlattr, + arg4: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub dellink: + ::core::option::Option, + pub get_size: ::core::option::Option usize>, + pub fill_info: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *const net_device) -> ::core::ffi::c_int, + >, + pub get_xstats_size: + ::core::option::Option usize>, + pub fill_xstats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *const net_device) -> ::core::ffi::c_int, + >, + pub get_num_tx_queues: ::core::option::Option ::core::ffi::c_uint>, + pub get_num_rx_queues: ::core::option::Option ::core::ffi::c_uint>, + pub slave_maxtype: ::core::ffi::c_uint, + pub slave_policy: *const nla_policy, + pub slave_changelink: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut net_device, + arg3: *mut *mut nlattr, + arg4: *mut *mut nlattr, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub get_slave_size: ::core::option::Option< + unsafe extern "C" fn(arg1: *const net_device, arg2: *const net_device) -> usize, + >, + pub fill_slave_info: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *const net_device, + arg3: *const net_device, + ) -> ::core::ffi::c_int, + >, + pub get_link_net: + ::core::option::Option *mut net>, + pub get_linkxstats_size: ::core::option::Option< + unsafe extern "C" fn(arg1: *const net_device, arg2: ::core::ffi::c_int) -> usize, + >, + pub fill_linkxstats: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *const net_device, + arg3: *mut ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rtnl_link_ops"][::core::mem::size_of::() - 208usize]; + ["Alignment of rtnl_link_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rtnl_link_ops::list"][::core::mem::offset_of!(rtnl_link_ops, list) - 0usize]; + ["Offset of field: rtnl_link_ops::kind"] + [::core::mem::offset_of!(rtnl_link_ops, kind) - 16usize]; + ["Offset of field: rtnl_link_ops::priv_size"] + [::core::mem::offset_of!(rtnl_link_ops, priv_size) - 24usize]; + ["Offset of field: rtnl_link_ops::alloc"] + [::core::mem::offset_of!(rtnl_link_ops, alloc) - 32usize]; + ["Offset of field: rtnl_link_ops::setup"] + [::core::mem::offset_of!(rtnl_link_ops, setup) - 40usize]; + ["Offset of field: rtnl_link_ops::netns_refund"] + [::core::mem::offset_of!(rtnl_link_ops, netns_refund) - 48usize]; + ["Offset of field: rtnl_link_ops::maxtype"] + [::core::mem::offset_of!(rtnl_link_ops, maxtype) - 52usize]; + ["Offset of field: rtnl_link_ops::policy"] + [::core::mem::offset_of!(rtnl_link_ops, policy) - 56usize]; + ["Offset of field: rtnl_link_ops::validate"] + [::core::mem::offset_of!(rtnl_link_ops, validate) - 64usize]; + ["Offset of field: rtnl_link_ops::newlink"] + [::core::mem::offset_of!(rtnl_link_ops, newlink) - 72usize]; + ["Offset of field: rtnl_link_ops::changelink"] + [::core::mem::offset_of!(rtnl_link_ops, changelink) - 80usize]; + ["Offset of field: rtnl_link_ops::dellink"] + [::core::mem::offset_of!(rtnl_link_ops, dellink) - 88usize]; + ["Offset of field: rtnl_link_ops::get_size"] + [::core::mem::offset_of!(rtnl_link_ops, get_size) - 96usize]; + ["Offset of field: rtnl_link_ops::fill_info"] + [::core::mem::offset_of!(rtnl_link_ops, fill_info) - 104usize]; + ["Offset of field: rtnl_link_ops::get_xstats_size"] + [::core::mem::offset_of!(rtnl_link_ops, get_xstats_size) - 112usize]; + ["Offset of field: rtnl_link_ops::fill_xstats"] + [::core::mem::offset_of!(rtnl_link_ops, fill_xstats) - 120usize]; + ["Offset of field: rtnl_link_ops::get_num_tx_queues"] + [::core::mem::offset_of!(rtnl_link_ops, get_num_tx_queues) - 128usize]; + ["Offset of field: rtnl_link_ops::get_num_rx_queues"] + [::core::mem::offset_of!(rtnl_link_ops, get_num_rx_queues) - 136usize]; + ["Offset of field: rtnl_link_ops::slave_maxtype"] + [::core::mem::offset_of!(rtnl_link_ops, slave_maxtype) - 144usize]; + ["Offset of field: rtnl_link_ops::slave_policy"] + [::core::mem::offset_of!(rtnl_link_ops, slave_policy) - 152usize]; + ["Offset of field: rtnl_link_ops::slave_changelink"] + [::core::mem::offset_of!(rtnl_link_ops, slave_changelink) - 160usize]; + ["Offset of field: rtnl_link_ops::get_slave_size"] + [::core::mem::offset_of!(rtnl_link_ops, get_slave_size) - 168usize]; + ["Offset of field: rtnl_link_ops::fill_slave_info"] + [::core::mem::offset_of!(rtnl_link_ops, fill_slave_info) - 176usize]; + ["Offset of field: rtnl_link_ops::get_link_net"] + [::core::mem::offset_of!(rtnl_link_ops, get_link_net) - 184usize]; + ["Offset of field: rtnl_link_ops::get_linkxstats_size"] + [::core::mem::offset_of!(rtnl_link_ops, get_linkxstats_size) - 192usize]; + ["Offset of field: rtnl_link_ops::fill_linkxstats"] + [::core::mem::offset_of!(rtnl_link_ops, fill_linkxstats) - 200usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rtnl_link_stats64 { + pub rx_packets: __u64, + pub tx_packets: __u64, + pub rx_bytes: __u64, + pub tx_bytes: __u64, + pub rx_errors: __u64, + pub tx_errors: __u64, + pub rx_dropped: __u64, + pub tx_dropped: __u64, + pub multicast: __u64, + pub collisions: __u64, + pub rx_length_errors: __u64, + pub rx_over_errors: __u64, + pub rx_crc_errors: __u64, + pub rx_frame_errors: __u64, + pub rx_fifo_errors: __u64, + pub rx_missed_errors: __u64, + pub tx_aborted_errors: __u64, + pub tx_carrier_errors: __u64, + pub tx_fifo_errors: __u64, + pub tx_heartbeat_errors: __u64, + pub tx_window_errors: __u64, + pub rx_compressed: __u64, + pub tx_compressed: __u64, + pub rx_nohandler: __u64, + pub rx_otherhost_dropped: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of rtnl_link_stats64"][::core::mem::size_of::() - 200usize]; + ["Alignment of rtnl_link_stats64"][::core::mem::align_of::() - 8usize]; + ["Offset of field: rtnl_link_stats64::rx_packets"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_packets) - 0usize]; + ["Offset of field: rtnl_link_stats64::tx_packets"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_packets) - 8usize]; + ["Offset of field: rtnl_link_stats64::rx_bytes"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_bytes) - 16usize]; + ["Offset of field: rtnl_link_stats64::tx_bytes"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_bytes) - 24usize]; + ["Offset of field: rtnl_link_stats64::rx_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_errors) - 32usize]; + ["Offset of field: rtnl_link_stats64::tx_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_errors) - 40usize]; + ["Offset of field: rtnl_link_stats64::rx_dropped"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_dropped) - 48usize]; + ["Offset of field: rtnl_link_stats64::tx_dropped"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_dropped) - 56usize]; + ["Offset of field: rtnl_link_stats64::multicast"] + [::core::mem::offset_of!(rtnl_link_stats64, multicast) - 64usize]; + ["Offset of field: rtnl_link_stats64::collisions"] + [::core::mem::offset_of!(rtnl_link_stats64, collisions) - 72usize]; + ["Offset of field: rtnl_link_stats64::rx_length_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_length_errors) - 80usize]; + ["Offset of field: rtnl_link_stats64::rx_over_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_over_errors) - 88usize]; + ["Offset of field: rtnl_link_stats64::rx_crc_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_crc_errors) - 96usize]; + ["Offset of field: rtnl_link_stats64::rx_frame_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_frame_errors) - 104usize]; + ["Offset of field: rtnl_link_stats64::rx_fifo_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_fifo_errors) - 112usize]; + ["Offset of field: rtnl_link_stats64::rx_missed_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_missed_errors) - 120usize]; + ["Offset of field: rtnl_link_stats64::tx_aborted_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_aborted_errors) - 128usize]; + ["Offset of field: rtnl_link_stats64::tx_carrier_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_carrier_errors) - 136usize]; + ["Offset of field: rtnl_link_stats64::tx_fifo_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_fifo_errors) - 144usize]; + ["Offset of field: rtnl_link_stats64::tx_heartbeat_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_heartbeat_errors) - 152usize]; + ["Offset of field: rtnl_link_stats64::tx_window_errors"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_window_errors) - 160usize]; + ["Offset of field: rtnl_link_stats64::rx_compressed"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_compressed) - 168usize]; + ["Offset of field: rtnl_link_stats64::tx_compressed"] + [::core::mem::offset_of!(rtnl_link_stats64, tx_compressed) - 176usize]; + ["Offset of field: rtnl_link_stats64::rx_nohandler"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_nohandler) - 184usize]; + ["Offset of field: rtnl_link_stats64::rx_otherhost_dropped"] + [::core::mem::offset_of!(rtnl_link_stats64, rx_otherhost_dropped) - 192usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct saved_syn { + pub mac_hdrlen: u32_, + pub network_hdrlen: u32_, + pub tcp_hdrlen: u32_, + pub data: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of saved_syn"][::core::mem::size_of::() - 12usize]; + ["Alignment of saved_syn"][::core::mem::align_of::() - 4usize]; + ["Offset of field: saved_syn::mac_hdrlen"] + [::core::mem::offset_of!(saved_syn, mac_hdrlen) - 0usize]; + ["Offset of field: saved_syn::network_hdrlen"] + [::core::mem::offset_of!(saved_syn, network_hdrlen) - 4usize]; + ["Offset of field: saved_syn::tcp_hdrlen"] + [::core::mem::offset_of!(saved_syn, tcp_hdrlen) - 8usize]; + ["Offset of field: saved_syn::data"][::core::mem::offset_of!(saved_syn, data) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sb_writers { + pub frozen: ::core::ffi::c_ushort, + pub freeze_kcount: ::core::ffi::c_int, + pub freeze_ucount: ::core::ffi::c_int, + pub rw_sem: [percpu_rw_semaphore; 3usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sb_writers"][::core::mem::size_of::() - 304usize]; + ["Alignment of sb_writers"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sb_writers::frozen"][::core::mem::offset_of!(sb_writers, frozen) - 0usize]; + ["Offset of field: sb_writers::freeze_kcount"] + [::core::mem::offset_of!(sb_writers, freeze_kcount) - 4usize]; + ["Offset of field: sb_writers::freeze_ucount"] + [::core::mem::offset_of!(sb_writers, freeze_ucount) - 8usize]; + ["Offset of field: sb_writers::rw_sem"][::core::mem::offset_of!(sb_writers, rw_sem) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sbitmap_word { + pub word: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub cleared: ::core::ffi::c_ulong, + pub swap_lock: raw_spinlock_t, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>, + pub __bindgen_padding_0: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sbitmap_word"][::core::mem::size_of::() - 128usize]; + ["Alignment of sbitmap_word"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sbitmap_word::word"][::core::mem::offset_of!(sbitmap_word, word) - 0usize]; + ["Offset of field: sbitmap_word::cleared"] + [::core::mem::offset_of!(sbitmap_word, cleared) - 64usize]; + ["Offset of field: sbitmap_word::swap_lock"] + [::core::mem::offset_of!(sbitmap_word, swap_lock) - 72usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sbq_wait_state { + pub wait: wait_queue_head_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sbq_wait_state"][::core::mem::size_of::() - 64usize]; + ["Alignment of sbq_wait_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sbq_wait_state::wait"] + [::core::mem::offset_of!(sbq_wait_state, wait) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_class { + pub uclamp_enabled: ::core::ffi::c_int, + pub enqueue_task: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::core::ffi::c_int), + >, + pub dequeue_task: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rq, + arg2: *mut task_struct, + arg3: ::core::ffi::c_int, + ) -> bool_, + >, + pub yield_task: ::core::option::Option, + pub yield_to_task: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct) -> bool_, + >, + pub wakeup_preempt: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::core::ffi::c_int), + >, + pub balance: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut rq, + arg2: *mut task_struct, + arg3: *mut rq_flags, + ) -> ::core::ffi::c_int, + >, + pub pick_task: ::core::option::Option *mut task_struct>, + pub pick_next_task: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct) -> *mut task_struct, + >, + pub put_prev_task: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: *mut task_struct), + >, + pub set_next_task: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: bool_), + >, + pub select_task_rq: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut task_struct, + arg2: ::core::ffi::c_int, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub migrate_task_rq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut task_struct, arg2: ::core::ffi::c_int), + >, + pub task_woken: + ::core::option::Option, + pub set_cpus_allowed: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut task_struct, arg2: *mut affinity_context), + >, + pub rq_online: ::core::option::Option, + pub rq_offline: ::core::option::Option, + pub find_lock_rq: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut task_struct, arg2: *mut rq) -> *mut rq, + >, + pub task_tick: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::core::ffi::c_int), + >, + pub task_fork: ::core::option::Option, + pub task_dead: ::core::option::Option, + pub switching_to: + ::core::option::Option, + pub switched_from: + ::core::option::Option, + pub switched_to: + ::core::option::Option, + pub reweight_task: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: *const load_weight), + >, + pub prio_changed: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::core::ffi::c_int), + >, + pub get_rr_interval: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct) -> ::core::ffi::c_uint, + >, + pub update_curr: ::core::option::Option, + pub task_change_group: ::core::option::Option, + pub task_is_throttled: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut task_struct, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_class"][::core::mem::size_of::() - 240usize]; + ["Alignment of sched_class"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_class::uclamp_enabled"] + [::core::mem::offset_of!(sched_class, uclamp_enabled) - 0usize]; + ["Offset of field: sched_class::enqueue_task"] + [::core::mem::offset_of!(sched_class, enqueue_task) - 8usize]; + ["Offset of field: sched_class::dequeue_task"] + [::core::mem::offset_of!(sched_class, dequeue_task) - 16usize]; + ["Offset of field: sched_class::yield_task"] + [::core::mem::offset_of!(sched_class, yield_task) - 24usize]; + ["Offset of field: sched_class::yield_to_task"] + [::core::mem::offset_of!(sched_class, yield_to_task) - 32usize]; + ["Offset of field: sched_class::wakeup_preempt"] + [::core::mem::offset_of!(sched_class, wakeup_preempt) - 40usize]; + ["Offset of field: sched_class::balance"] + [::core::mem::offset_of!(sched_class, balance) - 48usize]; + ["Offset of field: sched_class::pick_task"] + [::core::mem::offset_of!(sched_class, pick_task) - 56usize]; + ["Offset of field: sched_class::pick_next_task"] + [::core::mem::offset_of!(sched_class, pick_next_task) - 64usize]; + ["Offset of field: sched_class::put_prev_task"] + [::core::mem::offset_of!(sched_class, put_prev_task) - 72usize]; + ["Offset of field: sched_class::set_next_task"] + [::core::mem::offset_of!(sched_class, set_next_task) - 80usize]; + ["Offset of field: sched_class::select_task_rq"] + [::core::mem::offset_of!(sched_class, select_task_rq) - 88usize]; + ["Offset of field: sched_class::migrate_task_rq"] + [::core::mem::offset_of!(sched_class, migrate_task_rq) - 96usize]; + ["Offset of field: sched_class::task_woken"] + [::core::mem::offset_of!(sched_class, task_woken) - 104usize]; + ["Offset of field: sched_class::set_cpus_allowed"] + [::core::mem::offset_of!(sched_class, set_cpus_allowed) - 112usize]; + ["Offset of field: sched_class::rq_online"] + [::core::mem::offset_of!(sched_class, rq_online) - 120usize]; + ["Offset of field: sched_class::rq_offline"] + [::core::mem::offset_of!(sched_class, rq_offline) - 128usize]; + ["Offset of field: sched_class::find_lock_rq"] + [::core::mem::offset_of!(sched_class, find_lock_rq) - 136usize]; + ["Offset of field: sched_class::task_tick"] + [::core::mem::offset_of!(sched_class, task_tick) - 144usize]; + ["Offset of field: sched_class::task_fork"] + [::core::mem::offset_of!(sched_class, task_fork) - 152usize]; + ["Offset of field: sched_class::task_dead"] + [::core::mem::offset_of!(sched_class, task_dead) - 160usize]; + ["Offset of field: sched_class::switching_to"] + [::core::mem::offset_of!(sched_class, switching_to) - 168usize]; + ["Offset of field: sched_class::switched_from"] + [::core::mem::offset_of!(sched_class, switched_from) - 176usize]; + ["Offset of field: sched_class::switched_to"] + [::core::mem::offset_of!(sched_class, switched_to) - 184usize]; + ["Offset of field: sched_class::reweight_task"] + [::core::mem::offset_of!(sched_class, reweight_task) - 192usize]; + ["Offset of field: sched_class::prio_changed"] + [::core::mem::offset_of!(sched_class, prio_changed) - 200usize]; + ["Offset of field: sched_class::get_rr_interval"] + [::core::mem::offset_of!(sched_class, get_rr_interval) - 208usize]; + ["Offset of field: sched_class::update_curr"] + [::core::mem::offset_of!(sched_class, update_curr) - 216usize]; + ["Offset of field: sched_class::task_change_group"] + [::core::mem::offset_of!(sched_class, task_change_group) - 224usize]; + ["Offset of field: sched_class::task_is_throttled"] + [::core::mem::offset_of!(sched_class, task_is_throttled) - 232usize]; +}; +#[repr(C)] +pub struct sched_domain { + pub parent: *mut sched_domain, + pub child: *mut sched_domain, + pub groups: *mut sched_group, + pub min_interval: ::core::ffi::c_ulong, + pub max_interval: ::core::ffi::c_ulong, + pub busy_factor: ::core::ffi::c_uint, + pub imbalance_pct: ::core::ffi::c_uint, + pub cache_nice_tries: ::core::ffi::c_uint, + pub imb_numa_nr: ::core::ffi::c_uint, + pub nohz_idle: ::core::ffi::c_int, + pub flags: ::core::ffi::c_int, + pub level: ::core::ffi::c_int, + pub last_balance: ::core::ffi::c_ulong, + pub balance_interval: ::core::ffi::c_uint, + pub nr_balance_failed: ::core::ffi::c_uint, + pub max_newidle_lb_cost: u64_, + pub last_decay_max_lb_cost: ::core::ffi::c_ulong, + pub lb_count: [::core::ffi::c_uint; 3usize], + pub lb_failed: [::core::ffi::c_uint; 3usize], + pub lb_balanced: [::core::ffi::c_uint; 3usize], + pub lb_imbalance: [::core::ffi::c_uint; 3usize], + pub lb_gained: [::core::ffi::c_uint; 3usize], + pub lb_hot_gained: [::core::ffi::c_uint; 3usize], + pub lb_nobusyg: [::core::ffi::c_uint; 3usize], + pub lb_nobusyq: [::core::ffi::c_uint; 3usize], + pub alb_count: ::core::ffi::c_uint, + pub alb_failed: ::core::ffi::c_uint, + pub alb_pushed: ::core::ffi::c_uint, + pub sbe_count: ::core::ffi::c_uint, + pub sbe_balanced: ::core::ffi::c_uint, + pub sbe_pushed: ::core::ffi::c_uint, + pub sbf_count: ::core::ffi::c_uint, + pub sbf_balanced: ::core::ffi::c_uint, + pub sbf_pushed: ::core::ffi::c_uint, + pub ttwu_wake_remote: ::core::ffi::c_uint, + pub ttwu_move_affine: ::core::ffi::c_uint, + pub ttwu_move_balance: ::core::ffi::c_uint, + pub name: *mut ::core::ffi::c_char, + pub __bindgen_anon_1: sched_domain__bindgen_ty_1, + pub shared: *mut sched_domain_shared, + pub span_weight: ::core::ffi::c_uint, + pub span: __IncompleteArrayField<::core::ffi::c_ulong>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sched_domain__bindgen_ty_1 { + pub private: *mut ::core::ffi::c_void, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_domain__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of sched_domain__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_domain__bindgen_ty_1::private"] + [::core::mem::offset_of!(sched_domain__bindgen_ty_1, private) - 0usize]; + ["Offset of field: sched_domain__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(sched_domain__bindgen_ty_1, rcu) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_domain"][::core::mem::size_of::() - 288usize]; + ["Alignment of sched_domain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_domain::parent"] + [::core::mem::offset_of!(sched_domain, parent) - 0usize]; + ["Offset of field: sched_domain::child"][::core::mem::offset_of!(sched_domain, child) - 8usize]; + ["Offset of field: sched_domain::groups"] + [::core::mem::offset_of!(sched_domain, groups) - 16usize]; + ["Offset of field: sched_domain::min_interval"] + [::core::mem::offset_of!(sched_domain, min_interval) - 24usize]; + ["Offset of field: sched_domain::max_interval"] + [::core::mem::offset_of!(sched_domain, max_interval) - 32usize]; + ["Offset of field: sched_domain::busy_factor"] + [::core::mem::offset_of!(sched_domain, busy_factor) - 40usize]; + ["Offset of field: sched_domain::imbalance_pct"] + [::core::mem::offset_of!(sched_domain, imbalance_pct) - 44usize]; + ["Offset of field: sched_domain::cache_nice_tries"] + [::core::mem::offset_of!(sched_domain, cache_nice_tries) - 48usize]; + ["Offset of field: sched_domain::imb_numa_nr"] + [::core::mem::offset_of!(sched_domain, imb_numa_nr) - 52usize]; + ["Offset of field: sched_domain::nohz_idle"] + [::core::mem::offset_of!(sched_domain, nohz_idle) - 56usize]; + ["Offset of field: sched_domain::flags"] + [::core::mem::offset_of!(sched_domain, flags) - 60usize]; + ["Offset of field: sched_domain::level"] + [::core::mem::offset_of!(sched_domain, level) - 64usize]; + ["Offset of field: sched_domain::last_balance"] + [::core::mem::offset_of!(sched_domain, last_balance) - 72usize]; + ["Offset of field: sched_domain::balance_interval"] + [::core::mem::offset_of!(sched_domain, balance_interval) - 80usize]; + ["Offset of field: sched_domain::nr_balance_failed"] + [::core::mem::offset_of!(sched_domain, nr_balance_failed) - 84usize]; + ["Offset of field: sched_domain::max_newidle_lb_cost"] + [::core::mem::offset_of!(sched_domain, max_newidle_lb_cost) - 88usize]; + ["Offset of field: sched_domain::last_decay_max_lb_cost"] + [::core::mem::offset_of!(sched_domain, last_decay_max_lb_cost) - 96usize]; + ["Offset of field: sched_domain::lb_count"] + [::core::mem::offset_of!(sched_domain, lb_count) - 104usize]; + ["Offset of field: sched_domain::lb_failed"] + [::core::mem::offset_of!(sched_domain, lb_failed) - 116usize]; + ["Offset of field: sched_domain::lb_balanced"] + [::core::mem::offset_of!(sched_domain, lb_balanced) - 128usize]; + ["Offset of field: sched_domain::lb_imbalance"] + [::core::mem::offset_of!(sched_domain, lb_imbalance) - 140usize]; + ["Offset of field: sched_domain::lb_gained"] + [::core::mem::offset_of!(sched_domain, lb_gained) - 152usize]; + ["Offset of field: sched_domain::lb_hot_gained"] + [::core::mem::offset_of!(sched_domain, lb_hot_gained) - 164usize]; + ["Offset of field: sched_domain::lb_nobusyg"] + [::core::mem::offset_of!(sched_domain, lb_nobusyg) - 176usize]; + ["Offset of field: sched_domain::lb_nobusyq"] + [::core::mem::offset_of!(sched_domain, lb_nobusyq) - 188usize]; + ["Offset of field: sched_domain::alb_count"] + [::core::mem::offset_of!(sched_domain, alb_count) - 200usize]; + ["Offset of field: sched_domain::alb_failed"] + [::core::mem::offset_of!(sched_domain, alb_failed) - 204usize]; + ["Offset of field: sched_domain::alb_pushed"] + [::core::mem::offset_of!(sched_domain, alb_pushed) - 208usize]; + ["Offset of field: sched_domain::sbe_count"] + [::core::mem::offset_of!(sched_domain, sbe_count) - 212usize]; + ["Offset of field: sched_domain::sbe_balanced"] + [::core::mem::offset_of!(sched_domain, sbe_balanced) - 216usize]; + ["Offset of field: sched_domain::sbe_pushed"] + [::core::mem::offset_of!(sched_domain, sbe_pushed) - 220usize]; + ["Offset of field: sched_domain::sbf_count"] + [::core::mem::offset_of!(sched_domain, sbf_count) - 224usize]; + ["Offset of field: sched_domain::sbf_balanced"] + [::core::mem::offset_of!(sched_domain, sbf_balanced) - 228usize]; + ["Offset of field: sched_domain::sbf_pushed"] + [::core::mem::offset_of!(sched_domain, sbf_pushed) - 232usize]; + ["Offset of field: sched_domain::ttwu_wake_remote"] + [::core::mem::offset_of!(sched_domain, ttwu_wake_remote) - 236usize]; + ["Offset of field: sched_domain::ttwu_move_affine"] + [::core::mem::offset_of!(sched_domain, ttwu_move_affine) - 240usize]; + ["Offset of field: sched_domain::ttwu_move_balance"] + [::core::mem::offset_of!(sched_domain, ttwu_move_balance) - 244usize]; + ["Offset of field: sched_domain::name"][::core::mem::offset_of!(sched_domain, name) - 248usize]; + ["Offset of field: sched_domain::shared"] + [::core::mem::offset_of!(sched_domain, shared) - 272usize]; + ["Offset of field: sched_domain::span_weight"] + [::core::mem::offset_of!(sched_domain, span_weight) - 280usize]; + ["Offset of field: sched_domain::span"][::core::mem::offset_of!(sched_domain, span) - 288usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_domain_shared { + pub ref_: atomic_t, + pub nr_busy_cpus: atomic_t, + pub has_idle_cores: ::core::ffi::c_int, + pub nr_idle_scan: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_domain_shared"][::core::mem::size_of::() - 16usize]; + ["Alignment of sched_domain_shared"][::core::mem::align_of::() - 4usize]; + ["Offset of field: sched_domain_shared::ref_"] + [::core::mem::offset_of!(sched_domain_shared, ref_) - 0usize]; + ["Offset of field: sched_domain_shared::nr_busy_cpus"] + [::core::mem::offset_of!(sched_domain_shared, nr_busy_cpus) - 4usize]; + ["Offset of field: sched_domain_shared::has_idle_cores"] + [::core::mem::offset_of!(sched_domain_shared, has_idle_cores) - 8usize]; + ["Offset of field: sched_domain_shared::nr_idle_scan"] + [::core::mem::offset_of!(sched_domain_shared, nr_idle_scan) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_entity { + pub load: load_weight, + pub run_node: rb_node, + pub deadline: u64_, + pub min_vruntime: u64_, + pub min_slice: u64_, + pub group_node: list_head, + pub on_rq: ::core::ffi::c_uchar, + pub sched_delayed: ::core::ffi::c_uchar, + pub rel_deadline: ::core::ffi::c_uchar, + pub custom_slice: ::core::ffi::c_uchar, + pub exec_start: u64_, + pub sum_exec_runtime: u64_, + pub prev_sum_exec_runtime: u64_, + pub vruntime: u64_, + pub vlag: s64, + pub slice: u64_, + pub nr_migrations: u64_, + pub depth: ::core::ffi::c_int, + pub parent: *mut sched_entity, + pub cfs_rq: *mut cfs_rq, + pub my_q: *mut cfs_rq, + pub runnable_weight: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub avg: sched_avg, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_entity"][::core::mem::size_of::() - 256usize]; + ["Alignment of sched_entity"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_entity::load"][::core::mem::offset_of!(sched_entity, load) - 0usize]; + ["Offset of field: sched_entity::run_node"] + [::core::mem::offset_of!(sched_entity, run_node) - 16usize]; + ["Offset of field: sched_entity::deadline"] + [::core::mem::offset_of!(sched_entity, deadline) - 40usize]; + ["Offset of field: sched_entity::min_vruntime"] + [::core::mem::offset_of!(sched_entity, min_vruntime) - 48usize]; + ["Offset of field: sched_entity::min_slice"] + [::core::mem::offset_of!(sched_entity, min_slice) - 56usize]; + ["Offset of field: sched_entity::group_node"] + [::core::mem::offset_of!(sched_entity, group_node) - 64usize]; + ["Offset of field: sched_entity::on_rq"] + [::core::mem::offset_of!(sched_entity, on_rq) - 80usize]; + ["Offset of field: sched_entity::sched_delayed"] + [::core::mem::offset_of!(sched_entity, sched_delayed) - 81usize]; + ["Offset of field: sched_entity::rel_deadline"] + [::core::mem::offset_of!(sched_entity, rel_deadline) - 82usize]; + ["Offset of field: sched_entity::custom_slice"] + [::core::mem::offset_of!(sched_entity, custom_slice) - 83usize]; + ["Offset of field: sched_entity::exec_start"] + [::core::mem::offset_of!(sched_entity, exec_start) - 88usize]; + ["Offset of field: sched_entity::sum_exec_runtime"] + [::core::mem::offset_of!(sched_entity, sum_exec_runtime) - 96usize]; + ["Offset of field: sched_entity::prev_sum_exec_runtime"] + [::core::mem::offset_of!(sched_entity, prev_sum_exec_runtime) - 104usize]; + ["Offset of field: sched_entity::vruntime"] + [::core::mem::offset_of!(sched_entity, vruntime) - 112usize]; + ["Offset of field: sched_entity::vlag"][::core::mem::offset_of!(sched_entity, vlag) - 120usize]; + ["Offset of field: sched_entity::slice"] + [::core::mem::offset_of!(sched_entity, slice) - 128usize]; + ["Offset of field: sched_entity::nr_migrations"] + [::core::mem::offset_of!(sched_entity, nr_migrations) - 136usize]; + ["Offset of field: sched_entity::depth"] + [::core::mem::offset_of!(sched_entity, depth) - 144usize]; + ["Offset of field: sched_entity::parent"] + [::core::mem::offset_of!(sched_entity, parent) - 152usize]; + ["Offset of field: sched_entity::cfs_rq"] + [::core::mem::offset_of!(sched_entity, cfs_rq) - 160usize]; + ["Offset of field: sched_entity::my_q"][::core::mem::offset_of!(sched_entity, my_q) - 168usize]; + ["Offset of field: sched_entity::runnable_weight"] + [::core::mem::offset_of!(sched_entity, runnable_weight) - 176usize]; + ["Offset of field: sched_entity::avg"][::core::mem::offset_of!(sched_entity, avg) - 192usize]; +}; +impl sched_entity { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_statistics { + pub wait_start: u64_, + pub wait_max: u64_, + pub wait_count: u64_, + pub wait_sum: u64_, + pub iowait_count: u64_, + pub iowait_sum: u64_, + pub sleep_start: u64_, + pub sleep_max: u64_, + pub sum_sleep_runtime: s64, + pub block_start: u64_, + pub block_max: u64_, + pub sum_block_runtime: s64, + pub exec_max: s64, + pub slice_max: u64_, + pub nr_migrations_cold: u64_, + pub nr_failed_migrations_affine: u64_, + pub nr_failed_migrations_running: u64_, + pub nr_failed_migrations_hot: u64_, + pub nr_forced_migrations: u64_, + pub nr_wakeups: u64_, + pub nr_wakeups_sync: u64_, + pub nr_wakeups_migrate: u64_, + pub nr_wakeups_local: u64_, + pub nr_wakeups_remote: u64_, + pub nr_wakeups_affine: u64_, + pub nr_wakeups_affine_attempts: u64_, + pub nr_wakeups_passive: u64_, + pub nr_wakeups_idle: u64_, + pub core_forceidle_sum: u64_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_statistics"][::core::mem::size_of::() - 256usize]; + ["Alignment of sched_statistics"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_statistics::wait_start"] + [::core::mem::offset_of!(sched_statistics, wait_start) - 0usize]; + ["Offset of field: sched_statistics::wait_max"] + [::core::mem::offset_of!(sched_statistics, wait_max) - 8usize]; + ["Offset of field: sched_statistics::wait_count"] + [::core::mem::offset_of!(sched_statistics, wait_count) - 16usize]; + ["Offset of field: sched_statistics::wait_sum"] + [::core::mem::offset_of!(sched_statistics, wait_sum) - 24usize]; + ["Offset of field: sched_statistics::iowait_count"] + [::core::mem::offset_of!(sched_statistics, iowait_count) - 32usize]; + ["Offset of field: sched_statistics::iowait_sum"] + [::core::mem::offset_of!(sched_statistics, iowait_sum) - 40usize]; + ["Offset of field: sched_statistics::sleep_start"] + [::core::mem::offset_of!(sched_statistics, sleep_start) - 48usize]; + ["Offset of field: sched_statistics::sleep_max"] + [::core::mem::offset_of!(sched_statistics, sleep_max) - 56usize]; + ["Offset of field: sched_statistics::sum_sleep_runtime"] + [::core::mem::offset_of!(sched_statistics, sum_sleep_runtime) - 64usize]; + ["Offset of field: sched_statistics::block_start"] + [::core::mem::offset_of!(sched_statistics, block_start) - 72usize]; + ["Offset of field: sched_statistics::block_max"] + [::core::mem::offset_of!(sched_statistics, block_max) - 80usize]; + ["Offset of field: sched_statistics::sum_block_runtime"] + [::core::mem::offset_of!(sched_statistics, sum_block_runtime) - 88usize]; + ["Offset of field: sched_statistics::exec_max"] + [::core::mem::offset_of!(sched_statistics, exec_max) - 96usize]; + ["Offset of field: sched_statistics::slice_max"] + [::core::mem::offset_of!(sched_statistics, slice_max) - 104usize]; + ["Offset of field: sched_statistics::nr_migrations_cold"] + [::core::mem::offset_of!(sched_statistics, nr_migrations_cold) - 112usize]; + ["Offset of field: sched_statistics::nr_failed_migrations_affine"] + [::core::mem::offset_of!(sched_statistics, nr_failed_migrations_affine) - 120usize]; + ["Offset of field: sched_statistics::nr_failed_migrations_running"] + [::core::mem::offset_of!(sched_statistics, nr_failed_migrations_running) - 128usize]; + ["Offset of field: sched_statistics::nr_failed_migrations_hot"] + [::core::mem::offset_of!(sched_statistics, nr_failed_migrations_hot) - 136usize]; + ["Offset of field: sched_statistics::nr_forced_migrations"] + [::core::mem::offset_of!(sched_statistics, nr_forced_migrations) - 144usize]; + ["Offset of field: sched_statistics::nr_wakeups"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups) - 152usize]; + ["Offset of field: sched_statistics::nr_wakeups_sync"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_sync) - 160usize]; + ["Offset of field: sched_statistics::nr_wakeups_migrate"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_migrate) - 168usize]; + ["Offset of field: sched_statistics::nr_wakeups_local"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_local) - 176usize]; + ["Offset of field: sched_statistics::nr_wakeups_remote"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_remote) - 184usize]; + ["Offset of field: sched_statistics::nr_wakeups_affine"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_affine) - 192usize]; + ["Offset of field: sched_statistics::nr_wakeups_affine_attempts"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_affine_attempts) - 200usize]; + ["Offset of field: sched_statistics::nr_wakeups_passive"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_passive) - 208usize]; + ["Offset of field: sched_statistics::nr_wakeups_idle"] + [::core::mem::offset_of!(sched_statistics, nr_wakeups_idle) - 216usize]; + ["Offset of field: sched_statistics::core_forceidle_sum"] + [::core::mem::offset_of!(sched_statistics, core_forceidle_sum) - 224usize]; +}; +impl sched_statistics { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_ext_entity { + pub dsq: *mut scx_dispatch_q, + pub dsq_list: scx_dsq_list_node, + pub dsq_priq: rb_node, + pub dsq_seq: u32_, + pub dsq_flags: u32_, + pub flags: u32_, + pub weight: u32_, + pub sticky_cpu: s32, + pub holding_cpu: s32, + pub kf_mask: u32_, + pub kf_tasks: [*mut task_struct; 2usize], + pub ops_state: atomic_long_t, + pub runnable_node: list_head, + pub runnable_at: ::core::ffi::c_ulong, + pub core_sched_at: u64_, + pub ddsp_dsq_id: u64_, + pub ddsp_enq_flags: u64_, + pub slice: u64_, + pub dsq_vtime: u64_, + pub disallow: bool_, + pub cgrp_moving_from: *mut cgroup, + pub tasks_node: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_ext_entity"][::core::mem::size_of::() - 208usize]; + ["Alignment of sched_ext_entity"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_ext_entity::dsq"] + [::core::mem::offset_of!(sched_ext_entity, dsq) - 0usize]; + ["Offset of field: sched_ext_entity::dsq_list"] + [::core::mem::offset_of!(sched_ext_entity, dsq_list) - 8usize]; + ["Offset of field: sched_ext_entity::dsq_priq"] + [::core::mem::offset_of!(sched_ext_entity, dsq_priq) - 32usize]; + ["Offset of field: sched_ext_entity::dsq_seq"] + [::core::mem::offset_of!(sched_ext_entity, dsq_seq) - 56usize]; + ["Offset of field: sched_ext_entity::dsq_flags"] + [::core::mem::offset_of!(sched_ext_entity, dsq_flags) - 60usize]; + ["Offset of field: sched_ext_entity::flags"] + [::core::mem::offset_of!(sched_ext_entity, flags) - 64usize]; + ["Offset of field: sched_ext_entity::weight"] + [::core::mem::offset_of!(sched_ext_entity, weight) - 68usize]; + ["Offset of field: sched_ext_entity::sticky_cpu"] + [::core::mem::offset_of!(sched_ext_entity, sticky_cpu) - 72usize]; + ["Offset of field: sched_ext_entity::holding_cpu"] + [::core::mem::offset_of!(sched_ext_entity, holding_cpu) - 76usize]; + ["Offset of field: sched_ext_entity::kf_mask"] + [::core::mem::offset_of!(sched_ext_entity, kf_mask) - 80usize]; + ["Offset of field: sched_ext_entity::kf_tasks"] + [::core::mem::offset_of!(sched_ext_entity, kf_tasks) - 88usize]; + ["Offset of field: sched_ext_entity::ops_state"] + [::core::mem::offset_of!(sched_ext_entity, ops_state) - 104usize]; + ["Offset of field: sched_ext_entity::runnable_node"] + [::core::mem::offset_of!(sched_ext_entity, runnable_node) - 112usize]; + ["Offset of field: sched_ext_entity::runnable_at"] + [::core::mem::offset_of!(sched_ext_entity, runnable_at) - 128usize]; + ["Offset of field: sched_ext_entity::core_sched_at"] + [::core::mem::offset_of!(sched_ext_entity, core_sched_at) - 136usize]; + ["Offset of field: sched_ext_entity::ddsp_dsq_id"] + [::core::mem::offset_of!(sched_ext_entity, ddsp_dsq_id) - 144usize]; + ["Offset of field: sched_ext_entity::ddsp_enq_flags"] + [::core::mem::offset_of!(sched_ext_entity, ddsp_enq_flags) - 152usize]; + ["Offset of field: sched_ext_entity::slice"] + [::core::mem::offset_of!(sched_ext_entity, slice) - 160usize]; + ["Offset of field: sched_ext_entity::dsq_vtime"] + [::core::mem::offset_of!(sched_ext_entity, dsq_vtime) - 168usize]; + ["Offset of field: sched_ext_entity::disallow"] + [::core::mem::offset_of!(sched_ext_entity, disallow) - 176usize]; + ["Offset of field: sched_ext_entity::cgrp_moving_from"] + [::core::mem::offset_of!(sched_ext_entity, cgrp_moving_from) - 184usize]; + ["Offset of field: sched_ext_entity::tasks_node"] + [::core::mem::offset_of!(sched_ext_entity, tasks_node) - 192usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct sched_group { + pub next: *mut sched_group, + pub ref_: atomic_t, + pub group_weight: ::core::ffi::c_uint, + pub cores: ::core::ffi::c_uint, + pub sgc: *mut sched_group_capacity, + pub asym_prefer_cpu: ::core::ffi::c_int, + pub flags: ::core::ffi::c_int, + pub cpumask: __IncompleteArrayField<::core::ffi::c_ulong>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_group"][::core::mem::size_of::() - 40usize]; + ["Alignment of sched_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_group::next"][::core::mem::offset_of!(sched_group, next) - 0usize]; + ["Offset of field: sched_group::ref_"][::core::mem::offset_of!(sched_group, ref_) - 8usize]; + ["Offset of field: sched_group::group_weight"] + [::core::mem::offset_of!(sched_group, group_weight) - 12usize]; + ["Offset of field: sched_group::cores"][::core::mem::offset_of!(sched_group, cores) - 16usize]; + ["Offset of field: sched_group::sgc"][::core::mem::offset_of!(sched_group, sgc) - 24usize]; + ["Offset of field: sched_group::asym_prefer_cpu"] + [::core::mem::offset_of!(sched_group, asym_prefer_cpu) - 32usize]; + ["Offset of field: sched_group::flags"][::core::mem::offset_of!(sched_group, flags) - 36usize]; + ["Offset of field: sched_group::cpumask"] + [::core::mem::offset_of!(sched_group, cpumask) - 40usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct sched_group_capacity { + pub ref_: atomic_t, + pub capacity: ::core::ffi::c_ulong, + pub min_capacity: ::core::ffi::c_ulong, + pub max_capacity: ::core::ffi::c_ulong, + pub next_update: ::core::ffi::c_ulong, + pub imbalance: ::core::ffi::c_int, + pub id: ::core::ffi::c_int, + pub cpumask: __IncompleteArrayField<::core::ffi::c_ulong>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_group_capacity"][::core::mem::size_of::() - 48usize]; + ["Alignment of sched_group_capacity"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_group_capacity::ref_"] + [::core::mem::offset_of!(sched_group_capacity, ref_) - 0usize]; + ["Offset of field: sched_group_capacity::capacity"] + [::core::mem::offset_of!(sched_group_capacity, capacity) - 8usize]; + ["Offset of field: sched_group_capacity::min_capacity"] + [::core::mem::offset_of!(sched_group_capacity, min_capacity) - 16usize]; + ["Offset of field: sched_group_capacity::max_capacity"] + [::core::mem::offset_of!(sched_group_capacity, max_capacity) - 24usize]; + ["Offset of field: sched_group_capacity::next_update"] + [::core::mem::offset_of!(sched_group_capacity, next_update) - 32usize]; + ["Offset of field: sched_group_capacity::imbalance"] + [::core::mem::offset_of!(sched_group_capacity, imbalance) - 40usize]; + ["Offset of field: sched_group_capacity::id"] + [::core::mem::offset_of!(sched_group_capacity, id) - 44usize]; + ["Offset of field: sched_group_capacity::cpumask"] + [::core::mem::offset_of!(sched_group_capacity, cpumask) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_rt_entity { + pub run_list: list_head, + pub timeout: ::core::ffi::c_ulong, + pub watchdog_stamp: ::core::ffi::c_ulong, + pub time_slice: ::core::ffi::c_uint, + pub on_rq: ::core::ffi::c_ushort, + pub on_list: ::core::ffi::c_ushort, + pub back: *mut sched_rt_entity, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sched_rt_entity"][::core::mem::size_of::() - 48usize]; + ["Alignment of sched_rt_entity"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sched_rt_entity::run_list"] + [::core::mem::offset_of!(sched_rt_entity, run_list) - 0usize]; + ["Offset of field: sched_rt_entity::timeout"] + [::core::mem::offset_of!(sched_rt_entity, timeout) - 16usize]; + ["Offset of field: sched_rt_entity::watchdog_stamp"] + [::core::mem::offset_of!(sched_rt_entity, watchdog_stamp) - 24usize]; + ["Offset of field: sched_rt_entity::time_slice"] + [::core::mem::offset_of!(sched_rt_entity, time_slice) - 32usize]; + ["Offset of field: sched_rt_entity::on_rq"] + [::core::mem::offset_of!(sched_rt_entity, on_rq) - 36usize]; + ["Offset of field: sched_rt_entity::on_list"] + [::core::mem::offset_of!(sched_rt_entity, on_list) - 38usize]; + ["Offset of field: sched_rt_entity::back"] + [::core::mem::offset_of!(sched_rt_entity, back) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct scsi_sense_hdr { + pub response_code: u8_, + pub sense_key: u8_, + pub asc: u8_, + pub ascq: u8_, + pub byte4: u8_, + pub byte5: u8_, + pub byte6: u8_, + pub additional_length: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of scsi_sense_hdr"][::core::mem::size_of::() - 8usize]; + ["Alignment of scsi_sense_hdr"][::core::mem::align_of::() - 1usize]; + ["Offset of field: scsi_sense_hdr::response_code"] + [::core::mem::offset_of!(scsi_sense_hdr, response_code) - 0usize]; + ["Offset of field: scsi_sense_hdr::sense_key"] + [::core::mem::offset_of!(scsi_sense_hdr, sense_key) - 1usize]; + ["Offset of field: scsi_sense_hdr::asc"][::core::mem::offset_of!(scsi_sense_hdr, asc) - 2usize]; + ["Offset of field: scsi_sense_hdr::ascq"] + [::core::mem::offset_of!(scsi_sense_hdr, ascq) - 3usize]; + ["Offset of field: scsi_sense_hdr::byte4"] + [::core::mem::offset_of!(scsi_sense_hdr, byte4) - 4usize]; + ["Offset of field: scsi_sense_hdr::byte5"] + [::core::mem::offset_of!(scsi_sense_hdr, byte5) - 5usize]; + ["Offset of field: scsi_sense_hdr::byte6"] + [::core::mem::offset_of!(scsi_sense_hdr, byte6) - 6usize]; + ["Offset of field: scsi_sense_hdr::additional_length"] + [::core::mem::offset_of!(scsi_sense_hdr, additional_length) - 7usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct seccomp { + pub mode: ::core::ffi::c_int, + pub filter_count: atomic_t, + pub filter: *mut seccomp_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seccomp"][::core::mem::size_of::() - 16usize]; + ["Alignment of seccomp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: seccomp::mode"][::core::mem::offset_of!(seccomp, mode) - 0usize]; + ["Offset of field: seccomp::filter_count"] + [::core::mem::offset_of!(seccomp, filter_count) - 4usize]; + ["Offset of field: seccomp::filter"][::core::mem::offset_of!(seccomp, filter) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct seccomp_filter { + pub refs: refcount_t, + pub users: refcount_t, + pub log: bool_, + pub wait_killable_recv: bool_, + pub cache: action_cache, + pub prev: *mut seccomp_filter, + pub prog: *mut bpf_prog, + pub notif: *mut notification, + pub notify_lock: mutex, + pub wqh: wait_queue_head_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seccomp_filter"][::core::mem::size_of::() - 224usize]; + ["Alignment of seccomp_filter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: seccomp_filter::refs"] + [::core::mem::offset_of!(seccomp_filter, refs) - 0usize]; + ["Offset of field: seccomp_filter::users"] + [::core::mem::offset_of!(seccomp_filter, users) - 4usize]; + ["Offset of field: seccomp_filter::log"][::core::mem::offset_of!(seccomp_filter, log) - 8usize]; + ["Offset of field: seccomp_filter::wait_killable_recv"] + [::core::mem::offset_of!(seccomp_filter, wait_killable_recv) - 9usize]; + ["Offset of field: seccomp_filter::cache"] + [::core::mem::offset_of!(seccomp_filter, cache) - 16usize]; + ["Offset of field: seccomp_filter::prev"] + [::core::mem::offset_of!(seccomp_filter, prev) - 144usize]; + ["Offset of field: seccomp_filter::prog"] + [::core::mem::offset_of!(seccomp_filter, prog) - 152usize]; + ["Offset of field: seccomp_filter::notif"] + [::core::mem::offset_of!(seccomp_filter, notif) - 160usize]; + ["Offset of field: seccomp_filter::notify_lock"] + [::core::mem::offset_of!(seccomp_filter, notify_lock) - 168usize]; + ["Offset of field: seccomp_filter::wqh"] + [::core::mem::offset_of!(seccomp_filter, wqh) - 200usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct seg6_pernet_data { + pub lock: mutex, + pub tun_src: *mut in6_addr, + pub hmac_infos: rhashtable, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seg6_pernet_data"][::core::mem::size_of::() - 176usize]; + ["Alignment of seg6_pernet_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: seg6_pernet_data::lock"] + [::core::mem::offset_of!(seg6_pernet_data, lock) - 0usize]; + ["Offset of field: seg6_pernet_data::tun_src"] + [::core::mem::offset_of!(seg6_pernet_data, tun_src) - 32usize]; + ["Offset of field: seg6_pernet_data::hmac_infos"] + [::core::mem::offset_of!(seg6_pernet_data, hmac_infos) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sem_undo_list { + pub refcnt: refcount_t, + pub lock: spinlock_t, + pub list_proc: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sem_undo_list"][::core::mem::size_of::() - 24usize]; + ["Alignment of sem_undo_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sem_undo_list::refcnt"] + [::core::mem::offset_of!(sem_undo_list, refcnt) - 0usize]; + ["Offset of field: sem_undo_list::lock"][::core::mem::offset_of!(sem_undo_list, lock) - 4usize]; + ["Offset of field: sem_undo_list::list_proc"] + [::core::mem::offset_of!(sem_undo_list, list_proc) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct seq_operations { + pub start: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut loff_t) -> *mut ::core::ffi::c_void, + >, + pub stop: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut ::core::ffi::c_void), + >, + pub next: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + arg3: *mut loff_t, + ) -> *mut ::core::ffi::c_void, + >, + pub show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of seq_operations"][::core::mem::size_of::() - 32usize]; + ["Alignment of seq_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: seq_operations::start"] + [::core::mem::offset_of!(seq_operations, start) - 0usize]; + ["Offset of field: seq_operations::stop"] + [::core::mem::offset_of!(seq_operations, stop) - 8usize]; + ["Offset of field: seq_operations::next"] + [::core::mem::offset_of!(seq_operations, next) - 16usize]; + ["Offset of field: seq_operations::show"] + [::core::mem::offset_of!(seq_operations, show) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct serial_icounter_struct { + pub cts: ::core::ffi::c_int, + pub dsr: ::core::ffi::c_int, + pub rng: ::core::ffi::c_int, + pub dcd: ::core::ffi::c_int, + pub rx: ::core::ffi::c_int, + pub tx: ::core::ffi::c_int, + pub frame: ::core::ffi::c_int, + pub overrun: ::core::ffi::c_int, + pub parity: ::core::ffi::c_int, + pub brk: ::core::ffi::c_int, + pub buf_overrun: ::core::ffi::c_int, + pub reserved: [::core::ffi::c_int; 9usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of serial_icounter_struct"][::core::mem::size_of::() - 80usize]; + ["Alignment of serial_icounter_struct"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: serial_icounter_struct::cts"] + [::core::mem::offset_of!(serial_icounter_struct, cts) - 0usize]; + ["Offset of field: serial_icounter_struct::dsr"] + [::core::mem::offset_of!(serial_icounter_struct, dsr) - 4usize]; + ["Offset of field: serial_icounter_struct::rng"] + [::core::mem::offset_of!(serial_icounter_struct, rng) - 8usize]; + ["Offset of field: serial_icounter_struct::dcd"] + [::core::mem::offset_of!(serial_icounter_struct, dcd) - 12usize]; + ["Offset of field: serial_icounter_struct::rx"] + [::core::mem::offset_of!(serial_icounter_struct, rx) - 16usize]; + ["Offset of field: serial_icounter_struct::tx"] + [::core::mem::offset_of!(serial_icounter_struct, tx) - 20usize]; + ["Offset of field: serial_icounter_struct::frame"] + [::core::mem::offset_of!(serial_icounter_struct, frame) - 24usize]; + ["Offset of field: serial_icounter_struct::overrun"] + [::core::mem::offset_of!(serial_icounter_struct, overrun) - 28usize]; + ["Offset of field: serial_icounter_struct::parity"] + [::core::mem::offset_of!(serial_icounter_struct, parity) - 32usize]; + ["Offset of field: serial_icounter_struct::brk"] + [::core::mem::offset_of!(serial_icounter_struct, brk) - 36usize]; + ["Offset of field: serial_icounter_struct::buf_overrun"] + [::core::mem::offset_of!(serial_icounter_struct, buf_overrun) - 40usize]; + ["Offset of field: serial_icounter_struct::reserved"] + [::core::mem::offset_of!(serial_icounter_struct, reserved) - 44usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct serial_struct { + pub type_: ::core::ffi::c_int, + pub line: ::core::ffi::c_int, + pub port: ::core::ffi::c_uint, + pub irq: ::core::ffi::c_int, + pub flags: ::core::ffi::c_int, + pub xmit_fifo_size: ::core::ffi::c_int, + pub custom_divisor: ::core::ffi::c_int, + pub baud_base: ::core::ffi::c_int, + pub close_delay: ::core::ffi::c_ushort, + pub io_type: ::core::ffi::c_char, + pub reserved_char: [::core::ffi::c_char; 1usize], + pub hub6: ::core::ffi::c_int, + pub closing_wait: ::core::ffi::c_ushort, + pub closing_wait2: ::core::ffi::c_ushort, + pub iomem_base: *mut ::core::ffi::c_uchar, + pub iomem_reg_shift: ::core::ffi::c_ushort, + pub port_high: ::core::ffi::c_uint, + pub iomap_base: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of serial_struct"][::core::mem::size_of::() - 72usize]; + ["Alignment of serial_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: serial_struct::type_"] + [::core::mem::offset_of!(serial_struct, type_) - 0usize]; + ["Offset of field: serial_struct::line"][::core::mem::offset_of!(serial_struct, line) - 4usize]; + ["Offset of field: serial_struct::port"][::core::mem::offset_of!(serial_struct, port) - 8usize]; + ["Offset of field: serial_struct::irq"][::core::mem::offset_of!(serial_struct, irq) - 12usize]; + ["Offset of field: serial_struct::flags"] + [::core::mem::offset_of!(serial_struct, flags) - 16usize]; + ["Offset of field: serial_struct::xmit_fifo_size"] + [::core::mem::offset_of!(serial_struct, xmit_fifo_size) - 20usize]; + ["Offset of field: serial_struct::custom_divisor"] + [::core::mem::offset_of!(serial_struct, custom_divisor) - 24usize]; + ["Offset of field: serial_struct::baud_base"] + [::core::mem::offset_of!(serial_struct, baud_base) - 28usize]; + ["Offset of field: serial_struct::close_delay"] + [::core::mem::offset_of!(serial_struct, close_delay) - 32usize]; + ["Offset of field: serial_struct::io_type"] + [::core::mem::offset_of!(serial_struct, io_type) - 34usize]; + ["Offset of field: serial_struct::reserved_char"] + [::core::mem::offset_of!(serial_struct, reserved_char) - 35usize]; + ["Offset of field: serial_struct::hub6"] + [::core::mem::offset_of!(serial_struct, hub6) - 36usize]; + ["Offset of field: serial_struct::closing_wait"] + [::core::mem::offset_of!(serial_struct, closing_wait) - 40usize]; + ["Offset of field: serial_struct::closing_wait2"] + [::core::mem::offset_of!(serial_struct, closing_wait2) - 42usize]; + ["Offset of field: serial_struct::iomem_base"] + [::core::mem::offset_of!(serial_struct, iomem_base) - 48usize]; + ["Offset of field: serial_struct::iomem_reg_shift"] + [::core::mem::offset_of!(serial_struct, iomem_reg_shift) - 56usize]; + ["Offset of field: serial_struct::port_high"] + [::core::mem::offset_of!(serial_struct, port_high) - 60usize]; + ["Offset of field: serial_struct::iomap_base"] + [::core::mem::offset_of!(serial_struct, iomap_base) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp_bus { + pub kref: kref, + pub node: list_head, + pub fwnode: *const fwnode_handle, + pub socket_ops: *const sfp_socket_ops, + pub sfp_dev: *mut device, + pub sfp: *mut sfp, + pub sfp_quirk: *const sfp_quirk, + pub upstream_ops: *const sfp_upstream_ops, + pub upstream: *mut ::core::ffi::c_void, + pub phydev: *mut phy_device, + pub registered: bool_, + pub started: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_bus"][::core::mem::size_of::() - 96usize]; + ["Alignment of sfp_bus"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sfp_bus::kref"][::core::mem::offset_of!(sfp_bus, kref) - 0usize]; + ["Offset of field: sfp_bus::node"][::core::mem::offset_of!(sfp_bus, node) - 8usize]; + ["Offset of field: sfp_bus::fwnode"][::core::mem::offset_of!(sfp_bus, fwnode) - 24usize]; + ["Offset of field: sfp_bus::socket_ops"] + [::core::mem::offset_of!(sfp_bus, socket_ops) - 32usize]; + ["Offset of field: sfp_bus::sfp_dev"][::core::mem::offset_of!(sfp_bus, sfp_dev) - 40usize]; + ["Offset of field: sfp_bus::sfp"][::core::mem::offset_of!(sfp_bus, sfp) - 48usize]; + ["Offset of field: sfp_bus::sfp_quirk"][::core::mem::offset_of!(sfp_bus, sfp_quirk) - 56usize]; + ["Offset of field: sfp_bus::upstream_ops"] + [::core::mem::offset_of!(sfp_bus, upstream_ops) - 64usize]; + ["Offset of field: sfp_bus::upstream"][::core::mem::offset_of!(sfp_bus, upstream) - 72usize]; + ["Offset of field: sfp_bus::phydev"][::core::mem::offset_of!(sfp_bus, phydev) - 80usize]; + ["Offset of field: sfp_bus::registered"] + [::core::mem::offset_of!(sfp_bus, registered) - 88usize]; + ["Offset of field: sfp_bus::started"][::core::mem::offset_of!(sfp_bus, started) - 89usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sfp_eeprom_base { + pub phys_id: u8_, + pub phys_ext_id: u8_, + pub connector: u8_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub encoding: u8_, + pub br_nominal: u8_, + pub rate_id: u8_, + pub link_len: [u8_; 6usize], + pub vendor_name: [::core::ffi::c_char; 16usize], + pub extended_cc: u8_, + pub vendor_oui: [::core::ffi::c_char; 3usize], + pub vendor_pn: [::core::ffi::c_char; 16usize], + pub vendor_rev: [::core::ffi::c_char; 4usize], + pub __bindgen_anon_1: sfp_eeprom_base__bindgen_ty_1, + pub reserved62: u8_, + pub cc_base: u8_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sfp_eeprom_base__bindgen_ty_1 { + pub optical_wavelength: __be16, + pub cable_compliance: __be16, + pub passive: sfp_eeprom_base__bindgen_ty_1__bindgen_ty_1, + pub active: sfp_eeprom_base__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp_eeprom_base__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_eeprom_base__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of sfp_eeprom_base__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; +}; +impl sfp_eeprom_base__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn sff8431_app_e(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_sff8431_app_e(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sff8431_app_e_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sff8431_app_e_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_pi_4_app_h(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_pi_4_app_h(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_pi_4_app_h_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_pi_4_app_h_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved60_2(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 6u8) as u8) } + } + #[inline] + pub fn set_reserved60_2(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 6u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved60_2_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 6u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reserved60_2_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 6u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved61(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u8) } + } + #[inline] + pub fn set_reserved61(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved61_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 8u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reserved61_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + sff8431_app_e: u8_, + fc_pi_4_app_h: u8_, + reserved60_2: u8_, + reserved61: u8_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let sff8431_app_e: u8 = unsafe { ::core::mem::transmute(sff8431_app_e) }; + sff8431_app_e as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fc_pi_4_app_h: u8 = unsafe { ::core::mem::transmute(fc_pi_4_app_h) }; + fc_pi_4_app_h as u64 + }); + __bindgen_bitfield_unit.set(2usize, 6u8, { + let reserved60_2: u8 = unsafe { ::core::mem::transmute(reserved60_2) }; + reserved60_2 as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let reserved61: u8 = unsafe { ::core::mem::transmute(reserved61) }; + reserved61 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp_eeprom_base__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_eeprom_base__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of sfp_eeprom_base__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 1usize]; +}; +impl sfp_eeprom_base__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn sff8431_app_e(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_sff8431_app_e(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sff8431_app_e_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sff8431_app_e_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_pi_4_app_h(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_pi_4_app_h(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_pi_4_app_h_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_pi_4_app_h_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sff8431_lim(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_sff8431_lim(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sff8431_lim_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sff8431_lim_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_pi_4_lim(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_pi_4_lim(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_pi_4_lim_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_pi_4_lim_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved60_4(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_reserved60_4(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved60_4_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 4u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reserved60_4_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 4u8, + val as u64, + ) + } + } + #[inline] + pub fn reserved61(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u8) } + } + #[inline] + pub fn set_reserved61(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub unsafe fn reserved61_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 8u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_reserved61_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 8u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + sff8431_app_e: u8_, + fc_pi_4_app_h: u8_, + sff8431_lim: u8_, + fc_pi_4_lim: u8_, + reserved60_4: u8_, + reserved61: u8_, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let sff8431_app_e: u8 = unsafe { ::core::mem::transmute(sff8431_app_e) }; + sff8431_app_e as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fc_pi_4_app_h: u8 = unsafe { ::core::mem::transmute(fc_pi_4_app_h) }; + fc_pi_4_app_h as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let sff8431_lim: u8 = unsafe { ::core::mem::transmute(sff8431_lim) }; + sff8431_lim as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fc_pi_4_lim: u8 = unsafe { ::core::mem::transmute(fc_pi_4_lim) }; + fc_pi_4_lim as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let reserved60_4: u8 = unsafe { ::core::mem::transmute(reserved60_4) }; + reserved60_4 as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let reserved61: u8 = unsafe { ::core::mem::transmute(reserved61) }; + reserved61 as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_eeprom_base__bindgen_ty_1"] + [::core::mem::size_of::() - 2usize]; + ["Alignment of sfp_eeprom_base__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: sfp_eeprom_base__bindgen_ty_1::optical_wavelength"] + [::core::mem::offset_of!(sfp_eeprom_base__bindgen_ty_1, optical_wavelength) - 0usize]; + ["Offset of field: sfp_eeprom_base__bindgen_ty_1::cable_compliance"] + [::core::mem::offset_of!(sfp_eeprom_base__bindgen_ty_1, cable_compliance) - 0usize]; + ["Offset of field: sfp_eeprom_base__bindgen_ty_1::passive"] + [::core::mem::offset_of!(sfp_eeprom_base__bindgen_ty_1, passive) - 0usize]; + ["Offset of field: sfp_eeprom_base__bindgen_ty_1::active"] + [::core::mem::offset_of!(sfp_eeprom_base__bindgen_ty_1, active) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_eeprom_base"][::core::mem::size_of::() - 64usize]; + ["Alignment of sfp_eeprom_base"][::core::mem::align_of::() - 2usize]; + ["Offset of field: sfp_eeprom_base::phys_id"] + [::core::mem::offset_of!(sfp_eeprom_base, phys_id) - 0usize]; + ["Offset of field: sfp_eeprom_base::phys_ext_id"] + [::core::mem::offset_of!(sfp_eeprom_base, phys_ext_id) - 1usize]; + ["Offset of field: sfp_eeprom_base::connector"] + [::core::mem::offset_of!(sfp_eeprom_base, connector) - 2usize]; + ["Offset of field: sfp_eeprom_base::encoding"] + [::core::mem::offset_of!(sfp_eeprom_base, encoding) - 11usize]; + ["Offset of field: sfp_eeprom_base::br_nominal"] + [::core::mem::offset_of!(sfp_eeprom_base, br_nominal) - 12usize]; + ["Offset of field: sfp_eeprom_base::rate_id"] + [::core::mem::offset_of!(sfp_eeprom_base, rate_id) - 13usize]; + ["Offset of field: sfp_eeprom_base::link_len"] + [::core::mem::offset_of!(sfp_eeprom_base, link_len) - 14usize]; + ["Offset of field: sfp_eeprom_base::vendor_name"] + [::core::mem::offset_of!(sfp_eeprom_base, vendor_name) - 20usize]; + ["Offset of field: sfp_eeprom_base::extended_cc"] + [::core::mem::offset_of!(sfp_eeprom_base, extended_cc) - 36usize]; + ["Offset of field: sfp_eeprom_base::vendor_oui"] + [::core::mem::offset_of!(sfp_eeprom_base, vendor_oui) - 37usize]; + ["Offset of field: sfp_eeprom_base::vendor_pn"] + [::core::mem::offset_of!(sfp_eeprom_base, vendor_pn) - 40usize]; + ["Offset of field: sfp_eeprom_base::vendor_rev"] + [::core::mem::offset_of!(sfp_eeprom_base, vendor_rev) - 56usize]; + ["Offset of field: sfp_eeprom_base::reserved62"] + [::core::mem::offset_of!(sfp_eeprom_base, reserved62) - 62usize]; + ["Offset of field: sfp_eeprom_base::cc_base"] + [::core::mem::offset_of!(sfp_eeprom_base, cc_base) - 63usize]; +}; +impl sfp_eeprom_base { + #[inline] + pub fn if_1x_copper_passive(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_if_1x_copper_passive(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn if_1x_copper_passive_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_if_1x_copper_passive_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn if_1x_copper_active(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_if_1x_copper_active(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn if_1x_copper_active_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_if_1x_copper_active_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn if_1x_lx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_if_1x_lx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn if_1x_lx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_if_1x_lx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn if_1x_sx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_if_1x_sx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn if_1x_sx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_if_1x_sx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e10g_base_sr(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } + } + #[inline] + pub fn set_e10g_base_sr(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e10g_base_sr_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e10g_base_sr_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e10g_base_lr(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_e10g_base_lr(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e10g_base_lr_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e10g_base_lr_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e10g_base_lrm(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_e10g_base_lrm(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e10g_base_lrm_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e10g_base_lrm_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e10g_base_er(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_e10g_base_er(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e10g_base_er_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e10g_base_er_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc3_short_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc3_short_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc3_short_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 8usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc3_short_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 8usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc3_smf_intermediate_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc3_smf_intermediate_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc3_smf_intermediate_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 9usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc3_smf_intermediate_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 9usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc3_smf_long_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc3_smf_long_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc3_smf_long_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 10usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc3_smf_long_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 10usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unallocated_5_3(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u8) } + } + #[inline] + pub fn set_unallocated_5_3(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unallocated_5_3_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unallocated_5_3_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc12_short_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc12_short_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc12_short_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 12usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc12_short_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 12usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc12_smf_intermediate_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc12_smf_intermediate_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc12_smf_intermediate_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 13usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc12_smf_intermediate_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 13usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc12_smf_long_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc12_smf_long_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc12_smf_long_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 14usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc12_smf_long_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unallocated_5_7(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u8) } + } + #[inline] + pub fn set_unallocated_5_7(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unallocated_5_7_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 15usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unallocated_5_7_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 15usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc48_short_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc48_short_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc48_short_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc48_short_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc48_intermediate_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc48_intermediate_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc48_intermediate_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 17usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc48_intermediate_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 17usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc48_long_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc48_long_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc48_long_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 18usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc48_long_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 18usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_reach_bit2(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_reach_bit2(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_reach_bit2_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 19usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_reach_bit2_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 19usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_reach_bit1(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_reach_bit1(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_reach_bit1_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 20usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_reach_bit1_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 20usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sonet_oc192_short_reach(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u8) } + } + #[inline] + pub fn set_sonet_oc192_short_reach(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sonet_oc192_short_reach_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 21usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sonet_oc192_short_reach_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 21usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn escon_smf_1310_laser(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u8) } + } + #[inline] + pub fn set_escon_smf_1310_laser(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn escon_smf_1310_laser_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 22usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_escon_smf_1310_laser_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 22usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn escon_mmf_1310_led(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u8) } + } + #[inline] + pub fn set_escon_mmf_1310_led(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn escon_mmf_1310_led_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 23usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_escon_mmf_1310_led_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 23usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e1000_base_sx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u8) } + } + #[inline] + pub fn set_e1000_base_sx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(24usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e1000_base_sx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 24usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e1000_base_sx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 24usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e1000_base_lx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u8) } + } + #[inline] + pub fn set_e1000_base_lx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(25usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e1000_base_lx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 25usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e1000_base_lx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 25usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e1000_base_cx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u8) } + } + #[inline] + pub fn set_e1000_base_cx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(26usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e1000_base_cx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 26usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e1000_base_cx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 26usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e1000_base_t(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u8) } + } + #[inline] + pub fn set_e1000_base_t(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(27usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e1000_base_t_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 27usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e1000_base_t_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 27usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e100_base_lx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u8) } + } + #[inline] + pub fn set_e100_base_lx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(28usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e100_base_lx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 28usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e100_base_lx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 28usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e100_base_fx(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u8) } + } + #[inline] + pub fn set_e100_base_fx(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(29usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e100_base_fx_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 29usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e100_base_fx_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 29usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e_base_bx10(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u8) } + } + #[inline] + pub fn set_e_base_bx10(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(30usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e_base_bx10_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 30usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e_base_bx10_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 30usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn e_base_px(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u8) } + } + #[inline] + pub fn set_e_base_px(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn e_base_px_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 31usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_e_base_px_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 31usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_tech_electrical_inter_enclosure(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_tech_electrical_inter_enclosure(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(32usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_tech_electrical_inter_enclosure_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 32usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_tech_electrical_inter_enclosure_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 32usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_tech_lc(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_tech_lc(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(33usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_tech_lc_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 33usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_tech_lc_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 33usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_tech_sa(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_tech_sa(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(34usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_tech_sa_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 34usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_tech_sa_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 34usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_ll_m(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_ll_m(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(35usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_ll_m_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 35usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_ll_m_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 35usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_ll_l(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_ll_l(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(36usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_ll_l_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 36usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_ll_l_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 36usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_ll_i(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_ll_i(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(37usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_ll_i_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 37usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_ll_i_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 37usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_ll_s(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(38usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_ll_s(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(38usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_ll_s_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 38usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_ll_s_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 38usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_ll_v(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(39usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_ll_v(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(39usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_ll_v_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 39usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_ll_v_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 39usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unallocated_8_0(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(40usize, 1u8) as u8) } + } + #[inline] + pub fn set_unallocated_8_0(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(40usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unallocated_8_0_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 40usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unallocated_8_0_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 40usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unallocated_8_1(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(41usize, 1u8) as u8) } + } + #[inline] + pub fn set_unallocated_8_1(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(41usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unallocated_8_1_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 41usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unallocated_8_1_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 41usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sfp_ct_passive(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(42usize, 1u8) as u8) } + } + #[inline] + pub fn set_sfp_ct_passive(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(42usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sfp_ct_passive_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 42usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sfp_ct_passive_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 42usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sfp_ct_active(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(43usize, 1u8) as u8) } + } + #[inline] + pub fn set_sfp_ct_active(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(43usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sfp_ct_active_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 43usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_sfp_ct_active_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 43usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_tech_ll(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(44usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_tech_ll(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(44usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_tech_ll_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 44usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_tech_ll_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 44usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_tech_sl(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(45usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_tech_sl(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(45usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_tech_sl_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 45usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_tech_sl_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 45usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_tech_sn(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(46usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_tech_sn(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(46usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_tech_sn_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 46usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_tech_sn_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 46usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_tech_electrical_intra_enclosure(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(47usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_tech_electrical_intra_enclosure(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(47usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_tech_electrical_intra_enclosure_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 47usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_tech_electrical_intra_enclosure_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 47usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_media_sm(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(48usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_media_sm(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(48usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_media_sm_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 48usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_media_sm_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 48usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unallocated_9_1(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(49usize, 1u8) as u8) } + } + #[inline] + pub fn set_unallocated_9_1(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(49usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unallocated_9_1_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 49usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unallocated_9_1_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 49usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_media_m5(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(50usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_media_m5(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(50usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_media_m5_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 50usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_media_m5_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 50usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_media_m6(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(51usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_media_m6(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(51usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_media_m6_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 51usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_media_m6_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 51usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_media_tv(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(52usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_media_tv(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(52usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_media_tv_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 52usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_media_tv_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 52usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_media_mi(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(53usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_media_mi(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(53usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_media_mi_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 53usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_media_mi_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 53usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_media_tp(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(54usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_media_tp(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(54usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_media_tp_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 54usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_media_tp_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 54usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_media_tw(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(55usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_media_tw(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(55usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_media_tw_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 55usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_media_tw_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 55usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_speed_100(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(56usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_speed_100(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(56usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_speed_100_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 56usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_speed_100_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 56usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unallocated_10_1(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(57usize, 1u8) as u8) } + } + #[inline] + pub fn set_unallocated_10_1(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(57usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unallocated_10_1_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 57usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_unallocated_10_1_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 57usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_speed_200(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(58usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_speed_200(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(58usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_speed_200_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 58usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_speed_200_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 58usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_speed_3200(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(59usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_speed_3200(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(59usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_speed_3200_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 59usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_speed_3200_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 59usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_speed_400(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(60usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_speed_400(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(60usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_speed_400_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 60usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_speed_400_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 60usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_speed_1600(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(61usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_speed_1600(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(61usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_speed_1600_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 61usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_speed_1600_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 61usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_speed_800(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(62usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_speed_800(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(62usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_speed_800_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 62usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_speed_800_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 62usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn fc_speed_1200(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(63usize, 1u8) as u8) } + } + #[inline] + pub fn set_fc_speed_1200(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(63usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn fc_speed_1200_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 63usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_fc_speed_1200_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 63usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + if_1x_copper_passive: u8_, + if_1x_copper_active: u8_, + if_1x_lx: u8_, + if_1x_sx: u8_, + e10g_base_sr: u8_, + e10g_base_lr: u8_, + e10g_base_lrm: u8_, + e10g_base_er: u8_, + sonet_oc3_short_reach: u8_, + sonet_oc3_smf_intermediate_reach: u8_, + sonet_oc3_smf_long_reach: u8_, + unallocated_5_3: u8_, + sonet_oc12_short_reach: u8_, + sonet_oc12_smf_intermediate_reach: u8_, + sonet_oc12_smf_long_reach: u8_, + unallocated_5_7: u8_, + sonet_oc48_short_reach: u8_, + sonet_oc48_intermediate_reach: u8_, + sonet_oc48_long_reach: u8_, + sonet_reach_bit2: u8_, + sonet_reach_bit1: u8_, + sonet_oc192_short_reach: u8_, + escon_smf_1310_laser: u8_, + escon_mmf_1310_led: u8_, + e1000_base_sx: u8_, + e1000_base_lx: u8_, + e1000_base_cx: u8_, + e1000_base_t: u8_, + e100_base_lx: u8_, + e100_base_fx: u8_, + e_base_bx10: u8_, + e_base_px: u8_, + fc_tech_electrical_inter_enclosure: u8_, + fc_tech_lc: u8_, + fc_tech_sa: u8_, + fc_ll_m: u8_, + fc_ll_l: u8_, + fc_ll_i: u8_, + fc_ll_s: u8_, + fc_ll_v: u8_, + unallocated_8_0: u8_, + unallocated_8_1: u8_, + sfp_ct_passive: u8_, + sfp_ct_active: u8_, + fc_tech_ll: u8_, + fc_tech_sl: u8_, + fc_tech_sn: u8_, + fc_tech_electrical_intra_enclosure: u8_, + fc_media_sm: u8_, + unallocated_9_1: u8_, + fc_media_m5: u8_, + fc_media_m6: u8_, + fc_media_tv: u8_, + fc_media_mi: u8_, + fc_media_tp: u8_, + fc_media_tw: u8_, + fc_speed_100: u8_, + unallocated_10_1: u8_, + fc_speed_200: u8_, + fc_speed_3200: u8_, + fc_speed_400: u8_, + fc_speed_1600: u8_, + fc_speed_800: u8_, + fc_speed_1200: u8_, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let if_1x_copper_passive: u8 = unsafe { ::core::mem::transmute(if_1x_copper_passive) }; + if_1x_copper_passive as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let if_1x_copper_active: u8 = unsafe { ::core::mem::transmute(if_1x_copper_active) }; + if_1x_copper_active as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let if_1x_lx: u8 = unsafe { ::core::mem::transmute(if_1x_lx) }; + if_1x_lx as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let if_1x_sx: u8 = unsafe { ::core::mem::transmute(if_1x_sx) }; + if_1x_sx as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let e10g_base_sr: u8 = unsafe { ::core::mem::transmute(e10g_base_sr) }; + e10g_base_sr as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let e10g_base_lr: u8 = unsafe { ::core::mem::transmute(e10g_base_lr) }; + e10g_base_lr as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let e10g_base_lrm: u8 = unsafe { ::core::mem::transmute(e10g_base_lrm) }; + e10g_base_lrm as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let e10g_base_er: u8 = unsafe { ::core::mem::transmute(e10g_base_er) }; + e10g_base_er as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let sonet_oc3_short_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc3_short_reach) }; + sonet_oc3_short_reach as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let sonet_oc3_smf_intermediate_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc3_smf_intermediate_reach) }; + sonet_oc3_smf_intermediate_reach as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let sonet_oc3_smf_long_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc3_smf_long_reach) }; + sonet_oc3_smf_long_reach as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let unallocated_5_3: u8 = unsafe { ::core::mem::transmute(unallocated_5_3) }; + unallocated_5_3 as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let sonet_oc12_short_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc12_short_reach) }; + sonet_oc12_short_reach as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let sonet_oc12_smf_intermediate_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc12_smf_intermediate_reach) }; + sonet_oc12_smf_intermediate_reach as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let sonet_oc12_smf_long_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc12_smf_long_reach) }; + sonet_oc12_smf_long_reach as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let unallocated_5_7: u8 = unsafe { ::core::mem::transmute(unallocated_5_7) }; + unallocated_5_7 as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let sonet_oc48_short_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc48_short_reach) }; + sonet_oc48_short_reach as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let sonet_oc48_intermediate_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc48_intermediate_reach) }; + sonet_oc48_intermediate_reach as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let sonet_oc48_long_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc48_long_reach) }; + sonet_oc48_long_reach as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let sonet_reach_bit2: u8 = unsafe { ::core::mem::transmute(sonet_reach_bit2) }; + sonet_reach_bit2 as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let sonet_reach_bit1: u8 = unsafe { ::core::mem::transmute(sonet_reach_bit1) }; + sonet_reach_bit1 as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let sonet_oc192_short_reach: u8 = + unsafe { ::core::mem::transmute(sonet_oc192_short_reach) }; + sonet_oc192_short_reach as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let escon_smf_1310_laser: u8 = unsafe { ::core::mem::transmute(escon_smf_1310_laser) }; + escon_smf_1310_laser as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let escon_mmf_1310_led: u8 = unsafe { ::core::mem::transmute(escon_mmf_1310_led) }; + escon_mmf_1310_led as u64 + }); + __bindgen_bitfield_unit.set(24usize, 1u8, { + let e1000_base_sx: u8 = unsafe { ::core::mem::transmute(e1000_base_sx) }; + e1000_base_sx as u64 + }); + __bindgen_bitfield_unit.set(25usize, 1u8, { + let e1000_base_lx: u8 = unsafe { ::core::mem::transmute(e1000_base_lx) }; + e1000_base_lx as u64 + }); + __bindgen_bitfield_unit.set(26usize, 1u8, { + let e1000_base_cx: u8 = unsafe { ::core::mem::transmute(e1000_base_cx) }; + e1000_base_cx as u64 + }); + __bindgen_bitfield_unit.set(27usize, 1u8, { + let e1000_base_t: u8 = unsafe { ::core::mem::transmute(e1000_base_t) }; + e1000_base_t as u64 + }); + __bindgen_bitfield_unit.set(28usize, 1u8, { + let e100_base_lx: u8 = unsafe { ::core::mem::transmute(e100_base_lx) }; + e100_base_lx as u64 + }); + __bindgen_bitfield_unit.set(29usize, 1u8, { + let e100_base_fx: u8 = unsafe { ::core::mem::transmute(e100_base_fx) }; + e100_base_fx as u64 + }); + __bindgen_bitfield_unit.set(30usize, 1u8, { + let e_base_bx10: u8 = unsafe { ::core::mem::transmute(e_base_bx10) }; + e_base_bx10 as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let e_base_px: u8 = unsafe { ::core::mem::transmute(e_base_px) }; + e_base_px as u64 + }); + __bindgen_bitfield_unit.set(32usize, 1u8, { + let fc_tech_electrical_inter_enclosure: u8 = + unsafe { ::core::mem::transmute(fc_tech_electrical_inter_enclosure) }; + fc_tech_electrical_inter_enclosure as u64 + }); + __bindgen_bitfield_unit.set(33usize, 1u8, { + let fc_tech_lc: u8 = unsafe { ::core::mem::transmute(fc_tech_lc) }; + fc_tech_lc as u64 + }); + __bindgen_bitfield_unit.set(34usize, 1u8, { + let fc_tech_sa: u8 = unsafe { ::core::mem::transmute(fc_tech_sa) }; + fc_tech_sa as u64 + }); + __bindgen_bitfield_unit.set(35usize, 1u8, { + let fc_ll_m: u8 = unsafe { ::core::mem::transmute(fc_ll_m) }; + fc_ll_m as u64 + }); + __bindgen_bitfield_unit.set(36usize, 1u8, { + let fc_ll_l: u8 = unsafe { ::core::mem::transmute(fc_ll_l) }; + fc_ll_l as u64 + }); + __bindgen_bitfield_unit.set(37usize, 1u8, { + let fc_ll_i: u8 = unsafe { ::core::mem::transmute(fc_ll_i) }; + fc_ll_i as u64 + }); + __bindgen_bitfield_unit.set(38usize, 1u8, { + let fc_ll_s: u8 = unsafe { ::core::mem::transmute(fc_ll_s) }; + fc_ll_s as u64 + }); + __bindgen_bitfield_unit.set(39usize, 1u8, { + let fc_ll_v: u8 = unsafe { ::core::mem::transmute(fc_ll_v) }; + fc_ll_v as u64 + }); + __bindgen_bitfield_unit.set(40usize, 1u8, { + let unallocated_8_0: u8 = unsafe { ::core::mem::transmute(unallocated_8_0) }; + unallocated_8_0 as u64 + }); + __bindgen_bitfield_unit.set(41usize, 1u8, { + let unallocated_8_1: u8 = unsafe { ::core::mem::transmute(unallocated_8_1) }; + unallocated_8_1 as u64 + }); + __bindgen_bitfield_unit.set(42usize, 1u8, { + let sfp_ct_passive: u8 = unsafe { ::core::mem::transmute(sfp_ct_passive) }; + sfp_ct_passive as u64 + }); + __bindgen_bitfield_unit.set(43usize, 1u8, { + let sfp_ct_active: u8 = unsafe { ::core::mem::transmute(sfp_ct_active) }; + sfp_ct_active as u64 + }); + __bindgen_bitfield_unit.set(44usize, 1u8, { + let fc_tech_ll: u8 = unsafe { ::core::mem::transmute(fc_tech_ll) }; + fc_tech_ll as u64 + }); + __bindgen_bitfield_unit.set(45usize, 1u8, { + let fc_tech_sl: u8 = unsafe { ::core::mem::transmute(fc_tech_sl) }; + fc_tech_sl as u64 + }); + __bindgen_bitfield_unit.set(46usize, 1u8, { + let fc_tech_sn: u8 = unsafe { ::core::mem::transmute(fc_tech_sn) }; + fc_tech_sn as u64 + }); + __bindgen_bitfield_unit.set(47usize, 1u8, { + let fc_tech_electrical_intra_enclosure: u8 = + unsafe { ::core::mem::transmute(fc_tech_electrical_intra_enclosure) }; + fc_tech_electrical_intra_enclosure as u64 + }); + __bindgen_bitfield_unit.set(48usize, 1u8, { + let fc_media_sm: u8 = unsafe { ::core::mem::transmute(fc_media_sm) }; + fc_media_sm as u64 + }); + __bindgen_bitfield_unit.set(49usize, 1u8, { + let unallocated_9_1: u8 = unsafe { ::core::mem::transmute(unallocated_9_1) }; + unallocated_9_1 as u64 + }); + __bindgen_bitfield_unit.set(50usize, 1u8, { + let fc_media_m5: u8 = unsafe { ::core::mem::transmute(fc_media_m5) }; + fc_media_m5 as u64 + }); + __bindgen_bitfield_unit.set(51usize, 1u8, { + let fc_media_m6: u8 = unsafe { ::core::mem::transmute(fc_media_m6) }; + fc_media_m6 as u64 + }); + __bindgen_bitfield_unit.set(52usize, 1u8, { + let fc_media_tv: u8 = unsafe { ::core::mem::transmute(fc_media_tv) }; + fc_media_tv as u64 + }); + __bindgen_bitfield_unit.set(53usize, 1u8, { + let fc_media_mi: u8 = unsafe { ::core::mem::transmute(fc_media_mi) }; + fc_media_mi as u64 + }); + __bindgen_bitfield_unit.set(54usize, 1u8, { + let fc_media_tp: u8 = unsafe { ::core::mem::transmute(fc_media_tp) }; + fc_media_tp as u64 + }); + __bindgen_bitfield_unit.set(55usize, 1u8, { + let fc_media_tw: u8 = unsafe { ::core::mem::transmute(fc_media_tw) }; + fc_media_tw as u64 + }); + __bindgen_bitfield_unit.set(56usize, 1u8, { + let fc_speed_100: u8 = unsafe { ::core::mem::transmute(fc_speed_100) }; + fc_speed_100 as u64 + }); + __bindgen_bitfield_unit.set(57usize, 1u8, { + let unallocated_10_1: u8 = unsafe { ::core::mem::transmute(unallocated_10_1) }; + unallocated_10_1 as u64 + }); + __bindgen_bitfield_unit.set(58usize, 1u8, { + let fc_speed_200: u8 = unsafe { ::core::mem::transmute(fc_speed_200) }; + fc_speed_200 as u64 + }); + __bindgen_bitfield_unit.set(59usize, 1u8, { + let fc_speed_3200: u8 = unsafe { ::core::mem::transmute(fc_speed_3200) }; + fc_speed_3200 as u64 + }); + __bindgen_bitfield_unit.set(60usize, 1u8, { + let fc_speed_400: u8 = unsafe { ::core::mem::transmute(fc_speed_400) }; + fc_speed_400 as u64 + }); + __bindgen_bitfield_unit.set(61usize, 1u8, { + let fc_speed_1600: u8 = unsafe { ::core::mem::transmute(fc_speed_1600) }; + fc_speed_1600 as u64 + }); + __bindgen_bitfield_unit.set(62usize, 1u8, { + let fc_speed_800: u8 = unsafe { ::core::mem::transmute(fc_speed_800) }; + fc_speed_800 as u64 + }); + __bindgen_bitfield_unit.set(63usize, 1u8, { + let fc_speed_1200: u8 = unsafe { ::core::mem::transmute(fc_speed_1200) }; + fc_speed_1200 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp_eeprom_ext { + pub options: __be16, + pub br_max: u8_, + pub br_min: u8_, + pub vendor_sn: [::core::ffi::c_char; 16usize], + pub datecode: [::core::ffi::c_char; 8usize], + pub diagmon: u8_, + pub enhopts: u8_, + pub sff8472_compliance: u8_, + pub cc_ext: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_eeprom_ext"][::core::mem::size_of::() - 32usize]; + ["Alignment of sfp_eeprom_ext"][::core::mem::align_of::() - 2usize]; + ["Offset of field: sfp_eeprom_ext::options"] + [::core::mem::offset_of!(sfp_eeprom_ext, options) - 0usize]; + ["Offset of field: sfp_eeprom_ext::br_max"] + [::core::mem::offset_of!(sfp_eeprom_ext, br_max) - 2usize]; + ["Offset of field: sfp_eeprom_ext::br_min"] + [::core::mem::offset_of!(sfp_eeprom_ext, br_min) - 3usize]; + ["Offset of field: sfp_eeprom_ext::vendor_sn"] + [::core::mem::offset_of!(sfp_eeprom_ext, vendor_sn) - 4usize]; + ["Offset of field: sfp_eeprom_ext::datecode"] + [::core::mem::offset_of!(sfp_eeprom_ext, datecode) - 20usize]; + ["Offset of field: sfp_eeprom_ext::diagmon"] + [::core::mem::offset_of!(sfp_eeprom_ext, diagmon) - 28usize]; + ["Offset of field: sfp_eeprom_ext::enhopts"] + [::core::mem::offset_of!(sfp_eeprom_ext, enhopts) - 29usize]; + ["Offset of field: sfp_eeprom_ext::sff8472_compliance"] + [::core::mem::offset_of!(sfp_eeprom_ext, sff8472_compliance) - 30usize]; + ["Offset of field: sfp_eeprom_ext::cc_ext"] + [::core::mem::offset_of!(sfp_eeprom_ext, cc_ext) - 31usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sfp_eeprom_id { + pub base: sfp_eeprom_base, + pub ext: sfp_eeprom_ext, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_eeprom_id"][::core::mem::size_of::() - 96usize]; + ["Alignment of sfp_eeprom_id"][::core::mem::align_of::() - 2usize]; + ["Offset of field: sfp_eeprom_id::base"][::core::mem::offset_of!(sfp_eeprom_id, base) - 0usize]; + ["Offset of field: sfp_eeprom_id::ext"][::core::mem::offset_of!(sfp_eeprom_id, ext) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp_quirk { + pub vendor: *const ::core::ffi::c_char, + pub part: *const ::core::ffi::c_char, + pub modes: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const sfp_eeprom_id, + arg2: *mut ::core::ffi::c_ulong, + arg3: *mut ::core::ffi::c_ulong, + ), + >, + pub fixup: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_quirk"][::core::mem::size_of::() - 32usize]; + ["Alignment of sfp_quirk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sfp_quirk::vendor"][::core::mem::offset_of!(sfp_quirk, vendor) - 0usize]; + ["Offset of field: sfp_quirk::part"][::core::mem::offset_of!(sfp_quirk, part) - 8usize]; + ["Offset of field: sfp_quirk::modes"][::core::mem::offset_of!(sfp_quirk, modes) - 16usize]; + ["Offset of field: sfp_quirk::fixup"][::core::mem::offset_of!(sfp_quirk, fixup) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp_socket_ops { + pub attach: ::core::option::Option, + pub detach: ::core::option::Option, + pub start: ::core::option::Option, + pub stop: ::core::option::Option, + pub set_signal_rate: + ::core::option::Option, + pub module_info: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sfp, arg2: *mut ethtool_modinfo) -> ::core::ffi::c_int, + >, + pub module_eeprom: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sfp, + arg2: *mut ethtool_eeprom, + arg3: *mut u8_, + ) -> ::core::ffi::c_int, + >, + pub module_eeprom_by_page: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sfp, + arg2: *const ethtool_module_eeprom, + arg3: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_socket_ops"][::core::mem::size_of::() - 64usize]; + ["Alignment of sfp_socket_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sfp_socket_ops::attach"] + [::core::mem::offset_of!(sfp_socket_ops, attach) - 0usize]; + ["Offset of field: sfp_socket_ops::detach"] + [::core::mem::offset_of!(sfp_socket_ops, detach) - 8usize]; + ["Offset of field: sfp_socket_ops::start"] + [::core::mem::offset_of!(sfp_socket_ops, start) - 16usize]; + ["Offset of field: sfp_socket_ops::stop"] + [::core::mem::offset_of!(sfp_socket_ops, stop) - 24usize]; + ["Offset of field: sfp_socket_ops::set_signal_rate"] + [::core::mem::offset_of!(sfp_socket_ops, set_signal_rate) - 32usize]; + ["Offset of field: sfp_socket_ops::module_info"] + [::core::mem::offset_of!(sfp_socket_ops, module_info) - 40usize]; + ["Offset of field: sfp_socket_ops::module_eeprom"] + [::core::mem::offset_of!(sfp_socket_ops, module_eeprom) - 48usize]; + ["Offset of field: sfp_socket_ops::module_eeprom_by_page"] + [::core::mem::offset_of!(sfp_socket_ops, module_eeprom_by_page) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sfp_upstream_ops { + pub attach: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void, arg2: *mut sfp_bus), + >, + pub detach: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void, arg2: *mut sfp_bus), + >, + pub module_insert: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *const sfp_eeprom_id, + ) -> ::core::ffi::c_int, + >, + pub module_remove: ::core::option::Option, + pub module_start: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int, + >, + pub module_stop: ::core::option::Option, + pub link_down: ::core::option::Option, + pub link_up: ::core::option::Option, + pub connect_phy: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: *mut phy_device, + ) -> ::core::ffi::c_int, + >, + pub disconnect_phy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void, arg2: *mut phy_device), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sfp_upstream_ops"][::core::mem::size_of::() - 80usize]; + ["Alignment of sfp_upstream_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sfp_upstream_ops::attach"] + [::core::mem::offset_of!(sfp_upstream_ops, attach) - 0usize]; + ["Offset of field: sfp_upstream_ops::detach"] + [::core::mem::offset_of!(sfp_upstream_ops, detach) - 8usize]; + ["Offset of field: sfp_upstream_ops::module_insert"] + [::core::mem::offset_of!(sfp_upstream_ops, module_insert) - 16usize]; + ["Offset of field: sfp_upstream_ops::module_remove"] + [::core::mem::offset_of!(sfp_upstream_ops, module_remove) - 24usize]; + ["Offset of field: sfp_upstream_ops::module_start"] + [::core::mem::offset_of!(sfp_upstream_ops, module_start) - 32usize]; + ["Offset of field: sfp_upstream_ops::module_stop"] + [::core::mem::offset_of!(sfp_upstream_ops, module_stop) - 40usize]; + ["Offset of field: sfp_upstream_ops::link_down"] + [::core::mem::offset_of!(sfp_upstream_ops, link_down) - 48usize]; + ["Offset of field: sfp_upstream_ops::link_up"] + [::core::mem::offset_of!(sfp_upstream_ops, link_up) - 56usize]; + ["Offset of field: sfp_upstream_ops::connect_phy"] + [::core::mem::offset_of!(sfp_upstream_ops, connect_phy) - 64usize]; + ["Offset of field: sfp_upstream_ops::disconnect_phy"] + [::core::mem::offset_of!(sfp_upstream_ops, disconnect_phy) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct shrink_control { + pub gfp_mask: gfp_t, + pub nid: ::core::ffi::c_int, + pub nr_to_scan: ::core::ffi::c_ulong, + pub nr_scanned: ::core::ffi::c_ulong, + pub memcg: *mut mem_cgroup, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of shrink_control"][::core::mem::size_of::() - 32usize]; + ["Alignment of shrink_control"][::core::mem::align_of::() - 8usize]; + ["Offset of field: shrink_control::gfp_mask"] + [::core::mem::offset_of!(shrink_control, gfp_mask) - 0usize]; + ["Offset of field: shrink_control::nid"][::core::mem::offset_of!(shrink_control, nid) - 4usize]; + ["Offset of field: shrink_control::nr_to_scan"] + [::core::mem::offset_of!(shrink_control, nr_to_scan) - 8usize]; + ["Offset of field: shrink_control::nr_scanned"] + [::core::mem::offset_of!(shrink_control, nr_scanned) - 16usize]; + ["Offset of field: shrink_control::memcg"] + [::core::mem::offset_of!(shrink_control, memcg) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct shrinker { + pub count_objects: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut shrinker, + arg2: *mut shrink_control, + ) -> ::core::ffi::c_ulong, + >, + pub scan_objects: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut shrinker, + arg2: *mut shrink_control, + ) -> ::core::ffi::c_ulong, + >, + pub batch: ::core::ffi::c_long, + pub seeks: ::core::ffi::c_int, + pub flags: ::core::ffi::c_uint, + pub refcount: refcount_t, + pub done: completion, + pub rcu: callback_head, + pub private_data: *mut ::core::ffi::c_void, + pub list: list_head, + pub id: ::core::ffi::c_int, + pub debugfs_id: ::core::ffi::c_int, + pub name: *const ::core::ffi::c_char, + pub debugfs_entry: *mut dentry, + pub nr_deferred: *mut atomic_long_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of shrinker"][::core::mem::size_of::() - 144usize]; + ["Alignment of shrinker"][::core::mem::align_of::() - 8usize]; + ["Offset of field: shrinker::count_objects"] + [::core::mem::offset_of!(shrinker, count_objects) - 0usize]; + ["Offset of field: shrinker::scan_objects"] + [::core::mem::offset_of!(shrinker, scan_objects) - 8usize]; + ["Offset of field: shrinker::batch"][::core::mem::offset_of!(shrinker, batch) - 16usize]; + ["Offset of field: shrinker::seeks"][::core::mem::offset_of!(shrinker, seeks) - 24usize]; + ["Offset of field: shrinker::flags"][::core::mem::offset_of!(shrinker, flags) - 28usize]; + ["Offset of field: shrinker::refcount"][::core::mem::offset_of!(shrinker, refcount) - 32usize]; + ["Offset of field: shrinker::done"][::core::mem::offset_of!(shrinker, done) - 40usize]; + ["Offset of field: shrinker::rcu"][::core::mem::offset_of!(shrinker, rcu) - 72usize]; + ["Offset of field: shrinker::private_data"] + [::core::mem::offset_of!(shrinker, private_data) - 88usize]; + ["Offset of field: shrinker::list"][::core::mem::offset_of!(shrinker, list) - 96usize]; + ["Offset of field: shrinker::id"][::core::mem::offset_of!(shrinker, id) - 112usize]; + ["Offset of field: shrinker::debugfs_id"] + [::core::mem::offset_of!(shrinker, debugfs_id) - 116usize]; + ["Offset of field: shrinker::name"][::core::mem::offset_of!(shrinker, name) - 120usize]; + ["Offset of field: shrinker::debugfs_entry"] + [::core::mem::offset_of!(shrinker, debugfs_entry) - 128usize]; + ["Offset of field: shrinker::nr_deferred"] + [::core::mem::offset_of!(shrinker, nr_deferred) - 136usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct shrinker_info { + pub rcu: callback_head, + pub map_nr_max: ::core::ffi::c_int, + pub unit: __IncompleteArrayField<*mut shrinker_info_unit>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of shrinker_info"][::core::mem::size_of::() - 24usize]; + ["Alignment of shrinker_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: shrinker_info::rcu"][::core::mem::offset_of!(shrinker_info, rcu) - 0usize]; + ["Offset of field: shrinker_info::map_nr_max"] + [::core::mem::offset_of!(shrinker_info, map_nr_max) - 16usize]; + ["Offset of field: shrinker_info::unit"] + [::core::mem::offset_of!(shrinker_info, unit) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct shrinker_info_unit { + pub nr_deferred: [atomic_long_t; 64usize], + pub map: [::core::ffi::c_ulong; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of shrinker_info_unit"][::core::mem::size_of::() - 520usize]; + ["Alignment of shrinker_info_unit"][::core::mem::align_of::() - 8usize]; + ["Offset of field: shrinker_info_unit::nr_deferred"] + [::core::mem::offset_of!(shrinker_info_unit, nr_deferred) - 0usize]; + ["Offset of field: shrinker_info_unit::map"] + [::core::mem::offset_of!(shrinker_info_unit, map) - 512usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sighand_struct { + pub siglock: spinlock_t, + pub count: refcount_t, + pub signalfd_wqh: wait_queue_head_t, + pub action: [k_sigaction; 64usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sighand_struct"][::core::mem::size_of::() - 2080usize]; + ["Alignment of sighand_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sighand_struct::siglock"] + [::core::mem::offset_of!(sighand_struct, siglock) - 0usize]; + ["Offset of field: sighand_struct::count"] + [::core::mem::offset_of!(sighand_struct, count) - 4usize]; + ["Offset of field: sighand_struct::signalfd_wqh"] + [::core::mem::offset_of!(sighand_struct, signalfd_wqh) - 8usize]; + ["Offset of field: sighand_struct::action"] + [::core::mem::offset_of!(sighand_struct, action) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigpending { + pub list: list_head, + pub signal: sigset_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sigpending"][::core::mem::size_of::() - 24usize]; + ["Alignment of sigpending"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sigpending::list"][::core::mem::offset_of!(sigpending, list) - 0usize]; + ["Offset of field: sigpending::signal"][::core::mem::offset_of!(sigpending, signal) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct task_cputime_atomic { + pub utime: atomic64_t, + pub stime: atomic64_t, + pub sum_exec_runtime: atomic64_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of task_cputime_atomic"][::core::mem::size_of::() - 24usize]; + ["Alignment of task_cputime_atomic"][::core::mem::align_of::() - 8usize]; + ["Offset of field: task_cputime_atomic::utime"] + [::core::mem::offset_of!(task_cputime_atomic, utime) - 0usize]; + ["Offset of field: task_cputime_atomic::stime"] + [::core::mem::offset_of!(task_cputime_atomic, stime) - 8usize]; + ["Offset of field: task_cputime_atomic::sum_exec_runtime"] + [::core::mem::offset_of!(task_cputime_atomic, sum_exec_runtime) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct thread_group_cputimer { + pub cputime_atomic: task_cputime_atomic, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of thread_group_cputimer"][::core::mem::size_of::() - 24usize]; + ["Alignment of thread_group_cputimer"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: thread_group_cputimer::cputime_atomic"] + [::core::mem::offset_of!(thread_group_cputimer, cputime_atomic) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct task_io_accounting { + pub rchar: u64_, + pub wchar: u64_, + pub syscr: u64_, + pub syscw: u64_, + pub read_bytes: u64_, + pub write_bytes: u64_, + pub cancelled_write_bytes: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of task_io_accounting"][::core::mem::size_of::() - 56usize]; + ["Alignment of task_io_accounting"][::core::mem::align_of::() - 8usize]; + ["Offset of field: task_io_accounting::rchar"] + [::core::mem::offset_of!(task_io_accounting, rchar) - 0usize]; + ["Offset of field: task_io_accounting::wchar"] + [::core::mem::offset_of!(task_io_accounting, wchar) - 8usize]; + ["Offset of field: task_io_accounting::syscr"] + [::core::mem::offset_of!(task_io_accounting, syscr) - 16usize]; + ["Offset of field: task_io_accounting::syscw"] + [::core::mem::offset_of!(task_io_accounting, syscw) - 24usize]; + ["Offset of field: task_io_accounting::read_bytes"] + [::core::mem::offset_of!(task_io_accounting, read_bytes) - 32usize]; + ["Offset of field: task_io_accounting::write_bytes"] + [::core::mem::offset_of!(task_io_accounting, write_bytes) - 40usize]; + ["Offset of field: task_io_accounting::cancelled_write_bytes"] + [::core::mem::offset_of!(task_io_accounting, cancelled_write_bytes) - 48usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct signal_struct { + pub sigcnt: refcount_t, + pub live: atomic_t, + pub nr_threads: ::core::ffi::c_int, + pub quick_threads: ::core::ffi::c_int, + pub thread_head: list_head, + pub wait_chldexit: wait_queue_head_t, + pub curr_target: *mut task_struct, + pub shared_pending: sigpending, + pub multiprocess: hlist_head, + pub group_exit_code: ::core::ffi::c_int, + pub notify_count: ::core::ffi::c_int, + pub group_exec_task: *mut task_struct, + pub group_stop_count: ::core::ffi::c_int, + pub flags: ::core::ffi::c_uint, + pub core_state: *mut core_state, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub next_posix_timer_id: ::core::ffi::c_uint, + pub posix_timers: hlist_head, + pub real_timer: hrtimer, + pub it_real_incr: ktime_t, + pub it: [cpu_itimer; 2usize], + pub cputimer: thread_group_cputimer, + pub posix_cputimers: posix_cputimers, + pub pids: [*mut pid; 4usize], + pub tick_dep_mask: atomic_t, + pub tty_old_pgrp: *mut pid, + pub leader: ::core::ffi::c_int, + pub tty: *mut tty_struct, + pub autogroup: *mut autogroup, + pub stats_lock: seqlock_t, + pub utime: u64_, + pub stime: u64_, + pub cutime: u64_, + pub cstime: u64_, + pub gtime: u64_, + pub cgtime: u64_, + pub prev_cputime: prev_cputime, + pub nvcsw: ::core::ffi::c_ulong, + pub nivcsw: ::core::ffi::c_ulong, + pub cnvcsw: ::core::ffi::c_ulong, + pub cnivcsw: ::core::ffi::c_ulong, + pub min_flt: ::core::ffi::c_ulong, + pub maj_flt: ::core::ffi::c_ulong, + pub cmin_flt: ::core::ffi::c_ulong, + pub cmaj_flt: ::core::ffi::c_ulong, + pub inblock: ::core::ffi::c_ulong, + pub oublock: ::core::ffi::c_ulong, + pub cinblock: ::core::ffi::c_ulong, + pub coublock: ::core::ffi::c_ulong, + pub maxrss: ::core::ffi::c_ulong, + pub cmaxrss: ::core::ffi::c_ulong, + pub ioac: task_io_accounting, + pub sum_sched_runtime: ::core::ffi::c_ulonglong, + pub rlim: [rlimit; 16usize], + pub pacct: pacct_struct, + pub stats: *mut taskstats, + pub audit_tty: ::core::ffi::c_uint, + pub tty_audit_buf: *mut tty_audit_buf, + pub oom_flag_origin: bool_, + pub oom_score_adj: ::core::ffi::c_short, + pub oom_score_adj_min: ::core::ffi::c_short, + pub oom_mm: *mut mm_struct, + pub cred_guard_mutex: mutex, + pub exec_update_lock: rw_semaphore, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of signal_struct"][::core::mem::size_of::() - 1104usize]; + ["Alignment of signal_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: signal_struct::sigcnt"] + [::core::mem::offset_of!(signal_struct, sigcnt) - 0usize]; + ["Offset of field: signal_struct::live"][::core::mem::offset_of!(signal_struct, live) - 4usize]; + ["Offset of field: signal_struct::nr_threads"] + [::core::mem::offset_of!(signal_struct, nr_threads) - 8usize]; + ["Offset of field: signal_struct::quick_threads"] + [::core::mem::offset_of!(signal_struct, quick_threads) - 12usize]; + ["Offset of field: signal_struct::thread_head"] + [::core::mem::offset_of!(signal_struct, thread_head) - 16usize]; + ["Offset of field: signal_struct::wait_chldexit"] + [::core::mem::offset_of!(signal_struct, wait_chldexit) - 32usize]; + ["Offset of field: signal_struct::curr_target"] + [::core::mem::offset_of!(signal_struct, curr_target) - 56usize]; + ["Offset of field: signal_struct::shared_pending"] + [::core::mem::offset_of!(signal_struct, shared_pending) - 64usize]; + ["Offset of field: signal_struct::multiprocess"] + [::core::mem::offset_of!(signal_struct, multiprocess) - 88usize]; + ["Offset of field: signal_struct::group_exit_code"] + [::core::mem::offset_of!(signal_struct, group_exit_code) - 96usize]; + ["Offset of field: signal_struct::notify_count"] + [::core::mem::offset_of!(signal_struct, notify_count) - 100usize]; + ["Offset of field: signal_struct::group_exec_task"] + [::core::mem::offset_of!(signal_struct, group_exec_task) - 104usize]; + ["Offset of field: signal_struct::group_stop_count"] + [::core::mem::offset_of!(signal_struct, group_stop_count) - 112usize]; + ["Offset of field: signal_struct::flags"] + [::core::mem::offset_of!(signal_struct, flags) - 116usize]; + ["Offset of field: signal_struct::core_state"] + [::core::mem::offset_of!(signal_struct, core_state) - 120usize]; + ["Offset of field: signal_struct::next_posix_timer_id"] + [::core::mem::offset_of!(signal_struct, next_posix_timer_id) - 132usize]; + ["Offset of field: signal_struct::posix_timers"] + [::core::mem::offset_of!(signal_struct, posix_timers) - 136usize]; + ["Offset of field: signal_struct::real_timer"] + [::core::mem::offset_of!(signal_struct, real_timer) - 144usize]; + ["Offset of field: signal_struct::it_real_incr"] + [::core::mem::offset_of!(signal_struct, it_real_incr) - 208usize]; + ["Offset of field: signal_struct::it"][::core::mem::offset_of!(signal_struct, it) - 216usize]; + ["Offset of field: signal_struct::cputimer"] + [::core::mem::offset_of!(signal_struct, cputimer) - 248usize]; + ["Offset of field: signal_struct::posix_cputimers"] + [::core::mem::offset_of!(signal_struct, posix_cputimers) - 272usize]; + ["Offset of field: signal_struct::pids"] + [::core::mem::offset_of!(signal_struct, pids) - 352usize]; + ["Offset of field: signal_struct::tick_dep_mask"] + [::core::mem::offset_of!(signal_struct, tick_dep_mask) - 384usize]; + ["Offset of field: signal_struct::tty_old_pgrp"] + [::core::mem::offset_of!(signal_struct, tty_old_pgrp) - 392usize]; + ["Offset of field: signal_struct::leader"] + [::core::mem::offset_of!(signal_struct, leader) - 400usize]; + ["Offset of field: signal_struct::tty"][::core::mem::offset_of!(signal_struct, tty) - 408usize]; + ["Offset of field: signal_struct::autogroup"] + [::core::mem::offset_of!(signal_struct, autogroup) - 416usize]; + ["Offset of field: signal_struct::stats_lock"] + [::core::mem::offset_of!(signal_struct, stats_lock) - 424usize]; + ["Offset of field: signal_struct::utime"] + [::core::mem::offset_of!(signal_struct, utime) - 432usize]; + ["Offset of field: signal_struct::stime"] + [::core::mem::offset_of!(signal_struct, stime) - 440usize]; + ["Offset of field: signal_struct::cutime"] + [::core::mem::offset_of!(signal_struct, cutime) - 448usize]; + ["Offset of field: signal_struct::cstime"] + [::core::mem::offset_of!(signal_struct, cstime) - 456usize]; + ["Offset of field: signal_struct::gtime"] + [::core::mem::offset_of!(signal_struct, gtime) - 464usize]; + ["Offset of field: signal_struct::cgtime"] + [::core::mem::offset_of!(signal_struct, cgtime) - 472usize]; + ["Offset of field: signal_struct::prev_cputime"] + [::core::mem::offset_of!(signal_struct, prev_cputime) - 480usize]; + ["Offset of field: signal_struct::nvcsw"] + [::core::mem::offset_of!(signal_struct, nvcsw) - 504usize]; + ["Offset of field: signal_struct::nivcsw"] + [::core::mem::offset_of!(signal_struct, nivcsw) - 512usize]; + ["Offset of field: signal_struct::cnvcsw"] + [::core::mem::offset_of!(signal_struct, cnvcsw) - 520usize]; + ["Offset of field: signal_struct::cnivcsw"] + [::core::mem::offset_of!(signal_struct, cnivcsw) - 528usize]; + ["Offset of field: signal_struct::min_flt"] + [::core::mem::offset_of!(signal_struct, min_flt) - 536usize]; + ["Offset of field: signal_struct::maj_flt"] + [::core::mem::offset_of!(signal_struct, maj_flt) - 544usize]; + ["Offset of field: signal_struct::cmin_flt"] + [::core::mem::offset_of!(signal_struct, cmin_flt) - 552usize]; + ["Offset of field: signal_struct::cmaj_flt"] + [::core::mem::offset_of!(signal_struct, cmaj_flt) - 560usize]; + ["Offset of field: signal_struct::inblock"] + [::core::mem::offset_of!(signal_struct, inblock) - 568usize]; + ["Offset of field: signal_struct::oublock"] + [::core::mem::offset_of!(signal_struct, oublock) - 576usize]; + ["Offset of field: signal_struct::cinblock"] + [::core::mem::offset_of!(signal_struct, cinblock) - 584usize]; + ["Offset of field: signal_struct::coublock"] + [::core::mem::offset_of!(signal_struct, coublock) - 592usize]; + ["Offset of field: signal_struct::maxrss"] + [::core::mem::offset_of!(signal_struct, maxrss) - 600usize]; + ["Offset of field: signal_struct::cmaxrss"] + [::core::mem::offset_of!(signal_struct, cmaxrss) - 608usize]; + ["Offset of field: signal_struct::ioac"] + [::core::mem::offset_of!(signal_struct, ioac) - 616usize]; + ["Offset of field: signal_struct::sum_sched_runtime"] + [::core::mem::offset_of!(signal_struct, sum_sched_runtime) - 672usize]; + ["Offset of field: signal_struct::rlim"] + [::core::mem::offset_of!(signal_struct, rlim) - 680usize]; + ["Offset of field: signal_struct::pacct"] + [::core::mem::offset_of!(signal_struct, pacct) - 936usize]; + ["Offset of field: signal_struct::stats"] + [::core::mem::offset_of!(signal_struct, stats) - 992usize]; + ["Offset of field: signal_struct::audit_tty"] + [::core::mem::offset_of!(signal_struct, audit_tty) - 1000usize]; + ["Offset of field: signal_struct::tty_audit_buf"] + [::core::mem::offset_of!(signal_struct, tty_audit_buf) - 1008usize]; + ["Offset of field: signal_struct::oom_flag_origin"] + [::core::mem::offset_of!(signal_struct, oom_flag_origin) - 1016usize]; + ["Offset of field: signal_struct::oom_score_adj"] + [::core::mem::offset_of!(signal_struct, oom_score_adj) - 1018usize]; + ["Offset of field: signal_struct::oom_score_adj_min"] + [::core::mem::offset_of!(signal_struct, oom_score_adj_min) - 1020usize]; + ["Offset of field: signal_struct::oom_mm"] + [::core::mem::offset_of!(signal_struct, oom_mm) - 1024usize]; + ["Offset of field: signal_struct::cred_guard_mutex"] + [::core::mem::offset_of!(signal_struct, cred_guard_mutex) - 1032usize]; + ["Offset of field: signal_struct::exec_update_lock"] + [::core::mem::offset_of!(signal_struct, exec_update_lock) - 1064usize]; +}; +impl signal_struct { + #[inline] + pub fn is_child_subreaper(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_child_subreaper(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_child_subreaper_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_child_subreaper_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn has_child_subreaper(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_has_child_subreaper(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_child_subreaper_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_has_child_subreaper_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_child_subreaper: ::core::ffi::c_uint, + has_child_subreaper: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_child_subreaper: u32 = unsafe { ::core::mem::transmute(is_child_subreaper) }; + is_child_subreaper as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let has_child_subreaper: u32 = unsafe { ::core::mem::transmute(has_child_subreaper) }; + has_child_subreaper as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_filter { + pub refcnt: refcount_t, + pub rcu: callback_head, + pub prog: *mut bpf_prog, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_filter"][::core::mem::size_of::() - 32usize]; + ["Alignment of sk_filter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_filter::refcnt"][::core::mem::offset_of!(sk_filter, refcnt) - 0usize]; + ["Offset of field: sk_filter::rcu"][::core::mem::offset_of!(sk_filter, rcu) - 8usize]; + ["Offset of field: sk_filter::prog"][::core::mem::offset_of!(sk_filter, prog) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sk_psock_work_state { + pub len: u32_, + pub off: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_psock_work_state"][::core::mem::size_of::() - 8usize]; + ["Alignment of sk_psock_work_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: sk_psock_work_state::len"] + [::core::mem::offset_of!(sk_psock_work_state, len) - 0usize]; + ["Offset of field: sk_psock_work_state::off"] + [::core::mem::offset_of!(sk_psock_work_state, off) - 4usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sk_psock { + pub sk: *mut sock, + pub sk_redir: *mut sock, + pub apply_bytes: u32_, + pub cork_bytes: u32_, + pub eval: u32_, + pub redir_ingress: bool_, + pub cork: *mut sk_msg, + pub progs: sk_psock_progs, + pub strp: strparser, + pub copied_seq: u32_, + pub ingress_bytes: u32_, + pub ingress_skb: sk_buff_head, + pub ingress_msg: list_head, + pub ingress_lock: spinlock_t, + pub state: ::core::ffi::c_ulong, + pub link: list_head, + pub link_lock: spinlock_t, + pub refcnt: refcount_t, + pub saved_unhash: ::core::option::Option, + pub saved_destroy: ::core::option::Option, + pub saved_close: + ::core::option::Option, + pub saved_write_space: ::core::option::Option, + pub saved_data_ready: ::core::option::Option, + pub psock_update_sk_prot: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sock, + arg2: *mut sk_psock, + arg3: bool_, + ) -> ::core::ffi::c_int, + >, + pub sk_proto: *mut proto, + pub work_mutex: mutex, + pub work_state: sk_psock_work_state, + pub work: delayed_work, + pub sk_pair: *mut sock, + pub rwork: rcu_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sk_psock"][::core::mem::size_of::() - 696usize]; + ["Alignment of sk_psock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sk_psock::sk"][::core::mem::offset_of!(sk_psock, sk) - 0usize]; + ["Offset of field: sk_psock::sk_redir"][::core::mem::offset_of!(sk_psock, sk_redir) - 8usize]; + ["Offset of field: sk_psock::apply_bytes"] + [::core::mem::offset_of!(sk_psock, apply_bytes) - 16usize]; + ["Offset of field: sk_psock::cork_bytes"] + [::core::mem::offset_of!(sk_psock, cork_bytes) - 20usize]; + ["Offset of field: sk_psock::eval"][::core::mem::offset_of!(sk_psock, eval) - 24usize]; + ["Offset of field: sk_psock::redir_ingress"] + [::core::mem::offset_of!(sk_psock, redir_ingress) - 28usize]; + ["Offset of field: sk_psock::cork"][::core::mem::offset_of!(sk_psock, cork) - 32usize]; + ["Offset of field: sk_psock::progs"][::core::mem::offset_of!(sk_psock, progs) - 40usize]; + ["Offset of field: sk_psock::strp"][::core::mem::offset_of!(sk_psock, strp) - 104usize]; + ["Offset of field: sk_psock::copied_seq"] + [::core::mem::offset_of!(sk_psock, copied_seq) - 360usize]; + ["Offset of field: sk_psock::ingress_bytes"] + [::core::mem::offset_of!(sk_psock, ingress_bytes) - 364usize]; + ["Offset of field: sk_psock::ingress_skb"] + [::core::mem::offset_of!(sk_psock, ingress_skb) - 368usize]; + ["Offset of field: sk_psock::ingress_msg"] + [::core::mem::offset_of!(sk_psock, ingress_msg) - 392usize]; + ["Offset of field: sk_psock::ingress_lock"] + [::core::mem::offset_of!(sk_psock, ingress_lock) - 408usize]; + ["Offset of field: sk_psock::state"][::core::mem::offset_of!(sk_psock, state) - 416usize]; + ["Offset of field: sk_psock::link"][::core::mem::offset_of!(sk_psock, link) - 424usize]; + ["Offset of field: sk_psock::link_lock"] + [::core::mem::offset_of!(sk_psock, link_lock) - 440usize]; + ["Offset of field: sk_psock::refcnt"][::core::mem::offset_of!(sk_psock, refcnt) - 444usize]; + ["Offset of field: sk_psock::saved_unhash"] + [::core::mem::offset_of!(sk_psock, saved_unhash) - 448usize]; + ["Offset of field: sk_psock::saved_destroy"] + [::core::mem::offset_of!(sk_psock, saved_destroy) - 456usize]; + ["Offset of field: sk_psock::saved_close"] + [::core::mem::offset_of!(sk_psock, saved_close) - 464usize]; + ["Offset of field: sk_psock::saved_write_space"] + [::core::mem::offset_of!(sk_psock, saved_write_space) - 472usize]; + ["Offset of field: sk_psock::saved_data_ready"] + [::core::mem::offset_of!(sk_psock, saved_data_ready) - 480usize]; + ["Offset of field: sk_psock::psock_update_sk_prot"] + [::core::mem::offset_of!(sk_psock, psock_update_sk_prot) - 488usize]; + ["Offset of field: sk_psock::sk_proto"][::core::mem::offset_of!(sk_psock, sk_proto) - 496usize]; + ["Offset of field: sk_psock::work_mutex"] + [::core::mem::offset_of!(sk_psock, work_mutex) - 504usize]; + ["Offset of field: sk_psock::work_state"] + [::core::mem::offset_of!(sk_psock, work_state) - 536usize]; + ["Offset of field: sk_psock::work"][::core::mem::offset_of!(sk_psock, work) - 544usize]; + ["Offset of field: sk_psock::sk_pair"][::core::mem::offset_of!(sk_psock, sk_pair) - 632usize]; + ["Offset of field: sk_psock::rwork"][::core::mem::offset_of!(sk_psock, rwork) - 640usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct skb_ext { + pub refcnt: refcount_t, + pub offset: [u8_; 5usize], + pub chunks: u8_, + pub __bindgen_padding_0: [u8; 6usize], + pub data: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of skb_ext"][::core::mem::size_of::() - 16usize]; + ["Alignment of skb_ext"][::core::mem::align_of::() - 4usize]; + ["Offset of field: skb_ext::refcnt"][::core::mem::offset_of!(skb_ext, refcnt) - 0usize]; + ["Offset of field: skb_ext::offset"][::core::mem::offset_of!(skb_ext, offset) - 4usize]; + ["Offset of field: skb_ext::chunks"][::core::mem::offset_of!(skb_ext, chunks) - 9usize]; + ["Offset of field: skb_ext::data"][::core::mem::offset_of!(skb_ext, data) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct skb_shared_hwtstamps { + pub __bindgen_anon_1: skb_shared_hwtstamps__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union skb_shared_hwtstamps__bindgen_ty_1 { + pub hwtstamp: ktime_t, + pub netdev_data: *mut ::core::ffi::c_void, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of skb_shared_hwtstamps__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of skb_shared_hwtstamps__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: skb_shared_hwtstamps__bindgen_ty_1::hwtstamp"] + [::core::mem::offset_of!(skb_shared_hwtstamps__bindgen_ty_1, hwtstamp) - 0usize]; + ["Offset of field: skb_shared_hwtstamps__bindgen_ty_1::netdev_data"] + [::core::mem::offset_of!(skb_shared_hwtstamps__bindgen_ty_1, netdev_data) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of skb_shared_hwtstamps"][::core::mem::size_of::() - 8usize]; + ["Alignment of skb_shared_hwtstamps"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct slab { + pub __page_flags: ::core::ffi::c_ulong, + pub slab_cache: *mut kmem_cache, + pub __bindgen_anon_1: slab__bindgen_ty_1, + pub __page_type: ::core::ffi::c_uint, + pub __page_refcount: atomic_t, + pub obj_exts: ::core::ffi::c_ulong, +} +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union slab__bindgen_ty_1 { + pub __bindgen_anon_1: slab__bindgen_ty_1__bindgen_ty_1, + pub callback_head: callback_head, +} +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct slab__bindgen_ty_1__bindgen_ty_1 { + pub __bindgen_anon_1: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub slab_list: list_head, + pub __bindgen_anon_1: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub next: *mut slab, + pub slabs: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >() - 16usize]; + ["Alignment of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() + - 8usize]; + ["Offset of field: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::next"][::core::mem::offset_of!( + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + next + ) + - 0usize]; + ["Offset of field: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::slabs"][::core::mem::offset_of!( + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + slabs + ) + - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1::slab_list"][::core::mem::offset_of!( + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + slab_list + ) - 0usize]; +}; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 { + pub __bindgen_anon_1: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub freelist_counter: freelist_aba_t, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { + pub freelist: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { + pub counters: ::core::ffi::c_ulong, + pub __bindgen_anon_1: + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 +{ + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] [:: core :: mem :: size_of :: < slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; + ["Alignment of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1"] [:: core :: mem :: align_of :: < slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; +}; +impl slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn inuse(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_inuse(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub unsafe fn inuse_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 16u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_inuse_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 16u8, + val as u64, + ) + } + } + #[inline] + pub fn objects(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 15u8) as u32) } + } + #[inline] + pub fn set_objects(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 15u8, val as u64) + } + } + #[inline] + pub unsafe fn objects_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 16usize, + 15u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_objects_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 16usize, + 15u8, + val as u64, + ) + } + } + #[inline] + pub fn frozen(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_frozen(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn frozen_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 31usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_frozen_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 31usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + inuse: ::core::ffi::c_uint, + objects: ::core::ffi::c_uint, + frozen: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let inuse: u32 = unsafe { ::core::mem::transmute(inuse) }; + inuse as u64 + }); + __bindgen_bitfield_unit.set(16usize, 15u8, { + let objects: u32 = unsafe { ::core::mem::transmute(objects) }; + objects as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let frozen: u32 = unsafe { ::core::mem::transmute(frozen) }; + frozen as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::< + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + >() - 8usize]; + ["Alignment of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::< + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + >() - 8usize]; + ["Offset of field: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::counters"] [:: core :: mem :: offset_of ! (slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , counters) - 0usize] ; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::core::mem::size_of::< + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + >() - 16usize]; + ["Alignment of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() + - 8usize]; + ["Offset of field: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::freelist"][::core::mem::offset_of!( + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + freelist + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 16usize]; + ["Offset of field: slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2::freelist_counter"][::core::mem::offset_of!( + slab__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + freelist_counter + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of slab__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab__bindgen_ty_1"][::core::mem::size_of::() - 32usize]; + ["Alignment of slab__bindgen_ty_1"][::core::mem::align_of::() - 16usize]; + ["Offset of field: slab__bindgen_ty_1::callback_head"] + [::core::mem::offset_of!(slab__bindgen_ty_1, callback_head) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of slab"][::core::mem::size_of::() - 64usize]; + ["Alignment of slab"][::core::mem::align_of::() - 16usize]; + ["Offset of field: slab::__page_flags"][::core::mem::offset_of!(slab, __page_flags) - 0usize]; + ["Offset of field: slab::slab_cache"][::core::mem::offset_of!(slab, slab_cache) - 8usize]; + ["Offset of field: slab::__page_type"][::core::mem::offset_of!(slab, __page_type) - 48usize]; + ["Offset of field: slab::__page_refcount"] + [::core::mem::offset_of!(slab, __page_refcount) - 52usize]; + ["Offset of field: slab::obj_exts"][::core::mem::offset_of!(slab, obj_exts) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sock_fprog_kern { + pub len: u16_, + pub filter: *mut sock_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_fprog_kern"][::core::mem::size_of::() - 16usize]; + ["Alignment of sock_fprog_kern"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_fprog_kern::len"] + [::core::mem::offset_of!(sock_fprog_kern, len) - 0usize]; + ["Offset of field: sock_fprog_kern::filter"] + [::core::mem::offset_of!(sock_fprog_kern, filter) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct sock_reuseport { + pub rcu: callback_head, + pub max_socks: u16_, + pub num_socks: u16_, + pub num_closed_socks: u16_, + pub incoming_cpu: u16_, + pub synq_overflow_ts: ::core::ffi::c_uint, + pub reuseport_id: ::core::ffi::c_uint, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub prog: *mut bpf_prog, + pub socks: __IncompleteArrayField<*mut sock>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sock_reuseport"][::core::mem::size_of::() - 48usize]; + ["Alignment of sock_reuseport"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sock_reuseport::rcu"][::core::mem::offset_of!(sock_reuseport, rcu) - 0usize]; + ["Offset of field: sock_reuseport::max_socks"] + [::core::mem::offset_of!(sock_reuseport, max_socks) - 16usize]; + ["Offset of field: sock_reuseport::num_socks"] + [::core::mem::offset_of!(sock_reuseport, num_socks) - 18usize]; + ["Offset of field: sock_reuseport::num_closed_socks"] + [::core::mem::offset_of!(sock_reuseport, num_closed_socks) - 20usize]; + ["Offset of field: sock_reuseport::incoming_cpu"] + [::core::mem::offset_of!(sock_reuseport, incoming_cpu) - 22usize]; + ["Offset of field: sock_reuseport::synq_overflow_ts"] + [::core::mem::offset_of!(sock_reuseport, synq_overflow_ts) - 24usize]; + ["Offset of field: sock_reuseport::reuseport_id"] + [::core::mem::offset_of!(sock_reuseport, reuseport_id) - 28usize]; + ["Offset of field: sock_reuseport::prog"] + [::core::mem::offset_of!(sock_reuseport, prog) - 40usize]; + ["Offset of field: sock_reuseport::socks"] + [::core::mem::offset_of!(sock_reuseport, socks) - 48usize]; +}; +impl sock_reuseport { + #[inline] + pub fn bind_inany(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_bind_inany(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn bind_inany_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_bind_inany_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn has_conns(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_has_conns(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn has_conns_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_has_conns_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + bind_inany: ::core::ffi::c_uint, + has_conns: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let bind_inany: u32 = unsafe { ::core::mem::transmute(bind_inany) }; + bind_inany as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let has_conns: u32 = unsafe { ::core::mem::transmute(has_conns) }; + has_conns as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct socket_wq { + pub wait: wait_queue_head_t, + pub fasync_list: *mut fasync_struct, + pub flags: ::core::ffi::c_ulong, + pub rcu: callback_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of socket_wq"][::core::mem::size_of::() - 64usize]; + ["Alignment of socket_wq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: socket_wq::wait"][::core::mem::offset_of!(socket_wq, wait) - 0usize]; + ["Offset of field: socket_wq::fasync_list"] + [::core::mem::offset_of!(socket_wq, fasync_list) - 24usize]; + ["Offset of field: socket_wq::flags"][::core::mem::offset_of!(socket_wq, flags) - 32usize]; + ["Offset of field: socket_wq::rcu"][::core::mem::offset_of!(socket_wq, rcu) - 40usize]; +}; +impl socket_wq { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct socket { + pub state: socket_state, + pub type_: ::core::ffi::c_short, + pub flags: ::core::ffi::c_ulong, + pub file: *mut file, + pub sk: *mut sock, + pub ops: *const proto_ops, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub wq: socket_wq, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of socket"][::core::mem::size_of::() - 128usize]; + ["Alignment of socket"][::core::mem::align_of::() - 8usize]; + ["Offset of field: socket::state"][::core::mem::offset_of!(socket, state) - 0usize]; + ["Offset of field: socket::type_"][::core::mem::offset_of!(socket, type_) - 4usize]; + ["Offset of field: socket::flags"][::core::mem::offset_of!(socket, flags) - 8usize]; + ["Offset of field: socket::file"][::core::mem::offset_of!(socket, file) - 16usize]; + ["Offset of field: socket::sk"][::core::mem::offset_of!(socket, sk) - 24usize]; + ["Offset of field: socket::ops"][::core::mem::offset_of!(socket, ops) - 32usize]; + ["Offset of field: socket::wq"][::core::mem::offset_of!(socket, wq) - 64usize]; +}; +impl socket { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct srcu_data { + pub srcu_lock_count: [atomic_long_t; 2usize], + pub srcu_unlock_count: [atomic_long_t; 2usize], + pub srcu_nmi_safety: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>, + pub __bindgen_padding_0: u32, + pub lock: spinlock_t, + pub srcu_cblist: rcu_segcblist, + pub srcu_gp_seq_needed: ::core::ffi::c_ulong, + pub srcu_gp_seq_needed_exp: ::core::ffi::c_ulong, + pub srcu_cblist_invoking: bool_, + pub delay_work: timer_list, + pub work: work_struct, + pub srcu_barrier_head: callback_head, + pub mynode: *mut srcu_node, + pub grpmask: ::core::ffi::c_ulong, + pub cpu: ::core::ffi::c_int, + pub ssp: *mut srcu_struct, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of srcu_data"][::core::mem::size_of::() - 384usize]; + ["Alignment of srcu_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: srcu_data::srcu_lock_count"] + [::core::mem::offset_of!(srcu_data, srcu_lock_count) - 0usize]; + ["Offset of field: srcu_data::srcu_unlock_count"] + [::core::mem::offset_of!(srcu_data, srcu_unlock_count) - 16usize]; + ["Offset of field: srcu_data::srcu_nmi_safety"] + [::core::mem::offset_of!(srcu_data, srcu_nmi_safety) - 32usize]; + ["Offset of field: srcu_data::lock"][::core::mem::offset_of!(srcu_data, lock) - 64usize]; + ["Offset of field: srcu_data::srcu_cblist"] + [::core::mem::offset_of!(srcu_data, srcu_cblist) - 72usize]; + ["Offset of field: srcu_data::srcu_gp_seq_needed"] + [::core::mem::offset_of!(srcu_data, srcu_gp_seq_needed) - 192usize]; + ["Offset of field: srcu_data::srcu_gp_seq_needed_exp"] + [::core::mem::offset_of!(srcu_data, srcu_gp_seq_needed_exp) - 200usize]; + ["Offset of field: srcu_data::srcu_cblist_invoking"] + [::core::mem::offset_of!(srcu_data, srcu_cblist_invoking) - 208usize]; + ["Offset of field: srcu_data::delay_work"] + [::core::mem::offset_of!(srcu_data, delay_work) - 216usize]; + ["Offset of field: srcu_data::work"][::core::mem::offset_of!(srcu_data, work) - 256usize]; + ["Offset of field: srcu_data::srcu_barrier_head"] + [::core::mem::offset_of!(srcu_data, srcu_barrier_head) - 288usize]; + ["Offset of field: srcu_data::mynode"][::core::mem::offset_of!(srcu_data, mynode) - 304usize]; + ["Offset of field: srcu_data::grpmask"][::core::mem::offset_of!(srcu_data, grpmask) - 312usize]; + ["Offset of field: srcu_data::cpu"][::core::mem::offset_of!(srcu_data, cpu) - 320usize]; + ["Offset of field: srcu_data::ssp"][::core::mem::offset_of!(srcu_data, ssp) - 328usize]; +}; +impl srcu_data { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct srcu_node { + pub lock: spinlock_t, + pub srcu_have_cbs: [::core::ffi::c_ulong; 4usize], + pub srcu_data_have_cbs: [::core::ffi::c_ulong; 4usize], + pub srcu_gp_seq_needed_exp: ::core::ffi::c_ulong, + pub srcu_parent: *mut srcu_node, + pub grplo: ::core::ffi::c_int, + pub grphi: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of srcu_node"][::core::mem::size_of::() - 96usize]; + ["Alignment of srcu_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: srcu_node::lock"][::core::mem::offset_of!(srcu_node, lock) - 0usize]; + ["Offset of field: srcu_node::srcu_have_cbs"] + [::core::mem::offset_of!(srcu_node, srcu_have_cbs) - 8usize]; + ["Offset of field: srcu_node::srcu_data_have_cbs"] + [::core::mem::offset_of!(srcu_node, srcu_data_have_cbs) - 40usize]; + ["Offset of field: srcu_node::srcu_gp_seq_needed_exp"] + [::core::mem::offset_of!(srcu_node, srcu_gp_seq_needed_exp) - 72usize]; + ["Offset of field: srcu_node::srcu_parent"] + [::core::mem::offset_of!(srcu_node, srcu_parent) - 80usize]; + ["Offset of field: srcu_node::grplo"][::core::mem::offset_of!(srcu_node, grplo) - 88usize]; + ["Offset of field: srcu_node::grphi"][::core::mem::offset_of!(srcu_node, grphi) - 92usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct static_call_key { + pub func: *mut ::core::ffi::c_void, + pub __bindgen_anon_1: static_call_key__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union static_call_key__bindgen_ty_1 { + pub type_: ::core::ffi::c_ulong, + pub mods: *mut static_call_mod, + pub sites: *mut static_call_site, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_call_key__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of static_call_key__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: static_call_key__bindgen_ty_1::type_"] + [::core::mem::offset_of!(static_call_key__bindgen_ty_1, type_) - 0usize]; + ["Offset of field: static_call_key__bindgen_ty_1::mods"] + [::core::mem::offset_of!(static_call_key__bindgen_ty_1, mods) - 0usize]; + ["Offset of field: static_call_key__bindgen_ty_1::sites"] + [::core::mem::offset_of!(static_call_key__bindgen_ty_1, sites) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_call_key"][::core::mem::size_of::() - 16usize]; + ["Alignment of static_call_key"][::core::mem::align_of::() - 8usize]; + ["Offset of field: static_call_key::func"] + [::core::mem::offset_of!(static_call_key, func) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct static_call_mod { + pub next: *mut static_call_mod, + pub mod_: *mut module, + pub sites: *mut static_call_site, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_call_mod"][::core::mem::size_of::() - 24usize]; + ["Alignment of static_call_mod"][::core::mem::align_of::() - 8usize]; + ["Offset of field: static_call_mod::next"] + [::core::mem::offset_of!(static_call_mod, next) - 0usize]; + ["Offset of field: static_call_mod::mod_"] + [::core::mem::offset_of!(static_call_mod, mod_) - 8usize]; + ["Offset of field: static_call_mod::sites"] + [::core::mem::offset_of!(static_call_mod, sites) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct static_call_site { + pub addr: s32, + pub key: s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_call_site"][::core::mem::size_of::() - 8usize]; + ["Alignment of static_call_site"][::core::mem::align_of::() - 4usize]; + ["Offset of field: static_call_site::addr"] + [::core::mem::offset_of!(static_call_site, addr) - 0usize]; + ["Offset of field: static_call_site::key"] + [::core::mem::offset_of!(static_call_site, key) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct static_key_mod { + pub next: *mut static_key_mod, + pub entries: *mut jump_entry, + pub mod_: *mut module, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of static_key_mod"][::core::mem::size_of::() - 24usize]; + ["Alignment of static_key_mod"][::core::mem::align_of::() - 8usize]; + ["Offset of field: static_key_mod::next"] + [::core::mem::offset_of!(static_key_mod, next) - 0usize]; + ["Offset of field: static_key_mod::entries"] + [::core::mem::offset_of!(static_key_mod, entries) - 8usize]; + ["Offset of field: static_key_mod::mod_"] + [::core::mem::offset_of!(static_key_mod, mod_) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mtd_info { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct super_block { + pub s_list: list_head, + pub s_dev: dev_t, + pub s_blocksize_bits: ::core::ffi::c_uchar, + pub s_blocksize: ::core::ffi::c_ulong, + pub s_maxbytes: loff_t, + pub s_type: *mut file_system_type, + pub s_op: *const super_operations, + pub dq_op: *const dquot_operations, + pub s_qcop: *const quotactl_ops, + pub s_export_op: *const export_operations, + pub s_flags: ::core::ffi::c_ulong, + pub s_iflags: ::core::ffi::c_ulong, + pub s_magic: ::core::ffi::c_ulong, + pub s_root: *mut dentry, + pub s_umount: rw_semaphore, + pub s_count: ::core::ffi::c_int, + pub s_active: atomic_t, + pub s_security: *mut ::core::ffi::c_void, + pub s_xattr: *const *const xattr_handler, + pub s_cop: *const fscrypt_operations, + pub s_master_keys: *mut fscrypt_keyring, + pub s_vop: *const fsverity_operations, + pub s_encoding: *mut unicode_map, + pub s_encoding_flags: __u16, + pub s_roots: hlist_bl_head, + pub s_mounts: list_head, + pub s_bdev: *mut block_device, + pub s_bdev_file: *mut file, + pub s_bdi: *mut backing_dev_info, + pub s_mtd: *mut mtd_info, + pub s_instances: hlist_node, + pub s_quota_types: ::core::ffi::c_uint, + pub s_dquot: quota_info, + pub s_writers: sb_writers, + pub s_fs_info: *mut ::core::ffi::c_void, + pub s_time_gran: u32_, + pub s_time_min: time64_t, + pub s_time_max: time64_t, + pub s_fsnotify_mask: u32_, + pub s_fsnotify_info: *mut fsnotify_sb_info, + pub s_id: [::core::ffi::c_char; 32usize], + pub s_uuid: uuid_t, + pub s_uuid_len: u8_, + pub s_sysfs_name: [::core::ffi::c_char; 37usize], + pub s_max_links: ::core::ffi::c_uint, + pub s_vfs_rename_mutex: mutex, + pub s_subtype: *const ::core::ffi::c_char, + pub s_d_op: *const dentry_operations, + pub s_shrink: *mut shrinker, + pub s_remove_count: atomic_long_t, + pub s_readonly_remount: ::core::ffi::c_int, + pub s_wb_err: errseq_t, + pub s_dio_done_wq: *mut workqueue_struct, + pub s_pins: hlist_head, + pub s_user_ns: *mut user_namespace, + pub s_dentry_lru: list_lru, + pub s_inode_lru: list_lru, + pub rcu: callback_head, + pub destroy_work: work_struct, + pub s_sync_lock: mutex, + pub s_stack_depth: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub __bindgen_padding_0: u32, + pub s_inode_list_lock: spinlock_t, + pub s_inodes: list_head, + pub s_inode_wblist_lock: spinlock_t, + pub s_inodes_wb: list_head, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of super_block"][::core::mem::size_of::() - 1408usize]; + ["Alignment of super_block"][::core::mem::align_of::() - 8usize]; + ["Offset of field: super_block::s_list"][::core::mem::offset_of!(super_block, s_list) - 0usize]; + ["Offset of field: super_block::s_dev"][::core::mem::offset_of!(super_block, s_dev) - 16usize]; + ["Offset of field: super_block::s_blocksize_bits"] + [::core::mem::offset_of!(super_block, s_blocksize_bits) - 20usize]; + ["Offset of field: super_block::s_blocksize"] + [::core::mem::offset_of!(super_block, s_blocksize) - 24usize]; + ["Offset of field: super_block::s_maxbytes"] + [::core::mem::offset_of!(super_block, s_maxbytes) - 32usize]; + ["Offset of field: super_block::s_type"] + [::core::mem::offset_of!(super_block, s_type) - 40usize]; + ["Offset of field: super_block::s_op"][::core::mem::offset_of!(super_block, s_op) - 48usize]; + ["Offset of field: super_block::dq_op"][::core::mem::offset_of!(super_block, dq_op) - 56usize]; + ["Offset of field: super_block::s_qcop"] + [::core::mem::offset_of!(super_block, s_qcop) - 64usize]; + ["Offset of field: super_block::s_export_op"] + [::core::mem::offset_of!(super_block, s_export_op) - 72usize]; + ["Offset of field: super_block::s_flags"] + [::core::mem::offset_of!(super_block, s_flags) - 80usize]; + ["Offset of field: super_block::s_iflags"] + [::core::mem::offset_of!(super_block, s_iflags) - 88usize]; + ["Offset of field: super_block::s_magic"] + [::core::mem::offset_of!(super_block, s_magic) - 96usize]; + ["Offset of field: super_block::s_root"] + [::core::mem::offset_of!(super_block, s_root) - 104usize]; + ["Offset of field: super_block::s_umount"] + [::core::mem::offset_of!(super_block, s_umount) - 112usize]; + ["Offset of field: super_block::s_count"] + [::core::mem::offset_of!(super_block, s_count) - 152usize]; + ["Offset of field: super_block::s_active"] + [::core::mem::offset_of!(super_block, s_active) - 156usize]; + ["Offset of field: super_block::s_security"] + [::core::mem::offset_of!(super_block, s_security) - 160usize]; + ["Offset of field: super_block::s_xattr"] + [::core::mem::offset_of!(super_block, s_xattr) - 168usize]; + ["Offset of field: super_block::s_cop"][::core::mem::offset_of!(super_block, s_cop) - 176usize]; + ["Offset of field: super_block::s_master_keys"] + [::core::mem::offset_of!(super_block, s_master_keys) - 184usize]; + ["Offset of field: super_block::s_vop"][::core::mem::offset_of!(super_block, s_vop) - 192usize]; + ["Offset of field: super_block::s_encoding"] + [::core::mem::offset_of!(super_block, s_encoding) - 200usize]; + ["Offset of field: super_block::s_encoding_flags"] + [::core::mem::offset_of!(super_block, s_encoding_flags) - 208usize]; + ["Offset of field: super_block::s_roots"] + [::core::mem::offset_of!(super_block, s_roots) - 216usize]; + ["Offset of field: super_block::s_mounts"] + [::core::mem::offset_of!(super_block, s_mounts) - 224usize]; + ["Offset of field: super_block::s_bdev"] + [::core::mem::offset_of!(super_block, s_bdev) - 240usize]; + ["Offset of field: super_block::s_bdev_file"] + [::core::mem::offset_of!(super_block, s_bdev_file) - 248usize]; + ["Offset of field: super_block::s_bdi"][::core::mem::offset_of!(super_block, s_bdi) - 256usize]; + ["Offset of field: super_block::s_mtd"][::core::mem::offset_of!(super_block, s_mtd) - 264usize]; + ["Offset of field: super_block::s_instances"] + [::core::mem::offset_of!(super_block, s_instances) - 272usize]; + ["Offset of field: super_block::s_quota_types"] + [::core::mem::offset_of!(super_block, s_quota_types) - 288usize]; + ["Offset of field: super_block::s_dquot"] + [::core::mem::offset_of!(super_block, s_dquot) - 296usize]; + ["Offset of field: super_block::s_writers"] + [::core::mem::offset_of!(super_block, s_writers) - 608usize]; + ["Offset of field: super_block::s_fs_info"] + [::core::mem::offset_of!(super_block, s_fs_info) - 912usize]; + ["Offset of field: super_block::s_time_gran"] + [::core::mem::offset_of!(super_block, s_time_gran) - 920usize]; + ["Offset of field: super_block::s_time_min"] + [::core::mem::offset_of!(super_block, s_time_min) - 928usize]; + ["Offset of field: super_block::s_time_max"] + [::core::mem::offset_of!(super_block, s_time_max) - 936usize]; + ["Offset of field: super_block::s_fsnotify_mask"] + [::core::mem::offset_of!(super_block, s_fsnotify_mask) - 944usize]; + ["Offset of field: super_block::s_fsnotify_info"] + [::core::mem::offset_of!(super_block, s_fsnotify_info) - 952usize]; + ["Offset of field: super_block::s_id"][::core::mem::offset_of!(super_block, s_id) - 960usize]; + ["Offset of field: super_block::s_uuid"] + [::core::mem::offset_of!(super_block, s_uuid) - 992usize]; + ["Offset of field: super_block::s_uuid_len"] + [::core::mem::offset_of!(super_block, s_uuid_len) - 1008usize]; + ["Offset of field: super_block::s_sysfs_name"] + [::core::mem::offset_of!(super_block, s_sysfs_name) - 1009usize]; + ["Offset of field: super_block::s_max_links"] + [::core::mem::offset_of!(super_block, s_max_links) - 1048usize]; + ["Offset of field: super_block::s_vfs_rename_mutex"] + [::core::mem::offset_of!(super_block, s_vfs_rename_mutex) - 1056usize]; + ["Offset of field: super_block::s_subtype"] + [::core::mem::offset_of!(super_block, s_subtype) - 1088usize]; + ["Offset of field: super_block::s_d_op"] + [::core::mem::offset_of!(super_block, s_d_op) - 1096usize]; + ["Offset of field: super_block::s_shrink"] + [::core::mem::offset_of!(super_block, s_shrink) - 1104usize]; + ["Offset of field: super_block::s_remove_count"] + [::core::mem::offset_of!(super_block, s_remove_count) - 1112usize]; + ["Offset of field: super_block::s_readonly_remount"] + [::core::mem::offset_of!(super_block, s_readonly_remount) - 1120usize]; + ["Offset of field: super_block::s_wb_err"] + [::core::mem::offset_of!(super_block, s_wb_err) - 1124usize]; + ["Offset of field: super_block::s_dio_done_wq"] + [::core::mem::offset_of!(super_block, s_dio_done_wq) - 1128usize]; + ["Offset of field: super_block::s_pins"] + [::core::mem::offset_of!(super_block, s_pins) - 1136usize]; + ["Offset of field: super_block::s_user_ns"] + [::core::mem::offset_of!(super_block, s_user_ns) - 1144usize]; + ["Offset of field: super_block::s_dentry_lru"] + [::core::mem::offset_of!(super_block, s_dentry_lru) - 1152usize]; + ["Offset of field: super_block::s_inode_lru"] + [::core::mem::offset_of!(super_block, s_inode_lru) - 1200usize]; + ["Offset of field: super_block::rcu"][::core::mem::offset_of!(super_block, rcu) - 1248usize]; + ["Offset of field: super_block::destroy_work"] + [::core::mem::offset_of!(super_block, destroy_work) - 1264usize]; + ["Offset of field: super_block::s_sync_lock"] + [::core::mem::offset_of!(super_block, s_sync_lock) - 1296usize]; + ["Offset of field: super_block::s_stack_depth"] + [::core::mem::offset_of!(super_block, s_stack_depth) - 1328usize]; + ["Offset of field: super_block::s_inode_list_lock"] + [::core::mem::offset_of!(super_block, s_inode_list_lock) - 1344usize]; + ["Offset of field: super_block::s_inodes"] + [::core::mem::offset_of!(super_block, s_inodes) - 1352usize]; + ["Offset of field: super_block::s_inode_wblist_lock"] + [::core::mem::offset_of!(super_block, s_inode_wblist_lock) - 1368usize]; + ["Offset of field: super_block::s_inodes_wb"] + [::core::mem::offset_of!(super_block, s_inodes_wb) - 1376usize]; +}; +impl super_block { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct super_operations { + pub alloc_inode: + ::core::option::Option *mut inode>, + pub destroy_inode: ::core::option::Option, + pub free_inode: ::core::option::Option, + pub dirty_inode: + ::core::option::Option, + pub write_inode: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut inode, arg2: *mut writeback_control) -> ::core::ffi::c_int, + >, + pub drop_inode: + ::core::option::Option ::core::ffi::c_int>, + pub evict_inode: ::core::option::Option, + pub put_super: ::core::option::Option, + pub sync_fs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub freeze_super: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut super_block, arg2: freeze_holder) -> ::core::ffi::c_int, + >, + pub freeze_fs: + ::core::option::Option ::core::ffi::c_int>, + pub thaw_super: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut super_block, arg2: freeze_holder) -> ::core::ffi::c_int, + >, + pub unfreeze_fs: + ::core::option::Option ::core::ffi::c_int>, + pub statfs: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut dentry, arg2: *mut kstatfs) -> ::core::ffi::c_int, + >, + pub remount_fs: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut ::core::ffi::c_int, + arg3: *mut ::core::ffi::c_char, + ) -> ::core::ffi::c_int, + >, + pub umount_begin: ::core::option::Option, + pub show_options: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut dentry) -> ::core::ffi::c_int, + >, + pub show_devname: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut dentry) -> ::core::ffi::c_int, + >, + pub show_path: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut dentry) -> ::core::ffi::c_int, + >, + pub show_stats: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut dentry) -> ::core::ffi::c_int, + >, + pub quota_read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + arg3: *mut ::core::ffi::c_char, + arg4: usize, + arg5: loff_t, + ) -> isize, + >, + pub quota_write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: ::core::ffi::c_int, + arg3: *const ::core::ffi::c_char, + arg4: usize, + arg5: loff_t, + ) -> isize, + >, + pub get_dquots: + ::core::option::Option *mut *mut dquot>, + pub nr_cached_objects: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut shrink_control, + ) -> ::core::ffi::c_long, + >, + pub free_cached_objects: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut super_block, + arg2: *mut shrink_control, + ) -> ::core::ffi::c_long, + >, + pub shutdown: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of super_operations"][::core::mem::size_of::() - 208usize]; + ["Alignment of super_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: super_operations::alloc_inode"] + [::core::mem::offset_of!(super_operations, alloc_inode) - 0usize]; + ["Offset of field: super_operations::destroy_inode"] + [::core::mem::offset_of!(super_operations, destroy_inode) - 8usize]; + ["Offset of field: super_operations::free_inode"] + [::core::mem::offset_of!(super_operations, free_inode) - 16usize]; + ["Offset of field: super_operations::dirty_inode"] + [::core::mem::offset_of!(super_operations, dirty_inode) - 24usize]; + ["Offset of field: super_operations::write_inode"] + [::core::mem::offset_of!(super_operations, write_inode) - 32usize]; + ["Offset of field: super_operations::drop_inode"] + [::core::mem::offset_of!(super_operations, drop_inode) - 40usize]; + ["Offset of field: super_operations::evict_inode"] + [::core::mem::offset_of!(super_operations, evict_inode) - 48usize]; + ["Offset of field: super_operations::put_super"] + [::core::mem::offset_of!(super_operations, put_super) - 56usize]; + ["Offset of field: super_operations::sync_fs"] + [::core::mem::offset_of!(super_operations, sync_fs) - 64usize]; + ["Offset of field: super_operations::freeze_super"] + [::core::mem::offset_of!(super_operations, freeze_super) - 72usize]; + ["Offset of field: super_operations::freeze_fs"] + [::core::mem::offset_of!(super_operations, freeze_fs) - 80usize]; + ["Offset of field: super_operations::thaw_super"] + [::core::mem::offset_of!(super_operations, thaw_super) - 88usize]; + ["Offset of field: super_operations::unfreeze_fs"] + [::core::mem::offset_of!(super_operations, unfreeze_fs) - 96usize]; + ["Offset of field: super_operations::statfs"] + [::core::mem::offset_of!(super_operations, statfs) - 104usize]; + ["Offset of field: super_operations::remount_fs"] + [::core::mem::offset_of!(super_operations, remount_fs) - 112usize]; + ["Offset of field: super_operations::umount_begin"] + [::core::mem::offset_of!(super_operations, umount_begin) - 120usize]; + ["Offset of field: super_operations::show_options"] + [::core::mem::offset_of!(super_operations, show_options) - 128usize]; + ["Offset of field: super_operations::show_devname"] + [::core::mem::offset_of!(super_operations, show_devname) - 136usize]; + ["Offset of field: super_operations::show_path"] + [::core::mem::offset_of!(super_operations, show_path) - 144usize]; + ["Offset of field: super_operations::show_stats"] + [::core::mem::offset_of!(super_operations, show_stats) - 152usize]; + ["Offset of field: super_operations::quota_read"] + [::core::mem::offset_of!(super_operations, quota_read) - 160usize]; + ["Offset of field: super_operations::quota_write"] + [::core::mem::offset_of!(super_operations, quota_write) - 168usize]; + ["Offset of field: super_operations::get_dquots"] + [::core::mem::offset_of!(super_operations, get_dquots) - 176usize]; + ["Offset of field: super_operations::nr_cached_objects"] + [::core::mem::offset_of!(super_operations, nr_cached_objects) - 184usize]; + ["Offset of field: super_operations::free_cached_objects"] + [::core::mem::offset_of!(super_operations, free_cached_objects) - 192usize]; + ["Offset of field: super_operations::shutdown"] + [::core::mem::offset_of!(super_operations, shutdown) - 200usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct svc_cred { + pub cr_uid: kuid_t, + pub cr_gid: kgid_t, + pub cr_group_info: *mut group_info, + pub cr_flavor: u32_, + pub cr_raw_principal: *mut ::core::ffi::c_char, + pub cr_principal: *mut ::core::ffi::c_char, + pub cr_targ_princ: *mut ::core::ffi::c_char, + pub cr_gss_mech: *mut gss_api_mech, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_cred"][::core::mem::size_of::() - 56usize]; + ["Alignment of svc_cred"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_cred::cr_uid"][::core::mem::offset_of!(svc_cred, cr_uid) - 0usize]; + ["Offset of field: svc_cred::cr_gid"][::core::mem::offset_of!(svc_cred, cr_gid) - 4usize]; + ["Offset of field: svc_cred::cr_group_info"] + [::core::mem::offset_of!(svc_cred, cr_group_info) - 8usize]; + ["Offset of field: svc_cred::cr_flavor"] + [::core::mem::offset_of!(svc_cred, cr_flavor) - 16usize]; + ["Offset of field: svc_cred::cr_raw_principal"] + [::core::mem::offset_of!(svc_cred, cr_raw_principal) - 24usize]; + ["Offset of field: svc_cred::cr_principal"] + [::core::mem::offset_of!(svc_cred, cr_principal) - 32usize]; + ["Offset of field: svc_cred::cr_targ_princ"] + [::core::mem::offset_of!(svc_cred, cr_targ_princ) - 40usize]; + ["Offset of field: svc_cred::cr_gss_mech"] + [::core::mem::offset_of!(svc_cred, cr_gss_mech) - 48usize]; +}; +#[repr(C)] +pub struct svc_deferred_req { + pub prot: u32_, + pub xprt: *mut svc_xprt, + pub addr: __kernel_sockaddr_storage, + pub addrlen: usize, + pub daddr: __kernel_sockaddr_storage, + pub daddrlen: usize, + pub xprt_ctxt: *mut ::core::ffi::c_void, + pub handle: cache_deferred_req, + pub argslen: ::core::ffi::c_int, + pub args: __IncompleteArrayField<__be32>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_deferred_req"][::core::mem::size_of::() - 360usize]; + ["Alignment of svc_deferred_req"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_deferred_req::prot"] + [::core::mem::offset_of!(svc_deferred_req, prot) - 0usize]; + ["Offset of field: svc_deferred_req::xprt"] + [::core::mem::offset_of!(svc_deferred_req, xprt) - 8usize]; + ["Offset of field: svc_deferred_req::addr"] + [::core::mem::offset_of!(svc_deferred_req, addr) - 16usize]; + ["Offset of field: svc_deferred_req::addrlen"] + [::core::mem::offset_of!(svc_deferred_req, addrlen) - 144usize]; + ["Offset of field: svc_deferred_req::daddr"] + [::core::mem::offset_of!(svc_deferred_req, daddr) - 152usize]; + ["Offset of field: svc_deferred_req::daddrlen"] + [::core::mem::offset_of!(svc_deferred_req, daddrlen) - 280usize]; + ["Offset of field: svc_deferred_req::xprt_ctxt"] + [::core::mem::offset_of!(svc_deferred_req, xprt_ctxt) - 288usize]; + ["Offset of field: svc_deferred_req::handle"] + [::core::mem::offset_of!(svc_deferred_req, handle) - 296usize]; + ["Offset of field: svc_deferred_req::argslen"] + [::core::mem::offset_of!(svc_deferred_req, argslen) - 352usize]; + ["Offset of field: svc_deferred_req::args"] + [::core::mem::offset_of!(svc_deferred_req, args) - 356usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct svc_pool { + pub sp_id: ::core::ffi::c_uint, + pub sp_xprts: lwq, + pub sp_nrthreads: ::core::ffi::c_uint, + pub sp_all_threads: list_head, + pub sp_idle_threads: llist_head, + pub sp_messages_arrived: percpu_counter, + pub sp_sockets_queued: percpu_counter, + pub sp_threads_woken: percpu_counter, + pub sp_flags: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_pool"][::core::mem::size_of::() - 192usize]; + ["Alignment of svc_pool"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_pool::sp_id"][::core::mem::offset_of!(svc_pool, sp_id) - 0usize]; + ["Offset of field: svc_pool::sp_xprts"][::core::mem::offset_of!(svc_pool, sp_xprts) - 8usize]; + ["Offset of field: svc_pool::sp_nrthreads"] + [::core::mem::offset_of!(svc_pool, sp_nrthreads) - 32usize]; + ["Offset of field: svc_pool::sp_all_threads"] + [::core::mem::offset_of!(svc_pool, sp_all_threads) - 40usize]; + ["Offset of field: svc_pool::sp_idle_threads"] + [::core::mem::offset_of!(svc_pool, sp_idle_threads) - 56usize]; + ["Offset of field: svc_pool::sp_messages_arrived"] + [::core::mem::offset_of!(svc_pool, sp_messages_arrived) - 64usize]; + ["Offset of field: svc_pool::sp_sockets_queued"] + [::core::mem::offset_of!(svc_pool, sp_sockets_queued) - 104usize]; + ["Offset of field: svc_pool::sp_threads_woken"] + [::core::mem::offset_of!(svc_pool, sp_threads_woken) - 144usize]; + ["Offset of field: svc_pool::sp_flags"][::core::mem::offset_of!(svc_pool, sp_flags) - 184usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct svc_procedure { + pub pc_func: ::core::option::Option __be32>, + pub pc_decode: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut svc_rqst, arg2: *mut xdr_stream) -> bool_, + >, + pub pc_encode: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut svc_rqst, arg2: *mut xdr_stream) -> bool_, + >, + pub pc_release: ::core::option::Option, + pub pc_argsize: ::core::ffi::c_uint, + pub pc_argzero: ::core::ffi::c_uint, + pub pc_ressize: ::core::ffi::c_uint, + pub pc_cachetype: ::core::ffi::c_uint, + pub pc_xdrressize: ::core::ffi::c_uint, + pub pc_name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_procedure"][::core::mem::size_of::() - 64usize]; + ["Alignment of svc_procedure"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_procedure::pc_func"] + [::core::mem::offset_of!(svc_procedure, pc_func) - 0usize]; + ["Offset of field: svc_procedure::pc_decode"] + [::core::mem::offset_of!(svc_procedure, pc_decode) - 8usize]; + ["Offset of field: svc_procedure::pc_encode"] + [::core::mem::offset_of!(svc_procedure, pc_encode) - 16usize]; + ["Offset of field: svc_procedure::pc_release"] + [::core::mem::offset_of!(svc_procedure, pc_release) - 24usize]; + ["Offset of field: svc_procedure::pc_argsize"] + [::core::mem::offset_of!(svc_procedure, pc_argsize) - 32usize]; + ["Offset of field: svc_procedure::pc_argzero"] + [::core::mem::offset_of!(svc_procedure, pc_argzero) - 36usize]; + ["Offset of field: svc_procedure::pc_ressize"] + [::core::mem::offset_of!(svc_procedure, pc_ressize) - 40usize]; + ["Offset of field: svc_procedure::pc_cachetype"] + [::core::mem::offset_of!(svc_procedure, pc_cachetype) - 44usize]; + ["Offset of field: svc_procedure::pc_xdrressize"] + [::core::mem::offset_of!(svc_procedure, pc_xdrressize) - 48usize]; + ["Offset of field: svc_procedure::pc_name"] + [::core::mem::offset_of!(svc_procedure, pc_name) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct svc_process_info { + pub __bindgen_anon_1: svc_process_info__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union svc_process_info__bindgen_ty_1 { + pub dispatch: + ::core::option::Option ::core::ffi::c_int>, + pub mismatch: svc_process_info__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct svc_process_info__bindgen_ty_1__bindgen_ty_1 { + pub lovers: ::core::ffi::c_uint, + pub hivers: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_process_info__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of svc_process_info__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: svc_process_info__bindgen_ty_1__bindgen_ty_1::lovers"] + [::core::mem::offset_of!(svc_process_info__bindgen_ty_1__bindgen_ty_1, lovers) - 0usize]; + ["Offset of field: svc_process_info__bindgen_ty_1__bindgen_ty_1::hivers"] + [::core::mem::offset_of!(svc_process_info__bindgen_ty_1__bindgen_ty_1, hivers) - 4usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_process_info__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of svc_process_info__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_process_info__bindgen_ty_1::dispatch"] + [::core::mem::offset_of!(svc_process_info__bindgen_ty_1, dispatch) - 0usize]; + ["Offset of field: svc_process_info__bindgen_ty_1::mismatch"] + [::core::mem::offset_of!(svc_process_info__bindgen_ty_1, mismatch) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_process_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of svc_process_info"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct svc_program { + pub pg_prog: u32_, + pub pg_lovers: ::core::ffi::c_uint, + pub pg_hivers: ::core::ffi::c_uint, + pub pg_nvers: ::core::ffi::c_uint, + pub pg_vers: *mut *const svc_version, + pub pg_name: *mut ::core::ffi::c_char, + pub pg_class: *mut ::core::ffi::c_char, + pub pg_authenticate: + ::core::option::Option svc_auth_status>, + pub pg_init_request: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut svc_rqst, + arg2: *const svc_program, + arg3: *mut svc_process_info, + ) -> __be32, + >, + pub pg_rpcbind_set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *const svc_program, + arg3: u32_, + arg4: ::core::ffi::c_int, + arg5: ::core::ffi::c_ushort, + arg6: ::core::ffi::c_ushort, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_program"][::core::mem::size_of::() - 64usize]; + ["Alignment of svc_program"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_program::pg_prog"] + [::core::mem::offset_of!(svc_program, pg_prog) - 0usize]; + ["Offset of field: svc_program::pg_lovers"] + [::core::mem::offset_of!(svc_program, pg_lovers) - 4usize]; + ["Offset of field: svc_program::pg_hivers"] + [::core::mem::offset_of!(svc_program, pg_hivers) - 8usize]; + ["Offset of field: svc_program::pg_nvers"] + [::core::mem::offset_of!(svc_program, pg_nvers) - 12usize]; + ["Offset of field: svc_program::pg_vers"] + [::core::mem::offset_of!(svc_program, pg_vers) - 16usize]; + ["Offset of field: svc_program::pg_name"] + [::core::mem::offset_of!(svc_program, pg_name) - 24usize]; + ["Offset of field: svc_program::pg_class"] + [::core::mem::offset_of!(svc_program, pg_class) - 32usize]; + ["Offset of field: svc_program::pg_authenticate"] + [::core::mem::offset_of!(svc_program, pg_authenticate) - 40usize]; + ["Offset of field: svc_program::pg_init_request"] + [::core::mem::offset_of!(svc_program, pg_init_request) - 48usize]; + ["Offset of field: svc_program::pg_rpcbind_set"] + [::core::mem::offset_of!(svc_program, pg_rpcbind_set) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdr_stream { + pub p: *mut __be32, + pub buf: *mut xdr_buf, + pub end: *mut __be32, + pub iov: *mut kvec, + pub scratch: kvec, + pub page_ptr: *mut *mut page, + pub page_kaddr: *mut ::core::ffi::c_void, + pub nwords: ::core::ffi::c_uint, + pub rqst: *mut rpc_rqst, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdr_stream"][::core::mem::size_of::() - 80usize]; + ["Alignment of xdr_stream"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdr_stream::p"][::core::mem::offset_of!(xdr_stream, p) - 0usize]; + ["Offset of field: xdr_stream::buf"][::core::mem::offset_of!(xdr_stream, buf) - 8usize]; + ["Offset of field: xdr_stream::end"][::core::mem::offset_of!(xdr_stream, end) - 16usize]; + ["Offset of field: xdr_stream::iov"][::core::mem::offset_of!(xdr_stream, iov) - 24usize]; + ["Offset of field: xdr_stream::scratch"] + [::core::mem::offset_of!(xdr_stream, scratch) - 32usize]; + ["Offset of field: xdr_stream::page_ptr"] + [::core::mem::offset_of!(xdr_stream, page_ptr) - 48usize]; + ["Offset of field: xdr_stream::page_kaddr"] + [::core::mem::offset_of!(xdr_stream, page_kaddr) - 56usize]; + ["Offset of field: xdr_stream::nwords"][::core::mem::offset_of!(xdr_stream, nwords) - 64usize]; + ["Offset of field: xdr_stream::rqst"][::core::mem::offset_of!(xdr_stream, rqst) - 72usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct svc_rqst { + pub rq_all: list_head, + pub rq_idle: llist_node, + pub rq_rcu_head: callback_head, + pub rq_xprt: *mut svc_xprt, + pub rq_addr: __kernel_sockaddr_storage, + pub rq_addrlen: usize, + pub rq_daddr: __kernel_sockaddr_storage, + pub rq_daddrlen: usize, + pub rq_server: *mut svc_serv, + pub rq_pool: *mut svc_pool, + pub rq_procinfo: *const svc_procedure, + pub rq_authop: *mut auth_ops, + pub rq_cred: svc_cred, + pub rq_xprt_ctxt: *mut ::core::ffi::c_void, + pub rq_deferred: *mut svc_deferred_req, + pub rq_arg: xdr_buf, + pub rq_arg_stream: xdr_stream, + pub rq_res_stream: xdr_stream, + pub rq_scratch_page: *mut page, + pub rq_res: xdr_buf, + pub rq_pages: [*mut page; 260usize], + pub rq_respages: *mut *mut page, + pub rq_next_page: *mut *mut page, + pub rq_page_end: *mut *mut page, + pub rq_fbatch: folio_batch, + pub rq_vec: [kvec; 259usize], + pub rq_bvec: [bio_vec; 259usize], + pub rq_xid: __be32, + pub rq_prog: u32_, + pub rq_vers: u32_, + pub rq_proc: u32_, + pub rq_prot: u32_, + pub rq_cachetype: ::core::ffi::c_int, + pub rq_flags: ::core::ffi::c_ulong, + pub rq_qtime: ktime_t, + pub rq_argp: *mut ::core::ffi::c_void, + pub rq_resp: *mut ::core::ffi::c_void, + pub rq_accept_statp: *mut __be32, + pub rq_auth_data: *mut ::core::ffi::c_void, + pub rq_auth_stat: __be32, + pub rq_auth_slack: ::core::ffi::c_int, + pub rq_reserved: ::core::ffi::c_int, + pub rq_stime: ktime_t, + pub rq_chandle: cache_req, + pub rq_client: *mut auth_domain, + pub rq_gssclient: *mut auth_domain, + pub rq_task: *mut task_struct, + pub rq_bc_net: *mut net, + pub rq_err: ::core::ffi::c_int, + pub bc_to_initval: ::core::ffi::c_ulong, + pub bc_to_retries: ::core::ffi::c_uint, + pub rq_lease_breaker: *mut *mut ::core::ffi::c_void, + pub rq_status_counter: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_rqst"][::core::mem::size_of::() - 11568usize]; + ["Alignment of svc_rqst"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_rqst::rq_all"][::core::mem::offset_of!(svc_rqst, rq_all) - 0usize]; + ["Offset of field: svc_rqst::rq_idle"][::core::mem::offset_of!(svc_rqst, rq_idle) - 16usize]; + ["Offset of field: svc_rqst::rq_rcu_head"] + [::core::mem::offset_of!(svc_rqst, rq_rcu_head) - 24usize]; + ["Offset of field: svc_rqst::rq_xprt"][::core::mem::offset_of!(svc_rqst, rq_xprt) - 40usize]; + ["Offset of field: svc_rqst::rq_addr"][::core::mem::offset_of!(svc_rqst, rq_addr) - 48usize]; + ["Offset of field: svc_rqst::rq_addrlen"] + [::core::mem::offset_of!(svc_rqst, rq_addrlen) - 176usize]; + ["Offset of field: svc_rqst::rq_daddr"][::core::mem::offset_of!(svc_rqst, rq_daddr) - 184usize]; + ["Offset of field: svc_rqst::rq_daddrlen"] + [::core::mem::offset_of!(svc_rqst, rq_daddrlen) - 312usize]; + ["Offset of field: svc_rqst::rq_server"] + [::core::mem::offset_of!(svc_rqst, rq_server) - 320usize]; + ["Offset of field: svc_rqst::rq_pool"][::core::mem::offset_of!(svc_rqst, rq_pool) - 328usize]; + ["Offset of field: svc_rqst::rq_procinfo"] + [::core::mem::offset_of!(svc_rqst, rq_procinfo) - 336usize]; + ["Offset of field: svc_rqst::rq_authop"] + [::core::mem::offset_of!(svc_rqst, rq_authop) - 344usize]; + ["Offset of field: svc_rqst::rq_cred"][::core::mem::offset_of!(svc_rqst, rq_cred) - 352usize]; + ["Offset of field: svc_rqst::rq_xprt_ctxt"] + [::core::mem::offset_of!(svc_rqst, rq_xprt_ctxt) - 408usize]; + ["Offset of field: svc_rqst::rq_deferred"] + [::core::mem::offset_of!(svc_rqst, rq_deferred) - 416usize]; + ["Offset of field: svc_rqst::rq_arg"][::core::mem::offset_of!(svc_rqst, rq_arg) - 424usize]; + ["Offset of field: svc_rqst::rq_arg_stream"] + [::core::mem::offset_of!(svc_rqst, rq_arg_stream) - 496usize]; + ["Offset of field: svc_rqst::rq_res_stream"] + [::core::mem::offset_of!(svc_rqst, rq_res_stream) - 576usize]; + ["Offset of field: svc_rqst::rq_scratch_page"] + [::core::mem::offset_of!(svc_rqst, rq_scratch_page) - 656usize]; + ["Offset of field: svc_rqst::rq_res"][::core::mem::offset_of!(svc_rqst, rq_res) - 664usize]; + ["Offset of field: svc_rqst::rq_pages"][::core::mem::offset_of!(svc_rqst, rq_pages) - 736usize]; + ["Offset of field: svc_rqst::rq_respages"] + [::core::mem::offset_of!(svc_rqst, rq_respages) - 2816usize]; + ["Offset of field: svc_rqst::rq_next_page"] + [::core::mem::offset_of!(svc_rqst, rq_next_page) - 2824usize]; + ["Offset of field: svc_rqst::rq_page_end"] + [::core::mem::offset_of!(svc_rqst, rq_page_end) - 2832usize]; + ["Offset of field: svc_rqst::rq_fbatch"] + [::core::mem::offset_of!(svc_rqst, rq_fbatch) - 2840usize]; + ["Offset of field: svc_rqst::rq_vec"][::core::mem::offset_of!(svc_rqst, rq_vec) - 3096usize]; + ["Offset of field: svc_rqst::rq_bvec"][::core::mem::offset_of!(svc_rqst, rq_bvec) - 7240usize]; + ["Offset of field: svc_rqst::rq_xid"][::core::mem::offset_of!(svc_rqst, rq_xid) - 11384usize]; + ["Offset of field: svc_rqst::rq_prog"][::core::mem::offset_of!(svc_rqst, rq_prog) - 11388usize]; + ["Offset of field: svc_rqst::rq_vers"][::core::mem::offset_of!(svc_rqst, rq_vers) - 11392usize]; + ["Offset of field: svc_rqst::rq_proc"][::core::mem::offset_of!(svc_rqst, rq_proc) - 11396usize]; + ["Offset of field: svc_rqst::rq_prot"][::core::mem::offset_of!(svc_rqst, rq_prot) - 11400usize]; + ["Offset of field: svc_rqst::rq_cachetype"] + [::core::mem::offset_of!(svc_rqst, rq_cachetype) - 11404usize]; + ["Offset of field: svc_rqst::rq_flags"] + [::core::mem::offset_of!(svc_rqst, rq_flags) - 11408usize]; + ["Offset of field: svc_rqst::rq_qtime"] + [::core::mem::offset_of!(svc_rqst, rq_qtime) - 11416usize]; + ["Offset of field: svc_rqst::rq_argp"][::core::mem::offset_of!(svc_rqst, rq_argp) - 11424usize]; + ["Offset of field: svc_rqst::rq_resp"][::core::mem::offset_of!(svc_rqst, rq_resp) - 11432usize]; + ["Offset of field: svc_rqst::rq_accept_statp"] + [::core::mem::offset_of!(svc_rqst, rq_accept_statp) - 11440usize]; + ["Offset of field: svc_rqst::rq_auth_data"] + [::core::mem::offset_of!(svc_rqst, rq_auth_data) - 11448usize]; + ["Offset of field: svc_rqst::rq_auth_stat"] + [::core::mem::offset_of!(svc_rqst, rq_auth_stat) - 11456usize]; + ["Offset of field: svc_rqst::rq_auth_slack"] + [::core::mem::offset_of!(svc_rqst, rq_auth_slack) - 11460usize]; + ["Offset of field: svc_rqst::rq_reserved"] + [::core::mem::offset_of!(svc_rqst, rq_reserved) - 11464usize]; + ["Offset of field: svc_rqst::rq_stime"] + [::core::mem::offset_of!(svc_rqst, rq_stime) - 11472usize]; + ["Offset of field: svc_rqst::rq_chandle"] + [::core::mem::offset_of!(svc_rqst, rq_chandle) - 11480usize]; + ["Offset of field: svc_rqst::rq_client"] + [::core::mem::offset_of!(svc_rqst, rq_client) - 11496usize]; + ["Offset of field: svc_rqst::rq_gssclient"] + [::core::mem::offset_of!(svc_rqst, rq_gssclient) - 11504usize]; + ["Offset of field: svc_rqst::rq_task"][::core::mem::offset_of!(svc_rqst, rq_task) - 11512usize]; + ["Offset of field: svc_rqst::rq_bc_net"] + [::core::mem::offset_of!(svc_rqst, rq_bc_net) - 11520usize]; + ["Offset of field: svc_rqst::rq_err"][::core::mem::offset_of!(svc_rqst, rq_err) - 11528usize]; + ["Offset of field: svc_rqst::bc_to_initval"] + [::core::mem::offset_of!(svc_rqst, bc_to_initval) - 11536usize]; + ["Offset of field: svc_rqst::bc_to_retries"] + [::core::mem::offset_of!(svc_rqst, bc_to_retries) - 11544usize]; + ["Offset of field: svc_rqst::rq_lease_breaker"] + [::core::mem::offset_of!(svc_rqst, rq_lease_breaker) - 11552usize]; + ["Offset of field: svc_rqst::rq_status_counter"] + [::core::mem::offset_of!(svc_rqst, rq_status_counter) - 11560usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct svc_serv { + pub sv_programs: *mut svc_program, + pub sv_stats: *mut svc_stat, + pub sv_lock: spinlock_t, + pub sv_nprogs: ::core::ffi::c_uint, + pub sv_nrthreads: ::core::ffi::c_uint, + pub sv_maxconn: ::core::ffi::c_uint, + pub sv_max_payload: ::core::ffi::c_uint, + pub sv_max_mesg: ::core::ffi::c_uint, + pub sv_xdrsize: ::core::ffi::c_uint, + pub sv_permsocks: list_head, + pub sv_tempsocks: list_head, + pub sv_tmpcnt: ::core::ffi::c_int, + pub sv_temptimer: timer_list, + pub sv_name: *mut ::core::ffi::c_char, + pub sv_nrpools: ::core::ffi::c_uint, + pub sv_is_pooled: bool_, + pub sv_pools: *mut svc_pool, + pub sv_threadfn: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int, + >, + pub sv_cb_list: lwq, + pub sv_bc_enabled: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_serv"][::core::mem::size_of::() - 192usize]; + ["Alignment of svc_serv"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_serv::sv_programs"] + [::core::mem::offset_of!(svc_serv, sv_programs) - 0usize]; + ["Offset of field: svc_serv::sv_stats"][::core::mem::offset_of!(svc_serv, sv_stats) - 8usize]; + ["Offset of field: svc_serv::sv_lock"][::core::mem::offset_of!(svc_serv, sv_lock) - 16usize]; + ["Offset of field: svc_serv::sv_nprogs"] + [::core::mem::offset_of!(svc_serv, sv_nprogs) - 20usize]; + ["Offset of field: svc_serv::sv_nrthreads"] + [::core::mem::offset_of!(svc_serv, sv_nrthreads) - 24usize]; + ["Offset of field: svc_serv::sv_maxconn"] + [::core::mem::offset_of!(svc_serv, sv_maxconn) - 28usize]; + ["Offset of field: svc_serv::sv_max_payload"] + [::core::mem::offset_of!(svc_serv, sv_max_payload) - 32usize]; + ["Offset of field: svc_serv::sv_max_mesg"] + [::core::mem::offset_of!(svc_serv, sv_max_mesg) - 36usize]; + ["Offset of field: svc_serv::sv_xdrsize"] + [::core::mem::offset_of!(svc_serv, sv_xdrsize) - 40usize]; + ["Offset of field: svc_serv::sv_permsocks"] + [::core::mem::offset_of!(svc_serv, sv_permsocks) - 48usize]; + ["Offset of field: svc_serv::sv_tempsocks"] + [::core::mem::offset_of!(svc_serv, sv_tempsocks) - 64usize]; + ["Offset of field: svc_serv::sv_tmpcnt"] + [::core::mem::offset_of!(svc_serv, sv_tmpcnt) - 80usize]; + ["Offset of field: svc_serv::sv_temptimer"] + [::core::mem::offset_of!(svc_serv, sv_temptimer) - 88usize]; + ["Offset of field: svc_serv::sv_name"][::core::mem::offset_of!(svc_serv, sv_name) - 128usize]; + ["Offset of field: svc_serv::sv_nrpools"] + [::core::mem::offset_of!(svc_serv, sv_nrpools) - 136usize]; + ["Offset of field: svc_serv::sv_is_pooled"] + [::core::mem::offset_of!(svc_serv, sv_is_pooled) - 140usize]; + ["Offset of field: svc_serv::sv_pools"][::core::mem::offset_of!(svc_serv, sv_pools) - 144usize]; + ["Offset of field: svc_serv::sv_threadfn"] + [::core::mem::offset_of!(svc_serv, sv_threadfn) - 152usize]; + ["Offset of field: svc_serv::sv_cb_list"] + [::core::mem::offset_of!(svc_serv, sv_cb_list) - 160usize]; + ["Offset of field: svc_serv::sv_bc_enabled"] + [::core::mem::offset_of!(svc_serv, sv_bc_enabled) - 184usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct svc_stat { + pub program: *mut svc_program, + pub netcnt: ::core::ffi::c_uint, + pub netudpcnt: ::core::ffi::c_uint, + pub nettcpcnt: ::core::ffi::c_uint, + pub nettcpconn: ::core::ffi::c_uint, + pub rpccnt: ::core::ffi::c_uint, + pub rpcbadfmt: ::core::ffi::c_uint, + pub rpcbadauth: ::core::ffi::c_uint, + pub rpcbadclnt: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_stat"][::core::mem::size_of::() - 40usize]; + ["Alignment of svc_stat"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_stat::program"][::core::mem::offset_of!(svc_stat, program) - 0usize]; + ["Offset of field: svc_stat::netcnt"][::core::mem::offset_of!(svc_stat, netcnt) - 8usize]; + ["Offset of field: svc_stat::netudpcnt"] + [::core::mem::offset_of!(svc_stat, netudpcnt) - 12usize]; + ["Offset of field: svc_stat::nettcpcnt"] + [::core::mem::offset_of!(svc_stat, nettcpcnt) - 16usize]; + ["Offset of field: svc_stat::nettcpconn"] + [::core::mem::offset_of!(svc_stat, nettcpconn) - 20usize]; + ["Offset of field: svc_stat::rpccnt"][::core::mem::offset_of!(svc_stat, rpccnt) - 24usize]; + ["Offset of field: svc_stat::rpcbadfmt"] + [::core::mem::offset_of!(svc_stat, rpcbadfmt) - 28usize]; + ["Offset of field: svc_stat::rpcbadauth"] + [::core::mem::offset_of!(svc_stat, rpcbadauth) - 32usize]; + ["Offset of field: svc_stat::rpcbadclnt"] + [::core::mem::offset_of!(svc_stat, rpcbadclnt) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct svc_version { + pub vs_vers: u32_, + pub vs_nproc: u32_, + pub vs_proc: *const svc_procedure, + pub vs_count: *mut ::core::ffi::c_ulong, + pub vs_xdrsize: u32_, + pub vs_hidden: bool_, + pub vs_rpcb_optnl: bool_, + pub vs_need_cong_ctrl: bool_, + pub vs_dispatch: + ::core::option::Option ::core::ffi::c_int>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of svc_version"][::core::mem::size_of::() - 40usize]; + ["Alignment of svc_version"][::core::mem::align_of::() - 8usize]; + ["Offset of field: svc_version::vs_vers"] + [::core::mem::offset_of!(svc_version, vs_vers) - 0usize]; + ["Offset of field: svc_version::vs_nproc"] + [::core::mem::offset_of!(svc_version, vs_nproc) - 4usize]; + ["Offset of field: svc_version::vs_proc"] + [::core::mem::offset_of!(svc_version, vs_proc) - 8usize]; + ["Offset of field: svc_version::vs_count"] + [::core::mem::offset_of!(svc_version, vs_count) - 16usize]; + ["Offset of field: svc_version::vs_xdrsize"] + [::core::mem::offset_of!(svc_version, vs_xdrsize) - 24usize]; + ["Offset of field: svc_version::vs_hidden"] + [::core::mem::offset_of!(svc_version, vs_hidden) - 28usize]; + ["Offset of field: svc_version::vs_rpcb_optnl"] + [::core::mem::offset_of!(svc_version, vs_rpcb_optnl) - 29usize]; + ["Offset of field: svc_version::vs_need_cong_ctrl"] + [::core::mem::offset_of!(svc_version, vs_need_cong_ctrl) - 30usize]; + ["Offset of field: svc_version::vs_dispatch"] + [::core::mem::offset_of!(svc_version, vs_dispatch) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct swap_cluster_info { + pub lock: spinlock_t, + pub count: u16_, + pub flags: u8_, + pub order: u8_, + pub list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of swap_cluster_info"][::core::mem::size_of::() - 24usize]; + ["Alignment of swap_cluster_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: swap_cluster_info::lock"] + [::core::mem::offset_of!(swap_cluster_info, lock) - 0usize]; + ["Offset of field: swap_cluster_info::count"] + [::core::mem::offset_of!(swap_cluster_info, count) - 4usize]; + ["Offset of field: swap_cluster_info::flags"] + [::core::mem::offset_of!(swap_cluster_info, flags) - 6usize]; + ["Offset of field: swap_cluster_info::order"] + [::core::mem::offset_of!(swap_cluster_info, order) - 7usize]; + ["Offset of field: swap_cluster_info::list"] + [::core::mem::offset_of!(swap_cluster_info, list) - 8usize]; +}; +#[repr(C)] +pub struct swap_info_struct { + pub users: percpu_ref, + pub flags: ::core::ffi::c_ulong, + pub prio: ::core::ffi::c_short, + pub list: plist_node, + pub type_: ::core::ffi::c_schar, + pub max: ::core::ffi::c_uint, + pub swap_map: *mut ::core::ffi::c_uchar, + pub zeromap: *mut ::core::ffi::c_ulong, + pub cluster_info: *mut swap_cluster_info, + pub free_clusters: list_head, + pub full_clusters: list_head, + pub nonfull_clusters: [list_head; 10usize], + pub frag_clusters: [list_head; 10usize], + pub frag_cluster_nr: [::core::ffi::c_uint; 10usize], + pub lowest_bit: ::core::ffi::c_uint, + pub highest_bit: ::core::ffi::c_uint, + pub pages: ::core::ffi::c_uint, + pub inuse_pages: ::core::ffi::c_uint, + pub cluster_next: ::core::ffi::c_uint, + pub cluster_nr: ::core::ffi::c_uint, + pub cluster_next_cpu: *mut ::core::ffi::c_uint, + pub percpu_cluster: *mut percpu_cluster, + pub swap_extent_root: rb_root, + pub bdev: *mut block_device, + pub swap_file: *mut file, + pub comp: completion, + pub lock: spinlock_t, + pub cont_lock: spinlock_t, + pub discard_work: work_struct, + pub reclaim_work: work_struct, + pub discard_clusters: list_head, + pub avail_lists: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of swap_info_struct"][::core::mem::size_of::() - 680usize]; + ["Alignment of swap_info_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: swap_info_struct::users"] + [::core::mem::offset_of!(swap_info_struct, users) - 0usize]; + ["Offset of field: swap_info_struct::flags"] + [::core::mem::offset_of!(swap_info_struct, flags) - 16usize]; + ["Offset of field: swap_info_struct::prio"] + [::core::mem::offset_of!(swap_info_struct, prio) - 24usize]; + ["Offset of field: swap_info_struct::list"] + [::core::mem::offset_of!(swap_info_struct, list) - 32usize]; + ["Offset of field: swap_info_struct::type_"] + [::core::mem::offset_of!(swap_info_struct, type_) - 72usize]; + ["Offset of field: swap_info_struct::max"] + [::core::mem::offset_of!(swap_info_struct, max) - 76usize]; + ["Offset of field: swap_info_struct::swap_map"] + [::core::mem::offset_of!(swap_info_struct, swap_map) - 80usize]; + ["Offset of field: swap_info_struct::zeromap"] + [::core::mem::offset_of!(swap_info_struct, zeromap) - 88usize]; + ["Offset of field: swap_info_struct::cluster_info"] + [::core::mem::offset_of!(swap_info_struct, cluster_info) - 96usize]; + ["Offset of field: swap_info_struct::free_clusters"] + [::core::mem::offset_of!(swap_info_struct, free_clusters) - 104usize]; + ["Offset of field: swap_info_struct::full_clusters"] + [::core::mem::offset_of!(swap_info_struct, full_clusters) - 120usize]; + ["Offset of field: swap_info_struct::nonfull_clusters"] + [::core::mem::offset_of!(swap_info_struct, nonfull_clusters) - 136usize]; + ["Offset of field: swap_info_struct::frag_clusters"] + [::core::mem::offset_of!(swap_info_struct, frag_clusters) - 296usize]; + ["Offset of field: swap_info_struct::frag_cluster_nr"] + [::core::mem::offset_of!(swap_info_struct, frag_cluster_nr) - 456usize]; + ["Offset of field: swap_info_struct::lowest_bit"] + [::core::mem::offset_of!(swap_info_struct, lowest_bit) - 496usize]; + ["Offset of field: swap_info_struct::highest_bit"] + [::core::mem::offset_of!(swap_info_struct, highest_bit) - 500usize]; + ["Offset of field: swap_info_struct::pages"] + [::core::mem::offset_of!(swap_info_struct, pages) - 504usize]; + ["Offset of field: swap_info_struct::inuse_pages"] + [::core::mem::offset_of!(swap_info_struct, inuse_pages) - 508usize]; + ["Offset of field: swap_info_struct::cluster_next"] + [::core::mem::offset_of!(swap_info_struct, cluster_next) - 512usize]; + ["Offset of field: swap_info_struct::cluster_nr"] + [::core::mem::offset_of!(swap_info_struct, cluster_nr) - 516usize]; + ["Offset of field: swap_info_struct::cluster_next_cpu"] + [::core::mem::offset_of!(swap_info_struct, cluster_next_cpu) - 520usize]; + ["Offset of field: swap_info_struct::percpu_cluster"] + [::core::mem::offset_of!(swap_info_struct, percpu_cluster) - 528usize]; + ["Offset of field: swap_info_struct::swap_extent_root"] + [::core::mem::offset_of!(swap_info_struct, swap_extent_root) - 536usize]; + ["Offset of field: swap_info_struct::bdev"] + [::core::mem::offset_of!(swap_info_struct, bdev) - 544usize]; + ["Offset of field: swap_info_struct::swap_file"] + [::core::mem::offset_of!(swap_info_struct, swap_file) - 552usize]; + ["Offset of field: swap_info_struct::comp"] + [::core::mem::offset_of!(swap_info_struct, comp) - 560usize]; + ["Offset of field: swap_info_struct::lock"] + [::core::mem::offset_of!(swap_info_struct, lock) - 592usize]; + ["Offset of field: swap_info_struct::cont_lock"] + [::core::mem::offset_of!(swap_info_struct, cont_lock) - 596usize]; + ["Offset of field: swap_info_struct::discard_work"] + [::core::mem::offset_of!(swap_info_struct, discard_work) - 600usize]; + ["Offset of field: swap_info_struct::reclaim_work"] + [::core::mem::offset_of!(swap_info_struct, reclaim_work) - 632usize]; + ["Offset of field: swap_info_struct::discard_clusters"] + [::core::mem::offset_of!(swap_info_struct, discard_clusters) - 664usize]; + ["Offset of field: swap_info_struct::avail_lists"] + [::core::mem::offset_of!(swap_info_struct, avail_lists) - 680usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct swap_iocb { + pub iocb: kiocb, + pub bvec: [bio_vec; 32usize], + pub pages: ::core::ffi::c_int, + pub len: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of swap_iocb"][::core::mem::size_of::() - 568usize]; + ["Alignment of swap_iocb"][::core::mem::align_of::() - 8usize]; + ["Offset of field: swap_iocb::iocb"][::core::mem::offset_of!(swap_iocb, iocb) - 0usize]; + ["Offset of field: swap_iocb::bvec"][::core::mem::offset_of!(swap_iocb, bvec) - 48usize]; + ["Offset of field: swap_iocb::pages"][::core::mem::offset_of!(swap_iocb, pages) - 560usize]; + ["Offset of field: swap_iocb::len"][::core::mem::offset_of!(swap_iocb, len) - 564usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_mst_state { + pub msti: u16_, + pub state: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_mst_state"][::core::mem::size_of::() - 4usize]; + ["Alignment of switchdev_mst_state"][::core::mem::align_of::() - 2usize]; + ["Offset of field: switchdev_mst_state::msti"] + [::core::mem::offset_of!(switchdev_mst_state, msti) - 0usize]; + ["Offset of field: switchdev_mst_state::state"] + [::core::mem::offset_of!(switchdev_mst_state, state) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_brport_flags { + pub val: ::core::ffi::c_ulong, + pub mask: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_brport_flags"][::core::mem::size_of::() - 16usize]; + ["Alignment of switchdev_brport_flags"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: switchdev_brport_flags::val"] + [::core::mem::offset_of!(switchdev_brport_flags, val) - 0usize]; + ["Offset of field: switchdev_brport_flags::mask"] + [::core::mem::offset_of!(switchdev_brport_flags, mask) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_vlan_msti { + pub vid: u16_, + pub msti: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_vlan_msti"][::core::mem::size_of::() - 4usize]; + ["Alignment of switchdev_vlan_msti"][::core::mem::align_of::() - 2usize]; + ["Offset of field: switchdev_vlan_msti::vid"] + [::core::mem::offset_of!(switchdev_vlan_msti, vid) - 0usize]; + ["Offset of field: switchdev_vlan_msti::msti"] + [::core::mem::offset_of!(switchdev_vlan_msti, msti) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_obj { + pub list: list_head, + pub orig_dev: *mut net_device, + pub id: switchdev_obj_id, + pub flags: u32_, + pub complete_priv: *mut ::core::ffi::c_void, + pub complete: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_int, + arg3: *mut ::core::ffi::c_void, + ), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_obj"][::core::mem::size_of::() - 48usize]; + ["Alignment of switchdev_obj"][::core::mem::align_of::() - 8usize]; + ["Offset of field: switchdev_obj::list"][::core::mem::offset_of!(switchdev_obj, list) - 0usize]; + ["Offset of field: switchdev_obj::orig_dev"] + [::core::mem::offset_of!(switchdev_obj, orig_dev) - 16usize]; + ["Offset of field: switchdev_obj::id"][::core::mem::offset_of!(switchdev_obj, id) - 24usize]; + ["Offset of field: switchdev_obj::flags"] + [::core::mem::offset_of!(switchdev_obj, flags) - 28usize]; + ["Offset of field: switchdev_obj::complete_priv"] + [::core::mem::offset_of!(switchdev_obj, complete_priv) - 32usize]; + ["Offset of field: switchdev_obj::complete"] + [::core::mem::offset_of!(switchdev_obj, complete) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_obj_mrp { + pub obj: switchdev_obj, + pub p_port: *mut net_device, + pub s_port: *mut net_device, + pub ring_id: u32_, + pub prio: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_obj_mrp"][::core::mem::size_of::() - 72usize]; + ["Alignment of switchdev_obj_mrp"][::core::mem::align_of::() - 8usize]; + ["Offset of field: switchdev_obj_mrp::obj"] + [::core::mem::offset_of!(switchdev_obj_mrp, obj) - 0usize]; + ["Offset of field: switchdev_obj_mrp::p_port"] + [::core::mem::offset_of!(switchdev_obj_mrp, p_port) - 48usize]; + ["Offset of field: switchdev_obj_mrp::s_port"] + [::core::mem::offset_of!(switchdev_obj_mrp, s_port) - 56usize]; + ["Offset of field: switchdev_obj_mrp::ring_id"] + [::core::mem::offset_of!(switchdev_obj_mrp, ring_id) - 64usize]; + ["Offset of field: switchdev_obj_mrp::prio"] + [::core::mem::offset_of!(switchdev_obj_mrp, prio) - 68usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_obj_port_mdb { + pub obj: switchdev_obj, + pub addr: [::core::ffi::c_uchar; 6usize], + pub vid: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_obj_port_mdb"][::core::mem::size_of::() - 56usize]; + ["Alignment of switchdev_obj_port_mdb"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: switchdev_obj_port_mdb::obj"] + [::core::mem::offset_of!(switchdev_obj_port_mdb, obj) - 0usize]; + ["Offset of field: switchdev_obj_port_mdb::addr"] + [::core::mem::offset_of!(switchdev_obj_port_mdb, addr) - 48usize]; + ["Offset of field: switchdev_obj_port_mdb::vid"] + [::core::mem::offset_of!(switchdev_obj_port_mdb, vid) - 54usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_obj_port_vlan { + pub obj: switchdev_obj, + pub flags: u16_, + pub vid: u16_, + pub changed: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_obj_port_vlan"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of switchdev_obj_port_vlan"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: switchdev_obj_port_vlan::obj"] + [::core::mem::offset_of!(switchdev_obj_port_vlan, obj) - 0usize]; + ["Offset of field: switchdev_obj_port_vlan::flags"] + [::core::mem::offset_of!(switchdev_obj_port_vlan, flags) - 48usize]; + ["Offset of field: switchdev_obj_port_vlan::vid"] + [::core::mem::offset_of!(switchdev_obj_port_vlan, vid) - 50usize]; + ["Offset of field: switchdev_obj_port_vlan::changed"] + [::core::mem::offset_of!(switchdev_obj_port_vlan, changed) - 52usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct switchdev_obj_ring_role_mrp { + pub obj: switchdev_obj, + pub ring_role: u8_, + pub ring_id: u32_, + pub sw_backup: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of switchdev_obj_ring_role_mrp"] + [::core::mem::size_of::() - 64usize]; + ["Alignment of switchdev_obj_ring_role_mrp"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: switchdev_obj_ring_role_mrp::obj"] + [::core::mem::offset_of!(switchdev_obj_ring_role_mrp, obj) - 0usize]; + ["Offset of field: switchdev_obj_ring_role_mrp::ring_role"] + [::core::mem::offset_of!(switchdev_obj_ring_role_mrp, ring_role) - 48usize]; + ["Offset of field: switchdev_obj_ring_role_mrp::ring_id"] + [::core::mem::offset_of!(switchdev_obj_ring_role_mrp, ring_id) - 52usize]; + ["Offset of field: switchdev_obj_ring_role_mrp::sw_backup"] + [::core::mem::offset_of!(switchdev_obj_ring_role_mrp, sw_backup) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_event_class { + pub system: *const ::core::ffi::c_char, + pub probe: *mut ::core::ffi::c_void, + pub perf_probe: *mut ::core::ffi::c_void, + pub reg: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut trace_event_call, + arg2: trace_reg, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub fields_array: *mut trace_event_fields, + pub get_fields: + ::core::option::Option *mut list_head>, + pub fields: list_head, + pub raw_init: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut trace_event_call) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_class"][::core::mem::size_of::() - 72usize]; + ["Alignment of trace_event_class"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_class::system"] + [::core::mem::offset_of!(trace_event_class, system) - 0usize]; + ["Offset of field: trace_event_class::probe"] + [::core::mem::offset_of!(trace_event_class, probe) - 8usize]; + ["Offset of field: trace_event_class::perf_probe"] + [::core::mem::offset_of!(trace_event_class, perf_probe) - 16usize]; + ["Offset of field: trace_event_class::reg"] + [::core::mem::offset_of!(trace_event_class, reg) - 24usize]; + ["Offset of field: trace_event_class::fields_array"] + [::core::mem::offset_of!(trace_event_class, fields_array) - 32usize]; + ["Offset of field: trace_event_class::get_fields"] + [::core::mem::offset_of!(trace_event_class, get_fields) - 40usize]; + ["Offset of field: trace_event_class::fields"] + [::core::mem::offset_of!(trace_event_class, fields) - 48usize]; + ["Offset of field: trace_event_class::raw_init"] + [::core::mem::offset_of!(trace_event_class, raw_init) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_event { + pub node: hlist_node, + pub type_: ::core::ffi::c_int, + pub funcs: *mut trace_event_functions, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event"][::core::mem::size_of::() - 32usize]; + ["Alignment of trace_event"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event::node"][::core::mem::offset_of!(trace_event, node) - 0usize]; + ["Offset of field: trace_event::type_"][::core::mem::offset_of!(trace_event, type_) - 16usize]; + ["Offset of field: trace_event::funcs"][::core::mem::offset_of!(trace_event, funcs) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct trace_event_call { + pub list: list_head, + pub class: *mut trace_event_class, + pub __bindgen_anon_1: trace_event_call__bindgen_ty_1, + pub event: trace_event, + pub print_fmt: *mut ::core::ffi::c_char, + pub filter: *mut event_filter, + pub __bindgen_anon_2: trace_event_call__bindgen_ty_2, + pub data: *mut ::core::ffi::c_void, + pub flags: ::core::ffi::c_int, + pub perf_refcount: ::core::ffi::c_int, + pub perf_events: *mut hlist_head, + pub prog_array: *mut bpf_prog_array, + pub perf_perm: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut trace_event_call, + arg2: *mut perf_event, + ) -> ::core::ffi::c_int, + >, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union trace_event_call__bindgen_ty_1 { + pub name: *const ::core::ffi::c_char, + pub tp: *mut tracepoint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_call__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of trace_event_call__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_call__bindgen_ty_1::name"] + [::core::mem::offset_of!(trace_event_call__bindgen_ty_1, name) - 0usize]; + ["Offset of field: trace_event_call__bindgen_ty_1::tp"] + [::core::mem::offset_of!(trace_event_call__bindgen_ty_1, tp) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union trace_event_call__bindgen_ty_2 { + pub module: *mut ::core::ffi::c_void, + pub refcnt: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_call__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of trace_event_call__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_call__bindgen_ty_2::module"] + [::core::mem::offset_of!(trace_event_call__bindgen_ty_2, module) - 0usize]; + ["Offset of field: trace_event_call__bindgen_ty_2::refcnt"] + [::core::mem::offset_of!(trace_event_call__bindgen_ty_2, refcnt) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_call"][::core::mem::size_of::() - 128usize]; + ["Alignment of trace_event_call"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_call::list"] + [::core::mem::offset_of!(trace_event_call, list) - 0usize]; + ["Offset of field: trace_event_call::class"] + [::core::mem::offset_of!(trace_event_call, class) - 16usize]; + ["Offset of field: trace_event_call::event"] + [::core::mem::offset_of!(trace_event_call, event) - 32usize]; + ["Offset of field: trace_event_call::print_fmt"] + [::core::mem::offset_of!(trace_event_call, print_fmt) - 64usize]; + ["Offset of field: trace_event_call::filter"] + [::core::mem::offset_of!(trace_event_call, filter) - 72usize]; + ["Offset of field: trace_event_call::data"] + [::core::mem::offset_of!(trace_event_call, data) - 88usize]; + ["Offset of field: trace_event_call::flags"] + [::core::mem::offset_of!(trace_event_call, flags) - 96usize]; + ["Offset of field: trace_event_call::perf_refcount"] + [::core::mem::offset_of!(trace_event_call, perf_refcount) - 100usize]; + ["Offset of field: trace_event_call::perf_events"] + [::core::mem::offset_of!(trace_event_call, perf_events) - 104usize]; + ["Offset of field: trace_event_call::prog_array"] + [::core::mem::offset_of!(trace_event_call, prog_array) - 112usize]; + ["Offset of field: trace_event_call::perf_perm"] + [::core::mem::offset_of!(trace_event_call, perf_perm) - 120usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct syscall_user_dispatch { + pub selector: *mut ::core::ffi::c_char, + pub offset: ::core::ffi::c_ulong, + pub len: ::core::ffi::c_ulong, + pub on_dispatch: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of syscall_user_dispatch"][::core::mem::size_of::() - 32usize]; + ["Alignment of syscall_user_dispatch"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: syscall_user_dispatch::selector"] + [::core::mem::offset_of!(syscall_user_dispatch, selector) - 0usize]; + ["Offset of field: syscall_user_dispatch::offset"] + [::core::mem::offset_of!(syscall_user_dispatch, offset) - 8usize]; + ["Offset of field: syscall_user_dispatch::len"] + [::core::mem::offset_of!(syscall_user_dispatch, len) - 16usize]; + ["Offset of field: syscall_user_dispatch::on_dispatch"] + [::core::mem::offset_of!(syscall_user_dispatch, on_dispatch) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sysfs_ops { + pub show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kobject, + arg2: *mut attribute, + arg3: *mut ::core::ffi::c_char, + ) -> isize, + >, + pub store: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut kobject, + arg2: *mut attribute, + arg3: *const ::core::ffi::c_char, + arg4: usize, + ) -> isize, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sysfs_ops"][::core::mem::size_of::() - 16usize]; + ["Alignment of sysfs_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sysfs_ops::show"][::core::mem::offset_of!(sysfs_ops, show) - 0usize]; + ["Offset of field: sysfs_ops::store"][::core::mem::offset_of!(sysfs_ops, store) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sysv_sem { + pub undo_list: *mut sem_undo_list, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sysv_sem"][::core::mem::size_of::() - 8usize]; + ["Alignment of sysv_sem"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sysv_sem::undo_list"][::core::mem::offset_of!(sysv_sem, undo_list) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sysv_shm { + pub shm_clist: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of sysv_shm"][::core::mem::size_of::() - 16usize]; + ["Alignment of sysv_shm"][::core::mem::align_of::() - 8usize]; + ["Offset of field: sysv_shm::shm_clist"][::core::mem::offset_of!(sysv_shm, shm_clist) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct task_delay_info { + pub lock: raw_spinlock_t, + pub blkio_start: u64_, + pub blkio_delay: u64_, + pub swapin_start: u64_, + pub swapin_delay: u64_, + pub blkio_count: u32_, + pub swapin_count: u32_, + pub freepages_start: u64_, + pub freepages_delay: u64_, + pub thrashing_start: u64_, + pub thrashing_delay: u64_, + pub compact_start: u64_, + pub compact_delay: u64_, + pub wpcopy_start: u64_, + pub wpcopy_delay: u64_, + pub irq_delay: u64_, + pub freepages_count: u32_, + pub thrashing_count: u32_, + pub compact_count: u32_, + pub wpcopy_count: u32_, + pub irq_count: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of task_delay_info"][::core::mem::size_of::() - 144usize]; + ["Alignment of task_delay_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: task_delay_info::lock"] + [::core::mem::offset_of!(task_delay_info, lock) - 0usize]; + ["Offset of field: task_delay_info::blkio_start"] + [::core::mem::offset_of!(task_delay_info, blkio_start) - 8usize]; + ["Offset of field: task_delay_info::blkio_delay"] + [::core::mem::offset_of!(task_delay_info, blkio_delay) - 16usize]; + ["Offset of field: task_delay_info::swapin_start"] + [::core::mem::offset_of!(task_delay_info, swapin_start) - 24usize]; + ["Offset of field: task_delay_info::swapin_delay"] + [::core::mem::offset_of!(task_delay_info, swapin_delay) - 32usize]; + ["Offset of field: task_delay_info::blkio_count"] + [::core::mem::offset_of!(task_delay_info, blkio_count) - 40usize]; + ["Offset of field: task_delay_info::swapin_count"] + [::core::mem::offset_of!(task_delay_info, swapin_count) - 44usize]; + ["Offset of field: task_delay_info::freepages_start"] + [::core::mem::offset_of!(task_delay_info, freepages_start) - 48usize]; + ["Offset of field: task_delay_info::freepages_delay"] + [::core::mem::offset_of!(task_delay_info, freepages_delay) - 56usize]; + ["Offset of field: task_delay_info::thrashing_start"] + [::core::mem::offset_of!(task_delay_info, thrashing_start) - 64usize]; + ["Offset of field: task_delay_info::thrashing_delay"] + [::core::mem::offset_of!(task_delay_info, thrashing_delay) - 72usize]; + ["Offset of field: task_delay_info::compact_start"] + [::core::mem::offset_of!(task_delay_info, compact_start) - 80usize]; + ["Offset of field: task_delay_info::compact_delay"] + [::core::mem::offset_of!(task_delay_info, compact_delay) - 88usize]; + ["Offset of field: task_delay_info::wpcopy_start"] + [::core::mem::offset_of!(task_delay_info, wpcopy_start) - 96usize]; + ["Offset of field: task_delay_info::wpcopy_delay"] + [::core::mem::offset_of!(task_delay_info, wpcopy_delay) - 104usize]; + ["Offset of field: task_delay_info::irq_delay"] + [::core::mem::offset_of!(task_delay_info, irq_delay) - 112usize]; + ["Offset of field: task_delay_info::freepages_count"] + [::core::mem::offset_of!(task_delay_info, freepages_count) - 120usize]; + ["Offset of field: task_delay_info::thrashing_count"] + [::core::mem::offset_of!(task_delay_info, thrashing_count) - 124usize]; + ["Offset of field: task_delay_info::compact_count"] + [::core::mem::offset_of!(task_delay_info, compact_count) - 128usize]; + ["Offset of field: task_delay_info::wpcopy_count"] + [::core::mem::offset_of!(task_delay_info, wpcopy_count) - 132usize]; + ["Offset of field: task_delay_info::irq_count"] + [::core::mem::offset_of!(task_delay_info, irq_count) - 136usize]; +}; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct uclamp_se { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub __bindgen_padding_0: u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uclamp_se"][::core::mem::size_of::() - 4usize]; + ["Alignment of uclamp_se"][::core::mem::align_of::() - 4usize]; +}; +impl uclamp_se { + #[inline] + pub fn value(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 11u8) as u32) } + } + #[inline] + pub fn set_value(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 11u8, val as u64) + } + } + #[inline] + pub unsafe fn value_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 11u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_value_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 11u8, + val as u64, + ) + } + } + #[inline] + pub fn bucket_id(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 3u8) as u32) } + } + #[inline] + pub fn set_bucket_id(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(11usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn bucket_id_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 11usize, + 3u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_bucket_id_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 11usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn active(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_active(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn active_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 14usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_active_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 14usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn user_defined(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_user_defined(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn user_defined_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 15usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_user_defined_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 15usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + value: ::core::ffi::c_uint, + bucket_id: ::core::ffi::c_uint, + active: ::core::ffi::c_uint, + user_defined: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 11u8, { + let value: u32 = unsafe { ::core::mem::transmute(value) }; + value as u64 + }); + __bindgen_bitfield_unit.set(11usize, 3u8, { + let bucket_id: u32 = unsafe { ::core::mem::transmute(bucket_id) }; + bucket_id as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let active: u32 = unsafe { ::core::mem::transmute(active) }; + active as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let user_defined: u32 = unsafe { ::core::mem::transmute(user_defined) }; + user_defined as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct task_group { + pub css: cgroup_subsys_state, + pub idle: ::core::ffi::c_int, + pub se: *mut *mut sched_entity, + pub cfs_rq: *mut *mut cfs_rq, + pub shares: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub load_avg: atomic_long_t, + pub scx_flags: u32_, + pub scx_weight: u32_, + pub rcu: callback_head, + pub list: list_head, + pub parent: *mut task_group, + pub siblings: list_head, + pub children: list_head, + pub autogroup: *mut autogroup, + pub cfs_bandwidth: cfs_bandwidth, + pub uclamp_pct: [::core::ffi::c_uint; 2usize], + pub uclamp_req: [uclamp_se; 2usize], + pub uclamp: [uclamp_se; 2usize], + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 24usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of task_group"][::core::mem::size_of::() - 640usize]; + ["Alignment of task_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: task_group::css"][::core::mem::offset_of!(task_group, css) - 0usize]; + ["Offset of field: task_group::idle"][::core::mem::offset_of!(task_group, idle) - 208usize]; + ["Offset of field: task_group::se"][::core::mem::offset_of!(task_group, se) - 216usize]; + ["Offset of field: task_group::cfs_rq"][::core::mem::offset_of!(task_group, cfs_rq) - 224usize]; + ["Offset of field: task_group::shares"][::core::mem::offset_of!(task_group, shares) - 232usize]; + ["Offset of field: task_group::load_avg"] + [::core::mem::offset_of!(task_group, load_avg) - 256usize]; + ["Offset of field: task_group::scx_flags"] + [::core::mem::offset_of!(task_group, scx_flags) - 264usize]; + ["Offset of field: task_group::scx_weight"] + [::core::mem::offset_of!(task_group, scx_weight) - 268usize]; + ["Offset of field: task_group::rcu"][::core::mem::offset_of!(task_group, rcu) - 272usize]; + ["Offset of field: task_group::list"][::core::mem::offset_of!(task_group, list) - 288usize]; + ["Offset of field: task_group::parent"][::core::mem::offset_of!(task_group, parent) - 304usize]; + ["Offset of field: task_group::siblings"] + [::core::mem::offset_of!(task_group, siblings) - 312usize]; + ["Offset of field: task_group::children"] + [::core::mem::offset_of!(task_group, children) - 328usize]; + ["Offset of field: task_group::autogroup"] + [::core::mem::offset_of!(task_group, autogroup) - 344usize]; + ["Offset of field: task_group::cfs_bandwidth"] + [::core::mem::offset_of!(task_group, cfs_bandwidth) - 352usize]; + ["Offset of field: task_group::uclamp_pct"] + [::core::mem::offset_of!(task_group, uclamp_pct) - 592usize]; + ["Offset of field: task_group::uclamp_req"] + [::core::mem::offset_of!(task_group, uclamp_req) - 600usize]; + ["Offset of field: task_group::uclamp"][::core::mem::offset_of!(task_group, uclamp) - 608usize]; +}; +impl task_group { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 24usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct thread_info { + pub flags: ::core::ffi::c_ulong, + pub syscall_work: ::core::ffi::c_ulong, + pub status: u32_, + pub cpu: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of thread_info"][::core::mem::size_of::() - 24usize]; + ["Alignment of thread_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: thread_info::flags"][::core::mem::offset_of!(thread_info, flags) - 0usize]; + ["Offset of field: thread_info::syscall_work"] + [::core::mem::offset_of!(thread_info, syscall_work) - 8usize]; + ["Offset of field: thread_info::status"] + [::core::mem::offset_of!(thread_info, status) - 16usize]; + ["Offset of field: thread_info::cpu"][::core::mem::offset_of!(thread_info, cpu) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vtime { + pub seqcount: seqcount_t, + pub starttime: ::core::ffi::c_ulonglong, + pub state: vtime_state, + pub cpu: ::core::ffi::c_uint, + pub utime: u64_, + pub stime: u64_, + pub gtime: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vtime"][::core::mem::size_of::() - 48usize]; + ["Alignment of vtime"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vtime::seqcount"][::core::mem::offset_of!(vtime, seqcount) - 0usize]; + ["Offset of field: vtime::starttime"][::core::mem::offset_of!(vtime, starttime) - 8usize]; + ["Offset of field: vtime::state"][::core::mem::offset_of!(vtime, state) - 16usize]; + ["Offset of field: vtime::cpu"][::core::mem::offset_of!(vtime, cpu) - 20usize]; + ["Offset of field: vtime::utime"][::core::mem::offset_of!(vtime, utime) - 24usize]; + ["Offset of field: vtime::stime"][::core::mem::offset_of!(vtime, stime) - 32usize]; + ["Offset of field: vtime::gtime"][::core::mem::offset_of!(vtime, gtime) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wake_q_node { + pub next: *mut wake_q_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wake_q_node"][::core::mem::size_of::() - 8usize]; + ["Alignment of wake_q_node"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wake_q_node::next"][::core::mem::offset_of!(wake_q_node, next) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tlbflush_unmap_batch { + pub arch: arch_tlbflush_unmap_batch, + pub flush_required: bool_, + pub writable: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tlbflush_unmap_batch"][::core::mem::size_of::() - 1032usize]; + ["Alignment of tlbflush_unmap_batch"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tlbflush_unmap_batch::arch"] + [::core::mem::offset_of!(tlbflush_unmap_batch, arch) - 0usize]; + ["Offset of field: tlbflush_unmap_batch::flush_required"] + [::core::mem::offset_of!(tlbflush_unmap_batch, flush_required) - 1024usize]; + ["Offset of field: tlbflush_unmap_batch::writable"] + [::core::mem::offset_of!(tlbflush_unmap_batch, writable) - 1025usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct thread_shstk { + pub base: u64_, + pub size: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of thread_shstk"][::core::mem::size_of::() - 16usize]; + ["Alignment of thread_shstk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: thread_shstk::base"][::core::mem::offset_of!(thread_shstk, base) - 0usize]; + ["Offset of field: thread_shstk::size"][::core::mem::offset_of!(thread_shstk, size) - 8usize]; +}; +#[repr(C)] +pub struct thread_struct { + pub tls_array: [desc_struct; 3usize], + pub sp: ::core::ffi::c_ulong, + pub es: ::core::ffi::c_ushort, + pub ds: ::core::ffi::c_ushort, + pub fsindex: ::core::ffi::c_ushort, + pub gsindex: ::core::ffi::c_ushort, + pub fsbase: ::core::ffi::c_ulong, + pub gsbase: ::core::ffi::c_ulong, + pub ptrace_bps: [*mut perf_event; 4usize], + pub virtual_dr6: ::core::ffi::c_ulong, + pub ptrace_dr7: ::core::ffi::c_ulong, + pub cr2: ::core::ffi::c_ulong, + pub trap_nr: ::core::ffi::c_ulong, + pub error_code: ::core::ffi::c_ulong, + pub io_bitmap: *mut io_bitmap, + pub iopl_emul: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub pkru: u32_, + pub features: ::core::ffi::c_ulong, + pub features_locked: ::core::ffi::c_ulong, + pub shstk: thread_shstk, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 8usize]>, + pub fpu: fpu, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of thread_struct"][::core::mem::size_of::() - 4416usize]; + ["Alignment of thread_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: thread_struct::tls_array"] + [::core::mem::offset_of!(thread_struct, tls_array) - 0usize]; + ["Offset of field: thread_struct::sp"][::core::mem::offset_of!(thread_struct, sp) - 24usize]; + ["Offset of field: thread_struct::es"][::core::mem::offset_of!(thread_struct, es) - 32usize]; + ["Offset of field: thread_struct::ds"][::core::mem::offset_of!(thread_struct, ds) - 34usize]; + ["Offset of field: thread_struct::fsindex"] + [::core::mem::offset_of!(thread_struct, fsindex) - 36usize]; + ["Offset of field: thread_struct::gsindex"] + [::core::mem::offset_of!(thread_struct, gsindex) - 38usize]; + ["Offset of field: thread_struct::fsbase"] + [::core::mem::offset_of!(thread_struct, fsbase) - 40usize]; + ["Offset of field: thread_struct::gsbase"] + [::core::mem::offset_of!(thread_struct, gsbase) - 48usize]; + ["Offset of field: thread_struct::ptrace_bps"] + [::core::mem::offset_of!(thread_struct, ptrace_bps) - 56usize]; + ["Offset of field: thread_struct::virtual_dr6"] + [::core::mem::offset_of!(thread_struct, virtual_dr6) - 88usize]; + ["Offset of field: thread_struct::ptrace_dr7"] + [::core::mem::offset_of!(thread_struct, ptrace_dr7) - 96usize]; + ["Offset of field: thread_struct::cr2"][::core::mem::offset_of!(thread_struct, cr2) - 104usize]; + ["Offset of field: thread_struct::trap_nr"] + [::core::mem::offset_of!(thread_struct, trap_nr) - 112usize]; + ["Offset of field: thread_struct::error_code"] + [::core::mem::offset_of!(thread_struct, error_code) - 120usize]; + ["Offset of field: thread_struct::io_bitmap"] + [::core::mem::offset_of!(thread_struct, io_bitmap) - 128usize]; + ["Offset of field: thread_struct::iopl_emul"] + [::core::mem::offset_of!(thread_struct, iopl_emul) - 136usize]; + ["Offset of field: thread_struct::pkru"] + [::core::mem::offset_of!(thread_struct, pkru) - 148usize]; + ["Offset of field: thread_struct::features"] + [::core::mem::offset_of!(thread_struct, features) - 152usize]; + ["Offset of field: thread_struct::features_locked"] + [::core::mem::offset_of!(thread_struct, features_locked) - 160usize]; + ["Offset of field: thread_struct::shstk"] + [::core::mem::offset_of!(thread_struct, shstk) - 168usize]; + ["Offset of field: thread_struct::fpu"][::core::mem::offset_of!(thread_struct, fpu) - 192usize]; +}; +impl thread_struct { + #[inline] + pub fn iopl_warn(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_iopl_warn(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn iopl_warn_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_iopl_warn_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(iopl_warn: ::core::ffi::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let iopl_warn: u32 = unsafe { ::core::mem::transmute(iopl_warn) }; + iopl_warn as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +pub struct task_struct { + pub thread_info: thread_info, + pub __state: ::core::ffi::c_uint, + pub saved_state: ::core::ffi::c_uint, + pub stack: *mut ::core::ffi::c_void, + pub usage: refcount_t, + pub flags: ::core::ffi::c_uint, + pub ptrace: ::core::ffi::c_uint, + pub on_cpu: ::core::ffi::c_int, + pub wake_entry: __call_single_node, + pub wakee_flips: ::core::ffi::c_uint, + pub wakee_flip_decay_ts: ::core::ffi::c_ulong, + pub last_wakee: *mut task_struct, + pub recent_used_cpu: ::core::ffi::c_int, + pub wake_cpu: ::core::ffi::c_int, + pub on_rq: ::core::ffi::c_int, + pub prio: ::core::ffi::c_int, + pub static_prio: ::core::ffi::c_int, + pub normal_prio: ::core::ffi::c_int, + pub rt_priority: ::core::ffi::c_uint, + pub se: sched_entity, + pub rt: sched_rt_entity, + pub dl: sched_dl_entity, + pub dl_server: *mut sched_dl_entity, + pub scx: sched_ext_entity, + pub sched_class: *const sched_class, + pub core_node: rb_node, + pub core_cookie: ::core::ffi::c_ulong, + pub core_occupation: ::core::ffi::c_uint, + pub sched_task_group: *mut task_group, + pub uclamp_req: [uclamp_se; 2usize], + pub uclamp: [uclamp_se; 2usize], + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub stats: sched_statistics, + pub preempt_notifiers: hlist_head, + pub btrace_seq: ::core::ffi::c_uint, + pub policy: ::core::ffi::c_uint, + pub max_allowed_capacity: ::core::ffi::c_ulong, + pub nr_cpus_allowed: ::core::ffi::c_int, + pub cpus_ptr: *const cpumask_t, + pub user_cpus_ptr: *mut cpumask_t, + pub cpus_mask: cpumask_t, + pub migration_pending: *mut ::core::ffi::c_void, + pub migration_disabled: ::core::ffi::c_ushort, + pub migration_flags: ::core::ffi::c_ushort, + pub rcu_read_lock_nesting: ::core::ffi::c_int, + pub rcu_read_unlock_special: rcu_special, + pub rcu_node_entry: list_head, + pub rcu_blocked_node: *mut rcu_node, + pub rcu_tasks_nvcsw: ::core::ffi::c_ulong, + pub rcu_tasks_holdout: u8_, + pub rcu_tasks_idx: u8_, + pub rcu_tasks_idle_cpu: ::core::ffi::c_int, + pub rcu_tasks_holdout_list: list_head, + pub rcu_tasks_exit_cpu: ::core::ffi::c_int, + pub rcu_tasks_exit_list: list_head, + pub trc_reader_nesting: ::core::ffi::c_int, + pub trc_ipi_to_cpu: ::core::ffi::c_int, + pub trc_reader_special: rcu_special, + pub trc_holdout_list: list_head, + pub trc_blkd_node: list_head, + pub trc_blkd_cpu: ::core::ffi::c_int, + pub sched_info: sched_info, + pub tasks: list_head, + pub pushable_tasks: plist_node, + pub pushable_dl_tasks: rb_node, + pub mm: *mut mm_struct, + pub active_mm: *mut mm_struct, + pub faults_disabled_mapping: *mut address_space, + pub exit_state: ::core::ffi::c_int, + pub exit_code: ::core::ffi::c_int, + pub exit_signal: ::core::ffi::c_int, + pub pdeath_signal: ::core::ffi::c_int, + pub jobctl: ::core::ffi::c_ulong, + pub personality: ::core::ffi::c_uint, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 6usize]>, + pub atomic_flags: ::core::ffi::c_ulong, + pub restart_block: restart_block, + pub pid: pid_t, + pub tgid: pid_t, + pub stack_canary: ::core::ffi::c_ulong, + pub real_parent: *mut task_struct, + pub parent: *mut task_struct, + pub children: list_head, + pub sibling: list_head, + pub group_leader: *mut task_struct, + pub ptraced: list_head, + pub ptrace_entry: list_head, + pub thread_pid: *mut pid, + pub pid_links: [hlist_node; 4usize], + pub thread_node: list_head, + pub vfork_done: *mut completion, + pub set_child_tid: *mut ::core::ffi::c_int, + pub clear_child_tid: *mut ::core::ffi::c_int, + pub worker_private: *mut ::core::ffi::c_void, + pub utime: u64_, + pub stime: u64_, + pub gtime: u64_, + pub prev_cputime: prev_cputime, + pub vtime: vtime, + pub tick_dep_mask: atomic_t, + pub nvcsw: ::core::ffi::c_ulong, + pub nivcsw: ::core::ffi::c_ulong, + pub start_time: u64_, + pub start_boottime: u64_, + pub min_flt: ::core::ffi::c_ulong, + pub maj_flt: ::core::ffi::c_ulong, + pub posix_cputimers: posix_cputimers, + pub posix_cputimers_work: posix_cputimers_work, + pub ptracer_cred: *const cred, + pub real_cred: *const cred, + pub cred: *const cred, + pub cached_requested_key: *mut key, + pub comm: [::core::ffi::c_char; 16usize], + pub nameidata: *mut nameidata, + pub sysvsem: sysv_sem, + pub sysvshm: sysv_shm, + pub last_switch_count: ::core::ffi::c_ulong, + pub last_switch_time: ::core::ffi::c_ulong, + pub fs: *mut fs_struct, + pub files: *mut files_struct, + pub io_uring: *mut io_uring_task, + pub nsproxy: *mut nsproxy, + pub signal: *mut signal_struct, + pub sighand: *mut sighand_struct, + pub blocked: sigset_t, + pub real_blocked: sigset_t, + pub saved_sigmask: sigset_t, + pub pending: sigpending, + pub sas_ss_sp: ::core::ffi::c_ulong, + pub sas_ss_size: usize, + pub sas_ss_flags: ::core::ffi::c_uint, + pub task_works: *mut callback_head, + pub audit_context: *mut audit_context, + pub loginuid: kuid_t, + pub sessionid: ::core::ffi::c_uint, + pub seccomp: seccomp, + pub syscall_dispatch: syscall_user_dispatch, + pub parent_exec_id: u64_, + pub self_exec_id: u64_, + pub alloc_lock: spinlock_t, + pub pi_lock: raw_spinlock_t, + pub wake_q: wake_q_node, + pub pi_waiters: rb_root_cached, + pub pi_top_task: *mut task_struct, + pub pi_blocked_on: *mut rt_mutex_waiter, + pub journal_info: *mut ::core::ffi::c_void, + pub bio_list: *mut bio_list, + pub plug: *mut blk_plug, + pub reclaim_state: *mut reclaim_state, + pub io_context: *mut io_context, + pub capture_control: *mut capture_control, + pub ptrace_message: ::core::ffi::c_ulong, + pub last_siginfo: *mut kernel_siginfo_t, + pub ioac: task_io_accounting, + pub psi_flags: ::core::ffi::c_uint, + pub acct_rss_mem1: u64_, + pub acct_vm_mem1: u64_, + pub acct_timexpd: u64_, + pub mems_allowed: nodemask_t, + pub mems_allowed_seq: seqcount_spinlock_t, + pub cpuset_mem_spread_rotor: ::core::ffi::c_int, + pub cgroups: *mut css_set, + pub cg_list: list_head, + pub closid: u32_, + pub rmid: u32_, + pub robust_list: *mut robust_list_head, + pub compat_robust_list: *mut compat_robust_list_head, + pub pi_state_list: list_head, + pub pi_state_cache: *mut futex_pi_state, + pub futex_exit_mutex: mutex, + pub futex_state: ::core::ffi::c_uint, + pub perf_recursion: [u8_; 4usize], + pub perf_event_ctxp: *mut perf_event_context, + pub perf_event_mutex: mutex, + pub perf_event_list: list_head, + pub mempolicy: *mut mempolicy, + pub il_prev: ::core::ffi::c_short, + pub il_weight: u8_, + pub pref_node_fork: ::core::ffi::c_short, + pub numa_scan_seq: ::core::ffi::c_int, + pub numa_scan_period: ::core::ffi::c_uint, + pub numa_scan_period_max: ::core::ffi::c_uint, + pub numa_preferred_nid: ::core::ffi::c_int, + pub numa_migrate_retry: ::core::ffi::c_ulong, + pub node_stamp: u64_, + pub last_task_numa_placement: u64_, + pub last_sum_exec_runtime: u64_, + pub numa_work: callback_head, + pub numa_group: *mut numa_group, + pub numa_faults: *mut ::core::ffi::c_ulong, + pub total_numa_faults: ::core::ffi::c_ulong, + pub numa_faults_locality: [::core::ffi::c_ulong; 3usize], + pub numa_pages_migrated: ::core::ffi::c_ulong, + pub rseq: *mut rseq, + pub rseq_len: u32_, + pub rseq_sig: u32_, + pub rseq_event_mask: ::core::ffi::c_ulong, + pub mm_cid: ::core::ffi::c_int, + pub last_mm_cid: ::core::ffi::c_int, + pub migrate_from_cpu: ::core::ffi::c_int, + pub mm_cid_active: ::core::ffi::c_int, + pub cid_work: callback_head, + pub tlb_ubc: tlbflush_unmap_batch, + pub splice_pipe: *mut pipe_inode_info, + pub task_frag: page_frag, + pub delays: *mut task_delay_info, + pub nr_dirtied: ::core::ffi::c_int, + pub nr_dirtied_pause: ::core::ffi::c_int, + pub dirty_paused_when: ::core::ffi::c_ulong, + pub timer_slack_ns: u64_, + pub default_timer_slack_ns: u64_, + pub curr_ret_stack: ::core::ffi::c_int, + pub curr_ret_depth: ::core::ffi::c_int, + pub ret_stack: *mut ::core::ffi::c_ulong, + pub ftrace_timestamp: ::core::ffi::c_ulonglong, + pub trace_overrun: atomic_t, + pub tracing_graph_pause: atomic_t, + pub trace_recursion: ::core::ffi::c_ulong, + pub memcg_nr_pages_over_high: ::core::ffi::c_uint, + pub active_memcg: *mut mem_cgroup, + pub objcg: *mut obj_cgroup, + pub throttle_disk: *mut gendisk, + pub utask: *mut uprobe_task, + pub sequential_io: ::core::ffi::c_uint, + pub sequential_io_avg: ::core::ffi::c_uint, + pub kmap_ctrl: kmap_ctrl, + pub rcu: callback_head, + pub rcu_users: refcount_t, + pub pagefault_disabled: ::core::ffi::c_int, + pub oom_reaper_list: *mut task_struct, + pub oom_reaper_timer: timer_list, + pub stack_vm_area: *mut vm_struct, + pub stack_refcount: refcount_t, + pub security: *mut ::core::ffi::c_void, + pub bpf_storage: *mut bpf_local_storage, + pub bpf_ctx: *mut bpf_run_ctx, + pub bpf_net_context: *mut bpf_net_context, + pub mce_vaddr: *mut ::core::ffi::c_void, + pub mce_kflags: __u64, + pub mce_addr: u64_, + pub _bitfield_align_3: [u64; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 8usize]>, + pub mce_kill_me: callback_head, + pub mce_count: ::core::ffi::c_int, + pub kretprobe_instances: llist_head, + pub rethooks: llist_head, + pub l1d_flush_kill: callback_head, + pub user_event_mm: *mut user_event_mm, + pub _bitfield_align_4: [u8; 0], + pub _bitfield_4: __BindgenBitfieldUnit<[u8; 32usize]>, + pub thread: thread_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of task_struct"][::core::mem::size_of::() - 10112usize]; + ["Alignment of task_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: task_struct::thread_info"] + [::core::mem::offset_of!(task_struct, thread_info) - 0usize]; + ["Offset of field: task_struct::__state"] + [::core::mem::offset_of!(task_struct, __state) - 24usize]; + ["Offset of field: task_struct::saved_state"] + [::core::mem::offset_of!(task_struct, saved_state) - 28usize]; + ["Offset of field: task_struct::stack"][::core::mem::offset_of!(task_struct, stack) - 32usize]; + ["Offset of field: task_struct::usage"][::core::mem::offset_of!(task_struct, usage) - 40usize]; + ["Offset of field: task_struct::flags"][::core::mem::offset_of!(task_struct, flags) - 44usize]; + ["Offset of field: task_struct::ptrace"] + [::core::mem::offset_of!(task_struct, ptrace) - 48usize]; + ["Offset of field: task_struct::on_cpu"] + [::core::mem::offset_of!(task_struct, on_cpu) - 52usize]; + ["Offset of field: task_struct::wake_entry"] + [::core::mem::offset_of!(task_struct, wake_entry) - 56usize]; + ["Offset of field: task_struct::wakee_flips"] + [::core::mem::offset_of!(task_struct, wakee_flips) - 72usize]; + ["Offset of field: task_struct::wakee_flip_decay_ts"] + [::core::mem::offset_of!(task_struct, wakee_flip_decay_ts) - 80usize]; + ["Offset of field: task_struct::last_wakee"] + [::core::mem::offset_of!(task_struct, last_wakee) - 88usize]; + ["Offset of field: task_struct::recent_used_cpu"] + [::core::mem::offset_of!(task_struct, recent_used_cpu) - 96usize]; + ["Offset of field: task_struct::wake_cpu"] + [::core::mem::offset_of!(task_struct, wake_cpu) - 100usize]; + ["Offset of field: task_struct::on_rq"][::core::mem::offset_of!(task_struct, on_rq) - 104usize]; + ["Offset of field: task_struct::prio"][::core::mem::offset_of!(task_struct, prio) - 108usize]; + ["Offset of field: task_struct::static_prio"] + [::core::mem::offset_of!(task_struct, static_prio) - 112usize]; + ["Offset of field: task_struct::normal_prio"] + [::core::mem::offset_of!(task_struct, normal_prio) - 116usize]; + ["Offset of field: task_struct::rt_priority"] + [::core::mem::offset_of!(task_struct, rt_priority) - 120usize]; + ["Offset of field: task_struct::se"][::core::mem::offset_of!(task_struct, se) - 128usize]; + ["Offset of field: task_struct::rt"][::core::mem::offset_of!(task_struct, rt) - 384usize]; + ["Offset of field: task_struct::dl"][::core::mem::offset_of!(task_struct, dl) - 432usize]; + ["Offset of field: task_struct::dl_server"] + [::core::mem::offset_of!(task_struct, dl_server) - 680usize]; + ["Offset of field: task_struct::scx"][::core::mem::offset_of!(task_struct, scx) - 688usize]; + ["Offset of field: task_struct::sched_class"] + [::core::mem::offset_of!(task_struct, sched_class) - 896usize]; + ["Offset of field: task_struct::core_node"] + [::core::mem::offset_of!(task_struct, core_node) - 904usize]; + ["Offset of field: task_struct::core_cookie"] + [::core::mem::offset_of!(task_struct, core_cookie) - 928usize]; + ["Offset of field: task_struct::core_occupation"] + [::core::mem::offset_of!(task_struct, core_occupation) - 936usize]; + ["Offset of field: task_struct::sched_task_group"] + [::core::mem::offset_of!(task_struct, sched_task_group) - 944usize]; + ["Offset of field: task_struct::uclamp_req"] + [::core::mem::offset_of!(task_struct, uclamp_req) - 952usize]; + ["Offset of field: task_struct::uclamp"] + [::core::mem::offset_of!(task_struct, uclamp) - 960usize]; + ["Offset of field: task_struct::stats"] + [::core::mem::offset_of!(task_struct, stats) - 1024usize]; + ["Offset of field: task_struct::preempt_notifiers"] + [::core::mem::offset_of!(task_struct, preempt_notifiers) - 1280usize]; + ["Offset of field: task_struct::btrace_seq"] + [::core::mem::offset_of!(task_struct, btrace_seq) - 1288usize]; + ["Offset of field: task_struct::policy"] + [::core::mem::offset_of!(task_struct, policy) - 1292usize]; + ["Offset of field: task_struct::max_allowed_capacity"] + [::core::mem::offset_of!(task_struct, max_allowed_capacity) - 1296usize]; + ["Offset of field: task_struct::nr_cpus_allowed"] + [::core::mem::offset_of!(task_struct, nr_cpus_allowed) - 1304usize]; + ["Offset of field: task_struct::cpus_ptr"] + [::core::mem::offset_of!(task_struct, cpus_ptr) - 1312usize]; + ["Offset of field: task_struct::user_cpus_ptr"] + [::core::mem::offset_of!(task_struct, user_cpus_ptr) - 1320usize]; + ["Offset of field: task_struct::cpus_mask"] + [::core::mem::offset_of!(task_struct, cpus_mask) - 1328usize]; + ["Offset of field: task_struct::migration_pending"] + [::core::mem::offset_of!(task_struct, migration_pending) - 2352usize]; + ["Offset of field: task_struct::migration_disabled"] + [::core::mem::offset_of!(task_struct, migration_disabled) - 2360usize]; + ["Offset of field: task_struct::migration_flags"] + [::core::mem::offset_of!(task_struct, migration_flags) - 2362usize]; + ["Offset of field: task_struct::rcu_read_lock_nesting"] + [::core::mem::offset_of!(task_struct, rcu_read_lock_nesting) - 2364usize]; + ["Offset of field: task_struct::rcu_read_unlock_special"] + [::core::mem::offset_of!(task_struct, rcu_read_unlock_special) - 2368usize]; + ["Offset of field: task_struct::rcu_node_entry"] + [::core::mem::offset_of!(task_struct, rcu_node_entry) - 2376usize]; + ["Offset of field: task_struct::rcu_blocked_node"] + [::core::mem::offset_of!(task_struct, rcu_blocked_node) - 2392usize]; + ["Offset of field: task_struct::rcu_tasks_nvcsw"] + [::core::mem::offset_of!(task_struct, rcu_tasks_nvcsw) - 2400usize]; + ["Offset of field: task_struct::rcu_tasks_holdout"] + [::core::mem::offset_of!(task_struct, rcu_tasks_holdout) - 2408usize]; + ["Offset of field: task_struct::rcu_tasks_idx"] + [::core::mem::offset_of!(task_struct, rcu_tasks_idx) - 2409usize]; + ["Offset of field: task_struct::rcu_tasks_idle_cpu"] + [::core::mem::offset_of!(task_struct, rcu_tasks_idle_cpu) - 2412usize]; + ["Offset of field: task_struct::rcu_tasks_holdout_list"] + [::core::mem::offset_of!(task_struct, rcu_tasks_holdout_list) - 2416usize]; + ["Offset of field: task_struct::rcu_tasks_exit_cpu"] + [::core::mem::offset_of!(task_struct, rcu_tasks_exit_cpu) - 2432usize]; + ["Offset of field: task_struct::rcu_tasks_exit_list"] + [::core::mem::offset_of!(task_struct, rcu_tasks_exit_list) - 2440usize]; + ["Offset of field: task_struct::trc_reader_nesting"] + [::core::mem::offset_of!(task_struct, trc_reader_nesting) - 2456usize]; + ["Offset of field: task_struct::trc_ipi_to_cpu"] + [::core::mem::offset_of!(task_struct, trc_ipi_to_cpu) - 2460usize]; + ["Offset of field: task_struct::trc_reader_special"] + [::core::mem::offset_of!(task_struct, trc_reader_special) - 2464usize]; + ["Offset of field: task_struct::trc_holdout_list"] + [::core::mem::offset_of!(task_struct, trc_holdout_list) - 2472usize]; + ["Offset of field: task_struct::trc_blkd_node"] + [::core::mem::offset_of!(task_struct, trc_blkd_node) - 2488usize]; + ["Offset of field: task_struct::trc_blkd_cpu"] + [::core::mem::offset_of!(task_struct, trc_blkd_cpu) - 2504usize]; + ["Offset of field: task_struct::sched_info"] + [::core::mem::offset_of!(task_struct, sched_info) - 2512usize]; + ["Offset of field: task_struct::tasks"] + [::core::mem::offset_of!(task_struct, tasks) - 2544usize]; + ["Offset of field: task_struct::pushable_tasks"] + [::core::mem::offset_of!(task_struct, pushable_tasks) - 2560usize]; + ["Offset of field: task_struct::pushable_dl_tasks"] + [::core::mem::offset_of!(task_struct, pushable_dl_tasks) - 2600usize]; + ["Offset of field: task_struct::mm"][::core::mem::offset_of!(task_struct, mm) - 2624usize]; + ["Offset of field: task_struct::active_mm"] + [::core::mem::offset_of!(task_struct, active_mm) - 2632usize]; + ["Offset of field: task_struct::faults_disabled_mapping"] + [::core::mem::offset_of!(task_struct, faults_disabled_mapping) - 2640usize]; + ["Offset of field: task_struct::exit_state"] + [::core::mem::offset_of!(task_struct, exit_state) - 2648usize]; + ["Offset of field: task_struct::exit_code"] + [::core::mem::offset_of!(task_struct, exit_code) - 2652usize]; + ["Offset of field: task_struct::exit_signal"] + [::core::mem::offset_of!(task_struct, exit_signal) - 2656usize]; + ["Offset of field: task_struct::pdeath_signal"] + [::core::mem::offset_of!(task_struct, pdeath_signal) - 2660usize]; + ["Offset of field: task_struct::jobctl"] + [::core::mem::offset_of!(task_struct, jobctl) - 2664usize]; + ["Offset of field: task_struct::personality"] + [::core::mem::offset_of!(task_struct, personality) - 2672usize]; + ["Offset of field: task_struct::atomic_flags"] + [::core::mem::offset_of!(task_struct, atomic_flags) - 2688usize]; + ["Offset of field: task_struct::restart_block"] + [::core::mem::offset_of!(task_struct, restart_block) - 2696usize]; + ["Offset of field: task_struct::pid"][::core::mem::offset_of!(task_struct, pid) - 2752usize]; + ["Offset of field: task_struct::tgid"][::core::mem::offset_of!(task_struct, tgid) - 2756usize]; + ["Offset of field: task_struct::stack_canary"] + [::core::mem::offset_of!(task_struct, stack_canary) - 2760usize]; + ["Offset of field: task_struct::real_parent"] + [::core::mem::offset_of!(task_struct, real_parent) - 2768usize]; + ["Offset of field: task_struct::parent"] + [::core::mem::offset_of!(task_struct, parent) - 2776usize]; + ["Offset of field: task_struct::children"] + [::core::mem::offset_of!(task_struct, children) - 2784usize]; + ["Offset of field: task_struct::sibling"] + [::core::mem::offset_of!(task_struct, sibling) - 2800usize]; + ["Offset of field: task_struct::group_leader"] + [::core::mem::offset_of!(task_struct, group_leader) - 2816usize]; + ["Offset of field: task_struct::ptraced"] + [::core::mem::offset_of!(task_struct, ptraced) - 2824usize]; + ["Offset of field: task_struct::ptrace_entry"] + [::core::mem::offset_of!(task_struct, ptrace_entry) - 2840usize]; + ["Offset of field: task_struct::thread_pid"] + [::core::mem::offset_of!(task_struct, thread_pid) - 2856usize]; + ["Offset of field: task_struct::pid_links"] + [::core::mem::offset_of!(task_struct, pid_links) - 2864usize]; + ["Offset of field: task_struct::thread_node"] + [::core::mem::offset_of!(task_struct, thread_node) - 2928usize]; + ["Offset of field: task_struct::vfork_done"] + [::core::mem::offset_of!(task_struct, vfork_done) - 2944usize]; + ["Offset of field: task_struct::set_child_tid"] + [::core::mem::offset_of!(task_struct, set_child_tid) - 2952usize]; + ["Offset of field: task_struct::clear_child_tid"] + [::core::mem::offset_of!(task_struct, clear_child_tid) - 2960usize]; + ["Offset of field: task_struct::worker_private"] + [::core::mem::offset_of!(task_struct, worker_private) - 2968usize]; + ["Offset of field: task_struct::utime"] + [::core::mem::offset_of!(task_struct, utime) - 2976usize]; + ["Offset of field: task_struct::stime"] + [::core::mem::offset_of!(task_struct, stime) - 2984usize]; + ["Offset of field: task_struct::gtime"] + [::core::mem::offset_of!(task_struct, gtime) - 2992usize]; + ["Offset of field: task_struct::prev_cputime"] + [::core::mem::offset_of!(task_struct, prev_cputime) - 3000usize]; + ["Offset of field: task_struct::vtime"] + [::core::mem::offset_of!(task_struct, vtime) - 3024usize]; + ["Offset of field: task_struct::tick_dep_mask"] + [::core::mem::offset_of!(task_struct, tick_dep_mask) - 3072usize]; + ["Offset of field: task_struct::nvcsw"] + [::core::mem::offset_of!(task_struct, nvcsw) - 3080usize]; + ["Offset of field: task_struct::nivcsw"] + [::core::mem::offset_of!(task_struct, nivcsw) - 3088usize]; + ["Offset of field: task_struct::start_time"] + [::core::mem::offset_of!(task_struct, start_time) - 3096usize]; + ["Offset of field: task_struct::start_boottime"] + [::core::mem::offset_of!(task_struct, start_boottime) - 3104usize]; + ["Offset of field: task_struct::min_flt"] + [::core::mem::offset_of!(task_struct, min_flt) - 3112usize]; + ["Offset of field: task_struct::maj_flt"] + [::core::mem::offset_of!(task_struct, maj_flt) - 3120usize]; + ["Offset of field: task_struct::posix_cputimers"] + [::core::mem::offset_of!(task_struct, posix_cputimers) - 3128usize]; + ["Offset of field: task_struct::posix_cputimers_work"] + [::core::mem::offset_of!(task_struct, posix_cputimers_work) - 3208usize]; + ["Offset of field: task_struct::ptracer_cred"] + [::core::mem::offset_of!(task_struct, ptracer_cred) - 3264usize]; + ["Offset of field: task_struct::real_cred"] + [::core::mem::offset_of!(task_struct, real_cred) - 3272usize]; + ["Offset of field: task_struct::cred"][::core::mem::offset_of!(task_struct, cred) - 3280usize]; + ["Offset of field: task_struct::cached_requested_key"] + [::core::mem::offset_of!(task_struct, cached_requested_key) - 3288usize]; + ["Offset of field: task_struct::comm"][::core::mem::offset_of!(task_struct, comm) - 3296usize]; + ["Offset of field: task_struct::nameidata"] + [::core::mem::offset_of!(task_struct, nameidata) - 3312usize]; + ["Offset of field: task_struct::sysvsem"] + [::core::mem::offset_of!(task_struct, sysvsem) - 3320usize]; + ["Offset of field: task_struct::sysvshm"] + [::core::mem::offset_of!(task_struct, sysvshm) - 3328usize]; + ["Offset of field: task_struct::last_switch_count"] + [::core::mem::offset_of!(task_struct, last_switch_count) - 3344usize]; + ["Offset of field: task_struct::last_switch_time"] + [::core::mem::offset_of!(task_struct, last_switch_time) - 3352usize]; + ["Offset of field: task_struct::fs"][::core::mem::offset_of!(task_struct, fs) - 3360usize]; + ["Offset of field: task_struct::files"] + [::core::mem::offset_of!(task_struct, files) - 3368usize]; + ["Offset of field: task_struct::io_uring"] + [::core::mem::offset_of!(task_struct, io_uring) - 3376usize]; + ["Offset of field: task_struct::nsproxy"] + [::core::mem::offset_of!(task_struct, nsproxy) - 3384usize]; + ["Offset of field: task_struct::signal"] + [::core::mem::offset_of!(task_struct, signal) - 3392usize]; + ["Offset of field: task_struct::sighand"] + [::core::mem::offset_of!(task_struct, sighand) - 3400usize]; + ["Offset of field: task_struct::blocked"] + [::core::mem::offset_of!(task_struct, blocked) - 3408usize]; + ["Offset of field: task_struct::real_blocked"] + [::core::mem::offset_of!(task_struct, real_blocked) - 3416usize]; + ["Offset of field: task_struct::saved_sigmask"] + [::core::mem::offset_of!(task_struct, saved_sigmask) - 3424usize]; + ["Offset of field: task_struct::pending"] + [::core::mem::offset_of!(task_struct, pending) - 3432usize]; + ["Offset of field: task_struct::sas_ss_sp"] + [::core::mem::offset_of!(task_struct, sas_ss_sp) - 3456usize]; + ["Offset of field: task_struct::sas_ss_size"] + [::core::mem::offset_of!(task_struct, sas_ss_size) - 3464usize]; + ["Offset of field: task_struct::sas_ss_flags"] + [::core::mem::offset_of!(task_struct, sas_ss_flags) - 3472usize]; + ["Offset of field: task_struct::task_works"] + [::core::mem::offset_of!(task_struct, task_works) - 3480usize]; + ["Offset of field: task_struct::audit_context"] + [::core::mem::offset_of!(task_struct, audit_context) - 3488usize]; + ["Offset of field: task_struct::loginuid"] + [::core::mem::offset_of!(task_struct, loginuid) - 3496usize]; + ["Offset of field: task_struct::sessionid"] + [::core::mem::offset_of!(task_struct, sessionid) - 3500usize]; + ["Offset of field: task_struct::seccomp"] + [::core::mem::offset_of!(task_struct, seccomp) - 3504usize]; + ["Offset of field: task_struct::syscall_dispatch"] + [::core::mem::offset_of!(task_struct, syscall_dispatch) - 3520usize]; + ["Offset of field: task_struct::parent_exec_id"] + [::core::mem::offset_of!(task_struct, parent_exec_id) - 3552usize]; + ["Offset of field: task_struct::self_exec_id"] + [::core::mem::offset_of!(task_struct, self_exec_id) - 3560usize]; + ["Offset of field: task_struct::alloc_lock"] + [::core::mem::offset_of!(task_struct, alloc_lock) - 3568usize]; + ["Offset of field: task_struct::pi_lock"] + [::core::mem::offset_of!(task_struct, pi_lock) - 3572usize]; + ["Offset of field: task_struct::wake_q"] + [::core::mem::offset_of!(task_struct, wake_q) - 3576usize]; + ["Offset of field: task_struct::pi_waiters"] + [::core::mem::offset_of!(task_struct, pi_waiters) - 3584usize]; + ["Offset of field: task_struct::pi_top_task"] + [::core::mem::offset_of!(task_struct, pi_top_task) - 3600usize]; + ["Offset of field: task_struct::pi_blocked_on"] + [::core::mem::offset_of!(task_struct, pi_blocked_on) - 3608usize]; + ["Offset of field: task_struct::journal_info"] + [::core::mem::offset_of!(task_struct, journal_info) - 3616usize]; + ["Offset of field: task_struct::bio_list"] + [::core::mem::offset_of!(task_struct, bio_list) - 3624usize]; + ["Offset of field: task_struct::plug"][::core::mem::offset_of!(task_struct, plug) - 3632usize]; + ["Offset of field: task_struct::reclaim_state"] + [::core::mem::offset_of!(task_struct, reclaim_state) - 3640usize]; + ["Offset of field: task_struct::io_context"] + [::core::mem::offset_of!(task_struct, io_context) - 3648usize]; + ["Offset of field: task_struct::capture_control"] + [::core::mem::offset_of!(task_struct, capture_control) - 3656usize]; + ["Offset of field: task_struct::ptrace_message"] + [::core::mem::offset_of!(task_struct, ptrace_message) - 3664usize]; + ["Offset of field: task_struct::last_siginfo"] + [::core::mem::offset_of!(task_struct, last_siginfo) - 3672usize]; + ["Offset of field: task_struct::ioac"][::core::mem::offset_of!(task_struct, ioac) - 3680usize]; + ["Offset of field: task_struct::psi_flags"] + [::core::mem::offset_of!(task_struct, psi_flags) - 3736usize]; + ["Offset of field: task_struct::acct_rss_mem1"] + [::core::mem::offset_of!(task_struct, acct_rss_mem1) - 3744usize]; + ["Offset of field: task_struct::acct_vm_mem1"] + [::core::mem::offset_of!(task_struct, acct_vm_mem1) - 3752usize]; + ["Offset of field: task_struct::acct_timexpd"] + [::core::mem::offset_of!(task_struct, acct_timexpd) - 3760usize]; + ["Offset of field: task_struct::mems_allowed"] + [::core::mem::offset_of!(task_struct, mems_allowed) - 3768usize]; + ["Offset of field: task_struct::mems_allowed_seq"] + [::core::mem::offset_of!(task_struct, mems_allowed_seq) - 3896usize]; + ["Offset of field: task_struct::cpuset_mem_spread_rotor"] + [::core::mem::offset_of!(task_struct, cpuset_mem_spread_rotor) - 3900usize]; + ["Offset of field: task_struct::cgroups"] + [::core::mem::offset_of!(task_struct, cgroups) - 3904usize]; + ["Offset of field: task_struct::cg_list"] + [::core::mem::offset_of!(task_struct, cg_list) - 3912usize]; + ["Offset of field: task_struct::closid"] + [::core::mem::offset_of!(task_struct, closid) - 3928usize]; + ["Offset of field: task_struct::rmid"][::core::mem::offset_of!(task_struct, rmid) - 3932usize]; + ["Offset of field: task_struct::robust_list"] + [::core::mem::offset_of!(task_struct, robust_list) - 3936usize]; + ["Offset of field: task_struct::compat_robust_list"] + [::core::mem::offset_of!(task_struct, compat_robust_list) - 3944usize]; + ["Offset of field: task_struct::pi_state_list"] + [::core::mem::offset_of!(task_struct, pi_state_list) - 3952usize]; + ["Offset of field: task_struct::pi_state_cache"] + [::core::mem::offset_of!(task_struct, pi_state_cache) - 3968usize]; + ["Offset of field: task_struct::futex_exit_mutex"] + [::core::mem::offset_of!(task_struct, futex_exit_mutex) - 3976usize]; + ["Offset of field: task_struct::futex_state"] + [::core::mem::offset_of!(task_struct, futex_state) - 4008usize]; + ["Offset of field: task_struct::perf_recursion"] + [::core::mem::offset_of!(task_struct, perf_recursion) - 4012usize]; + ["Offset of field: task_struct::perf_event_ctxp"] + [::core::mem::offset_of!(task_struct, perf_event_ctxp) - 4016usize]; + ["Offset of field: task_struct::perf_event_mutex"] + [::core::mem::offset_of!(task_struct, perf_event_mutex) - 4024usize]; + ["Offset of field: task_struct::perf_event_list"] + [::core::mem::offset_of!(task_struct, perf_event_list) - 4056usize]; + ["Offset of field: task_struct::mempolicy"] + [::core::mem::offset_of!(task_struct, mempolicy) - 4072usize]; + ["Offset of field: task_struct::il_prev"] + [::core::mem::offset_of!(task_struct, il_prev) - 4080usize]; + ["Offset of field: task_struct::il_weight"] + [::core::mem::offset_of!(task_struct, il_weight) - 4082usize]; + ["Offset of field: task_struct::pref_node_fork"] + [::core::mem::offset_of!(task_struct, pref_node_fork) - 4084usize]; + ["Offset of field: task_struct::numa_scan_seq"] + [::core::mem::offset_of!(task_struct, numa_scan_seq) - 4088usize]; + ["Offset of field: task_struct::numa_scan_period"] + [::core::mem::offset_of!(task_struct, numa_scan_period) - 4092usize]; + ["Offset of field: task_struct::numa_scan_period_max"] + [::core::mem::offset_of!(task_struct, numa_scan_period_max) - 4096usize]; + ["Offset of field: task_struct::numa_preferred_nid"] + [::core::mem::offset_of!(task_struct, numa_preferred_nid) - 4100usize]; + ["Offset of field: task_struct::numa_migrate_retry"] + [::core::mem::offset_of!(task_struct, numa_migrate_retry) - 4104usize]; + ["Offset of field: task_struct::node_stamp"] + [::core::mem::offset_of!(task_struct, node_stamp) - 4112usize]; + ["Offset of field: task_struct::last_task_numa_placement"] + [::core::mem::offset_of!(task_struct, last_task_numa_placement) - 4120usize]; + ["Offset of field: task_struct::last_sum_exec_runtime"] + [::core::mem::offset_of!(task_struct, last_sum_exec_runtime) - 4128usize]; + ["Offset of field: task_struct::numa_work"] + [::core::mem::offset_of!(task_struct, numa_work) - 4136usize]; + ["Offset of field: task_struct::numa_group"] + [::core::mem::offset_of!(task_struct, numa_group) - 4152usize]; + ["Offset of field: task_struct::numa_faults"] + [::core::mem::offset_of!(task_struct, numa_faults) - 4160usize]; + ["Offset of field: task_struct::total_numa_faults"] + [::core::mem::offset_of!(task_struct, total_numa_faults) - 4168usize]; + ["Offset of field: task_struct::numa_faults_locality"] + [::core::mem::offset_of!(task_struct, numa_faults_locality) - 4176usize]; + ["Offset of field: task_struct::numa_pages_migrated"] + [::core::mem::offset_of!(task_struct, numa_pages_migrated) - 4200usize]; + ["Offset of field: task_struct::rseq"][::core::mem::offset_of!(task_struct, rseq) - 4208usize]; + ["Offset of field: task_struct::rseq_len"] + [::core::mem::offset_of!(task_struct, rseq_len) - 4216usize]; + ["Offset of field: task_struct::rseq_sig"] + [::core::mem::offset_of!(task_struct, rseq_sig) - 4220usize]; + ["Offset of field: task_struct::rseq_event_mask"] + [::core::mem::offset_of!(task_struct, rseq_event_mask) - 4224usize]; + ["Offset of field: task_struct::mm_cid"] + [::core::mem::offset_of!(task_struct, mm_cid) - 4232usize]; + ["Offset of field: task_struct::last_mm_cid"] + [::core::mem::offset_of!(task_struct, last_mm_cid) - 4236usize]; + ["Offset of field: task_struct::migrate_from_cpu"] + [::core::mem::offset_of!(task_struct, migrate_from_cpu) - 4240usize]; + ["Offset of field: task_struct::mm_cid_active"] + [::core::mem::offset_of!(task_struct, mm_cid_active) - 4244usize]; + ["Offset of field: task_struct::cid_work"] + [::core::mem::offset_of!(task_struct, cid_work) - 4248usize]; + ["Offset of field: task_struct::tlb_ubc"] + [::core::mem::offset_of!(task_struct, tlb_ubc) - 4264usize]; + ["Offset of field: task_struct::splice_pipe"] + [::core::mem::offset_of!(task_struct, splice_pipe) - 5296usize]; + ["Offset of field: task_struct::task_frag"] + [::core::mem::offset_of!(task_struct, task_frag) - 5304usize]; + ["Offset of field: task_struct::delays"] + [::core::mem::offset_of!(task_struct, delays) - 5320usize]; + ["Offset of field: task_struct::nr_dirtied"] + [::core::mem::offset_of!(task_struct, nr_dirtied) - 5328usize]; + ["Offset of field: task_struct::nr_dirtied_pause"] + [::core::mem::offset_of!(task_struct, nr_dirtied_pause) - 5332usize]; + ["Offset of field: task_struct::dirty_paused_when"] + [::core::mem::offset_of!(task_struct, dirty_paused_when) - 5336usize]; + ["Offset of field: task_struct::timer_slack_ns"] + [::core::mem::offset_of!(task_struct, timer_slack_ns) - 5344usize]; + ["Offset of field: task_struct::default_timer_slack_ns"] + [::core::mem::offset_of!(task_struct, default_timer_slack_ns) - 5352usize]; + ["Offset of field: task_struct::curr_ret_stack"] + [::core::mem::offset_of!(task_struct, curr_ret_stack) - 5360usize]; + ["Offset of field: task_struct::curr_ret_depth"] + [::core::mem::offset_of!(task_struct, curr_ret_depth) - 5364usize]; + ["Offset of field: task_struct::ret_stack"] + [::core::mem::offset_of!(task_struct, ret_stack) - 5368usize]; + ["Offset of field: task_struct::ftrace_timestamp"] + [::core::mem::offset_of!(task_struct, ftrace_timestamp) - 5376usize]; + ["Offset of field: task_struct::trace_overrun"] + [::core::mem::offset_of!(task_struct, trace_overrun) - 5384usize]; + ["Offset of field: task_struct::tracing_graph_pause"] + [::core::mem::offset_of!(task_struct, tracing_graph_pause) - 5388usize]; + ["Offset of field: task_struct::trace_recursion"] + [::core::mem::offset_of!(task_struct, trace_recursion) - 5392usize]; + ["Offset of field: task_struct::memcg_nr_pages_over_high"] + [::core::mem::offset_of!(task_struct, memcg_nr_pages_over_high) - 5400usize]; + ["Offset of field: task_struct::active_memcg"] + [::core::mem::offset_of!(task_struct, active_memcg) - 5408usize]; + ["Offset of field: task_struct::objcg"] + [::core::mem::offset_of!(task_struct, objcg) - 5416usize]; + ["Offset of field: task_struct::throttle_disk"] + [::core::mem::offset_of!(task_struct, throttle_disk) - 5424usize]; + ["Offset of field: task_struct::utask"] + [::core::mem::offset_of!(task_struct, utask) - 5432usize]; + ["Offset of field: task_struct::sequential_io"] + [::core::mem::offset_of!(task_struct, sequential_io) - 5440usize]; + ["Offset of field: task_struct::sequential_io_avg"] + [::core::mem::offset_of!(task_struct, sequential_io_avg) - 5444usize]; + ["Offset of field: task_struct::kmap_ctrl"] + [::core::mem::offset_of!(task_struct, kmap_ctrl) - 5448usize]; + ["Offset of field: task_struct::rcu"][::core::mem::offset_of!(task_struct, rcu) - 5448usize]; + ["Offset of field: task_struct::rcu_users"] + [::core::mem::offset_of!(task_struct, rcu_users) - 5464usize]; + ["Offset of field: task_struct::pagefault_disabled"] + [::core::mem::offset_of!(task_struct, pagefault_disabled) - 5468usize]; + ["Offset of field: task_struct::oom_reaper_list"] + [::core::mem::offset_of!(task_struct, oom_reaper_list) - 5472usize]; + ["Offset of field: task_struct::oom_reaper_timer"] + [::core::mem::offset_of!(task_struct, oom_reaper_timer) - 5480usize]; + ["Offset of field: task_struct::stack_vm_area"] + [::core::mem::offset_of!(task_struct, stack_vm_area) - 5520usize]; + ["Offset of field: task_struct::stack_refcount"] + [::core::mem::offset_of!(task_struct, stack_refcount) - 5528usize]; + ["Offset of field: task_struct::security"] + [::core::mem::offset_of!(task_struct, security) - 5536usize]; + ["Offset of field: task_struct::bpf_storage"] + [::core::mem::offset_of!(task_struct, bpf_storage) - 5544usize]; + ["Offset of field: task_struct::bpf_ctx"] + [::core::mem::offset_of!(task_struct, bpf_ctx) - 5552usize]; + ["Offset of field: task_struct::bpf_net_context"] + [::core::mem::offset_of!(task_struct, bpf_net_context) - 5560usize]; + ["Offset of field: task_struct::mce_vaddr"] + [::core::mem::offset_of!(task_struct, mce_vaddr) - 5568usize]; + ["Offset of field: task_struct::mce_kflags"] + [::core::mem::offset_of!(task_struct, mce_kflags) - 5576usize]; + ["Offset of field: task_struct::mce_addr"] + [::core::mem::offset_of!(task_struct, mce_addr) - 5584usize]; + ["Offset of field: task_struct::mce_kill_me"] + [::core::mem::offset_of!(task_struct, mce_kill_me) - 5600usize]; + ["Offset of field: task_struct::mce_count"] + [::core::mem::offset_of!(task_struct, mce_count) - 5616usize]; + ["Offset of field: task_struct::kretprobe_instances"] + [::core::mem::offset_of!(task_struct, kretprobe_instances) - 5624usize]; + ["Offset of field: task_struct::rethooks"] + [::core::mem::offset_of!(task_struct, rethooks) - 5632usize]; + ["Offset of field: task_struct::l1d_flush_kill"] + [::core::mem::offset_of!(task_struct, l1d_flush_kill) - 5640usize]; + ["Offset of field: task_struct::user_event_mm"] + [::core::mem::offset_of!(task_struct, user_event_mm) - 5656usize]; + ["Offset of field: task_struct::thread"] + [::core::mem::offset_of!(task_struct, thread) - 5696usize]; +}; +impl task_struct { + #[inline] + pub fn sched_reset_on_fork(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_sched_reset_on_fork(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sched_reset_on_fork_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sched_reset_on_fork_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sched_contributes_to_load(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_sched_contributes_to_load(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sched_contributes_to_load_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sched_contributes_to_load_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sched_migrated(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_sched_migrated(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sched_migrated_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sched_migrated_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sched_task_hot(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_sched_task_hot(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sched_task_hot_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sched_task_hot_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sched_remote_wakeup(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(32usize, 1u8) as u32) } + } + #[inline] + pub fn set_sched_remote_wakeup(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(32usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sched_remote_wakeup_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 32usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sched_remote_wakeup_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 32usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn sched_rt_mutex(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(33usize, 1u8) as u32) } + } + #[inline] + pub fn set_sched_rt_mutex(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(33usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn sched_rt_mutex_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 33usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_sched_rt_mutex_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 33usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_execve(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(34usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_execve(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(34usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_execve_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 34usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_execve_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 34usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_iowait(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(35usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_iowait(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(35usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_iowait_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 35usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_iowait_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 35usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn restore_sigmask(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(36usize, 1u8) as u32) } + } + #[inline] + pub fn set_restore_sigmask(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(36usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn restore_sigmask_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 36usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_restore_sigmask_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 36usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_lru_fault(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(37usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_lru_fault(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(37usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_lru_fault_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 37usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_lru_fault_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 37usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn no_cgroup_migration(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(38usize, 1u8) as u32) } + } + #[inline] + pub fn set_no_cgroup_migration(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(38usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_cgroup_migration_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 38usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_no_cgroup_migration_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 38usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn frozen(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(39usize, 1u8) as u32) } + } + #[inline] + pub fn set_frozen(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(39usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn frozen_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 39usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_frozen_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 39usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn use_memdelay(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(40usize, 1u8) as u32) } + } + #[inline] + pub fn set_use_memdelay(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(40usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn use_memdelay_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 40usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_use_memdelay_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 40usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_memstall(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(41usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_memstall(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(41usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_memstall_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 41usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_memstall_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 41usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_eventfd(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(42usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_eventfd(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(42usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_eventfd_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 42usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_eventfd_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 42usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn pasid_activated(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(43usize, 1u8) as u32) } + } + #[inline] + pub fn set_pasid_activated(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(43usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn pasid_activated_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 43usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_pasid_activated_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 43usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn reported_split_lock(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(44usize, 1u8) as u32) } + } + #[inline] + pub fn set_reported_split_lock(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(44usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn reported_split_lock_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 44usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_reported_split_lock_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 44usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn in_thrashing(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_2.get(45usize, 1u8) as u32) } + } + #[inline] + pub fn set_in_thrashing(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_2.set(45usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn in_thrashing_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 6usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 45usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_in_thrashing_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 6usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 45usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2( + sched_reset_on_fork: ::core::ffi::c_uint, + sched_contributes_to_load: ::core::ffi::c_uint, + sched_migrated: ::core::ffi::c_uint, + sched_task_hot: ::core::ffi::c_uint, + sched_remote_wakeup: ::core::ffi::c_uint, + sched_rt_mutex: ::core::ffi::c_uint, + in_execve: ::core::ffi::c_uint, + in_iowait: ::core::ffi::c_uint, + restore_sigmask: ::core::ffi::c_uint, + in_lru_fault: ::core::ffi::c_uint, + no_cgroup_migration: ::core::ffi::c_uint, + frozen: ::core::ffi::c_uint, + use_memdelay: ::core::ffi::c_uint, + in_memstall: ::core::ffi::c_uint, + in_eventfd: ::core::ffi::c_uint, + pasid_activated: ::core::ffi::c_uint, + reported_split_lock: ::core::ffi::c_uint, + in_thrashing: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 6usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 6usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let sched_reset_on_fork: u32 = unsafe { ::core::mem::transmute(sched_reset_on_fork) }; + sched_reset_on_fork as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let sched_contributes_to_load: u32 = + unsafe { ::core::mem::transmute(sched_contributes_to_load) }; + sched_contributes_to_load as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let sched_migrated: u32 = unsafe { ::core::mem::transmute(sched_migrated) }; + sched_migrated as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let sched_task_hot: u32 = unsafe { ::core::mem::transmute(sched_task_hot) }; + sched_task_hot as u64 + }); + __bindgen_bitfield_unit.set(32usize, 1u8, { + let sched_remote_wakeup: u32 = unsafe { ::core::mem::transmute(sched_remote_wakeup) }; + sched_remote_wakeup as u64 + }); + __bindgen_bitfield_unit.set(33usize, 1u8, { + let sched_rt_mutex: u32 = unsafe { ::core::mem::transmute(sched_rt_mutex) }; + sched_rt_mutex as u64 + }); + __bindgen_bitfield_unit.set(34usize, 1u8, { + let in_execve: u32 = unsafe { ::core::mem::transmute(in_execve) }; + in_execve as u64 + }); + __bindgen_bitfield_unit.set(35usize, 1u8, { + let in_iowait: u32 = unsafe { ::core::mem::transmute(in_iowait) }; + in_iowait as u64 + }); + __bindgen_bitfield_unit.set(36usize, 1u8, { + let restore_sigmask: u32 = unsafe { ::core::mem::transmute(restore_sigmask) }; + restore_sigmask as u64 + }); + __bindgen_bitfield_unit.set(37usize, 1u8, { + let in_lru_fault: u32 = unsafe { ::core::mem::transmute(in_lru_fault) }; + in_lru_fault as u64 + }); + __bindgen_bitfield_unit.set(38usize, 1u8, { + let no_cgroup_migration: u32 = unsafe { ::core::mem::transmute(no_cgroup_migration) }; + no_cgroup_migration as u64 + }); + __bindgen_bitfield_unit.set(39usize, 1u8, { + let frozen: u32 = unsafe { ::core::mem::transmute(frozen) }; + frozen as u64 + }); + __bindgen_bitfield_unit.set(40usize, 1u8, { + let use_memdelay: u32 = unsafe { ::core::mem::transmute(use_memdelay) }; + use_memdelay as u64 + }); + __bindgen_bitfield_unit.set(41usize, 1u8, { + let in_memstall: u32 = unsafe { ::core::mem::transmute(in_memstall) }; + in_memstall as u64 + }); + __bindgen_bitfield_unit.set(42usize, 1u8, { + let in_eventfd: u32 = unsafe { ::core::mem::transmute(in_eventfd) }; + in_eventfd as u64 + }); + __bindgen_bitfield_unit.set(43usize, 1u8, { + let pasid_activated: u32 = unsafe { ::core::mem::transmute(pasid_activated) }; + pasid_activated as u64 + }); + __bindgen_bitfield_unit.set(44usize, 1u8, { + let reported_split_lock: u32 = unsafe { ::core::mem::transmute(reported_split_lock) }; + reported_split_lock as u64 + }); + __bindgen_bitfield_unit.set(45usize, 1u8, { + let in_thrashing: u32 = unsafe { ::core::mem::transmute(in_thrashing) }; + in_thrashing as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn mce_ripv(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_3.get(0usize, 1u8) as u64) } + } + #[inline] + pub fn set_mce_ripv(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_3.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mce_ripv_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 0usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mce_ripv_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn mce_whole_page(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_3.get(1usize, 1u8) as u64) } + } + #[inline] + pub fn set_mce_whole_page(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_3.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mce_whole_page_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 1usize, + 1u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set_mce_whole_page_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn __mce_reserved(&self) -> __u64 { + unsafe { ::core::mem::transmute(self._bitfield_3.get(2usize, 62u8) as u64) } + } + #[inline] + pub fn set___mce_reserved(&mut self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + self._bitfield_3.set(2usize, 62u8, val as u64) + } + } + #[inline] + pub unsafe fn __mce_reserved_raw(this: *const Self) -> __u64 { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_3), + 2usize, + 62u8, + ) as u64) + } + } + #[inline] + pub unsafe fn set___mce_reserved_raw(this: *mut Self, val: __u64) { + unsafe { + let val: u64 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_3), + 2usize, + 62u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_3( + mce_ripv: __u64, + mce_whole_page: __u64, + __mce_reserved: __u64, + ) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let mce_ripv: u64 = unsafe { ::core::mem::transmute(mce_ripv) }; + mce_ripv as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let mce_whole_page: u64 = unsafe { ::core::mem::transmute(mce_whole_page) }; + mce_whole_page as u64 + }); + __bindgen_bitfield_unit.set(2usize, 62u8, { + let __mce_reserved: u64 = unsafe { ::core::mem::transmute(__mce_reserved) }; + __mce_reserved as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn new_bitfield_4() -> __BindgenBitfieldUnit<[u8; 32usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct taskstats { + pub version: __u16, + pub ac_exitcode: __u32, + pub ac_flag: __u8, + pub ac_nice: __u8, + pub cpu_count: __u64, + pub cpu_delay_total: __u64, + pub blkio_count: __u64, + pub blkio_delay_total: __u64, + pub swapin_count: __u64, + pub swapin_delay_total: __u64, + pub cpu_run_real_total: __u64, + pub cpu_run_virtual_total: __u64, + pub ac_comm: [::core::ffi::c_char; 32usize], + pub ac_sched: __u8, + pub ac_pad: [__u8; 3usize], + pub __bindgen_padding_0: u32, + pub ac_uid: __u32, + pub ac_gid: __u32, + pub ac_pid: __u32, + pub ac_ppid: __u32, + pub ac_btime: __u32, + pub ac_etime: __u64, + pub ac_utime: __u64, + pub ac_stime: __u64, + pub ac_minflt: __u64, + pub ac_majflt: __u64, + pub coremem: __u64, + pub virtmem: __u64, + pub hiwater_rss: __u64, + pub hiwater_vm: __u64, + pub read_char: __u64, + pub write_char: __u64, + pub read_syscalls: __u64, + pub write_syscalls: __u64, + pub read_bytes: __u64, + pub write_bytes: __u64, + pub cancelled_write_bytes: __u64, + pub nvcsw: __u64, + pub nivcsw: __u64, + pub ac_utimescaled: __u64, + pub ac_stimescaled: __u64, + pub cpu_scaled_run_real_total: __u64, + pub freepages_count: __u64, + pub freepages_delay_total: __u64, + pub thrashing_count: __u64, + pub thrashing_delay_total: __u64, + pub ac_btime64: __u64, + pub compact_count: __u64, + pub compact_delay_total: __u64, + pub ac_tgid: __u32, + pub ac_tgetime: __u64, + pub ac_exe_dev: __u64, + pub ac_exe_inode: __u64, + pub wpcopy_count: __u64, + pub wpcopy_delay_total: __u64, + pub irq_count: __u64, + pub irq_delay_total: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of taskstats"][::core::mem::size_of::() - 432usize]; + ["Alignment of taskstats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: taskstats::version"][::core::mem::offset_of!(taskstats, version) - 0usize]; + ["Offset of field: taskstats::ac_exitcode"] + [::core::mem::offset_of!(taskstats, ac_exitcode) - 4usize]; + ["Offset of field: taskstats::ac_flag"][::core::mem::offset_of!(taskstats, ac_flag) - 8usize]; + ["Offset of field: taskstats::ac_nice"][::core::mem::offset_of!(taskstats, ac_nice) - 9usize]; + ["Offset of field: taskstats::cpu_count"] + [::core::mem::offset_of!(taskstats, cpu_count) - 16usize]; + ["Offset of field: taskstats::cpu_delay_total"] + [::core::mem::offset_of!(taskstats, cpu_delay_total) - 24usize]; + ["Offset of field: taskstats::blkio_count"] + [::core::mem::offset_of!(taskstats, blkio_count) - 32usize]; + ["Offset of field: taskstats::blkio_delay_total"] + [::core::mem::offset_of!(taskstats, blkio_delay_total) - 40usize]; + ["Offset of field: taskstats::swapin_count"] + [::core::mem::offset_of!(taskstats, swapin_count) - 48usize]; + ["Offset of field: taskstats::swapin_delay_total"] + [::core::mem::offset_of!(taskstats, swapin_delay_total) - 56usize]; + ["Offset of field: taskstats::cpu_run_real_total"] + [::core::mem::offset_of!(taskstats, cpu_run_real_total) - 64usize]; + ["Offset of field: taskstats::cpu_run_virtual_total"] + [::core::mem::offset_of!(taskstats, cpu_run_virtual_total) - 72usize]; + ["Offset of field: taskstats::ac_comm"][::core::mem::offset_of!(taskstats, ac_comm) - 80usize]; + ["Offset of field: taskstats::ac_sched"] + [::core::mem::offset_of!(taskstats, ac_sched) - 112usize]; + ["Offset of field: taskstats::ac_pad"][::core::mem::offset_of!(taskstats, ac_pad) - 113usize]; + ["Offset of field: taskstats::ac_uid"][::core::mem::offset_of!(taskstats, ac_uid) - 120usize]; + ["Offset of field: taskstats::ac_gid"][::core::mem::offset_of!(taskstats, ac_gid) - 124usize]; + ["Offset of field: taskstats::ac_pid"][::core::mem::offset_of!(taskstats, ac_pid) - 128usize]; + ["Offset of field: taskstats::ac_ppid"][::core::mem::offset_of!(taskstats, ac_ppid) - 132usize]; + ["Offset of field: taskstats::ac_btime"] + [::core::mem::offset_of!(taskstats, ac_btime) - 136usize]; + ["Offset of field: taskstats::ac_etime"] + [::core::mem::offset_of!(taskstats, ac_etime) - 144usize]; + ["Offset of field: taskstats::ac_utime"] + [::core::mem::offset_of!(taskstats, ac_utime) - 152usize]; + ["Offset of field: taskstats::ac_stime"] + [::core::mem::offset_of!(taskstats, ac_stime) - 160usize]; + ["Offset of field: taskstats::ac_minflt"] + [::core::mem::offset_of!(taskstats, ac_minflt) - 168usize]; + ["Offset of field: taskstats::ac_majflt"] + [::core::mem::offset_of!(taskstats, ac_majflt) - 176usize]; + ["Offset of field: taskstats::coremem"][::core::mem::offset_of!(taskstats, coremem) - 184usize]; + ["Offset of field: taskstats::virtmem"][::core::mem::offset_of!(taskstats, virtmem) - 192usize]; + ["Offset of field: taskstats::hiwater_rss"] + [::core::mem::offset_of!(taskstats, hiwater_rss) - 200usize]; + ["Offset of field: taskstats::hiwater_vm"] + [::core::mem::offset_of!(taskstats, hiwater_vm) - 208usize]; + ["Offset of field: taskstats::read_char"] + [::core::mem::offset_of!(taskstats, read_char) - 216usize]; + ["Offset of field: taskstats::write_char"] + [::core::mem::offset_of!(taskstats, write_char) - 224usize]; + ["Offset of field: taskstats::read_syscalls"] + [::core::mem::offset_of!(taskstats, read_syscalls) - 232usize]; + ["Offset of field: taskstats::write_syscalls"] + [::core::mem::offset_of!(taskstats, write_syscalls) - 240usize]; + ["Offset of field: taskstats::read_bytes"] + [::core::mem::offset_of!(taskstats, read_bytes) - 248usize]; + ["Offset of field: taskstats::write_bytes"] + [::core::mem::offset_of!(taskstats, write_bytes) - 256usize]; + ["Offset of field: taskstats::cancelled_write_bytes"] + [::core::mem::offset_of!(taskstats, cancelled_write_bytes) - 264usize]; + ["Offset of field: taskstats::nvcsw"][::core::mem::offset_of!(taskstats, nvcsw) - 272usize]; + ["Offset of field: taskstats::nivcsw"][::core::mem::offset_of!(taskstats, nivcsw) - 280usize]; + ["Offset of field: taskstats::ac_utimescaled"] + [::core::mem::offset_of!(taskstats, ac_utimescaled) - 288usize]; + ["Offset of field: taskstats::ac_stimescaled"] + [::core::mem::offset_of!(taskstats, ac_stimescaled) - 296usize]; + ["Offset of field: taskstats::cpu_scaled_run_real_total"] + [::core::mem::offset_of!(taskstats, cpu_scaled_run_real_total) - 304usize]; + ["Offset of field: taskstats::freepages_count"] + [::core::mem::offset_of!(taskstats, freepages_count) - 312usize]; + ["Offset of field: taskstats::freepages_delay_total"] + [::core::mem::offset_of!(taskstats, freepages_delay_total) - 320usize]; + ["Offset of field: taskstats::thrashing_count"] + [::core::mem::offset_of!(taskstats, thrashing_count) - 328usize]; + ["Offset of field: taskstats::thrashing_delay_total"] + [::core::mem::offset_of!(taskstats, thrashing_delay_total) - 336usize]; + ["Offset of field: taskstats::ac_btime64"] + [::core::mem::offset_of!(taskstats, ac_btime64) - 344usize]; + ["Offset of field: taskstats::compact_count"] + [::core::mem::offset_of!(taskstats, compact_count) - 352usize]; + ["Offset of field: taskstats::compact_delay_total"] + [::core::mem::offset_of!(taskstats, compact_delay_total) - 360usize]; + ["Offset of field: taskstats::ac_tgid"][::core::mem::offset_of!(taskstats, ac_tgid) - 368usize]; + ["Offset of field: taskstats::ac_tgetime"] + [::core::mem::offset_of!(taskstats, ac_tgetime) - 376usize]; + ["Offset of field: taskstats::ac_exe_dev"] + [::core::mem::offset_of!(taskstats, ac_exe_dev) - 384usize]; + ["Offset of field: taskstats::ac_exe_inode"] + [::core::mem::offset_of!(taskstats, ac_exe_inode) - 392usize]; + ["Offset of field: taskstats::wpcopy_count"] + [::core::mem::offset_of!(taskstats, wpcopy_count) - 400usize]; + ["Offset of field: taskstats::wpcopy_delay_total"] + [::core::mem::offset_of!(taskstats, wpcopy_delay_total) - 408usize]; + ["Offset of field: taskstats::irq_count"] + [::core::mem::offset_of!(taskstats, irq_count) - 416usize]; + ["Offset of field: taskstats::irq_delay_total"] + [::core::mem::offset_of!(taskstats, irq_delay_total) - 424usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcf_t { + pub install: __u64, + pub lastuse: __u64, + pub expires: __u64, + pub firstuse: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_t"][::core::mem::size_of::() - 32usize]; + ["Alignment of tcf_t"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_t::install"][::core::mem::offset_of!(tcf_t, install) - 0usize]; + ["Offset of field: tcf_t::lastuse"][::core::mem::offset_of!(tcf_t, lastuse) - 8usize]; + ["Offset of field: tcf_t::expires"][::core::mem::offset_of!(tcf_t, expires) - 16usize]; + ["Offset of field: tcf_t::firstuse"][::core::mem::offset_of!(tcf_t, firstuse) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tc_action { + pub ops: *const tc_action_ops, + pub type_: __u32, + pub idrinfo: *mut tcf_idrinfo, + pub tcfa_index: u32_, + pub tcfa_refcnt: refcount_t, + pub tcfa_bindcnt: atomic_t, + pub tcfa_action: ::core::ffi::c_int, + pub tcfa_tm: tcf_t, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, + pub tcfa_bstats: gnet_stats_basic_sync, + pub tcfa_bstats_hw: gnet_stats_basic_sync, + pub tcfa_qstats: gnet_stats_queue, + pub tcfa_rate_est: *mut net_rate_estimator, + pub tcfa_lock: spinlock_t, + pub cpu_bstats: *mut gnet_stats_basic_sync, + pub cpu_bstats_hw: *mut gnet_stats_basic_sync, + pub cpu_qstats: *mut gnet_stats_queue, + pub user_cookie: *mut tc_cookie, + pub goto_chain: *mut tcf_chain, + pub tcfa_flags: u32_, + pub hw_stats: u8_, + pub used_hw_stats: u8_, + pub used_hw_stats_valid: bool_, + pub in_hw_count: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tc_action"][::core::mem::size_of::() - 208usize]; + ["Alignment of tc_action"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tc_action::ops"][::core::mem::offset_of!(tc_action, ops) - 0usize]; + ["Offset of field: tc_action::type_"][::core::mem::offset_of!(tc_action, type_) - 8usize]; + ["Offset of field: tc_action::idrinfo"][::core::mem::offset_of!(tc_action, idrinfo) - 16usize]; + ["Offset of field: tc_action::tcfa_index"] + [::core::mem::offset_of!(tc_action, tcfa_index) - 24usize]; + ["Offset of field: tc_action::tcfa_refcnt"] + [::core::mem::offset_of!(tc_action, tcfa_refcnt) - 28usize]; + ["Offset of field: tc_action::tcfa_bindcnt"] + [::core::mem::offset_of!(tc_action, tcfa_bindcnt) - 32usize]; + ["Offset of field: tc_action::tcfa_action"] + [::core::mem::offset_of!(tc_action, tcfa_action) - 36usize]; + ["Offset of field: tc_action::tcfa_tm"][::core::mem::offset_of!(tc_action, tcfa_tm) - 40usize]; + ["Offset of field: tc_action::tcfa_bstats"] + [::core::mem::offset_of!(tc_action, tcfa_bstats) - 80usize]; + ["Offset of field: tc_action::tcfa_bstats_hw"] + [::core::mem::offset_of!(tc_action, tcfa_bstats_hw) - 96usize]; + ["Offset of field: tc_action::tcfa_qstats"] + [::core::mem::offset_of!(tc_action, tcfa_qstats) - 112usize]; + ["Offset of field: tc_action::tcfa_rate_est"] + [::core::mem::offset_of!(tc_action, tcfa_rate_est) - 136usize]; + ["Offset of field: tc_action::tcfa_lock"] + [::core::mem::offset_of!(tc_action, tcfa_lock) - 144usize]; + ["Offset of field: tc_action::cpu_bstats"] + [::core::mem::offset_of!(tc_action, cpu_bstats) - 152usize]; + ["Offset of field: tc_action::cpu_bstats_hw"] + [::core::mem::offset_of!(tc_action, cpu_bstats_hw) - 160usize]; + ["Offset of field: tc_action::cpu_qstats"] + [::core::mem::offset_of!(tc_action, cpu_qstats) - 168usize]; + ["Offset of field: tc_action::user_cookie"] + [::core::mem::offset_of!(tc_action, user_cookie) - 176usize]; + ["Offset of field: tc_action::goto_chain"] + [::core::mem::offset_of!(tc_action, goto_chain) - 184usize]; + ["Offset of field: tc_action::tcfa_flags"] + [::core::mem::offset_of!(tc_action, tcfa_flags) - 192usize]; + ["Offset of field: tc_action::hw_stats"] + [::core::mem::offset_of!(tc_action, hw_stats) - 196usize]; + ["Offset of field: tc_action::used_hw_stats"] + [::core::mem::offset_of!(tc_action, used_hw_stats) - 197usize]; + ["Offset of field: tc_action::used_hw_stats_valid"] + [::core::mem::offset_of!(tc_action, used_hw_stats_valid) - 198usize]; + ["Offset of field: tc_action::in_hw_count"] + [::core::mem::offset_of!(tc_action, in_hw_count) - 200usize]; +}; +impl tc_action { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +pub type tc_action_priv_destructor = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tc_action_ops { + pub head: list_head, + pub kind: [::core::ffi::c_char; 16usize], + pub id: tca_id, + pub net_id: ::core::ffi::c_uint, + pub size: usize, + pub owner: *mut module, + pub act: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *const tc_action, + arg3: *mut tcf_result, + ) -> ::core::ffi::c_int, + >, + pub dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut tc_action, + arg3: ::core::ffi::c_int, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub cleanup: ::core::option::Option, + pub lookup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut *mut tc_action, + arg3: u32_, + ) -> ::core::ffi::c_int, + >, + pub init: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut nlattr, + arg3: *mut nlattr, + arg4: *mut *mut tc_action, + arg5: *mut tcf_proto, + arg6: u32_, + arg7: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub walk: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut sk_buff, + arg3: *mut netlink_callback, + arg4: ::core::ffi::c_int, + arg5: *const tc_action_ops, + arg6: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub stats_update: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tc_action, + arg2: u64_, + arg3: u64_, + arg4: u64_, + arg5: u64_, + arg6: bool_, + ), + >, + pub get_fill_size: + ::core::option::Option usize>, + pub get_dev: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const tc_action, + arg2: *mut tc_action_priv_destructor, + ) -> *mut net_device, + >, + pub get_psample_group: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const tc_action, + arg2: *mut tc_action_priv_destructor, + ) -> *mut psample_group, + >, + pub offload_act_setup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tc_action, + arg2: *mut ::core::ffi::c_void, + arg3: *mut u32_, + arg4: bool_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tc_action_ops"][::core::mem::size_of::() - 144usize]; + ["Alignment of tc_action_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tc_action_ops::head"][::core::mem::offset_of!(tc_action_ops, head) - 0usize]; + ["Offset of field: tc_action_ops::kind"] + [::core::mem::offset_of!(tc_action_ops, kind) - 16usize]; + ["Offset of field: tc_action_ops::id"][::core::mem::offset_of!(tc_action_ops, id) - 32usize]; + ["Offset of field: tc_action_ops::net_id"] + [::core::mem::offset_of!(tc_action_ops, net_id) - 36usize]; + ["Offset of field: tc_action_ops::size"] + [::core::mem::offset_of!(tc_action_ops, size) - 40usize]; + ["Offset of field: tc_action_ops::owner"] + [::core::mem::offset_of!(tc_action_ops, owner) - 48usize]; + ["Offset of field: tc_action_ops::act"][::core::mem::offset_of!(tc_action_ops, act) - 56usize]; + ["Offset of field: tc_action_ops::dump"] + [::core::mem::offset_of!(tc_action_ops, dump) - 64usize]; + ["Offset of field: tc_action_ops::cleanup"] + [::core::mem::offset_of!(tc_action_ops, cleanup) - 72usize]; + ["Offset of field: tc_action_ops::lookup"] + [::core::mem::offset_of!(tc_action_ops, lookup) - 80usize]; + ["Offset of field: tc_action_ops::init"] + [::core::mem::offset_of!(tc_action_ops, init) - 88usize]; + ["Offset of field: tc_action_ops::walk"] + [::core::mem::offset_of!(tc_action_ops, walk) - 96usize]; + ["Offset of field: tc_action_ops::stats_update"] + [::core::mem::offset_of!(tc_action_ops, stats_update) - 104usize]; + ["Offset of field: tc_action_ops::get_fill_size"] + [::core::mem::offset_of!(tc_action_ops, get_fill_size) - 112usize]; + ["Offset of field: tc_action_ops::get_dev"] + [::core::mem::offset_of!(tc_action_ops, get_dev) - 120usize]; + ["Offset of field: tc_action_ops::get_psample_group"] + [::core::mem::offset_of!(tc_action_ops, get_psample_group) - 128usize]; + ["Offset of field: tc_action_ops::offload_act_setup"] + [::core::mem::offset_of!(tc_action_ops, offload_act_setup) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tc_cookie { + pub data: *mut u8_, + pub len: u32_, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tc_cookie"][::core::mem::size_of::() - 32usize]; + ["Alignment of tc_cookie"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tc_cookie::data"][::core::mem::offset_of!(tc_cookie, data) - 0usize]; + ["Offset of field: tc_cookie::len"][::core::mem::offset_of!(tc_cookie, len) - 8usize]; + ["Offset of field: tc_cookie::rcu"][::core::mem::offset_of!(tc_cookie, rcu) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcf_walker { + pub stop: ::core::ffi::c_int, + pub skip: ::core::ffi::c_int, + pub count: ::core::ffi::c_int, + pub nonempty: bool_, + pub cookie: ::core::ffi::c_ulong, + pub fn_: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tcf_proto, + arg2: *mut ::core::ffi::c_void, + arg3: *mut tcf_walker, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_walker"][::core::mem::size_of::() - 32usize]; + ["Alignment of tcf_walker"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_walker::stop"][::core::mem::offset_of!(tcf_walker, stop) - 0usize]; + ["Offset of field: tcf_walker::skip"][::core::mem::offset_of!(tcf_walker, skip) - 4usize]; + ["Offset of field: tcf_walker::count"][::core::mem::offset_of!(tcf_walker, count) - 8usize]; + ["Offset of field: tcf_walker::nonempty"] + [::core::mem::offset_of!(tcf_walker, nonempty) - 12usize]; + ["Offset of field: tcf_walker::cookie"][::core::mem::offset_of!(tcf_walker, cookie) - 16usize]; + ["Offset of field: tcf_walker::fn_"][::core::mem::offset_of!(tcf_walker, fn_) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tcf_block { + pub ports: xarray, + pub lock: mutex, + pub chain_list: list_head, + pub index: u32_, + pub classid: u32_, + pub refcnt: refcount_t, + pub net: *mut net, + pub q: *mut Qdisc, + pub cb_lock: rw_semaphore, + pub flow_block: flow_block, + pub owner_list: list_head, + pub keep_dst: bool_, + pub useswcnt: atomic_t, + pub offloadcnt: atomic_t, + pub nooffloaddevcnt: ::core::ffi::c_uint, + pub lockeddevcnt: ::core::ffi::c_uint, + pub chain0: tcf_block__bindgen_ty_1, + pub rcu: callback_head, + pub proto_destroy_ht: [hlist_head; 128usize], + pub proto_destroy_lock: mutex, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcf_block__bindgen_ty_1 { + pub chain: *mut tcf_chain, + pub filter_chain_list: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_block__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of tcf_block__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_block__bindgen_ty_1::chain"] + [::core::mem::offset_of!(tcf_block__bindgen_ty_1, chain) - 0usize]; + ["Offset of field: tcf_block__bindgen_ty_1::filter_chain_list"] + [::core::mem::offset_of!(tcf_block__bindgen_ty_1, filter_chain_list) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_block"][::core::mem::size_of::() - 1288usize]; + ["Alignment of tcf_block"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_block::ports"][::core::mem::offset_of!(tcf_block, ports) - 0usize]; + ["Offset of field: tcf_block::lock"][::core::mem::offset_of!(tcf_block, lock) - 16usize]; + ["Offset of field: tcf_block::chain_list"] + [::core::mem::offset_of!(tcf_block, chain_list) - 48usize]; + ["Offset of field: tcf_block::index"][::core::mem::offset_of!(tcf_block, index) - 64usize]; + ["Offset of field: tcf_block::classid"][::core::mem::offset_of!(tcf_block, classid) - 68usize]; + ["Offset of field: tcf_block::refcnt"][::core::mem::offset_of!(tcf_block, refcnt) - 72usize]; + ["Offset of field: tcf_block::net"][::core::mem::offset_of!(tcf_block, net) - 80usize]; + ["Offset of field: tcf_block::q"][::core::mem::offset_of!(tcf_block, q) - 88usize]; + ["Offset of field: tcf_block::cb_lock"][::core::mem::offset_of!(tcf_block, cb_lock) - 96usize]; + ["Offset of field: tcf_block::flow_block"] + [::core::mem::offset_of!(tcf_block, flow_block) - 136usize]; + ["Offset of field: tcf_block::owner_list"] + [::core::mem::offset_of!(tcf_block, owner_list) - 152usize]; + ["Offset of field: tcf_block::keep_dst"] + [::core::mem::offset_of!(tcf_block, keep_dst) - 168usize]; + ["Offset of field: tcf_block::useswcnt"] + [::core::mem::offset_of!(tcf_block, useswcnt) - 172usize]; + ["Offset of field: tcf_block::offloadcnt"] + [::core::mem::offset_of!(tcf_block, offloadcnt) - 176usize]; + ["Offset of field: tcf_block::nooffloaddevcnt"] + [::core::mem::offset_of!(tcf_block, nooffloaddevcnt) - 180usize]; + ["Offset of field: tcf_block::lockeddevcnt"] + [::core::mem::offset_of!(tcf_block, lockeddevcnt) - 184usize]; + ["Offset of field: tcf_block::chain0"][::core::mem::offset_of!(tcf_block, chain0) - 192usize]; + ["Offset of field: tcf_block::rcu"][::core::mem::offset_of!(tcf_block, rcu) - 216usize]; + ["Offset of field: tcf_block::proto_destroy_ht"] + [::core::mem::offset_of!(tcf_block, proto_destroy_ht) - 232usize]; + ["Offset of field: tcf_block::proto_destroy_lock"] + [::core::mem::offset_of!(tcf_block, proto_destroy_lock) - 1256usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tcf_chain { + pub filter_chain_lock: mutex, + pub filter_chain: *mut tcf_proto, + pub list: list_head, + pub block: *mut tcf_block, + pub index: u32_, + pub refcnt: ::core::ffi::c_uint, + pub action_refcnt: ::core::ffi::c_uint, + pub explicitly_created: bool_, + pub flushing: bool_, + pub tmplt_ops: *const tcf_proto_ops, + pub tmplt_priv: *mut ::core::ffi::c_void, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_chain"][::core::mem::size_of::() - 112usize]; + ["Alignment of tcf_chain"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_chain::filter_chain_lock"] + [::core::mem::offset_of!(tcf_chain, filter_chain_lock) - 0usize]; + ["Offset of field: tcf_chain::filter_chain"] + [::core::mem::offset_of!(tcf_chain, filter_chain) - 32usize]; + ["Offset of field: tcf_chain::list"][::core::mem::offset_of!(tcf_chain, list) - 40usize]; + ["Offset of field: tcf_chain::block"][::core::mem::offset_of!(tcf_chain, block) - 56usize]; + ["Offset of field: tcf_chain::index"][::core::mem::offset_of!(tcf_chain, index) - 64usize]; + ["Offset of field: tcf_chain::refcnt"][::core::mem::offset_of!(tcf_chain, refcnt) - 68usize]; + ["Offset of field: tcf_chain::action_refcnt"] + [::core::mem::offset_of!(tcf_chain, action_refcnt) - 72usize]; + ["Offset of field: tcf_chain::explicitly_created"] + [::core::mem::offset_of!(tcf_chain, explicitly_created) - 76usize]; + ["Offset of field: tcf_chain::flushing"] + [::core::mem::offset_of!(tcf_chain, flushing) - 77usize]; + ["Offset of field: tcf_chain::tmplt_ops"] + [::core::mem::offset_of!(tcf_chain, tmplt_ops) - 80usize]; + ["Offset of field: tcf_chain::tmplt_priv"] + [::core::mem::offset_of!(tcf_chain, tmplt_priv) - 88usize]; + ["Offset of field: tcf_chain::rcu"][::core::mem::offset_of!(tcf_chain, rcu) - 96usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcf_exts { + pub type_: __u32, + pub nr_actions: ::core::ffi::c_int, + pub actions: *mut *mut tc_action, + pub net: *mut net, + pub ns_tracker: netns_tracker, + pub miss_cookie_node: *mut tcf_exts_miss_cookie_node, + pub action: ::core::ffi::c_int, + pub police: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_exts"][::core::mem::size_of::() - 40usize]; + ["Alignment of tcf_exts"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_exts::type_"][::core::mem::offset_of!(tcf_exts, type_) - 0usize]; + ["Offset of field: tcf_exts::nr_actions"] + [::core::mem::offset_of!(tcf_exts, nr_actions) - 4usize]; + ["Offset of field: tcf_exts::actions"][::core::mem::offset_of!(tcf_exts, actions) - 8usize]; + ["Offset of field: tcf_exts::net"][::core::mem::offset_of!(tcf_exts, net) - 16usize]; + ["Offset of field: tcf_exts::ns_tracker"] + [::core::mem::offset_of!(tcf_exts, ns_tracker) - 24usize]; + ["Offset of field: tcf_exts::miss_cookie_node"] + [::core::mem::offset_of!(tcf_exts, miss_cookie_node) - 24usize]; + ["Offset of field: tcf_exts::action"][::core::mem::offset_of!(tcf_exts, action) - 32usize]; + ["Offset of field: tcf_exts::police"][::core::mem::offset_of!(tcf_exts, police) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcf_exts_miss_cookie_node { + pub chain: *const tcf_chain, + pub tp: *const tcf_proto, + pub exts: *const tcf_exts, + pub chain_index: u32_, + pub tp_prio: u32_, + pub handle: u32_, + pub miss_cookie_base: u32_, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_exts_miss_cookie_node"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of tcf_exts_miss_cookie_node"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_exts_miss_cookie_node::chain"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, chain) - 0usize]; + ["Offset of field: tcf_exts_miss_cookie_node::tp"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, tp) - 8usize]; + ["Offset of field: tcf_exts_miss_cookie_node::exts"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, exts) - 16usize]; + ["Offset of field: tcf_exts_miss_cookie_node::chain_index"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, chain_index) - 24usize]; + ["Offset of field: tcf_exts_miss_cookie_node::tp_prio"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, tp_prio) - 28usize]; + ["Offset of field: tcf_exts_miss_cookie_node::handle"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, handle) - 32usize]; + ["Offset of field: tcf_exts_miss_cookie_node::miss_cookie_base"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, miss_cookie_base) - 36usize]; + ["Offset of field: tcf_exts_miss_cookie_node::rcu"] + [::core::mem::offset_of!(tcf_exts_miss_cookie_node, rcu) - 40usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tcf_idrinfo { + pub lock: mutex, + pub action_idr: idr, + pub net: *mut net, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_idrinfo"][::core::mem::size_of::() - 64usize]; + ["Alignment of tcf_idrinfo"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_idrinfo::lock"][::core::mem::offset_of!(tcf_idrinfo, lock) - 0usize]; + ["Offset of field: tcf_idrinfo::action_idr"] + [::core::mem::offset_of!(tcf_idrinfo, action_idr) - 32usize]; + ["Offset of field: tcf_idrinfo::net"][::core::mem::offset_of!(tcf_idrinfo, net) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tcf_proto { + pub next: *mut tcf_proto, + pub root: *mut ::core::ffi::c_void, + pub classify: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *const tcf_proto, + arg3: *mut tcf_result, + ) -> ::core::ffi::c_int, + >, + pub protocol: __be16, + pub prio: u32_, + pub data: *mut ::core::ffi::c_void, + pub ops: *const tcf_proto_ops, + pub chain: *mut tcf_chain, + pub lock: spinlock_t, + pub deleting: bool_, + pub counted: bool_, + pub usesw: bool_, + pub refcnt: refcount_t, + pub rcu: callback_head, + pub destroy_ht_node: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_proto"][::core::mem::size_of::() - 104usize]; + ["Alignment of tcf_proto"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_proto::next"][::core::mem::offset_of!(tcf_proto, next) - 0usize]; + ["Offset of field: tcf_proto::root"][::core::mem::offset_of!(tcf_proto, root) - 8usize]; + ["Offset of field: tcf_proto::classify"] + [::core::mem::offset_of!(tcf_proto, classify) - 16usize]; + ["Offset of field: tcf_proto::protocol"] + [::core::mem::offset_of!(tcf_proto, protocol) - 24usize]; + ["Offset of field: tcf_proto::prio"][::core::mem::offset_of!(tcf_proto, prio) - 28usize]; + ["Offset of field: tcf_proto::data"][::core::mem::offset_of!(tcf_proto, data) - 32usize]; + ["Offset of field: tcf_proto::ops"][::core::mem::offset_of!(tcf_proto, ops) - 40usize]; + ["Offset of field: tcf_proto::chain"][::core::mem::offset_of!(tcf_proto, chain) - 48usize]; + ["Offset of field: tcf_proto::lock"][::core::mem::offset_of!(tcf_proto, lock) - 56usize]; + ["Offset of field: tcf_proto::deleting"] + [::core::mem::offset_of!(tcf_proto, deleting) - 60usize]; + ["Offset of field: tcf_proto::counted"][::core::mem::offset_of!(tcf_proto, counted) - 61usize]; + ["Offset of field: tcf_proto::usesw"][::core::mem::offset_of!(tcf_proto, usesw) - 62usize]; + ["Offset of field: tcf_proto::refcnt"][::core::mem::offset_of!(tcf_proto, refcnt) - 64usize]; + ["Offset of field: tcf_proto::rcu"][::core::mem::offset_of!(tcf_proto, rcu) - 72usize]; + ["Offset of field: tcf_proto::destroy_ht_node"] + [::core::mem::offset_of!(tcf_proto, destroy_ht_node) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcf_proto_ops { + pub head: list_head, + pub kind: [::core::ffi::c_char; 16usize], + pub classify: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *const tcf_proto, + arg3: *mut tcf_result, + ) -> ::core::ffi::c_int, + >, + pub init: + ::core::option::Option ::core::ffi::c_int>, + pub destroy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tcf_proto, arg2: bool_, arg3: *mut netlink_ext_ack), + >, + pub get: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tcf_proto, arg2: u32_) -> *mut ::core::ffi::c_void, + >, + pub put: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tcf_proto, arg2: *mut ::core::ffi::c_void), + >, + pub change: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut sk_buff, + arg3: *mut tcf_proto, + arg4: ::core::ffi::c_ulong, + arg5: u32_, + arg6: *mut *mut nlattr, + arg7: *mut *mut ::core::ffi::c_void, + arg8: u32_, + arg9: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub delete: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tcf_proto, + arg2: *mut ::core::ffi::c_void, + arg3: *mut bool_, + arg4: bool_, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub delete_empty: ::core::option::Option bool_>, + pub walk: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tcf_proto, arg2: *mut tcf_walker, arg3: bool_), + >, + pub reoffload: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tcf_proto, + arg2: bool_, + arg3: flow_setup_cb_t, + arg4: *mut ::core::ffi::c_void, + arg5: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub hw_add: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tcf_proto, arg2: *mut ::core::ffi::c_void), + >, + pub hw_del: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tcf_proto, arg2: *mut ::core::ffi::c_void), + >, + pub bind_class: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut ::core::ffi::c_void, + arg2: u32_, + arg3: ::core::ffi::c_ulong, + arg4: *mut ::core::ffi::c_void, + arg5: ::core::ffi::c_ulong, + ), + >, + pub tmplt_create: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut tcf_chain, + arg3: *mut *mut nlattr, + arg4: *mut netlink_ext_ack, + ) -> *mut ::core::ffi::c_void, + >, + pub tmplt_destroy: ::core::option::Option, + pub tmplt_reoffload: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tcf_chain, + arg2: bool_, + arg3: flow_setup_cb_t, + arg4: *mut ::core::ffi::c_void, + ), + >, + pub get_exts: ::core::option::Option< + unsafe extern "C" fn(arg1: *const tcf_proto, arg2: u32_) -> *mut tcf_exts, + >, + pub dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut tcf_proto, + arg3: *mut ::core::ffi::c_void, + arg4: *mut sk_buff, + arg5: *mut tcmsg, + arg6: bool_, + ) -> ::core::ffi::c_int, + >, + pub terse_dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net, + arg2: *mut tcf_proto, + arg3: *mut ::core::ffi::c_void, + arg4: *mut sk_buff, + arg5: *mut tcmsg, + arg6: bool_, + ) -> ::core::ffi::c_int, + >, + pub tmplt_dump: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut net, + arg3: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, + pub owner: *mut module, + pub flags: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_proto_ops"][::core::mem::size_of::() - 208usize]; + ["Alignment of tcf_proto_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_proto_ops::head"][::core::mem::offset_of!(tcf_proto_ops, head) - 0usize]; + ["Offset of field: tcf_proto_ops::kind"] + [::core::mem::offset_of!(tcf_proto_ops, kind) - 16usize]; + ["Offset of field: tcf_proto_ops::classify"] + [::core::mem::offset_of!(tcf_proto_ops, classify) - 32usize]; + ["Offset of field: tcf_proto_ops::init"] + [::core::mem::offset_of!(tcf_proto_ops, init) - 40usize]; + ["Offset of field: tcf_proto_ops::destroy"] + [::core::mem::offset_of!(tcf_proto_ops, destroy) - 48usize]; + ["Offset of field: tcf_proto_ops::get"][::core::mem::offset_of!(tcf_proto_ops, get) - 56usize]; + ["Offset of field: tcf_proto_ops::put"][::core::mem::offset_of!(tcf_proto_ops, put) - 64usize]; + ["Offset of field: tcf_proto_ops::change"] + [::core::mem::offset_of!(tcf_proto_ops, change) - 72usize]; + ["Offset of field: tcf_proto_ops::delete"] + [::core::mem::offset_of!(tcf_proto_ops, delete) - 80usize]; + ["Offset of field: tcf_proto_ops::delete_empty"] + [::core::mem::offset_of!(tcf_proto_ops, delete_empty) - 88usize]; + ["Offset of field: tcf_proto_ops::walk"] + [::core::mem::offset_of!(tcf_proto_ops, walk) - 96usize]; + ["Offset of field: tcf_proto_ops::reoffload"] + [::core::mem::offset_of!(tcf_proto_ops, reoffload) - 104usize]; + ["Offset of field: tcf_proto_ops::hw_add"] + [::core::mem::offset_of!(tcf_proto_ops, hw_add) - 112usize]; + ["Offset of field: tcf_proto_ops::hw_del"] + [::core::mem::offset_of!(tcf_proto_ops, hw_del) - 120usize]; + ["Offset of field: tcf_proto_ops::bind_class"] + [::core::mem::offset_of!(tcf_proto_ops, bind_class) - 128usize]; + ["Offset of field: tcf_proto_ops::tmplt_create"] + [::core::mem::offset_of!(tcf_proto_ops, tmplt_create) - 136usize]; + ["Offset of field: tcf_proto_ops::tmplt_destroy"] + [::core::mem::offset_of!(tcf_proto_ops, tmplt_destroy) - 144usize]; + ["Offset of field: tcf_proto_ops::tmplt_reoffload"] + [::core::mem::offset_of!(tcf_proto_ops, tmplt_reoffload) - 152usize]; + ["Offset of field: tcf_proto_ops::get_exts"] + [::core::mem::offset_of!(tcf_proto_ops, get_exts) - 160usize]; + ["Offset of field: tcf_proto_ops::dump"] + [::core::mem::offset_of!(tcf_proto_ops, dump) - 168usize]; + ["Offset of field: tcf_proto_ops::terse_dump"] + [::core::mem::offset_of!(tcf_proto_ops, terse_dump) - 176usize]; + ["Offset of field: tcf_proto_ops::tmplt_dump"] + [::core::mem::offset_of!(tcf_proto_ops, tmplt_dump) - 184usize]; + ["Offset of field: tcf_proto_ops::owner"] + [::core::mem::offset_of!(tcf_proto_ops, owner) - 192usize]; + ["Offset of field: tcf_proto_ops::flags"] + [::core::mem::offset_of!(tcf_proto_ops, flags) - 200usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tcf_result { + pub __bindgen_anon_1: tcf_result__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tcf_result__bindgen_ty_1 { + pub __bindgen_anon_1: tcf_result__bindgen_ty_1__bindgen_ty_1, + pub goto_tp: *const tcf_proto, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcf_result__bindgen_ty_1__bindgen_ty_1 { + pub class: ::core::ffi::c_ulong, + pub classid: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_result__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of tcf_result__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_result__bindgen_ty_1__bindgen_ty_1::class"] + [::core::mem::offset_of!(tcf_result__bindgen_ty_1__bindgen_ty_1, class) - 0usize]; + ["Offset of field: tcf_result__bindgen_ty_1__bindgen_ty_1::classid"] + [::core::mem::offset_of!(tcf_result__bindgen_ty_1__bindgen_ty_1, classid) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_result__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of tcf_result__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tcf_result__bindgen_ty_1::goto_tp"] + [::core::mem::offset_of!(tcf_result__bindgen_ty_1, goto_tp) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcf_result"][::core::mem::size_of::() - 16usize]; + ["Alignment of tcf_result"][::core::mem::align_of::() - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcmsg { + pub tcm_family: ::core::ffi::c_uchar, + pub tcm__pad1: ::core::ffi::c_uchar, + pub tcm__pad2: ::core::ffi::c_ushort, + pub tcm_ifindex: ::core::ffi::c_int, + pub tcm_handle: __u32, + pub tcm_parent: __u32, + pub tcm_info: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcmsg"][::core::mem::size_of::() - 20usize]; + ["Alignment of tcmsg"][::core::mem::align_of::() - 4usize]; + ["Offset of field: tcmsg::tcm_family"][::core::mem::offset_of!(tcmsg, tcm_family) - 0usize]; + ["Offset of field: tcmsg::tcm__pad1"][::core::mem::offset_of!(tcmsg, tcm__pad1) - 1usize]; + ["Offset of field: tcmsg::tcm__pad2"][::core::mem::offset_of!(tcmsg, tcm__pad2) - 2usize]; + ["Offset of field: tcmsg::tcm_ifindex"][::core::mem::offset_of!(tcmsg, tcm_ifindex) - 4usize]; + ["Offset of field: tcmsg::tcm_handle"][::core::mem::offset_of!(tcmsg, tcm_handle) - 8usize]; + ["Offset of field: tcmsg::tcm_parent"][::core::mem::offset_of!(tcmsg, tcm_parent) - 12usize]; + ["Offset of field: tcmsg::tcm_info"][::core::mem::offset_of!(tcmsg, tcm_info) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcp_bbr_info { + pub bbr_bw_lo: __u32, + pub bbr_bw_hi: __u32, + pub bbr_min_rtt: __u32, + pub bbr_pacing_gain: __u32, + pub bbr_cwnd_gain: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcp_bbr_info"][::core::mem::size_of::() - 20usize]; + ["Alignment of tcp_bbr_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: tcp_bbr_info::bbr_bw_lo"] + [::core::mem::offset_of!(tcp_bbr_info, bbr_bw_lo) - 0usize]; + ["Offset of field: tcp_bbr_info::bbr_bw_hi"] + [::core::mem::offset_of!(tcp_bbr_info, bbr_bw_hi) - 4usize]; + ["Offset of field: tcp_bbr_info::bbr_min_rtt"] + [::core::mem::offset_of!(tcp_bbr_info, bbr_min_rtt) - 8usize]; + ["Offset of field: tcp_bbr_info::bbr_pacing_gain"] + [::core::mem::offset_of!(tcp_bbr_info, bbr_pacing_gain) - 12usize]; + ["Offset of field: tcp_bbr_info::bbr_cwnd_gain"] + [::core::mem::offset_of!(tcp_bbr_info, bbr_cwnd_gain) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcpvegas_info { + pub tcpv_enabled: __u32, + pub tcpv_rttcnt: __u32, + pub tcpv_rtt: __u32, + pub tcpv_minrtt: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcpvegas_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of tcpvegas_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: tcpvegas_info::tcpv_enabled"] + [::core::mem::offset_of!(tcpvegas_info, tcpv_enabled) - 0usize]; + ["Offset of field: tcpvegas_info::tcpv_rttcnt"] + [::core::mem::offset_of!(tcpvegas_info, tcpv_rttcnt) - 4usize]; + ["Offset of field: tcpvegas_info::tcpv_rtt"] + [::core::mem::offset_of!(tcpvegas_info, tcpv_rtt) - 8usize]; + ["Offset of field: tcpvegas_info::tcpv_minrtt"] + [::core::mem::offset_of!(tcpvegas_info, tcpv_minrtt) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcp_dctcp_info { + pub dctcp_enabled: __u16, + pub dctcp_ce_state: __u16, + pub dctcp_alpha: __u32, + pub dctcp_ab_ecn: __u32, + pub dctcp_ab_tot: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcp_dctcp_info"][::core::mem::size_of::() - 16usize]; + ["Alignment of tcp_dctcp_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: tcp_dctcp_info::dctcp_enabled"] + [::core::mem::offset_of!(tcp_dctcp_info, dctcp_enabled) - 0usize]; + ["Offset of field: tcp_dctcp_info::dctcp_ce_state"] + [::core::mem::offset_of!(tcp_dctcp_info, dctcp_ce_state) - 2usize]; + ["Offset of field: tcp_dctcp_info::dctcp_alpha"] + [::core::mem::offset_of!(tcp_dctcp_info, dctcp_alpha) - 4usize]; + ["Offset of field: tcp_dctcp_info::dctcp_ab_ecn"] + [::core::mem::offset_of!(tcp_dctcp_info, dctcp_ab_ecn) - 8usize]; + ["Offset of field: tcp_dctcp_info::dctcp_ab_tot"] + [::core::mem::offset_of!(tcp_dctcp_info, dctcp_ab_tot) - 12usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union tcp_cc_info { + pub vegas: tcpvegas_info, + pub dctcp: tcp_dctcp_info, + pub bbr: tcp_bbr_info, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcp_cc_info"][::core::mem::size_of::() - 20usize]; + ["Alignment of tcp_cc_info"][::core::mem::align_of::() - 4usize]; + ["Offset of field: tcp_cc_info::vegas"][::core::mem::offset_of!(tcp_cc_info, vegas) - 0usize]; + ["Offset of field: tcp_cc_info::dctcp"][::core::mem::offset_of!(tcp_cc_info, dctcp) - 0usize]; + ["Offset of field: tcp_cc_info::bbr"][::core::mem::offset_of!(tcp_cc_info, bbr) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcp_fastopen_context { + pub key: [siphash_key_t; 2usize], + pub num: ::core::ffi::c_int, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcp_fastopen_context"][::core::mem::size_of::() - 56usize]; + ["Alignment of tcp_fastopen_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcp_fastopen_context::key"] + [::core::mem::offset_of!(tcp_fastopen_context, key) - 0usize]; + ["Offset of field: tcp_fastopen_context::num"] + [::core::mem::offset_of!(tcp_fastopen_context, num) - 32usize]; + ["Offset of field: tcp_fastopen_context::rcu"] + [::core::mem::offset_of!(tcp_fastopen_context, rcu) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tcp_mib { + pub mibs: [::core::ffi::c_ulong; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tcp_mib"][::core::mem::size_of::() - 128usize]; + ["Alignment of tcp_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tcp_mib::mibs"][::core::mem::offset_of!(tcp_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct throtl_service_queue { + pub parent_sq: *mut throtl_service_queue, + pub queued: [list_head; 2usize], + pub nr_queued: [::core::ffi::c_uint; 2usize], + pub pending_tree: rb_root_cached, + pub nr_pending: ::core::ffi::c_uint, + pub first_pending_disptime: ::core::ffi::c_ulong, + pub pending_timer: timer_list, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of throtl_service_queue"][::core::mem::size_of::() - 120usize]; + ["Alignment of throtl_service_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: throtl_service_queue::parent_sq"] + [::core::mem::offset_of!(throtl_service_queue, parent_sq) - 0usize]; + ["Offset of field: throtl_service_queue::queued"] + [::core::mem::offset_of!(throtl_service_queue, queued) - 8usize]; + ["Offset of field: throtl_service_queue::nr_queued"] + [::core::mem::offset_of!(throtl_service_queue, nr_queued) - 40usize]; + ["Offset of field: throtl_service_queue::pending_tree"] + [::core::mem::offset_of!(throtl_service_queue, pending_tree) - 48usize]; + ["Offset of field: throtl_service_queue::nr_pending"] + [::core::mem::offset_of!(throtl_service_queue, nr_pending) - 64usize]; + ["Offset of field: throtl_service_queue::first_pending_disptime"] + [::core::mem::offset_of!(throtl_service_queue, first_pending_disptime) - 72usize]; + ["Offset of field: throtl_service_queue::pending_timer"] + [::core::mem::offset_of!(throtl_service_queue, pending_timer) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct throtl_data { + pub service_queue: throtl_service_queue, + pub queue: *mut request_queue, + pub nr_queued: [::core::ffi::c_uint; 2usize], + pub throtl_slice: ::core::ffi::c_uint, + pub dispatch_work: work_struct, + pub track_bio_latency: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of throtl_data"][::core::mem::size_of::() - 184usize]; + ["Alignment of throtl_data"][::core::mem::align_of::() - 8usize]; + ["Offset of field: throtl_data::service_queue"] + [::core::mem::offset_of!(throtl_data, service_queue) - 0usize]; + ["Offset of field: throtl_data::queue"][::core::mem::offset_of!(throtl_data, queue) - 120usize]; + ["Offset of field: throtl_data::nr_queued"] + [::core::mem::offset_of!(throtl_data, nr_queued) - 128usize]; + ["Offset of field: throtl_data::throtl_slice"] + [::core::mem::offset_of!(throtl_data, throtl_slice) - 136usize]; + ["Offset of field: throtl_data::dispatch_work"] + [::core::mem::offset_of!(throtl_data, dispatch_work) - 144usize]; + ["Offset of field: throtl_data::track_bio_latency"] + [::core::mem::offset_of!(throtl_data, track_bio_latency) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timens_offsets { + pub monotonic: timespec64, + pub boottime: timespec64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of timens_offsets"][::core::mem::size_of::() - 32usize]; + ["Alignment of timens_offsets"][::core::mem::align_of::() - 8usize]; + ["Offset of field: timens_offsets::monotonic"] + [::core::mem::offset_of!(timens_offsets, monotonic) - 0usize]; + ["Offset of field: timens_offsets::boottime"] + [::core::mem::offset_of!(timens_offsets, boottime) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct time_namespace { + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub ns: ns_common, + pub offsets: timens_offsets, + pub vvar_page: *mut page, + pub frozen_offsets: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of time_namespace"][::core::mem::size_of::() - 88usize]; + ["Alignment of time_namespace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: time_namespace::user_ns"] + [::core::mem::offset_of!(time_namespace, user_ns) - 0usize]; + ["Offset of field: time_namespace::ucounts"] + [::core::mem::offset_of!(time_namespace, ucounts) - 8usize]; + ["Offset of field: time_namespace::ns"][::core::mem::offset_of!(time_namespace, ns) - 16usize]; + ["Offset of field: time_namespace::offsets"] + [::core::mem::offset_of!(time_namespace, offsets) - 40usize]; + ["Offset of field: time_namespace::vvar_page"] + [::core::mem::offset_of!(time_namespace, vvar_page) - 72usize]; + ["Offset of field: time_namespace::frozen_offsets"] + [::core::mem::offset_of!(time_namespace, frozen_offsets) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timer_rand_state { + pub last_time: ::core::ffi::c_ulong, + pub last_delta: ::core::ffi::c_long, + pub last_delta2: ::core::ffi::c_long, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of timer_rand_state"][::core::mem::size_of::() - 24usize]; + ["Alignment of timer_rand_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: timer_rand_state::last_time"] + [::core::mem::offset_of!(timer_rand_state, last_time) - 0usize]; + ["Offset of field: timer_rand_state::last_delta"] + [::core::mem::offset_of!(timer_rand_state, last_delta) - 8usize]; + ["Offset of field: timer_rand_state::last_delta2"] + [::core::mem::offset_of!(timer_rand_state, last_delta2) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timewait_sock_ops { + pub twsk_slab: *mut kmem_cache, + pub twsk_slab_name: *mut ::core::ffi::c_char, + pub twsk_obj_size: ::core::ffi::c_uint, + pub twsk_destructor: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of timewait_sock_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of timewait_sock_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: timewait_sock_ops::twsk_slab"] + [::core::mem::offset_of!(timewait_sock_ops, twsk_slab) - 0usize]; + ["Offset of field: timewait_sock_ops::twsk_slab_name"] + [::core::mem::offset_of!(timewait_sock_ops, twsk_slab_name) - 8usize]; + ["Offset of field: timewait_sock_ops::twsk_obj_size"] + [::core::mem::offset_of!(timewait_sock_ops, twsk_obj_size) - 16usize]; + ["Offset of field: timewait_sock_ops::twsk_destructor"] + [::core::mem::offset_of!(timewait_sock_ops, twsk_destructor) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tls_crypto_info { + pub version: __u16, + pub cipher_type: __u16, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls_crypto_info"][::core::mem::size_of::() - 4usize]; + ["Alignment of tls_crypto_info"][::core::mem::align_of::() - 2usize]; + ["Offset of field: tls_crypto_info::version"] + [::core::mem::offset_of!(tls_crypto_info, version) - 0usize]; + ["Offset of field: tls_crypto_info::cipher_type"] + [::core::mem::offset_of!(tls_crypto_info, cipher_type) - 2usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tls12_crypto_info_aes_gcm_128 { + pub info: tls_crypto_info, + pub iv: [::core::ffi::c_uchar; 8usize], + pub key: [::core::ffi::c_uchar; 16usize], + pub salt: [::core::ffi::c_uchar; 4usize], + pub rec_seq: [::core::ffi::c_uchar; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls12_crypto_info_aes_gcm_128"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of tls12_crypto_info_aes_gcm_128"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_128::info"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_128, info) - 0usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_128::iv"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_128, iv) - 4usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_128::key"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_128, key) - 12usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_128::salt"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_128, salt) - 28usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_128::rec_seq"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_128, rec_seq) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tls12_crypto_info_aes_gcm_256 { + pub info: tls_crypto_info, + pub iv: [::core::ffi::c_uchar; 8usize], + pub key: [::core::ffi::c_uchar; 32usize], + pub salt: [::core::ffi::c_uchar; 4usize], + pub rec_seq: [::core::ffi::c_uchar; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls12_crypto_info_aes_gcm_256"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of tls12_crypto_info_aes_gcm_256"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_256::info"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_256, info) - 0usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_256::iv"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_256, iv) - 4usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_256::key"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_256, key) - 12usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_256::salt"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_256, salt) - 44usize]; + ["Offset of field: tls12_crypto_info_aes_gcm_256::rec_seq"] + [::core::mem::offset_of!(tls12_crypto_info_aes_gcm_256, rec_seq) - 48usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct tls12_crypto_info_chacha20_poly1305 { + pub info: tls_crypto_info, + pub iv: [::core::ffi::c_uchar; 12usize], + pub key: [::core::ffi::c_uchar; 32usize], + pub salt: __IncompleteArrayField<::core::ffi::c_uchar>, + pub rec_seq: [::core::ffi::c_uchar; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls12_crypto_info_chacha20_poly1305"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of tls12_crypto_info_chacha20_poly1305"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: tls12_crypto_info_chacha20_poly1305::info"] + [::core::mem::offset_of!(tls12_crypto_info_chacha20_poly1305, info) - 0usize]; + ["Offset of field: tls12_crypto_info_chacha20_poly1305::iv"] + [::core::mem::offset_of!(tls12_crypto_info_chacha20_poly1305, iv) - 4usize]; + ["Offset of field: tls12_crypto_info_chacha20_poly1305::key"] + [::core::mem::offset_of!(tls12_crypto_info_chacha20_poly1305, key) - 16usize]; + ["Offset of field: tls12_crypto_info_chacha20_poly1305::salt"] + [::core::mem::offset_of!(tls12_crypto_info_chacha20_poly1305, salt) - 48usize]; + ["Offset of field: tls12_crypto_info_chacha20_poly1305::rec_seq"] + [::core::mem::offset_of!(tls12_crypto_info_chacha20_poly1305, rec_seq) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tls12_crypto_info_sm4_ccm { + pub info: tls_crypto_info, + pub iv: [::core::ffi::c_uchar; 8usize], + pub key: [::core::ffi::c_uchar; 16usize], + pub salt: [::core::ffi::c_uchar; 4usize], + pub rec_seq: [::core::ffi::c_uchar; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls12_crypto_info_sm4_ccm"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of tls12_crypto_info_sm4_ccm"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: tls12_crypto_info_sm4_ccm::info"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_ccm, info) - 0usize]; + ["Offset of field: tls12_crypto_info_sm4_ccm::iv"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_ccm, iv) - 4usize]; + ["Offset of field: tls12_crypto_info_sm4_ccm::key"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_ccm, key) - 12usize]; + ["Offset of field: tls12_crypto_info_sm4_ccm::salt"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_ccm, salt) - 28usize]; + ["Offset of field: tls12_crypto_info_sm4_ccm::rec_seq"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_ccm, rec_seq) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tls12_crypto_info_sm4_gcm { + pub info: tls_crypto_info, + pub iv: [::core::ffi::c_uchar; 8usize], + pub key: [::core::ffi::c_uchar; 16usize], + pub salt: [::core::ffi::c_uchar; 4usize], + pub rec_seq: [::core::ffi::c_uchar; 8usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls12_crypto_info_sm4_gcm"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of tls12_crypto_info_sm4_gcm"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: tls12_crypto_info_sm4_gcm::info"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_gcm, info) - 0usize]; + ["Offset of field: tls12_crypto_info_sm4_gcm::iv"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_gcm, iv) - 4usize]; + ["Offset of field: tls12_crypto_info_sm4_gcm::key"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_gcm, key) - 12usize]; + ["Offset of field: tls12_crypto_info_sm4_gcm::salt"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_gcm, salt) - 28usize]; + ["Offset of field: tls12_crypto_info_sm4_gcm::rec_seq"] + [::core::mem::offset_of!(tls12_crypto_info_sm4_gcm, rec_seq) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tls_prot_info { + pub version: u16_, + pub cipher_type: u16_, + pub prepend_size: u16_, + pub tag_size: u16_, + pub overhead_size: u16_, + pub iv_size: u16_, + pub salt_size: u16_, + pub rec_seq_size: u16_, + pub aad_size: u16_, + pub tail_size: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls_prot_info"][::core::mem::size_of::() - 20usize]; + ["Alignment of tls_prot_info"][::core::mem::align_of::() - 2usize]; + ["Offset of field: tls_prot_info::version"] + [::core::mem::offset_of!(tls_prot_info, version) - 0usize]; + ["Offset of field: tls_prot_info::cipher_type"] + [::core::mem::offset_of!(tls_prot_info, cipher_type) - 2usize]; + ["Offset of field: tls_prot_info::prepend_size"] + [::core::mem::offset_of!(tls_prot_info, prepend_size) - 4usize]; + ["Offset of field: tls_prot_info::tag_size"] + [::core::mem::offset_of!(tls_prot_info, tag_size) - 6usize]; + ["Offset of field: tls_prot_info::overhead_size"] + [::core::mem::offset_of!(tls_prot_info, overhead_size) - 8usize]; + ["Offset of field: tls_prot_info::iv_size"] + [::core::mem::offset_of!(tls_prot_info, iv_size) - 10usize]; + ["Offset of field: tls_prot_info::salt_size"] + [::core::mem::offset_of!(tls_prot_info, salt_size) - 12usize]; + ["Offset of field: tls_prot_info::rec_seq_size"] + [::core::mem::offset_of!(tls_prot_info, rec_seq_size) - 14usize]; + ["Offset of field: tls_prot_info::aad_size"] + [::core::mem::offset_of!(tls_prot_info, aad_size) - 16usize]; + ["Offset of field: tls_prot_info::tail_size"] + [::core::mem::offset_of!(tls_prot_info, tail_size) - 18usize]; +}; +#[repr(C)] +pub struct tls_crypto_context { + pub info: __BindgenUnionField, + pub __bindgen_anon_1: __BindgenUnionField, + pub bindgen_union_field: [u16; 28usize], +} +#[repr(C)] +pub struct tls_crypto_context__bindgen_ty_1 { + pub aes_gcm_128: __BindgenUnionField, + pub aes_gcm_256: __BindgenUnionField, + pub chacha20_poly1305: __BindgenUnionField, + pub sm4_gcm: __BindgenUnionField, + pub sm4_ccm: __BindgenUnionField, + pub bindgen_union_field: [u16; 28usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls_crypto_context__bindgen_ty_1"] + [::core::mem::size_of::() - 56usize]; + ["Alignment of tls_crypto_context__bindgen_ty_1"] + [::core::mem::align_of::() - 2usize]; + ["Offset of field: tls_crypto_context__bindgen_ty_1::aes_gcm_128"] + [::core::mem::offset_of!(tls_crypto_context__bindgen_ty_1, aes_gcm_128) - 0usize]; + ["Offset of field: tls_crypto_context__bindgen_ty_1::aes_gcm_256"] + [::core::mem::offset_of!(tls_crypto_context__bindgen_ty_1, aes_gcm_256) - 0usize]; + ["Offset of field: tls_crypto_context__bindgen_ty_1::chacha20_poly1305"] + [::core::mem::offset_of!(tls_crypto_context__bindgen_ty_1, chacha20_poly1305) - 0usize]; + ["Offset of field: tls_crypto_context__bindgen_ty_1::sm4_gcm"] + [::core::mem::offset_of!(tls_crypto_context__bindgen_ty_1, sm4_gcm) - 0usize]; + ["Offset of field: tls_crypto_context__bindgen_ty_1::sm4_ccm"] + [::core::mem::offset_of!(tls_crypto_context__bindgen_ty_1, sm4_ccm) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls_crypto_context"][::core::mem::size_of::() - 56usize]; + ["Alignment of tls_crypto_context"][::core::mem::align_of::() - 2usize]; + ["Offset of field: tls_crypto_context::info"] + [::core::mem::offset_of!(tls_crypto_context, info) - 0usize]; +}; +#[repr(C)] +pub struct tls_context { + pub prot_info: tls_prot_info, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub push_pending_record: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sock, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub sk_write_space: ::core::option::Option, + pub priv_ctx_tx: *mut ::core::ffi::c_void, + pub priv_ctx_rx: *mut ::core::ffi::c_void, + pub netdev: *mut net_device, + pub tx: cipher_context, + pub rx: cipher_context, + pub partially_sent_record: *mut scatterlist, + pub partially_sent_offset: u16_, + pub splicing_pages: bool_, + pub pending_open_record_frags: bool_, + pub tx_lock: mutex, + pub flags: ::core::ffi::c_ulong, + pub sk_proto: *mut proto, + pub sk: *mut sock, + pub sk_destruct: ::core::option::Option, + pub crypto_send: tls_crypto_context, + pub crypto_recv: tls_crypto_context, + pub list: list_head, + pub refcount: refcount_t, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tls_context"][::core::mem::size_of::() - 352usize]; + ["Alignment of tls_context"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tls_context::prot_info"] + [::core::mem::offset_of!(tls_context, prot_info) - 0usize]; + ["Offset of field: tls_context::push_pending_record"] + [::core::mem::offset_of!(tls_context, push_pending_record) - 24usize]; + ["Offset of field: tls_context::sk_write_space"] + [::core::mem::offset_of!(tls_context, sk_write_space) - 32usize]; + ["Offset of field: tls_context::priv_ctx_tx"] + [::core::mem::offset_of!(tls_context, priv_ctx_tx) - 40usize]; + ["Offset of field: tls_context::priv_ctx_rx"] + [::core::mem::offset_of!(tls_context, priv_ctx_rx) - 48usize]; + ["Offset of field: tls_context::netdev"] + [::core::mem::offset_of!(tls_context, netdev) - 56usize]; + ["Offset of field: tls_context::tx"][::core::mem::offset_of!(tls_context, tx) - 64usize]; + ["Offset of field: tls_context::rx"][::core::mem::offset_of!(tls_context, rx) - 92usize]; + ["Offset of field: tls_context::partially_sent_record"] + [::core::mem::offset_of!(tls_context, partially_sent_record) - 120usize]; + ["Offset of field: tls_context::partially_sent_offset"] + [::core::mem::offset_of!(tls_context, partially_sent_offset) - 128usize]; + ["Offset of field: tls_context::splicing_pages"] + [::core::mem::offset_of!(tls_context, splicing_pages) - 130usize]; + ["Offset of field: tls_context::pending_open_record_frags"] + [::core::mem::offset_of!(tls_context, pending_open_record_frags) - 131usize]; + ["Offset of field: tls_context::tx_lock"] + [::core::mem::offset_of!(tls_context, tx_lock) - 136usize]; + ["Offset of field: tls_context::flags"][::core::mem::offset_of!(tls_context, flags) - 168usize]; + ["Offset of field: tls_context::sk_proto"] + [::core::mem::offset_of!(tls_context, sk_proto) - 176usize]; + ["Offset of field: tls_context::sk"][::core::mem::offset_of!(tls_context, sk) - 184usize]; + ["Offset of field: tls_context::sk_destruct"] + [::core::mem::offset_of!(tls_context, sk_destruct) - 192usize]; + ["Offset of field: tls_context::crypto_send"] + [::core::mem::offset_of!(tls_context, crypto_send) - 200usize]; + ["Offset of field: tls_context::crypto_recv"] + [::core::mem::offset_of!(tls_context, crypto_recv) - 256usize]; + ["Offset of field: tls_context::list"][::core::mem::offset_of!(tls_context, list) - 312usize]; + ["Offset of field: tls_context::refcount"] + [::core::mem::offset_of!(tls_context, refcount) - 328usize]; + ["Offset of field: tls_context::rcu"][::core::mem::offset_of!(tls_context, rcu) - 336usize]; +}; +impl tls_context { + #[inline] + pub fn tx_conf(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } + } + #[inline] + pub fn set_tx_conf(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn tx_conf_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 3u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_tx_conf_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn rx_conf(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 3u8) as u8) } + } + #[inline] + pub fn set_rx_conf(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 3u8, val as u64) + } + } + #[inline] + pub unsafe fn rx_conf_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 3u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_rx_conf_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 3u8, + val as u64, + ) + } + } + #[inline] + pub fn zerocopy_sendfile(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_zerocopy_sendfile(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn zerocopy_sendfile_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_zerocopy_sendfile_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn rx_no_pad(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_rx_no_pad(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn rx_no_pad_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_rx_no_pad_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + tx_conf: u8_, + rx_conf: u8_, + zerocopy_sendfile: u8_, + rx_no_pad: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 3u8, { + let tx_conf: u8 = unsafe { ::core::mem::transmute(tx_conf) }; + tx_conf as u64 + }); + __bindgen_bitfield_unit.set(3usize, 3u8, { + let rx_conf: u8 = unsafe { ::core::mem::transmute(rx_conf) }; + rx_conf as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let zerocopy_sendfile: u8 = unsafe { ::core::mem::transmute(zerocopy_sendfile) }; + zerocopy_sendfile as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let rx_no_pad: u8 = unsafe { ::core::mem::transmute(rx_no_pad) }; + rx_no_pad as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tlsdev_ops { + pub tls_dev_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut sock, + arg3: tls_offload_ctx_dir, + arg4: *mut tls_crypto_info, + arg5: u32_, + ) -> ::core::ffi::c_int, + >, + pub tls_dev_del: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut tls_context, + arg3: tls_offload_ctx_dir, + ), + >, + pub tls_dev_resync: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: *mut sock, + arg3: u32_, + arg4: *mut u8_, + arg5: tls_offload_ctx_dir, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tlsdev_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of tlsdev_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tlsdev_ops::tls_dev_add"] + [::core::mem::offset_of!(tlsdev_ops, tls_dev_add) - 0usize]; + ["Offset of field: tlsdev_ops::tls_dev_del"] + [::core::mem::offset_of!(tlsdev_ops, tls_dev_del) - 8usize]; + ["Offset of field: tlsdev_ops::tls_dev_resync"] + [::core::mem::offset_of!(tlsdev_ops, tls_dev_resync) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tracepoint_func { + pub func: *mut ::core::ffi::c_void, + pub data: *mut ::core::ffi::c_void, + pub prio: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tracepoint_func"][::core::mem::size_of::() - 24usize]; + ["Alignment of tracepoint_func"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tracepoint_func::func"] + [::core::mem::offset_of!(tracepoint_func, func) - 0usize]; + ["Offset of field: tracepoint_func::data"] + [::core::mem::offset_of!(tracepoint_func, data) - 8usize]; + ["Offset of field: tracepoint_func::prio"] + [::core::mem::offset_of!(tracepoint_func, prio) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct trace_array { + pub list: list_head, + pub name: *mut ::core::ffi::c_char, + pub array_buffer: array_buffer, + pub max_buffer: array_buffer, + pub allocated_snapshot: bool_, + pub snapshot_trigger_lock: spinlock_t, + pub snapshot: ::core::ffi::c_uint, + pub max_latency: ::core::ffi::c_ulong, + pub d_max_latency: *mut dentry, + pub fsnotify_work: work_struct, + pub fsnotify_irqwork: irq_work, + pub mapped: ::core::ffi::c_uint, + pub range_addr_start: ::core::ffi::c_ulong, + pub range_addr_size: ::core::ffi::c_ulong, + pub text_delta: ::core::ffi::c_long, + pub data_delta: ::core::ffi::c_long, + pub filtered_pids: *mut trace_pid_list, + pub filtered_no_pids: *mut trace_pid_list, + pub max_lock: arch_spinlock_t, + pub buffer_disabled: ::core::ffi::c_int, + pub sys_refcount_enter: ::core::ffi::c_int, + pub sys_refcount_exit: ::core::ffi::c_int, + pub enter_syscall_files: [*mut trace_event_file; 463usize], + pub exit_syscall_files: [*mut trace_event_file; 463usize], + pub stop_count: ::core::ffi::c_int, + pub clock_id: ::core::ffi::c_int, + pub nr_topts: ::core::ffi::c_int, + pub clear_trace: bool_, + pub buffer_percent: ::core::ffi::c_int, + pub n_err_log_entries: ::core::ffi::c_uint, + pub current_trace: *mut tracer, + pub trace_flags: ::core::ffi::c_uint, + pub trace_flags_index: [::core::ffi::c_uchar; 32usize], + pub flags: ::core::ffi::c_uint, + pub start_lock: raw_spinlock_t, + pub system_names: *const ::core::ffi::c_char, + pub err_log: list_head, + pub dir: *mut dentry, + pub options: *mut dentry, + pub percpu_dir: *mut dentry, + pub event_dir: *mut eventfs_inode, + pub topts: *mut trace_options, + pub systems: list_head, + pub events: list_head, + pub trace_marker_file: *mut trace_event_file, + pub tracing_cpumask: cpumask_var_t, + pub pipe_cpumask: cpumask_var_t, + pub ref_: ::core::ffi::c_int, + pub trace_ref: ::core::ffi::c_int, + pub ops: *mut ftrace_ops, + pub function_pids: *mut trace_pid_list, + pub function_no_pids: *mut trace_pid_list, + pub gops: *mut fgraph_ops, + pub func_probes: list_head, + pub mod_trace: list_head, + pub mod_notrace: list_head, + pub function_enabled: ::core::ffi::c_int, + pub no_filter_buffering_ref: ::core::ffi::c_int, + pub hist_vars: list_head, + pub cond_snapshot: *mut cond_snapshot, + pub last_func_repeats: *mut trace_func_repeats, + pub ring_buffer_expanded: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_array"][::core::mem::size_of::() - 8016usize]; + ["Alignment of trace_array"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_array::list"][::core::mem::offset_of!(trace_array, list) - 0usize]; + ["Offset of field: trace_array::name"][::core::mem::offset_of!(trace_array, name) - 16usize]; + ["Offset of field: trace_array::array_buffer"] + [::core::mem::offset_of!(trace_array, array_buffer) - 24usize]; + ["Offset of field: trace_array::max_buffer"] + [::core::mem::offset_of!(trace_array, max_buffer) - 64usize]; + ["Offset of field: trace_array::allocated_snapshot"] + [::core::mem::offset_of!(trace_array, allocated_snapshot) - 104usize]; + ["Offset of field: trace_array::snapshot_trigger_lock"] + [::core::mem::offset_of!(trace_array, snapshot_trigger_lock) - 108usize]; + ["Offset of field: trace_array::snapshot"] + [::core::mem::offset_of!(trace_array, snapshot) - 112usize]; + ["Offset of field: trace_array::max_latency"] + [::core::mem::offset_of!(trace_array, max_latency) - 120usize]; + ["Offset of field: trace_array::d_max_latency"] + [::core::mem::offset_of!(trace_array, d_max_latency) - 128usize]; + ["Offset of field: trace_array::fsnotify_work"] + [::core::mem::offset_of!(trace_array, fsnotify_work) - 136usize]; + ["Offset of field: trace_array::fsnotify_irqwork"] + [::core::mem::offset_of!(trace_array, fsnotify_irqwork) - 168usize]; + ["Offset of field: trace_array::mapped"] + [::core::mem::offset_of!(trace_array, mapped) - 200usize]; + ["Offset of field: trace_array::range_addr_start"] + [::core::mem::offset_of!(trace_array, range_addr_start) - 208usize]; + ["Offset of field: trace_array::range_addr_size"] + [::core::mem::offset_of!(trace_array, range_addr_size) - 216usize]; + ["Offset of field: trace_array::text_delta"] + [::core::mem::offset_of!(trace_array, text_delta) - 224usize]; + ["Offset of field: trace_array::data_delta"] + [::core::mem::offset_of!(trace_array, data_delta) - 232usize]; + ["Offset of field: trace_array::filtered_pids"] + [::core::mem::offset_of!(trace_array, filtered_pids) - 240usize]; + ["Offset of field: trace_array::filtered_no_pids"] + [::core::mem::offset_of!(trace_array, filtered_no_pids) - 248usize]; + ["Offset of field: trace_array::max_lock"] + [::core::mem::offset_of!(trace_array, max_lock) - 256usize]; + ["Offset of field: trace_array::buffer_disabled"] + [::core::mem::offset_of!(trace_array, buffer_disabled) - 260usize]; + ["Offset of field: trace_array::sys_refcount_enter"] + [::core::mem::offset_of!(trace_array, sys_refcount_enter) - 264usize]; + ["Offset of field: trace_array::sys_refcount_exit"] + [::core::mem::offset_of!(trace_array, sys_refcount_exit) - 268usize]; + ["Offset of field: trace_array::enter_syscall_files"] + [::core::mem::offset_of!(trace_array, enter_syscall_files) - 272usize]; + ["Offset of field: trace_array::exit_syscall_files"] + [::core::mem::offset_of!(trace_array, exit_syscall_files) - 3976usize]; + ["Offset of field: trace_array::stop_count"] + [::core::mem::offset_of!(trace_array, stop_count) - 7680usize]; + ["Offset of field: trace_array::clock_id"] + [::core::mem::offset_of!(trace_array, clock_id) - 7684usize]; + ["Offset of field: trace_array::nr_topts"] + [::core::mem::offset_of!(trace_array, nr_topts) - 7688usize]; + ["Offset of field: trace_array::clear_trace"] + [::core::mem::offset_of!(trace_array, clear_trace) - 7692usize]; + ["Offset of field: trace_array::buffer_percent"] + [::core::mem::offset_of!(trace_array, buffer_percent) - 7696usize]; + ["Offset of field: trace_array::n_err_log_entries"] + [::core::mem::offset_of!(trace_array, n_err_log_entries) - 7700usize]; + ["Offset of field: trace_array::current_trace"] + [::core::mem::offset_of!(trace_array, current_trace) - 7704usize]; + ["Offset of field: trace_array::trace_flags"] + [::core::mem::offset_of!(trace_array, trace_flags) - 7712usize]; + ["Offset of field: trace_array::trace_flags_index"] + [::core::mem::offset_of!(trace_array, trace_flags_index) - 7716usize]; + ["Offset of field: trace_array::flags"] + [::core::mem::offset_of!(trace_array, flags) - 7748usize]; + ["Offset of field: trace_array::start_lock"] + [::core::mem::offset_of!(trace_array, start_lock) - 7752usize]; + ["Offset of field: trace_array::system_names"] + [::core::mem::offset_of!(trace_array, system_names) - 7760usize]; + ["Offset of field: trace_array::err_log"] + [::core::mem::offset_of!(trace_array, err_log) - 7768usize]; + ["Offset of field: trace_array::dir"][::core::mem::offset_of!(trace_array, dir) - 7784usize]; + ["Offset of field: trace_array::options"] + [::core::mem::offset_of!(trace_array, options) - 7792usize]; + ["Offset of field: trace_array::percpu_dir"] + [::core::mem::offset_of!(trace_array, percpu_dir) - 7800usize]; + ["Offset of field: trace_array::event_dir"] + [::core::mem::offset_of!(trace_array, event_dir) - 7808usize]; + ["Offset of field: trace_array::topts"] + [::core::mem::offset_of!(trace_array, topts) - 7816usize]; + ["Offset of field: trace_array::systems"] + [::core::mem::offset_of!(trace_array, systems) - 7824usize]; + ["Offset of field: trace_array::events"] + [::core::mem::offset_of!(trace_array, events) - 7840usize]; + ["Offset of field: trace_array::trace_marker_file"] + [::core::mem::offset_of!(trace_array, trace_marker_file) - 7856usize]; + ["Offset of field: trace_array::tracing_cpumask"] + [::core::mem::offset_of!(trace_array, tracing_cpumask) - 7864usize]; + ["Offset of field: trace_array::pipe_cpumask"] + [::core::mem::offset_of!(trace_array, pipe_cpumask) - 7872usize]; + ["Offset of field: trace_array::ref_"][::core::mem::offset_of!(trace_array, ref_) - 7880usize]; + ["Offset of field: trace_array::trace_ref"] + [::core::mem::offset_of!(trace_array, trace_ref) - 7884usize]; + ["Offset of field: trace_array::ops"][::core::mem::offset_of!(trace_array, ops) - 7888usize]; + ["Offset of field: trace_array::function_pids"] + [::core::mem::offset_of!(trace_array, function_pids) - 7896usize]; + ["Offset of field: trace_array::function_no_pids"] + [::core::mem::offset_of!(trace_array, function_no_pids) - 7904usize]; + ["Offset of field: trace_array::gops"][::core::mem::offset_of!(trace_array, gops) - 7912usize]; + ["Offset of field: trace_array::func_probes"] + [::core::mem::offset_of!(trace_array, func_probes) - 7920usize]; + ["Offset of field: trace_array::mod_trace"] + [::core::mem::offset_of!(trace_array, mod_trace) - 7936usize]; + ["Offset of field: trace_array::mod_notrace"] + [::core::mem::offset_of!(trace_array, mod_notrace) - 7952usize]; + ["Offset of field: trace_array::function_enabled"] + [::core::mem::offset_of!(trace_array, function_enabled) - 7968usize]; + ["Offset of field: trace_array::no_filter_buffering_ref"] + [::core::mem::offset_of!(trace_array, no_filter_buffering_ref) - 7972usize]; + ["Offset of field: trace_array::hist_vars"] + [::core::mem::offset_of!(trace_array, hist_vars) - 7976usize]; + ["Offset of field: trace_array::cond_snapshot"] + [::core::mem::offset_of!(trace_array, cond_snapshot) - 7992usize]; + ["Offset of field: trace_array::last_func_repeats"] + [::core::mem::offset_of!(trace_array, last_func_repeats) - 8000usize]; + ["Offset of field: trace_array::ring_buffer_expanded"] + [::core::mem::offset_of!(trace_array, ring_buffer_expanded) - 8008usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_array_cpu { + pub disabled: atomic_t, + pub buffer_page: *mut ::core::ffi::c_void, + pub entries: ::core::ffi::c_ulong, + pub saved_latency: ::core::ffi::c_ulong, + pub critical_start: ::core::ffi::c_ulong, + pub critical_end: ::core::ffi::c_ulong, + pub critical_sequence: ::core::ffi::c_ulong, + pub nice: ::core::ffi::c_ulong, + pub policy: ::core::ffi::c_ulong, + pub rt_priority: ::core::ffi::c_ulong, + pub skipped_entries: ::core::ffi::c_ulong, + pub preempt_timestamp: u64_, + pub pid: pid_t, + pub uid: kuid_t, + pub comm: [::core::ffi::c_char; 16usize], + pub ftrace_ignore_pid: ::core::ffi::c_int, + pub ignore_pid: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_array_cpu"][::core::mem::size_of::() - 128usize]; + ["Alignment of trace_array_cpu"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_array_cpu::disabled"] + [::core::mem::offset_of!(trace_array_cpu, disabled) - 0usize]; + ["Offset of field: trace_array_cpu::buffer_page"] + [::core::mem::offset_of!(trace_array_cpu, buffer_page) - 8usize]; + ["Offset of field: trace_array_cpu::entries"] + [::core::mem::offset_of!(trace_array_cpu, entries) - 16usize]; + ["Offset of field: trace_array_cpu::saved_latency"] + [::core::mem::offset_of!(trace_array_cpu, saved_latency) - 24usize]; + ["Offset of field: trace_array_cpu::critical_start"] + [::core::mem::offset_of!(trace_array_cpu, critical_start) - 32usize]; + ["Offset of field: trace_array_cpu::critical_end"] + [::core::mem::offset_of!(trace_array_cpu, critical_end) - 40usize]; + ["Offset of field: trace_array_cpu::critical_sequence"] + [::core::mem::offset_of!(trace_array_cpu, critical_sequence) - 48usize]; + ["Offset of field: trace_array_cpu::nice"] + [::core::mem::offset_of!(trace_array_cpu, nice) - 56usize]; + ["Offset of field: trace_array_cpu::policy"] + [::core::mem::offset_of!(trace_array_cpu, policy) - 64usize]; + ["Offset of field: trace_array_cpu::rt_priority"] + [::core::mem::offset_of!(trace_array_cpu, rt_priority) - 72usize]; + ["Offset of field: trace_array_cpu::skipped_entries"] + [::core::mem::offset_of!(trace_array_cpu, skipped_entries) - 80usize]; + ["Offset of field: trace_array_cpu::preempt_timestamp"] + [::core::mem::offset_of!(trace_array_cpu, preempt_timestamp) - 88usize]; + ["Offset of field: trace_array_cpu::pid"] + [::core::mem::offset_of!(trace_array_cpu, pid) - 96usize]; + ["Offset of field: trace_array_cpu::uid"] + [::core::mem::offset_of!(trace_array_cpu, uid) - 100usize]; + ["Offset of field: trace_array_cpu::comm"] + [::core::mem::offset_of!(trace_array_cpu, comm) - 104usize]; + ["Offset of field: trace_array_cpu::ftrace_ignore_pid"] + [::core::mem::offset_of!(trace_array_cpu, ftrace_ignore_pid) - 120usize]; + ["Offset of field: trace_array_cpu::ignore_pid"] + [::core::mem::offset_of!(trace_array_cpu, ignore_pid) - 124usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct trace_buffer { + pub flags: ::core::ffi::c_uint, + pub cpus: ::core::ffi::c_int, + pub record_disabled: atomic_t, + pub resizing: atomic_t, + pub cpumask: cpumask_var_t, + pub reader_lock_key: *mut lock_class_key, + pub mutex: mutex, + pub buffers: *mut *mut ring_buffer_per_cpu, + pub node: hlist_node, + pub clock: ::core::option::Option u64_>, + pub irq_work: rb_irq_work, + pub time_stamp_abs: bool_, + pub range_addr_start: ::core::ffi::c_ulong, + pub range_addr_end: ::core::ffi::c_ulong, + pub last_text_delta: ::core::ffi::c_long, + pub last_data_delta: ::core::ffi::c_long, + pub subbuf_size: ::core::ffi::c_uint, + pub subbuf_order: ::core::ffi::c_uint, + pub max_data_size: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_buffer"][::core::mem::size_of::() - 240usize]; + ["Alignment of trace_buffer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_buffer::flags"][::core::mem::offset_of!(trace_buffer, flags) - 0usize]; + ["Offset of field: trace_buffer::cpus"][::core::mem::offset_of!(trace_buffer, cpus) - 4usize]; + ["Offset of field: trace_buffer::record_disabled"] + [::core::mem::offset_of!(trace_buffer, record_disabled) - 8usize]; + ["Offset of field: trace_buffer::resizing"] + [::core::mem::offset_of!(trace_buffer, resizing) - 12usize]; + ["Offset of field: trace_buffer::cpumask"] + [::core::mem::offset_of!(trace_buffer, cpumask) - 16usize]; + ["Offset of field: trace_buffer::reader_lock_key"] + [::core::mem::offset_of!(trace_buffer, reader_lock_key) - 24usize]; + ["Offset of field: trace_buffer::mutex"] + [::core::mem::offset_of!(trace_buffer, mutex) - 32usize]; + ["Offset of field: trace_buffer::buffers"] + [::core::mem::offset_of!(trace_buffer, buffers) - 64usize]; + ["Offset of field: trace_buffer::node"][::core::mem::offset_of!(trace_buffer, node) - 72usize]; + ["Offset of field: trace_buffer::clock"] + [::core::mem::offset_of!(trace_buffer, clock) - 88usize]; + ["Offset of field: trace_buffer::irq_work"] + [::core::mem::offset_of!(trace_buffer, irq_work) - 96usize]; + ["Offset of field: trace_buffer::time_stamp_abs"] + [::core::mem::offset_of!(trace_buffer, time_stamp_abs) - 184usize]; + ["Offset of field: trace_buffer::range_addr_start"] + [::core::mem::offset_of!(trace_buffer, range_addr_start) - 192usize]; + ["Offset of field: trace_buffer::range_addr_end"] + [::core::mem::offset_of!(trace_buffer, range_addr_end) - 200usize]; + ["Offset of field: trace_buffer::last_text_delta"] + [::core::mem::offset_of!(trace_buffer, last_text_delta) - 208usize]; + ["Offset of field: trace_buffer::last_data_delta"] + [::core::mem::offset_of!(trace_buffer, last_data_delta) - 216usize]; + ["Offset of field: trace_buffer::subbuf_size"] + [::core::mem::offset_of!(trace_buffer, subbuf_size) - 224usize]; + ["Offset of field: trace_buffer::subbuf_order"] + [::core::mem::offset_of!(trace_buffer, subbuf_order) - 228usize]; + ["Offset of field: trace_buffer::max_data_size"] + [::core::mem::offset_of!(trace_buffer, max_data_size) - 232usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_buffer_meta { + pub meta_page_size: __u32, + pub meta_struct_len: __u32, + pub subbuf_size: __u32, + pub nr_subbufs: __u32, + pub reader: trace_buffer_meta__bindgen_ty_1, + pub flags: __u64, + pub entries: __u64, + pub overrun: __u64, + pub read: __u64, + pub Reserved1: __u64, + pub Reserved2: __u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_buffer_meta__bindgen_ty_1 { + pub lost_events: __u64, + pub id: __u32, + pub read: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_buffer_meta__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of trace_buffer_meta__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_buffer_meta__bindgen_ty_1::lost_events"] + [::core::mem::offset_of!(trace_buffer_meta__bindgen_ty_1, lost_events) - 0usize]; + ["Offset of field: trace_buffer_meta__bindgen_ty_1::id"] + [::core::mem::offset_of!(trace_buffer_meta__bindgen_ty_1, id) - 8usize]; + ["Offset of field: trace_buffer_meta__bindgen_ty_1::read"] + [::core::mem::offset_of!(trace_buffer_meta__bindgen_ty_1, read) - 12usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_buffer_meta"][::core::mem::size_of::() - 80usize]; + ["Alignment of trace_buffer_meta"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_buffer_meta::meta_page_size"] + [::core::mem::offset_of!(trace_buffer_meta, meta_page_size) - 0usize]; + ["Offset of field: trace_buffer_meta::meta_struct_len"] + [::core::mem::offset_of!(trace_buffer_meta, meta_struct_len) - 4usize]; + ["Offset of field: trace_buffer_meta::subbuf_size"] + [::core::mem::offset_of!(trace_buffer_meta, subbuf_size) - 8usize]; + ["Offset of field: trace_buffer_meta::nr_subbufs"] + [::core::mem::offset_of!(trace_buffer_meta, nr_subbufs) - 12usize]; + ["Offset of field: trace_buffer_meta::reader"] + [::core::mem::offset_of!(trace_buffer_meta, reader) - 16usize]; + ["Offset of field: trace_buffer_meta::flags"] + [::core::mem::offset_of!(trace_buffer_meta, flags) - 32usize]; + ["Offset of field: trace_buffer_meta::entries"] + [::core::mem::offset_of!(trace_buffer_meta, entries) - 40usize]; + ["Offset of field: trace_buffer_meta::overrun"] + [::core::mem::offset_of!(trace_buffer_meta, overrun) - 48usize]; + ["Offset of field: trace_buffer_meta::read"] + [::core::mem::offset_of!(trace_buffer_meta, read) - 56usize]; + ["Offset of field: trace_buffer_meta::Reserved1"] + [::core::mem::offset_of!(trace_buffer_meta, Reserved1) - 64usize]; + ["Offset of field: trace_buffer_meta::Reserved2"] + [::core::mem::offset_of!(trace_buffer_meta, Reserved2) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_eval_map { + pub system: *const ::core::ffi::c_char, + pub eval_string: *const ::core::ffi::c_char, + pub eval_value: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_eval_map"][::core::mem::size_of::() - 24usize]; + ["Alignment of trace_eval_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_eval_map::system"] + [::core::mem::offset_of!(trace_eval_map, system) - 0usize]; + ["Offset of field: trace_eval_map::eval_string"] + [::core::mem::offset_of!(trace_eval_map, eval_string) - 8usize]; + ["Offset of field: trace_eval_map::eval_value"] + [::core::mem::offset_of!(trace_eval_map, eval_value) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct trace_event_fields { + pub type_: *const ::core::ffi::c_char, + pub __bindgen_anon_1: trace_event_fields__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union trace_event_fields__bindgen_ty_1 { + pub __bindgen_anon_1: trace_event_fields__bindgen_ty_1__bindgen_ty_1, + pub define_fields: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut trace_event_call) -> ::core::ffi::c_int, + >, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_event_fields__bindgen_ty_1__bindgen_ty_1 { + pub name: *const ::core::ffi::c_char, + pub size: ::core::ffi::c_int, + pub align: ::core::ffi::c_int, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub filter_type: ::core::ffi::c_int, + pub len: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_fields__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of trace_event_fields__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_fields__bindgen_ty_1__bindgen_ty_1::name"] + [::core::mem::offset_of!(trace_event_fields__bindgen_ty_1__bindgen_ty_1, name) - 0usize]; + ["Offset of field: trace_event_fields__bindgen_ty_1__bindgen_ty_1::size"] + [::core::mem::offset_of!(trace_event_fields__bindgen_ty_1__bindgen_ty_1, size) - 8usize]; + ["Offset of field: trace_event_fields__bindgen_ty_1__bindgen_ty_1::align"] + [::core::mem::offset_of!(trace_event_fields__bindgen_ty_1__bindgen_ty_1, align) - 12usize]; + ["Offset of field: trace_event_fields__bindgen_ty_1__bindgen_ty_1::filter_type"][::core::mem::offset_of!( + trace_event_fields__bindgen_ty_1__bindgen_ty_1, + filter_type + ) - 20usize]; + ["Offset of field: trace_event_fields__bindgen_ty_1__bindgen_ty_1::len"] + [::core::mem::offset_of!(trace_event_fields__bindgen_ty_1__bindgen_ty_1, len) - 24usize]; +}; +impl trace_event_fields__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn is_signed(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_signed(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn is_signed_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_is_signed_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn needs_test(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_needs_test(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn needs_test_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_needs_test_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + is_signed: ::core::ffi::c_uint, + needs_test: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let is_signed: u32 = unsafe { ::core::mem::transmute(is_signed) }; + is_signed as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let needs_test: u32 = unsafe { ::core::mem::transmute(needs_test) }; + needs_test as u64 + }); + __bindgen_bitfield_unit + } +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_fields__bindgen_ty_1"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of trace_event_fields__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_fields__bindgen_ty_1::define_fields"] + [::core::mem::offset_of!(trace_event_fields__bindgen_ty_1, define_fields) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_fields"][::core::mem::size_of::() - 40usize]; + ["Alignment of trace_event_fields"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_fields::type_"] + [::core::mem::offset_of!(trace_event_fields, type_) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_event_file { + pub list: list_head, + pub event_call: *mut trace_event_call, + pub filter: *mut event_filter, + pub ei: *mut eventfs_inode, + pub tr: *mut trace_array, + pub system: *mut trace_subsystem_dir, + pub triggers: list_head, + pub flags: ::core::ffi::c_ulong, + pub ref_: refcount_t, + pub sm_ref: atomic_t, + pub tm_ref: atomic_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_file"][::core::mem::size_of::() - 96usize]; + ["Alignment of trace_event_file"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_file::list"] + [::core::mem::offset_of!(trace_event_file, list) - 0usize]; + ["Offset of field: trace_event_file::event_call"] + [::core::mem::offset_of!(trace_event_file, event_call) - 16usize]; + ["Offset of field: trace_event_file::filter"] + [::core::mem::offset_of!(trace_event_file, filter) - 24usize]; + ["Offset of field: trace_event_file::ei"] + [::core::mem::offset_of!(trace_event_file, ei) - 32usize]; + ["Offset of field: trace_event_file::tr"] + [::core::mem::offset_of!(trace_event_file, tr) - 40usize]; + ["Offset of field: trace_event_file::system"] + [::core::mem::offset_of!(trace_event_file, system) - 48usize]; + ["Offset of field: trace_event_file::triggers"] + [::core::mem::offset_of!(trace_event_file, triggers) - 56usize]; + ["Offset of field: trace_event_file::flags"] + [::core::mem::offset_of!(trace_event_file, flags) - 72usize]; + ["Offset of field: trace_event_file::ref_"] + [::core::mem::offset_of!(trace_event_file, ref_) - 80usize]; + ["Offset of field: trace_event_file::sm_ref"] + [::core::mem::offset_of!(trace_event_file, sm_ref) - 84usize]; + ["Offset of field: trace_event_file::tm_ref"] + [::core::mem::offset_of!(trace_event_file, tm_ref) - 88usize]; +}; +pub type trace_print_func = ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut trace_iterator, + arg2: ::core::ffi::c_int, + arg3: *mut trace_event, + ) -> print_line_t, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_event_functions { + pub trace: trace_print_func, + pub raw: trace_print_func, + pub hex: trace_print_func, + pub binary: trace_print_func, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_event_functions"][::core::mem::size_of::() - 32usize]; + ["Alignment of trace_event_functions"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_event_functions::trace"] + [::core::mem::offset_of!(trace_event_functions, trace) - 0usize]; + ["Offset of field: trace_event_functions::raw"] + [::core::mem::offset_of!(trace_event_functions, raw) - 8usize]; + ["Offset of field: trace_event_functions::hex"] + [::core::mem::offset_of!(trace_event_functions, hex) - 16usize]; + ["Offset of field: trace_event_functions::binary"] + [::core::mem::offset_of!(trace_event_functions, binary) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_func_repeats { + pub ip: ::core::ffi::c_ulong, + pub parent_ip: ::core::ffi::c_ulong, + pub count: ::core::ffi::c_ulong, + pub ts_last_call: u64_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_func_repeats"][::core::mem::size_of::() - 32usize]; + ["Alignment of trace_func_repeats"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_func_repeats::ip"] + [::core::mem::offset_of!(trace_func_repeats, ip) - 0usize]; + ["Offset of field: trace_func_repeats::parent_ip"] + [::core::mem::offset_of!(trace_func_repeats, parent_ip) - 8usize]; + ["Offset of field: trace_func_repeats::count"] + [::core::mem::offset_of!(trace_func_repeats, count) - 16usize]; + ["Offset of field: trace_func_repeats::ts_last_call"] + [::core::mem::offset_of!(trace_func_repeats, ts_last_call) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_option_dentry { + pub opt: *mut tracer_opt, + pub flags: *mut tracer_flags, + pub tr: *mut trace_array, + pub entry: *mut dentry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_option_dentry"][::core::mem::size_of::() - 32usize]; + ["Alignment of trace_option_dentry"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_option_dentry::opt"] + [::core::mem::offset_of!(trace_option_dentry, opt) - 0usize]; + ["Offset of field: trace_option_dentry::flags"] + [::core::mem::offset_of!(trace_option_dentry, flags) - 8usize]; + ["Offset of field: trace_option_dentry::tr"] + [::core::mem::offset_of!(trace_option_dentry, tr) - 16usize]; + ["Offset of field: trace_option_dentry::entry"] + [::core::mem::offset_of!(trace_option_dentry, entry) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_options { + pub tracer: *mut tracer, + pub topts: *mut trace_option_dentry, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_options"][::core::mem::size_of::() - 16usize]; + ["Alignment of trace_options"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_options::tracer"] + [::core::mem::offset_of!(trace_options, tracer) - 0usize]; + ["Offset of field: trace_options::topts"] + [::core::mem::offset_of!(trace_options, topts) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct trace_pid_list { + pub lock: raw_spinlock_t, + pub refill_irqwork: irq_work, + pub upper: [*mut upper_chunk; 256usize], + pub upper_list: *mut upper_chunk, + pub lower_list: *mut lower_chunk, + pub free_upper_chunks: ::core::ffi::c_int, + pub free_lower_chunks: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_pid_list"][::core::mem::size_of::() - 2112usize]; + ["Alignment of trace_pid_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_pid_list::lock"] + [::core::mem::offset_of!(trace_pid_list, lock) - 0usize]; + ["Offset of field: trace_pid_list::refill_irqwork"] + [::core::mem::offset_of!(trace_pid_list, refill_irqwork) - 8usize]; + ["Offset of field: trace_pid_list::upper"] + [::core::mem::offset_of!(trace_pid_list, upper) - 40usize]; + ["Offset of field: trace_pid_list::upper_list"] + [::core::mem::offset_of!(trace_pid_list, upper_list) - 2088usize]; + ["Offset of field: trace_pid_list::lower_list"] + [::core::mem::offset_of!(trace_pid_list, lower_list) - 2096usize]; + ["Offset of field: trace_pid_list::free_upper_chunks"] + [::core::mem::offset_of!(trace_pid_list, free_upper_chunks) - 2104usize]; + ["Offset of field: trace_pid_list::free_lower_chunks"] + [::core::mem::offset_of!(trace_pid_list, free_lower_chunks) - 2108usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct trace_subsystem_dir { + pub list: list_head, + pub subsystem: *mut event_subsystem, + pub tr: *mut trace_array, + pub ei: *mut eventfs_inode, + pub ref_count: ::core::ffi::c_int, + pub nr_events: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of trace_subsystem_dir"][::core::mem::size_of::() - 48usize]; + ["Alignment of trace_subsystem_dir"][::core::mem::align_of::() - 8usize]; + ["Offset of field: trace_subsystem_dir::list"] + [::core::mem::offset_of!(trace_subsystem_dir, list) - 0usize]; + ["Offset of field: trace_subsystem_dir::subsystem"] + [::core::mem::offset_of!(trace_subsystem_dir, subsystem) - 16usize]; + ["Offset of field: trace_subsystem_dir::tr"] + [::core::mem::offset_of!(trace_subsystem_dir, tr) - 24usize]; + ["Offset of field: trace_subsystem_dir::ei"] + [::core::mem::offset_of!(trace_subsystem_dir, ei) - 32usize]; + ["Offset of field: trace_subsystem_dir::ref_count"] + [::core::mem::offset_of!(trace_subsystem_dir, ref_count) - 40usize]; + ["Offset of field: trace_subsystem_dir::nr_events"] + [::core::mem::offset_of!(trace_subsystem_dir, nr_events) - 44usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tracepoint { + pub name: *const ::core::ffi::c_char, + pub key: static_key, + pub static_call_key: *mut static_call_key, + pub static_call_tramp: *mut ::core::ffi::c_void, + pub iterator: *mut ::core::ffi::c_void, + pub probestub: *mut ::core::ffi::c_void, + pub regfunc: ::core::option::Option ::core::ffi::c_int>, + pub unregfunc: ::core::option::Option, + pub funcs: *mut tracepoint_func, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tracepoint"][::core::mem::size_of::() - 80usize]; + ["Alignment of tracepoint"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tracepoint::name"][::core::mem::offset_of!(tracepoint, name) - 0usize]; + ["Offset of field: tracepoint::key"][::core::mem::offset_of!(tracepoint, key) - 8usize]; + ["Offset of field: tracepoint::static_call_key"] + [::core::mem::offset_of!(tracepoint, static_call_key) - 24usize]; + ["Offset of field: tracepoint::static_call_tramp"] + [::core::mem::offset_of!(tracepoint, static_call_tramp) - 32usize]; + ["Offset of field: tracepoint::iterator"] + [::core::mem::offset_of!(tracepoint, iterator) - 40usize]; + ["Offset of field: tracepoint::probestub"] + [::core::mem::offset_of!(tracepoint, probestub) - 48usize]; + ["Offset of field: tracepoint::regfunc"] + [::core::mem::offset_of!(tracepoint, regfunc) - 56usize]; + ["Offset of field: tracepoint::unregfunc"] + [::core::mem::offset_of!(tracepoint, unregfunc) - 64usize]; + ["Offset of field: tracepoint::funcs"][::core::mem::offset_of!(tracepoint, funcs) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tracer { + pub name: *const ::core::ffi::c_char, + pub init: + ::core::option::Option ::core::ffi::c_int>, + pub reset: ::core::option::Option, + pub start: ::core::option::Option, + pub stop: ::core::option::Option, + pub update_thresh: + ::core::option::Option ::core::ffi::c_int>, + pub open: ::core::option::Option, + pub pipe_open: ::core::option::Option, + pub close: ::core::option::Option, + pub pipe_close: ::core::option::Option, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut trace_iterator, + arg2: *mut file, + arg3: *mut ::core::ffi::c_char, + arg4: usize, + arg5: *mut loff_t, + ) -> isize, + >, + pub splice_read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut trace_iterator, + arg2: *mut file, + arg3: *mut loff_t, + arg4: *mut pipe_inode_info, + arg5: usize, + arg6: ::core::ffi::c_uint, + ) -> isize, + >, + pub print_header: ::core::option::Option, + pub print_line: + ::core::option::Option print_line_t>, + pub set_flag: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut trace_array, + arg2: u32_, + arg3: u32_, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub flag_changed: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut trace_array, + arg2: u32_, + arg3: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub next: *mut tracer, + pub flags: *mut tracer_flags, + pub enabled: ::core::ffi::c_int, + pub print_max: bool_, + pub allow_instances: bool_, + pub use_max_tr: bool_, + pub noboot: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tracer"][::core::mem::size_of::() - 152usize]; + ["Alignment of tracer"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tracer::name"][::core::mem::offset_of!(tracer, name) - 0usize]; + ["Offset of field: tracer::init"][::core::mem::offset_of!(tracer, init) - 8usize]; + ["Offset of field: tracer::reset"][::core::mem::offset_of!(tracer, reset) - 16usize]; + ["Offset of field: tracer::start"][::core::mem::offset_of!(tracer, start) - 24usize]; + ["Offset of field: tracer::stop"][::core::mem::offset_of!(tracer, stop) - 32usize]; + ["Offset of field: tracer::update_thresh"] + [::core::mem::offset_of!(tracer, update_thresh) - 40usize]; + ["Offset of field: tracer::open"][::core::mem::offset_of!(tracer, open) - 48usize]; + ["Offset of field: tracer::pipe_open"][::core::mem::offset_of!(tracer, pipe_open) - 56usize]; + ["Offset of field: tracer::close"][::core::mem::offset_of!(tracer, close) - 64usize]; + ["Offset of field: tracer::pipe_close"][::core::mem::offset_of!(tracer, pipe_close) - 72usize]; + ["Offset of field: tracer::read"][::core::mem::offset_of!(tracer, read) - 80usize]; + ["Offset of field: tracer::splice_read"] + [::core::mem::offset_of!(tracer, splice_read) - 88usize]; + ["Offset of field: tracer::print_header"] + [::core::mem::offset_of!(tracer, print_header) - 96usize]; + ["Offset of field: tracer::print_line"][::core::mem::offset_of!(tracer, print_line) - 104usize]; + ["Offset of field: tracer::set_flag"][::core::mem::offset_of!(tracer, set_flag) - 112usize]; + ["Offset of field: tracer::flag_changed"] + [::core::mem::offset_of!(tracer, flag_changed) - 120usize]; + ["Offset of field: tracer::next"][::core::mem::offset_of!(tracer, next) - 128usize]; + ["Offset of field: tracer::flags"][::core::mem::offset_of!(tracer, flags) - 136usize]; + ["Offset of field: tracer::enabled"][::core::mem::offset_of!(tracer, enabled) - 144usize]; + ["Offset of field: tracer::print_max"][::core::mem::offset_of!(tracer, print_max) - 148usize]; + ["Offset of field: tracer::allow_instances"] + [::core::mem::offset_of!(tracer, allow_instances) - 149usize]; + ["Offset of field: tracer::use_max_tr"][::core::mem::offset_of!(tracer, use_max_tr) - 150usize]; + ["Offset of field: tracer::noboot"][::core::mem::offset_of!(tracer, noboot) - 151usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tracer_flags { + pub val: u32_, + pub opts: *mut tracer_opt, + pub trace: *mut tracer, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tracer_flags"][::core::mem::size_of::() - 24usize]; + ["Alignment of tracer_flags"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tracer_flags::val"][::core::mem::offset_of!(tracer_flags, val) - 0usize]; + ["Offset of field: tracer_flags::opts"][::core::mem::offset_of!(tracer_flags, opts) - 8usize]; + ["Offset of field: tracer_flags::trace"] + [::core::mem::offset_of!(tracer_flags, trace) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tracer_opt { + pub name: *const ::core::ffi::c_char, + pub bit: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tracer_opt"][::core::mem::size_of::() - 16usize]; + ["Alignment of tracer_opt"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tracer_opt::name"][::core::mem::offset_of!(tracer_opt, name) - 0usize]; + ["Offset of field: tracer_opt::bit"][::core::mem::offset_of!(tracer_opt, bit) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tty_audit_buf { + pub mutex: mutex, + pub dev: dev_t, + pub icanon: bool_, + pub valid: usize, + pub data: *mut u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_audit_buf"][::core::mem::size_of::() - 56usize]; + ["Alignment of tty_audit_buf"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_audit_buf::mutex"] + [::core::mem::offset_of!(tty_audit_buf, mutex) - 0usize]; + ["Offset of field: tty_audit_buf::dev"][::core::mem::offset_of!(tty_audit_buf, dev) - 32usize]; + ["Offset of field: tty_audit_buf::icanon"] + [::core::mem::offset_of!(tty_audit_buf, icanon) - 36usize]; + ["Offset of field: tty_audit_buf::valid"] + [::core::mem::offset_of!(tty_audit_buf, valid) - 40usize]; + ["Offset of field: tty_audit_buf::data"] + [::core::mem::offset_of!(tty_audit_buf, data) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tty_driver { + pub kref: kref, + pub cdevs: *mut *mut cdev, + pub owner: *mut module, + pub driver_name: *const ::core::ffi::c_char, + pub name: *const ::core::ffi::c_char, + pub name_base: ::core::ffi::c_int, + pub major: ::core::ffi::c_int, + pub minor_start: ::core::ffi::c_int, + pub num: ::core::ffi::c_uint, + pub type_: ::core::ffi::c_short, + pub subtype: ::core::ffi::c_short, + pub init_termios: ktermios, + pub flags: ::core::ffi::c_ulong, + pub proc_entry: *mut proc_dir_entry, + pub other: *mut tty_driver, + pub ttys: *mut *mut tty_struct, + pub ports: *mut *mut tty_port, + pub termios: *mut *mut ktermios, + pub driver_state: *mut ::core::ffi::c_void, + pub ops: *const tty_operations, + pub tty_drivers: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_driver"][::core::mem::size_of::() - 184usize]; + ["Alignment of tty_driver"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_driver::kref"][::core::mem::offset_of!(tty_driver, kref) - 0usize]; + ["Offset of field: tty_driver::cdevs"][::core::mem::offset_of!(tty_driver, cdevs) - 8usize]; + ["Offset of field: tty_driver::owner"][::core::mem::offset_of!(tty_driver, owner) - 16usize]; + ["Offset of field: tty_driver::driver_name"] + [::core::mem::offset_of!(tty_driver, driver_name) - 24usize]; + ["Offset of field: tty_driver::name"][::core::mem::offset_of!(tty_driver, name) - 32usize]; + ["Offset of field: tty_driver::name_base"] + [::core::mem::offset_of!(tty_driver, name_base) - 40usize]; + ["Offset of field: tty_driver::major"][::core::mem::offset_of!(tty_driver, major) - 44usize]; + ["Offset of field: tty_driver::minor_start"] + [::core::mem::offset_of!(tty_driver, minor_start) - 48usize]; + ["Offset of field: tty_driver::num"][::core::mem::offset_of!(tty_driver, num) - 52usize]; + ["Offset of field: tty_driver::type_"][::core::mem::offset_of!(tty_driver, type_) - 56usize]; + ["Offset of field: tty_driver::subtype"] + [::core::mem::offset_of!(tty_driver, subtype) - 58usize]; + ["Offset of field: tty_driver::init_termios"] + [::core::mem::offset_of!(tty_driver, init_termios) - 60usize]; + ["Offset of field: tty_driver::flags"][::core::mem::offset_of!(tty_driver, flags) - 104usize]; + ["Offset of field: tty_driver::proc_entry"] + [::core::mem::offset_of!(tty_driver, proc_entry) - 112usize]; + ["Offset of field: tty_driver::other"][::core::mem::offset_of!(tty_driver, other) - 120usize]; + ["Offset of field: tty_driver::ttys"][::core::mem::offset_of!(tty_driver, ttys) - 128usize]; + ["Offset of field: tty_driver::ports"][::core::mem::offset_of!(tty_driver, ports) - 136usize]; + ["Offset of field: tty_driver::termios"] + [::core::mem::offset_of!(tty_driver, termios) - 144usize]; + ["Offset of field: tty_driver::driver_state"] + [::core::mem::offset_of!(tty_driver, driver_state) - 152usize]; + ["Offset of field: tty_driver::ops"][::core::mem::offset_of!(tty_driver, ops) - 160usize]; + ["Offset of field: tty_driver::tty_drivers"] + [::core::mem::offset_of!(tty_driver, tty_drivers) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tty_ldisc { + pub ops: *mut tty_ldisc_ops, + pub tty: *mut tty_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_ldisc"][::core::mem::size_of::() - 16usize]; + ["Alignment of tty_ldisc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_ldisc::ops"][::core::mem::offset_of!(tty_ldisc, ops) - 0usize]; + ["Offset of field: tty_ldisc::tty"][::core::mem::offset_of!(tty_ldisc, tty) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tty_ldisc_ops { + pub name: *mut ::core::ffi::c_char, + pub num: ::core::ffi::c_int, + pub open: + ::core::option::Option ::core::ffi::c_int>, + pub close: ::core::option::Option, + pub flush_buffer: ::core::option::Option, + pub read: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: *mut file, + arg3: *mut u8_, + arg4: usize, + arg5: *mut *mut ::core::ffi::c_void, + arg6: ::core::ffi::c_ulong, + ) -> isize, + >, + pub write: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: *mut file, + arg3: *const u8_, + arg4: usize, + ) -> isize, + >, + pub ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub compat_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub set_termios: + ::core::option::Option, + pub poll: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: *mut file, + arg3: *mut poll_table_struct, + ) -> __poll_t, + >, + pub hangup: ::core::option::Option, + pub receive_buf: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: *const u8_, + arg3: *const u8_, + arg4: usize, + ), + >, + pub write_wakeup: ::core::option::Option, + pub dcd_change: + ::core::option::Option, + pub receive_buf2: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: *const u8_, + arg3: *const u8_, + arg4: usize, + ) -> usize, + >, + pub lookahead_buf: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: *const u8_, + arg3: *const u8_, + arg4: usize, + ), + >, + pub owner: *mut module, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_ldisc_ops"][::core::mem::size_of::() - 144usize]; + ["Alignment of tty_ldisc_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_ldisc_ops::name"][::core::mem::offset_of!(tty_ldisc_ops, name) - 0usize]; + ["Offset of field: tty_ldisc_ops::num"][::core::mem::offset_of!(tty_ldisc_ops, num) - 8usize]; + ["Offset of field: tty_ldisc_ops::open"] + [::core::mem::offset_of!(tty_ldisc_ops, open) - 16usize]; + ["Offset of field: tty_ldisc_ops::close"] + [::core::mem::offset_of!(tty_ldisc_ops, close) - 24usize]; + ["Offset of field: tty_ldisc_ops::flush_buffer"] + [::core::mem::offset_of!(tty_ldisc_ops, flush_buffer) - 32usize]; + ["Offset of field: tty_ldisc_ops::read"] + [::core::mem::offset_of!(tty_ldisc_ops, read) - 40usize]; + ["Offset of field: tty_ldisc_ops::write"] + [::core::mem::offset_of!(tty_ldisc_ops, write) - 48usize]; + ["Offset of field: tty_ldisc_ops::ioctl"] + [::core::mem::offset_of!(tty_ldisc_ops, ioctl) - 56usize]; + ["Offset of field: tty_ldisc_ops::compat_ioctl"] + [::core::mem::offset_of!(tty_ldisc_ops, compat_ioctl) - 64usize]; + ["Offset of field: tty_ldisc_ops::set_termios"] + [::core::mem::offset_of!(tty_ldisc_ops, set_termios) - 72usize]; + ["Offset of field: tty_ldisc_ops::poll"] + [::core::mem::offset_of!(tty_ldisc_ops, poll) - 80usize]; + ["Offset of field: tty_ldisc_ops::hangup"] + [::core::mem::offset_of!(tty_ldisc_ops, hangup) - 88usize]; + ["Offset of field: tty_ldisc_ops::receive_buf"] + [::core::mem::offset_of!(tty_ldisc_ops, receive_buf) - 96usize]; + ["Offset of field: tty_ldisc_ops::write_wakeup"] + [::core::mem::offset_of!(tty_ldisc_ops, write_wakeup) - 104usize]; + ["Offset of field: tty_ldisc_ops::dcd_change"] + [::core::mem::offset_of!(tty_ldisc_ops, dcd_change) - 112usize]; + ["Offset of field: tty_ldisc_ops::receive_buf2"] + [::core::mem::offset_of!(tty_ldisc_ops, receive_buf2) - 120usize]; + ["Offset of field: tty_ldisc_ops::lookahead_buf"] + [::core::mem::offset_of!(tty_ldisc_ops, lookahead_buf) - 128usize]; + ["Offset of field: tty_ldisc_ops::owner"] + [::core::mem::offset_of!(tty_ldisc_ops, owner) - 136usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tty_operations { + pub lookup: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_driver, + arg2: *mut file, + arg3: ::core::ffi::c_int, + ) -> *mut tty_struct, + >, + pub install: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_driver, arg2: *mut tty_struct) -> ::core::ffi::c_int, + >, + pub remove: + ::core::option::Option, + pub open: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *mut file) -> ::core::ffi::c_int, + >, + pub close: ::core::option::Option, + pub shutdown: ::core::option::Option, + pub cleanup: ::core::option::Option, + pub write: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *const u8_, arg3: usize) -> isize, + >, + pub put_char: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: u8_) -> ::core::ffi::c_int, + >, + pub flush_chars: ::core::option::Option, + pub write_room: + ::core::option::Option ::core::ffi::c_uint>, + pub chars_in_buffer: + ::core::option::Option ::core::ffi::c_uint>, + pub ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub compat_ioctl: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_long, + >, + pub set_termios: + ::core::option::Option, + pub throttle: ::core::option::Option, + pub unthrottle: ::core::option::Option, + pub stop: ::core::option::Option, + pub start: ::core::option::Option, + pub hangup: ::core::option::Option, + pub break_ctl: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub flush_buffer: ::core::option::Option, + pub ldisc_ok: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: ::core::ffi::c_int) -> ::core::ffi::c_int, + >, + pub set_ldisc: ::core::option::Option, + pub wait_until_sent: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: ::core::ffi::c_int), + >, + pub send_xchar: ::core::option::Option, + pub tiocmget: + ::core::option::Option ::core::ffi::c_int>, + pub tiocmset: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub resize: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *mut winsize) -> ::core::ffi::c_int, + >, + pub get_icount: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_struct, + arg2: *mut serial_icounter_struct, + ) -> ::core::ffi::c_int, + >, + pub get_serial: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *mut serial_struct) -> ::core::ffi::c_int, + >, + pub set_serial: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *mut serial_struct) -> ::core::ffi::c_int, + >, + pub show_fdinfo: + ::core::option::Option, + pub proc_show: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut seq_file, + arg2: *mut ::core::ffi::c_void, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_operations"][::core::mem::size_of::() - 272usize]; + ["Alignment of tty_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_operations::lookup"] + [::core::mem::offset_of!(tty_operations, lookup) - 0usize]; + ["Offset of field: tty_operations::install"] + [::core::mem::offset_of!(tty_operations, install) - 8usize]; + ["Offset of field: tty_operations::remove"] + [::core::mem::offset_of!(tty_operations, remove) - 16usize]; + ["Offset of field: tty_operations::open"] + [::core::mem::offset_of!(tty_operations, open) - 24usize]; + ["Offset of field: tty_operations::close"] + [::core::mem::offset_of!(tty_operations, close) - 32usize]; + ["Offset of field: tty_operations::shutdown"] + [::core::mem::offset_of!(tty_operations, shutdown) - 40usize]; + ["Offset of field: tty_operations::cleanup"] + [::core::mem::offset_of!(tty_operations, cleanup) - 48usize]; + ["Offset of field: tty_operations::write"] + [::core::mem::offset_of!(tty_operations, write) - 56usize]; + ["Offset of field: tty_operations::put_char"] + [::core::mem::offset_of!(tty_operations, put_char) - 64usize]; + ["Offset of field: tty_operations::flush_chars"] + [::core::mem::offset_of!(tty_operations, flush_chars) - 72usize]; + ["Offset of field: tty_operations::write_room"] + [::core::mem::offset_of!(tty_operations, write_room) - 80usize]; + ["Offset of field: tty_operations::chars_in_buffer"] + [::core::mem::offset_of!(tty_operations, chars_in_buffer) - 88usize]; + ["Offset of field: tty_operations::ioctl"] + [::core::mem::offset_of!(tty_operations, ioctl) - 96usize]; + ["Offset of field: tty_operations::compat_ioctl"] + [::core::mem::offset_of!(tty_operations, compat_ioctl) - 104usize]; + ["Offset of field: tty_operations::set_termios"] + [::core::mem::offset_of!(tty_operations, set_termios) - 112usize]; + ["Offset of field: tty_operations::throttle"] + [::core::mem::offset_of!(tty_operations, throttle) - 120usize]; + ["Offset of field: tty_operations::unthrottle"] + [::core::mem::offset_of!(tty_operations, unthrottle) - 128usize]; + ["Offset of field: tty_operations::stop"] + [::core::mem::offset_of!(tty_operations, stop) - 136usize]; + ["Offset of field: tty_operations::start"] + [::core::mem::offset_of!(tty_operations, start) - 144usize]; + ["Offset of field: tty_operations::hangup"] + [::core::mem::offset_of!(tty_operations, hangup) - 152usize]; + ["Offset of field: tty_operations::break_ctl"] + [::core::mem::offset_of!(tty_operations, break_ctl) - 160usize]; + ["Offset of field: tty_operations::flush_buffer"] + [::core::mem::offset_of!(tty_operations, flush_buffer) - 168usize]; + ["Offset of field: tty_operations::ldisc_ok"] + [::core::mem::offset_of!(tty_operations, ldisc_ok) - 176usize]; + ["Offset of field: tty_operations::set_ldisc"] + [::core::mem::offset_of!(tty_operations, set_ldisc) - 184usize]; + ["Offset of field: tty_operations::wait_until_sent"] + [::core::mem::offset_of!(tty_operations, wait_until_sent) - 192usize]; + ["Offset of field: tty_operations::send_xchar"] + [::core::mem::offset_of!(tty_operations, send_xchar) - 200usize]; + ["Offset of field: tty_operations::tiocmget"] + [::core::mem::offset_of!(tty_operations, tiocmget) - 208usize]; + ["Offset of field: tty_operations::tiocmset"] + [::core::mem::offset_of!(tty_operations, tiocmset) - 216usize]; + ["Offset of field: tty_operations::resize"] + [::core::mem::offset_of!(tty_operations, resize) - 224usize]; + ["Offset of field: tty_operations::get_icount"] + [::core::mem::offset_of!(tty_operations, get_icount) - 232usize]; + ["Offset of field: tty_operations::get_serial"] + [::core::mem::offset_of!(tty_operations, get_serial) - 240usize]; + ["Offset of field: tty_operations::set_serial"] + [::core::mem::offset_of!(tty_operations, set_serial) - 248usize]; + ["Offset of field: tty_operations::show_fdinfo"] + [::core::mem::offset_of!(tty_operations, show_fdinfo) - 256usize]; + ["Offset of field: tty_operations::proc_show"] + [::core::mem::offset_of!(tty_operations, proc_show) - 264usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tty_port_client_operations { + pub receive_buf: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut tty_port, + arg2: *const u8_, + arg3: *const u8_, + arg4: usize, + ) -> usize, + >, + pub lookahead_buf: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_port, arg2: *const u8_, arg3: *const u8_, arg4: usize), + >, + pub write_wakeup: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_port_client_operations"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of tty_port_client_operations"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_port_client_operations::receive_buf"] + [::core::mem::offset_of!(tty_port_client_operations, receive_buf) - 0usize]; + ["Offset of field: tty_port_client_operations::lookahead_buf"] + [::core::mem::offset_of!(tty_port_client_operations, lookahead_buf) - 8usize]; + ["Offset of field: tty_port_client_operations::write_wakeup"] + [::core::mem::offset_of!(tty_port_client_operations, write_wakeup) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tty_port_operations { + pub carrier_raised: ::core::option::Option bool_>, + pub dtr_rts: ::core::option::Option, + pub shutdown: ::core::option::Option, + pub activate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut tty_port, arg2: *mut tty_struct) -> ::core::ffi::c_int, + >, + pub destruct: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_port_operations"][::core::mem::size_of::() - 40usize]; + ["Alignment of tty_port_operations"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_port_operations::carrier_raised"] + [::core::mem::offset_of!(tty_port_operations, carrier_raised) - 0usize]; + ["Offset of field: tty_port_operations::dtr_rts"] + [::core::mem::offset_of!(tty_port_operations, dtr_rts) - 8usize]; + ["Offset of field: tty_port_operations::shutdown"] + [::core::mem::offset_of!(tty_port_operations, shutdown) - 16usize]; + ["Offset of field: tty_port_operations::activate"] + [::core::mem::offset_of!(tty_port_operations, activate) - 24usize]; + ["Offset of field: tty_port_operations::destruct"] + [::core::mem::offset_of!(tty_port_operations, destruct) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tty_struct { + pub kref: kref, + pub index: ::core::ffi::c_int, + pub dev: *mut device, + pub driver: *mut tty_driver, + pub port: *mut tty_port, + pub ops: *const tty_operations, + pub ldisc: *mut tty_ldisc, + pub ldisc_sem: ld_semaphore, + pub atomic_write_lock: mutex, + pub legacy_mutex: mutex, + pub throttle_mutex: mutex, + pub termios_rwsem: rw_semaphore, + pub winsize_mutex: mutex, + pub termios: ktermios, + pub termios_locked: ktermios, + pub name: [::core::ffi::c_char; 64usize], + pub flags: ::core::ffi::c_ulong, + pub count: ::core::ffi::c_int, + pub receive_room: ::core::ffi::c_uint, + pub winsize: winsize, + pub flow: tty_struct__bindgen_ty_1, + pub ctrl: tty_struct__bindgen_ty_2, + pub hw_stopped: bool_, + pub closing: bool_, + pub flow_change: ::core::ffi::c_int, + pub link: *mut tty_struct, + pub fasync: *mut fasync_struct, + pub write_wait: wait_queue_head_t, + pub read_wait: wait_queue_head_t, + pub hangup_work: work_struct, + pub disc_data: *mut ::core::ffi::c_void, + pub driver_data: *mut ::core::ffi::c_void, + pub files_lock: spinlock_t, + pub write_cnt: ::core::ffi::c_int, + pub write_buf: *mut u8_, + pub tty_files: list_head, + pub SAK_work: work_struct, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tty_struct__bindgen_ty_1 { + pub lock: spinlock_t, + pub stopped: bool_, + pub tco_stopped: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_struct__bindgen_ty_1"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of tty_struct__bindgen_ty_1"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: tty_struct__bindgen_ty_1::lock"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_1, lock) - 0usize]; + ["Offset of field: tty_struct__bindgen_ty_1::stopped"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_1, stopped) - 4usize]; + ["Offset of field: tty_struct__bindgen_ty_1::tco_stopped"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_1, tco_stopped) - 5usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tty_struct__bindgen_ty_2 { + pub pgrp: *mut pid, + pub session: *mut pid, + pub lock: spinlock_t, + pub pktstatus: ::core::ffi::c_uchar, + pub packet: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_struct__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of tty_struct__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_struct__bindgen_ty_2::pgrp"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_2, pgrp) - 0usize]; + ["Offset of field: tty_struct__bindgen_ty_2::session"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_2, session) - 8usize]; + ["Offset of field: tty_struct__bindgen_ty_2::lock"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_2, lock) - 16usize]; + ["Offset of field: tty_struct__bindgen_ty_2::pktstatus"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_2, pktstatus) - 20usize]; + ["Offset of field: tty_struct__bindgen_ty_2::packet"] + [::core::mem::offset_of!(tty_struct__bindgen_ty_2, packet) - 21usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of tty_struct"][::core::mem::size_of::() - 656usize]; + ["Alignment of tty_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: tty_struct::kref"][::core::mem::offset_of!(tty_struct, kref) - 0usize]; + ["Offset of field: tty_struct::index"][::core::mem::offset_of!(tty_struct, index) - 4usize]; + ["Offset of field: tty_struct::dev"][::core::mem::offset_of!(tty_struct, dev) - 8usize]; + ["Offset of field: tty_struct::driver"][::core::mem::offset_of!(tty_struct, driver) - 16usize]; + ["Offset of field: tty_struct::port"][::core::mem::offset_of!(tty_struct, port) - 24usize]; + ["Offset of field: tty_struct::ops"][::core::mem::offset_of!(tty_struct, ops) - 32usize]; + ["Offset of field: tty_struct::ldisc"][::core::mem::offset_of!(tty_struct, ldisc) - 40usize]; + ["Offset of field: tty_struct::ldisc_sem"] + [::core::mem::offset_of!(tty_struct, ldisc_sem) - 48usize]; + ["Offset of field: tty_struct::atomic_write_lock"] + [::core::mem::offset_of!(tty_struct, atomic_write_lock) - 96usize]; + ["Offset of field: tty_struct::legacy_mutex"] + [::core::mem::offset_of!(tty_struct, legacy_mutex) - 128usize]; + ["Offset of field: tty_struct::throttle_mutex"] + [::core::mem::offset_of!(tty_struct, throttle_mutex) - 160usize]; + ["Offset of field: tty_struct::termios_rwsem"] + [::core::mem::offset_of!(tty_struct, termios_rwsem) - 192usize]; + ["Offset of field: tty_struct::winsize_mutex"] + [::core::mem::offset_of!(tty_struct, winsize_mutex) - 232usize]; + ["Offset of field: tty_struct::termios"] + [::core::mem::offset_of!(tty_struct, termios) - 264usize]; + ["Offset of field: tty_struct::termios_locked"] + [::core::mem::offset_of!(tty_struct, termios_locked) - 308usize]; + ["Offset of field: tty_struct::name"][::core::mem::offset_of!(tty_struct, name) - 352usize]; + ["Offset of field: tty_struct::flags"][::core::mem::offset_of!(tty_struct, flags) - 416usize]; + ["Offset of field: tty_struct::count"][::core::mem::offset_of!(tty_struct, count) - 424usize]; + ["Offset of field: tty_struct::receive_room"] + [::core::mem::offset_of!(tty_struct, receive_room) - 428usize]; + ["Offset of field: tty_struct::winsize"] + [::core::mem::offset_of!(tty_struct, winsize) - 432usize]; + ["Offset of field: tty_struct::flow"][::core::mem::offset_of!(tty_struct, flow) - 440usize]; + ["Offset of field: tty_struct::ctrl"][::core::mem::offset_of!(tty_struct, ctrl) - 448usize]; + ["Offset of field: tty_struct::hw_stopped"] + [::core::mem::offset_of!(tty_struct, hw_stopped) - 472usize]; + ["Offset of field: tty_struct::closing"] + [::core::mem::offset_of!(tty_struct, closing) - 473usize]; + ["Offset of field: tty_struct::flow_change"] + [::core::mem::offset_of!(tty_struct, flow_change) - 476usize]; + ["Offset of field: tty_struct::link"][::core::mem::offset_of!(tty_struct, link) - 480usize]; + ["Offset of field: tty_struct::fasync"][::core::mem::offset_of!(tty_struct, fasync) - 488usize]; + ["Offset of field: tty_struct::write_wait"] + [::core::mem::offset_of!(tty_struct, write_wait) - 496usize]; + ["Offset of field: tty_struct::read_wait"] + [::core::mem::offset_of!(tty_struct, read_wait) - 520usize]; + ["Offset of field: tty_struct::hangup_work"] + [::core::mem::offset_of!(tty_struct, hangup_work) - 544usize]; + ["Offset of field: tty_struct::disc_data"] + [::core::mem::offset_of!(tty_struct, disc_data) - 576usize]; + ["Offset of field: tty_struct::driver_data"] + [::core::mem::offset_of!(tty_struct, driver_data) - 584usize]; + ["Offset of field: tty_struct::files_lock"] + [::core::mem::offset_of!(tty_struct, files_lock) - 592usize]; + ["Offset of field: tty_struct::write_cnt"] + [::core::mem::offset_of!(tty_struct, write_cnt) - 596usize]; + ["Offset of field: tty_struct::write_buf"] + [::core::mem::offset_of!(tty_struct, write_buf) - 600usize]; + ["Offset of field: tty_struct::tty_files"] + [::core::mem::offset_of!(tty_struct, tty_files) - 608usize]; + ["Offset of field: tty_struct::SAK_work"] + [::core::mem::offset_of!(tty_struct, SAK_work) - 624usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ubuf_info_ops { + pub complete: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ubuf_info, arg3: bool_), + >, + pub link_skb: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut ubuf_info) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ubuf_info_ops"][::core::mem::size_of::() - 16usize]; + ["Alignment of ubuf_info_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ubuf_info_ops::complete"] + [::core::mem::offset_of!(ubuf_info_ops, complete) - 0usize]; + ["Offset of field: ubuf_info_ops::link_skb"] + [::core::mem::offset_of!(ubuf_info_ops, link_skb) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ucounts { + pub node: hlist_node, + pub ns: *mut user_namespace, + pub uid: kuid_t, + pub count: atomic_t, + pub ucount: [atomic_long_t; 12usize], + pub rlimit: [atomic_long_t; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of ucounts"][::core::mem::size_of::() - 160usize]; + ["Alignment of ucounts"][::core::mem::align_of::() - 8usize]; + ["Offset of field: ucounts::node"][::core::mem::offset_of!(ucounts, node) - 0usize]; + ["Offset of field: ucounts::ns"][::core::mem::offset_of!(ucounts, ns) - 16usize]; + ["Offset of field: ucounts::uid"][::core::mem::offset_of!(ucounts, uid) - 24usize]; + ["Offset of field: ucounts::count"][::core::mem::offset_of!(ucounts, count) - 28usize]; + ["Offset of field: ucounts::ucount"][::core::mem::offset_of!(ucounts, ucount) - 32usize]; + ["Offset of field: ucounts::rlimit"][::core::mem::offset_of!(ucounts, rlimit) - 128usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct udp_hslot { + pub head: hlist_head, + pub count: ::core::ffi::c_int, + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of udp_hslot"][::core::mem::size_of::() - 16usize]; + ["Alignment of udp_hslot"][::core::mem::align_of::() - 8usize]; + ["Offset of field: udp_hslot::head"][::core::mem::offset_of!(udp_hslot, head) - 0usize]; + ["Offset of field: udp_hslot::count"][::core::mem::offset_of!(udp_hslot, count) - 8usize]; + ["Offset of field: udp_hslot::lock"][::core::mem::offset_of!(udp_hslot, lock) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct udp_mib { + pub mibs: [::core::ffi::c_ulong; 10usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of udp_mib"][::core::mem::size_of::() - 80usize]; + ["Alignment of udp_mib"][::core::mem::align_of::() - 8usize]; + ["Offset of field: udp_mib::mibs"][::core::mem::offset_of!(udp_mib, mibs) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct udp_table { + pub hash: *mut udp_hslot, + pub hash2: *mut udp_hslot, + pub mask: ::core::ffi::c_uint, + pub log: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of udp_table"][::core::mem::size_of::() - 24usize]; + ["Alignment of udp_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: udp_table::hash"][::core::mem::offset_of!(udp_table, hash) - 0usize]; + ["Offset of field: udp_table::hash2"][::core::mem::offset_of!(udp_table, hash2) - 8usize]; + ["Offset of field: udp_table::mask"][::core::mem::offset_of!(udp_table, mask) - 16usize]; + ["Offset of field: udp_table::log"][::core::mem::offset_of!(udp_table, log) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct udp_tunnel_info { + pub type_: ::core::ffi::c_ushort, + pub sa_family: sa_family_t, + pub port: __be16, + pub hw_priv: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of udp_tunnel_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of udp_tunnel_info"][::core::mem::align_of::() - 2usize]; + ["Offset of field: udp_tunnel_info::type_"] + [::core::mem::offset_of!(udp_tunnel_info, type_) - 0usize]; + ["Offset of field: udp_tunnel_info::sa_family"] + [::core::mem::offset_of!(udp_tunnel_info, sa_family) - 2usize]; + ["Offset of field: udp_tunnel_info::port"] + [::core::mem::offset_of!(udp_tunnel_info, port) - 4usize]; + ["Offset of field: udp_tunnel_info::hw_priv"] + [::core::mem::offset_of!(udp_tunnel_info, hw_priv) - 6usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct udp_tunnel_nic_table_info { + pub n_entries: ::core::ffi::c_uint, + pub tunnel_types: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of udp_tunnel_nic_table_info"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of udp_tunnel_nic_table_info"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: udp_tunnel_nic_table_info::n_entries"] + [::core::mem::offset_of!(udp_tunnel_nic_table_info, n_entries) - 0usize]; + ["Offset of field: udp_tunnel_nic_table_info::tunnel_types"] + [::core::mem::offset_of!(udp_tunnel_nic_table_info, tunnel_types) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct udp_tunnel_nic_info { + pub set_port: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + arg4: *mut udp_tunnel_info, + ) -> ::core::ffi::c_int, + >, + pub unset_port: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_uint, + arg3: ::core::ffi::c_uint, + arg4: *mut udp_tunnel_info, + ) -> ::core::ffi::c_int, + >, + pub sync_table: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut net_device, + arg2: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, + pub shared: *mut udp_tunnel_nic_shared, + pub flags: ::core::ffi::c_uint, + pub tables: [udp_tunnel_nic_table_info; 4usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of udp_tunnel_nic_info"][::core::mem::size_of::() - 72usize]; + ["Alignment of udp_tunnel_nic_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: udp_tunnel_nic_info::set_port"] + [::core::mem::offset_of!(udp_tunnel_nic_info, set_port) - 0usize]; + ["Offset of field: udp_tunnel_nic_info::unset_port"] + [::core::mem::offset_of!(udp_tunnel_nic_info, unset_port) - 8usize]; + ["Offset of field: udp_tunnel_nic_info::sync_table"] + [::core::mem::offset_of!(udp_tunnel_nic_info, sync_table) - 16usize]; + ["Offset of field: udp_tunnel_nic_info::shared"] + [::core::mem::offset_of!(udp_tunnel_nic_info, shared) - 24usize]; + ["Offset of field: udp_tunnel_nic_info::flags"] + [::core::mem::offset_of!(udp_tunnel_nic_info, flags) - 32usize]; + ["Offset of field: udp_tunnel_nic_info::tables"] + [::core::mem::offset_of!(udp_tunnel_nic_info, tables) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct udp_tunnel_nic_shared { + pub udp_tunnel_nic_info: *mut udp_tunnel_nic, + pub devices: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of udp_tunnel_nic_shared"][::core::mem::size_of::() - 24usize]; + ["Alignment of udp_tunnel_nic_shared"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: udp_tunnel_nic_shared::udp_tunnel_nic_info"] + [::core::mem::offset_of!(udp_tunnel_nic_shared, udp_tunnel_nic_info) - 0usize]; + ["Offset of field: udp_tunnel_nic_shared::devices"] + [::core::mem::offset_of!(udp_tunnel_nic_shared, devices) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uevent_sock { + pub list: list_head, + pub sk: *mut sock, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uevent_sock"][::core::mem::size_of::() - 24usize]; + ["Alignment of uevent_sock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uevent_sock::list"][::core::mem::offset_of!(uevent_sock, list) - 0usize]; + ["Offset of field: uevent_sock::sk"][::core::mem::offset_of!(uevent_sock, sk) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct uncached_list { + pub lock: spinlock_t, + pub head: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uncached_list"][::core::mem::size_of::() - 24usize]; + ["Alignment of uncached_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uncached_list::lock"][::core::mem::offset_of!(uncached_list, lock) - 0usize]; + ["Offset of field: uncached_list::head"][::core::mem::offset_of!(uncached_list, head) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct unicode_map { + pub version: ::core::ffi::c_uint, + pub ntab: [*const utf8data; 2usize], + pub tables: *const utf8data_table, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of unicode_map"][::core::mem::size_of::() - 32usize]; + ["Alignment of unicode_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: unicode_map::version"] + [::core::mem::offset_of!(unicode_map, version) - 0usize]; + ["Offset of field: unicode_map::ntab"][::core::mem::offset_of!(unicode_map, ntab) - 8usize]; + ["Offset of field: unicode_map::tables"] + [::core::mem::offset_of!(unicode_map, tables) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union upper_chunk { + pub next: *mut upper_chunk, + pub data: [*mut lower_chunk; 256usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of upper_chunk"][::core::mem::size_of::() - 2048usize]; + ["Alignment of upper_chunk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: upper_chunk::next"][::core::mem::offset_of!(upper_chunk, next) - 0usize]; + ["Offset of field: upper_chunk::data"][::core::mem::offset_of!(upper_chunk, data) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct uprobe { + pub rb_node: rb_node, + pub ref_: refcount_t, + pub register_rwsem: rw_semaphore, + pub consumer_rwsem: rw_semaphore, + pub pending_list: list_head, + pub consumers: list_head, + pub inode: *mut inode, + pub rcu: callback_head, + pub offset: loff_t, + pub ref_ctr_offset: loff_t, + pub flags: ::core::ffi::c_ulong, + pub arch: arch_uprobe, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uprobe"][::core::mem::size_of::() - 224usize]; + ["Alignment of uprobe"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uprobe::rb_node"][::core::mem::offset_of!(uprobe, rb_node) - 0usize]; + ["Offset of field: uprobe::ref_"][::core::mem::offset_of!(uprobe, ref_) - 24usize]; + ["Offset of field: uprobe::register_rwsem"] + [::core::mem::offset_of!(uprobe, register_rwsem) - 32usize]; + ["Offset of field: uprobe::consumer_rwsem"] + [::core::mem::offset_of!(uprobe, consumer_rwsem) - 72usize]; + ["Offset of field: uprobe::pending_list"] + [::core::mem::offset_of!(uprobe, pending_list) - 112usize]; + ["Offset of field: uprobe::consumers"][::core::mem::offset_of!(uprobe, consumers) - 128usize]; + ["Offset of field: uprobe::inode"][::core::mem::offset_of!(uprobe, inode) - 144usize]; + ["Offset of field: uprobe::rcu"][::core::mem::offset_of!(uprobe, rcu) - 152usize]; + ["Offset of field: uprobe::offset"][::core::mem::offset_of!(uprobe, offset) - 168usize]; + ["Offset of field: uprobe::ref_ctr_offset"] + [::core::mem::offset_of!(uprobe, ref_ctr_offset) - 176usize]; + ["Offset of field: uprobe::flags"][::core::mem::offset_of!(uprobe, flags) - 184usize]; + ["Offset of field: uprobe::arch"][::core::mem::offset_of!(uprobe, arch) - 192usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct uprobe_task { + pub state: uprobe_task_state, + pub __bindgen_anon_1: uprobe_task__bindgen_ty_1, + pub active_uprobe: *mut uprobe, + pub xol_vaddr: ::core::ffi::c_ulong, + pub auprobe: *mut arch_uprobe, + pub return_instances: *mut return_instance, + pub depth: ::core::ffi::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union uprobe_task__bindgen_ty_1 { + pub __bindgen_anon_1: uprobe_task__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: uprobe_task__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uprobe_task__bindgen_ty_1__bindgen_ty_1 { + pub autask: arch_uprobe_task, + pub vaddr: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uprobe_task__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of uprobe_task__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: uprobe_task__bindgen_ty_1__bindgen_ty_1::autask"] + [::core::mem::offset_of!(uprobe_task__bindgen_ty_1__bindgen_ty_1, autask) - 0usize]; + ["Offset of field: uprobe_task__bindgen_ty_1__bindgen_ty_1::vaddr"] + [::core::mem::offset_of!(uprobe_task__bindgen_ty_1__bindgen_ty_1, vaddr) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uprobe_task__bindgen_ty_1__bindgen_ty_2 { + pub dup_xol_work: callback_head, + pub dup_xol_addr: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uprobe_task__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of uprobe_task__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: uprobe_task__bindgen_ty_1__bindgen_ty_2::dup_xol_work"] + [::core::mem::offset_of!(uprobe_task__bindgen_ty_1__bindgen_ty_2, dup_xol_work) - 0usize]; + ["Offset of field: uprobe_task__bindgen_ty_1__bindgen_ty_2::dup_xol_addr"] + [::core::mem::offset_of!(uprobe_task__bindgen_ty_1__bindgen_ty_2, dup_xol_addr) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uprobe_task__bindgen_ty_1"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of uprobe_task__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uprobe_task"][::core::mem::size_of::() - 72usize]; + ["Alignment of uprobe_task"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uprobe_task::state"][::core::mem::offset_of!(uprobe_task, state) - 0usize]; + ["Offset of field: uprobe_task::active_uprobe"] + [::core::mem::offset_of!(uprobe_task, active_uprobe) - 32usize]; + ["Offset of field: uprobe_task::xol_vaddr"] + [::core::mem::offset_of!(uprobe_task, xol_vaddr) - 40usize]; + ["Offset of field: uprobe_task::auprobe"] + [::core::mem::offset_of!(uprobe_task, auprobe) - 48usize]; + ["Offset of field: uprobe_task::return_instances"] + [::core::mem::offset_of!(uprobe_task, return_instances) - 56usize]; + ["Offset of field: uprobe_task::depth"][::core::mem::offset_of!(uprobe_task, depth) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uprobe_xol_ops { + pub emulate: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut arch_uprobe, arg2: *mut pt_regs) -> bool_, + >, + pub pre_xol: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut arch_uprobe, arg2: *mut pt_regs) -> ::core::ffi::c_int, + >, + pub post_xol: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut arch_uprobe, arg2: *mut pt_regs) -> ::core::ffi::c_int, + >, + pub abort: + ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uprobe_xol_ops"][::core::mem::size_of::() - 32usize]; + ["Alignment of uprobe_xol_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uprobe_xol_ops::emulate"] + [::core::mem::offset_of!(uprobe_xol_ops, emulate) - 0usize]; + ["Offset of field: uprobe_xol_ops::pre_xol"] + [::core::mem::offset_of!(uprobe_xol_ops, pre_xol) - 8usize]; + ["Offset of field: uprobe_xol_ops::post_xol"] + [::core::mem::offset_of!(uprobe_xol_ops, post_xol) - 16usize]; + ["Offset of field: uprobe_xol_ops::abort"] + [::core::mem::offset_of!(uprobe_xol_ops, abort) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct user_event_mm { + pub mms_link: list_head, + pub enablers: list_head, + pub mm: *mut mm_struct, + pub next: *mut user_event_mm, + pub refcnt: refcount_t, + pub tasks: refcount_t, + pub put_rwork: rcu_work, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of user_event_mm"][::core::mem::size_of::() - 112usize]; + ["Alignment of user_event_mm"][::core::mem::align_of::() - 8usize]; + ["Offset of field: user_event_mm::mms_link"] + [::core::mem::offset_of!(user_event_mm, mms_link) - 0usize]; + ["Offset of field: user_event_mm::enablers"] + [::core::mem::offset_of!(user_event_mm, enablers) - 16usize]; + ["Offset of field: user_event_mm::mm"][::core::mem::offset_of!(user_event_mm, mm) - 32usize]; + ["Offset of field: user_event_mm::next"] + [::core::mem::offset_of!(user_event_mm, next) - 40usize]; + ["Offset of field: user_event_mm::refcnt"] + [::core::mem::offset_of!(user_event_mm, refcnt) - 48usize]; + ["Offset of field: user_event_mm::tasks"] + [::core::mem::offset_of!(user_event_mm, tasks) - 52usize]; + ["Offset of field: user_event_mm::put_rwork"] + [::core::mem::offset_of!(user_event_mm, put_rwork) - 56usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct user_namespace { + pub uid_map: uid_gid_map, + pub gid_map: uid_gid_map, + pub projid_map: uid_gid_map, + pub parent: *mut user_namespace, + pub level: ::core::ffi::c_int, + pub owner: kuid_t, + pub group: kgid_t, + pub ns: ns_common, + pub flags: ::core::ffi::c_ulong, + pub parent_could_setfcap: bool_, + pub keyring_name_list: list_head, + pub user_keyring_register: *mut key, + pub keyring_sem: rw_semaphore, + pub persistent_keyring_register: *mut key, + pub work: work_struct, + pub set: ctl_table_set, + pub sysctls: *mut ctl_table_header, + pub ucounts: *mut ucounts, + pub ucount_max: [::core::ffi::c_long; 12usize], + pub rlimit_max: [::core::ffi::c_long; 4usize], + pub binfmt_misc: *mut binfmt_misc, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of user_namespace"][::core::mem::size_of::() - 616usize]; + ["Alignment of user_namespace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: user_namespace::uid_map"] + [::core::mem::offset_of!(user_namespace, uid_map) - 0usize]; + ["Offset of field: user_namespace::gid_map"] + [::core::mem::offset_of!(user_namespace, gid_map) - 64usize]; + ["Offset of field: user_namespace::projid_map"] + [::core::mem::offset_of!(user_namespace, projid_map) - 128usize]; + ["Offset of field: user_namespace::parent"] + [::core::mem::offset_of!(user_namespace, parent) - 192usize]; + ["Offset of field: user_namespace::level"] + [::core::mem::offset_of!(user_namespace, level) - 200usize]; + ["Offset of field: user_namespace::owner"] + [::core::mem::offset_of!(user_namespace, owner) - 204usize]; + ["Offset of field: user_namespace::group"] + [::core::mem::offset_of!(user_namespace, group) - 208usize]; + ["Offset of field: user_namespace::ns"][::core::mem::offset_of!(user_namespace, ns) - 216usize]; + ["Offset of field: user_namespace::flags"] + [::core::mem::offset_of!(user_namespace, flags) - 240usize]; + ["Offset of field: user_namespace::parent_could_setfcap"] + [::core::mem::offset_of!(user_namespace, parent_could_setfcap) - 248usize]; + ["Offset of field: user_namespace::keyring_name_list"] + [::core::mem::offset_of!(user_namespace, keyring_name_list) - 256usize]; + ["Offset of field: user_namespace::user_keyring_register"] + [::core::mem::offset_of!(user_namespace, user_keyring_register) - 272usize]; + ["Offset of field: user_namespace::keyring_sem"] + [::core::mem::offset_of!(user_namespace, keyring_sem) - 280usize]; + ["Offset of field: user_namespace::persistent_keyring_register"] + [::core::mem::offset_of!(user_namespace, persistent_keyring_register) - 320usize]; + ["Offset of field: user_namespace::work"] + [::core::mem::offset_of!(user_namespace, work) - 328usize]; + ["Offset of field: user_namespace::set"] + [::core::mem::offset_of!(user_namespace, set) - 360usize]; + ["Offset of field: user_namespace::sysctls"] + [::core::mem::offset_of!(user_namespace, sysctls) - 464usize]; + ["Offset of field: user_namespace::ucounts"] + [::core::mem::offset_of!(user_namespace, ucounts) - 472usize]; + ["Offset of field: user_namespace::ucount_max"] + [::core::mem::offset_of!(user_namespace, ucount_max) - 480usize]; + ["Offset of field: user_namespace::rlimit_max"] + [::core::mem::offset_of!(user_namespace, rlimit_max) - 576usize]; + ["Offset of field: user_namespace::binfmt_misc"] + [::core::mem::offset_of!(user_namespace, binfmt_misc) - 608usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct user_struct { + pub __count: refcount_t, + pub epoll_watches: percpu_counter, + pub unix_inflight: ::core::ffi::c_ulong, + pub pipe_bufs: atomic_long_t, + pub uidhash_node: hlist_node, + pub uid: kuid_t, + pub locked_vm: atomic_long_t, + pub nr_watches: atomic_t, + pub ratelimit: ratelimit_state, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of user_struct"][::core::mem::size_of::() - 136usize]; + ["Alignment of user_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: user_struct::__count"] + [::core::mem::offset_of!(user_struct, __count) - 0usize]; + ["Offset of field: user_struct::epoll_watches"] + [::core::mem::offset_of!(user_struct, epoll_watches) - 8usize]; + ["Offset of field: user_struct::unix_inflight"] + [::core::mem::offset_of!(user_struct, unix_inflight) - 48usize]; + ["Offset of field: user_struct::pipe_bufs"] + [::core::mem::offset_of!(user_struct, pipe_bufs) - 56usize]; + ["Offset of field: user_struct::uidhash_node"] + [::core::mem::offset_of!(user_struct, uidhash_node) - 64usize]; + ["Offset of field: user_struct::uid"][::core::mem::offset_of!(user_struct, uid) - 80usize]; + ["Offset of field: user_struct::locked_vm"] + [::core::mem::offset_of!(user_struct, locked_vm) - 88usize]; + ["Offset of field: user_struct::nr_watches"] + [::core::mem::offset_of!(user_struct, nr_watches) - 96usize]; + ["Offset of field: user_struct::ratelimit"] + [::core::mem::offset_of!(user_struct, ratelimit) - 104usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct userfaultfd_ctx { + pub fault_pending_wqh: wait_queue_head_t, + pub fault_wqh: wait_queue_head_t, + pub fd_wqh: wait_queue_head_t, + pub event_wqh: wait_queue_head_t, + pub refile_seq: seqcount_spinlock_t, + pub refcount: refcount_t, + pub flags: ::core::ffi::c_uint, + pub features: ::core::ffi::c_uint, + pub released: bool_, + pub map_changing_lock: rw_semaphore, + pub mmap_changing: atomic_t, + pub mm: *mut mm_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of userfaultfd_ctx"][::core::mem::size_of::() - 176usize]; + ["Alignment of userfaultfd_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: userfaultfd_ctx::fault_pending_wqh"] + [::core::mem::offset_of!(userfaultfd_ctx, fault_pending_wqh) - 0usize]; + ["Offset of field: userfaultfd_ctx::fault_wqh"] + [::core::mem::offset_of!(userfaultfd_ctx, fault_wqh) - 24usize]; + ["Offset of field: userfaultfd_ctx::fd_wqh"] + [::core::mem::offset_of!(userfaultfd_ctx, fd_wqh) - 48usize]; + ["Offset of field: userfaultfd_ctx::event_wqh"] + [::core::mem::offset_of!(userfaultfd_ctx, event_wqh) - 72usize]; + ["Offset of field: userfaultfd_ctx::refile_seq"] + [::core::mem::offset_of!(userfaultfd_ctx, refile_seq) - 96usize]; + ["Offset of field: userfaultfd_ctx::refcount"] + [::core::mem::offset_of!(userfaultfd_ctx, refcount) - 100usize]; + ["Offset of field: userfaultfd_ctx::flags"] + [::core::mem::offset_of!(userfaultfd_ctx, flags) - 104usize]; + ["Offset of field: userfaultfd_ctx::features"] + [::core::mem::offset_of!(userfaultfd_ctx, features) - 108usize]; + ["Offset of field: userfaultfd_ctx::released"] + [::core::mem::offset_of!(userfaultfd_ctx, released) - 112usize]; + ["Offset of field: userfaultfd_ctx::map_changing_lock"] + [::core::mem::offset_of!(userfaultfd_ctx, map_changing_lock) - 120usize]; + ["Offset of field: userfaultfd_ctx::mmap_changing"] + [::core::mem::offset_of!(userfaultfd_ctx, mmap_changing) - 160usize]; + ["Offset of field: userfaultfd_ctx::mm"] + [::core::mem::offset_of!(userfaultfd_ctx, mm) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct utf8data { + pub maxage: ::core::ffi::c_uint, + pub offset: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of utf8data"][::core::mem::size_of::() - 8usize]; + ["Alignment of utf8data"][::core::mem::align_of::() - 4usize]; + ["Offset of field: utf8data::maxage"][::core::mem::offset_of!(utf8data, maxage) - 0usize]; + ["Offset of field: utf8data::offset"][::core::mem::offset_of!(utf8data, offset) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct utf8data_table { + pub utf8agetab: *const ::core::ffi::c_uint, + pub utf8agetab_size: ::core::ffi::c_int, + pub utf8nfdicfdata: *const utf8data, + pub utf8nfdicfdata_size: ::core::ffi::c_int, + pub utf8nfdidata: *const utf8data, + pub utf8nfdidata_size: ::core::ffi::c_int, + pub utf8data: *const ::core::ffi::c_uchar, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of utf8data_table"][::core::mem::size_of::() - 56usize]; + ["Alignment of utf8data_table"][::core::mem::align_of::() - 8usize]; + ["Offset of field: utf8data_table::utf8agetab"] + [::core::mem::offset_of!(utf8data_table, utf8agetab) - 0usize]; + ["Offset of field: utf8data_table::utf8agetab_size"] + [::core::mem::offset_of!(utf8data_table, utf8agetab_size) - 8usize]; + ["Offset of field: utf8data_table::utf8nfdicfdata"] + [::core::mem::offset_of!(utf8data_table, utf8nfdicfdata) - 16usize]; + ["Offset of field: utf8data_table::utf8nfdicfdata_size"] + [::core::mem::offset_of!(utf8data_table, utf8nfdicfdata_size) - 24usize]; + ["Offset of field: utf8data_table::utf8nfdidata"] + [::core::mem::offset_of!(utf8data_table, utf8nfdidata) - 32usize]; + ["Offset of field: utf8data_table::utf8nfdidata_size"] + [::core::mem::offset_of!(utf8data_table, utf8nfdidata_size) - 40usize]; + ["Offset of field: utf8data_table::utf8data"] + [::core::mem::offset_of!(utf8data_table, utf8data) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct uts_namespace { + pub name: new_utsname, + pub user_ns: *mut user_namespace, + pub ucounts: *mut ucounts, + pub ns: ns_common, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of uts_namespace"][::core::mem::size_of::() - 432usize]; + ["Alignment of uts_namespace"][::core::mem::align_of::() - 8usize]; + ["Offset of field: uts_namespace::name"][::core::mem::offset_of!(uts_namespace, name) - 0usize]; + ["Offset of field: uts_namespace::user_ns"] + [::core::mem::offset_of!(uts_namespace, user_ns) - 392usize]; + ["Offset of field: uts_namespace::ucounts"] + [::core::mem::offset_of!(uts_namespace, ucounts) - 400usize]; + ["Offset of field: uts_namespace::ns"][::core::mem::offset_of!(uts_namespace, ns) - 408usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vdso_image { + pub data: *mut ::core::ffi::c_void, + pub size: ::core::ffi::c_ulong, + pub alt: ::core::ffi::c_ulong, + pub alt_len: ::core::ffi::c_ulong, + pub extable_base: ::core::ffi::c_ulong, + pub extable_len: ::core::ffi::c_ulong, + pub extable: *const ::core::ffi::c_void, + pub sym_vvar_start: ::core::ffi::c_long, + pub sym_vvar_page: ::core::ffi::c_long, + pub sym_pvclock_page: ::core::ffi::c_long, + pub sym_hvclock_page: ::core::ffi::c_long, + pub sym_timens_page: ::core::ffi::c_long, + pub sym_VDSO32_NOTE_MASK: ::core::ffi::c_long, + pub sym___kernel_sigreturn: ::core::ffi::c_long, + pub sym___kernel_rt_sigreturn: ::core::ffi::c_long, + pub sym___kernel_vsyscall: ::core::ffi::c_long, + pub sym_int80_landing_pad: ::core::ffi::c_long, + pub sym_vdso32_sigreturn_landing_pad: ::core::ffi::c_long, + pub sym_vdso32_rt_sigreturn_landing_pad: ::core::ffi::c_long, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vdso_image"][::core::mem::size_of::() - 152usize]; + ["Alignment of vdso_image"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vdso_image::data"][::core::mem::offset_of!(vdso_image, data) - 0usize]; + ["Offset of field: vdso_image::size"][::core::mem::offset_of!(vdso_image, size) - 8usize]; + ["Offset of field: vdso_image::alt"][::core::mem::offset_of!(vdso_image, alt) - 16usize]; + ["Offset of field: vdso_image::alt_len"] + [::core::mem::offset_of!(vdso_image, alt_len) - 24usize]; + ["Offset of field: vdso_image::extable_base"] + [::core::mem::offset_of!(vdso_image, extable_base) - 32usize]; + ["Offset of field: vdso_image::extable_len"] + [::core::mem::offset_of!(vdso_image, extable_len) - 40usize]; + ["Offset of field: vdso_image::extable"] + [::core::mem::offset_of!(vdso_image, extable) - 48usize]; + ["Offset of field: vdso_image::sym_vvar_start"] + [::core::mem::offset_of!(vdso_image, sym_vvar_start) - 56usize]; + ["Offset of field: vdso_image::sym_vvar_page"] + [::core::mem::offset_of!(vdso_image, sym_vvar_page) - 64usize]; + ["Offset of field: vdso_image::sym_pvclock_page"] + [::core::mem::offset_of!(vdso_image, sym_pvclock_page) - 72usize]; + ["Offset of field: vdso_image::sym_hvclock_page"] + [::core::mem::offset_of!(vdso_image, sym_hvclock_page) - 80usize]; + ["Offset of field: vdso_image::sym_timens_page"] + [::core::mem::offset_of!(vdso_image, sym_timens_page) - 88usize]; + ["Offset of field: vdso_image::sym_VDSO32_NOTE_MASK"] + [::core::mem::offset_of!(vdso_image, sym_VDSO32_NOTE_MASK) - 96usize]; + ["Offset of field: vdso_image::sym___kernel_sigreturn"] + [::core::mem::offset_of!(vdso_image, sym___kernel_sigreturn) - 104usize]; + ["Offset of field: vdso_image::sym___kernel_rt_sigreturn"] + [::core::mem::offset_of!(vdso_image, sym___kernel_rt_sigreturn) - 112usize]; + ["Offset of field: vdso_image::sym___kernel_vsyscall"] + [::core::mem::offset_of!(vdso_image, sym___kernel_vsyscall) - 120usize]; + ["Offset of field: vdso_image::sym_int80_landing_pad"] + [::core::mem::offset_of!(vdso_image, sym_int80_landing_pad) - 128usize]; + ["Offset of field: vdso_image::sym_vdso32_sigreturn_landing_pad"] + [::core::mem::offset_of!(vdso_image, sym_vdso32_sigreturn_landing_pad) - 136usize]; + ["Offset of field: vdso_image::sym_vdso32_rt_sigreturn_landing_pad"] + [::core::mem::offset_of!(vdso_image, sym_vdso32_rt_sigreturn_landing_pad) - 144usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vlan_group { + pub nr_vlan_devs: ::core::ffi::c_uint, + pub hlist: hlist_node, + pub vlan_devices_arrays: [*mut *mut net_device; 16usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vlan_group"][::core::mem::size_of::() - 152usize]; + ["Alignment of vlan_group"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vlan_group::nr_vlan_devs"] + [::core::mem::offset_of!(vlan_group, nr_vlan_devs) - 0usize]; + ["Offset of field: vlan_group::hlist"][::core::mem::offset_of!(vlan_group, hlist) - 8usize]; + ["Offset of field: vlan_group::vlan_devices_arrays"] + [::core::mem::offset_of!(vlan_group, vlan_devices_arrays) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vlan_info { + pub real_dev: *mut net_device, + pub grp: vlan_group, + pub vid_list: list_head, + pub nr_vids: ::core::ffi::c_uint, + pub auto_vid0: bool_, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vlan_info"][::core::mem::size_of::() - 200usize]; + ["Alignment of vlan_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vlan_info::real_dev"][::core::mem::offset_of!(vlan_info, real_dev) - 0usize]; + ["Offset of field: vlan_info::grp"][::core::mem::offset_of!(vlan_info, grp) - 8usize]; + ["Offset of field: vlan_info::vid_list"] + [::core::mem::offset_of!(vlan_info, vid_list) - 160usize]; + ["Offset of field: vlan_info::nr_vids"][::core::mem::offset_of!(vlan_info, nr_vids) - 176usize]; + ["Offset of field: vlan_info::auto_vid0"] + [::core::mem::offset_of!(vlan_info, auto_vid0) - 180usize]; + ["Offset of field: vlan_info::rcu"][::core::mem::offset_of!(vlan_info, rcu) - 184usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vm_userfaultfd_ctx { + pub ctx: *mut userfaultfd_ctx, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_userfaultfd_ctx"][::core::mem::size_of::() - 8usize]; + ["Alignment of vm_userfaultfd_ctx"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_userfaultfd_ctx::ctx"] + [::core::mem::offset_of!(vm_userfaultfd_ctx, ctx) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct vm_area_struct { + pub __bindgen_anon_1: vm_area_struct__bindgen_ty_1, + pub vm_mm: *mut mm_struct, + pub vm_page_prot: pgprot_t, + pub __bindgen_anon_2: vm_area_struct__bindgen_ty_2, + pub detached: bool_, + pub vm_lock_seq: ::core::ffi::c_int, + pub vm_lock: *mut vma_lock, + pub shared: vm_area_struct__bindgen_ty_3, + pub anon_vma_chain: list_head, + pub anon_vma: *mut anon_vma, + pub vm_ops: *const vm_operations_struct, + pub vm_pgoff: ::core::ffi::c_ulong, + pub vm_file: *mut file, + pub vm_private_data: *mut ::core::ffi::c_void, + pub anon_name: *mut anon_vma_name, + pub swap_readahead_info: atomic_long_t, + pub vm_policy: *mut mempolicy, + pub numab_state: *mut vma_numab_state, + pub vm_userfaultfd_ctx: vm_userfaultfd_ctx, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union vm_area_struct__bindgen_ty_1 { + pub __bindgen_anon_1: vm_area_struct__bindgen_ty_1__bindgen_ty_1, + pub vm_rcu: callback_head, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vm_area_struct__bindgen_ty_1__bindgen_ty_1 { + pub vm_start: ::core::ffi::c_ulong, + pub vm_end: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_area_struct__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of vm_area_struct__bindgen_ty_1__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_area_struct__bindgen_ty_1__bindgen_ty_1::vm_start"] + [::core::mem::offset_of!(vm_area_struct__bindgen_ty_1__bindgen_ty_1, vm_start) - 0usize]; + ["Offset of field: vm_area_struct__bindgen_ty_1__bindgen_ty_1::vm_end"] + [::core::mem::offset_of!(vm_area_struct__bindgen_ty_1__bindgen_ty_1, vm_end) - 8usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_area_struct__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of vm_area_struct__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_area_struct__bindgen_ty_1::vm_rcu"] + [::core::mem::offset_of!(vm_area_struct__bindgen_ty_1, vm_rcu) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union vm_area_struct__bindgen_ty_2 { + pub vm_flags: vm_flags_t, + pub __vm_flags: vm_flags_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_area_struct__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of vm_area_struct__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_area_struct__bindgen_ty_2::vm_flags"] + [::core::mem::offset_of!(vm_area_struct__bindgen_ty_2, vm_flags) - 0usize]; + ["Offset of field: vm_area_struct__bindgen_ty_2::__vm_flags"] + [::core::mem::offset_of!(vm_area_struct__bindgen_ty_2, __vm_flags) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vm_area_struct__bindgen_ty_3 { + pub rb: rb_node, + pub rb_subtree_last: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_area_struct__bindgen_ty_3"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of vm_area_struct__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_area_struct__bindgen_ty_3::rb"] + [::core::mem::offset_of!(vm_area_struct__bindgen_ty_3, rb) - 0usize]; + ["Offset of field: vm_area_struct__bindgen_ty_3::rb_subtree_last"] + [::core::mem::offset_of!(vm_area_struct__bindgen_ty_3, rb_subtree_last) - 24usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_area_struct"][::core::mem::size_of::() - 184usize]; + ["Alignment of vm_area_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_area_struct::vm_mm"] + [::core::mem::offset_of!(vm_area_struct, vm_mm) - 16usize]; + ["Offset of field: vm_area_struct::vm_page_prot"] + [::core::mem::offset_of!(vm_area_struct, vm_page_prot) - 24usize]; + ["Offset of field: vm_area_struct::detached"] + [::core::mem::offset_of!(vm_area_struct, detached) - 40usize]; + ["Offset of field: vm_area_struct::vm_lock_seq"] + [::core::mem::offset_of!(vm_area_struct, vm_lock_seq) - 44usize]; + ["Offset of field: vm_area_struct::vm_lock"] + [::core::mem::offset_of!(vm_area_struct, vm_lock) - 48usize]; + ["Offset of field: vm_area_struct::shared"] + [::core::mem::offset_of!(vm_area_struct, shared) - 56usize]; + ["Offset of field: vm_area_struct::anon_vma_chain"] + [::core::mem::offset_of!(vm_area_struct, anon_vma_chain) - 88usize]; + ["Offset of field: vm_area_struct::anon_vma"] + [::core::mem::offset_of!(vm_area_struct, anon_vma) - 104usize]; + ["Offset of field: vm_area_struct::vm_ops"] + [::core::mem::offset_of!(vm_area_struct, vm_ops) - 112usize]; + ["Offset of field: vm_area_struct::vm_pgoff"] + [::core::mem::offset_of!(vm_area_struct, vm_pgoff) - 120usize]; + ["Offset of field: vm_area_struct::vm_file"] + [::core::mem::offset_of!(vm_area_struct, vm_file) - 128usize]; + ["Offset of field: vm_area_struct::vm_private_data"] + [::core::mem::offset_of!(vm_area_struct, vm_private_data) - 136usize]; + ["Offset of field: vm_area_struct::anon_name"] + [::core::mem::offset_of!(vm_area_struct, anon_name) - 144usize]; + ["Offset of field: vm_area_struct::swap_readahead_info"] + [::core::mem::offset_of!(vm_area_struct, swap_readahead_info) - 152usize]; + ["Offset of field: vm_area_struct::vm_policy"] + [::core::mem::offset_of!(vm_area_struct, vm_policy) - 160usize]; + ["Offset of field: vm_area_struct::numab_state"] + [::core::mem::offset_of!(vm_area_struct, numab_state) - 168usize]; + ["Offset of field: vm_area_struct::vm_userfaultfd_ctx"] + [::core::mem::offset_of!(vm_area_struct, vm_userfaultfd_ctx) - 176usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct vm_fault { + pub __bindgen_anon_1: vm_fault__bindgen_ty_1, + pub flags: fault_flag, + pub pmd: *mut pmd_t, + pub pud: *mut pud_t, + pub __bindgen_anon_2: vm_fault__bindgen_ty_2, + pub cow_page: *mut page, + pub page: *mut page, + pub pte: *mut pte_t, + pub ptl: *mut spinlock_t, + pub prealloc_pte: pgtable_t, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vm_fault__bindgen_ty_1 { + pub vma: *mut vm_area_struct, + pub gfp_mask: gfp_t, + pub pgoff: ::core::ffi::c_ulong, + pub address: ::core::ffi::c_ulong, + pub real_address: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_fault__bindgen_ty_1"][::core::mem::size_of::() - 40usize]; + ["Alignment of vm_fault__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_fault__bindgen_ty_1::vma"] + [::core::mem::offset_of!(vm_fault__bindgen_ty_1, vma) - 0usize]; + ["Offset of field: vm_fault__bindgen_ty_1::gfp_mask"] + [::core::mem::offset_of!(vm_fault__bindgen_ty_1, gfp_mask) - 8usize]; + ["Offset of field: vm_fault__bindgen_ty_1::pgoff"] + [::core::mem::offset_of!(vm_fault__bindgen_ty_1, pgoff) - 16usize]; + ["Offset of field: vm_fault__bindgen_ty_1::address"] + [::core::mem::offset_of!(vm_fault__bindgen_ty_1, address) - 24usize]; + ["Offset of field: vm_fault__bindgen_ty_1::real_address"] + [::core::mem::offset_of!(vm_fault__bindgen_ty_1, real_address) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union vm_fault__bindgen_ty_2 { + pub orig_pte: pte_t, + pub orig_pmd: pmd_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_fault__bindgen_ty_2"][::core::mem::size_of::() - 8usize]; + ["Alignment of vm_fault__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_fault__bindgen_ty_2::orig_pte"] + [::core::mem::offset_of!(vm_fault__bindgen_ty_2, orig_pte) - 0usize]; + ["Offset of field: vm_fault__bindgen_ty_2::orig_pmd"] + [::core::mem::offset_of!(vm_fault__bindgen_ty_2, orig_pmd) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_fault"][::core::mem::size_of::() - 112usize]; + ["Alignment of vm_fault"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_fault::flags"][::core::mem::offset_of!(vm_fault, flags) - 40usize]; + ["Offset of field: vm_fault::pmd"][::core::mem::offset_of!(vm_fault, pmd) - 48usize]; + ["Offset of field: vm_fault::pud"][::core::mem::offset_of!(vm_fault, pud) - 56usize]; + ["Offset of field: vm_fault::cow_page"][::core::mem::offset_of!(vm_fault, cow_page) - 72usize]; + ["Offset of field: vm_fault::page"][::core::mem::offset_of!(vm_fault, page) - 80usize]; + ["Offset of field: vm_fault::pte"][::core::mem::offset_of!(vm_fault, pte) - 88usize]; + ["Offset of field: vm_fault::ptl"][::core::mem::offset_of!(vm_fault, ptl) - 96usize]; + ["Offset of field: vm_fault::prealloc_pte"] + [::core::mem::offset_of!(vm_fault, prealloc_pte) - 104usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vm_operations_struct { + pub open: ::core::option::Option, + pub close: ::core::option::Option, + pub may_split: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut vm_area_struct, + arg2: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub mremap: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut vm_area_struct) -> ::core::ffi::c_int, + >, + pub mprotect: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut vm_area_struct, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + arg4: ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub fault: ::core::option::Option vm_fault_t>, + pub huge_fault: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut vm_fault, arg2: ::core::ffi::c_uint) -> vm_fault_t, + >, + pub map_pages: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut vm_fault, + arg2: ::core::ffi::c_ulong, + arg3: ::core::ffi::c_ulong, + ) -> vm_fault_t, + >, + pub pagesize: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut vm_area_struct) -> ::core::ffi::c_ulong, + >, + pub page_mkwrite: + ::core::option::Option vm_fault_t>, + pub pfn_mkwrite: + ::core::option::Option vm_fault_t>, + pub access: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut vm_area_struct, + arg2: ::core::ffi::c_ulong, + arg3: *mut ::core::ffi::c_void, + arg4: ::core::ffi::c_int, + arg5: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub name: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut vm_area_struct) -> *const ::core::ffi::c_char, + >, + pub set_policy: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut vm_area_struct, arg2: *mut mempolicy) -> ::core::ffi::c_int, + >, + pub get_policy: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut vm_area_struct, + arg2: ::core::ffi::c_ulong, + arg3: *mut ::core::ffi::c_ulong, + ) -> *mut mempolicy, + >, + pub find_special_page: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut vm_area_struct, arg2: ::core::ffi::c_ulong) -> *mut page, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_operations_struct"][::core::mem::size_of::() - 128usize]; + ["Alignment of vm_operations_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_operations_struct::open"] + [::core::mem::offset_of!(vm_operations_struct, open) - 0usize]; + ["Offset of field: vm_operations_struct::close"] + [::core::mem::offset_of!(vm_operations_struct, close) - 8usize]; + ["Offset of field: vm_operations_struct::may_split"] + [::core::mem::offset_of!(vm_operations_struct, may_split) - 16usize]; + ["Offset of field: vm_operations_struct::mremap"] + [::core::mem::offset_of!(vm_operations_struct, mremap) - 24usize]; + ["Offset of field: vm_operations_struct::mprotect"] + [::core::mem::offset_of!(vm_operations_struct, mprotect) - 32usize]; + ["Offset of field: vm_operations_struct::fault"] + [::core::mem::offset_of!(vm_operations_struct, fault) - 40usize]; + ["Offset of field: vm_operations_struct::huge_fault"] + [::core::mem::offset_of!(vm_operations_struct, huge_fault) - 48usize]; + ["Offset of field: vm_operations_struct::map_pages"] + [::core::mem::offset_of!(vm_operations_struct, map_pages) - 56usize]; + ["Offset of field: vm_operations_struct::pagesize"] + [::core::mem::offset_of!(vm_operations_struct, pagesize) - 64usize]; + ["Offset of field: vm_operations_struct::page_mkwrite"] + [::core::mem::offset_of!(vm_operations_struct, page_mkwrite) - 72usize]; + ["Offset of field: vm_operations_struct::pfn_mkwrite"] + [::core::mem::offset_of!(vm_operations_struct, pfn_mkwrite) - 80usize]; + ["Offset of field: vm_operations_struct::access"] + [::core::mem::offset_of!(vm_operations_struct, access) - 88usize]; + ["Offset of field: vm_operations_struct::name"] + [::core::mem::offset_of!(vm_operations_struct, name) - 96usize]; + ["Offset of field: vm_operations_struct::set_policy"] + [::core::mem::offset_of!(vm_operations_struct, set_policy) - 104usize]; + ["Offset of field: vm_operations_struct::get_policy"] + [::core::mem::offset_of!(vm_operations_struct, get_policy) - 112usize]; + ["Offset of field: vm_operations_struct::find_special_page"] + [::core::mem::offset_of!(vm_operations_struct, find_special_page) - 120usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vm_struct { + pub next: *mut vm_struct, + pub addr: *mut ::core::ffi::c_void, + pub size: ::core::ffi::c_ulong, + pub flags: ::core::ffi::c_ulong, + pub pages: *mut *mut page, + pub page_order: ::core::ffi::c_uint, + pub nr_pages: ::core::ffi::c_uint, + pub phys_addr: phys_addr_t, + pub caller: *const ::core::ffi::c_void, + pub requested_size: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vm_struct"][::core::mem::size_of::() - 72usize]; + ["Alignment of vm_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vm_struct::next"][::core::mem::offset_of!(vm_struct, next) - 0usize]; + ["Offset of field: vm_struct::addr"][::core::mem::offset_of!(vm_struct, addr) - 8usize]; + ["Offset of field: vm_struct::size"][::core::mem::offset_of!(vm_struct, size) - 16usize]; + ["Offset of field: vm_struct::flags"][::core::mem::offset_of!(vm_struct, flags) - 24usize]; + ["Offset of field: vm_struct::pages"][::core::mem::offset_of!(vm_struct, pages) - 32usize]; + ["Offset of field: vm_struct::page_order"] + [::core::mem::offset_of!(vm_struct, page_order) - 40usize]; + ["Offset of field: vm_struct::nr_pages"] + [::core::mem::offset_of!(vm_struct, nr_pages) - 44usize]; + ["Offset of field: vm_struct::phys_addr"] + [::core::mem::offset_of!(vm_struct, phys_addr) - 48usize]; + ["Offset of field: vm_struct::caller"][::core::mem::offset_of!(vm_struct, caller) - 56usize]; + ["Offset of field: vm_struct::requested_size"] + [::core::mem::offset_of!(vm_struct, requested_size) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct vma_lock { + pub lock: rw_semaphore, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vma_lock"][::core::mem::size_of::() - 40usize]; + ["Alignment of vma_lock"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vma_lock::lock"][::core::mem::offset_of!(vma_lock, lock) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct vma_numab_state { + pub next_scan: ::core::ffi::c_ulong, + pub pids_active_reset: ::core::ffi::c_ulong, + pub pids_active: [::core::ffi::c_ulong; 2usize], + pub start_scan_seq: ::core::ffi::c_int, + pub prev_scan_seq: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of vma_numab_state"][::core::mem::size_of::() - 40usize]; + ["Alignment of vma_numab_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: vma_numab_state::next_scan"] + [::core::mem::offset_of!(vma_numab_state, next_scan) - 0usize]; + ["Offset of field: vma_numab_state::pids_active_reset"] + [::core::mem::offset_of!(vma_numab_state, pids_active_reset) - 8usize]; + ["Offset of field: vma_numab_state::pids_active"] + [::core::mem::offset_of!(vma_numab_state, pids_active) - 16usize]; + ["Offset of field: vma_numab_state::start_scan_seq"] + [::core::mem::offset_of!(vma_numab_state, start_scan_seq) - 32usize]; + ["Offset of field: vma_numab_state::prev_scan_seq"] + [::core::mem::offset_of!(vma_numab_state, prev_scan_seq) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wake_irq { + pub dev: *mut device, + pub status: ::core::ffi::c_uint, + pub irq: ::core::ffi::c_int, + pub name: *const ::core::ffi::c_char, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wake_irq"][::core::mem::size_of::() - 24usize]; + ["Alignment of wake_irq"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wake_irq::dev"][::core::mem::offset_of!(wake_irq, dev) - 0usize]; + ["Offset of field: wake_irq::status"][::core::mem::offset_of!(wake_irq, status) - 8usize]; + ["Offset of field: wake_irq::irq"][::core::mem::offset_of!(wake_irq, irq) - 12usize]; + ["Offset of field: wake_irq::name"][::core::mem::offset_of!(wake_irq, name) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wakeup_source { + pub name: *const ::core::ffi::c_char, + pub id: ::core::ffi::c_int, + pub entry: list_head, + pub lock: spinlock_t, + pub wakeirq: *mut wake_irq, + pub timer: timer_list, + pub timer_expires: ::core::ffi::c_ulong, + pub total_time: ktime_t, + pub max_time: ktime_t, + pub last_time: ktime_t, + pub start_prevent_time: ktime_t, + pub prevent_sleep_time: ktime_t, + pub event_count: ::core::ffi::c_ulong, + pub active_count: ::core::ffi::c_ulong, + pub relax_count: ::core::ffi::c_ulong, + pub expire_count: ::core::ffi::c_ulong, + pub wakeup_count: ::core::ffi::c_ulong, + pub dev: *mut device, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wakeup_source"][::core::mem::size_of::() - 192usize]; + ["Alignment of wakeup_source"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wakeup_source::name"][::core::mem::offset_of!(wakeup_source, name) - 0usize]; + ["Offset of field: wakeup_source::id"][::core::mem::offset_of!(wakeup_source, id) - 8usize]; + ["Offset of field: wakeup_source::entry"] + [::core::mem::offset_of!(wakeup_source, entry) - 16usize]; + ["Offset of field: wakeup_source::lock"] + [::core::mem::offset_of!(wakeup_source, lock) - 32usize]; + ["Offset of field: wakeup_source::wakeirq"] + [::core::mem::offset_of!(wakeup_source, wakeirq) - 40usize]; + ["Offset of field: wakeup_source::timer"] + [::core::mem::offset_of!(wakeup_source, timer) - 48usize]; + ["Offset of field: wakeup_source::timer_expires"] + [::core::mem::offset_of!(wakeup_source, timer_expires) - 88usize]; + ["Offset of field: wakeup_source::total_time"] + [::core::mem::offset_of!(wakeup_source, total_time) - 96usize]; + ["Offset of field: wakeup_source::max_time"] + [::core::mem::offset_of!(wakeup_source, max_time) - 104usize]; + ["Offset of field: wakeup_source::last_time"] + [::core::mem::offset_of!(wakeup_source, last_time) - 112usize]; + ["Offset of field: wakeup_source::start_prevent_time"] + [::core::mem::offset_of!(wakeup_source, start_prevent_time) - 120usize]; + ["Offset of field: wakeup_source::prevent_sleep_time"] + [::core::mem::offset_of!(wakeup_source, prevent_sleep_time) - 128usize]; + ["Offset of field: wakeup_source::event_count"] + [::core::mem::offset_of!(wakeup_source, event_count) - 136usize]; + ["Offset of field: wakeup_source::active_count"] + [::core::mem::offset_of!(wakeup_source, active_count) - 144usize]; + ["Offset of field: wakeup_source::relax_count"] + [::core::mem::offset_of!(wakeup_source, relax_count) - 152usize]; + ["Offset of field: wakeup_source::expire_count"] + [::core::mem::offset_of!(wakeup_source, expire_count) - 160usize]; + ["Offset of field: wakeup_source::wakeup_count"] + [::core::mem::offset_of!(wakeup_source, wakeup_count) - 168usize]; + ["Offset of field: wakeup_source::dev"][::core::mem::offset_of!(wakeup_source, dev) - 176usize]; +}; +impl wakeup_source { + #[inline] + pub fn active(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_active(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn active_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_active_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn autosleep_enabled(&self) -> bool_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_autosleep_enabled(&mut self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn autosleep_enabled_raw(this: *const Self) -> bool_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_autosleep_enabled_raw(this: *mut Self, val: bool_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + active: bool_, + autosleep_enabled: bool_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let active: u8 = unsafe { ::core::mem::transmute(active) }; + active as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let autosleep_enabled: u8 = unsafe { ::core::mem::transmute(autosleep_enabled) }; + autosleep_enabled as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct watch { + pub __bindgen_anon_1: watch__bindgen_ty_1, + pub queue: *mut watch_queue, + pub queue_node: hlist_node, + pub watch_list: *mut watch_list, + pub list_node: hlist_node, + pub cred: *const cred, + pub private: *mut ::core::ffi::c_void, + pub id: u64_, + pub usage: kref, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union watch__bindgen_ty_1 { + pub rcu: callback_head, + pub info_id: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of watch__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of watch__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: watch__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(watch__bindgen_ty_1, rcu) - 0usize]; + ["Offset of field: watch__bindgen_ty_1::info_id"] + [::core::mem::offset_of!(watch__bindgen_ty_1, info_id) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of watch"][::core::mem::size_of::() - 96usize]; + ["Alignment of watch"][::core::mem::align_of::() - 8usize]; + ["Offset of field: watch::queue"][::core::mem::offset_of!(watch, queue) - 16usize]; + ["Offset of field: watch::queue_node"][::core::mem::offset_of!(watch, queue_node) - 24usize]; + ["Offset of field: watch::watch_list"][::core::mem::offset_of!(watch, watch_list) - 40usize]; + ["Offset of field: watch::list_node"][::core::mem::offset_of!(watch, list_node) - 48usize]; + ["Offset of field: watch::cred"][::core::mem::offset_of!(watch, cred) - 64usize]; + ["Offset of field: watch::private"][::core::mem::offset_of!(watch, private) - 72usize]; + ["Offset of field: watch::id"][::core::mem::offset_of!(watch, id) - 80usize]; + ["Offset of field: watch::usage"][::core::mem::offset_of!(watch, usage) - 88usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct watch_type_filter { + pub type_: watch_notification_type, + pub subtype_filter: [__u32; 1usize], + pub info_filter: __u32, + pub info_mask: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of watch_type_filter"][::core::mem::size_of::() - 16usize]; + ["Alignment of watch_type_filter"][::core::mem::align_of::() - 4usize]; + ["Offset of field: watch_type_filter::type_"] + [::core::mem::offset_of!(watch_type_filter, type_) - 0usize]; + ["Offset of field: watch_type_filter::subtype_filter"] + [::core::mem::offset_of!(watch_type_filter, subtype_filter) - 4usize]; + ["Offset of field: watch_type_filter::info_filter"] + [::core::mem::offset_of!(watch_type_filter, info_filter) - 8usize]; + ["Offset of field: watch_type_filter::info_mask"] + [::core::mem::offset_of!(watch_type_filter, info_mask) - 12usize]; +}; +#[repr(C)] +pub struct watch_filter { + pub __bindgen_anon_1: watch_filter__bindgen_ty_1, + pub nr_filters: u32_, + pub filters: __IncompleteArrayField, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union watch_filter__bindgen_ty_1 { + pub rcu: callback_head, + pub type_filter: [::core::ffi::c_ulong; 1usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of watch_filter__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of watch_filter__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: watch_filter__bindgen_ty_1::rcu"] + [::core::mem::offset_of!(watch_filter__bindgen_ty_1, rcu) - 0usize]; + ["Offset of field: watch_filter__bindgen_ty_1::type_filter"] + [::core::mem::offset_of!(watch_filter__bindgen_ty_1, type_filter) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of watch_filter"][::core::mem::size_of::() - 24usize]; + ["Alignment of watch_filter"][::core::mem::align_of::() - 8usize]; + ["Offset of field: watch_filter::nr_filters"] + [::core::mem::offset_of!(watch_filter, nr_filters) - 16usize]; + ["Offset of field: watch_filter::filters"] + [::core::mem::offset_of!(watch_filter, filters) - 20usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct watch_list { + pub rcu: callback_head, + pub watchers: hlist_head, + pub release_watch: ::core::option::Option, + pub lock: spinlock_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of watch_list"][::core::mem::size_of::() - 40usize]; + ["Alignment of watch_list"][::core::mem::align_of::() - 8usize]; + ["Offset of field: watch_list::rcu"][::core::mem::offset_of!(watch_list, rcu) - 0usize]; + ["Offset of field: watch_list::watchers"] + [::core::mem::offset_of!(watch_list, watchers) - 16usize]; + ["Offset of field: watch_list::release_watch"] + [::core::mem::offset_of!(watch_list, release_watch) - 24usize]; + ["Offset of field: watch_list::lock"][::core::mem::offset_of!(watch_list, lock) - 32usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct watch_queue { + pub rcu: callback_head, + pub filter: *mut watch_filter, + pub pipe: *mut pipe_inode_info, + pub watches: hlist_head, + pub notes: *mut *mut page, + pub notes_bitmap: *mut ::core::ffi::c_ulong, + pub usage: kref, + pub lock: spinlock_t, + pub nr_notes: ::core::ffi::c_uint, + pub nr_pages: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of watch_queue"][::core::mem::size_of::() - 72usize]; + ["Alignment of watch_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: watch_queue::rcu"][::core::mem::offset_of!(watch_queue, rcu) - 0usize]; + ["Offset of field: watch_queue::filter"] + [::core::mem::offset_of!(watch_queue, filter) - 16usize]; + ["Offset of field: watch_queue::pipe"][::core::mem::offset_of!(watch_queue, pipe) - 24usize]; + ["Offset of field: watch_queue::watches"] + [::core::mem::offset_of!(watch_queue, watches) - 32usize]; + ["Offset of field: watch_queue::notes"][::core::mem::offset_of!(watch_queue, notes) - 40usize]; + ["Offset of field: watch_queue::notes_bitmap"] + [::core::mem::offset_of!(watch_queue, notes_bitmap) - 48usize]; + ["Offset of field: watch_queue::usage"][::core::mem::offset_of!(watch_queue, usage) - 56usize]; + ["Offset of field: watch_queue::lock"][::core::mem::offset_of!(watch_queue, lock) - 60usize]; + ["Offset of field: watch_queue::nr_notes"] + [::core::mem::offset_of!(watch_queue, nr_notes) - 64usize]; + ["Offset of field: watch_queue::nr_pages"] + [::core::mem::offset_of!(watch_queue, nr_pages) - 68usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct rfkill { + _unused: [u8; 0], +} +#[repr(C)] +pub struct wiphy { + pub mtx: mutex, + pub perm_addr: [u8_; 6usize], + pub addr_mask: [u8_; 6usize], + pub addresses: *mut mac_address, + pub mgmt_stypes: *const ieee80211_txrx_stypes, + pub iface_combinations: *const ieee80211_iface_combination, + pub n_iface_combinations: ::core::ffi::c_int, + pub software_iftypes: u16_, + pub n_addresses: u16_, + pub interface_modes: u16_, + pub max_acl_mac_addrs: u16_, + pub flags: u32_, + pub regulatory_flags: u32_, + pub features: u32_, + pub ext_features: [u8_; 9usize], + pub ap_sme_capa: u32_, + pub signal_type: cfg80211_signal_type, + pub bss_priv_size: ::core::ffi::c_int, + pub max_scan_ssids: u8_, + pub max_sched_scan_reqs: u8_, + pub max_sched_scan_ssids: u8_, + pub max_match_sets: u8_, + pub max_scan_ie_len: u16_, + pub max_sched_scan_ie_len: u16_, + pub max_sched_scan_plans: u32_, + pub max_sched_scan_plan_interval: u32_, + pub max_sched_scan_plan_iterations: u32_, + pub n_cipher_suites: ::core::ffi::c_int, + pub cipher_suites: *const u32_, + pub n_akm_suites: ::core::ffi::c_int, + pub akm_suites: *const u32_, + pub iftype_akm_suites: *const wiphy_iftype_akm_suites, + pub num_iftype_akm_suites: ::core::ffi::c_uint, + pub retry_short: u8_, + pub retry_long: u8_, + pub frag_threshold: u32_, + pub rts_threshold: u32_, + pub coverage_class: u8_, + pub fw_version: [::core::ffi::c_char; 32usize], + pub hw_version: u32_, + pub wowlan: *const wiphy_wowlan_support, + pub wowlan_config: *mut cfg80211_wowlan, + pub max_remain_on_channel_duration: u16_, + pub max_num_pmkids: u8_, + pub available_antennas_tx: u32_, + pub available_antennas_rx: u32_, + pub probe_resp_offload: u32_, + pub extended_capabilities: *const u8_, + pub extended_capabilities_mask: *const u8_, + pub extended_capabilities_len: u8_, + pub iftype_ext_capab: *const wiphy_iftype_ext_capab, + pub num_iftype_ext_capab: ::core::ffi::c_uint, + pub privid: *const ::core::ffi::c_void, + pub bands: [*mut ieee80211_supported_band; 6usize], + pub reg_notifier: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut wiphy, arg2: *mut regulatory_request), + >, + pub regd: *const ieee80211_regdomain, + pub dev: device, + pub registered: bool_, + pub debugfsdir: *mut dentry, + pub ht_capa_mod_mask: *const ieee80211_ht_cap, + pub vht_capa_mod_mask: *const ieee80211_vht_cap, + pub wdev_list: list_head, + pub _net: possible_net_t, + pub wext: *const iw_handler_def, + pub coalesce: *const wiphy_coalesce_support, + pub vendor_commands: *const wiphy_vendor_command, + pub vendor_events: *const nl80211_vendor_cmd_info, + pub n_vendor_commands: ::core::ffi::c_int, + pub n_vendor_events: ::core::ffi::c_int, + pub max_ap_assoc_sta: u16_, + pub max_num_csa_counters: u8_, + pub bss_select_support: u32_, + pub nan_supported_bands: u8_, + pub txq_limit: u32_, + pub txq_memory_limit: u32_, + pub txq_quantum: u32_, + pub tx_queue_len: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub pmsr_capa: *const cfg80211_pmsr_capabilities, + pub tid_config_support: wiphy__bindgen_ty_1, + pub max_data_retry_count: u8_, + pub sar_capa: *const cfg80211_sar_capa, + pub rfkill: *mut rfkill, + pub mbssid_max_interfaces: u8_, + pub ema_max_profile_periodicity: u8_, + pub max_num_akm_suites: u16_, + pub hw_timestamp_max_peers: u16_, + pub n_radio: ::core::ffi::c_int, + pub radio: *const wiphy_radio, + pub priv_: __IncompleteArrayField<::core::ffi::c_char>, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy__bindgen_ty_1 { + pub peer: u64_, + pub vif: u64_, + pub max_retry: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy__bindgen_ty_1"][::core::mem::size_of::() - 24usize]; + ["Alignment of wiphy__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy__bindgen_ty_1::peer"] + [::core::mem::offset_of!(wiphy__bindgen_ty_1, peer) - 0usize]; + ["Offset of field: wiphy__bindgen_ty_1::vif"] + [::core::mem::offset_of!(wiphy__bindgen_ty_1, vif) - 8usize]; + ["Offset of field: wiphy__bindgen_ty_1::max_retry"] + [::core::mem::offset_of!(wiphy__bindgen_ty_1, max_retry) - 16usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy"][::core::mem::size_of::() - 1344usize]; + ["Alignment of wiphy"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy::mtx"][::core::mem::offset_of!(wiphy, mtx) - 0usize]; + ["Offset of field: wiphy::perm_addr"][::core::mem::offset_of!(wiphy, perm_addr) - 32usize]; + ["Offset of field: wiphy::addr_mask"][::core::mem::offset_of!(wiphy, addr_mask) - 38usize]; + ["Offset of field: wiphy::addresses"][::core::mem::offset_of!(wiphy, addresses) - 48usize]; + ["Offset of field: wiphy::mgmt_stypes"][::core::mem::offset_of!(wiphy, mgmt_stypes) - 56usize]; + ["Offset of field: wiphy::iface_combinations"] + [::core::mem::offset_of!(wiphy, iface_combinations) - 64usize]; + ["Offset of field: wiphy::n_iface_combinations"] + [::core::mem::offset_of!(wiphy, n_iface_combinations) - 72usize]; + ["Offset of field: wiphy::software_iftypes"] + [::core::mem::offset_of!(wiphy, software_iftypes) - 76usize]; + ["Offset of field: wiphy::n_addresses"][::core::mem::offset_of!(wiphy, n_addresses) - 78usize]; + ["Offset of field: wiphy::interface_modes"] + [::core::mem::offset_of!(wiphy, interface_modes) - 80usize]; + ["Offset of field: wiphy::max_acl_mac_addrs"] + [::core::mem::offset_of!(wiphy, max_acl_mac_addrs) - 82usize]; + ["Offset of field: wiphy::flags"][::core::mem::offset_of!(wiphy, flags) - 84usize]; + ["Offset of field: wiphy::regulatory_flags"] + [::core::mem::offset_of!(wiphy, regulatory_flags) - 88usize]; + ["Offset of field: wiphy::features"][::core::mem::offset_of!(wiphy, features) - 92usize]; + ["Offset of field: wiphy::ext_features"] + [::core::mem::offset_of!(wiphy, ext_features) - 96usize]; + ["Offset of field: wiphy::ap_sme_capa"][::core::mem::offset_of!(wiphy, ap_sme_capa) - 108usize]; + ["Offset of field: wiphy::signal_type"][::core::mem::offset_of!(wiphy, signal_type) - 112usize]; + ["Offset of field: wiphy::bss_priv_size"] + [::core::mem::offset_of!(wiphy, bss_priv_size) - 116usize]; + ["Offset of field: wiphy::max_scan_ssids"] + [::core::mem::offset_of!(wiphy, max_scan_ssids) - 120usize]; + ["Offset of field: wiphy::max_sched_scan_reqs"] + [::core::mem::offset_of!(wiphy, max_sched_scan_reqs) - 121usize]; + ["Offset of field: wiphy::max_sched_scan_ssids"] + [::core::mem::offset_of!(wiphy, max_sched_scan_ssids) - 122usize]; + ["Offset of field: wiphy::max_match_sets"] + [::core::mem::offset_of!(wiphy, max_match_sets) - 123usize]; + ["Offset of field: wiphy::max_scan_ie_len"] + [::core::mem::offset_of!(wiphy, max_scan_ie_len) - 124usize]; + ["Offset of field: wiphy::max_sched_scan_ie_len"] + [::core::mem::offset_of!(wiphy, max_sched_scan_ie_len) - 126usize]; + ["Offset of field: wiphy::max_sched_scan_plans"] + [::core::mem::offset_of!(wiphy, max_sched_scan_plans) - 128usize]; + ["Offset of field: wiphy::max_sched_scan_plan_interval"] + [::core::mem::offset_of!(wiphy, max_sched_scan_plan_interval) - 132usize]; + ["Offset of field: wiphy::max_sched_scan_plan_iterations"] + [::core::mem::offset_of!(wiphy, max_sched_scan_plan_iterations) - 136usize]; + ["Offset of field: wiphy::n_cipher_suites"] + [::core::mem::offset_of!(wiphy, n_cipher_suites) - 140usize]; + ["Offset of field: wiphy::cipher_suites"] + [::core::mem::offset_of!(wiphy, cipher_suites) - 144usize]; + ["Offset of field: wiphy::n_akm_suites"] + [::core::mem::offset_of!(wiphy, n_akm_suites) - 152usize]; + ["Offset of field: wiphy::akm_suites"][::core::mem::offset_of!(wiphy, akm_suites) - 160usize]; + ["Offset of field: wiphy::iftype_akm_suites"] + [::core::mem::offset_of!(wiphy, iftype_akm_suites) - 168usize]; + ["Offset of field: wiphy::num_iftype_akm_suites"] + [::core::mem::offset_of!(wiphy, num_iftype_akm_suites) - 176usize]; + ["Offset of field: wiphy::retry_short"][::core::mem::offset_of!(wiphy, retry_short) - 180usize]; + ["Offset of field: wiphy::retry_long"][::core::mem::offset_of!(wiphy, retry_long) - 181usize]; + ["Offset of field: wiphy::frag_threshold"] + [::core::mem::offset_of!(wiphy, frag_threshold) - 184usize]; + ["Offset of field: wiphy::rts_threshold"] + [::core::mem::offset_of!(wiphy, rts_threshold) - 188usize]; + ["Offset of field: wiphy::coverage_class"] + [::core::mem::offset_of!(wiphy, coverage_class) - 192usize]; + ["Offset of field: wiphy::fw_version"][::core::mem::offset_of!(wiphy, fw_version) - 193usize]; + ["Offset of field: wiphy::hw_version"][::core::mem::offset_of!(wiphy, hw_version) - 228usize]; + ["Offset of field: wiphy::wowlan"][::core::mem::offset_of!(wiphy, wowlan) - 232usize]; + ["Offset of field: wiphy::wowlan_config"] + [::core::mem::offset_of!(wiphy, wowlan_config) - 240usize]; + ["Offset of field: wiphy::max_remain_on_channel_duration"] + [::core::mem::offset_of!(wiphy, max_remain_on_channel_duration) - 248usize]; + ["Offset of field: wiphy::max_num_pmkids"] + [::core::mem::offset_of!(wiphy, max_num_pmkids) - 250usize]; + ["Offset of field: wiphy::available_antennas_tx"] + [::core::mem::offset_of!(wiphy, available_antennas_tx) - 252usize]; + ["Offset of field: wiphy::available_antennas_rx"] + [::core::mem::offset_of!(wiphy, available_antennas_rx) - 256usize]; + ["Offset of field: wiphy::probe_resp_offload"] + [::core::mem::offset_of!(wiphy, probe_resp_offload) - 260usize]; + ["Offset of field: wiphy::extended_capabilities"] + [::core::mem::offset_of!(wiphy, extended_capabilities) - 264usize]; + ["Offset of field: wiphy::extended_capabilities_mask"] + [::core::mem::offset_of!(wiphy, extended_capabilities_mask) - 272usize]; + ["Offset of field: wiphy::extended_capabilities_len"] + [::core::mem::offset_of!(wiphy, extended_capabilities_len) - 280usize]; + ["Offset of field: wiphy::iftype_ext_capab"] + [::core::mem::offset_of!(wiphy, iftype_ext_capab) - 288usize]; + ["Offset of field: wiphy::num_iftype_ext_capab"] + [::core::mem::offset_of!(wiphy, num_iftype_ext_capab) - 296usize]; + ["Offset of field: wiphy::privid"][::core::mem::offset_of!(wiphy, privid) - 304usize]; + ["Offset of field: wiphy::bands"][::core::mem::offset_of!(wiphy, bands) - 312usize]; + ["Offset of field: wiphy::reg_notifier"] + [::core::mem::offset_of!(wiphy, reg_notifier) - 360usize]; + ["Offset of field: wiphy::regd"][::core::mem::offset_of!(wiphy, regd) - 368usize]; + ["Offset of field: wiphy::dev"][::core::mem::offset_of!(wiphy, dev) - 376usize]; + ["Offset of field: wiphy::registered"][::core::mem::offset_of!(wiphy, registered) - 1128usize]; + ["Offset of field: wiphy::debugfsdir"][::core::mem::offset_of!(wiphy, debugfsdir) - 1136usize]; + ["Offset of field: wiphy::ht_capa_mod_mask"] + [::core::mem::offset_of!(wiphy, ht_capa_mod_mask) - 1144usize]; + ["Offset of field: wiphy::vht_capa_mod_mask"] + [::core::mem::offset_of!(wiphy, vht_capa_mod_mask) - 1152usize]; + ["Offset of field: wiphy::wdev_list"][::core::mem::offset_of!(wiphy, wdev_list) - 1160usize]; + ["Offset of field: wiphy::_net"][::core::mem::offset_of!(wiphy, _net) - 1176usize]; + ["Offset of field: wiphy::wext"][::core::mem::offset_of!(wiphy, wext) - 1184usize]; + ["Offset of field: wiphy::coalesce"][::core::mem::offset_of!(wiphy, coalesce) - 1192usize]; + ["Offset of field: wiphy::vendor_commands"] + [::core::mem::offset_of!(wiphy, vendor_commands) - 1200usize]; + ["Offset of field: wiphy::vendor_events"] + [::core::mem::offset_of!(wiphy, vendor_events) - 1208usize]; + ["Offset of field: wiphy::n_vendor_commands"] + [::core::mem::offset_of!(wiphy, n_vendor_commands) - 1216usize]; + ["Offset of field: wiphy::n_vendor_events"] + [::core::mem::offset_of!(wiphy, n_vendor_events) - 1220usize]; + ["Offset of field: wiphy::max_ap_assoc_sta"] + [::core::mem::offset_of!(wiphy, max_ap_assoc_sta) - 1224usize]; + ["Offset of field: wiphy::max_num_csa_counters"] + [::core::mem::offset_of!(wiphy, max_num_csa_counters) - 1226usize]; + ["Offset of field: wiphy::bss_select_support"] + [::core::mem::offset_of!(wiphy, bss_select_support) - 1228usize]; + ["Offset of field: wiphy::nan_supported_bands"] + [::core::mem::offset_of!(wiphy, nan_supported_bands) - 1232usize]; + ["Offset of field: wiphy::txq_limit"][::core::mem::offset_of!(wiphy, txq_limit) - 1236usize]; + ["Offset of field: wiphy::txq_memory_limit"] + [::core::mem::offset_of!(wiphy, txq_memory_limit) - 1240usize]; + ["Offset of field: wiphy::txq_quantum"] + [::core::mem::offset_of!(wiphy, txq_quantum) - 1244usize]; + ["Offset of field: wiphy::tx_queue_len"] + [::core::mem::offset_of!(wiphy, tx_queue_len) - 1248usize]; + ["Offset of field: wiphy::pmsr_capa"][::core::mem::offset_of!(wiphy, pmsr_capa) - 1264usize]; + ["Offset of field: wiphy::tid_config_support"] + [::core::mem::offset_of!(wiphy, tid_config_support) - 1272usize]; + ["Offset of field: wiphy::max_data_retry_count"] + [::core::mem::offset_of!(wiphy, max_data_retry_count) - 1296usize]; + ["Offset of field: wiphy::sar_capa"][::core::mem::offset_of!(wiphy, sar_capa) - 1304usize]; + ["Offset of field: wiphy::rfkill"][::core::mem::offset_of!(wiphy, rfkill) - 1312usize]; + ["Offset of field: wiphy::mbssid_max_interfaces"] + [::core::mem::offset_of!(wiphy, mbssid_max_interfaces) - 1320usize]; + ["Offset of field: wiphy::ema_max_profile_periodicity"] + [::core::mem::offset_of!(wiphy, ema_max_profile_periodicity) - 1321usize]; + ["Offset of field: wiphy::max_num_akm_suites"] + [::core::mem::offset_of!(wiphy, max_num_akm_suites) - 1322usize]; + ["Offset of field: wiphy::hw_timestamp_max_peers"] + [::core::mem::offset_of!(wiphy, hw_timestamp_max_peers) - 1324usize]; + ["Offset of field: wiphy::n_radio"][::core::mem::offset_of!(wiphy, n_radio) - 1328usize]; + ["Offset of field: wiphy::radio"][::core::mem::offset_of!(wiphy, radio) - 1336usize]; + ["Offset of field: wiphy::priv_"][::core::mem::offset_of!(wiphy, priv_) - 1344usize]; +}; +impl wiphy { + #[inline] + pub fn support_mbssid(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_support_mbssid(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn support_mbssid_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_support_mbssid_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn support_only_he_mbssid(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_support_only_he_mbssid(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn support_only_he_mbssid_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_support_only_he_mbssid_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + support_mbssid: u8_, + support_only_he_mbssid: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let support_mbssid: u8 = unsafe { ::core::mem::transmute(support_mbssid) }; + support_mbssid as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let support_only_he_mbssid: u8 = + unsafe { ::core::mem::transmute(support_only_he_mbssid) }; + support_only_he_mbssid as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_coalesce_support { + pub n_rules: ::core::ffi::c_int, + pub max_delay: ::core::ffi::c_int, + pub n_patterns: ::core::ffi::c_int, + pub pattern_max_len: ::core::ffi::c_int, + pub pattern_min_len: ::core::ffi::c_int, + pub max_pkt_offset: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_coalesce_support"][::core::mem::size_of::() - 24usize]; + ["Alignment of wiphy_coalesce_support"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: wiphy_coalesce_support::n_rules"] + [::core::mem::offset_of!(wiphy_coalesce_support, n_rules) - 0usize]; + ["Offset of field: wiphy_coalesce_support::max_delay"] + [::core::mem::offset_of!(wiphy_coalesce_support, max_delay) - 4usize]; + ["Offset of field: wiphy_coalesce_support::n_patterns"] + [::core::mem::offset_of!(wiphy_coalesce_support, n_patterns) - 8usize]; + ["Offset of field: wiphy_coalesce_support::pattern_max_len"] + [::core::mem::offset_of!(wiphy_coalesce_support, pattern_max_len) - 12usize]; + ["Offset of field: wiphy_coalesce_support::pattern_min_len"] + [::core::mem::offset_of!(wiphy_coalesce_support, pattern_min_len) - 16usize]; + ["Offset of field: wiphy_coalesce_support::max_pkt_offset"] + [::core::mem::offset_of!(wiphy_coalesce_support, max_pkt_offset) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_iftype_akm_suites { + pub iftypes_mask: u16_, + pub akm_suites: *const u32_, + pub n_akm_suites: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_iftype_akm_suites"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of wiphy_iftype_akm_suites"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy_iftype_akm_suites::iftypes_mask"] + [::core::mem::offset_of!(wiphy_iftype_akm_suites, iftypes_mask) - 0usize]; + ["Offset of field: wiphy_iftype_akm_suites::akm_suites"] + [::core::mem::offset_of!(wiphy_iftype_akm_suites, akm_suites) - 8usize]; + ["Offset of field: wiphy_iftype_akm_suites::n_akm_suites"] + [::core::mem::offset_of!(wiphy_iftype_akm_suites, n_akm_suites) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_iftype_ext_capab { + pub iftype: nl80211_iftype, + pub extended_capabilities: *const u8_, + pub extended_capabilities_mask: *const u8_, + pub extended_capabilities_len: u8_, + pub eml_capabilities: u16_, + pub mld_capa_and_ops: u16_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_iftype_ext_capab"][::core::mem::size_of::() - 32usize]; + ["Alignment of wiphy_iftype_ext_capab"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy_iftype_ext_capab::iftype"] + [::core::mem::offset_of!(wiphy_iftype_ext_capab, iftype) - 0usize]; + ["Offset of field: wiphy_iftype_ext_capab::extended_capabilities"] + [::core::mem::offset_of!(wiphy_iftype_ext_capab, extended_capabilities) - 8usize]; + ["Offset of field: wiphy_iftype_ext_capab::extended_capabilities_mask"] + [::core::mem::offset_of!(wiphy_iftype_ext_capab, extended_capabilities_mask) - 16usize]; + ["Offset of field: wiphy_iftype_ext_capab::extended_capabilities_len"] + [::core::mem::offset_of!(wiphy_iftype_ext_capab, extended_capabilities_len) - 24usize]; + ["Offset of field: wiphy_iftype_ext_capab::eml_capabilities"] + [::core::mem::offset_of!(wiphy_iftype_ext_capab, eml_capabilities) - 26usize]; + ["Offset of field: wiphy_iftype_ext_capab::mld_capa_and_ops"] + [::core::mem::offset_of!(wiphy_iftype_ext_capab, mld_capa_and_ops) - 28usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_radio { + pub freq_range: *const wiphy_radio_freq_range, + pub n_freq_range: ::core::ffi::c_int, + pub iface_combinations: *const ieee80211_iface_combination, + pub n_iface_combinations: ::core::ffi::c_int, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_radio"][::core::mem::size_of::() - 32usize]; + ["Alignment of wiphy_radio"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy_radio::freq_range"] + [::core::mem::offset_of!(wiphy_radio, freq_range) - 0usize]; + ["Offset of field: wiphy_radio::n_freq_range"] + [::core::mem::offset_of!(wiphy_radio, n_freq_range) - 8usize]; + ["Offset of field: wiphy_radio::iface_combinations"] + [::core::mem::offset_of!(wiphy_radio, iface_combinations) - 16usize]; + ["Offset of field: wiphy_radio::n_iface_combinations"] + [::core::mem::offset_of!(wiphy_radio, n_iface_combinations) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_radio_freq_range { + pub start_freq: u32_, + pub end_freq: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_radio_freq_range"][::core::mem::size_of::() - 8usize]; + ["Alignment of wiphy_radio_freq_range"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: wiphy_radio_freq_range::start_freq"] + [::core::mem::offset_of!(wiphy_radio_freq_range, start_freq) - 0usize]; + ["Offset of field: wiphy_radio_freq_range::end_freq"] + [::core::mem::offset_of!(wiphy_radio_freq_range, end_freq) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_vendor_command { + pub info: nl80211_vendor_cmd_info, + pub flags: u32_, + pub doit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut wiphy, + arg2: *mut wireless_dev, + arg3: *const ::core::ffi::c_void, + arg4: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, + pub dumpit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut wiphy, + arg2: *mut wireless_dev, + arg3: *mut sk_buff, + arg4: *const ::core::ffi::c_void, + arg5: ::core::ffi::c_int, + arg6: *mut ::core::ffi::c_ulong, + ) -> ::core::ffi::c_int, + >, + pub policy: *const nla_policy, + pub maxattr: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_vendor_command"][::core::mem::size_of::() - 48usize]; + ["Alignment of wiphy_vendor_command"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy_vendor_command::info"] + [::core::mem::offset_of!(wiphy_vendor_command, info) - 0usize]; + ["Offset of field: wiphy_vendor_command::flags"] + [::core::mem::offset_of!(wiphy_vendor_command, flags) - 8usize]; + ["Offset of field: wiphy_vendor_command::doit"] + [::core::mem::offset_of!(wiphy_vendor_command, doit) - 16usize]; + ["Offset of field: wiphy_vendor_command::dumpit"] + [::core::mem::offset_of!(wiphy_vendor_command, dumpit) - 24usize]; + ["Offset of field: wiphy_vendor_command::policy"] + [::core::mem::offset_of!(wiphy_vendor_command, policy) - 32usize]; + ["Offset of field: wiphy_vendor_command::maxattr"] + [::core::mem::offset_of!(wiphy_vendor_command, maxattr) - 40usize]; +}; +pub type wiphy_work_func_t = + ::core::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_work { + pub entry: list_head, + pub func: wiphy_work_func_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_work"][::core::mem::size_of::() - 24usize]; + ["Alignment of wiphy_work"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy_work::entry"][::core::mem::offset_of!(wiphy_work, entry) - 0usize]; + ["Offset of field: wiphy_work::func"][::core::mem::offset_of!(wiphy_work, func) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_wowlan_support { + pub flags: u32_, + pub n_patterns: ::core::ffi::c_int, + pub pattern_max_len: ::core::ffi::c_int, + pub pattern_min_len: ::core::ffi::c_int, + pub max_pkt_offset: ::core::ffi::c_int, + pub max_nd_match_sets: ::core::ffi::c_int, + pub tcp: *const wiphy_wowlan_tcp_support, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_wowlan_support"][::core::mem::size_of::() - 32usize]; + ["Alignment of wiphy_wowlan_support"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy_wowlan_support::flags"] + [::core::mem::offset_of!(wiphy_wowlan_support, flags) - 0usize]; + ["Offset of field: wiphy_wowlan_support::n_patterns"] + [::core::mem::offset_of!(wiphy_wowlan_support, n_patterns) - 4usize]; + ["Offset of field: wiphy_wowlan_support::pattern_max_len"] + [::core::mem::offset_of!(wiphy_wowlan_support, pattern_max_len) - 8usize]; + ["Offset of field: wiphy_wowlan_support::pattern_min_len"] + [::core::mem::offset_of!(wiphy_wowlan_support, pattern_min_len) - 12usize]; + ["Offset of field: wiphy_wowlan_support::max_pkt_offset"] + [::core::mem::offset_of!(wiphy_wowlan_support, max_pkt_offset) - 16usize]; + ["Offset of field: wiphy_wowlan_support::max_nd_match_sets"] + [::core::mem::offset_of!(wiphy_wowlan_support, max_nd_match_sets) - 20usize]; + ["Offset of field: wiphy_wowlan_support::tcp"] + [::core::mem::offset_of!(wiphy_wowlan_support, tcp) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wiphy_wowlan_tcp_support { + pub tok: *const nl80211_wowlan_tcp_data_token_feature, + pub data_payload_max: u32_, + pub data_interval_max: u32_, + pub wake_payload_max: u32_, + pub seq: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wiphy_wowlan_tcp_support"] + [::core::mem::size_of::() - 24usize]; + ["Alignment of wiphy_wowlan_tcp_support"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wiphy_wowlan_tcp_support::tok"] + [::core::mem::offset_of!(wiphy_wowlan_tcp_support, tok) - 0usize]; + ["Offset of field: wiphy_wowlan_tcp_support::data_payload_max"] + [::core::mem::offset_of!(wiphy_wowlan_tcp_support, data_payload_max) - 8usize]; + ["Offset of field: wiphy_wowlan_tcp_support::data_interval_max"] + [::core::mem::offset_of!(wiphy_wowlan_tcp_support, data_interval_max) - 12usize]; + ["Offset of field: wiphy_wowlan_tcp_support::wake_payload_max"] + [::core::mem::offset_of!(wiphy_wowlan_tcp_support, wake_payload_max) - 16usize]; + ["Offset of field: wiphy_wowlan_tcp_support::seq"] + [::core::mem::offset_of!(wiphy_wowlan_tcp_support, seq) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_conn { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_cached_keys { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_cqm_config { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cfg80211_internal_bss { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wireless_dev { + pub wiphy: *mut wiphy, + pub iftype: nl80211_iftype, + pub list: list_head, + pub netdev: *mut net_device, + pub identifier: u32_, + pub mgmt_registrations: list_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub use_4addr: bool_, + pub is_running: bool_, + pub registered: bool_, + pub registering: bool_, + pub __bindgen_padding_0: u8, + pub address: [u8_; 6usize], + pub conn: *mut cfg80211_conn, + pub connect_keys: *mut cfg80211_cached_keys, + pub conn_bss_type: ieee80211_bss_type, + pub conn_owner_nlportid: u32_, + pub disconnect_wk: work_struct, + pub disconnect_bssid: [u8_; 6usize], + pub event_list: list_head, + pub event_lock: spinlock_t, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>, + pub ps: bool_, + pub ps_timeout: ::core::ffi::c_int, + pub ap_unexpected_nlportid: u32_, + pub owner_nlportid: u32_, + pub nl_owner_dead: bool_, + pub wext: wireless_dev__bindgen_ty_1, + pub cqm_rssi_work: wiphy_work, + pub cqm_config: *mut cfg80211_cqm_config, + pub pmsr_list: list_head, + pub pmsr_lock: spinlock_t, + pub pmsr_free_wk: work_struct, + pub unprot_beacon_reported: ::core::ffi::c_ulong, + pub u: wireless_dev__bindgen_ty_2, + pub links: [wireless_dev__bindgen_ty_3; 15usize], + pub valid_links: u16_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wireless_dev__bindgen_ty_1 { + pub ibss: cfg80211_ibss_params, + pub connect: cfg80211_connect_params, + pub keys: *mut cfg80211_cached_keys, + pub ie: *const u8_, + pub ie_len: usize, + pub bssid: [u8_; 6usize], + pub prev_bssid: [u8_; 6usize], + pub ssid: [u8_; 32usize], + pub default_key: s8, + pub default_mgmt_key: s8, + pub prev_bssid_valid: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_1"] + [::core::mem::size_of::() - 624usize]; + ["Alignment of wireless_dev__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::ibss"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, ibss) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::connect"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, connect) - 168usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::keys"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, keys) - 552usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::ie"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, ie) - 560usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::ie_len"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, ie_len) - 568usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::bssid"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, bssid) - 576usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::prev_bssid"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, prev_bssid) - 582usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::ssid"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, ssid) - 588usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::default_key"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, default_key) - 620usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::default_mgmt_key"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, default_mgmt_key) - 621usize]; + ["Offset of field: wireless_dev__bindgen_ty_1::prev_bssid_valid"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_1, prev_bssid_valid) - 622usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union wireless_dev__bindgen_ty_2 { + pub client: wireless_dev__bindgen_ty_2__bindgen_ty_1, + pub mesh: wireless_dev__bindgen_ty_2__bindgen_ty_2, + pub ap: wireless_dev__bindgen_ty_2__bindgen_ty_3, + pub ibss: wireless_dev__bindgen_ty_2__bindgen_ty_4, + pub ocb: wireless_dev__bindgen_ty_2__bindgen_ty_5, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wireless_dev__bindgen_ty_2__bindgen_ty_1 { + pub connected_addr: [u8_; 6usize], + pub ssid: [u8_; 32usize], + pub ssid_len: u8_, + pub __bindgen_padding_0: u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of wireless_dev__bindgen_ty_2__bindgen_ty_1"] + [::core::mem::align_of::() - 1usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_1::connected_addr"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_2__bindgen_ty_1, + connected_addr + ) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_1::ssid"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_1, ssid) - 6usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_1::ssid_len"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_1, ssid_len) - 38usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wireless_dev__bindgen_ty_2__bindgen_ty_2 { + pub beacon_interval: ::core::ffi::c_int, + pub preset_chandef: cfg80211_chan_def, + pub chandef: cfg80211_chan_def, + pub id: [u8_; 32usize], + pub id_len: u8_, + pub id_up_len: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::size_of::() - 112usize]; + ["Alignment of wireless_dev__bindgen_ty_2__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_2::beacon_interval"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_2__bindgen_ty_2, + beacon_interval + ) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_2::preset_chandef"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_2__bindgen_ty_2, + preset_chandef + ) - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_2::chandef"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_2, chandef) - 40usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_2::id"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_2, id) - 72usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_2::id_len"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_2, id_len) - 104usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_2::id_up_len"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_2, id_up_len) - 105usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wireless_dev__bindgen_ty_2__bindgen_ty_3 { + pub preset_chandef: cfg80211_chan_def, + pub ssid: [u8_; 32usize], + pub ssid_len: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::size_of::() - 72usize]; + ["Alignment of wireless_dev__bindgen_ty_2__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_3::preset_chandef"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_2__bindgen_ty_3, + preset_chandef + ) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_3::ssid"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_3, ssid) - 32usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_3::ssid_len"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_3, ssid_len) - 64usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wireless_dev__bindgen_ty_2__bindgen_ty_4 { + pub current_bss: *mut cfg80211_internal_bss, + pub chandef: cfg80211_chan_def, + pub beacon_interval: ::core::ffi::c_int, + pub ssid: [u8_; 32usize], + pub ssid_len: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_2__bindgen_ty_4"] + [::core::mem::size_of::() - 80usize]; + ["Alignment of wireless_dev__bindgen_ty_2__bindgen_ty_4"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_4::current_bss"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_4, current_bss) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_4::chandef"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_4, chandef) - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_4::beacon_interval"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_2__bindgen_ty_4, + beacon_interval + ) - 40usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_4::ssid"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_4, ssid) - 44usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_4::ssid_len"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_4, ssid_len) - 76usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wireless_dev__bindgen_ty_2__bindgen_ty_5 { + pub chandef: cfg80211_chan_def, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_2__bindgen_ty_5"] + [::core::mem::size_of::() - 32usize]; + ["Alignment of wireless_dev__bindgen_ty_2__bindgen_ty_5"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_2__bindgen_ty_5::chandef"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2__bindgen_ty_5, chandef) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_2"] + [::core::mem::size_of::() - 112usize]; + ["Alignment of wireless_dev__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_2::client"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2, client) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2::mesh"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2, mesh) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2::ap"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2, ap) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2::ibss"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2, ibss) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_2::ocb"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_2, ocb) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wireless_dev__bindgen_ty_3 { + pub addr: [u8_; 6usize], + pub __bindgen_anon_1: wireless_dev__bindgen_ty_3__bindgen_ty_1, + pub cac_started: bool_, + pub cac_start_time: ::core::ffi::c_ulong, + pub cac_time_ms: ::core::ffi::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union wireless_dev__bindgen_ty_3__bindgen_ty_1 { + pub ap: wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + pub client: wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 { + pub beacon_interval: ::core::ffi::c_uint, + pub chandef: cfg80211_chan_def, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1"][::core::mem::size_of::< + wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + >() - 40usize]; + ["Alignment of wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1"][::core::mem::align_of::< + wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + >() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1::beacon_interval"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + beacon_interval + ) + - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1::chandef"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + chandef + ) + - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_2 { + pub current_bss: *mut cfg80211_internal_bss, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_2"] + [::core::mem::size_of::() - 8usize]; + ["Alignment of wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_2"][::core::mem::align_of::< + wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_2, + >() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_2::current_bss"][::core::mem::offset_of!( + wireless_dev__bindgen_ty_3__bindgen_ty_1__bindgen_ty_2, + current_bss + ) + - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::size_of::() - 40usize]; + ["Alignment of wireless_dev__bindgen_ty_3__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_3__bindgen_ty_1::ap"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_3__bindgen_ty_1, ap) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_3__bindgen_ty_1::client"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_3__bindgen_ty_1, client) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev__bindgen_ty_3"] + [::core::mem::size_of::() - 72usize]; + ["Alignment of wireless_dev__bindgen_ty_3"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev__bindgen_ty_3::addr"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_3, addr) - 0usize]; + ["Offset of field: wireless_dev__bindgen_ty_3::cac_started"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_3, cac_started) - 48usize]; + ["Offset of field: wireless_dev__bindgen_ty_3::cac_start_time"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_3, cac_start_time) - 56usize]; + ["Offset of field: wireless_dev__bindgen_ty_3::cac_time_ms"] + [::core::mem::offset_of!(wireless_dev__bindgen_ty_3, cac_time_ms) - 64usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wireless_dev"][::core::mem::size_of::() - 2104usize]; + ["Alignment of wireless_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wireless_dev::wiphy"][::core::mem::offset_of!(wireless_dev, wiphy) - 0usize]; + ["Offset of field: wireless_dev::iftype"] + [::core::mem::offset_of!(wireless_dev, iftype) - 8usize]; + ["Offset of field: wireless_dev::list"][::core::mem::offset_of!(wireless_dev, list) - 16usize]; + ["Offset of field: wireless_dev::netdev"] + [::core::mem::offset_of!(wireless_dev, netdev) - 32usize]; + ["Offset of field: wireless_dev::identifier"] + [::core::mem::offset_of!(wireless_dev, identifier) - 40usize]; + ["Offset of field: wireless_dev::mgmt_registrations"] + [::core::mem::offset_of!(wireless_dev, mgmt_registrations) - 48usize]; + ["Offset of field: wireless_dev::use_4addr"] + [::core::mem::offset_of!(wireless_dev, use_4addr) - 65usize]; + ["Offset of field: wireless_dev::is_running"] + [::core::mem::offset_of!(wireless_dev, is_running) - 66usize]; + ["Offset of field: wireless_dev::registered"] + [::core::mem::offset_of!(wireless_dev, registered) - 67usize]; + ["Offset of field: wireless_dev::registering"] + [::core::mem::offset_of!(wireless_dev, registering) - 68usize]; + ["Offset of field: wireless_dev::address"] + [::core::mem::offset_of!(wireless_dev, address) - 70usize]; + ["Offset of field: wireless_dev::conn"][::core::mem::offset_of!(wireless_dev, conn) - 80usize]; + ["Offset of field: wireless_dev::connect_keys"] + [::core::mem::offset_of!(wireless_dev, connect_keys) - 88usize]; + ["Offset of field: wireless_dev::conn_bss_type"] + [::core::mem::offset_of!(wireless_dev, conn_bss_type) - 96usize]; + ["Offset of field: wireless_dev::conn_owner_nlportid"] + [::core::mem::offset_of!(wireless_dev, conn_owner_nlportid) - 100usize]; + ["Offset of field: wireless_dev::disconnect_wk"] + [::core::mem::offset_of!(wireless_dev, disconnect_wk) - 104usize]; + ["Offset of field: wireless_dev::disconnect_bssid"] + [::core::mem::offset_of!(wireless_dev, disconnect_bssid) - 136usize]; + ["Offset of field: wireless_dev::event_list"] + [::core::mem::offset_of!(wireless_dev, event_list) - 144usize]; + ["Offset of field: wireless_dev::event_lock"] + [::core::mem::offset_of!(wireless_dev, event_lock) - 160usize]; + ["Offset of field: wireless_dev::ps"][::core::mem::offset_of!(wireless_dev, ps) - 165usize]; + ["Offset of field: wireless_dev::ps_timeout"] + [::core::mem::offset_of!(wireless_dev, ps_timeout) - 168usize]; + ["Offset of field: wireless_dev::ap_unexpected_nlportid"] + [::core::mem::offset_of!(wireless_dev, ap_unexpected_nlportid) - 172usize]; + ["Offset of field: wireless_dev::owner_nlportid"] + [::core::mem::offset_of!(wireless_dev, owner_nlportid) - 176usize]; + ["Offset of field: wireless_dev::nl_owner_dead"] + [::core::mem::offset_of!(wireless_dev, nl_owner_dead) - 180usize]; + ["Offset of field: wireless_dev::wext"][::core::mem::offset_of!(wireless_dev, wext) - 184usize]; + ["Offset of field: wireless_dev::cqm_rssi_work"] + [::core::mem::offset_of!(wireless_dev, cqm_rssi_work) - 808usize]; + ["Offset of field: wireless_dev::cqm_config"] + [::core::mem::offset_of!(wireless_dev, cqm_config) - 832usize]; + ["Offset of field: wireless_dev::pmsr_list"] + [::core::mem::offset_of!(wireless_dev, pmsr_list) - 840usize]; + ["Offset of field: wireless_dev::pmsr_lock"] + [::core::mem::offset_of!(wireless_dev, pmsr_lock) - 856usize]; + ["Offset of field: wireless_dev::pmsr_free_wk"] + [::core::mem::offset_of!(wireless_dev, pmsr_free_wk) - 864usize]; + ["Offset of field: wireless_dev::unprot_beacon_reported"] + [::core::mem::offset_of!(wireless_dev, unprot_beacon_reported) - 896usize]; + ["Offset of field: wireless_dev::u"][::core::mem::offset_of!(wireless_dev, u) - 904usize]; + ["Offset of field: wireless_dev::links"] + [::core::mem::offset_of!(wireless_dev, links) - 1016usize]; + ["Offset of field: wireless_dev::valid_links"] + [::core::mem::offset_of!(wireless_dev, valid_links) - 2096usize]; +}; +impl wireless_dev { + #[inline] + pub fn mgmt_registrations_need_update(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_mgmt_registrations_need_update(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn mgmt_registrations_need_update_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_mgmt_registrations_need_update_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + mgmt_registrations_need_update: u8_, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let mgmt_registrations_need_update: u8 = + unsafe { ::core::mem::transmute(mgmt_registrations_need_update) }; + mgmt_registrations_need_update as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn connected(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_connected(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_2.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn connected_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_2), + 0usize, + 1u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_connected_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_2), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_2(connected: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let connected: u8 = unsafe { ::core::mem::transmute(connected) }; + connected as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct worker { + pub __bindgen_anon_1: worker__bindgen_ty_1, + pub current_work: *mut work_struct, + pub current_func: work_func_t, + pub current_pwq: *mut pool_workqueue, + pub current_at: u64_, + pub current_color: ::core::ffi::c_uint, + pub sleeping: ::core::ffi::c_int, + pub last_func: work_func_t, + pub scheduled: list_head, + pub task: *mut task_struct, + pub pool: *mut worker_pool, + pub node: list_head, + pub last_active: ::core::ffi::c_ulong, + pub flags: ::core::ffi::c_uint, + pub id: ::core::ffi::c_int, + pub desc: [::core::ffi::c_char; 32usize], + pub rescue_wq: *mut workqueue_struct, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union worker__bindgen_ty_1 { + pub entry: list_head, + pub hentry: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of worker__bindgen_ty_1"][::core::mem::size_of::() - 16usize]; + ["Alignment of worker__bindgen_ty_1"][::core::mem::align_of::() - 8usize]; + ["Offset of field: worker__bindgen_ty_1::entry"] + [::core::mem::offset_of!(worker__bindgen_ty_1, entry) - 0usize]; + ["Offset of field: worker__bindgen_ty_1::hentry"] + [::core::mem::offset_of!(worker__bindgen_ty_1, hentry) - 0usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of worker"][::core::mem::size_of::() - 168usize]; + ["Alignment of worker"][::core::mem::align_of::() - 8usize]; + ["Offset of field: worker::current_work"] + [::core::mem::offset_of!(worker, current_work) - 16usize]; + ["Offset of field: worker::current_func"] + [::core::mem::offset_of!(worker, current_func) - 24usize]; + ["Offset of field: worker::current_pwq"] + [::core::mem::offset_of!(worker, current_pwq) - 32usize]; + ["Offset of field: worker::current_at"][::core::mem::offset_of!(worker, current_at) - 40usize]; + ["Offset of field: worker::current_color"] + [::core::mem::offset_of!(worker, current_color) - 48usize]; + ["Offset of field: worker::sleeping"][::core::mem::offset_of!(worker, sleeping) - 52usize]; + ["Offset of field: worker::last_func"][::core::mem::offset_of!(worker, last_func) - 56usize]; + ["Offset of field: worker::scheduled"][::core::mem::offset_of!(worker, scheduled) - 64usize]; + ["Offset of field: worker::task"][::core::mem::offset_of!(worker, task) - 80usize]; + ["Offset of field: worker::pool"][::core::mem::offset_of!(worker, pool) - 88usize]; + ["Offset of field: worker::node"][::core::mem::offset_of!(worker, node) - 96usize]; + ["Offset of field: worker::last_active"] + [::core::mem::offset_of!(worker, last_active) - 112usize]; + ["Offset of field: worker::flags"][::core::mem::offset_of!(worker, flags) - 120usize]; + ["Offset of field: worker::id"][::core::mem::offset_of!(worker, id) - 124usize]; + ["Offset of field: worker::desc"][::core::mem::offset_of!(worker, desc) - 128usize]; + ["Offset of field: worker::rescue_wq"][::core::mem::offset_of!(worker, rescue_wq) - 160usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct worker_pool { + pub lock: raw_spinlock_t, + pub cpu: ::core::ffi::c_int, + pub node: ::core::ffi::c_int, + pub id: ::core::ffi::c_int, + pub flags: ::core::ffi::c_uint, + pub watchdog_ts: ::core::ffi::c_ulong, + pub cpu_stall: bool_, + pub nr_running: ::core::ffi::c_int, + pub worklist: list_head, + pub nr_workers: ::core::ffi::c_int, + pub nr_idle: ::core::ffi::c_int, + pub idle_list: list_head, + pub idle_timer: timer_list, + pub idle_cull_work: work_struct, + pub mayday_timer: timer_list, + pub busy_hash: [hlist_head; 64usize], + pub manager: *mut worker, + pub workers: list_head, + pub worker_ida: ida, + pub attrs: *mut workqueue_attrs, + pub hash_node: hlist_node, + pub refcnt: ::core::ffi::c_int, + pub rcu: callback_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of worker_pool"][::core::mem::size_of::() - 792usize]; + ["Alignment of worker_pool"][::core::mem::align_of::() - 8usize]; + ["Offset of field: worker_pool::lock"][::core::mem::offset_of!(worker_pool, lock) - 0usize]; + ["Offset of field: worker_pool::cpu"][::core::mem::offset_of!(worker_pool, cpu) - 4usize]; + ["Offset of field: worker_pool::node"][::core::mem::offset_of!(worker_pool, node) - 8usize]; + ["Offset of field: worker_pool::id"][::core::mem::offset_of!(worker_pool, id) - 12usize]; + ["Offset of field: worker_pool::flags"][::core::mem::offset_of!(worker_pool, flags) - 16usize]; + ["Offset of field: worker_pool::watchdog_ts"] + [::core::mem::offset_of!(worker_pool, watchdog_ts) - 24usize]; + ["Offset of field: worker_pool::cpu_stall"] + [::core::mem::offset_of!(worker_pool, cpu_stall) - 32usize]; + ["Offset of field: worker_pool::nr_running"] + [::core::mem::offset_of!(worker_pool, nr_running) - 36usize]; + ["Offset of field: worker_pool::worklist"] + [::core::mem::offset_of!(worker_pool, worklist) - 40usize]; + ["Offset of field: worker_pool::nr_workers"] + [::core::mem::offset_of!(worker_pool, nr_workers) - 56usize]; + ["Offset of field: worker_pool::nr_idle"] + [::core::mem::offset_of!(worker_pool, nr_idle) - 60usize]; + ["Offset of field: worker_pool::idle_list"] + [::core::mem::offset_of!(worker_pool, idle_list) - 64usize]; + ["Offset of field: worker_pool::idle_timer"] + [::core::mem::offset_of!(worker_pool, idle_timer) - 80usize]; + ["Offset of field: worker_pool::idle_cull_work"] + [::core::mem::offset_of!(worker_pool, idle_cull_work) - 120usize]; + ["Offset of field: worker_pool::mayday_timer"] + [::core::mem::offset_of!(worker_pool, mayday_timer) - 152usize]; + ["Offset of field: worker_pool::busy_hash"] + [::core::mem::offset_of!(worker_pool, busy_hash) - 192usize]; + ["Offset of field: worker_pool::manager"] + [::core::mem::offset_of!(worker_pool, manager) - 704usize]; + ["Offset of field: worker_pool::workers"] + [::core::mem::offset_of!(worker_pool, workers) - 712usize]; + ["Offset of field: worker_pool::worker_ida"] + [::core::mem::offset_of!(worker_pool, worker_ida) - 728usize]; + ["Offset of field: worker_pool::attrs"][::core::mem::offset_of!(worker_pool, attrs) - 744usize]; + ["Offset of field: worker_pool::hash_node"] + [::core::mem::offset_of!(worker_pool, hash_node) - 752usize]; + ["Offset of field: worker_pool::refcnt"] + [::core::mem::offset_of!(worker_pool, refcnt) - 768usize]; + ["Offset of field: worker_pool::rcu"][::core::mem::offset_of!(worker_pool, rcu) - 776usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct workqueue_attrs { + pub nice: ::core::ffi::c_int, + pub cpumask: cpumask_var_t, + pub __pod_cpumask: cpumask_var_t, + pub affn_strict: bool_, + pub affn_scope: wq_affn_scope, + pub ordered: bool_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of workqueue_attrs"][::core::mem::size_of::() - 40usize]; + ["Alignment of workqueue_attrs"][::core::mem::align_of::() - 8usize]; + ["Offset of field: workqueue_attrs::nice"] + [::core::mem::offset_of!(workqueue_attrs, nice) - 0usize]; + ["Offset of field: workqueue_attrs::cpumask"] + [::core::mem::offset_of!(workqueue_attrs, cpumask) - 8usize]; + ["Offset of field: workqueue_attrs::__pod_cpumask"] + [::core::mem::offset_of!(workqueue_attrs, __pod_cpumask) - 16usize]; + ["Offset of field: workqueue_attrs::affn_strict"] + [::core::mem::offset_of!(workqueue_attrs, affn_strict) - 24usize]; + ["Offset of field: workqueue_attrs::affn_scope"] + [::core::mem::offset_of!(workqueue_attrs, affn_scope) - 28usize]; + ["Offset of field: workqueue_attrs::ordered"] + [::core::mem::offset_of!(workqueue_attrs, ordered) - 32usize]; +}; +#[repr(C)] +pub struct workqueue_struct { + pub pwqs: list_head, + pub list: list_head, + pub mutex: mutex, + pub work_color: ::core::ffi::c_int, + pub flush_color: ::core::ffi::c_int, + pub nr_pwqs_to_flush: atomic_t, + pub first_flusher: *mut wq_flusher, + pub flusher_queue: list_head, + pub flusher_overflow: list_head, + pub maydays: list_head, + pub rescuer: *mut worker, + pub nr_drainers: ::core::ffi::c_int, + pub max_active: ::core::ffi::c_int, + pub min_active: ::core::ffi::c_int, + pub saved_max_active: ::core::ffi::c_int, + pub saved_min_active: ::core::ffi::c_int, + pub unbound_attrs: *mut workqueue_attrs, + pub dfl_pwq: *mut pool_workqueue, + pub wq_dev: *mut wq_device, + pub name: [::core::ffi::c_char; 32usize], + pub rcu: callback_head, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, + pub flags: ::core::ffi::c_uint, + pub cpu_pwq: *mut *mut pool_workqueue, + pub node_nr_active: __IncompleteArrayField<*mut wq_node_nr_active>, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of workqueue_struct"][::core::mem::size_of::() - 320usize]; + ["Alignment of workqueue_struct"][::core::mem::align_of::() - 8usize]; + ["Offset of field: workqueue_struct::pwqs"] + [::core::mem::offset_of!(workqueue_struct, pwqs) - 0usize]; + ["Offset of field: workqueue_struct::list"] + [::core::mem::offset_of!(workqueue_struct, list) - 16usize]; + ["Offset of field: workqueue_struct::mutex"] + [::core::mem::offset_of!(workqueue_struct, mutex) - 32usize]; + ["Offset of field: workqueue_struct::work_color"] + [::core::mem::offset_of!(workqueue_struct, work_color) - 64usize]; + ["Offset of field: workqueue_struct::flush_color"] + [::core::mem::offset_of!(workqueue_struct, flush_color) - 68usize]; + ["Offset of field: workqueue_struct::nr_pwqs_to_flush"] + [::core::mem::offset_of!(workqueue_struct, nr_pwqs_to_flush) - 72usize]; + ["Offset of field: workqueue_struct::first_flusher"] + [::core::mem::offset_of!(workqueue_struct, first_flusher) - 80usize]; + ["Offset of field: workqueue_struct::flusher_queue"] + [::core::mem::offset_of!(workqueue_struct, flusher_queue) - 88usize]; + ["Offset of field: workqueue_struct::flusher_overflow"] + [::core::mem::offset_of!(workqueue_struct, flusher_overflow) - 104usize]; + ["Offset of field: workqueue_struct::maydays"] + [::core::mem::offset_of!(workqueue_struct, maydays) - 120usize]; + ["Offset of field: workqueue_struct::rescuer"] + [::core::mem::offset_of!(workqueue_struct, rescuer) - 136usize]; + ["Offset of field: workqueue_struct::nr_drainers"] + [::core::mem::offset_of!(workqueue_struct, nr_drainers) - 144usize]; + ["Offset of field: workqueue_struct::max_active"] + [::core::mem::offset_of!(workqueue_struct, max_active) - 148usize]; + ["Offset of field: workqueue_struct::min_active"] + [::core::mem::offset_of!(workqueue_struct, min_active) - 152usize]; + ["Offset of field: workqueue_struct::saved_max_active"] + [::core::mem::offset_of!(workqueue_struct, saved_max_active) - 156usize]; + ["Offset of field: workqueue_struct::saved_min_active"] + [::core::mem::offset_of!(workqueue_struct, saved_min_active) - 160usize]; + ["Offset of field: workqueue_struct::unbound_attrs"] + [::core::mem::offset_of!(workqueue_struct, unbound_attrs) - 168usize]; + ["Offset of field: workqueue_struct::dfl_pwq"] + [::core::mem::offset_of!(workqueue_struct, dfl_pwq) - 176usize]; + ["Offset of field: workqueue_struct::wq_dev"] + [::core::mem::offset_of!(workqueue_struct, wq_dev) - 184usize]; + ["Offset of field: workqueue_struct::name"] + [::core::mem::offset_of!(workqueue_struct, name) - 192usize]; + ["Offset of field: workqueue_struct::rcu"] + [::core::mem::offset_of!(workqueue_struct, rcu) - 224usize]; + ["Offset of field: workqueue_struct::flags"] + [::core::mem::offset_of!(workqueue_struct, flags) - 256usize]; + ["Offset of field: workqueue_struct::cpu_pwq"] + [::core::mem::offset_of!(workqueue_struct, cpu_pwq) - 264usize]; + ["Offset of field: workqueue_struct::node_nr_active"] + [::core::mem::offset_of!(workqueue_struct, node_nr_active) - 272usize]; +}; +impl workqueue_struct { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wpan_dev { + pub wpan_phy: *mut wpan_phy, + pub iftype: ::core::ffi::c_int, + pub list: list_head, + pub netdev: *mut net_device, + pub header_ops: *const wpan_dev_header_ops, + pub lowpan_dev: *mut net_device, + pub identifier: u32_, + pub pan_id: __le16, + pub short_addr: __le16, + pub extended_addr: __le64, + pub bsn: atomic_t, + pub dsn: atomic_t, + pub min_be: u8_, + pub max_be: u8_, + pub csma_retries: u8_, + pub frame_retries: s8, + pub lbt: bool_, + pub ackreq: bool_, + pub association_lock: mutex, + pub parent: *mut ieee802154_pan_device, + pub children: list_head, + pub max_associations: ::core::ffi::c_uint, + pub nchildren: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wpan_dev"][::core::mem::size_of::() - 152usize]; + ["Alignment of wpan_dev"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wpan_dev::wpan_phy"][::core::mem::offset_of!(wpan_dev, wpan_phy) - 0usize]; + ["Offset of field: wpan_dev::iftype"][::core::mem::offset_of!(wpan_dev, iftype) - 8usize]; + ["Offset of field: wpan_dev::list"][::core::mem::offset_of!(wpan_dev, list) - 16usize]; + ["Offset of field: wpan_dev::netdev"][::core::mem::offset_of!(wpan_dev, netdev) - 32usize]; + ["Offset of field: wpan_dev::header_ops"] + [::core::mem::offset_of!(wpan_dev, header_ops) - 40usize]; + ["Offset of field: wpan_dev::lowpan_dev"] + [::core::mem::offset_of!(wpan_dev, lowpan_dev) - 48usize]; + ["Offset of field: wpan_dev::identifier"] + [::core::mem::offset_of!(wpan_dev, identifier) - 56usize]; + ["Offset of field: wpan_dev::pan_id"][::core::mem::offset_of!(wpan_dev, pan_id) - 60usize]; + ["Offset of field: wpan_dev::short_addr"] + [::core::mem::offset_of!(wpan_dev, short_addr) - 62usize]; + ["Offset of field: wpan_dev::extended_addr"] + [::core::mem::offset_of!(wpan_dev, extended_addr) - 64usize]; + ["Offset of field: wpan_dev::bsn"][::core::mem::offset_of!(wpan_dev, bsn) - 72usize]; + ["Offset of field: wpan_dev::dsn"][::core::mem::offset_of!(wpan_dev, dsn) - 76usize]; + ["Offset of field: wpan_dev::min_be"][::core::mem::offset_of!(wpan_dev, min_be) - 80usize]; + ["Offset of field: wpan_dev::max_be"][::core::mem::offset_of!(wpan_dev, max_be) - 81usize]; + ["Offset of field: wpan_dev::csma_retries"] + [::core::mem::offset_of!(wpan_dev, csma_retries) - 82usize]; + ["Offset of field: wpan_dev::frame_retries"] + [::core::mem::offset_of!(wpan_dev, frame_retries) - 83usize]; + ["Offset of field: wpan_dev::lbt"][::core::mem::offset_of!(wpan_dev, lbt) - 84usize]; + ["Offset of field: wpan_dev::ackreq"][::core::mem::offset_of!(wpan_dev, ackreq) - 85usize]; + ["Offset of field: wpan_dev::association_lock"] + [::core::mem::offset_of!(wpan_dev, association_lock) - 88usize]; + ["Offset of field: wpan_dev::parent"][::core::mem::offset_of!(wpan_dev, parent) - 120usize]; + ["Offset of field: wpan_dev::children"][::core::mem::offset_of!(wpan_dev, children) - 128usize]; + ["Offset of field: wpan_dev::max_associations"] + [::core::mem::offset_of!(wpan_dev, max_associations) - 144usize]; + ["Offset of field: wpan_dev::nchildren"] + [::core::mem::offset_of!(wpan_dev, nchildren) - 148usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wpan_dev_header_ops { + pub create: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut sk_buff, + arg2: *mut net_device, + arg3: *const ieee802154_addr, + arg4: *const ieee802154_addr, + arg5: ::core::ffi::c_uint, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wpan_dev_header_ops"][::core::mem::size_of::() - 8usize]; + ["Alignment of wpan_dev_header_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wpan_dev_header_ops::create"] + [::core::mem::offset_of!(wpan_dev_header_ops, create) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wpan_phy_supported { + pub channels: [u32_; 32usize], + pub cca_modes: u32_, + pub cca_opts: u32_, + pub iftypes: u32_, + pub lbt: nl802154_supported_bool_states, + pub min_minbe: u8_, + pub max_minbe: u8_, + pub min_maxbe: u8_, + pub max_maxbe: u8_, + pub min_csma_backoffs: u8_, + pub max_csma_backoffs: u8_, + pub min_frame_retries: s8, + pub max_frame_retries: s8, + pub tx_powers_size: usize, + pub cca_ed_levels_size: usize, + pub tx_powers: *const s32, + pub cca_ed_levels: *const s32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wpan_phy_supported"][::core::mem::size_of::() - 184usize]; + ["Alignment of wpan_phy_supported"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wpan_phy_supported::channels"] + [::core::mem::offset_of!(wpan_phy_supported, channels) - 0usize]; + ["Offset of field: wpan_phy_supported::cca_modes"] + [::core::mem::offset_of!(wpan_phy_supported, cca_modes) - 128usize]; + ["Offset of field: wpan_phy_supported::cca_opts"] + [::core::mem::offset_of!(wpan_phy_supported, cca_opts) - 132usize]; + ["Offset of field: wpan_phy_supported::iftypes"] + [::core::mem::offset_of!(wpan_phy_supported, iftypes) - 136usize]; + ["Offset of field: wpan_phy_supported::lbt"] + [::core::mem::offset_of!(wpan_phy_supported, lbt) - 140usize]; + ["Offset of field: wpan_phy_supported::min_minbe"] + [::core::mem::offset_of!(wpan_phy_supported, min_minbe) - 144usize]; + ["Offset of field: wpan_phy_supported::max_minbe"] + [::core::mem::offset_of!(wpan_phy_supported, max_minbe) - 145usize]; + ["Offset of field: wpan_phy_supported::min_maxbe"] + [::core::mem::offset_of!(wpan_phy_supported, min_maxbe) - 146usize]; + ["Offset of field: wpan_phy_supported::max_maxbe"] + [::core::mem::offset_of!(wpan_phy_supported, max_maxbe) - 147usize]; + ["Offset of field: wpan_phy_supported::min_csma_backoffs"] + [::core::mem::offset_of!(wpan_phy_supported, min_csma_backoffs) - 148usize]; + ["Offset of field: wpan_phy_supported::max_csma_backoffs"] + [::core::mem::offset_of!(wpan_phy_supported, max_csma_backoffs) - 149usize]; + ["Offset of field: wpan_phy_supported::min_frame_retries"] + [::core::mem::offset_of!(wpan_phy_supported, min_frame_retries) - 150usize]; + ["Offset of field: wpan_phy_supported::max_frame_retries"] + [::core::mem::offset_of!(wpan_phy_supported, max_frame_retries) - 151usize]; + ["Offset of field: wpan_phy_supported::tx_powers_size"] + [::core::mem::offset_of!(wpan_phy_supported, tx_powers_size) - 152usize]; + ["Offset of field: wpan_phy_supported::cca_ed_levels_size"] + [::core::mem::offset_of!(wpan_phy_supported, cca_ed_levels_size) - 160usize]; + ["Offset of field: wpan_phy_supported::tx_powers"] + [::core::mem::offset_of!(wpan_phy_supported, tx_powers) - 168usize]; + ["Offset of field: wpan_phy_supported::cca_ed_levels"] + [::core::mem::offset_of!(wpan_phy_supported, cca_ed_levels) - 176usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct wpan_phy_cca { + pub mode: nl802154_cca_modes, + pub opt: nl802154_cca_opts, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wpan_phy_cca"][::core::mem::size_of::() - 8usize]; + ["Alignment of wpan_phy_cca"][::core::mem::align_of::() - 4usize]; + ["Offset of field: wpan_phy_cca::mode"][::core::mem::offset_of!(wpan_phy_cca, mode) - 0usize]; + ["Offset of field: wpan_phy_cca::opt"][::core::mem::offset_of!(wpan_phy_cca, opt) - 4usize]; +}; +#[repr(C)] +pub struct wpan_phy { + pub privid: *const ::core::ffi::c_void, + pub flags: ::core::ffi::c_ulong, + pub current_channel: u8_, + pub current_page: u8_, + pub supported: wpan_phy_supported, + pub transmit_power: s32, + pub cca: wpan_phy_cca, + pub perm_extended_addr: __le64, + pub cca_ed_level: s32, + pub symbol_duration: u32_, + pub lifs_period: u16_, + pub sifs_period: u16_, + pub dev: device, + pub _net: possible_net_t, + pub queue_lock: spinlock_t, + pub ongoing_txs: atomic_t, + pub hold_txs: atomic_t, + pub sync_txq: wait_queue_head_t, + pub filtering: ieee802154_filtering_level, + pub __bindgen_padding_0: [u8; 4usize], + pub priv_: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wpan_phy"][::core::mem::size_of::() - 1056usize]; + ["Alignment of wpan_phy"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wpan_phy::privid"][::core::mem::offset_of!(wpan_phy, privid) - 0usize]; + ["Offset of field: wpan_phy::flags"][::core::mem::offset_of!(wpan_phy, flags) - 8usize]; + ["Offset of field: wpan_phy::current_channel"] + [::core::mem::offset_of!(wpan_phy, current_channel) - 16usize]; + ["Offset of field: wpan_phy::current_page"] + [::core::mem::offset_of!(wpan_phy, current_page) - 17usize]; + ["Offset of field: wpan_phy::supported"] + [::core::mem::offset_of!(wpan_phy, supported) - 24usize]; + ["Offset of field: wpan_phy::transmit_power"] + [::core::mem::offset_of!(wpan_phy, transmit_power) - 208usize]; + ["Offset of field: wpan_phy::cca"][::core::mem::offset_of!(wpan_phy, cca) - 212usize]; + ["Offset of field: wpan_phy::perm_extended_addr"] + [::core::mem::offset_of!(wpan_phy, perm_extended_addr) - 224usize]; + ["Offset of field: wpan_phy::cca_ed_level"] + [::core::mem::offset_of!(wpan_phy, cca_ed_level) - 232usize]; + ["Offset of field: wpan_phy::symbol_duration"] + [::core::mem::offset_of!(wpan_phy, symbol_duration) - 236usize]; + ["Offset of field: wpan_phy::lifs_period"] + [::core::mem::offset_of!(wpan_phy, lifs_period) - 240usize]; + ["Offset of field: wpan_phy::sifs_period"] + [::core::mem::offset_of!(wpan_phy, sifs_period) - 242usize]; + ["Offset of field: wpan_phy::dev"][::core::mem::offset_of!(wpan_phy, dev) - 248usize]; + ["Offset of field: wpan_phy::_net"][::core::mem::offset_of!(wpan_phy, _net) - 1000usize]; + ["Offset of field: wpan_phy::queue_lock"] + [::core::mem::offset_of!(wpan_phy, queue_lock) - 1008usize]; + ["Offset of field: wpan_phy::ongoing_txs"] + [::core::mem::offset_of!(wpan_phy, ongoing_txs) - 1012usize]; + ["Offset of field: wpan_phy::hold_txs"] + [::core::mem::offset_of!(wpan_phy, hold_txs) - 1016usize]; + ["Offset of field: wpan_phy::sync_txq"] + [::core::mem::offset_of!(wpan_phy, sync_txq) - 1024usize]; + ["Offset of field: wpan_phy::filtering"] + [::core::mem::offset_of!(wpan_phy, filtering) - 1048usize]; + ["Offset of field: wpan_phy::priv_"][::core::mem::offset_of!(wpan_phy, priv_) - 1056usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wq_device { + pub wq: *mut workqueue_struct, + pub dev: device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wq_device"][::core::mem::size_of::() - 760usize]; + ["Alignment of wq_device"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wq_device::wq"][::core::mem::offset_of!(wq_device, wq) - 0usize]; + ["Offset of field: wq_device::dev"][::core::mem::offset_of!(wq_device, dev) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wq_flusher { + pub list: list_head, + pub flush_color: ::core::ffi::c_int, + pub done: completion, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wq_flusher"][::core::mem::size_of::() - 56usize]; + ["Alignment of wq_flusher"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wq_flusher::list"][::core::mem::offset_of!(wq_flusher, list) - 0usize]; + ["Offset of field: wq_flusher::flush_color"] + [::core::mem::offset_of!(wq_flusher, flush_color) - 16usize]; + ["Offset of field: wq_flusher::done"][::core::mem::offset_of!(wq_flusher, done) - 24usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct wq_node_nr_active { + pub max: ::core::ffi::c_int, + pub nr: atomic_t, + pub lock: raw_spinlock_t, + pub pending_pwqs: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of wq_node_nr_active"][::core::mem::size_of::() - 32usize]; + ["Alignment of wq_node_nr_active"][::core::mem::align_of::() - 8usize]; + ["Offset of field: wq_node_nr_active::max"] + [::core::mem::offset_of!(wq_node_nr_active, max) - 0usize]; + ["Offset of field: wq_node_nr_active::nr"] + [::core::mem::offset_of!(wq_node_nr_active, nr) - 4usize]; + ["Offset of field: wq_node_nr_active::lock"] + [::core::mem::offset_of!(wq_node_nr_active, lock) - 8usize]; + ["Offset of field: wq_node_nr_active::pending_pwqs"] + [::core::mem::offset_of!(wq_node_nr_active, pending_pwqs) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct writeback_control { + pub nr_to_write: ::core::ffi::c_long, + pub pages_skipped: ::core::ffi::c_long, + pub range_start: loff_t, + pub range_end: loff_t, + pub sync_mode: writeback_sync_modes, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub swap_plug: *mut *mut swap_iocb, + pub list: *mut list_head, + pub fbatch: folio_batch, + pub index: ::core::ffi::c_ulong, + pub saved_err: ::core::ffi::c_int, + pub wb: *mut bdi_writeback, + pub inode: *mut inode, + pub wb_id: ::core::ffi::c_int, + pub wb_lcand_id: ::core::ffi::c_int, + pub wb_tcand_id: ::core::ffi::c_int, + pub wb_bytes: usize, + pub wb_lcand_bytes: usize, + pub wb_tcand_bytes: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of writeback_control"][::core::mem::size_of::() - 384usize]; + ["Alignment of writeback_control"][::core::mem::align_of::() - 8usize]; + ["Offset of field: writeback_control::nr_to_write"] + [::core::mem::offset_of!(writeback_control, nr_to_write) - 0usize]; + ["Offset of field: writeback_control::pages_skipped"] + [::core::mem::offset_of!(writeback_control, pages_skipped) - 8usize]; + ["Offset of field: writeback_control::range_start"] + [::core::mem::offset_of!(writeback_control, range_start) - 16usize]; + ["Offset of field: writeback_control::range_end"] + [::core::mem::offset_of!(writeback_control, range_end) - 24usize]; + ["Offset of field: writeback_control::sync_mode"] + [::core::mem::offset_of!(writeback_control, sync_mode) - 32usize]; + ["Offset of field: writeback_control::swap_plug"] + [::core::mem::offset_of!(writeback_control, swap_plug) - 40usize]; + ["Offset of field: writeback_control::list"] + [::core::mem::offset_of!(writeback_control, list) - 48usize]; + ["Offset of field: writeback_control::fbatch"] + [::core::mem::offset_of!(writeback_control, fbatch) - 56usize]; + ["Offset of field: writeback_control::index"] + [::core::mem::offset_of!(writeback_control, index) - 312usize]; + ["Offset of field: writeback_control::saved_err"] + [::core::mem::offset_of!(writeback_control, saved_err) - 320usize]; + ["Offset of field: writeback_control::wb"] + [::core::mem::offset_of!(writeback_control, wb) - 328usize]; + ["Offset of field: writeback_control::inode"] + [::core::mem::offset_of!(writeback_control, inode) - 336usize]; + ["Offset of field: writeback_control::wb_id"] + [::core::mem::offset_of!(writeback_control, wb_id) - 344usize]; + ["Offset of field: writeback_control::wb_lcand_id"] + [::core::mem::offset_of!(writeback_control, wb_lcand_id) - 348usize]; + ["Offset of field: writeback_control::wb_tcand_id"] + [::core::mem::offset_of!(writeback_control, wb_tcand_id) - 352usize]; + ["Offset of field: writeback_control::wb_bytes"] + [::core::mem::offset_of!(writeback_control, wb_bytes) - 360usize]; + ["Offset of field: writeback_control::wb_lcand_bytes"] + [::core::mem::offset_of!(writeback_control, wb_lcand_bytes) - 368usize]; + ["Offset of field: writeback_control::wb_tcand_bytes"] + [::core::mem::offset_of!(writeback_control, wb_tcand_bytes) - 376usize]; +}; +impl writeback_control { + #[inline] + pub fn for_kupdate(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_for_kupdate(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn for_kupdate_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_for_kupdate_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn for_background(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_for_background(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn for_background_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 1usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_for_background_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 1usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn tagged_writepages(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_tagged_writepages(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn tagged_writepages_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_tagged_writepages_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn for_reclaim(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_for_reclaim(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn for_reclaim_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 3usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_for_reclaim_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 3usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn range_cyclic(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_range_cyclic(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn range_cyclic_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_range_cyclic_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn for_sync(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_for_sync(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn for_sync_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 5usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_for_sync_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 5usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn unpinned_netfs_wb(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_unpinned_netfs_wb(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn unpinned_netfs_wb_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 6usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_unpinned_netfs_wb_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 6usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn no_cgroup_owner(&self) -> ::core::ffi::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_no_cgroup_owner(&mut self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub unsafe fn no_cgroup_owner_raw(this: *const Self) -> ::core::ffi::c_uint { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 7usize, + 1u8, + ) as u32) + } + } + #[inline] + pub unsafe fn set_no_cgroup_owner_raw(this: *mut Self, val: ::core::ffi::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 7usize, + 1u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1( + for_kupdate: ::core::ffi::c_uint, + for_background: ::core::ffi::c_uint, + tagged_writepages: ::core::ffi::c_uint, + for_reclaim: ::core::ffi::c_uint, + range_cyclic: ::core::ffi::c_uint, + for_sync: ::core::ffi::c_uint, + unpinned_netfs_wb: ::core::ffi::c_uint, + no_cgroup_owner: ::core::ffi::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let for_kupdate: u32 = unsafe { ::core::mem::transmute(for_kupdate) }; + for_kupdate as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let for_background: u32 = unsafe { ::core::mem::transmute(for_background) }; + for_background as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let tagged_writepages: u32 = unsafe { ::core::mem::transmute(tagged_writepages) }; + tagged_writepages as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let for_reclaim: u32 = unsafe { ::core::mem::transmute(for_reclaim) }; + for_reclaim as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let range_cyclic: u32 = unsafe { ::core::mem::transmute(range_cyclic) }; + range_cyclic as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let for_sync: u32 = unsafe { ::core::mem::transmute(for_sync) }; + for_sync as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let unpinned_netfs_wb: u32 = unsafe { ::core::mem::transmute(unpinned_netfs_wb) }; + unpinned_netfs_wb as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let no_cgroup_owner: u32 = unsafe { ::core::mem::transmute(no_cgroup_owner) }; + no_cgroup_owner as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xattr_handler { + pub name: *const ::core::ffi::c_char, + pub prefix: *const ::core::ffi::c_char, + pub flags: ::core::ffi::c_int, + pub list: ::core::option::Option bool_>, + pub get: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const xattr_handler, + arg2: *mut dentry, + arg3: *mut inode, + arg4: *const ::core::ffi::c_char, + arg5: *mut ::core::ffi::c_void, + arg6: usize, + ) -> ::core::ffi::c_int, + >, + pub set: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const xattr_handler, + arg2: *mut mnt_idmap, + arg3: *mut dentry, + arg4: *mut inode, + arg5: *const ::core::ffi::c_char, + arg6: *const ::core::ffi::c_void, + arg7: usize, + arg8: ::core::ffi::c_int, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xattr_handler"][::core::mem::size_of::() - 48usize]; + ["Alignment of xattr_handler"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xattr_handler::name"][::core::mem::offset_of!(xattr_handler, name) - 0usize]; + ["Offset of field: xattr_handler::prefix"] + [::core::mem::offset_of!(xattr_handler, prefix) - 8usize]; + ["Offset of field: xattr_handler::flags"] + [::core::mem::offset_of!(xattr_handler, flags) - 16usize]; + ["Offset of field: xattr_handler::list"] + [::core::mem::offset_of!(xattr_handler, list) - 24usize]; + ["Offset of field: xattr_handler::get"][::core::mem::offset_of!(xattr_handler, get) - 32usize]; + ["Offset of field: xattr_handler::set"][::core::mem::offset_of!(xattr_handler, set) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_buff_xsk { + pub xdp: xdp_buff, + pub cb: [u8_; 24usize], + pub dma: dma_addr_t, + pub frame_dma: dma_addr_t, + pub pool: *mut xsk_buff_pool, + pub orig_addr: u64_, + pub free_list_node: list_head, + pub xskb_list_node: list_head, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_buff_xsk"][::core::mem::size_of::() - 144usize]; + ["Alignment of xdp_buff_xsk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_buff_xsk::xdp"][::core::mem::offset_of!(xdp_buff_xsk, xdp) - 0usize]; + ["Offset of field: xdp_buff_xsk::cb"][::core::mem::offset_of!(xdp_buff_xsk, cb) - 56usize]; + ["Offset of field: xdp_buff_xsk::dma"][::core::mem::offset_of!(xdp_buff_xsk, dma) - 80usize]; + ["Offset of field: xdp_buff_xsk::frame_dma"] + [::core::mem::offset_of!(xdp_buff_xsk, frame_dma) - 88usize]; + ["Offset of field: xdp_buff_xsk::pool"][::core::mem::offset_of!(xdp_buff_xsk, pool) - 96usize]; + ["Offset of field: xdp_buff_xsk::orig_addr"] + [::core::mem::offset_of!(xdp_buff_xsk, orig_addr) - 104usize]; + ["Offset of field: xdp_buff_xsk::free_list_node"] + [::core::mem::offset_of!(xdp_buff_xsk, free_list_node) - 112usize]; + ["Offset of field: xdp_buff_xsk::xskb_list_node"] + [::core::mem::offset_of!(xdp_buff_xsk, xskb_list_node) - 128usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_desc { + pub addr: __u64, + pub len: __u32, + pub options: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_desc"][::core::mem::size_of::() - 16usize]; + ["Alignment of xdp_desc"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_desc::addr"][::core::mem::offset_of!(xdp_desc, addr) - 0usize]; + ["Offset of field: xdp_desc::len"][::core::mem::offset_of!(xdp_desc, len) - 8usize]; + ["Offset of field: xdp_desc::options"][::core::mem::offset_of!(xdp_desc, options) - 12usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_dev_bulk_queue { + pub q: [*mut xdp_frame; 16usize], + pub flush_node: list_head, + pub dev: *mut net_device, + pub dev_rx: *mut net_device, + pub xdp_prog: *mut bpf_prog, + pub count: ::core::ffi::c_uint, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_dev_bulk_queue"][::core::mem::size_of::() - 176usize]; + ["Alignment of xdp_dev_bulk_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_dev_bulk_queue::q"] + [::core::mem::offset_of!(xdp_dev_bulk_queue, q) - 0usize]; + ["Offset of field: xdp_dev_bulk_queue::flush_node"] + [::core::mem::offset_of!(xdp_dev_bulk_queue, flush_node) - 128usize]; + ["Offset of field: xdp_dev_bulk_queue::dev"] + [::core::mem::offset_of!(xdp_dev_bulk_queue, dev) - 144usize]; + ["Offset of field: xdp_dev_bulk_queue::dev_rx"] + [::core::mem::offset_of!(xdp_dev_bulk_queue, dev_rx) - 152usize]; + ["Offset of field: xdp_dev_bulk_queue::xdp_prog"] + [::core::mem::offset_of!(xdp_dev_bulk_queue, xdp_prog) - 160usize]; + ["Offset of field: xdp_dev_bulk_queue::count"] + [::core::mem::offset_of!(xdp_dev_bulk_queue, count) - 168usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_frame { + pub data: *mut ::core::ffi::c_void, + pub len: u16_, + pub headroom: u16_, + pub metasize: u32_, + pub mem: xdp_mem_info, + pub dev_rx: *mut net_device, + pub frame_sz: u32_, + pub flags: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_frame"][::core::mem::size_of::() - 40usize]; + ["Alignment of xdp_frame"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_frame::data"][::core::mem::offset_of!(xdp_frame, data) - 0usize]; + ["Offset of field: xdp_frame::len"][::core::mem::offset_of!(xdp_frame, len) - 8usize]; + ["Offset of field: xdp_frame::headroom"] + [::core::mem::offset_of!(xdp_frame, headroom) - 10usize]; + ["Offset of field: xdp_frame::metasize"] + [::core::mem::offset_of!(xdp_frame, metasize) - 12usize]; + ["Offset of field: xdp_frame::mem"][::core::mem::offset_of!(xdp_frame, mem) - 16usize]; + ["Offset of field: xdp_frame::dev_rx"][::core::mem::offset_of!(xdp_frame, dev_rx) - 24usize]; + ["Offset of field: xdp_frame::frame_sz"] + [::core::mem::offset_of!(xdp_frame, frame_sz) - 32usize]; + ["Offset of field: xdp_frame::flags"][::core::mem::offset_of!(xdp_frame, flags) - 36usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_metadata_ops { + pub xmo_rx_timestamp: ::core::option::Option< + unsafe extern "C" fn(arg1: *const xdp_md, arg2: *mut u64_) -> ::core::ffi::c_int, + >, + pub xmo_rx_hash: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const xdp_md, + arg2: *mut u32_, + arg3: *mut xdp_rss_hash_type, + ) -> ::core::ffi::c_int, + >, + pub xmo_rx_vlan_tag: ::core::option::Option< + unsafe extern "C" fn( + arg1: *const xdp_md, + arg2: *mut __be16, + arg3: *mut u16_, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_metadata_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of xdp_metadata_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_metadata_ops::xmo_rx_timestamp"] + [::core::mem::offset_of!(xdp_metadata_ops, xmo_rx_timestamp) - 0usize]; + ["Offset of field: xdp_metadata_ops::xmo_rx_hash"] + [::core::mem::offset_of!(xdp_metadata_ops, xmo_rx_hash) - 8usize]; + ["Offset of field: xdp_metadata_ops::xmo_rx_vlan_tag"] + [::core::mem::offset_of!(xdp_metadata_ops, xmo_rx_vlan_tag) - 16usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_ring { + pub producer: u32_, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>, + pub __bindgen_padding_0: u32, + pub pad1: u32_, + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 56usize]>, + pub __bindgen_padding_1: u32, + pub consumer: u32_, + pub _bitfield_align_3: [u8; 0], + pub _bitfield_3: __BindgenBitfieldUnit<[u8; 56usize]>, + pub __bindgen_padding_2: u32, + pub pad2: u32_, + pub flags: u32_, + pub _bitfield_align_4: [u8; 0], + pub _bitfield_4: __BindgenBitfieldUnit<[u8; 56usize]>, + pub pad3: u32_, + pub _bitfield_align_5: [u8; 0], + pub _bitfield_5: __BindgenBitfieldUnit<[u8; 56usize]>, + pub __bindgen_padding_3: u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_ring"][::core::mem::size_of::() - 320usize]; + ["Alignment of xdp_ring"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xdp_ring::producer"][::core::mem::offset_of!(xdp_ring, producer) - 0usize]; + ["Offset of field: xdp_ring::pad1"][::core::mem::offset_of!(xdp_ring, pad1) - 64usize]; + ["Offset of field: xdp_ring::consumer"][::core::mem::offset_of!(xdp_ring, consumer) - 128usize]; + ["Offset of field: xdp_ring::pad2"][::core::mem::offset_of!(xdp_ring, pad2) - 192usize]; + ["Offset of field: xdp_ring::flags"][::core::mem::offset_of!(xdp_ring, flags) - 196usize]; + ["Offset of field: xdp_ring::pad3"][::core::mem::offset_of!(xdp_ring, pad3) - 256usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_txq_info { + pub dev: *mut net_device, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_txq_info"][::core::mem::size_of::() - 8usize]; + ["Alignment of xdp_txq_info"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_txq_info::dev"][::core::mem::offset_of!(xdp_txq_info, dev) - 0usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdp_umem { + pub addrs: *mut ::core::ffi::c_void, + pub size: u64_, + pub headroom: u32_, + pub chunk_size: u32_, + pub chunks: u32_, + pub npgs: u32_, + pub user: *mut user_struct, + pub users: refcount_t, + pub flags: u8_, + pub tx_metadata_len: u8_, + pub zc: bool_, + pub pgs: *mut *mut page, + pub id: ::core::ffi::c_int, + pub xsk_dma_list: list_head, + pub work: work_struct, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdp_umem"][::core::mem::size_of::() - 112usize]; + ["Alignment of xdp_umem"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdp_umem::addrs"][::core::mem::offset_of!(xdp_umem, addrs) - 0usize]; + ["Offset of field: xdp_umem::size"][::core::mem::offset_of!(xdp_umem, size) - 8usize]; + ["Offset of field: xdp_umem::headroom"][::core::mem::offset_of!(xdp_umem, headroom) - 16usize]; + ["Offset of field: xdp_umem::chunk_size"] + [::core::mem::offset_of!(xdp_umem, chunk_size) - 20usize]; + ["Offset of field: xdp_umem::chunks"][::core::mem::offset_of!(xdp_umem, chunks) - 24usize]; + ["Offset of field: xdp_umem::npgs"][::core::mem::offset_of!(xdp_umem, npgs) - 28usize]; + ["Offset of field: xdp_umem::user"][::core::mem::offset_of!(xdp_umem, user) - 32usize]; + ["Offset of field: xdp_umem::users"][::core::mem::offset_of!(xdp_umem, users) - 40usize]; + ["Offset of field: xdp_umem::flags"][::core::mem::offset_of!(xdp_umem, flags) - 44usize]; + ["Offset of field: xdp_umem::tx_metadata_len"] + [::core::mem::offset_of!(xdp_umem, tx_metadata_len) - 45usize]; + ["Offset of field: xdp_umem::zc"][::core::mem::offset_of!(xdp_umem, zc) - 46usize]; + ["Offset of field: xdp_umem::pgs"][::core::mem::offset_of!(xdp_umem, pgs) - 48usize]; + ["Offset of field: xdp_umem::id"][::core::mem::offset_of!(xdp_umem, id) - 56usize]; + ["Offset of field: xdp_umem::xsk_dma_list"] + [::core::mem::offset_of!(xdp_umem, xsk_dma_list) - 64usize]; + ["Offset of field: xdp_umem::work"][::core::mem::offset_of!(xdp_umem, work) - 80usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xdr_netobj { + pub len: ::core::ffi::c_uint, + pub data: *mut u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xdr_netobj"][::core::mem::size_of::() - 16usize]; + ["Alignment of xdr_netobj"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xdr_netobj::len"][::core::mem::offset_of!(xdr_netobj, len) - 0usize]; + ["Offset of field: xdr_netobj::data"][::core::mem::offset_of!(xdr_netobj, data) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_address_filter { + pub saddr: xfrm_address_t, + pub daddr: xfrm_address_t, + pub family: __u16, + pub splen: __u8, + pub dplen: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_address_filter"][::core::mem::size_of::() - 36usize]; + ["Alignment of xfrm_address_filter"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_address_filter::saddr"] + [::core::mem::offset_of!(xfrm_address_filter, saddr) - 0usize]; + ["Offset of field: xfrm_address_filter::daddr"] + [::core::mem::offset_of!(xfrm_address_filter, daddr) - 16usize]; + ["Offset of field: xfrm_address_filter::family"] + [::core::mem::offset_of!(xfrm_address_filter, family) - 32usize]; + ["Offset of field: xfrm_address_filter::splen"] + [::core::mem::offset_of!(xfrm_address_filter, splen) - 34usize]; + ["Offset of field: xfrm_address_filter::dplen"] + [::core::mem::offset_of!(xfrm_address_filter, dplen) - 35usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xfrm_algo { + pub alg_name: [::core::ffi::c_char; 64usize], + pub alg_key_len: ::core::ffi::c_uint, + pub alg_key: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_algo"][::core::mem::size_of::() - 68usize]; + ["Alignment of xfrm_algo"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_algo::alg_name"][::core::mem::offset_of!(xfrm_algo, alg_name) - 0usize]; + ["Offset of field: xfrm_algo::alg_key_len"] + [::core::mem::offset_of!(xfrm_algo, alg_key_len) - 64usize]; + ["Offset of field: xfrm_algo::alg_key"][::core::mem::offset_of!(xfrm_algo, alg_key) - 68usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xfrm_algo_aead { + pub alg_name: [::core::ffi::c_char; 64usize], + pub alg_key_len: ::core::ffi::c_uint, + pub alg_icv_len: ::core::ffi::c_uint, + pub alg_key: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_algo_aead"][::core::mem::size_of::() - 72usize]; + ["Alignment of xfrm_algo_aead"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_algo_aead::alg_name"] + [::core::mem::offset_of!(xfrm_algo_aead, alg_name) - 0usize]; + ["Offset of field: xfrm_algo_aead::alg_key_len"] + [::core::mem::offset_of!(xfrm_algo_aead, alg_key_len) - 64usize]; + ["Offset of field: xfrm_algo_aead::alg_icv_len"] + [::core::mem::offset_of!(xfrm_algo_aead, alg_icv_len) - 68usize]; + ["Offset of field: xfrm_algo_aead::alg_key"] + [::core::mem::offset_of!(xfrm_algo_aead, alg_key) - 72usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xfrm_algo_auth { + pub alg_name: [::core::ffi::c_char; 64usize], + pub alg_key_len: ::core::ffi::c_uint, + pub alg_trunc_len: ::core::ffi::c_uint, + pub alg_key: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_algo_auth"][::core::mem::size_of::() - 72usize]; + ["Alignment of xfrm_algo_auth"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_algo_auth::alg_name"] + [::core::mem::offset_of!(xfrm_algo_auth, alg_name) - 0usize]; + ["Offset of field: xfrm_algo_auth::alg_key_len"] + [::core::mem::offset_of!(xfrm_algo_auth, alg_key_len) - 64usize]; + ["Offset of field: xfrm_algo_auth::alg_trunc_len"] + [::core::mem::offset_of!(xfrm_algo_auth, alg_trunc_len) - 68usize]; + ["Offset of field: xfrm_algo_auth::alg_key"] + [::core::mem::offset_of!(xfrm_algo_auth, alg_key) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_dev_offload { + pub dev: *mut net_device, + pub dev_tracker: netdevice_tracker, + pub real_dev: *mut net_device, + pub offload_handle: ::core::ffi::c_ulong, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_dev_offload"][::core::mem::size_of::() - 32usize]; + ["Alignment of xfrm_dev_offload"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_dev_offload::dev"] + [::core::mem::offset_of!(xfrm_dev_offload, dev) - 0usize]; + ["Offset of field: xfrm_dev_offload::dev_tracker"] + [::core::mem::offset_of!(xfrm_dev_offload, dev_tracker) - 8usize]; + ["Offset of field: xfrm_dev_offload::real_dev"] + [::core::mem::offset_of!(xfrm_dev_offload, real_dev) - 8usize]; + ["Offset of field: xfrm_dev_offload::offload_handle"] + [::core::mem::offset_of!(xfrm_dev_offload, offload_handle) - 16usize]; +}; +impl xfrm_dev_offload { + #[inline] + pub fn dir(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_dir(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn dir_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 0usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_dir_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 0usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn type_(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u8) } + } + #[inline] + pub fn set_type(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn type__raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 2usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_type_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 2usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn flags(&self) -> u8_ { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u8) } + } + #[inline] + pub fn set_flags(&mut self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 2u8, val as u64) + } + } + #[inline] + pub unsafe fn flags_raw(this: *const Self) -> u8_ { + unsafe { + ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get( + ::core::ptr::addr_of!((*this)._bitfield_1), + 4usize, + 2u8, + ) as u8) + } + } + #[inline] + pub unsafe fn set_flags_raw(this: *mut Self, val: u8_) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set( + ::core::ptr::addr_of_mut!((*this)._bitfield_1), + 4usize, + 2u8, + val as u64, + ) + } + } + #[inline] + pub fn new_bitfield_1(dir: u8_, type_: u8_, flags: u8_) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let dir: u8 = unsafe { ::core::mem::transmute(dir) }; + dir as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let type_: u8 = unsafe { ::core::mem::transmute(type_) }; + type_ as u64 + }); + __bindgen_bitfield_unit.set(4usize, 2u8, { + let flags: u8 = unsafe { ::core::mem::transmute(flags) }; + flags as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_encap_tmpl { + pub encap_type: __u16, + pub encap_sport: __be16, + pub encap_dport: __be16, + pub encap_oa: xfrm_address_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_encap_tmpl"][::core::mem::size_of::() - 24usize]; + ["Alignment of xfrm_encap_tmpl"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_encap_tmpl::encap_type"] + [::core::mem::offset_of!(xfrm_encap_tmpl, encap_type) - 0usize]; + ["Offset of field: xfrm_encap_tmpl::encap_sport"] + [::core::mem::offset_of!(xfrm_encap_tmpl, encap_sport) - 2usize]; + ["Offset of field: xfrm_encap_tmpl::encap_dport"] + [::core::mem::offset_of!(xfrm_encap_tmpl, encap_dport) - 4usize]; + ["Offset of field: xfrm_encap_tmpl::encap_oa"] + [::core::mem::offset_of!(xfrm_encap_tmpl, encap_oa) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_id { + pub daddr: xfrm_address_t, + pub spi: __be32, + pub proto: __u8, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_id"][::core::mem::size_of::() - 24usize]; + ["Alignment of xfrm_id"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_id::daddr"][::core::mem::offset_of!(xfrm_id, daddr) - 0usize]; + ["Offset of field: xfrm_id::spi"][::core::mem::offset_of!(xfrm_id, spi) - 16usize]; + ["Offset of field: xfrm_id::proto"][::core::mem::offset_of!(xfrm_id, proto) - 20usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_lifetime_cfg { + pub soft_byte_limit: __u64, + pub hard_byte_limit: __u64, + pub soft_packet_limit: __u64, + pub hard_packet_limit: __u64, + pub soft_add_expires_seconds: __u64, + pub hard_add_expires_seconds: __u64, + pub soft_use_expires_seconds: __u64, + pub hard_use_expires_seconds: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_lifetime_cfg"][::core::mem::size_of::() - 64usize]; + ["Alignment of xfrm_lifetime_cfg"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_lifetime_cfg::soft_byte_limit"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, soft_byte_limit) - 0usize]; + ["Offset of field: xfrm_lifetime_cfg::hard_byte_limit"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, hard_byte_limit) - 8usize]; + ["Offset of field: xfrm_lifetime_cfg::soft_packet_limit"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, soft_packet_limit) - 16usize]; + ["Offset of field: xfrm_lifetime_cfg::hard_packet_limit"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, hard_packet_limit) - 24usize]; + ["Offset of field: xfrm_lifetime_cfg::soft_add_expires_seconds"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, soft_add_expires_seconds) - 32usize]; + ["Offset of field: xfrm_lifetime_cfg::hard_add_expires_seconds"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, hard_add_expires_seconds) - 40usize]; + ["Offset of field: xfrm_lifetime_cfg::soft_use_expires_seconds"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, soft_use_expires_seconds) - 48usize]; + ["Offset of field: xfrm_lifetime_cfg::hard_use_expires_seconds"] + [::core::mem::offset_of!(xfrm_lifetime_cfg, hard_use_expires_seconds) - 56usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_lifetime_cur { + pub bytes: __u64, + pub packets: __u64, + pub add_time: __u64, + pub use_time: __u64, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_lifetime_cur"][::core::mem::size_of::() - 32usize]; + ["Alignment of xfrm_lifetime_cur"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_lifetime_cur::bytes"] + [::core::mem::offset_of!(xfrm_lifetime_cur, bytes) - 0usize]; + ["Offset of field: xfrm_lifetime_cur::packets"] + [::core::mem::offset_of!(xfrm_lifetime_cur, packets) - 8usize]; + ["Offset of field: xfrm_lifetime_cur::add_time"] + [::core::mem::offset_of!(xfrm_lifetime_cur, add_time) - 16usize]; + ["Offset of field: xfrm_lifetime_cur::use_time"] + [::core::mem::offset_of!(xfrm_lifetime_cur, use_time) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_mark { + pub v: __u32, + pub m: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_mark"][::core::mem::size_of::() - 8usize]; + ["Alignment of xfrm_mark"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_mark::v"][::core::mem::offset_of!(xfrm_mark, v) - 0usize]; + ["Offset of field: xfrm_mark::m"][::core::mem::offset_of!(xfrm_mark, m) - 4usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_mode { + pub encap: u8_, + pub family: u8_, + pub flags: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_mode"][::core::mem::size_of::() - 3usize]; + ["Alignment of xfrm_mode"][::core::mem::align_of::() - 1usize]; + ["Offset of field: xfrm_mode::encap"][::core::mem::offset_of!(xfrm_mode, encap) - 0usize]; + ["Offset of field: xfrm_mode::family"][::core::mem::offset_of!(xfrm_mode, family) - 1usize]; + ["Offset of field: xfrm_mode::flags"][::core::mem::offset_of!(xfrm_mode, flags) - 2usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_selector { + pub daddr: xfrm_address_t, + pub saddr: xfrm_address_t, + pub dport: __be16, + pub dport_mask: __be16, + pub sport: __be16, + pub sport_mask: __be16, + pub family: __u16, + pub prefixlen_d: __u8, + pub prefixlen_s: __u8, + pub proto: __u8, + pub ifindex: ::core::ffi::c_int, + pub user: __kernel_uid32_t, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_selector"][::core::mem::size_of::() - 56usize]; + ["Alignment of xfrm_selector"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_selector::daddr"] + [::core::mem::offset_of!(xfrm_selector, daddr) - 0usize]; + ["Offset of field: xfrm_selector::saddr"] + [::core::mem::offset_of!(xfrm_selector, saddr) - 16usize]; + ["Offset of field: xfrm_selector::dport"] + [::core::mem::offset_of!(xfrm_selector, dport) - 32usize]; + ["Offset of field: xfrm_selector::dport_mask"] + [::core::mem::offset_of!(xfrm_selector, dport_mask) - 34usize]; + ["Offset of field: xfrm_selector::sport"] + [::core::mem::offset_of!(xfrm_selector, sport) - 36usize]; + ["Offset of field: xfrm_selector::sport_mask"] + [::core::mem::offset_of!(xfrm_selector, sport_mask) - 38usize]; + ["Offset of field: xfrm_selector::family"] + [::core::mem::offset_of!(xfrm_selector, family) - 40usize]; + ["Offset of field: xfrm_selector::prefixlen_d"] + [::core::mem::offset_of!(xfrm_selector, prefixlen_d) - 42usize]; + ["Offset of field: xfrm_selector::prefixlen_s"] + [::core::mem::offset_of!(xfrm_selector, prefixlen_s) - 43usize]; + ["Offset of field: xfrm_selector::proto"] + [::core::mem::offset_of!(xfrm_selector, proto) - 44usize]; + ["Offset of field: xfrm_selector::ifindex"] + [::core::mem::offset_of!(xfrm_selector, ifindex) - 48usize]; + ["Offset of field: xfrm_selector::user"] + [::core::mem::offset_of!(xfrm_selector, user) - 52usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_policy_walk_entry { + pub all: list_head, + pub dead: u8_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_policy_walk_entry"][::core::mem::size_of::() - 24usize]; + ["Alignment of xfrm_policy_walk_entry"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_policy_walk_entry::all"] + [::core::mem::offset_of!(xfrm_policy_walk_entry, all) - 0usize]; + ["Offset of field: xfrm_policy_walk_entry::dead"] + [::core::mem::offset_of!(xfrm_policy_walk_entry, dead) - 16usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_policy_queue { + pub hold_queue: sk_buff_head, + pub hold_timer: timer_list, + pub timeout: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_policy_queue"][::core::mem::size_of::() - 72usize]; + ["Alignment of xfrm_policy_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_policy_queue::hold_queue"] + [::core::mem::offset_of!(xfrm_policy_queue, hold_queue) - 0usize]; + ["Offset of field: xfrm_policy_queue::hold_timer"] + [::core::mem::offset_of!(xfrm_policy_queue, hold_timer) - 24usize]; + ["Offset of field: xfrm_policy_queue::timeout"] + [::core::mem::offset_of!(xfrm_policy_queue, timeout) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_tmpl { + pub id: xfrm_id, + pub saddr: xfrm_address_t, + pub encap_family: ::core::ffi::c_ushort, + pub reqid: u32_, + pub mode: u8_, + pub share: u8_, + pub optional: u8_, + pub allalgs: u8_, + pub aalgos: u32_, + pub ealgos: u32_, + pub calgos: u32_, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_tmpl"][::core::mem::size_of::() - 64usize]; + ["Alignment of xfrm_tmpl"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_tmpl::id"][::core::mem::offset_of!(xfrm_tmpl, id) - 0usize]; + ["Offset of field: xfrm_tmpl::saddr"][::core::mem::offset_of!(xfrm_tmpl, saddr) - 24usize]; + ["Offset of field: xfrm_tmpl::encap_family"] + [::core::mem::offset_of!(xfrm_tmpl, encap_family) - 40usize]; + ["Offset of field: xfrm_tmpl::reqid"][::core::mem::offset_of!(xfrm_tmpl, reqid) - 44usize]; + ["Offset of field: xfrm_tmpl::mode"][::core::mem::offset_of!(xfrm_tmpl, mode) - 48usize]; + ["Offset of field: xfrm_tmpl::share"][::core::mem::offset_of!(xfrm_tmpl, share) - 49usize]; + ["Offset of field: xfrm_tmpl::optional"] + [::core::mem::offset_of!(xfrm_tmpl, optional) - 50usize]; + ["Offset of field: xfrm_tmpl::allalgs"][::core::mem::offset_of!(xfrm_tmpl, allalgs) - 51usize]; + ["Offset of field: xfrm_tmpl::aalgos"][::core::mem::offset_of!(xfrm_tmpl, aalgos) - 52usize]; + ["Offset of field: xfrm_tmpl::ealgos"][::core::mem::offset_of!(xfrm_tmpl, ealgos) - 56usize]; + ["Offset of field: xfrm_tmpl::calgos"][::core::mem::offset_of!(xfrm_tmpl, calgos) - 60usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_policy { + pub xp_net: possible_net_t, + pub bydst: hlist_node, + pub byidx: hlist_node, + pub state_cache_list: hlist_head, + pub lock: rwlock_t, + pub refcnt: refcount_t, + pub pos: u32_, + pub timer: timer_list, + pub genid: atomic_t, + pub priority: u32_, + pub index: u32_, + pub if_id: u32_, + pub mark: xfrm_mark, + pub selector: xfrm_selector, + pub lft: xfrm_lifetime_cfg, + pub curlft: xfrm_lifetime_cur, + pub walk: xfrm_policy_walk_entry, + pub polq: xfrm_policy_queue, + pub bydst_reinsert: bool_, + pub type_: u8_, + pub action: u8_, + pub flags: u8_, + pub xfrm_nr: u8_, + pub family: u16_, + pub security: *mut xfrm_sec_ctx, + pub xfrm_vec: [xfrm_tmpl; 6usize], + pub rcu: callback_head, + pub xdo: xfrm_dev_offload, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_policy"][::core::mem::size_of::() - 824usize]; + ["Alignment of xfrm_policy"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_policy::xp_net"][::core::mem::offset_of!(xfrm_policy, xp_net) - 0usize]; + ["Offset of field: xfrm_policy::bydst"][::core::mem::offset_of!(xfrm_policy, bydst) - 8usize]; + ["Offset of field: xfrm_policy::byidx"][::core::mem::offset_of!(xfrm_policy, byidx) - 24usize]; + ["Offset of field: xfrm_policy::state_cache_list"] + [::core::mem::offset_of!(xfrm_policy, state_cache_list) - 40usize]; + ["Offset of field: xfrm_policy::lock"][::core::mem::offset_of!(xfrm_policy, lock) - 48usize]; + ["Offset of field: xfrm_policy::refcnt"] + [::core::mem::offset_of!(xfrm_policy, refcnt) - 56usize]; + ["Offset of field: xfrm_policy::pos"][::core::mem::offset_of!(xfrm_policy, pos) - 60usize]; + ["Offset of field: xfrm_policy::timer"][::core::mem::offset_of!(xfrm_policy, timer) - 64usize]; + ["Offset of field: xfrm_policy::genid"][::core::mem::offset_of!(xfrm_policy, genid) - 104usize]; + ["Offset of field: xfrm_policy::priority"] + [::core::mem::offset_of!(xfrm_policy, priority) - 108usize]; + ["Offset of field: xfrm_policy::index"][::core::mem::offset_of!(xfrm_policy, index) - 112usize]; + ["Offset of field: xfrm_policy::if_id"][::core::mem::offset_of!(xfrm_policy, if_id) - 116usize]; + ["Offset of field: xfrm_policy::mark"][::core::mem::offset_of!(xfrm_policy, mark) - 120usize]; + ["Offset of field: xfrm_policy::selector"] + [::core::mem::offset_of!(xfrm_policy, selector) - 128usize]; + ["Offset of field: xfrm_policy::lft"][::core::mem::offset_of!(xfrm_policy, lft) - 184usize]; + ["Offset of field: xfrm_policy::curlft"] + [::core::mem::offset_of!(xfrm_policy, curlft) - 248usize]; + ["Offset of field: xfrm_policy::walk"][::core::mem::offset_of!(xfrm_policy, walk) - 280usize]; + ["Offset of field: xfrm_policy::polq"][::core::mem::offset_of!(xfrm_policy, polq) - 304usize]; + ["Offset of field: xfrm_policy::bydst_reinsert"] + [::core::mem::offset_of!(xfrm_policy, bydst_reinsert) - 376usize]; + ["Offset of field: xfrm_policy::type_"][::core::mem::offset_of!(xfrm_policy, type_) - 377usize]; + ["Offset of field: xfrm_policy::action"] + [::core::mem::offset_of!(xfrm_policy, action) - 378usize]; + ["Offset of field: xfrm_policy::flags"][::core::mem::offset_of!(xfrm_policy, flags) - 379usize]; + ["Offset of field: xfrm_policy::xfrm_nr"] + [::core::mem::offset_of!(xfrm_policy, xfrm_nr) - 380usize]; + ["Offset of field: xfrm_policy::family"] + [::core::mem::offset_of!(xfrm_policy, family) - 382usize]; + ["Offset of field: xfrm_policy::security"] + [::core::mem::offset_of!(xfrm_policy, security) - 384usize]; + ["Offset of field: xfrm_policy::xfrm_vec"] + [::core::mem::offset_of!(xfrm_policy, xfrm_vec) - 392usize]; + ["Offset of field: xfrm_policy::rcu"][::core::mem::offset_of!(xfrm_policy, rcu) - 776usize]; + ["Offset of field: xfrm_policy::xdo"][::core::mem::offset_of!(xfrm_policy, xdo) - 792usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_replay_state { + pub oseq: __u32, + pub seq: __u32, + pub bitmap: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_replay_state"][::core::mem::size_of::() - 12usize]; + ["Alignment of xfrm_replay_state"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_replay_state::oseq"] + [::core::mem::offset_of!(xfrm_replay_state, oseq) - 0usize]; + ["Offset of field: xfrm_replay_state::seq"] + [::core::mem::offset_of!(xfrm_replay_state, seq) - 4usize]; + ["Offset of field: xfrm_replay_state::bitmap"] + [::core::mem::offset_of!(xfrm_replay_state, bitmap) - 8usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xfrm_replay_state_esn { + pub bmp_len: ::core::ffi::c_uint, + pub oseq: __u32, + pub seq: __u32, + pub oseq_hi: __u32, + pub seq_hi: __u32, + pub replay_window: __u32, + pub bmp: __IncompleteArrayField<__u32>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_replay_state_esn"][::core::mem::size_of::() - 24usize]; + ["Alignment of xfrm_replay_state_esn"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_replay_state_esn::bmp_len"] + [::core::mem::offset_of!(xfrm_replay_state_esn, bmp_len) - 0usize]; + ["Offset of field: xfrm_replay_state_esn::oseq"] + [::core::mem::offset_of!(xfrm_replay_state_esn, oseq) - 4usize]; + ["Offset of field: xfrm_replay_state_esn::seq"] + [::core::mem::offset_of!(xfrm_replay_state_esn, seq) - 8usize]; + ["Offset of field: xfrm_replay_state_esn::oseq_hi"] + [::core::mem::offset_of!(xfrm_replay_state_esn, oseq_hi) - 12usize]; + ["Offset of field: xfrm_replay_state_esn::seq_hi"] + [::core::mem::offset_of!(xfrm_replay_state_esn, seq_hi) - 16usize]; + ["Offset of field: xfrm_replay_state_esn::replay_window"] + [::core::mem::offset_of!(xfrm_replay_state_esn, replay_window) - 20usize]; + ["Offset of field: xfrm_replay_state_esn::bmp"] + [::core::mem::offset_of!(xfrm_replay_state_esn, bmp) - 24usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xfrm_sec_ctx { + pub ctx_doi: __u8, + pub ctx_alg: __u8, + pub ctx_len: __u16, + pub ctx_sid: __u32, + pub ctx_str: __IncompleteArrayField<::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_sec_ctx"][::core::mem::size_of::() - 8usize]; + ["Alignment of xfrm_sec_ctx"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_sec_ctx::ctx_doi"] + [::core::mem::offset_of!(xfrm_sec_ctx, ctx_doi) - 0usize]; + ["Offset of field: xfrm_sec_ctx::ctx_alg"] + [::core::mem::offset_of!(xfrm_sec_ctx, ctx_alg) - 1usize]; + ["Offset of field: xfrm_sec_ctx::ctx_len"] + [::core::mem::offset_of!(xfrm_sec_ctx, ctx_len) - 2usize]; + ["Offset of field: xfrm_sec_ctx::ctx_sid"] + [::core::mem::offset_of!(xfrm_sec_ctx, ctx_sid) - 4usize]; + ["Offset of field: xfrm_sec_ctx::ctx_str"] + [::core::mem::offset_of!(xfrm_sec_ctx, ctx_str) - 8usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_state_walk { + pub all: list_head, + pub state: u8_, + pub dying: u8_, + pub proto: u8_, + pub seq: u32_, + pub filter: *mut xfrm_address_filter, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_state_walk"][::core::mem::size_of::() - 32usize]; + ["Alignment of xfrm_state_walk"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_state_walk::all"] + [::core::mem::offset_of!(xfrm_state_walk, all) - 0usize]; + ["Offset of field: xfrm_state_walk::state"] + [::core::mem::offset_of!(xfrm_state_walk, state) - 16usize]; + ["Offset of field: xfrm_state_walk::dying"] + [::core::mem::offset_of!(xfrm_state_walk, dying) - 17usize]; + ["Offset of field: xfrm_state_walk::proto"] + [::core::mem::offset_of!(xfrm_state_walk, proto) - 18usize]; + ["Offset of field: xfrm_state_walk::seq"] + [::core::mem::offset_of!(xfrm_state_walk, seq) - 20usize]; + ["Offset of field: xfrm_state_walk::filter"] + [::core::mem::offset_of!(xfrm_state_walk, filter) - 24usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_stats { + pub replay_window: __u32, + pub replay: __u32, + pub integrity_failed: __u32, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_stats"][::core::mem::size_of::() - 12usize]; + ["Alignment of xfrm_stats"][::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_stats::replay_window"] + [::core::mem::offset_of!(xfrm_stats, replay_window) - 0usize]; + ["Offset of field: xfrm_stats::replay"][::core::mem::offset_of!(xfrm_stats, replay) - 4usize]; + ["Offset of field: xfrm_stats::integrity_failed"] + [::core::mem::offset_of!(xfrm_stats, integrity_failed) - 8usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_state { + pub xs_net: possible_net_t, + pub __bindgen_anon_1: xfrm_state__bindgen_ty_1, + pub __bindgen_anon_2: xfrm_state__bindgen_ty_2, + pub byspi: hlist_node, + pub byseq: hlist_node, + pub state_cache: hlist_node, + pub state_cache_input: hlist_node, + pub refcnt: refcount_t, + pub lock: spinlock_t, + pub pcpu_num: u32_, + pub id: xfrm_id, + pub sel: xfrm_selector, + pub mark: xfrm_mark, + pub if_id: u32_, + pub tfcpad: u32_, + pub genid: u32_, + pub km: xfrm_state_walk, + pub props: xfrm_state__bindgen_ty_3, + pub lft: xfrm_lifetime_cfg, + pub aalg: *mut xfrm_algo_auth, + pub ealg: *mut xfrm_algo, + pub calg: *mut xfrm_algo, + pub aead: *mut xfrm_algo_aead, + pub geniv: *const ::core::ffi::c_char, + pub new_mapping_sport: __be16, + pub new_mapping: u32_, + pub mapping_maxage: u32_, + pub encap: *mut xfrm_encap_tmpl, + pub nat_keepalive_interval: u32_, + pub nat_keepalive_expiration: time64_t, + pub coaddr: *mut xfrm_address_t, + pub tunnel: *mut xfrm_state, + pub tunnel_users: atomic_t, + pub replay: xfrm_replay_state, + pub replay_esn: *mut xfrm_replay_state_esn, + pub preplay: xfrm_replay_state, + pub preplay_esn: *mut xfrm_replay_state_esn, + pub repl_mode: xfrm_replay_mode, + pub xflags: u32_, + pub replay_maxage: u32_, + pub replay_maxdiff: u32_, + pub rtimer: timer_list, + pub stats: xfrm_stats, + pub curlft: xfrm_lifetime_cur, + pub mtimer: hrtimer, + pub xso: xfrm_dev_offload, + pub saved_tmo: ::core::ffi::c_long, + pub lastused: time64_t, + pub xfrag: page_frag, + pub type_: *const xfrm_type, + pub inner_mode: xfrm_mode, + pub inner_mode_iaf: xfrm_mode, + pub outer_mode: xfrm_mode, + pub type_offload: *const xfrm_type_offload, + pub security: *mut xfrm_sec_ctx, + pub data: *mut ::core::ffi::c_void, + pub dir: u8_, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union xfrm_state__bindgen_ty_1 { + pub gclist: hlist_node, + pub bydst: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_state__bindgen_ty_1"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of xfrm_state__bindgen_ty_1"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_state__bindgen_ty_1::gclist"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_1, gclist) - 0usize]; + ["Offset of field: xfrm_state__bindgen_ty_1::bydst"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_1, bydst) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub union xfrm_state__bindgen_ty_2 { + pub dev_gclist: hlist_node, + pub bysrc: hlist_node, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_state__bindgen_ty_2"] + [::core::mem::size_of::() - 16usize]; + ["Alignment of xfrm_state__bindgen_ty_2"] + [::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_state__bindgen_ty_2::dev_gclist"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_2, dev_gclist) - 0usize]; + ["Offset of field: xfrm_state__bindgen_ty_2::bysrc"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_2, bysrc) - 0usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xfrm_state__bindgen_ty_3 { + pub reqid: u32_, + pub mode: u8_, + pub replay_window: u8_, + pub aalgo: u8_, + pub ealgo: u8_, + pub calgo: u8_, + pub flags: u8_, + pub family: u16_, + pub saddr: xfrm_address_t, + pub header_len: ::core::ffi::c_int, + pub trailer_len: ::core::ffi::c_int, + pub extra_flags: u32_, + pub smark: xfrm_mark, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_state__bindgen_ty_3"] + [::core::mem::size_of::() - 48usize]; + ["Alignment of xfrm_state__bindgen_ty_3"] + [::core::mem::align_of::() - 4usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::reqid"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, reqid) - 0usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::mode"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, mode) - 4usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::replay_window"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, replay_window) - 5usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::aalgo"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, aalgo) - 6usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::ealgo"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, ealgo) - 7usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::calgo"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, calgo) - 8usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::flags"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, flags) - 9usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::family"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, family) - 10usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::saddr"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, saddr) - 12usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::header_len"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, header_len) - 28usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::trailer_len"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, trailer_len) - 32usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::extra_flags"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, extra_flags) - 36usize]; + ["Offset of field: xfrm_state__bindgen_ty_3::smark"] + [::core::mem::offset_of!(xfrm_state__bindgen_ty_3, smark) - 40usize]; +}; +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_state"][::core::mem::size_of::() - 792usize]; + ["Alignment of xfrm_state"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_state::xs_net"][::core::mem::offset_of!(xfrm_state, xs_net) - 0usize]; + ["Offset of field: xfrm_state::byspi"][::core::mem::offset_of!(xfrm_state, byspi) - 40usize]; + ["Offset of field: xfrm_state::byseq"][::core::mem::offset_of!(xfrm_state, byseq) - 56usize]; + ["Offset of field: xfrm_state::state_cache"] + [::core::mem::offset_of!(xfrm_state, state_cache) - 72usize]; + ["Offset of field: xfrm_state::state_cache_input"] + [::core::mem::offset_of!(xfrm_state, state_cache_input) - 88usize]; + ["Offset of field: xfrm_state::refcnt"][::core::mem::offset_of!(xfrm_state, refcnt) - 104usize]; + ["Offset of field: xfrm_state::lock"][::core::mem::offset_of!(xfrm_state, lock) - 108usize]; + ["Offset of field: xfrm_state::pcpu_num"] + [::core::mem::offset_of!(xfrm_state, pcpu_num) - 112usize]; + ["Offset of field: xfrm_state::id"][::core::mem::offset_of!(xfrm_state, id) - 116usize]; + ["Offset of field: xfrm_state::sel"][::core::mem::offset_of!(xfrm_state, sel) - 140usize]; + ["Offset of field: xfrm_state::mark"][::core::mem::offset_of!(xfrm_state, mark) - 196usize]; + ["Offset of field: xfrm_state::if_id"][::core::mem::offset_of!(xfrm_state, if_id) - 204usize]; + ["Offset of field: xfrm_state::tfcpad"][::core::mem::offset_of!(xfrm_state, tfcpad) - 208usize]; + ["Offset of field: xfrm_state::genid"][::core::mem::offset_of!(xfrm_state, genid) - 212usize]; + ["Offset of field: xfrm_state::km"][::core::mem::offset_of!(xfrm_state, km) - 216usize]; + ["Offset of field: xfrm_state::props"][::core::mem::offset_of!(xfrm_state, props) - 248usize]; + ["Offset of field: xfrm_state::lft"][::core::mem::offset_of!(xfrm_state, lft) - 296usize]; + ["Offset of field: xfrm_state::aalg"][::core::mem::offset_of!(xfrm_state, aalg) - 360usize]; + ["Offset of field: xfrm_state::ealg"][::core::mem::offset_of!(xfrm_state, ealg) - 368usize]; + ["Offset of field: xfrm_state::calg"][::core::mem::offset_of!(xfrm_state, calg) - 376usize]; + ["Offset of field: xfrm_state::aead"][::core::mem::offset_of!(xfrm_state, aead) - 384usize]; + ["Offset of field: xfrm_state::geniv"][::core::mem::offset_of!(xfrm_state, geniv) - 392usize]; + ["Offset of field: xfrm_state::new_mapping_sport"] + [::core::mem::offset_of!(xfrm_state, new_mapping_sport) - 400usize]; + ["Offset of field: xfrm_state::new_mapping"] + [::core::mem::offset_of!(xfrm_state, new_mapping) - 404usize]; + ["Offset of field: xfrm_state::mapping_maxage"] + [::core::mem::offset_of!(xfrm_state, mapping_maxage) - 408usize]; + ["Offset of field: xfrm_state::encap"][::core::mem::offset_of!(xfrm_state, encap) - 416usize]; + ["Offset of field: xfrm_state::nat_keepalive_interval"] + [::core::mem::offset_of!(xfrm_state, nat_keepalive_interval) - 424usize]; + ["Offset of field: xfrm_state::nat_keepalive_expiration"] + [::core::mem::offset_of!(xfrm_state, nat_keepalive_expiration) - 432usize]; + ["Offset of field: xfrm_state::coaddr"][::core::mem::offset_of!(xfrm_state, coaddr) - 440usize]; + ["Offset of field: xfrm_state::tunnel"][::core::mem::offset_of!(xfrm_state, tunnel) - 448usize]; + ["Offset of field: xfrm_state::tunnel_users"] + [::core::mem::offset_of!(xfrm_state, tunnel_users) - 456usize]; + ["Offset of field: xfrm_state::replay"][::core::mem::offset_of!(xfrm_state, replay) - 460usize]; + ["Offset of field: xfrm_state::replay_esn"] + [::core::mem::offset_of!(xfrm_state, replay_esn) - 472usize]; + ["Offset of field: xfrm_state::preplay"] + [::core::mem::offset_of!(xfrm_state, preplay) - 480usize]; + ["Offset of field: xfrm_state::preplay_esn"] + [::core::mem::offset_of!(xfrm_state, preplay_esn) - 496usize]; + ["Offset of field: xfrm_state::repl_mode"] + [::core::mem::offset_of!(xfrm_state, repl_mode) - 504usize]; + ["Offset of field: xfrm_state::xflags"][::core::mem::offset_of!(xfrm_state, xflags) - 508usize]; + ["Offset of field: xfrm_state::replay_maxage"] + [::core::mem::offset_of!(xfrm_state, replay_maxage) - 512usize]; + ["Offset of field: xfrm_state::replay_maxdiff"] + [::core::mem::offset_of!(xfrm_state, replay_maxdiff) - 516usize]; + ["Offset of field: xfrm_state::rtimer"][::core::mem::offset_of!(xfrm_state, rtimer) - 520usize]; + ["Offset of field: xfrm_state::stats"][::core::mem::offset_of!(xfrm_state, stats) - 560usize]; + ["Offset of field: xfrm_state::curlft"][::core::mem::offset_of!(xfrm_state, curlft) - 576usize]; + ["Offset of field: xfrm_state::mtimer"][::core::mem::offset_of!(xfrm_state, mtimer) - 608usize]; + ["Offset of field: xfrm_state::xso"][::core::mem::offset_of!(xfrm_state, xso) - 672usize]; + ["Offset of field: xfrm_state::saved_tmo"] + [::core::mem::offset_of!(xfrm_state, saved_tmo) - 704usize]; + ["Offset of field: xfrm_state::lastused"] + [::core::mem::offset_of!(xfrm_state, lastused) - 712usize]; + ["Offset of field: xfrm_state::xfrag"][::core::mem::offset_of!(xfrm_state, xfrag) - 720usize]; + ["Offset of field: xfrm_state::type_"][::core::mem::offset_of!(xfrm_state, type_) - 736usize]; + ["Offset of field: xfrm_state::inner_mode"] + [::core::mem::offset_of!(xfrm_state, inner_mode) - 744usize]; + ["Offset of field: xfrm_state::inner_mode_iaf"] + [::core::mem::offset_of!(xfrm_state, inner_mode_iaf) - 747usize]; + ["Offset of field: xfrm_state::outer_mode"] + [::core::mem::offset_of!(xfrm_state, outer_mode) - 750usize]; + ["Offset of field: xfrm_state::type_offload"] + [::core::mem::offset_of!(xfrm_state, type_offload) - 760usize]; + ["Offset of field: xfrm_state::security"] + [::core::mem::offset_of!(xfrm_state, security) - 768usize]; + ["Offset of field: xfrm_state::data"][::core::mem::offset_of!(xfrm_state, data) - 776usize]; + ["Offset of field: xfrm_state::dir"][::core::mem::offset_of!(xfrm_state, dir) - 784usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_type { + pub owner: *mut module, + pub proto: u8_, + pub flags: u8_, + pub init_state: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut xfrm_state, + arg2: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub destructor: ::core::option::Option, + pub input: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut xfrm_state, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub output: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut xfrm_state, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub reject: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut xfrm_state, + arg2: *mut sk_buff, + arg3: *const flowi, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_type"][::core::mem::size_of::() - 56usize]; + ["Alignment of xfrm_type"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_type::owner"][::core::mem::offset_of!(xfrm_type, owner) - 0usize]; + ["Offset of field: xfrm_type::proto"][::core::mem::offset_of!(xfrm_type, proto) - 8usize]; + ["Offset of field: xfrm_type::flags"][::core::mem::offset_of!(xfrm_type, flags) - 9usize]; + ["Offset of field: xfrm_type::init_state"] + [::core::mem::offset_of!(xfrm_type, init_state) - 16usize]; + ["Offset of field: xfrm_type::destructor"] + [::core::mem::offset_of!(xfrm_type, destructor) - 24usize]; + ["Offset of field: xfrm_type::input"][::core::mem::offset_of!(xfrm_type, input) - 32usize]; + ["Offset of field: xfrm_type::output"][::core::mem::offset_of!(xfrm_type, output) - 40usize]; + ["Offset of field: xfrm_type::reject"][::core::mem::offset_of!(xfrm_type, reject) - 48usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrm_type_offload { + pub owner: *mut module, + pub proto: u8_, + pub encap: + ::core::option::Option, + pub input_tail: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut xfrm_state, arg2: *mut sk_buff) -> ::core::ffi::c_int, + >, + pub xmit: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut xfrm_state, + arg2: *mut sk_buff, + arg3: netdev_features_t, + ) -> ::core::ffi::c_int, + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrm_type_offload"][::core::mem::size_of::() - 40usize]; + ["Alignment of xfrm_type_offload"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrm_type_offload::owner"] + [::core::mem::offset_of!(xfrm_type_offload, owner) - 0usize]; + ["Offset of field: xfrm_type_offload::proto"] + [::core::mem::offset_of!(xfrm_type_offload, proto) - 8usize]; + ["Offset of field: xfrm_type_offload::encap"] + [::core::mem::offset_of!(xfrm_type_offload, encap) - 16usize]; + ["Offset of field: xfrm_type_offload::input_tail"] + [::core::mem::offset_of!(xfrm_type_offload, input_tail) - 24usize]; + ["Offset of field: xfrm_type_offload::xmit"] + [::core::mem::offset_of!(xfrm_type_offload, xmit) - 32usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xfrmdev_ops { + pub xdo_dev_state_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut xfrm_state, + arg2: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub xdo_dev_state_delete: ::core::option::Option, + pub xdo_dev_state_free: ::core::option::Option, + pub xdo_dev_offload_ok: ::core::option::Option< + unsafe extern "C" fn(arg1: *mut sk_buff, arg2: *mut xfrm_state) -> bool_, + >, + pub xdo_dev_state_advance_esn: + ::core::option::Option, + pub xdo_dev_state_update_stats: + ::core::option::Option, + pub xdo_dev_policy_add: ::core::option::Option< + unsafe extern "C" fn( + arg1: *mut xfrm_policy, + arg2: *mut netlink_ext_ack, + ) -> ::core::ffi::c_int, + >, + pub xdo_dev_policy_delete: ::core::option::Option, + pub xdo_dev_policy_free: ::core::option::Option, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xfrmdev_ops"][::core::mem::size_of::() - 72usize]; + ["Alignment of xfrmdev_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_state_add"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_state_add) - 0usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_state_delete"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_state_delete) - 8usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_state_free"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_state_free) - 16usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_offload_ok"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_offload_ok) - 24usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_state_advance_esn"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_state_advance_esn) - 32usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_state_update_stats"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_state_update_stats) - 40usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_policy_add"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_policy_add) - 48usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_policy_delete"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_policy_delete) - 56usize]; + ["Offset of field: xfrmdev_ops::xdo_dev_policy_free"] + [::core::mem::offset_of!(xfrmdev_ops, xdo_dev_policy_free) - 64usize]; +}; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct xol_area { + pub wq: wait_queue_head_t, + pub slot_count: atomic_t, + pub bitmap: *mut ::core::ffi::c_ulong, + pub page: *mut page, + pub vaddr: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xol_area"][::core::mem::size_of::() - 56usize]; + ["Alignment of xol_area"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xol_area::wq"][::core::mem::offset_of!(xol_area, wq) - 0usize]; + ["Offset of field: xol_area::slot_count"] + [::core::mem::offset_of!(xol_area, slot_count) - 24usize]; + ["Offset of field: xol_area::bitmap"][::core::mem::offset_of!(xol_area, bitmap) - 32usize]; + ["Offset of field: xol_area::page"][::core::mem::offset_of!(xol_area, page) - 40usize]; + ["Offset of field: xol_area::vaddr"][::core::mem::offset_of!(xol_area, vaddr) - 48usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xprt_class { + pub list: list_head, + pub ident: ::core::ffi::c_int, + pub setup: + ::core::option::Option *mut rpc_xprt>, + pub owner: *mut module, + pub name: [::core::ffi::c_char; 32usize], + pub netid: __IncompleteArrayField<*const ::core::ffi::c_char>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xprt_class"][::core::mem::size_of::() - 72usize]; + ["Alignment of xprt_class"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xprt_class::list"][::core::mem::offset_of!(xprt_class, list) - 0usize]; + ["Offset of field: xprt_class::ident"][::core::mem::offset_of!(xprt_class, ident) - 16usize]; + ["Offset of field: xprt_class::setup"][::core::mem::offset_of!(xprt_class, setup) - 24usize]; + ["Offset of field: xprt_class::owner"][::core::mem::offset_of!(xprt_class, owner) - 32usize]; + ["Offset of field: xprt_class::name"][::core::mem::offset_of!(xprt_class, name) - 40usize]; + ["Offset of field: xprt_class::netid"][::core::mem::offset_of!(xprt_class, netid) - 72usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xprt_create { + pub ident: ::core::ffi::c_int, + pub net: *mut net, + pub srcaddr: *mut sockaddr, + pub dstaddr: *mut sockaddr, + pub addrlen: usize, + pub servername: *const ::core::ffi::c_char, + pub bc_xprt: *mut svc_xprt, + pub bc_xps: *mut rpc_xprt_switch, + pub flags: ::core::ffi::c_uint, + pub xprtsec: xprtsec_parms, + pub connect_timeout: ::core::ffi::c_ulong, + pub reconnect_timeout: ::core::ffi::c_ulong, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xprt_create"][::core::mem::size_of::() - 96usize]; + ["Alignment of xprt_create"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xprt_create::ident"][::core::mem::offset_of!(xprt_create, ident) - 0usize]; + ["Offset of field: xprt_create::net"][::core::mem::offset_of!(xprt_create, net) - 8usize]; + ["Offset of field: xprt_create::srcaddr"] + [::core::mem::offset_of!(xprt_create, srcaddr) - 16usize]; + ["Offset of field: xprt_create::dstaddr"] + [::core::mem::offset_of!(xprt_create, dstaddr) - 24usize]; + ["Offset of field: xprt_create::addrlen"] + [::core::mem::offset_of!(xprt_create, addrlen) - 32usize]; + ["Offset of field: xprt_create::servername"] + [::core::mem::offset_of!(xprt_create, servername) - 40usize]; + ["Offset of field: xprt_create::bc_xprt"] + [::core::mem::offset_of!(xprt_create, bc_xprt) - 48usize]; + ["Offset of field: xprt_create::bc_xps"] + [::core::mem::offset_of!(xprt_create, bc_xps) - 56usize]; + ["Offset of field: xprt_create::flags"][::core::mem::offset_of!(xprt_create, flags) - 64usize]; + ["Offset of field: xprt_create::xprtsec"] + [::core::mem::offset_of!(xprt_create, xprtsec) - 68usize]; + ["Offset of field: xprt_create::connect_timeout"] + [::core::mem::offset_of!(xprt_create, connect_timeout) - 80usize]; + ["Offset of field: xprt_create::reconnect_timeout"] + [::core::mem::offset_of!(xprt_create, reconnect_timeout) - 88usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xps_dev_maps { + pub rcu: callback_head, + pub nr_ids: ::core::ffi::c_uint, + pub num_tc: s16, + pub attr_map: __IncompleteArrayField<*mut xps_map>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xps_dev_maps"][::core::mem::size_of::() - 24usize]; + ["Alignment of xps_dev_maps"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xps_dev_maps::rcu"][::core::mem::offset_of!(xps_dev_maps, rcu) - 0usize]; + ["Offset of field: xps_dev_maps::nr_ids"] + [::core::mem::offset_of!(xps_dev_maps, nr_ids) - 16usize]; + ["Offset of field: xps_dev_maps::num_tc"] + [::core::mem::offset_of!(xps_dev_maps, num_tc) - 20usize]; + ["Offset of field: xps_dev_maps::attr_map"] + [::core::mem::offset_of!(xps_dev_maps, attr_map) - 24usize]; +}; +#[repr(C)] +#[derive(Debug)] +pub struct xps_map { + pub len: ::core::ffi::c_uint, + pub alloc_len: ::core::ffi::c_uint, + pub rcu: callback_head, + pub queues: __IncompleteArrayField, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xps_map"][::core::mem::size_of::() - 24usize]; + ["Alignment of xps_map"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xps_map::len"][::core::mem::offset_of!(xps_map, len) - 0usize]; + ["Offset of field: xps_map::alloc_len"][::core::mem::offset_of!(xps_map, alloc_len) - 4usize]; + ["Offset of field: xps_map::rcu"][::core::mem::offset_of!(xps_map, rcu) - 8usize]; + ["Offset of field: xps_map::queues"][::core::mem::offset_of!(xps_map, queues) - 24usize]; +}; +#[repr(C)] +pub struct xsk_buff_pool { + pub dev: *mut device, + pub netdev: *mut net_device, + pub xsk_tx_list: list_head, + pub xsk_tx_list_lock: spinlock_t, + pub users: refcount_t, + pub umem: *mut xdp_umem, + pub work: work_struct, + pub rx_lock: spinlock_t, + pub free_list: list_head, + pub xskb_list: list_head, + pub heads_cnt: u32_, + pub queue_id: u16_, + pub fq: *mut xsk_queue, + pub cq: *mut xsk_queue, + pub dma_pages: *mut dma_addr_t, + pub heads: *mut xdp_buff_xsk, + pub tx_descs: *mut xdp_desc, + pub chunk_mask: u64_, + pub addrs_cnt: u64_, + pub free_list_cnt: u32_, + pub dma_pages_cnt: u32_, + pub free_heads_cnt: u32_, + pub headroom: u32_, + pub chunk_size: u32_, + pub chunk_shift: u32_, + pub frame_len: u32_, + pub tx_metadata_len: u8_, + pub cached_need_wakeup: u8_, + pub uses_need_wakeup: bool_, + pub unaligned: bool_, + pub tx_sw_csum: bool_, + pub addrs: *mut ::core::ffi::c_void, + pub cq_lock: spinlock_t, + pub free_heads: __IncompleteArrayField<*mut xdp_buff_xsk>, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xsk_buff_pool"][::core::mem::size_of::() - 256usize]; + ["Alignment of xsk_buff_pool"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xsk_buff_pool::dev"][::core::mem::offset_of!(xsk_buff_pool, dev) - 0usize]; + ["Offset of field: xsk_buff_pool::netdev"] + [::core::mem::offset_of!(xsk_buff_pool, netdev) - 8usize]; + ["Offset of field: xsk_buff_pool::xsk_tx_list"] + [::core::mem::offset_of!(xsk_buff_pool, xsk_tx_list) - 16usize]; + ["Offset of field: xsk_buff_pool::xsk_tx_list_lock"] + [::core::mem::offset_of!(xsk_buff_pool, xsk_tx_list_lock) - 32usize]; + ["Offset of field: xsk_buff_pool::users"] + [::core::mem::offset_of!(xsk_buff_pool, users) - 36usize]; + ["Offset of field: xsk_buff_pool::umem"] + [::core::mem::offset_of!(xsk_buff_pool, umem) - 40usize]; + ["Offset of field: xsk_buff_pool::work"] + [::core::mem::offset_of!(xsk_buff_pool, work) - 48usize]; + ["Offset of field: xsk_buff_pool::rx_lock"] + [::core::mem::offset_of!(xsk_buff_pool, rx_lock) - 80usize]; + ["Offset of field: xsk_buff_pool::free_list"] + [::core::mem::offset_of!(xsk_buff_pool, free_list) - 88usize]; + ["Offset of field: xsk_buff_pool::xskb_list"] + [::core::mem::offset_of!(xsk_buff_pool, xskb_list) - 104usize]; + ["Offset of field: xsk_buff_pool::heads_cnt"] + [::core::mem::offset_of!(xsk_buff_pool, heads_cnt) - 120usize]; + ["Offset of field: xsk_buff_pool::queue_id"] + [::core::mem::offset_of!(xsk_buff_pool, queue_id) - 124usize]; + ["Offset of field: xsk_buff_pool::fq"][::core::mem::offset_of!(xsk_buff_pool, fq) - 128usize]; + ["Offset of field: xsk_buff_pool::cq"][::core::mem::offset_of!(xsk_buff_pool, cq) - 136usize]; + ["Offset of field: xsk_buff_pool::dma_pages"] + [::core::mem::offset_of!(xsk_buff_pool, dma_pages) - 144usize]; + ["Offset of field: xsk_buff_pool::heads"] + [::core::mem::offset_of!(xsk_buff_pool, heads) - 152usize]; + ["Offset of field: xsk_buff_pool::tx_descs"] + [::core::mem::offset_of!(xsk_buff_pool, tx_descs) - 160usize]; + ["Offset of field: xsk_buff_pool::chunk_mask"] + [::core::mem::offset_of!(xsk_buff_pool, chunk_mask) - 168usize]; + ["Offset of field: xsk_buff_pool::addrs_cnt"] + [::core::mem::offset_of!(xsk_buff_pool, addrs_cnt) - 176usize]; + ["Offset of field: xsk_buff_pool::free_list_cnt"] + [::core::mem::offset_of!(xsk_buff_pool, free_list_cnt) - 184usize]; + ["Offset of field: xsk_buff_pool::dma_pages_cnt"] + [::core::mem::offset_of!(xsk_buff_pool, dma_pages_cnt) - 188usize]; + ["Offset of field: xsk_buff_pool::free_heads_cnt"] + [::core::mem::offset_of!(xsk_buff_pool, free_heads_cnt) - 192usize]; + ["Offset of field: xsk_buff_pool::headroom"] + [::core::mem::offset_of!(xsk_buff_pool, headroom) - 196usize]; + ["Offset of field: xsk_buff_pool::chunk_size"] + [::core::mem::offset_of!(xsk_buff_pool, chunk_size) - 200usize]; + ["Offset of field: xsk_buff_pool::chunk_shift"] + [::core::mem::offset_of!(xsk_buff_pool, chunk_shift) - 204usize]; + ["Offset of field: xsk_buff_pool::frame_len"] + [::core::mem::offset_of!(xsk_buff_pool, frame_len) - 208usize]; + ["Offset of field: xsk_buff_pool::tx_metadata_len"] + [::core::mem::offset_of!(xsk_buff_pool, tx_metadata_len) - 212usize]; + ["Offset of field: xsk_buff_pool::cached_need_wakeup"] + [::core::mem::offset_of!(xsk_buff_pool, cached_need_wakeup) - 213usize]; + ["Offset of field: xsk_buff_pool::uses_need_wakeup"] + [::core::mem::offset_of!(xsk_buff_pool, uses_need_wakeup) - 214usize]; + ["Offset of field: xsk_buff_pool::unaligned"] + [::core::mem::offset_of!(xsk_buff_pool, unaligned) - 215usize]; + ["Offset of field: xsk_buff_pool::tx_sw_csum"] + [::core::mem::offset_of!(xsk_buff_pool, tx_sw_csum) - 216usize]; + ["Offset of field: xsk_buff_pool::addrs"] + [::core::mem::offset_of!(xsk_buff_pool, addrs) - 224usize]; + ["Offset of field: xsk_buff_pool::cq_lock"] + [::core::mem::offset_of!(xsk_buff_pool, cq_lock) - 232usize]; + ["Offset of field: xsk_buff_pool::free_heads"] + [::core::mem::offset_of!(xsk_buff_pool, free_heads) - 240usize]; +}; +impl xsk_buff_pool { + #[inline] + pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xsk_queue { + pub ring_mask: u32_, + pub nentries: u32_, + pub cached_prod: u32_, + pub cached_cons: u32_, + pub ring: *mut xdp_ring, + pub invalid_descs: u64_, + pub queue_empty_descs: u64_, + pub ring_vmalloc_size: usize, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xsk_queue"][::core::mem::size_of::() - 48usize]; + ["Alignment of xsk_queue"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xsk_queue::ring_mask"] + [::core::mem::offset_of!(xsk_queue, ring_mask) - 0usize]; + ["Offset of field: xsk_queue::nentries"][::core::mem::offset_of!(xsk_queue, nentries) - 4usize]; + ["Offset of field: xsk_queue::cached_prod"] + [::core::mem::offset_of!(xsk_queue, cached_prod) - 8usize]; + ["Offset of field: xsk_queue::cached_cons"] + [::core::mem::offset_of!(xsk_queue, cached_cons) - 12usize]; + ["Offset of field: xsk_queue::ring"][::core::mem::offset_of!(xsk_queue, ring) - 16usize]; + ["Offset of field: xsk_queue::invalid_descs"] + [::core::mem::offset_of!(xsk_queue, invalid_descs) - 24usize]; + ["Offset of field: xsk_queue::queue_empty_descs"] + [::core::mem::offset_of!(xsk_queue, queue_empty_descs) - 32usize]; + ["Offset of field: xsk_queue::ring_vmalloc_size"] + [::core::mem::offset_of!(xsk_queue, ring_vmalloc_size) - 40usize]; +}; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct xsk_tx_metadata_ops { + pub tmo_request_timestamp: + ::core::option::Option, + pub tmo_fill_timestamp: + ::core::option::Option u64_>, + pub tmo_request_checksum: ::core::option::Option< + unsafe extern "C" fn(arg1: u16_, arg2: u16_, arg3: *mut ::core::ffi::c_void), + >, +} +#[allow(clippy::unnecessary_operation, clippy::identity_op)] +const _: () = { + ["Size of xsk_tx_metadata_ops"][::core::mem::size_of::() - 24usize]; + ["Alignment of xsk_tx_metadata_ops"][::core::mem::align_of::() - 8usize]; + ["Offset of field: xsk_tx_metadata_ops::tmo_request_timestamp"] + [::core::mem::offset_of!(xsk_tx_metadata_ops, tmo_request_timestamp) - 0usize]; + ["Offset of field: xsk_tx_metadata_ops::tmo_fill_timestamp"] + [::core::mem::offset_of!(xsk_tx_metadata_ops, tmo_fill_timestamp) - 8usize]; + ["Offset of field: xsk_tx_metadata_ops::tmo_request_checksum"] + [::core::mem::offset_of!(xsk_tx_metadata_ops, tmo_request_checksum) - 16usize]; +}; diff --git a/core/src/components/identity/src/main.rs b/core/src/components/identity/src/main.rs index a4fa1c1..8cfd5d3 100644 --- a/core/src/components/identity/src/main.rs +++ b/core/src/components/identity/src/main.rs @@ -88,16 +88,21 @@ async fn main() -> Result<(), anyhow::Error> { std::result::Result::Ok(_) => { info!("maps pinned successfully"); //load veth_trace program ref veth_trace.rs - init_veth_tracer(bpf.clone()).await?; + { + init_veth_tracer(bpf.clone()).await?; + } let interfaces = get_veth_channels(); info!("Found interfaces: {:?}", interfaces); - init_tc_classifier(bpf.clone(), interfaces, link_ids.clone()) - .await - .context( - "An error occured during the execution of attach_bpf_program function", - )?; + + { + init_tc_classifier(bpf.clone(), interfaces, link_ids.clone()) + .await + .context( + "An error occured during the execution of attach_bpf_program function", + )?; + } event_listener(bpf_maps, link_ids.clone(), bpf.clone()) .await diff --git a/core/src/components/metrics/Dockerfile b/core/src/components/metrics/Dockerfile index 454f715..001099d 100644 --- a/core/src/components/metrics/Dockerfile +++ b/core/src/components/metrics/Dockerfile @@ -30,6 +30,7 @@ COPY metrics_tracer /usr/src/cortexbrain-metrics/metrics_tracer # Set environment variable ENV BPF_PATH="/usr/src/cortexbrain-metrics/metrics_tracer" +ENV PIN_MAP_PATH="/sys/fs/bpf/trace_maps" # Default command CMD ["cortexflow-metrics"] diff --git a/core/src/components/metrics/src/helpers.rs b/core/src/components/metrics/src/helpers.rs index 6f80e75..8fa552d 100644 --- a/core/src/components/metrics/src/helpers.rs +++ b/core/src/components/metrics/src/helpers.rs @@ -1,13 +1,12 @@ -use aya::{ - maps::{ - MapData, - perf::{PerfEventArrayBuffer}, - } -}; +use aya::{maps::{ + perf::PerfEventArrayBuffer, Map, MapData, PerfEventArray + }, util::online_cpus}; use bytes::BytesMut; +use tokio::signal; use std::{ sync::{ + Arc, atomic::{AtomicBool, Ordering}, }, }; @@ -15,16 +14,21 @@ use std::{ use tracing::{error, info}; use crate::structs::NetworkMetrics; +use crate::structs::TimeStampMetrics; pub async fn display_metrics_map( mut perf_buffers: Vec>, - running: AtomicBool, + running: Arc, // Changed to Arc mut buffers: Vec, ) { + info!("Starting metrics event listener..."); while running.load(Ordering::SeqCst) { for buf in perf_buffers.iter_mut() { match buf.read_events(&mut buffers) { std::result::Result::Ok(events) => { + if events.read > 0 { + info!("Read {} metric events", events.read); + } for i in 0..events.read { let data = &buffers[i]; if data.len() >= std::mem::size_of::() { @@ -41,6 +45,8 @@ pub async fn display_metrics_map( "sk_drops: {}, sk_err: {}, sk_err_soft: {}, sk_backlog_len: {}, sk_write_memory_queued: {}, sk_ack_backlog: {}, sk_receive_buffer_size: {}", sk_drop_count, sk_err, sk_err_soft, sk_backlog_len, sk_write_memory_queued, sk_ack_backlog, sk_receive_buffer_size ); + } else { + info!("Received data too small: {} bytes, expected: {}", data.len(), std::mem::size_of::()); } } } @@ -51,4 +57,120 @@ pub async fn display_metrics_map( } tokio::time::sleep(std::time::Duration::from_millis(100)).await; } + info!("Metrics event listener stopped"); +} + +pub async fn display_time_stamp_events_map( + mut perf_buffers: Vec>, + running: Arc, // Changed to Arc + mut buffers: Vec, +) { + info!("Starting timestamp event listener..."); + while running.load(Ordering::SeqCst) { + for buf in perf_buffers.iter_mut() { + match buf.read_events(&mut buffers) { + std::result::Result::Ok(events) => { + if events.read > 0 { + info!("Read {} timestamp events", events.read); + } + for i in 0..events.read { + let data = &buffers[i]; + if data.len() >= std::mem::size_of::() { + let time_stamp_event: TimeStampMetrics = + unsafe { std::ptr::read_unaligned(data.as_ptr() as *const _) }; + let delta_us = time_stamp_event.delta_us; + let ts_us = time_stamp_event.ts_us; + let tgid = time_stamp_event.tgid; + let comm = String::from_utf8_lossy(&time_stamp_event.comm); + let lport = time_stamp_event.lport; + let dport_be = time_stamp_event.dport_be; + let af = time_stamp_event.af; + info!( + "TimeStampEvent - delta_us: {}, ts_us: {}, tgid: {}, comm: {}, lport: {}, dport_be: {}, af: {}", + delta_us, ts_us, tgid, comm, lport, dport_be, af + ); + } else { + info!("Received timestamp data too small: {} bytes", data.len()); + } + } + } + Err(e) => { + error!("Error reading timestamp events: {:?}", e); + } + } + } + tokio::time::sleep(std::time::Duration::from_millis(100)).await; + } + info!("Timestamp event listener stopped"); } + +pub async fn event_listener(bpf_maps: (Map, Map)) -> Result<(), anyhow::Error> { + info!("Getting CPU count..."); + let cpu_count = online_cpus().map_err(|e| anyhow::anyhow!("Error {:?}", e))?.len(); + info!("CPU count: {}", cpu_count); + + info!("Creating perf buffers..."); + let mut net_perf_buffer: Vec> = Vec::new(); + let mut net_perf_array: PerfEventArray = PerfEventArray::try_from(bpf_maps.0)?; + let mut time_stamp_events_perf_buffer: Vec> = Vec::new(); + let mut time_stamp_events_perf_array: PerfEventArray = + PerfEventArray::try_from(bpf_maps.1)?; + + info!("Opening perf buffers for {} CPUs...", cpu_count); + for cpu_id in online_cpus().map_err(|e| anyhow::anyhow!("Error {:?}", e))? { + let buf: PerfEventArrayBuffer = net_perf_array.open(cpu_id, None)?; + net_perf_buffer.push(buf); + } + for cpu_id in online_cpus().map_err(|e| anyhow::anyhow!("Error {:?}", e))? { + let buf: PerfEventArrayBuffer = time_stamp_events_perf_array.open(cpu_id, None)?; + time_stamp_events_perf_buffer.push(buf); + } + info!("Perf buffers created successfully"); + + // Create shared running flags + let net_metrics_running = Arc::new(AtomicBool::new(true)); + let time_stamp_events_running = Arc::new(AtomicBool::new(true)); + + // Create proper sized buffers + let net_metrics_buffers = vec![BytesMut::with_capacity(1024); cpu_count]; + let time_stamp_events_buffers = vec![BytesMut::with_capacity(1024); cpu_count]; + + // Clone for the signal handler + let net_metrics_running_signal = net_metrics_running.clone(); + let time_stamp_events_running_signal = time_stamp_events_running.clone(); + + info!("Starting event listener tasks..."); + let metrics_map_displayer = tokio::spawn(async move { + display_metrics_map(net_perf_buffer, net_metrics_running, net_metrics_buffers).await; + }); + + let time_stamp_events_displayer = tokio::spawn(async move { + display_time_stamp_events_map(time_stamp_events_perf_buffer, time_stamp_events_running, time_stamp_events_buffers).await + }); + + info!("Event listeners started, entering main loop..."); + + tokio::select! { + result = metrics_map_displayer => { + if let Err(e) = result { + error!("Metrics map displayer task failed: {:?}", e); + } + } + + result = time_stamp_events_displayer => { + if let Err(e) = result { + error!("Time stamp events displayer task failed: {:?}", e); + } + } + + _ = signal::ctrl_c() => { + info!("Ctrl-C received, shutting down..."); + // Stop the event loops + net_metrics_running_signal.store(false, std::sync::atomic::Ordering::SeqCst); + time_stamp_events_running_signal.store(false, std::sync::atomic::Ordering::SeqCst); + } + } + + // return success + Ok(()) +} \ No newline at end of file diff --git a/core/src/components/metrics/src/main.rs b/core/src/components/metrics/src/main.rs index 77913bd..134c8dd 100644 --- a/core/src/components/metrics/src/main.rs +++ b/core/src/components/metrics/src/main.rs @@ -1,32 +1,30 @@ use aya::{ - Ebpf, - maps::{ - MapData, - perf::{PerfEventArray, PerfEventArrayBuffer}, - }, - programs::{KProbe}, - util::online_cpus, + Ebpf }; -use bytes::BytesMut; use std::{ - convert::TryInto, env, fs, path::Path, sync::{ - atomic::{AtomicBool}, + Arc, Mutex, }, }; use anyhow::{Context, Ok}; -use tokio::{signal}; use tracing::{error, info}; use tracing_subscriber::{EnvFilter, fmt::format::FmtSpan}; const BPF_PATH: &str = "BPF_PATH"; //BPF env path +const PIN_MAP_PATH: &str = "PIN_MAP_PATH"; mod helpers; -use crate::helpers::display_metrics_map; +use crate::{helpers::event_listener, maps_handlers::map_pinner, program_handlers::load_and_attach_tcp_programs}; + +mod maps_handlers; +use crate::maps_handlers::init_ebpf_maps; + +mod program_handlers; +use crate::program_handlers::load_program; mod structs; @@ -49,49 +47,50 @@ async fn main() -> Result<(), anyhow::Error> { let bpf_path = env::var(BPF_PATH).context("BPF_PATH environment variable required")?; let data = fs::read(Path::new(&bpf_path)).context("Failed to load file from path")?; - let mut bpf = Ebpf::load(&data)?; - //init bpf logger + let bpf = Arc::new(Mutex::new(Ebpf::load(&data)?)); + let tcp_bpf = bpf.clone(); + let tcp_rev_bpf = bpf.clone(); + info!("Running Ebpf logger"); info!("loading programs"); - let net_metrics_map = bpf - .take_map("net_metrics") - .ok_or_else(|| anyhow::anyhow!("net_metrics map not found"))?; - - let program: &mut KProbe = bpf - .program_mut("metrics_tracer") - .ok_or_else(|| anyhow::anyhow!("program 'metrics_tracer' not found"))? - .try_into() - .context("Failed to init Kprobe program")?; - - program - .load() - .context("Failed to load metrics_tracer program")?; - - match program.attach("tcp_identify_packet_loss", 0) { - std::result::Result::Ok(_) => { - info!("program attached successfully to the tcp_identify_packet_loss kprobe ") - } - Err(e) => error!( - "An error occured while attaching the program to the tcp_identify_packet_loss kprobe. {:?} ", - e - ), - } - let mut net_perf_buffer: Vec> = Vec::new(); - let mut net_perf_array: PerfEventArray = PerfEventArray::try_from(net_metrics_map)?; + let bpf_map_save_path = + std::env::var(PIN_MAP_PATH).context("PIN_MAP_PATH environment variable required")?; - for cpu_id in online_cpus().map_err(|e| anyhow::anyhow!("Error {:?}", e))? { - let buf: PerfEventArrayBuffer = net_perf_array.open(cpu_id, None)?; - net_perf_buffer.push(buf); - } - let running = AtomicBool::new(true); + match init_ebpf_maps(bpf.clone()) { + std::result::Result::Ok(maps) => { + info!("BPF maps loaded successfully"); + match map_pinner(&maps, &bpf_map_save_path.clone().into()).await { + std::result::Result::Ok(_) => { + info!("BPF maps pinned successfully to {}", bpf_map_save_path); + + { + load_program(bpf.clone(), "metrics_tracer", "tcp_identify_packet_loss") + .context("An error occured during the execution of load_program function")?; + } + + { + load_and_attach_tcp_programs(tcp_bpf.clone()) + .context("An error occured during the execution of load_and_attach_tcp_programs function")?; + } - let buffers = vec![BytesMut::with_capacity(1024); 10]; + { + load_program(tcp_rev_bpf.clone(), "tcp_rcv_state_process", "tcp_rcv_state_process") + .context("An error occured during the execution of load_program function")?; + } - - tokio::spawn(async move{ - display_metrics_map(net_perf_buffer, running, buffers).await; - }); + event_listener(maps).await?; + } + Err(e) => { + error!("Error pinning BPF maps: {:?}", e); + return Err(e); + } + } + } + Err(e) => { + error!("Error initializing BPF maps: {:?}", e); + return Err(e); + } + } - signal::ctrl_c().await?; Ok(()) -} +} \ No newline at end of file diff --git a/core/src/components/metrics/src/maps_handlers.rs b/core/src/components/metrics/src/maps_handlers.rs new file mode 100644 index 0000000..12c3d0a --- /dev/null +++ b/core/src/components/metrics/src/maps_handlers.rs @@ -0,0 +1,48 @@ +use std::{path::PathBuf, sync::{Arc, Mutex}}; +use tokio::fs; +use anyhow::Error; +use aya::{maps::Map, Ebpf}; +use tracing::info; + + + +pub fn init_ebpf_maps(bpf: Arc>) -> Result<(Map, Map), anyhow::Error> { + // this function init the bpfs maps used in the main program + /* + index 0: net_metrics + index 1: time_stamp_events + */ + let mut bpf_new = bpf.lock().unwrap(); + + let net_metrics_map = bpf_new + .take_map("net_metrics") + .ok_or_else(|| anyhow::anyhow!("net_metrics map not found"))?; + + let time_stamps_events_map = bpf_new + .take_map("time_stamp_events") + .ok_or_else(|| anyhow::anyhow!("time_stamp_events map not found"))?; + + Ok((net_metrics_map, time_stamps_events_map)) +} + +pub async fn map_pinner(maps: &(Map, Map), path: &PathBuf) -> Result<(), Error> { + // check if the map exists + if !path.exists() { + info!("Pin path {:?} does not exist. Creating it...", path); + fs::create_dir_all(&path).await?; + #[cfg(unix)] + { + use std::os::unix::fs::PermissionsExt; + fs::set_permissions(&path, std::fs::Permissions::from_mode(0o755)).await?; + } + } + + let map1_path = path.join("net_metrics"); + let map2_path = path.join("time_stamp_events"); + + // maps pinning + maps.0.pin(&map1_path)?; + maps.1.pin(&map2_path)?; + + Ok(()) +} diff --git a/core/src/components/metrics/src/mod.rs b/core/src/components/metrics/src/mod.rs index 8414b63..8c4a839 100644 --- a/core/src/components/metrics/src/mod.rs +++ b/core/src/components/metrics/src/mod.rs @@ -1,3 +1,5 @@ mod structs; mod enums; -mod helpers; \ No newline at end of file +mod map_handlers; +mod helpers; +mod program_handlers; \ No newline at end of file diff --git a/core/src/components/metrics/src/program_handlers.rs b/core/src/components/metrics/src/program_handlers.rs new file mode 100644 index 0000000..24d18cb --- /dev/null +++ b/core/src/components/metrics/src/program_handlers.rs @@ -0,0 +1,59 @@ +use std::sync::{Arc, Mutex}; + +use aya::{programs::KProbe, Ebpf}; +use tracing::{info, error}; +use std::convert::TryInto; + +pub fn load_program(bpf: Arc>, program_name: &str, actual_program: &str) -> Result<(), anyhow::Error> { + let mut bpf_new = bpf.lock().unwrap(); + + // Load and attach the eBPF programs + let program: &mut KProbe = bpf_new + .program_mut(program_name) + .ok_or_else(|| anyhow::anyhow!("Program {} not found", program_name))? + .try_into() + .map_err(|e| anyhow::anyhow!("Failed to convert program: {:?}", e))?; + + program.load()?; + + match program.attach(actual_program, 0) { + Ok(_) => info!("{} program attached successfully", actual_program), + Err(e) => { + error!("Error attaching {} program {:?}", actual_program, e); + return Err(anyhow::anyhow!("Failed to attach {}: {:?}", actual_program, e)); + } + }; + + info!("eBPF program {} loaded and attached successfully", program_name); + Ok(()) +} + +pub fn load_and_attach_tcp_programs(bpf: Arc>) -> Result<(), anyhow::Error> { + let mut bpf_new = bpf.lock().unwrap(); + + // Load and attach the eBPF programs + let tcp_prog: &mut KProbe = bpf_new + .program_mut("tcp_connect") + .ok_or_else(|| anyhow::anyhow!("Program tcp_connect not found"))? + .try_into() + .map_err(|e| anyhow::anyhow!("Failed to convert program tcp_connect: {:?}", e))?; + tcp_prog.load()?; + + match tcp_prog.attach("tcp_v4_connect", 0) { + Ok(_) => info!("tcp_v4_connect program attached successfully"), + Err(e) => { + error!("Error attaching tcp_v4_connect: {:?}", e); + return Err(anyhow::anyhow!("Failed to attach tcp_v4_connect: {:?}", e)); + } + }; + + match tcp_prog.attach("tcp_v6_connect", 0) { + Ok(_) => info!("tcp_v6_connect program attached successfully"), + Err(e) => { + error!("Error attaching tcp_v6_connect: {:?}", e); + return Err(anyhow::anyhow!("Failed to attach tcp_v6_connect: {:?}", e)); + } + }; + + Ok(()) +} \ No newline at end of file diff --git a/core/src/components/metrics/src/structs.rs b/core/src/components/metrics/src/structs.rs index 164aa11..75b3d9c 100644 --- a/core/src/components/metrics/src/structs.rs +++ b/core/src/components/metrics/src/structs.rs @@ -1,4 +1,4 @@ - +pub const TASK_COMM_LEN: usize = 16; // linux/sched.h #[repr(C)] #[derive(Clone, Copy)] @@ -10,4 +10,20 @@ pub struct NetworkMetrics { pub sk_receive_buffer_size: i32, // Offset 244 pub sk_ack_backlog: u32, // Offset 604 pub sk_drops: i32, // Offset 136 +} + +#[repr(C)] +#[derive(Clone, Copy)] +pub struct TimeStampMetrics { + pub delta_us: u64, + pub ts_us: u64, + pub tgid: u32, + pub comm: [u8; TASK_COMM_LEN], + pub lport: u16, + pub dport_be: u16, + pub af: u16, + pub saddr_v4: u32, + pub daddr_v4: u32, + pub saddr_v6: [u32; 4], + pub daddr_v6: [u32; 4], } \ No newline at end of file diff --git a/core/src/components/metrics_tracer/build-metrics-tracer.sh b/core/src/components/metrics_tracer/build-metrics-tracer.sh index daeba6f..dde20cb 100755 --- a/core/src/components/metrics_tracer/build-metrics-tracer.sh +++ b/core/src/components/metrics_tracer/build-metrics-tracer.sh @@ -13,7 +13,7 @@ if ! command -v bindgen &> /dev/null; then export PATH="$HOME/.cargo/bin:$PATH" #add the ./cargo/bin directory to the PATH env variable fi -bindgen vmlinux.h -o src/bindings.rs --use-core --allowlist-type 'sk_buff' +bindgen vmlinux.h -o src/bindings.rs --use-core --allowlist-type 'sk_buff' 'sock_common' 'in6_addr' cargo +nightly build -Z build-std=core --target bpfel-unknown-none --release --bin metrics_tracer diff --git a/core/src/components/metrics_tracer/src/bindings.rs b/core/src/components/metrics_tracer/src/bindings.rs index caab2cf..e73ac86 100644 --- a/core/src/components/metrics_tracer/src/bindings.rs +++ b/core/src/components/metrics_tracer/src/bindings.rs @@ -2272,7 +2272,6 @@ pub type freelist_full_t = u128_; pub type __kernel_clockid_t = ::core::ffi::c_int; pub type __kernel_mqd_t = ::core::ffi::c_int; pub type __kernel_pid_t = ::core::ffi::c_int; -pub type __kernel_rwf_t = ::core::ffi::c_int; pub type __kernel_timer_t = ::core::ffi::c_int; pub type __s32 = ::core::ffi::c_int; pub type clockid_t = __kernel_clockid_t; @@ -9920,7 +9919,7 @@ const _: () = { #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct audit_context__bindgen_ty_2__bindgen_ty_10 { - pub name: *mut ::core::ffi::c_char, + pub name: *const ::core::ffi::c_char, } #[allow(clippy::unnecessary_operation, clippy::identity_op)] const _: () = { @@ -60017,7 +60016,7 @@ const _: () = { #[repr(C)] #[derive(Copy, Clone)] pub union io_uring_sqe__bindgen_ty_3 { - pub rw_flags: __kernel_rwf_t, + pub rw_flags: __u32, pub fsync_flags: __u32, pub poll_events: __u16, pub poll32_events: __u32, @@ -86261,6 +86260,7 @@ pub struct pneigh_entry { pub dev_tracker: netdevice_tracker, pub flags: u32_, pub protocol: u8_, + pub permanent: bool_, pub key: __IncompleteArrayField, } #[allow(clippy::unnecessary_operation, clippy::identity_op)] @@ -86276,6 +86276,8 @@ const _: () = { [::core::mem::offset_of!(pneigh_entry, flags) - 24usize]; ["Offset of field: pneigh_entry::protocol"] [::core::mem::offset_of!(pneigh_entry, protocol) - 28usize]; + ["Offset of field: pneigh_entry::permanent"] + [::core::mem::offset_of!(pneigh_entry, permanent) - 29usize]; ["Offset of field: pneigh_entry::key"][::core::mem::offset_of!(pneigh_entry, key) - 32usize]; }; #[repr(C)] @@ -87908,7 +87910,6 @@ const _: () = { #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct psi_group_cpu { - pub seq: seqcount_t, pub tasks: [::core::ffi::c_uint; 4usize], pub state_mask: u32_, pub times: [u32_; 8usize], @@ -87919,13 +87920,12 @@ pub struct psi_group_cpu { const _: () = { ["Size of psi_group_cpu"][::core::mem::size_of::() - 128usize]; ["Alignment of psi_group_cpu"][::core::mem::align_of::() - 8usize]; - ["Offset of field: psi_group_cpu::seq"][::core::mem::offset_of!(psi_group_cpu, seq) - 0usize]; ["Offset of field: psi_group_cpu::tasks"] - [::core::mem::offset_of!(psi_group_cpu, tasks) - 4usize]; + [::core::mem::offset_of!(psi_group_cpu, tasks) - 0usize]; ["Offset of field: psi_group_cpu::state_mask"] - [::core::mem::offset_of!(psi_group_cpu, state_mask) - 20usize]; + [::core::mem::offset_of!(psi_group_cpu, state_mask) - 16usize]; ["Offset of field: psi_group_cpu::times"] - [::core::mem::offset_of!(psi_group_cpu, times) - 24usize]; + [::core::mem::offset_of!(psi_group_cpu, times) - 20usize]; ["Offset of field: psi_group_cpu::state_start"] [::core::mem::offset_of!(psi_group_cpu, state_start) - 56usize]; ["Offset of field: psi_group_cpu::times_prev"] @@ -93956,7 +93956,7 @@ pub struct rq { pub fair_server: sched_dl_entity, pub leaf_cfs_rq_list: list_head, pub tmp_alone_branch: *mut list_head, - pub nr_uninterruptible: ::core::ffi::c_uint, + pub nr_uninterruptible: ::core::ffi::c_ulong, pub curr: *mut task_struct, pub dl_server: *mut sched_dl_entity, pub idle: *mut task_struct, @@ -107418,6 +107418,7 @@ pub struct vlan_info { pub grp: vlan_group, pub vid_list: list_head, pub nr_vids: ::core::ffi::c_uint, + pub auto_vid0: bool_, pub rcu: callback_head, } #[allow(clippy::unnecessary_operation, clippy::identity_op)] @@ -107429,6 +107430,8 @@ const _: () = { ["Offset of field: vlan_info::vid_list"] [::core::mem::offset_of!(vlan_info, vid_list) - 160usize]; ["Offset of field: vlan_info::nr_vids"][::core::mem::offset_of!(vlan_info, nr_vids) - 176usize]; + ["Offset of field: vlan_info::auto_vid0"] + [::core::mem::offset_of!(vlan_info, auto_vid0) - 180usize]; ["Offset of field: vlan_info::rcu"][::core::mem::offset_of!(vlan_info, rcu) - 184usize]; }; #[repr(C)] diff --git a/core/src/components/metrics_tracer/src/data_structures.rs b/core/src/components/metrics_tracer/src/data_structures.rs index 5fd902a..9e89bbd 100644 --- a/core/src/components/metrics_tracer/src/data_structures.rs +++ b/core/src/components/metrics_tracer/src/data_structures.rs @@ -1,4 +1,6 @@ -use aya_ebpf::{macros::map, maps::{LruPerCpuHashMap, PerfEventArray}}; +use aya_ebpf::{macros::map, maps::{LruPerCpuHashMap, HashMap, PerfEventArray}}; + +pub const TASK_COMM_LEN: usize = 16; pub struct NetworkMetrics { @@ -11,5 +13,39 @@ pub struct NetworkMetrics { pub sk_drops: i32, // Offset 136 } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct TimeStampStartInfo { + pub comm: [u8; TASK_COMM_LEN], + pub ts_ns: u64, + pub tgid: u32, +} + +// Event we send to userspace when latency is computed +#[repr(C)] +#[derive(Copy, Clone)] +pub struct TimeStampEvent { + pub delta_us: u64, + pub ts_us: u64, + pub tgid: u32, + pub comm: [u8; TASK_COMM_LEN], + pub lport: u16, + pub dport_be: u16, + pub af: u16, // AF_INET=2, AF_INET6=10 + pub saddr_v4: u32, + pub daddr_v4: u32, + pub saddr_v6: [u32; 4], + pub daddr_v6: [u32; 4], +} + +// Map: connect-start timestamp by socket pointer +#[map(name = "time_stamp_start")] +pub static mut TIME_STAMP_START: HashMap<*mut core::ffi::c_void, TimeStampStartInfo> = + HashMap::<*mut core::ffi::c_void, TimeStampStartInfo>::with_max_entries(4096, 0); + +// Perf event channel for emitting Event to userspace +#[map(name = "time_stamp_events")] +pub static mut TIME_STAMP_EVENTS: PerfEventArray = PerfEventArray::::new(0); + #[map(name = "net_metrics")] pub static NET_METRICS: PerfEventArray = PerfEventArray::new(0); diff --git a/core/src/components/metrics_tracer/src/main.rs b/core/src/components/metrics_tracer/src/main.rs index 110a610..a1964f9 100644 --- a/core/src/components/metrics_tracer/src/main.rs +++ b/core/src/components/metrics_tracer/src/main.rs @@ -5,16 +5,23 @@ mod bindings; mod data_structures; +use core::{mem, ptr}; + use crate::bindings::net_device; +use aya_ebpf::helpers::generated::{bpf_ktime_get_ns, bpf_perf_event_output}; use aya_ebpf::EbpfContext; -use aya_ebpf::helpers::{bpf_probe_read_kernel, bpf_probe_read_kernel_str_bytes}; +use aya_ebpf::helpers::{bpf_get_current_comm, bpf_probe_read_kernel, bpf_probe_read_kernel_str_bytes}; use aya_ebpf::macros::{kprobe, map}; use aya_ebpf::maps::{HashMap, PerfEventArray}; use aya_ebpf::programs::ProbeContext; use aya_ebpf::helpers::bpf_get_current_pid_tgid; -use crate::data_structures::NetworkMetrics; +use crate::data_structures::{NetworkMetrics, TimeStampEvent, TimeStampStartInfo, TASK_COMM_LEN, TIME_STAMP_EVENTS, TIME_STAMP_START}; use crate::data_structures::NET_METRICS; +const AF_INET: u16 = 2; +const AF_INET6: u16 = 10; +const TCP_SYN_SENT: u8 = 2; + #[kprobe] fn metrics_tracer(ctx: ProbeContext) -> u32 { match try_metrics_tracer(ctx) { @@ -64,6 +71,153 @@ fn try_metrics_tracer(ctx: ProbeContext) -> Result { } // Monitor on tcp_sendmsg, tcp_v4_connect +#[kprobe] +fn tcp_connect(ctx: ProbeContext) -> u32 { + match on_connect(ctx) { Ok(_) => 0, Err(e) => e as u32 } +} + + +fn on_connect(ctx: ProbeContext) -> Result<(), i64> { + let sk = ctx.arg::<*mut bindings::sock>(0).ok_or(1i64)?; + if sk.is_null() { + return Err(1); + } + + let tgid = (unsafe { bpf_get_current_pid_tgid() } >> 32) as u32; + let mut start = TimeStampStartInfo { + comm: [0; TASK_COMM_LEN], + ts_ns: unsafe { bpf_ktime_get_ns() }, + tgid, + }; + unsafe { + let comm_result = bpf_get_current_comm(); + if let Ok(comm) = comm_result { + start.comm.copy_from_slice(&comm); + } + let map_ptr = &raw mut TIME_STAMP_START; + (*map_ptr).insert(&(sk as *mut core::ffi::c_void), &start, 0).map_err(|_| 1)?; + } + Ok(()) +} + +#[kprobe] +fn tcp_rcv_state_process(ctx: ProbeContext) -> u32 { + match on_rcv_state_process(ctx) { Ok(_) => 0, Err(e) => e as u32 } +} + +fn on_rcv_state_process(ctx: ProbeContext) -> Result<(), i64> { + // On some kernels, kprobe wrapper puts `sk` at arg0; on others arg1. + let sk = ctx.arg::<*mut bindings::sock>(0).unwrap_or(ptr::null_mut()); + let sk = if sk.is_null() { + ctx.arg::<*mut bindings::sock>(1).ok_or(1i64)? + } else { sk }; + + if sk.is_null() { + return Err(1); + } + + let skc_daddr_off = 0; + let skc_rcv_saddr_off = 4; + let skc_dport_off = 12; + let skc_num_off = 14; + let skc_family_off = 16; + let skc_state_off = 18; + let skc_v6_daddr_off = 56; + let skc_v6_rcv_saddr_off = 72; + + let state = unsafe { + bpf_probe_read_kernel::((sk as usize + skc_state_off) as *const u8) + }.map_err(|_| 1)?; + + + if state != TCP_SYN_SENT { + return Ok(()); + } + + let start = unsafe { + let map_ptr = &raw const TIME_STAMP_START; + (*map_ptr).get(&((sk as usize) as *mut core::ffi::c_void)) + }.ok_or(1i64)?; + let now = unsafe { bpf_ktime_get_ns() }; + let delta = now as i64 - start.ts_ns as i64; + if delta <= 0 { + unsafe { + let map_ptr = &raw mut TIME_STAMP_START; + let _ = (*map_ptr).remove(&((sk as usize) as *mut core::ffi::c_void)); + } + return Ok(()); + } + + let mut ev = TimeStampEvent { + delta_us: (delta as u64) / 1_000, + ts_us: now / 1_000, + tgid: start.tgid, + comm: start.comm, + lport: 0, + dport_be: 0, + af: 0, + saddr_v4: 0, + daddr_v4: 0, + saddr_v6: [0; 4], + daddr_v6: [0; 4], + }; + + // family, ports + ev.af = unsafe { + bpf_probe_read_kernel::((sk as usize + skc_family_off) as *const u16) + .map_err(|_| 1)? + }; + ev.lport = unsafe { + bpf_probe_read_kernel::((sk as usize + skc_num_off) as *const u16) + .map_err(|_| 1)? + }; + ev.dport_be = unsafe { + bpf_probe_read_kernel::((sk as usize + skc_dport_off) as *const u16) + .map_err(|_| 1)? + }; + + if ev.af == AF_INET { + ev.saddr_v4 = unsafe { + bpf_probe_read_kernel::((sk as usize + skc_rcv_saddr_off) as *const u32) + .map_err(|_| 1)? + }; + ev.daddr_v4 = unsafe { + bpf_probe_read_kernel::((sk as usize + skc_daddr_off) as *const u32) + .map_err(|_| 1)? + }; + } else { + // read 16 bytes as four u32 words + for i in 0..4 { + ev.saddr_v6[i] = unsafe { + bpf_probe_read_kernel::( + (sk as usize + skc_v6_rcv_saddr_off + i * 4) as *const u32 + ).map_err(|_| 1)? + }; + ev.daddr_v6[i] = unsafe { + bpf_probe_read_kernel::( + (sk as usize + skc_v6_daddr_off + i * 4) as *const u32 + ).map_err(|_| 1)? + }; + } + } + + // emit + cleanup + unsafe { + bpf_perf_event_output( + ctx.as_ptr(), + &raw const TIME_STAMP_EVENTS as *const _ as *mut _, + 0, // BPF_F_CURRENT_CPU + &ev as *const _ as *mut _, + (mem::size_of::() as u32).into(), + ); + let map_ptr = &raw mut TIME_STAMP_START; + let _ = (*map_ptr).remove(&((sk as usize) as *mut core::ffi::c_void)); + } + + + Ok(()) +} + // panic handler