#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage, Align> {
storage: Storage,
align: [Align; 0],
}
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage, align: [] }
}
}
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val {
*byte |= mask;
} else {
*byte &= !mask;
}
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
}
#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
#[inline]
pub const fn new() -> Self {
__IncompleteArrayField(::std::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] {
::std::slice::from_raw_parts(self.as_ptr(), len)
}
#[inline]
pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
}
}
impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
fmt.write_str("__IncompleteArrayField")
}
}
pub const true_: u32 = 1;
pub const false_: u32 = 0;
pub const __bool_true_false_are_defined: u32 = 1;
pub const _STDINT_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC2X: u32 = 0;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 31;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const _BITS_TYPES_H: u32 = 1;
pub const __TIMESIZE: u32 = 64;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __STATFS_MATCHES_STATFS64: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const _BITS_STDINT_UINTN_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const __BITS_PER_LONG: u32 = 64;
pub const BPF_LD: u32 = 0;
pub const BPF_LDX: u32 = 1;
pub const BPF_ST: u32 = 2;
pub const BPF_STX: u32 = 3;
pub const BPF_ALU: u32 = 4;
pub const BPF_JMP: u32 = 5;
pub const BPF_RET: u32 = 6;
pub const BPF_MISC: u32 = 7;
pub const BPF_W: u32 = 0;
pub const BPF_H: u32 = 8;
pub const BPF_B: u32 = 16;
pub const BPF_IMM: u32 = 0;
pub const BPF_ABS: u32 = 32;
pub const BPF_IND: u32 = 64;
pub const BPF_MEM: u32 = 96;
pub const BPF_LEN: u32 = 128;
pub const BPF_MSH: u32 = 160;
pub const BPF_ADD: u32 = 0;
pub const BPF_SUB: u32 = 16;
pub const BPF_MUL: u32 = 32;
pub const BPF_DIV: u32 = 48;
pub const BPF_OR: u32 = 64;
pub const BPF_AND: u32 = 80;
pub const BPF_LSH: u32 = 96;
pub const BPF_RSH: u32 = 112;
pub const BPF_NEG: u32 = 128;
pub const BPF_MOD: u32 = 144;
pub const BPF_XOR: u32 = 160;
pub const BPF_JA: u32 = 0;
pub const BPF_JEQ: u32 = 16;
pub const BPF_JGT: u32 = 32;
pub const BPF_JGE: u32 = 48;
pub const BPF_JSET: u32 = 64;
pub const BPF_K: u32 = 0;
pub const BPF_X: u32 = 8;
pub const BPF_MAXINSNS: u32 = 4096;
pub const BPF_JMP32: u32 = 6;
pub const BPF_ALU64: u32 = 7;
pub const BPF_DW: u32 = 24;
pub const BPF_XADD: u32 = 192;
pub const BPF_MOV: u32 = 176;
pub const BPF_ARSH: u32 = 192;
pub const BPF_END: u32 = 208;
pub const BPF_TO_LE: u32 = 0;
pub const BPF_TO_BE: u32 = 8;
pub const BPF_FROM_LE: u32 = 0;
pub const BPF_FROM_BE: u32 = 8;
pub const BPF_JNE: u32 = 80;
pub const BPF_JLT: u32 = 160;
pub const BPF_JLE: u32 = 176;
pub const BPF_JSGT: u32 = 96;
pub const BPF_JSGE: u32 = 112;
pub const BPF_JSLT: u32 = 192;
pub const BPF_JSLE: u32 = 208;
pub const BPF_CALL: u32 = 128;
pub const BPF_EXIT: u32 = 144;
pub const BPF_F_ALLOW_OVERRIDE: u32 = 1;
pub const BPF_F_ALLOW_MULTI: u32 = 2;
pub const BPF_F_STRICT_ALIGNMENT: u32 = 1;
pub const BPF_F_ANY_ALIGNMENT: u32 = 2;
pub const BPF_F_TEST_RND_HI32: u32 = 4;
pub const BPF_F_TEST_STATE_FREQ: u32 = 8;
pub const BPF_PSEUDO_MAP_FD: u32 = 1;
pub const BPF_PSEUDO_MAP_VALUE: u32 = 2;
pub const BPF_PSEUDO_CALL: u32 = 1;
pub const BPF_ANY: u32 = 0;
pub const BPF_NOEXIST: u32 = 1;
pub const BPF_EXIST: u32 = 2;
pub const BPF_F_LOCK: u32 = 4;
pub const BPF_F_NO_PREALLOC: u32 = 1;
pub const BPF_F_NO_COMMON_LRU: u32 = 2;
pub const BPF_F_NUMA_NODE: u32 = 4;
pub const BPF_OBJ_NAME_LEN: u32 = 16;
pub const BPF_F_RDONLY: u32 = 8;
pub const BPF_F_WRONLY: u32 = 16;
pub const BPF_F_STACK_BUILD_ID: u32 = 32;
pub const BPF_F_ZERO_SEED: u32 = 64;
pub const BPF_F_RDONLY_PROG: u32 = 128;
pub const BPF_F_WRONLY_PROG: u32 = 256;
pub const BPF_F_CLONE: u32 = 512;
pub const BPF_F_QUERY_EFFECTIVE: u32 = 1;
pub const BPF_BUILD_ID_SIZE: u32 = 20;
pub const BPF_F_RECOMPUTE_CSUM: u32 = 1;
pub const BPF_F_INVALIDATE_HASH: u32 = 2;
pub const BPF_F_HDR_FIELD_MASK: u32 = 15;
pub const BPF_F_PSEUDO_HDR: u32 = 16;
pub const BPF_F_MARK_MANGLED_0: u32 = 32;
pub const BPF_F_MARK_ENFORCE: u32 = 64;
pub const BPF_F_INGRESS: u32 = 1;
pub const BPF_F_TUNINFO_IPV6: u32 = 1;
pub const BPF_F_SKIP_FIELD_MASK: u32 = 255;
pub const BPF_F_USER_STACK: u32 = 256;
pub const BPF_F_FAST_STACK_CMP: u32 = 512;
pub const BPF_F_REUSE_STACKID: u32 = 1024;
pub const BPF_F_USER_BUILD_ID: u32 = 2048;
pub const BPF_F_ZERO_CSUM_TX: u32 = 2;
pub const BPF_F_DONT_FRAGMENT: u32 = 4;
pub const BPF_F_SEQ_NUMBER: u32 = 8;
pub const BPF_F_INDEX_MASK: u32 = 4294967295;
pub const BPF_F_CURRENT_CPU: u32 = 4294967295;
pub const BPF_F_CTXLEN_MASK: u64 = 4503595332403200;
pub const BPF_F_CURRENT_NETNS: i32 = -1;
pub const BPF_F_ADJ_ROOM_FIXED_GSO: u32 = 1;
pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: u32 = 255;
pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: u32 = 56;
pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: u32 = 2;
pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: u32 = 4;
pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: u32 = 8;
pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: u32 = 16;
pub const BPF_F_SYSCTL_BASE_NAME: u32 = 1;
pub const BPF_SK_STORAGE_GET_F_CREATE: u32 = 1;
pub const XDP_PACKET_HEADROOM: u32 = 256;
pub const BPF_TAG_SIZE: u32 = 8;
pub const BPF_SOCK_OPS_RTO_CB_FLAG: u32 = 1;
pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: u32 = 2;
pub const BPF_SOCK_OPS_STATE_CB_FLAG: u32 = 4;
pub const BPF_SOCK_OPS_RTT_CB_FLAG: u32 = 8;
pub const BPF_SOCK_OPS_ALL_CB_FLAGS: u32 = 15;
pub const TCP_BPF_IW: u32 = 1001;
pub const TCP_BPF_SNDCWND_CLAMP: u32 = 1002;
pub const BPF_DEVCG_ACC_MKNOD: u32 = 1;
pub const BPF_DEVCG_ACC_READ: u32 = 2;
pub const BPF_DEVCG_ACC_WRITE: u32 = 4;
pub const BPF_DEVCG_DEV_BLOCK: u32 = 1;
pub const BPF_DEVCG_DEV_CHAR: u32 = 2;
pub const BPF_FIB_LOOKUP_DIRECT: u32 = 1;
pub const BPF_FIB_LOOKUP_OUTPUT: u32 = 2;
pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: u32 = 1;
pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: u32 = 2;
pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: u32 = 4;
pub const _SYS_TYPES_H: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const __BIT_TYPES_DEFINED__: u32 = 1;
pub const _ENDIAN_H: u32 = 1;
pub const _BITS_ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const _BITS_ENDIANNESS_H: u32 = 1;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const LITTLE_ENDIAN: u32 = 1234;
pub const BIG_ENDIAN: u32 = 4321;
pub const PDP_ENDIAN: u32 = 3412;
pub const BYTE_ORDER: u32 = 1234;
pub const _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
pub const __sigset_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const LOG_BUF_SIZE: u32 = 65536;
pub const BPF_FN_PREFIX: &'static [u8; 9usize] = b".bpf.fn.\0";
pub const _K_SS_MAXSIZE: u32 = 128;
pub const NETLINK_ROUTE: u32 = 0;
pub const NETLINK_UNUSED: u32 = 1;
pub const NETLINK_USERSOCK: u32 = 2;
pub const NETLINK_FIREWALL: u32 = 3;
pub const NETLINK_SOCK_DIAG: u32 = 4;
pub const NETLINK_NFLOG: u32 = 5;
pub const NETLINK_XFRM: u32 = 6;
pub const NETLINK_SELINUX: u32 = 7;
pub const NETLINK_ISCSI: u32 = 8;
pub const NETLINK_AUDIT: u32 = 9;
pub const NETLINK_FIB_LOOKUP: u32 = 10;
pub const NETLINK_CONNECTOR: u32 = 11;
pub const NETLINK_NETFILTER: u32 = 12;
pub const NETLINK_IP6_FW: u32 = 13;
pub const NETLINK_DNRTMSG: u32 = 14;
pub const NETLINK_KOBJECT_UEVENT: u32 = 15;
pub const NETLINK_GENERIC: u32 = 16;
pub const NETLINK_SCSITRANSPORT: u32 = 18;
pub const NETLINK_ECRYPTFS: u32 = 19;
pub const NETLINK_RDMA: u32 = 20;
pub const NETLINK_CRYPTO: u32 = 21;
pub const NETLINK_SMC: u32 = 22;
pub const NETLINK_INET_DIAG: u32 = 4;
pub const MAX_LINKS: u32 = 32;
pub const NLM_F_REQUEST: u32 = 1;
pub const NLM_F_MULTI: u32 = 2;
pub const NLM_F_ACK: u32 = 4;
pub const NLM_F_ECHO: u32 = 8;
pub const NLM_F_DUMP_INTR: u32 = 16;
pub const NLM_F_DUMP_FILTERED: u32 = 32;
pub const NLM_F_ROOT: u32 = 256;
pub const NLM_F_MATCH: u32 = 512;
pub const NLM_F_ATOMIC: u32 = 1024;
pub const NLM_F_DUMP: u32 = 768;
pub const NLM_F_REPLACE: u32 = 256;
pub const NLM_F_EXCL: u32 = 512;
pub const NLM_F_CREATE: u32 = 1024;
pub const NLM_F_APPEND: u32 = 2048;
pub const NLM_F_NONREC: u32 = 256;
pub const NLM_F_CAPPED: u32 = 256;
pub const NLM_F_ACK_TLVS: u32 = 512;
pub const NLMSG_ALIGNTO: u32 = 4;
pub const NLMSG_NOOP: u32 = 1;
pub const NLMSG_ERROR: u32 = 2;
pub const NLMSG_DONE: u32 = 3;
pub const NLMSG_OVERRUN: u32 = 4;
pub const NLMSG_MIN_TYPE: u32 = 16;
pub const NETLINK_ADD_MEMBERSHIP: u32 = 1;
pub const NETLINK_DROP_MEMBERSHIP: u32 = 2;
pub const NETLINK_PKTINFO: u32 = 3;
pub const NETLINK_BROADCAST_ERROR: u32 = 4;
pub const NETLINK_NO_ENOBUFS: u32 = 5;
pub const NETLINK_RX_RING: u32 = 6;
pub const NETLINK_TX_RING: u32 = 7;
pub const NETLINK_LISTEN_ALL_NSID: u32 = 8;
pub const NETLINK_LIST_MEMBERSHIPS: u32 = 9;
pub const NETLINK_CAP_ACK: u32 = 10;
pub const NETLINK_EXT_ACK: u32 = 11;
pub const NETLINK_GET_STRICT_CHK: u32 = 12;
pub const NL_MMAP_MSG_ALIGNMENT: u32 = 4;
pub const NET_MAJOR: u32 = 36;
pub const NLA_F_NESTED: u32 = 32768;
pub const NLA_F_NET_BYTEORDER: u32 = 16384;
pub const NLA_TYPE_MASK: i32 = -49153;
pub const NLA_ALIGNTO: u32 = 4;
pub const MACVLAN_FLAG_NOPROMISC: u32 = 1;
pub const IPVLAN_F_PRIVATE: u32 = 1;
pub const IPVLAN_F_VEPA: u32 = 2;
pub const MAX_VLAN_LIST_LEN: u32 = 1;
pub const PORT_PROFILE_MAX: u32 = 40;
pub const PORT_UUID_MAX: u32 = 16;
pub const PORT_SELF_VF: i32 = -1;
pub const XDP_FLAGS_UPDATE_IF_NOEXIST: u32 = 1;
pub const XDP_FLAGS_SKB_MODE: u32 = 2;
pub const XDP_FLAGS_DRV_MODE: u32 = 4;
pub const XDP_FLAGS_HW_MODE: u32 = 8;
pub const XDP_FLAGS_MODES: u32 = 14;
pub const XDP_FLAGS_MASK: u32 = 15;
pub const RMNET_FLAGS_INGRESS_DEAGGREGATION: u32 = 1;
pub const RMNET_FLAGS_INGRESS_MAP_COMMANDS: u32 = 2;
pub const RMNET_FLAGS_INGRESS_MAP_CKSUMV4: u32 = 4;
pub const RMNET_FLAGS_EGRESS_MAP_CKSUMV4: u32 = 8;
pub type size_t = ::std::os::raw::c_ulong;
pub type wchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
pub __bindgen_padding_0: u64,
pub __clang_max_align_nonce2: u128,
}
#[test]
fn bindgen_test_layout_max_align_t() {
assert_eq!(
::std::mem::size_of::<max_align_t>(),
32usize,
concat!("Size of: ", stringify!(max_align_t))
);
assert_eq!(
::std::mem::align_of::<max_align_t>(),
16usize,
concat!("Alignment of ", stringify!(max_align_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(max_align_t),
"::",
stringify!(__clang_max_align_nonce1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(max_align_t),
"::",
stringify!(__clang_max_align_nonce2)
)
);
}
pub type __u_char = ::std::os::raw::c_uchar;
pub type __u_short = ::std::os::raw::c_ushort;
pub type __u_int = ::std::os::raw::c_uint;
pub type __u_long = ::std::os::raw::c_ulong;
pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
pub type __quad_t = ::std::os::raw::c_long;
pub type __u_quad_t = ::std::os::raw::c_ulong;
pub type __intmax_t = ::std::os::raw::c_long;
pub type __uintmax_t = ::std::os::raw::c_ulong;
pub type __dev_t = ::std::os::raw::c_ulong;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __ino64_t = ::std::os::raw::c_ulong;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type __pid_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
pub __val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
assert_eq!(
::std::mem::size_of::<__fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__fsid_t))
);
assert_eq!(
::std::mem::align_of::<__fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__fsid_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__fsid_t),
"::",
stringify!(__val)
)
);
}
pub type __clock_t = ::std::os::raw::c_long;
pub type __rlim_t = ::std::os::raw::c_ulong;
pub type __rlim64_t = ::std::os::raw::c_ulong;
pub type __id_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __useconds_t = ::std::os::raw::c_uint;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __daddr_t = ::std::os::raw::c_int;
pub type __key_t = ::std::os::raw::c_int;
pub type __clockid_t = ::std::os::raw::c_int;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __blkcnt64_t = ::std::os::raw::c_long;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
pub type __fsword_t = ::std::os::raw::c_long;
pub type __ssize_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::std::os::raw::c_char;
pub type __intptr_t = ::std::os::raw::c_long;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
pub type int_least8_t = __int_least8_t;
pub type int_least16_t = __int_least16_t;
pub type int_least32_t = __int_least32_t;
pub type int_least64_t = __int_least64_t;
pub type uint_least8_t = __uint_least8_t;
pub type uint_least16_t = __uint_least16_t;
pub type uint_least32_t = __uint_least32_t;
pub type uint_least64_t = __uint_least64_t;
pub type int_fast8_t = ::std::os::raw::c_schar;
pub type int_fast16_t = ::std::os::raw::c_long;
pub type int_fast32_t = ::std::os::raw::c_long;
pub type int_fast64_t = ::std::os::raw::c_long;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_ulong;
pub type uint_fast32_t = ::std::os::raw::c_ulong;
pub type uint_fast64_t = ::std::os::raw::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type __s8 = ::std::os::raw::c_schar;
pub type __u8 = ::std::os::raw::c_uchar;
pub type __s16 = ::std::os::raw::c_short;
pub type __u16 = ::std::os::raw::c_ushort;
pub type __s32 = ::std::os::raw::c_int;
pub type __u32 = ::std::os::raw::c_uint;
pub type __s64 = ::std::os::raw::c_longlong;
pub type __u64 = ::std::os::raw::c_ulonglong;
pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
pub type __kernel_long_t = ::std::os::raw::c_long;
pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
pub type __kernel_ino_t = __kernel_ulong_t;
pub type __kernel_mode_t = ::std::os::raw::c_uint;
pub type __kernel_pid_t = ::std::os::raw::c_int;
pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
pub type __kernel_uid_t = ::std::os::raw::c_uint;
pub type __kernel_gid_t = ::std::os::raw::c_uint;
pub type __kernel_suseconds_t = __kernel_long_t;
pub type __kernel_daddr_t = ::std::os::raw::c_int;
pub type __kernel_uid32_t = ::std::os::raw::c_uint;
pub type __kernel_gid32_t = ::std::os::raw::c_uint;
pub type __kernel_size_t = __kernel_ulong_t;
pub type __kernel_ssize_t = __kernel_long_t;
pub type __kernel_ptrdiff_t = __kernel_long_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fsid_t {
pub val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___kernel_fsid_t() {
assert_eq!(
::std::mem::size_of::<__kernel_fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__kernel_fsid_t))
);
assert_eq!(
::std::mem::align_of::<__kernel_fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__kernel_fsid_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__kernel_fsid_t),
"::",
stringify!(val)
)
);
}
pub type __kernel_off_t = __kernel_long_t;
pub type __kernel_loff_t = ::std::os::raw::c_longlong;
pub type __kernel_time_t = __kernel_long_t;
pub type __kernel_time64_t = ::std::os::raw::c_longlong;
pub type __kernel_clock_t = __kernel_long_t;
pub type __kernel_timer_t = ::std::os::raw::c_int;
pub type __kernel_clockid_t = ::std::os::raw::c_int;
pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
pub type __le16 = __u16;
pub type __be16 = __u16;
pub type __le32 = __u32;
pub type __be32 = __u32;
pub type __le64 = __u64;
pub type __be64 = __u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct list_head {
pub next: *mut list_head,
pub prev: *mut list_head,
}
#[test]
fn bindgen_test_layout_list_head() {
assert_eq!(
::std::mem::size_of::<list_head>(),
16usize,
concat!("Size of: ", stringify!(list_head))
);
assert_eq!(
::std::mem::align_of::<list_head>(),
8usize,
concat!("Alignment of ", stringify!(list_head))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<list_head>())).next as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(list_head),
"::",
stringify!(next)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<list_head>())).prev as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(list_head),
"::",
stringify!(prev)
)
);
}
pub const BPF_REG_0: ::std::os::raw::c_uint = 0;
pub const BPF_REG_1: ::std::os::raw::c_uint = 1;
pub const BPF_REG_2: ::std::os::raw::c_uint = 2;
pub const BPF_REG_3: ::std::os::raw::c_uint = 3;
pub const BPF_REG_4: ::std::os::raw::c_uint = 4;
pub const BPF_REG_5: ::std::os::raw::c_uint = 5;
pub const BPF_REG_6: ::std::os::raw::c_uint = 6;
pub const BPF_REG_7: ::std::os::raw::c_uint = 7;
pub const BPF_REG_8: ::std::os::raw::c_uint = 8;
pub const BPF_REG_9: ::std::os::raw::c_uint = 9;
pub const BPF_REG_10: ::std::os::raw::c_uint = 10;
pub const __MAX_BPF_REG: ::std::os::raw::c_uint = 11;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_insn {
pub code: __u8,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
pub off: __s16,
pub imm: __s32,
}
#[test]
fn bindgen_test_layout_bpf_insn() {
assert_eq!(
::std::mem::size_of::<bpf_insn>(),
8usize,
concat!("Size of: ", stringify!(bpf_insn))
);
assert_eq!(
::std::mem::align_of::<bpf_insn>(),
4usize,
concat!("Alignment of ", stringify!(bpf_insn))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_insn>())).code as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_insn),
"::",
stringify!(code)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_insn>())).off as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(bpf_insn),
"::",
stringify!(off)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_insn>())).imm as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_insn),
"::",
stringify!(imm)
)
);
}
impl bpf_insn {
#[inline]
pub fn dst_reg(&self) -> __u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
}
#[inline]
pub fn set_dst_reg(&mut self, val: __u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 4u8, val as u64)
}
}
#[inline]
pub fn src_reg(&self) -> __u8 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
}
#[inline]
pub fn set_src_reg(&mut self, val: __u8) {
unsafe {
let val: u8 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 4u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
Default::default();
__bindgen_bitfield_unit.set(0usize, 4u8, {
let dst_reg: u8 = unsafe { ::std::mem::transmute(dst_reg) };
dst_reg as u64
});
__bindgen_bitfield_unit.set(4usize, 4u8, {
let src_reg: u8 = unsafe { ::std::mem::transmute(src_reg) };
src_reg as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug)]
pub struct bpf_lpm_trie_key {
pub prefixlen: __u32,
pub data: __IncompleteArrayField<__u8>,
}
#[test]
fn bindgen_test_layout_bpf_lpm_trie_key() {
assert_eq!(
::std::mem::size_of::<bpf_lpm_trie_key>(),
4usize,
concat!("Size of: ", stringify!(bpf_lpm_trie_key))
);
assert_eq!(
::std::mem::align_of::<bpf_lpm_trie_key>(),
4usize,
concat!("Alignment of ", stringify!(bpf_lpm_trie_key))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_lpm_trie_key>())).prefixlen as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_lpm_trie_key),
"::",
stringify!(prefixlen)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_lpm_trie_key>())).data as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_lpm_trie_key),
"::",
stringify!(data)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_cgroup_storage_key {
pub cgroup_inode_id: __u64,
pub attach_type: __u32,
}
#[test]
fn bindgen_test_layout_bpf_cgroup_storage_key() {
assert_eq!(
::std::mem::size_of::<bpf_cgroup_storage_key>(),
16usize,
concat!("Size of: ", stringify!(bpf_cgroup_storage_key))
);
assert_eq!(
::std::mem::align_of::<bpf_cgroup_storage_key>(),
8usize,
concat!("Alignment of ", stringify!(bpf_cgroup_storage_key))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_cgroup_storage_key>())).cgroup_inode_id as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_cgroup_storage_key),
"::",
stringify!(cgroup_inode_id)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_cgroup_storage_key>())).attach_type as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_cgroup_storage_key),
"::",
stringify!(attach_type)
)
);
}
pub const bpf_cmd_BPF_MAP_CREATE: bpf_cmd = 0;
pub const bpf_cmd_BPF_MAP_LOOKUP_ELEM: bpf_cmd = 1;
pub const bpf_cmd_BPF_MAP_UPDATE_ELEM: bpf_cmd = 2;
pub const bpf_cmd_BPF_MAP_DELETE_ELEM: bpf_cmd = 3;
pub const bpf_cmd_BPF_MAP_GET_NEXT_KEY: bpf_cmd = 4;
pub const bpf_cmd_BPF_PROG_LOAD: bpf_cmd = 5;
pub const bpf_cmd_BPF_OBJ_PIN: bpf_cmd = 6;
pub const bpf_cmd_BPF_OBJ_GET: bpf_cmd = 7;
pub const bpf_cmd_BPF_PROG_ATTACH: bpf_cmd = 8;
pub const bpf_cmd_BPF_PROG_DETACH: bpf_cmd = 9;
pub const bpf_cmd_BPF_PROG_TEST_RUN: bpf_cmd = 10;
pub const bpf_cmd_BPF_PROG_GET_NEXT_ID: bpf_cmd = 11;
pub const bpf_cmd_BPF_MAP_GET_NEXT_ID: bpf_cmd = 12;
pub const bpf_cmd_BPF_PROG_GET_FD_BY_ID: bpf_cmd = 13;
pub const bpf_cmd_BPF_MAP_GET_FD_BY_ID: bpf_cmd = 14;
pub const bpf_cmd_BPF_OBJ_GET_INFO_BY_FD: bpf_cmd = 15;
pub const bpf_cmd_BPF_PROG_QUERY: bpf_cmd = 16;
pub const bpf_cmd_BPF_RAW_TRACEPOINT_OPEN: bpf_cmd = 17;
pub const bpf_cmd_BPF_BTF_LOAD: bpf_cmd = 18;
pub const bpf_cmd_BPF_BTF_GET_FD_BY_ID: bpf_cmd = 19;
pub const bpf_cmd_BPF_TASK_FD_QUERY: bpf_cmd = 20;
pub const bpf_cmd_BPF_MAP_LOOKUP_AND_DELETE_ELEM: bpf_cmd = 21;
pub const bpf_cmd_BPF_MAP_FREEZE: bpf_cmd = 22;
pub const bpf_cmd_BPF_BTF_GET_NEXT_ID: bpf_cmd = 23;
pub type bpf_cmd = ::std::os::raw::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: 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: 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 type bpf_map_type = ::std::os::raw::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 type bpf_prog_type = ::std::os::raw::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___MAX_BPF_ATTACH_TYPE: bpf_attach_type = 23;
pub type bpf_attach_type = ::std::os::raw::c_uint;
pub const bpf_stack_build_id_status_BPF_STACK_BUILD_ID_EMPTY: bpf_stack_build_id_status = 0;
pub const bpf_stack_build_id_status_BPF_STACK_BUILD_ID_VALID: bpf_stack_build_id_status = 1;
pub const bpf_stack_build_id_status_BPF_STACK_BUILD_ID_IP: bpf_stack_build_id_status = 2;
pub type bpf_stack_build_id_status = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_stack_build_id {
pub status: __s32,
pub build_id: [::std::os::raw::c_uchar; 20usize],
pub __bindgen_anon_1: bpf_stack_build_id__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_stack_build_id__bindgen_ty_1 {
pub offset: __u64,
pub ip: __u64,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_bpf_stack_build_id__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_stack_build_id__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(bpf_stack_build_id__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_stack_build_id__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(bpf_stack_build_id__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_stack_build_id__bindgen_ty_1>())).offset as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_stack_build_id__bindgen_ty_1),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_stack_build_id__bindgen_ty_1>())).ip as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_stack_build_id__bindgen_ty_1),
"::",
stringify!(ip)
)
);
}
#[test]
fn bindgen_test_layout_bpf_stack_build_id() {
assert_eq!(
::std::mem::size_of::<bpf_stack_build_id>(),
32usize,
concat!("Size of: ", stringify!(bpf_stack_build_id))
);
assert_eq!(
::std::mem::align_of::<bpf_stack_build_id>(),
8usize,
concat!("Alignment of ", stringify!(bpf_stack_build_id))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_stack_build_id>())).status as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_stack_build_id),
"::",
stringify!(status)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_stack_build_id>())).build_id as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_stack_build_id),
"::",
stringify!(build_id)
)
);
}
#[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 __bindgen_anon_3: bpf_attr__bindgen_ty_3,
pub __bindgen_anon_4: bpf_attr__bindgen_ty_4,
pub __bindgen_anon_5: bpf_attr__bindgen_ty_5,
pub test: bpf_attr__bindgen_ty_6,
pub __bindgen_anon_6: bpf_attr__bindgen_ty_7,
pub info: bpf_attr__bindgen_ty_8,
pub query: bpf_attr__bindgen_ty_9,
pub raw_tracepoint: bpf_attr__bindgen_ty_10,
pub __bindgen_anon_7: bpf_attr__bindgen_ty_11,
pub task_fd_query: bpf_attr__bindgen_ty_12,
_bindgen_union_align: [u64; 14usize],
}
#[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: [::std::os::raw::c_char; 16usize],
pub map_ifindex: __u32,
pub btf_fd: __u32,
pub btf_key_type_id: __u32,
pub btf_value_type_id: __u32,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_1>(),
60usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).map_type as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(map_type)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).key_size as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(key_size)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).value_size as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(value_size)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).max_entries as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(max_entries)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).map_flags as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(map_flags)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).inner_map_fd as *const _ as usize
},
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(inner_map_fd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).numa_node as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(numa_node)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).map_name as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(map_name)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).map_ifindex as *const _ as usize
},
44usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(map_ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).btf_fd as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(btf_fd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).btf_key_type_id as *const _ as usize
},
52usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(btf_key_type_id)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_1>())).btf_value_type_id as *const _
as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_1),
"::",
stringify!(btf_value_type_id)
)
);
}
#[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,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_2__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_2__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(bpf_attr__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_2__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(bpf_attr__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_2__bindgen_ty_1>())).value as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_2__bindgen_ty_1>())).next_key as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(next_key)
)
);
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_2>(),
32usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_2))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_2>())).map_fd as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_2),
"::",
stringify!(map_fd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_2>())).key as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_2),
"::",
stringify!(key)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_2>())).flags as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_2),
"::",
stringify!(flags)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_3 {
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: [::std::os::raw::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,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_3() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_3>(),
112usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_3))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_3>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_3))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).prog_type as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(prog_type)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).insn_cnt as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(insn_cnt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).insns as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(insns)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).license as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(license)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).log_level as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(log_level)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).log_size as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(log_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).log_buf as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(log_buf)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).kern_version as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(kern_version)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).prog_flags as *const _ as usize
},
44usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(prog_flags)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).prog_name as *const _ as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(prog_name)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).prog_ifindex as *const _ as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(prog_ifindex)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).expected_attach_type as *const _
as usize
},
68usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(expected_attach_type)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).prog_btf_fd as *const _ as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(prog_btf_fd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).func_info_rec_size as *const _
as usize
},
76usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(func_info_rec_size)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).func_info as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(func_info)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).func_info_cnt as *const _ as usize
},
88usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(func_info_cnt)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).line_info_rec_size as *const _
as usize
},
92usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(line_info_rec_size)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).line_info as *const _ as usize
},
96usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(line_info)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_3>())).line_info_cnt as *const _ as usize
},
104usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_3),
"::",
stringify!(line_info_cnt)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_4 {
pub pathname: __u64,
pub bpf_fd: __u32,
pub file_flags: __u32,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_4() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_4>(),
16usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_4))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_4>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_4))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_4>())).pathname as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_4),
"::",
stringify!(pathname)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_4>())).bpf_fd as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_4),
"::",
stringify!(bpf_fd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_4>())).file_flags as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_4),
"::",
stringify!(file_flags)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_5 {
pub target_fd: __u32,
pub attach_bpf_fd: __u32,
pub attach_type: __u32,
pub attach_flags: __u32,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_5() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_5>(),
16usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_5))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_5>(),
4usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_5))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_5>())).target_fd as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_5),
"::",
stringify!(target_fd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_5>())).attach_bpf_fd as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_5),
"::",
stringify!(attach_bpf_fd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_5>())).attach_type as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_5),
"::",
stringify!(attach_type)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_5>())).attach_flags as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_5),
"::",
stringify!(attach_flags)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_6 {
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,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_6() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_6>(),
64usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_6))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_6>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_6))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).prog_fd as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(prog_fd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).retval as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(retval)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).data_size_in as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(data_size_in)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).data_size_out as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(data_size_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).data_in as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(data_in)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).data_out as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(data_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).repeat as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(repeat)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).duration as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(duration)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).ctx_size_in as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(ctx_size_in)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).ctx_size_out as *const _ as usize
},
44usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(ctx_size_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).ctx_in as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(ctx_in)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_6>())).ctx_out as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_6),
"::",
stringify!(ctx_out)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_attr__bindgen_ty_7 {
pub __bindgen_anon_1: bpf_attr__bindgen_ty_7__bindgen_ty_1,
pub next_id: __u32,
pub open_flags: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_attr__bindgen_ty_7__bindgen_ty_1 {
pub start_id: __u32,
pub prog_id: __u32,
pub map_id: __u32,
pub btf_id: __u32,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_7__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_7__bindgen_ty_1>(),
4usize,
concat!(
"Size of: ",
stringify!(bpf_attr__bindgen_ty_7__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_7__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(bpf_attr__bindgen_ty_7__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_7__bindgen_ty_1>())).start_id as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_7__bindgen_ty_1),
"::",
stringify!(start_id)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_7__bindgen_ty_1>())).prog_id as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_7__bindgen_ty_1),
"::",
stringify!(prog_id)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_7__bindgen_ty_1>())).map_id as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_7__bindgen_ty_1),
"::",
stringify!(map_id)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_7__bindgen_ty_1>())).btf_id as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_7__bindgen_ty_1),
"::",
stringify!(btf_id)
)
);
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_7() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_7>(),
12usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_7))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_7>(),
4usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_7))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_7>())).next_id as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_7),
"::",
stringify!(next_id)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_7>())).open_flags as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_7),
"::",
stringify!(open_flags)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_8 {
pub bpf_fd: __u32,
pub info_len: __u32,
pub info: __u64,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_8() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_8>(),
16usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_8))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_8>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_8))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_8>())).bpf_fd as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_8),
"::",
stringify!(bpf_fd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_8>())).info_len as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_8),
"::",
stringify!(info_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_8>())).info as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_8),
"::",
stringify!(info)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_9 {
pub target_fd: __u32,
pub attach_type: __u32,
pub query_flags: __u32,
pub attach_flags: __u32,
pub prog_ids: __u64,
pub prog_cnt: __u32,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_9() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_9>(),
32usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_9))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_9>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_9))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_9>())).target_fd as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_9),
"::",
stringify!(target_fd)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_9>())).attach_type as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_9),
"::",
stringify!(attach_type)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_9>())).query_flags as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_9),
"::",
stringify!(query_flags)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_9>())).attach_flags as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_9),
"::",
stringify!(attach_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_9>())).prog_ids as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_9),
"::",
stringify!(prog_ids)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_9>())).prog_cnt as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_9),
"::",
stringify!(prog_cnt)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_10 {
pub name: __u64,
pub prog_fd: __u32,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_10() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_10>(),
16usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_10))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_10>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_10))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_10>())).name as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_10),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_10>())).prog_fd as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_10),
"::",
stringify!(prog_fd)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_11 {
pub btf: __u64,
pub btf_log_buf: __u64,
pub btf_size: __u32,
pub btf_log_size: __u32,
pub btf_log_level: __u32,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_11() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_11>(),
32usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_11))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_11>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_11))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_11>())).btf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_11),
"::",
stringify!(btf)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_11>())).btf_log_buf as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_11),
"::",
stringify!(btf_log_buf)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_11>())).btf_size as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_11),
"::",
stringify!(btf_size)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_11>())).btf_log_size as *const _ as usize
},
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_11),
"::",
stringify!(btf_log_size)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_11>())).btf_log_level as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_11),
"::",
stringify!(btf_log_level)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_12 {
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,
}
#[test]
fn bindgen_test_layout_bpf_attr__bindgen_ty_12() {
assert_eq!(
::std::mem::size_of::<bpf_attr__bindgen_ty_12>(),
48usize,
concat!("Size of: ", stringify!(bpf_attr__bindgen_ty_12))
);
assert_eq!(
::std::mem::align_of::<bpf_attr__bindgen_ty_12>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr__bindgen_ty_12))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).pid as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(pid)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).fd as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(fd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).flags as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).buf_len as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(buf_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).buf as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(buf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).prog_id as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(prog_id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).fd_type as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(fd_type)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).probe_offset as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(probe_offset)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_attr__bindgen_ty_12>())).probe_addr as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr__bindgen_ty_12),
"::",
stringify!(probe_addr)
)
);
}
#[test]
fn bindgen_test_layout_bpf_attr() {
assert_eq!(
::std::mem::size_of::<bpf_attr>(),
112usize,
concat!("Size of: ", stringify!(bpf_attr))
);
assert_eq!(
::std::mem::align_of::<bpf_attr>(),
8usize,
concat!("Alignment of ", stringify!(bpf_attr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr>())).test as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr),
"::",
stringify!(test)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr>())).info as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr),
"::",
stringify!(info)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr>())).query as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr),
"::",
stringify!(query)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr>())).raw_tracepoint as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr),
"::",
stringify!(raw_tracepoint)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_attr>())).task_fd_query as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_attr),
"::",
stringify!(task_fd_query)
)
);
}
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_MAX_ID: bpf_func_id = 111;
pub type bpf_func_id = ::std::os::raw::c_uint;
pub const bpf_adj_room_mode_BPF_ADJ_ROOM_NET: bpf_adj_room_mode = 0;
pub const bpf_adj_room_mode_BPF_ADJ_ROOM_MAC: bpf_adj_room_mode = 1;
pub type bpf_adj_room_mode = ::std::os::raw::c_uint;
pub const bpf_hdr_start_off_BPF_HDR_START_MAC: bpf_hdr_start_off = 0;
pub const bpf_hdr_start_off_BPF_HDR_START_NET: bpf_hdr_start_off = 1;
pub type bpf_hdr_start_off = ::std::os::raw::c_uint;
pub const bpf_lwt_encap_mode_BPF_LWT_ENCAP_SEG6: bpf_lwt_encap_mode = 0;
pub const bpf_lwt_encap_mode_BPF_LWT_ENCAP_SEG6_INLINE: bpf_lwt_encap_mode = 1;
pub const bpf_lwt_encap_mode_BPF_LWT_ENCAP_IP: bpf_lwt_encap_mode = 2;
pub type bpf_lwt_encap_mode = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __sk_buff {
pub len: __u32,
pub pkt_type: __u32,
pub mark: __u32,
pub queue_mapping: __u32,
pub protocol: __u32,
pub vlan_present: __u32,
pub vlan_tci: __u32,
pub vlan_proto: __u32,
pub priority: __u32,
pub ingress_ifindex: __u32,
pub ifindex: __u32,
pub tc_index: __u32,
pub cb: [__u32; 5usize],
pub hash: __u32,
pub tc_classid: __u32,
pub data: __u32,
pub data_end: __u32,
pub napi_id: __u32,
pub family: __u32,
pub remote_ip4: __u32,
pub local_ip4: __u32,
pub remote_ip6: [__u32; 4usize],
pub local_ip6: [__u32; 4usize],
pub remote_port: __u32,
pub local_port: __u32,
pub data_meta: __u32,
pub __bindgen_anon_1: __sk_buff__bindgen_ty_1,
pub tstamp: __u64,
pub wire_len: __u32,
pub gso_segs: __u32,
pub __bindgen_anon_2: __sk_buff__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __sk_buff__bindgen_ty_1 {
pub flow_keys: *mut bpf_flow_keys,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout___sk_buff__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__sk_buff__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(__sk_buff__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<__sk_buff__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(__sk_buff__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__sk_buff__bindgen_ty_1>())).flow_keys as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff__bindgen_ty_1),
"::",
stringify!(flow_keys)
)
);
}
impl __sk_buff__bindgen_ty_1 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __sk_buff__bindgen_ty_2 {
pub sk: *mut bpf_sock,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout___sk_buff__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<__sk_buff__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(__sk_buff__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<__sk_buff__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(__sk_buff__bindgen_ty_2))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff__bindgen_ty_2>())).sk as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff__bindgen_ty_2),
"::",
stringify!(sk)
)
);
}
impl __sk_buff__bindgen_ty_2 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout___sk_buff() {
assert_eq!(
::std::mem::size_of::<__sk_buff>(),
176usize,
concat!("Size of: ", stringify!(__sk_buff))
);
assert_eq!(
::std::mem::align_of::<__sk_buff>(),
8usize,
concat!("Alignment of ", stringify!(__sk_buff))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).len as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).pkt_type as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(pkt_type)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).mark as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(mark)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).queue_mapping as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(queue_mapping)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).protocol as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(protocol)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).vlan_present as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(vlan_present)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).vlan_tci as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(vlan_tci)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).vlan_proto as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(vlan_proto)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).priority as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(priority)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).ingress_ifindex as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(ingress_ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).ifindex as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).tc_index as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(tc_index)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).cb as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(cb)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).hash as *const _ as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(hash)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).tc_classid as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(tc_classid)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).data as *const _ as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).data_end as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(data_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).napi_id as *const _ as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(napi_id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).family as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).remote_ip4 as *const _ as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(remote_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).local_ip4 as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(local_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).remote_ip6 as *const _ as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(remote_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).local_ip6 as *const _ as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(local_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).remote_port as *const _ as usize },
132usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(remote_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).local_port as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(local_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).data_meta as *const _ as usize },
140usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(data_meta)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).tstamp as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(tstamp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).wire_len as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(wire_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sk_buff>())).gso_segs as *const _ as usize },
164usize,
concat!(
"Offset of field: ",
stringify!(__sk_buff),
"::",
stringify!(gso_segs)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_tunnel_key {
pub tunnel_id: __u32,
pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
pub tunnel_tos: __u8,
pub tunnel_ttl: __u8,
pub tunnel_ext: __u16,
pub tunnel_label: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_tunnel_key__bindgen_ty_1 {
pub remote_ipv4: __u32,
pub remote_ipv6: [__u32; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[test]
fn bindgen_test_layout_bpf_tunnel_key__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_tunnel_key__bindgen_ty_1>(),
16usize,
concat!("Size of: ", stringify!(bpf_tunnel_key__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_tunnel_key__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(bpf_tunnel_key__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_tunnel_key__bindgen_ty_1>())).remote_ipv4 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_tunnel_key__bindgen_ty_1),
"::",
stringify!(remote_ipv4)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_tunnel_key__bindgen_ty_1>())).remote_ipv6 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_tunnel_key__bindgen_ty_1),
"::",
stringify!(remote_ipv6)
)
);
}
#[test]
fn bindgen_test_layout_bpf_tunnel_key() {
assert_eq!(
::std::mem::size_of::<bpf_tunnel_key>(),
28usize,
concat!("Size of: ", stringify!(bpf_tunnel_key))
);
assert_eq!(
::std::mem::align_of::<bpf_tunnel_key>(),
4usize,
concat!("Alignment of ", stringify!(bpf_tunnel_key))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tunnel_key>())).tunnel_id as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_tunnel_key),
"::",
stringify!(tunnel_id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tunnel_key>())).tunnel_tos as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_tunnel_key),
"::",
stringify!(tunnel_tos)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tunnel_key>())).tunnel_ttl as *const _ as usize },
21usize,
concat!(
"Offset of field: ",
stringify!(bpf_tunnel_key),
"::",
stringify!(tunnel_ttl)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tunnel_key>())).tunnel_ext as *const _ as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(bpf_tunnel_key),
"::",
stringify!(tunnel_ext)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tunnel_key>())).tunnel_label as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_tunnel_key),
"::",
stringify!(tunnel_label)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_xfrm_state {
pub reqid: __u32,
pub spi: __u32,
pub family: __u16,
pub ext: __u16,
pub __bindgen_anon_1: bpf_xfrm_state__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_xfrm_state__bindgen_ty_1 {
pub remote_ipv4: __u32,
pub remote_ipv6: [__u32; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[test]
fn bindgen_test_layout_bpf_xfrm_state__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_xfrm_state__bindgen_ty_1>(),
16usize,
concat!("Size of: ", stringify!(bpf_xfrm_state__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_xfrm_state__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(bpf_xfrm_state__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_xfrm_state__bindgen_ty_1>())).remote_ipv4 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_xfrm_state__bindgen_ty_1),
"::",
stringify!(remote_ipv4)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_xfrm_state__bindgen_ty_1>())).remote_ipv6 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_xfrm_state__bindgen_ty_1),
"::",
stringify!(remote_ipv6)
)
);
}
#[test]
fn bindgen_test_layout_bpf_xfrm_state() {
assert_eq!(
::std::mem::size_of::<bpf_xfrm_state>(),
28usize,
concat!("Size of: ", stringify!(bpf_xfrm_state))
);
assert_eq!(
::std::mem::align_of::<bpf_xfrm_state>(),
4usize,
concat!("Alignment of ", stringify!(bpf_xfrm_state))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_xfrm_state>())).reqid as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_xfrm_state),
"::",
stringify!(reqid)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_xfrm_state>())).spi as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_xfrm_state),
"::",
stringify!(spi)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_xfrm_state>())).family as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_xfrm_state),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_xfrm_state>())).ext as *const _ as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(bpf_xfrm_state),
"::",
stringify!(ext)
)
);
}
pub const bpf_ret_code_BPF_OK: bpf_ret_code = 0;
pub const bpf_ret_code_BPF_DROP: bpf_ret_code = 2;
pub const bpf_ret_code_BPF_REDIRECT: bpf_ret_code = 7;
pub const bpf_ret_code_BPF_LWT_REROUTE: bpf_ret_code = 128;
pub type bpf_ret_code = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_sock {
pub bound_dev_if: __u32,
pub family: __u32,
pub type_: __u32,
pub protocol: __u32,
pub mark: __u32,
pub priority: __u32,
pub src_ip4: __u32,
pub src_ip6: [__u32; 4usize],
pub src_port: __u32,
pub dst_port: __u32,
pub dst_ip4: __u32,
pub dst_ip6: [__u32; 4usize],
pub state: __u32,
}
#[test]
fn bindgen_test_layout_bpf_sock() {
assert_eq!(
::std::mem::size_of::<bpf_sock>(),
76usize,
concat!("Size of: ", stringify!(bpf_sock))
);
assert_eq!(
::std::mem::align_of::<bpf_sock>(),
4usize,
concat!("Alignment of ", stringify!(bpf_sock))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).bound_dev_if as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(bound_dev_if)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).family as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).type_ as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).protocol as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(protocol)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).mark as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(mark)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).priority as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(priority)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).src_ip4 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(src_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).src_ip6 as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(src_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).src_port as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(src_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).dst_port as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(dst_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).dst_ip4 as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(dst_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).dst_ip6 as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(dst_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock>())).state as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock),
"::",
stringify!(state)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_tcp_sock {
pub snd_cwnd: __u32,
pub srtt_us: __u32,
pub rtt_min: __u32,
pub snd_ssthresh: __u32,
pub rcv_nxt: __u32,
pub snd_nxt: __u32,
pub snd_una: __u32,
pub mss_cache: __u32,
pub ecn_flags: __u32,
pub rate_delivered: __u32,
pub rate_interval_us: __u32,
pub packets_out: __u32,
pub retrans_out: __u32,
pub total_retrans: __u32,
pub segs_in: __u32,
pub data_segs_in: __u32,
pub segs_out: __u32,
pub data_segs_out: __u32,
pub lost_out: __u32,
pub sacked_out: __u32,
pub bytes_received: __u64,
pub bytes_acked: __u64,
pub dsack_dups: __u32,
pub delivered: __u32,
pub delivered_ce: __u32,
pub icsk_retransmits: __u32,
}
#[test]
fn bindgen_test_layout_bpf_tcp_sock() {
assert_eq!(
::std::mem::size_of::<bpf_tcp_sock>(),
112usize,
concat!("Size of: ", stringify!(bpf_tcp_sock))
);
assert_eq!(
::std::mem::align_of::<bpf_tcp_sock>(),
8usize,
concat!("Alignment of ", stringify!(bpf_tcp_sock))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).snd_cwnd as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(snd_cwnd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).srtt_us as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(srtt_us)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).rtt_min as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(rtt_min)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).snd_ssthresh as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(snd_ssthresh)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).rcv_nxt as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(rcv_nxt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).snd_nxt as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(snd_nxt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).snd_una as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(snd_una)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).mss_cache as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(mss_cache)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).ecn_flags as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(ecn_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).rate_delivered as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(rate_delivered)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).rate_interval_us as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(rate_interval_us)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).packets_out as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(packets_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).retrans_out as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(retrans_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).total_retrans as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(total_retrans)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).segs_in as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(segs_in)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).data_segs_in as *const _ as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(data_segs_in)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).segs_out as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(segs_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).data_segs_out as *const _ as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(data_segs_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).lost_out as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(lost_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).sacked_out as *const _ as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(sacked_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).bytes_received as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(bytes_received)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).bytes_acked as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(bytes_acked)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).dsack_dups as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(dsack_dups)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).delivered as *const _ as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(delivered)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).delivered_ce as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(delivered_ce)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_tcp_sock>())).icsk_retransmits as *const _ as usize },
108usize,
concat!(
"Offset of field: ",
stringify!(bpf_tcp_sock),
"::",
stringify!(icsk_retransmits)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_sock_tuple {
pub __bindgen_anon_1: bpf_sock_tuple__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_sock_tuple__bindgen_ty_1 {
pub ipv4: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1,
pub ipv6: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2,
_bindgen_union_align: [u32; 9usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1 {
pub saddr: __be32,
pub daddr: __be32,
pub sport: __be16,
pub dport: __be16,
}
#[test]
fn bindgen_test_layout_bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1>(),
12usize,
concat!(
"Size of: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1>())).saddr as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(saddr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1>())).daddr as *const _
as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(daddr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1>())).sport as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(sport)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1>())).dport as *const _
as usize
},
10usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(dport)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2 {
pub saddr: [__be32; 4usize],
pub daddr: [__be32; 4usize],
pub sport: __be16,
pub dport: __be16,
}
#[test]
fn bindgen_test_layout_bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2>(),
36usize,
concat!(
"Size of: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
::std::mem::align_of::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2>(),
4usize,
concat!(
"Alignment of ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2>())).saddr as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(saddr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2>())).daddr as *const _
as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(daddr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2>())).sport as *const _
as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(sport)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2>())).dport as *const _
as usize
},
34usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(dport)
)
);
}
#[test]
fn bindgen_test_layout_bpf_sock_tuple__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_sock_tuple__bindgen_ty_1>(),
36usize,
concat!("Size of: ", stringify!(bpf_sock_tuple__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_sock_tuple__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(bpf_sock_tuple__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1>())).ipv4 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1),
"::",
stringify!(ipv4)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_tuple__bindgen_ty_1>())).ipv6 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_tuple__bindgen_ty_1),
"::",
stringify!(ipv6)
)
);
}
#[test]
fn bindgen_test_layout_bpf_sock_tuple() {
assert_eq!(
::std::mem::size_of::<bpf_sock_tuple>(),
36usize,
concat!("Size of: ", stringify!(bpf_sock_tuple))
);
assert_eq!(
::std::mem::align_of::<bpf_sock_tuple>(),
4usize,
concat!("Alignment of ", stringify!(bpf_sock_tuple))
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_xdp_sock {
pub queue_id: __u32,
}
#[test]
fn bindgen_test_layout_bpf_xdp_sock() {
assert_eq!(
::std::mem::size_of::<bpf_xdp_sock>(),
4usize,
concat!("Size of: ", stringify!(bpf_xdp_sock))
);
assert_eq!(
::std::mem::align_of::<bpf_xdp_sock>(),
4usize,
concat!("Alignment of ", stringify!(bpf_xdp_sock))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_xdp_sock>())).queue_id as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_xdp_sock),
"::",
stringify!(queue_id)
)
);
}
pub const xdp_action_XDP_ABORTED: xdp_action = 0;
pub const xdp_action_XDP_DROP: xdp_action = 1;
pub const xdp_action_XDP_PASS: xdp_action = 2;
pub const xdp_action_XDP_TX: xdp_action = 3;
pub const xdp_action_XDP_REDIRECT: xdp_action = 4;
pub type xdp_action = ::std::os::raw::c_uint;
#[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,
}
#[test]
fn bindgen_test_layout_xdp_md() {
assert_eq!(
::std::mem::size_of::<xdp_md>(),
20usize,
concat!("Size of: ", stringify!(xdp_md))
);
assert_eq!(
::std::mem::align_of::<xdp_md>(),
4usize,
concat!("Alignment of ", stringify!(xdp_md))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<xdp_md>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(xdp_md),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<xdp_md>())).data_end as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(xdp_md),
"::",
stringify!(data_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<xdp_md>())).data_meta as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(xdp_md),
"::",
stringify!(data_meta)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<xdp_md>())).ingress_ifindex as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(xdp_md),
"::",
stringify!(ingress_ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<xdp_md>())).rx_queue_index as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(xdp_md),
"::",
stringify!(rx_queue_index)
)
);
}
pub const sk_action_SK_DROP: sk_action = 0;
pub const sk_action_SK_PASS: sk_action = 1;
pub type sk_action = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sk_msg_md {
pub __bindgen_anon_1: sk_msg_md__bindgen_ty_1,
pub __bindgen_anon_2: sk_msg_md__bindgen_ty_2,
pub family: __u32,
pub remote_ip4: __u32,
pub local_ip4: __u32,
pub remote_ip6: [__u32; 4usize],
pub local_ip6: [__u32; 4usize],
pub remote_port: __u32,
pub local_port: __u32,
pub size: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sk_msg_md__bindgen_ty_1 {
pub data: *mut ::std::os::raw::c_void,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sk_msg_md__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<sk_msg_md__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(sk_msg_md__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<sk_msg_md__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(sk_msg_md__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md__bindgen_ty_1>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md__bindgen_ty_1),
"::",
stringify!(data)
)
);
}
impl sk_msg_md__bindgen_ty_1 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sk_msg_md__bindgen_ty_2 {
pub data_end: *mut ::std::os::raw::c_void,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sk_msg_md__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<sk_msg_md__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(sk_msg_md__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<sk_msg_md__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(sk_msg_md__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sk_msg_md__bindgen_ty_2>())).data_end as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md__bindgen_ty_2),
"::",
stringify!(data_end)
)
);
}
impl sk_msg_md__bindgen_ty_2 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout_sk_msg_md() {
assert_eq!(
::std::mem::size_of::<sk_msg_md>(),
72usize,
concat!("Size of: ", stringify!(sk_msg_md))
);
assert_eq!(
::std::mem::align_of::<sk_msg_md>(),
8usize,
concat!("Alignment of ", stringify!(sk_msg_md))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).family as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).remote_ip4 as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(remote_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).local_ip4 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(local_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).remote_ip6 as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(remote_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).local_ip6 as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(local_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).remote_port as *const _ as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(remote_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).local_port as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(local_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_msg_md>())).size as *const _ as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(sk_msg_md),
"::",
stringify!(size)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sk_reuseport_md {
pub __bindgen_anon_1: sk_reuseport_md__bindgen_ty_1,
pub __bindgen_anon_2: sk_reuseport_md__bindgen_ty_2,
pub len: __u32,
pub eth_protocol: __u32,
pub ip_protocol: __u32,
pub bind_inany: __u32,
pub hash: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sk_reuseport_md__bindgen_ty_1 {
pub data: *mut ::std::os::raw::c_void,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sk_reuseport_md__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<sk_reuseport_md__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(sk_reuseport_md__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<sk_reuseport_md__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(sk_reuseport_md__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sk_reuseport_md__bindgen_ty_1>())).data as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sk_reuseport_md__bindgen_ty_1),
"::",
stringify!(data)
)
);
}
impl sk_reuseport_md__bindgen_ty_1 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sk_reuseport_md__bindgen_ty_2 {
pub data_end: *mut ::std::os::raw::c_void,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_sk_reuseport_md__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<sk_reuseport_md__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(sk_reuseport_md__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<sk_reuseport_md__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(sk_reuseport_md__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<sk_reuseport_md__bindgen_ty_2>())).data_end as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(sk_reuseport_md__bindgen_ty_2),
"::",
stringify!(data_end)
)
);
}
impl sk_reuseport_md__bindgen_ty_2 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout_sk_reuseport_md() {
assert_eq!(
::std::mem::size_of::<sk_reuseport_md>(),
40usize,
concat!("Size of: ", stringify!(sk_reuseport_md))
);
assert_eq!(
::std::mem::align_of::<sk_reuseport_md>(),
8usize,
concat!("Alignment of ", stringify!(sk_reuseport_md))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_reuseport_md>())).len as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(sk_reuseport_md),
"::",
stringify!(len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_reuseport_md>())).eth_protocol as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(sk_reuseport_md),
"::",
stringify!(eth_protocol)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_reuseport_md>())).ip_protocol as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(sk_reuseport_md),
"::",
stringify!(ip_protocol)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_reuseport_md>())).bind_inany as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(sk_reuseport_md),
"::",
stringify!(bind_inany)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sk_reuseport_md>())).hash as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(sk_reuseport_md),
"::",
stringify!(hash)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_prog_info {
pub type_: __u32,
pub id: __u32,
pub tag: [__u8; 8usize],
pub jited_prog_len: __u32,
pub xlated_prog_len: __u32,
pub jited_prog_insns: __u64,
pub xlated_prog_insns: __u64,
pub load_time: __u64,
pub created_by_uid: __u32,
pub nr_map_ids: __u32,
pub map_ids: __u64,
pub name: [::std::os::raw::c_char; 16usize],
pub ifindex: __u32,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>,
pub netns_dev: __u64,
pub netns_ino: __u64,
pub nr_jited_ksyms: __u32,
pub nr_jited_func_lens: __u32,
pub jited_ksyms: __u64,
pub jited_func_lens: __u64,
pub btf_id: __u32,
pub func_info_rec_size: __u32,
pub func_info: __u64,
pub nr_func_info: __u32,
pub nr_line_info: __u32,
pub line_info: __u64,
pub jited_line_info: __u64,
pub nr_jited_line_info: __u32,
pub line_info_rec_size: __u32,
pub jited_line_info_rec_size: __u32,
pub nr_prog_tags: __u32,
pub prog_tags: __u64,
pub run_time_ns: __u64,
pub run_cnt: __u64,
}
#[test]
fn bindgen_test_layout_bpf_prog_info() {
assert_eq!(
::std::mem::size_of::<bpf_prog_info>(),
208usize,
concat!("Size of: ", stringify!(bpf_prog_info))
);
assert_eq!(
::std::mem::align_of::<bpf_prog_info>(),
8usize,
concat!("Alignment of ", stringify!(bpf_prog_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).type_ as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).id as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).tag as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(tag)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).jited_prog_len as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(jited_prog_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).xlated_prog_len as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(xlated_prog_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).jited_prog_insns as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(jited_prog_insns)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).xlated_prog_insns as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(xlated_prog_insns)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).load_time as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(load_time)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).created_by_uid as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(created_by_uid)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).nr_map_ids as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(nr_map_ids)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).map_ids as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(map_ids)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).name as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).ifindex as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).netns_dev as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(netns_dev)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).netns_ino as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(netns_ino)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).nr_jited_ksyms as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(nr_jited_ksyms)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_prog_info>())).nr_jited_func_lens as *const _ as usize
},
108usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(nr_jited_func_lens)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).jited_ksyms as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(jited_ksyms)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).jited_func_lens as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(jited_func_lens)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).btf_id as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(btf_id)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_prog_info>())).func_info_rec_size as *const _ as usize
},
132usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(func_info_rec_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).func_info as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(func_info)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).nr_func_info as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(nr_func_info)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).nr_line_info as *const _ as usize },
148usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(nr_line_info)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).line_info as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(line_info)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).jited_line_info as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(jited_line_info)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_prog_info>())).nr_jited_line_info as *const _ as usize
},
168usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(nr_jited_line_info)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_prog_info>())).line_info_rec_size as *const _ as usize
},
172usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(line_info_rec_size)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_prog_info>())).jited_line_info_rec_size as *const _ as usize
},
176usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(jited_line_info_rec_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).nr_prog_tags as *const _ as usize },
180usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(nr_prog_tags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).prog_tags as *const _ as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(prog_tags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).run_time_ns as *const _ as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(run_time_ns)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_prog_info>())).run_cnt as *const _ as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(bpf_prog_info),
"::",
stringify!(run_cnt)
)
);
}
impl bpf_prog_info {
#[inline]
pub fn gpl_compatible(&self) -> __u32 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_gpl_compatible(&mut self, val: __u32) {
unsafe {
let val: u32 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> =
Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let gpl_compatible: u32 = unsafe { ::std::mem::transmute(gpl_compatible) };
gpl_compatible as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_map_info {
pub type_: __u32,
pub id: __u32,
pub key_size: __u32,
pub value_size: __u32,
pub max_entries: __u32,
pub map_flags: __u32,
pub name: [::std::os::raw::c_char; 16usize],
pub ifindex: __u32,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>,
pub netns_dev: __u64,
pub netns_ino: __u64,
pub btf_id: __u32,
pub btf_key_type_id: __u32,
pub btf_value_type_id: __u32,
}
#[test]
fn bindgen_test_layout_bpf_map_info() {
assert_eq!(
::std::mem::size_of::<bpf_map_info>(),
80usize,
concat!("Size of: ", stringify!(bpf_map_info))
);
assert_eq!(
::std::mem::align_of::<bpf_map_info>(),
8usize,
concat!("Alignment of ", stringify!(bpf_map_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).type_ as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).id as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).key_size as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(key_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).value_size as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(value_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).max_entries as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(max_entries)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).map_flags as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(map_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).name as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).ifindex as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).netns_dev as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(netns_dev)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).netns_ino as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(netns_ino)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).btf_id as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(btf_id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).btf_key_type_id as *const _ as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(btf_key_type_id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_map_info>())).btf_value_type_id as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(bpf_map_info),
"::",
stringify!(btf_value_type_id)
)
);
}
impl bpf_map_info {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_btf_info {
pub btf: __u64,
pub btf_size: __u32,
pub id: __u32,
}
#[test]
fn bindgen_test_layout_bpf_btf_info() {
assert_eq!(
::std::mem::size_of::<bpf_btf_info>(),
16usize,
concat!("Size of: ", stringify!(bpf_btf_info))
);
assert_eq!(
::std::mem::align_of::<bpf_btf_info>(),
8usize,
concat!("Alignment of ", stringify!(bpf_btf_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_btf_info>())).btf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_btf_info),
"::",
stringify!(btf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_btf_info>())).btf_size as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_btf_info),
"::",
stringify!(btf_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_btf_info>())).id as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_btf_info),
"::",
stringify!(id)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_sock_addr {
pub user_family: __u32,
pub user_ip4: __u32,
pub user_ip6: [__u32; 4usize],
pub user_port: __u32,
pub family: __u32,
pub type_: __u32,
pub protocol: __u32,
pub msg_src_ip4: __u32,
pub msg_src_ip6: [__u32; 4usize],
pub __bindgen_anon_1: bpf_sock_addr__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_sock_addr__bindgen_ty_1 {
pub sk: *mut bpf_sock,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_bpf_sock_addr__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_sock_addr__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(bpf_sock_addr__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_sock_addr__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sock_addr__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr__bindgen_ty_1>())).sk as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr__bindgen_ty_1),
"::",
stringify!(sk)
)
);
}
impl bpf_sock_addr__bindgen_ty_1 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout_bpf_sock_addr() {
assert_eq!(
::std::mem::size_of::<bpf_sock_addr>(),
72usize,
concat!("Size of: ", stringify!(bpf_sock_addr))
);
assert_eq!(
::std::mem::align_of::<bpf_sock_addr>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sock_addr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).user_family as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(user_family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).user_ip4 as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(user_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).user_ip6 as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(user_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).user_port as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(user_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).family as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).type_ as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).protocol as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(protocol)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).msg_src_ip4 as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(msg_src_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_addr>())).msg_src_ip6 as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_addr),
"::",
stringify!(msg_src_ip6)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_sock_ops {
pub op: __u32,
pub __bindgen_anon_1: bpf_sock_ops__bindgen_ty_1,
pub family: __u32,
pub remote_ip4: __u32,
pub local_ip4: __u32,
pub remote_ip6: [__u32; 4usize],
pub local_ip6: [__u32; 4usize],
pub remote_port: __u32,
pub local_port: __u32,
pub is_fullsock: __u32,
pub snd_cwnd: __u32,
pub srtt_us: __u32,
pub bpf_sock_ops_cb_flags: __u32,
pub state: __u32,
pub rtt_min: __u32,
pub snd_ssthresh: __u32,
pub rcv_nxt: __u32,
pub snd_nxt: __u32,
pub snd_una: __u32,
pub mss_cache: __u32,
pub ecn_flags: __u32,
pub rate_delivered: __u32,
pub rate_interval_us: __u32,
pub packets_out: __u32,
pub retrans_out: __u32,
pub total_retrans: __u32,
pub segs_in: __u32,
pub data_segs_in: __u32,
pub segs_out: __u32,
pub data_segs_out: __u32,
pub lost_out: __u32,
pub sacked_out: __u32,
pub sk_txhash: __u32,
pub bytes_received: __u64,
pub bytes_acked: __u64,
pub __bindgen_anon_2: bpf_sock_ops__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_sock_ops__bindgen_ty_1 {
pub args: [__u32; 4usize],
pub reply: __u32,
pub replylong: [__u32; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[test]
fn bindgen_test_layout_bpf_sock_ops__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_sock_ops__bindgen_ty_1>(),
16usize,
concat!("Size of: ", stringify!(bpf_sock_ops__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_sock_ops__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(bpf_sock_ops__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops__bindgen_ty_1>())).args as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops__bindgen_ty_1),
"::",
stringify!(args)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_ops__bindgen_ty_1>())).reply as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops__bindgen_ty_1),
"::",
stringify!(reply)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_ops__bindgen_ty_1>())).replylong as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops__bindgen_ty_1),
"::",
stringify!(replylong)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_sock_ops__bindgen_ty_2 {
pub sk: *mut bpf_sock,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_bpf_sock_ops__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<bpf_sock_ops__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(bpf_sock_ops__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<bpf_sock_ops__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sock_ops__bindgen_ty_2))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops__bindgen_ty_2>())).sk as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops__bindgen_ty_2),
"::",
stringify!(sk)
)
);
}
impl bpf_sock_ops__bindgen_ty_2 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout_bpf_sock_ops() {
assert_eq!(
::std::mem::size_of::<bpf_sock_ops>(),
192usize,
concat!("Size of: ", stringify!(bpf_sock_ops))
);
assert_eq!(
::std::mem::align_of::<bpf_sock_ops>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sock_ops))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).op as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(op)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).family as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).remote_ip4 as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(remote_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).local_ip4 as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(local_ip4)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).remote_ip6 as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(remote_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).local_ip6 as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(local_ip6)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).remote_port as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(remote_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).local_port as *const _ as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(local_port)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).is_fullsock as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(is_fullsock)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).snd_cwnd as *const _ as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(snd_cwnd)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).srtt_us as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(srtt_us)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sock_ops>())).bpf_sock_ops_cb_flags as *const _ as usize
},
84usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(bpf_sock_ops_cb_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).state as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(state)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).rtt_min as *const _ as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(rtt_min)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).snd_ssthresh as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(snd_ssthresh)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).rcv_nxt as *const _ as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(rcv_nxt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).snd_nxt as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(snd_nxt)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).snd_una as *const _ as usize },
108usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(snd_una)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).mss_cache as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(mss_cache)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).ecn_flags as *const _ as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(ecn_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).rate_delivered as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(rate_delivered)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).rate_interval_us as *const _ as usize },
124usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(rate_interval_us)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).packets_out as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(packets_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).retrans_out as *const _ as usize },
132usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(retrans_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).total_retrans as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(total_retrans)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).segs_in as *const _ as usize },
140usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(segs_in)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).data_segs_in as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(data_segs_in)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).segs_out as *const _ as usize },
148usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(segs_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).data_segs_out as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(data_segs_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).lost_out as *const _ as usize },
156usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(lost_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).sacked_out as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(sacked_out)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).sk_txhash as *const _ as usize },
164usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(sk_txhash)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).bytes_received as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(bytes_received)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sock_ops>())).bytes_acked as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(bpf_sock_ops),
"::",
stringify!(bytes_acked)
)
);
}
pub const BPF_SOCK_OPS_VOID: ::std::os::raw::c_uint = 0;
pub const BPF_SOCK_OPS_TIMEOUT_INIT: ::std::os::raw::c_uint = 1;
pub const BPF_SOCK_OPS_RWND_INIT: ::std::os::raw::c_uint = 2;
pub const BPF_SOCK_OPS_TCP_CONNECT_CB: ::std::os::raw::c_uint = 3;
pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: ::std::os::raw::c_uint = 4;
pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: ::std::os::raw::c_uint = 5;
pub const BPF_SOCK_OPS_NEEDS_ECN: ::std::os::raw::c_uint = 6;
pub const BPF_SOCK_OPS_BASE_RTT: ::std::os::raw::c_uint = 7;
pub const BPF_SOCK_OPS_RTO_CB: ::std::os::raw::c_uint = 8;
pub const BPF_SOCK_OPS_RETRANS_CB: ::std::os::raw::c_uint = 9;
pub const BPF_SOCK_OPS_STATE_CB: ::std::os::raw::c_uint = 10;
pub const BPF_SOCK_OPS_TCP_LISTEN_CB: ::std::os::raw::c_uint = 11;
pub const BPF_SOCK_OPS_RTT_CB: ::std::os::raw::c_uint = 12;
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
pub const BPF_TCP_ESTABLISHED: ::std::os::raw::c_uint = 1;
pub const BPF_TCP_SYN_SENT: ::std::os::raw::c_uint = 2;
pub const BPF_TCP_SYN_RECV: ::std::os::raw::c_uint = 3;
pub const BPF_TCP_FIN_WAIT1: ::std::os::raw::c_uint = 4;
pub const BPF_TCP_FIN_WAIT2: ::std::os::raw::c_uint = 5;
pub const BPF_TCP_TIME_WAIT: ::std::os::raw::c_uint = 6;
pub const BPF_TCP_CLOSE: ::std::os::raw::c_uint = 7;
pub const BPF_TCP_CLOSE_WAIT: ::std::os::raw::c_uint = 8;
pub const BPF_TCP_LAST_ACK: ::std::os::raw::c_uint = 9;
pub const BPF_TCP_LISTEN: ::std::os::raw::c_uint = 10;
pub const BPF_TCP_CLOSING: ::std::os::raw::c_uint = 11;
pub const BPF_TCP_NEW_SYN_RECV: ::std::os::raw::c_uint = 12;
pub const BPF_TCP_MAX_STATES: ::std::os::raw::c_uint = 13;
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_perf_event_value {
pub counter: __u64,
pub enabled: __u64,
pub running: __u64,
}
#[test]
fn bindgen_test_layout_bpf_perf_event_value() {
assert_eq!(
::std::mem::size_of::<bpf_perf_event_value>(),
24usize,
concat!("Size of: ", stringify!(bpf_perf_event_value))
);
assert_eq!(
::std::mem::align_of::<bpf_perf_event_value>(),
8usize,
concat!("Alignment of ", stringify!(bpf_perf_event_value))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_perf_event_value>())).counter as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_perf_event_value),
"::",
stringify!(counter)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_perf_event_value>())).enabled as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_perf_event_value),
"::",
stringify!(enabled)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_perf_event_value>())).running as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_perf_event_value),
"::",
stringify!(running)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_cgroup_dev_ctx {
pub access_type: __u32,
pub major: __u32,
pub minor: __u32,
}
#[test]
fn bindgen_test_layout_bpf_cgroup_dev_ctx() {
assert_eq!(
::std::mem::size_of::<bpf_cgroup_dev_ctx>(),
12usize,
concat!("Size of: ", stringify!(bpf_cgroup_dev_ctx))
);
assert_eq!(
::std::mem::align_of::<bpf_cgroup_dev_ctx>(),
4usize,
concat!("Alignment of ", stringify!(bpf_cgroup_dev_ctx))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_cgroup_dev_ctx>())).access_type as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_cgroup_dev_ctx),
"::",
stringify!(access_type)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_cgroup_dev_ctx>())).major as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_cgroup_dev_ctx),
"::",
stringify!(major)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_cgroup_dev_ctx>())).minor as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_cgroup_dev_ctx),
"::",
stringify!(minor)
)
);
}
#[repr(C)]
#[derive(Debug)]
pub struct bpf_raw_tracepoint_args {
pub args: __IncompleteArrayField<__u64>,
}
#[test]
fn bindgen_test_layout_bpf_raw_tracepoint_args() {
assert_eq!(
::std::mem::size_of::<bpf_raw_tracepoint_args>(),
0usize,
concat!("Size of: ", stringify!(bpf_raw_tracepoint_args))
);
assert_eq!(
::std::mem::align_of::<bpf_raw_tracepoint_args>(),
8usize,
concat!("Alignment of ", stringify!(bpf_raw_tracepoint_args))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_raw_tracepoint_args>())).args as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_raw_tracepoint_args),
"::",
stringify!(args)
)
);
}
pub const BPF_FIB_LKUP_RET_SUCCESS: ::std::os::raw::c_uint = 0;
pub const BPF_FIB_LKUP_RET_BLACKHOLE: ::std::os::raw::c_uint = 1;
pub const BPF_FIB_LKUP_RET_UNREACHABLE: ::std::os::raw::c_uint = 2;
pub const BPF_FIB_LKUP_RET_PROHIBIT: ::std::os::raw::c_uint = 3;
pub const BPF_FIB_LKUP_RET_NOT_FWDED: ::std::os::raw::c_uint = 4;
pub const BPF_FIB_LKUP_RET_FWD_DISABLED: ::std::os::raw::c_uint = 5;
pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: ::std::os::raw::c_uint = 6;
pub const BPF_FIB_LKUP_RET_NO_NEIGH: ::std::os::raw::c_uint = 7;
pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: ::std::os::raw::c_uint = 8;
pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_fib_lookup {
pub family: __u8,
pub l4_protocol: __u8,
pub sport: __be16,
pub dport: __be16,
pub tot_len: __u16,
pub ifindex: __u32,
pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_1,
pub __bindgen_anon_2: bpf_fib_lookup__bindgen_ty_2,
pub __bindgen_anon_3: bpf_fib_lookup__bindgen_ty_3,
pub h_vlan_proto: __be16,
pub h_vlan_TCI: __be16,
pub smac: [__u8; 6usize],
pub dmac: [__u8; 6usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_fib_lookup__bindgen_ty_1 {
pub tos: __u8,
pub flowinfo: __be32,
pub rt_metric: __u32,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_bpf_fib_lookup__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_fib_lookup__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(bpf_fib_lookup__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_fib_lookup__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(bpf_fib_lookup__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_fib_lookup__bindgen_ty_1>())).tos as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup__bindgen_ty_1),
"::",
stringify!(tos)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_fib_lookup__bindgen_ty_1>())).flowinfo as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup__bindgen_ty_1),
"::",
stringify!(flowinfo)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_fib_lookup__bindgen_ty_1>())).rt_metric as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup__bindgen_ty_1),
"::",
stringify!(rt_metric)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_fib_lookup__bindgen_ty_2 {
pub ipv4_src: __be32,
pub ipv6_src: [__u32; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[test]
fn bindgen_test_layout_bpf_fib_lookup__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<bpf_fib_lookup__bindgen_ty_2>(),
16usize,
concat!("Size of: ", stringify!(bpf_fib_lookup__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<bpf_fib_lookup__bindgen_ty_2>(),
4usize,
concat!("Alignment of ", stringify!(bpf_fib_lookup__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_fib_lookup__bindgen_ty_2>())).ipv4_src as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup__bindgen_ty_2),
"::",
stringify!(ipv4_src)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_fib_lookup__bindgen_ty_2>())).ipv6_src as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup__bindgen_ty_2),
"::",
stringify!(ipv6_src)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_fib_lookup__bindgen_ty_3 {
pub ipv4_dst: __be32,
pub ipv6_dst: [__u32; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[test]
fn bindgen_test_layout_bpf_fib_lookup__bindgen_ty_3() {
assert_eq!(
::std::mem::size_of::<bpf_fib_lookup__bindgen_ty_3>(),
16usize,
concat!("Size of: ", stringify!(bpf_fib_lookup__bindgen_ty_3))
);
assert_eq!(
::std::mem::align_of::<bpf_fib_lookup__bindgen_ty_3>(),
4usize,
concat!("Alignment of ", stringify!(bpf_fib_lookup__bindgen_ty_3))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_fib_lookup__bindgen_ty_3>())).ipv4_dst as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup__bindgen_ty_3),
"::",
stringify!(ipv4_dst)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_fib_lookup__bindgen_ty_3>())).ipv6_dst as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup__bindgen_ty_3),
"::",
stringify!(ipv6_dst)
)
);
}
#[test]
fn bindgen_test_layout_bpf_fib_lookup() {
assert_eq!(
::std::mem::size_of::<bpf_fib_lookup>(),
64usize,
concat!("Size of: ", stringify!(bpf_fib_lookup))
);
assert_eq!(
::std::mem::align_of::<bpf_fib_lookup>(),
4usize,
concat!("Alignment of ", stringify!(bpf_fib_lookup))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).family as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).l4_protocol as *const _ as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(l4_protocol)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).sport as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(sport)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).dport as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(dport)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).tot_len as *const _ as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(tot_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).ifindex as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).h_vlan_proto as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(h_vlan_proto)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).h_vlan_TCI as *const _ as usize },
50usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(h_vlan_TCI)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).smac as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(smac)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_fib_lookup>())).dmac as *const _ as usize },
58usize,
concat!(
"Offset of field: ",
stringify!(bpf_fib_lookup),
"::",
stringify!(dmac)
)
);
}
pub const bpf_task_fd_type_BPF_FD_TYPE_RAW_TRACEPOINT: bpf_task_fd_type = 0;
pub const bpf_task_fd_type_BPF_FD_TYPE_TRACEPOINT: bpf_task_fd_type = 1;
pub const bpf_task_fd_type_BPF_FD_TYPE_KPROBE: bpf_task_fd_type = 2;
pub const bpf_task_fd_type_BPF_FD_TYPE_KRETPROBE: bpf_task_fd_type = 3;
pub const bpf_task_fd_type_BPF_FD_TYPE_UPROBE: bpf_task_fd_type = 4;
pub const bpf_task_fd_type_BPF_FD_TYPE_URETPROBE: bpf_task_fd_type = 5;
pub type bpf_task_fd_type = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_flow_keys {
pub nhoff: __u16,
pub thoff: __u16,
pub addr_proto: __u16,
pub is_frag: __u8,
pub is_first_frag: __u8,
pub is_encap: __u8,
pub ip_proto: __u8,
pub n_proto: __be16,
pub sport: __be16,
pub dport: __be16,
pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1,
pub flags: __u32,
pub flow_label: __be32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_flow_keys__bindgen_ty_1 {
pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1__bindgen_ty_1,
pub __bindgen_anon_2: bpf_flow_keys__bindgen_ty_1__bindgen_ty_2,
_bindgen_union_align: [u32; 8usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_1 {
pub ipv4_src: __be32,
pub ipv4_dst: __be32,
}
#[test]
fn bindgen_test_layout_bpf_flow_keys__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_1>())).ipv4_src
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(ipv4_src)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_1>())).ipv4_dst
as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(ipv4_dst)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_2 {
pub ipv6_src: [__u32; 4usize],
pub ipv6_dst: [__u32; 4usize],
}
#[test]
fn bindgen_test_layout_bpf_flow_keys__bindgen_ty_1__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_2>(),
32usize,
concat!(
"Size of: ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
::std::mem::align_of::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_2>(),
4usize,
concat!(
"Alignment of ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_2)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_2>())).ipv6_src
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(ipv6_src)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_flow_keys__bindgen_ty_1__bindgen_ty_2>())).ipv6_dst
as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys__bindgen_ty_1__bindgen_ty_2),
"::",
stringify!(ipv6_dst)
)
);
}
#[test]
fn bindgen_test_layout_bpf_flow_keys__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_flow_keys__bindgen_ty_1>(),
32usize,
concat!("Size of: ", stringify!(bpf_flow_keys__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_flow_keys__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(bpf_flow_keys__bindgen_ty_1))
);
}
#[test]
fn bindgen_test_layout_bpf_flow_keys() {
assert_eq!(
::std::mem::size_of::<bpf_flow_keys>(),
56usize,
concat!("Size of: ", stringify!(bpf_flow_keys))
);
assert_eq!(
::std::mem::align_of::<bpf_flow_keys>(),
4usize,
concat!("Alignment of ", stringify!(bpf_flow_keys))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).nhoff as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(nhoff)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).thoff as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(thoff)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).addr_proto as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(addr_proto)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).is_frag as *const _ as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(is_frag)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).is_first_frag as *const _ as usize },
7usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(is_first_frag)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).is_encap as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(is_encap)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).ip_proto as *const _ as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(ip_proto)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).n_proto as *const _ as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(n_proto)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).sport as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(sport)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).dport as *const _ as usize },
14usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(dport)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).flags as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_flow_keys>())).flow_label as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(bpf_flow_keys),
"::",
stringify!(flow_label)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_func_info {
pub insn_off: __u32,
pub type_id: __u32,
}
#[test]
fn bindgen_test_layout_bpf_func_info() {
assert_eq!(
::std::mem::size_of::<bpf_func_info>(),
8usize,
concat!("Size of: ", stringify!(bpf_func_info))
);
assert_eq!(
::std::mem::align_of::<bpf_func_info>(),
4usize,
concat!("Alignment of ", stringify!(bpf_func_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_func_info>())).insn_off as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_func_info),
"::",
stringify!(insn_off)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_func_info>())).type_id as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_func_info),
"::",
stringify!(type_id)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_bpf_line_info() {
assert_eq!(
::std::mem::size_of::<bpf_line_info>(),
16usize,
concat!("Size of: ", stringify!(bpf_line_info))
);
assert_eq!(
::std::mem::align_of::<bpf_line_info>(),
4usize,
concat!("Alignment of ", stringify!(bpf_line_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_line_info>())).insn_off as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_line_info),
"::",
stringify!(insn_off)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_line_info>())).file_name_off as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_line_info),
"::",
stringify!(file_name_off)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_line_info>())).line_off as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bpf_line_info),
"::",
stringify!(line_off)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_line_info>())).line_col as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(bpf_line_info),
"::",
stringify!(line_col)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_spin_lock {
pub val: __u32,
}
#[test]
fn bindgen_test_layout_bpf_spin_lock() {
assert_eq!(
::std::mem::size_of::<bpf_spin_lock>(),
4usize,
concat!("Size of: ", stringify!(bpf_spin_lock))
);
assert_eq!(
::std::mem::align_of::<bpf_spin_lock>(),
4usize,
concat!("Alignment of ", stringify!(bpf_spin_lock))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_spin_lock>())).val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_spin_lock),
"::",
stringify!(val)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_sysctl {
pub write: __u32,
pub file_pos: __u32,
}
#[test]
fn bindgen_test_layout_bpf_sysctl() {
assert_eq!(
::std::mem::size_of::<bpf_sysctl>(),
8usize,
concat!("Size of: ", stringify!(bpf_sysctl))
);
assert_eq!(
::std::mem::align_of::<bpf_sysctl>(),
4usize,
concat!("Alignment of ", stringify!(bpf_sysctl))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sysctl>())).write as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sysctl),
"::",
stringify!(write)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sysctl>())).file_pos as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(bpf_sysctl),
"::",
stringify!(file_pos)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_sockopt {
pub __bindgen_anon_1: bpf_sockopt__bindgen_ty_1,
pub __bindgen_anon_2: bpf_sockopt__bindgen_ty_2,
pub __bindgen_anon_3: bpf_sockopt__bindgen_ty_3,
pub level: __s32,
pub optname: __s32,
pub optlen: __s32,
pub retval: __s32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_sockopt__bindgen_ty_1 {
pub sk: *mut bpf_sock,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_bpf_sockopt__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<bpf_sockopt__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(bpf_sockopt__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<bpf_sockopt__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sockopt__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sockopt__bindgen_ty_1>())).sk as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sockopt__bindgen_ty_1),
"::",
stringify!(sk)
)
);
}
impl bpf_sockopt__bindgen_ty_1 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_sockopt__bindgen_ty_2 {
pub optval: *mut ::std::os::raw::c_void,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_bpf_sockopt__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<bpf_sockopt__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(bpf_sockopt__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<bpf_sockopt__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sockopt__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sockopt__bindgen_ty_2>())).optval as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sockopt__bindgen_ty_2),
"::",
stringify!(optval)
)
);
}
impl bpf_sockopt__bindgen_ty_2 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_sockopt__bindgen_ty_3 {
pub optval_end: *mut ::std::os::raw::c_void,
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_bpf_sockopt__bindgen_ty_3() {
assert_eq!(
::std::mem::size_of::<bpf_sockopt__bindgen_ty_3>(),
8usize,
concat!("Size of: ", stringify!(bpf_sockopt__bindgen_ty_3))
);
assert_eq!(
::std::mem::align_of::<bpf_sockopt__bindgen_ty_3>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sockopt__bindgen_ty_3))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<bpf_sockopt__bindgen_ty_3>())).optval_end as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(bpf_sockopt__bindgen_ty_3),
"::",
stringify!(optval_end)
)
);
}
impl bpf_sockopt__bindgen_ty_3 {
#[inline]
pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
Default::default();
__bindgen_bitfield_unit
}
}
#[test]
fn bindgen_test_layout_bpf_sockopt() {
assert_eq!(
::std::mem::size_of::<bpf_sockopt>(),
40usize,
concat!("Size of: ", stringify!(bpf_sockopt))
);
assert_eq!(
::std::mem::align_of::<bpf_sockopt>(),
8usize,
concat!("Alignment of ", stringify!(bpf_sockopt))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sockopt>())).level as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(bpf_sockopt),
"::",
stringify!(level)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sockopt>())).optname as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(bpf_sockopt),
"::",
stringify!(optname)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sockopt>())).optlen as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(bpf_sockopt),
"::",
stringify!(optlen)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<bpf_sockopt>())).retval as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(bpf_sockopt),
"::",
stringify!(retval)
)
);
}
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type u_long = __u_long;
pub type quad_t = __quad_t;
pub type u_quad_t = __u_quad_t;
pub type fsid_t = __fsid_t;
pub type loff_t = __loff_t;
pub type ino_t = __ino_t;
pub type dev_t = __dev_t;
pub type gid_t = __gid_t;
pub type mode_t = __mode_t;
pub type nlink_t = __nlink_t;
pub type uid_t = __uid_t;
pub type off_t = __off_t;
pub type pid_t = __pid_t;
pub type id_t = __id_t;
pub type ssize_t = __ssize_t;
pub type daddr_t = __daddr_t;
pub type caddr_t = __caddr_t;
pub type key_t = __key_t;
pub type clock_t = __clock_t;
pub type clockid_t = __clockid_t;
pub type time_t = __time_t;
pub type timer_t = __timer_t;
pub type ulong = ::std::os::raw::c_ulong;
pub type ushort = ::std::os::raw::c_ushort;
pub type uint = ::std::os::raw::c_uint;
pub type u_int8_t = __uint8_t;
pub type u_int16_t = __uint16_t;
pub type u_int32_t = __uint32_t;
pub type u_int64_t = __uint64_t;
pub type register_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
assert_eq!(
::std::mem::size_of::<__sigset_t>(),
128usize,
concat!("Size of: ", stringify!(__sigset_t))
);
assert_eq!(
::std::mem::align_of::<__sigset_t>(),
8usize,
concat!("Alignment of ", stringify!(__sigset_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sigset_t),
"::",
stringify!(__val)
)
);
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
pub tv_sec: __time_t,
pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
assert_eq!(
::std::mem::size_of::<timeval>(),
16usize,
concat!("Size of: ", stringify!(timeval))
);
assert_eq!(
::std::mem::align_of::<timeval>(),
8usize,
concat!("Alignment of ", stringify!(timeval))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_usec)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
assert_eq!(
::std::mem::size_of::<timespec>(),
16usize,
concat!("Size of: ", stringify!(timespec))
);
assert_eq!(
::std::mem::align_of::<timespec>(),
8usize,
concat!("Alignment of ", stringify!(timespec))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_nsec)
)
);
}
pub type suseconds_t = __suseconds_t;
pub type __fd_mask = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
pub __fds_bits: [__fd_mask; 16usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
assert_eq!(
::std::mem::size_of::<fd_set>(),
128usize,
concat!("Size of: ", stringify!(fd_set))
);
assert_eq!(
::std::mem::align_of::<fd_set>(),
8usize,
concat!("Alignment of ", stringify!(fd_set))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<fd_set>())).__fds_bits as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fd_set),
"::",
stringify!(__fds_bits)
)
);
}
pub type fd_mask = __fd_mask;
extern "C" {
pub fn select(
__nfds: ::std::os::raw::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *mut timeval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn pselect(
__nfds: ::std::os::raw::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *const timespec,
__sigmask: *const __sigset_t,
) -> ::std::os::raw::c_int;
}
pub type blksize_t = __blksize_t;
pub type blkcnt_t = __blkcnt_t;
pub type fsblkcnt_t = __fsblkcnt_t;
pub type fsfilcnt_t = __fsfilcnt_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
pub __prev: *mut __pthread_internal_list,
pub __next: *mut __pthread_internal_list,
}
#[test]
fn bindgen_test_layout___pthread_internal_list() {
assert_eq!(
::std::mem::size_of::<__pthread_internal_list>(),
16usize,
concat!("Size of: ", stringify!(__pthread_internal_list))
);
assert_eq!(
::std::mem::align_of::<__pthread_internal_list>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_internal_list))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__prev)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__next)
)
);
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_slist {
pub __next: *mut __pthread_internal_slist,
}
#[test]
fn bindgen_test_layout___pthread_internal_slist() {
assert_eq!(
::std::mem::size_of::<__pthread_internal_slist>(),
8usize,
concat!("Size of: ", stringify!(__pthread_internal_slist))
);
assert_eq!(
::std::mem::align_of::<__pthread_internal_slist>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_internal_slist))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_internal_slist>())).__next as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_slist),
"::",
stringify!(__next)
)
);
}
pub type __pthread_slist_t = __pthread_internal_slist;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s {
pub __lock: ::std::os::raw::c_int,
pub __count: ::std::os::raw::c_uint,
pub __owner: ::std::os::raw::c_int,
pub __nusers: ::std::os::raw::c_uint,
pub __kind: ::std::os::raw::c_int,
pub __spins: ::std::os::raw::c_short,
pub __elision: ::std::os::raw::c_short,
pub __list: __pthread_list_t,
}
#[test]
fn bindgen_test_layout___pthread_mutex_s() {
assert_eq!(
::std::mem::size_of::<__pthread_mutex_s>(),
40usize,
concat!("Size of: ", stringify!(__pthread_mutex_s))
);
assert_eq!(
::std::mem::align_of::<__pthread_mutex_s>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_mutex_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__lock)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__count)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__owner)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__nusers)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__kind)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__spins)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__elision)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__list)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_rwlock_arch_t {
pub __readers: ::std::os::raw::c_uint,
pub __writers: ::std::os::raw::c_uint,
pub __wrphase_futex: ::std::os::raw::c_uint,
pub __writers_futex: ::std::os::raw::c_uint,
pub __pad3: ::std::os::raw::c_uint,
pub __pad4: ::std::os::raw::c_uint,
pub __cur_writer: ::std::os::raw::c_int,
pub __shared: ::std::os::raw::c_int,
pub __rwelision: ::std::os::raw::c_schar,
pub __pad1: [::std::os::raw::c_uchar; 7usize],
pub __pad2: ::std::os::raw::c_ulong,
pub __flags: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_rwlock_arch_t() {
assert_eq!(
::std::mem::size_of::<__pthread_rwlock_arch_t>(),
56usize,
concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
);
assert_eq!(
::std::mem::align_of::<__pthread_rwlock_arch_t>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__readers)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__wrphase_futex)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers_futex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad3)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad4)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__cur_writer)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _ as usize
},
28usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__shared)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__rwelision)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _ as usize },
33usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad2)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__flags)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
pub __g_refs: [::std::os::raw::c_uint; 2usize],
pub __g_size: [::std::os::raw::c_uint; 2usize],
pub __g1_orig_size: ::std::os::raw::c_uint,
pub __wrefs: ::std::os::raw::c_uint,
pub __g_signals: [::std::os::raw::c_uint; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_1 {
pub __wseq: ::std::os::raw::c_ulonglong,
pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
_bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
pub __low: ::std::os::raw::c_uint,
pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__low
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__low)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__high
as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__high)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1),
"::",
stringify!(__wseq)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1),
"::",
stringify!(__wseq32)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_2 {
pub __g1_start: ::std::os::raw::c_ulonglong,
pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
_bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
pub __low: ::std::os::raw::c_uint,
pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__low
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(__low)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__high
as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(__high)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2),
"::",
stringify!(__g1_start)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2),
"::",
stringify!(__g1_start32)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s() {
assert_eq!(
::std::mem::size_of::<__pthread_cond_s>(),
48usize,
concat!("Size of: ", stringify!(__pthread_cond_s))
);
assert_eq!(
::std::mem::align_of::<__pthread_cond_s>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_refs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g1_orig_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__wrefs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_signals as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_signals)
)
);
}
pub type pthread_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
pub __size: [::std::os::raw::c_char; 4usize],
pub __align: ::std::os::raw::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_mutexattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_mutexattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_mutexattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_mutexattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_mutexattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
pub __size: [::std::os::raw::c_char; 4usize],
pub __align: ::std::os::raw::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_condattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_condattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_condattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_condattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_condattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__align)
)
);
}
pub type pthread_key_t = ::std::os::raw::c_uint;
pub type pthread_once_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
pub __size: [::std::os::raw::c_char; 56usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
assert_eq!(
::std::mem::size_of::<pthread_attr_t>(),
56usize,
concat!("Size of: ", stringify!(pthread_attr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_attr_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_attr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
pub __data: __pthread_mutex_s,
pub __size: [::std::os::raw::c_char; 40usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 5usize],
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
assert_eq!(
::std::mem::size_of::<pthread_mutex_t>(),
40usize,
concat!("Size of: ", stringify!(pthread_mutex_t))
);
assert_eq!(
::std::mem::align_of::<pthread_mutex_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_mutex_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
pub __data: __pthread_cond_s,
pub __size: [::std::os::raw::c_char; 48usize],
pub __align: ::std::os::raw::c_longlong,
_bindgen_union_align: [u64; 6usize],
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
assert_eq!(
::std::mem::size_of::<pthread_cond_t>(),
48usize,
concat!("Size of: ", stringify!(pthread_cond_t))
);
assert_eq!(
::std::mem::align_of::<pthread_cond_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_cond_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
pub __data: __pthread_rwlock_arch_t,
pub __size: [::std::os::raw::c_char; 56usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
assert_eq!(
::std::mem::size_of::<pthread_rwlock_t>(),
56usize,
concat!("Size of: ", stringify!(pthread_rwlock_t))
);
assert_eq!(
::std::mem::align_of::<pthread_rwlock_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_rwlock_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
pub __size: [::std::os::raw::c_char; 8usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_pthread_rwlockattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_rwlockattr_t>(),
8usize,
concat!("Size of: ", stringify!(pthread_rwlockattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_rwlockattr_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__align)
)
);
}
pub type pthread_spinlock_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
pub __size: [::std::os::raw::c_char; 32usize],
pub __align: ::std::os::raw::c_long,
_bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
assert_eq!(
::std::mem::size_of::<pthread_barrier_t>(),
32usize,
concat!("Size of: ", stringify!(pthread_barrier_t))
);
assert_eq!(
::std::mem::align_of::<pthread_barrier_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_barrier_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
pub __size: [::std::os::raw::c_char; 4usize],
pub __align: ::std::os::raw::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_barrierattr_t() {
assert_eq!(
::std::mem::size_of::<pthread_barrierattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_barrierattr_t))
);
assert_eq!(
::std::mem::align_of::<pthread_barrierattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_barrierattr_t))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__align)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_create_map_attr {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_load_program_attr {
_unused: [u8; 0],
}
pub const bpf_probe_attach_type_BPF_PROBE_ENTRY: bpf_probe_attach_type = 0;
pub const bpf_probe_attach_type_BPF_PROBE_RETURN: bpf_probe_attach_type = 1;
pub type bpf_probe_attach_type = ::std::os::raw::c_uint;
extern "C" {
pub fn bcc_create_map(
map_type: bpf_map_type,
name: *const ::std::os::raw::c_char,
key_size: ::std::os::raw::c_int,
value_size: ::std::os::raw::c_int,
max_entries: ::std::os::raw::c_int,
map_flags: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bcc_create_map_xattr(
attr: *mut bpf_create_map_attr,
allow_rlimit: bool,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_update_elem(
fd: ::std::os::raw::c_int,
key: *mut ::std::os::raw::c_void,
value: *mut ::std::os::raw::c_void,
flags: ::std::os::raw::c_ulonglong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_lookup_elem(
fd: ::std::os::raw::c_int,
key: *mut ::std::os::raw::c_void,
value: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_delete_elem(
fd: ::std::os::raw::c_int,
key: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_get_first_key(
fd: ::std::os::raw::c_int,
key: *mut ::std::os::raw::c_void,
key_size: size_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_get_next_key(
fd: ::std::os::raw::c_int,
key: *mut ::std::os::raw::c_void,
next_key: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bcc_prog_load(
prog_type: bpf_prog_type,
name: *const ::std::os::raw::c_char,
insns: *const bpf_insn,
prog_len: ::std::os::raw::c_int,
license: *const ::std::os::raw::c_char,
kern_version: ::std::os::raw::c_uint,
log_level: ::std::os::raw::c_int,
log_buf: *mut ::std::os::raw::c_char,
log_buf_size: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bcc_prog_load_xattr(
attr: *mut bpf_load_program_attr,
prog_len: ::std::os::raw::c_int,
log_buf: *mut ::std::os::raw::c_char,
log_buf_size: ::std::os::raw::c_uint,
allow_rlimit: bool,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_attach_socket(
sockfd: ::std::os::raw::c_int,
progfd: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_open_raw_sock(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
pub type perf_reader_raw_cb = ::std::option::Option<
unsafe extern "C" fn(
cb_cookie: *mut ::std::os::raw::c_void,
raw: *mut ::std::os::raw::c_void,
raw_size: ::std::os::raw::c_int,
),
>;
pub type perf_reader_lost_cb =
::std::option::Option<unsafe extern "C" fn(cb_cookie: *mut ::std::os::raw::c_void, lost: u64)>;
extern "C" {
pub fn bpf_attach_kprobe(
progfd: ::std::os::raw::c_int,
attach_type: bpf_probe_attach_type,
ev_name: *const ::std::os::raw::c_char,
fn_name: *const ::std::os::raw::c_char,
fn_offset: u64,
maxactive: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_detach_kprobe(ev_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_attach_uprobe(
progfd: ::std::os::raw::c_int,
attach_type: bpf_probe_attach_type,
ev_name: *const ::std::os::raw::c_char,
binary_path: *const ::std::os::raw::c_char,
offset: u64,
pid: pid_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_detach_uprobe(ev_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_attach_tracepoint(
progfd: ::std::os::raw::c_int,
tp_category: *const ::std::os::raw::c_char,
tp_name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_detach_tracepoint(
tp_category: *const ::std::os::raw::c_char,
tp_name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_attach_raw_tracepoint(
progfd: ::std::os::raw::c_int,
tp_name: *mut ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_open_perf_buffer(
raw_cb: perf_reader_raw_cb,
lost_cb: perf_reader_lost_cb,
cb_cookie: *mut ::std::os::raw::c_void,
pid: ::std::os::raw::c_int,
cpu: ::std::os::raw::c_int,
page_cnt: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn bpf_attach_xdp(
dev_name: *const ::std::os::raw::c_char,
progfd: ::std::os::raw::c_int,
flags: u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_attach_perf_event_raw(
progfd: ::std::os::raw::c_int,
perf_event_attr: *mut ::std::os::raw::c_void,
pid: pid_t,
cpu: ::std::os::raw::c_int,
group_fd: ::std::os::raw::c_int,
extra_flags: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_attach_perf_event(
progfd: ::std::os::raw::c_int,
ev_type: u32,
ev_config: u32,
sample_period: u64,
sample_freq: u64,
pid: pid_t,
cpu: ::std::os::raw::c_int,
group_fd: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_open_perf_event(
type_: u32,
config: u64,
pid: ::std::os::raw::c_int,
cpu: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_close_perf_event_fd(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_obj_pin(
fd: ::std::os::raw::c_int,
pathname: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_obj_get(pathname: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_obj_get_info(
prog_map_fd: ::std::os::raw::c_int,
info: *mut ::std::os::raw::c_void,
info_len: *mut u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_compute_tag(
insns: *const bpf_insn,
prog_len: ::std::os::raw::c_int,
tag: *mut ::std::os::raw::c_ulonglong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_get_tag(
fd: ::std::os::raw::c_int,
tag: *mut ::std::os::raw::c_ulonglong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_get_next_id(start_id: u32, next_id: *mut u32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_get_fd_by_id(id: u32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_get_fd_by_id(id: u32) -> ::std::os::raw::c_int;
}
pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
#[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 ::std::os::raw::c_void,
_bindgen_union_align: [u64; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
pub ss_family: __kernel_sa_family_t,
pub __data: [::std::os::raw::c_char; 126usize],
}
#[test]
fn bindgen_test_layout___kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
128usize,
concat!(
"Size of: ",
stringify!(__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
2usize,
concat!(
"Alignment of ",
stringify!(__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1>()))
.ss_family as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(ss_family)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1>())).__data
as *const _ as usize
},
2usize,
concat!(
"Offset of field: ",
stringify!(__kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__data)
)
);
}
#[test]
fn bindgen_test_layout___kernel_sockaddr_storage__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<__kernel_sockaddr_storage__bindgen_ty_1>(),
128usize,
concat!(
"Size of: ",
stringify!(__kernel_sockaddr_storage__bindgen_ty_1)
)
);
assert_eq!(
::std::mem::align_of::<__kernel_sockaddr_storage__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(__kernel_sockaddr_storage__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<__kernel_sockaddr_storage__bindgen_ty_1>())).__align as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__kernel_sockaddr_storage__bindgen_ty_1),
"::",
stringify!(__align)
)
);
}
#[test]
fn bindgen_test_layout___kernel_sockaddr_storage() {
assert_eq!(
::std::mem::size_of::<__kernel_sockaddr_storage>(),
128usize,
concat!("Size of: ", stringify!(__kernel_sockaddr_storage))
);
assert_eq!(
::std::mem::align_of::<__kernel_sockaddr_storage>(),
8usize,
concat!("Alignment of ", stringify!(__kernel_sockaddr_storage))
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sockaddr_nl {
pub nl_family: __kernel_sa_family_t,
pub nl_pad: ::std::os::raw::c_ushort,
pub nl_pid: __u32,
pub nl_groups: __u32,
}
#[test]
fn bindgen_test_layout_sockaddr_nl() {
assert_eq!(
::std::mem::size_of::<sockaddr_nl>(),
12usize,
concat!("Size of: ", stringify!(sockaddr_nl))
);
assert_eq!(
::std::mem::align_of::<sockaddr_nl>(),
4usize,
concat!("Alignment of ", stringify!(sockaddr_nl))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sockaddr_nl>())).nl_family as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sockaddr_nl),
"::",
stringify!(nl_family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sockaddr_nl>())).nl_pad as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(sockaddr_nl),
"::",
stringify!(nl_pad)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sockaddr_nl>())).nl_pid as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(sockaddr_nl),
"::",
stringify!(nl_pid)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<sockaddr_nl>())).nl_groups as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sockaddr_nl),
"::",
stringify!(nl_groups)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_nlmsghdr() {
assert_eq!(
::std::mem::size_of::<nlmsghdr>(),
16usize,
concat!("Size of: ", stringify!(nlmsghdr))
);
assert_eq!(
::std::mem::align_of::<nlmsghdr>(),
4usize,
concat!("Alignment of ", stringify!(nlmsghdr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlmsghdr>())).nlmsg_len as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nlmsghdr),
"::",
stringify!(nlmsg_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlmsghdr>())).nlmsg_type as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(nlmsghdr),
"::",
stringify!(nlmsg_type)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlmsghdr>())).nlmsg_flags as *const _ as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(nlmsghdr),
"::",
stringify!(nlmsg_flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlmsghdr>())).nlmsg_seq as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nlmsghdr),
"::",
stringify!(nlmsg_seq)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlmsghdr>())).nlmsg_pid as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(nlmsghdr),
"::",
stringify!(nlmsg_pid)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlmsgerr {
pub error: ::std::os::raw::c_int,
pub msg: nlmsghdr,
}
#[test]
fn bindgen_test_layout_nlmsgerr() {
assert_eq!(
::std::mem::size_of::<nlmsgerr>(),
20usize,
concat!("Size of: ", stringify!(nlmsgerr))
);
assert_eq!(
::std::mem::align_of::<nlmsgerr>(),
4usize,
concat!("Alignment of ", stringify!(nlmsgerr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlmsgerr>())).error as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nlmsgerr),
"::",
stringify!(error)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlmsgerr>())).msg as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(nlmsgerr),
"::",
stringify!(msg)
)
);
}
pub const nlmsgerr_attrs_NLMSGERR_ATTR_UNUSED: nlmsgerr_attrs = 0;
pub const nlmsgerr_attrs_NLMSGERR_ATTR_MSG: nlmsgerr_attrs = 1;
pub const nlmsgerr_attrs_NLMSGERR_ATTR_OFFS: nlmsgerr_attrs = 2;
pub const nlmsgerr_attrs_NLMSGERR_ATTR_COOKIE: nlmsgerr_attrs = 3;
pub const nlmsgerr_attrs___NLMSGERR_ATTR_MAX: nlmsgerr_attrs = 4;
pub const nlmsgerr_attrs_NLMSGERR_ATTR_MAX: nlmsgerr_attrs = 3;
#[doc = " enum nlmsgerr_attrs - nlmsgerr attributes"]
#[doc = " @NLMSGERR_ATTR_UNUSED: unused"]
#[doc = " @NLMSGERR_ATTR_MSG: error message string (string)"]
#[doc = " @NLMSGERR_ATTR_OFFS: offset of the invalid attribute in the original"]
#[doc = "\t message, counting from the beginning of the header (u32)"]
#[doc = " @NLMSGERR_ATTR_COOKIE: arbitrary subsystem specific cookie to"]
#[doc = "\tbe used - in the success case - to identify a created"]
#[doc = "\tobject or operation or similar (binary)"]
#[doc = " @__NLMSGERR_ATTR_MAX: number of attributes"]
#[doc = " @NLMSGERR_ATTR_MAX: highest attribute number"]
pub type nlmsgerr_attrs = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nl_pktinfo {
pub group: __u32,
}
#[test]
fn bindgen_test_layout_nl_pktinfo() {
assert_eq!(
::std::mem::size_of::<nl_pktinfo>(),
4usize,
concat!("Size of: ", stringify!(nl_pktinfo))
);
assert_eq!(
::std::mem::align_of::<nl_pktinfo>(),
4usize,
concat!("Alignment of ", stringify!(nl_pktinfo))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_pktinfo>())).group as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nl_pktinfo),
"::",
stringify!(group)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nl_mmap_req {
pub nm_block_size: ::std::os::raw::c_uint,
pub nm_block_nr: ::std::os::raw::c_uint,
pub nm_frame_size: ::std::os::raw::c_uint,
pub nm_frame_nr: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_nl_mmap_req() {
assert_eq!(
::std::mem::size_of::<nl_mmap_req>(),
16usize,
concat!("Size of: ", stringify!(nl_mmap_req))
);
assert_eq!(
::std::mem::align_of::<nl_mmap_req>(),
4usize,
concat!("Alignment of ", stringify!(nl_mmap_req))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_req>())).nm_block_size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_req),
"::",
stringify!(nm_block_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_req>())).nm_block_nr as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_req),
"::",
stringify!(nm_block_nr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_req>())).nm_frame_size as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_req),
"::",
stringify!(nm_frame_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_req>())).nm_frame_nr as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_req),
"::",
stringify!(nm_frame_nr)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nl_mmap_hdr {
pub nm_status: ::std::os::raw::c_uint,
pub nm_len: ::std::os::raw::c_uint,
pub nm_group: __u32,
pub nm_pid: __u32,
pub nm_uid: __u32,
pub nm_gid: __u32,
}
#[test]
fn bindgen_test_layout_nl_mmap_hdr() {
assert_eq!(
::std::mem::size_of::<nl_mmap_hdr>(),
24usize,
concat!("Size of: ", stringify!(nl_mmap_hdr))
);
assert_eq!(
::std::mem::align_of::<nl_mmap_hdr>(),
4usize,
concat!("Alignment of ", stringify!(nl_mmap_hdr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_hdr>())).nm_status as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_hdr),
"::",
stringify!(nm_status)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_hdr>())).nm_len as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_hdr),
"::",
stringify!(nm_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_hdr>())).nm_group as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_hdr),
"::",
stringify!(nm_group)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_hdr>())).nm_pid as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_hdr),
"::",
stringify!(nm_pid)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_hdr>())).nm_uid as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_hdr),
"::",
stringify!(nm_uid)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nl_mmap_hdr>())).nm_gid as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(nl_mmap_hdr),
"::",
stringify!(nm_gid)
)
);
}
pub const nl_mmap_status_NL_MMAP_STATUS_UNUSED: nl_mmap_status = 0;
pub const nl_mmap_status_NL_MMAP_STATUS_RESERVED: nl_mmap_status = 1;
pub const nl_mmap_status_NL_MMAP_STATUS_VALID: nl_mmap_status = 2;
pub const nl_mmap_status_NL_MMAP_STATUS_COPY: nl_mmap_status = 3;
pub const nl_mmap_status_NL_MMAP_STATUS_SKIP: nl_mmap_status = 4;
pub type nl_mmap_status = ::std::os::raw::c_uint;
pub const NETLINK_UNCONNECTED: ::std::os::raw::c_uint = 0;
pub const NETLINK_CONNECTED: ::std::os::raw::c_uint = 1;
pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlattr {
pub nla_len: __u16,
pub nla_type: __u16,
}
#[test]
fn bindgen_test_layout_nlattr() {
assert_eq!(
::std::mem::size_of::<nlattr>(),
4usize,
concat!("Size of: ", stringify!(nlattr))
);
assert_eq!(
::std::mem::align_of::<nlattr>(),
2usize,
concat!("Alignment of ", stringify!(nlattr))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlattr>())).nla_len as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nlattr),
"::",
stringify!(nla_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nlattr>())).nla_type as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(nlattr),
"::",
stringify!(nla_type)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nla_bitfield32 {
pub value: __u32,
pub selector: __u32,
}
#[test]
fn bindgen_test_layout_nla_bitfield32() {
assert_eq!(
::std::mem::size_of::<nla_bitfield32>(),
8usize,
concat!("Size of: ", stringify!(nla_bitfield32))
);
assert_eq!(
::std::mem::align_of::<nla_bitfield32>(),
4usize,
concat!("Alignment of ", stringify!(nla_bitfield32))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nla_bitfield32>())).value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nla_bitfield32),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nla_bitfield32>())).selector as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(nla_bitfield32),
"::",
stringify!(selector)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnl_link_stats {
pub rx_packets: __u32,
pub tx_packets: __u32,
pub rx_bytes: __u32,
pub tx_bytes: __u32,
pub rx_errors: __u32,
pub tx_errors: __u32,
pub rx_dropped: __u32,
pub tx_dropped: __u32,
pub multicast: __u32,
pub collisions: __u32,
pub rx_length_errors: __u32,
pub rx_over_errors: __u32,
pub rx_crc_errors: __u32,
pub rx_frame_errors: __u32,
pub rx_fifo_errors: __u32,
pub rx_missed_errors: __u32,
pub tx_aborted_errors: __u32,
pub tx_carrier_errors: __u32,
pub tx_fifo_errors: __u32,
pub tx_heartbeat_errors: __u32,
pub tx_window_errors: __u32,
pub rx_compressed: __u32,
pub tx_compressed: __u32,
pub rx_nohandler: __u32,
}
#[test]
fn bindgen_test_layout_rtnl_link_stats() {
assert_eq!(
::std::mem::size_of::<rtnl_link_stats>(),
96usize,
concat!("Size of: ", stringify!(rtnl_link_stats))
);
assert_eq!(
::std::mem::align_of::<rtnl_link_stats>(),
4usize,
concat!("Alignment of ", stringify!(rtnl_link_stats))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_packets as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_packets)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).tx_packets as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_packets)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_bytes as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_bytes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).tx_bytes as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_bytes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_errors as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).tx_errors as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_dropped as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_dropped)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).tx_dropped as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_dropped)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).multicast as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(multicast)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).collisions as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(collisions)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats>())).rx_length_errors as *const _ as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_length_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_over_errors as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_over_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_crc_errors as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_crc_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_frame_errors as *const _ as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_frame_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_fifo_errors as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_fifo_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats>())).rx_missed_errors as *const _ as usize
},
60usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_missed_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats>())).tx_aborted_errors as *const _ as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_aborted_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats>())).tx_carrier_errors as *const _ as usize
},
68usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_carrier_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).tx_fifo_errors as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_fifo_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats>())).tx_heartbeat_errors as *const _ as usize
},
76usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_heartbeat_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats>())).tx_window_errors as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_window_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_compressed as *const _ as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_compressed)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).tx_compressed as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(tx_compressed)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats>())).rx_nohandler as *const _ as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats),
"::",
stringify!(rx_nohandler)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_rtnl_link_stats64() {
assert_eq!(
::std::mem::size_of::<rtnl_link_stats64>(),
192usize,
concat!("Size of: ", stringify!(rtnl_link_stats64))
);
assert_eq!(
::std::mem::align_of::<rtnl_link_stats64>(),
8usize,
concat!("Alignment of ", stringify!(rtnl_link_stats64))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).rx_packets as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_packets)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).tx_packets as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_packets)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).rx_bytes as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_bytes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).tx_bytes as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_bytes)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).rx_errors as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).tx_errors as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).rx_dropped as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_dropped)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).tx_dropped as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_dropped)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).multicast as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(multicast)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).collisions as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(collisions)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).rx_length_errors as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_length_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).rx_over_errors as *const _ as usize
},
88usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_over_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).rx_crc_errors as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_crc_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).rx_frame_errors as *const _ as usize
},
104usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_frame_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).rx_fifo_errors as *const _ as usize
},
112usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_fifo_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).rx_missed_errors as *const _ as usize
},
120usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_missed_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).tx_aborted_errors as *const _ as usize
},
128usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_aborted_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).tx_carrier_errors as *const _ as usize
},
136usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_carrier_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).tx_fifo_errors as *const _ as usize
},
144usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_fifo_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).tx_heartbeat_errors as *const _ as usize
},
152usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_heartbeat_errors)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<rtnl_link_stats64>())).tx_window_errors as *const _ as usize
},
160usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_window_errors)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).rx_compressed as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_compressed)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).tx_compressed as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(tx_compressed)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_stats64>())).rx_nohandler as *const _ as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_stats64),
"::",
stringify!(rx_nohandler)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnl_link_ifmap {
pub mem_start: __u64,
pub mem_end: __u64,
pub base_addr: __u64,
pub irq: __u16,
pub dma: __u8,
pub port: __u8,
}
#[test]
fn bindgen_test_layout_rtnl_link_ifmap() {
assert_eq!(
::std::mem::size_of::<rtnl_link_ifmap>(),
32usize,
concat!("Size of: ", stringify!(rtnl_link_ifmap))
);
assert_eq!(
::std::mem::align_of::<rtnl_link_ifmap>(),
8usize,
concat!("Alignment of ", stringify!(rtnl_link_ifmap))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_ifmap>())).mem_start as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_ifmap),
"::",
stringify!(mem_start)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_ifmap>())).mem_end as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_ifmap),
"::",
stringify!(mem_end)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_ifmap>())).base_addr as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_ifmap),
"::",
stringify!(base_addr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_ifmap>())).irq as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_ifmap),
"::",
stringify!(irq)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_ifmap>())).dma as *const _ as usize },
26usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_ifmap),
"::",
stringify!(dma)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<rtnl_link_ifmap>())).port as *const _ as usize },
27usize,
concat!(
"Offset of field: ",
stringify!(rtnl_link_ifmap),
"::",
stringify!(port)
)
);
}
pub const IFLA_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_ADDRESS: ::std::os::raw::c_uint = 1;
pub const IFLA_BROADCAST: ::std::os::raw::c_uint = 2;
pub const IFLA_IFNAME: ::std::os::raw::c_uint = 3;
pub const IFLA_MTU: ::std::os::raw::c_uint = 4;
pub const IFLA_LINK: ::std::os::raw::c_uint = 5;
pub const IFLA_QDISC: ::std::os::raw::c_uint = 6;
pub const IFLA_STATS: ::std::os::raw::c_uint = 7;
pub const IFLA_COST: ::std::os::raw::c_uint = 8;
pub const IFLA_PRIORITY: ::std::os::raw::c_uint = 9;
pub const IFLA_MASTER: ::std::os::raw::c_uint = 10;
pub const IFLA_WIRELESS: ::std::os::raw::c_uint = 11;
pub const IFLA_PROTINFO: ::std::os::raw::c_uint = 12;
pub const IFLA_TXQLEN: ::std::os::raw::c_uint = 13;
pub const IFLA_MAP: ::std::os::raw::c_uint = 14;
pub const IFLA_WEIGHT: ::std::os::raw::c_uint = 15;
pub const IFLA_OPERSTATE: ::std::os::raw::c_uint = 16;
pub const IFLA_LINKMODE: ::std::os::raw::c_uint = 17;
pub const IFLA_LINKINFO: ::std::os::raw::c_uint = 18;
pub const IFLA_NET_NS_PID: ::std::os::raw::c_uint = 19;
pub const IFLA_IFALIAS: ::std::os::raw::c_uint = 20;
pub const IFLA_NUM_VF: ::std::os::raw::c_uint = 21;
pub const IFLA_VFINFO_LIST: ::std::os::raw::c_uint = 22;
pub const IFLA_STATS64: ::std::os::raw::c_uint = 23;
pub const IFLA_VF_PORTS: ::std::os::raw::c_uint = 24;
pub const IFLA_PORT_SELF: ::std::os::raw::c_uint = 25;
pub const IFLA_AF_SPEC: ::std::os::raw::c_uint = 26;
pub const IFLA_GROUP: ::std::os::raw::c_uint = 27;
pub const IFLA_NET_NS_FD: ::std::os::raw::c_uint = 28;
pub const IFLA_EXT_MASK: ::std::os::raw::c_uint = 29;
pub const IFLA_PROMISCUITY: ::std::os::raw::c_uint = 30;
pub const IFLA_NUM_TX_QUEUES: ::std::os::raw::c_uint = 31;
pub const IFLA_NUM_RX_QUEUES: ::std::os::raw::c_uint = 32;
pub const IFLA_CARRIER: ::std::os::raw::c_uint = 33;
pub const IFLA_PHYS_PORT_ID: ::std::os::raw::c_uint = 34;
pub const IFLA_CARRIER_CHANGES: ::std::os::raw::c_uint = 35;
pub const IFLA_PHYS_SWITCH_ID: ::std::os::raw::c_uint = 36;
pub const IFLA_LINK_NETNSID: ::std::os::raw::c_uint = 37;
pub const IFLA_PHYS_PORT_NAME: ::std::os::raw::c_uint = 38;
pub const IFLA_PROTO_DOWN: ::std::os::raw::c_uint = 39;
pub const IFLA_GSO_MAX_SEGS: ::std::os::raw::c_uint = 40;
pub const IFLA_GSO_MAX_SIZE: ::std::os::raw::c_uint = 41;
pub const IFLA_PAD: ::std::os::raw::c_uint = 42;
pub const IFLA_XDP: ::std::os::raw::c_uint = 43;
pub const IFLA_EVENT: ::std::os::raw::c_uint = 44;
pub const IFLA_NEW_NETNSID: ::std::os::raw::c_uint = 45;
pub const IFLA_IF_NETNSID: ::std::os::raw::c_uint = 46;
pub const IFLA_TARGET_NETNSID: ::std::os::raw::c_uint = 46;
pub const IFLA_CARRIER_UP_COUNT: ::std::os::raw::c_uint = 47;
pub const IFLA_CARRIER_DOWN_COUNT: ::std::os::raw::c_uint = 48;
pub const IFLA_NEW_IFINDEX: ::std::os::raw::c_uint = 49;
pub const IFLA_MIN_MTU: ::std::os::raw::c_uint = 50;
pub const IFLA_MAX_MTU: ::std::os::raw::c_uint = 51;
pub const __IFLA_MAX: ::std::os::raw::c_uint = 52;
pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
pub const IFLA_INET_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_INET_CONF: ::std::os::raw::c_uint = 1;
pub const __IFLA_INET_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
pub const IFLA_INET6_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_INET6_FLAGS: ::std::os::raw::c_uint = 1;
pub const IFLA_INET6_CONF: ::std::os::raw::c_uint = 2;
pub const IFLA_INET6_STATS: ::std::os::raw::c_uint = 3;
pub const IFLA_INET6_MCAST: ::std::os::raw::c_uint = 4;
pub const IFLA_INET6_CACHEINFO: ::std::os::raw::c_uint = 5;
pub const IFLA_INET6_ICMP6STATS: ::std::os::raw::c_uint = 6;
pub const IFLA_INET6_TOKEN: ::std::os::raw::c_uint = 7;
pub const IFLA_INET6_ADDR_GEN_MODE: ::std::os::raw::c_uint = 8;
pub const __IFLA_INET6_MAX: ::std::os::raw::c_uint = 9;
pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_EUI64: in6_addr_gen_mode = 0;
pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_NONE: in6_addr_gen_mode = 1;
pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_STABLE_PRIVACY: in6_addr_gen_mode = 2;
pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_RANDOM: in6_addr_gen_mode = 3;
pub type in6_addr_gen_mode = ::std::os::raw::c_uint;
pub const IFLA_BR_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_BR_FORWARD_DELAY: ::std::os::raw::c_uint = 1;
pub const IFLA_BR_HELLO_TIME: ::std::os::raw::c_uint = 2;
pub const IFLA_BR_MAX_AGE: ::std::os::raw::c_uint = 3;
pub const IFLA_BR_AGEING_TIME: ::std::os::raw::c_uint = 4;
pub const IFLA_BR_STP_STATE: ::std::os::raw::c_uint = 5;
pub const IFLA_BR_PRIORITY: ::std::os::raw::c_uint = 6;
pub const IFLA_BR_VLAN_FILTERING: ::std::os::raw::c_uint = 7;
pub const IFLA_BR_VLAN_PROTOCOL: ::std::os::raw::c_uint = 8;
pub const IFLA_BR_GROUP_FWD_MASK: ::std::os::raw::c_uint = 9;
pub const IFLA_BR_ROOT_ID: ::std::os::raw::c_uint = 10;
pub const IFLA_BR_BRIDGE_ID: ::std::os::raw::c_uint = 11;
pub const IFLA_BR_ROOT_PORT: ::std::os::raw::c_uint = 12;
pub const IFLA_BR_ROOT_PATH_COST: ::std::os::raw::c_uint = 13;
pub const IFLA_BR_TOPOLOGY_CHANGE: ::std::os::raw::c_uint = 14;
pub const IFLA_BR_TOPOLOGY_CHANGE_DETECTED: ::std::os::raw::c_uint = 15;
pub const IFLA_BR_HELLO_TIMER: ::std::os::raw::c_uint = 16;
pub const IFLA_BR_TCN_TIMER: ::std::os::raw::c_uint = 17;
pub const IFLA_BR_TOPOLOGY_CHANGE_TIMER: ::std::os::raw::c_uint = 18;
pub const IFLA_BR_GC_TIMER: ::std::os::raw::c_uint = 19;
pub const IFLA_BR_GROUP_ADDR: ::std::os::raw::c_uint = 20;
pub const IFLA_BR_FDB_FLUSH: ::std::os::raw::c_uint = 21;
pub const IFLA_BR_MCAST_ROUTER: ::std::os::raw::c_uint = 22;
pub const IFLA_BR_MCAST_SNOOPING: ::std::os::raw::c_uint = 23;
pub const IFLA_BR_MCAST_QUERY_USE_IFADDR: ::std::os::raw::c_uint = 24;
pub const IFLA_BR_MCAST_QUERIER: ::std::os::raw::c_uint = 25;
pub const IFLA_BR_MCAST_HASH_ELASTICITY: ::std::os::raw::c_uint = 26;
pub const IFLA_BR_MCAST_HASH_MAX: ::std::os::raw::c_uint = 27;
pub const IFLA_BR_MCAST_LAST_MEMBER_CNT: ::std::os::raw::c_uint = 28;
pub const IFLA_BR_MCAST_STARTUP_QUERY_CNT: ::std::os::raw::c_uint = 29;
pub const IFLA_BR_MCAST_LAST_MEMBER_INTVL: ::std::os::raw::c_uint = 30;
pub const IFLA_BR_MCAST_MEMBERSHIP_INTVL: ::std::os::raw::c_uint = 31;
pub const IFLA_BR_MCAST_QUERIER_INTVL: ::std::os::raw::c_uint = 32;
pub const IFLA_BR_MCAST_QUERY_INTVL: ::std::os::raw::c_uint = 33;
pub const IFLA_BR_MCAST_QUERY_RESPONSE_INTVL: ::std::os::raw::c_uint = 34;
pub const IFLA_BR_MCAST_STARTUP_QUERY_INTVL: ::std::os::raw::c_uint = 35;
pub const IFLA_BR_NF_CALL_IPTABLES: ::std::os::raw::c_uint = 36;
pub const IFLA_BR_NF_CALL_IP6TABLES: ::std::os::raw::c_uint = 37;
pub const IFLA_BR_NF_CALL_ARPTABLES: ::std::os::raw::c_uint = 38;
pub const IFLA_BR_VLAN_DEFAULT_PVID: ::std::os::raw::c_uint = 39;
pub const IFLA_BR_PAD: ::std::os::raw::c_uint = 40;
pub const IFLA_BR_VLAN_STATS_ENABLED: ::std::os::raw::c_uint = 41;
pub const IFLA_BR_MCAST_STATS_ENABLED: ::std::os::raw::c_uint = 42;
pub const IFLA_BR_MCAST_IGMP_VERSION: ::std::os::raw::c_uint = 43;
pub const IFLA_BR_MCAST_MLD_VERSION: ::std::os::raw::c_uint = 44;
pub const IFLA_BR_VLAN_STATS_PER_PORT: ::std::os::raw::c_uint = 45;
pub const IFLA_BR_MULTI_BOOLOPT: ::std::os::raw::c_uint = 46;
pub const __IFLA_BR_MAX: ::std::os::raw::c_uint = 47;
pub type _bindgen_ty_9 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_bridge_id {
pub prio: [__u8; 2usize],
pub addr: [__u8; 6usize],
}
#[test]
fn bindgen_test_layout_ifla_bridge_id() {
assert_eq!(
::std::mem::size_of::<ifla_bridge_id>(),
8usize,
concat!("Size of: ", stringify!(ifla_bridge_id))
);
assert_eq!(
::std::mem::align_of::<ifla_bridge_id>(),
1usize,
concat!("Alignment of ", stringify!(ifla_bridge_id))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_bridge_id>())).prio as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_bridge_id),
"::",
stringify!(prio)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_bridge_id>())).addr as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ifla_bridge_id),
"::",
stringify!(addr)
)
);
}
pub const BRIDGE_MODE_UNSPEC: ::std::os::raw::c_uint = 0;
pub const BRIDGE_MODE_HAIRPIN: ::std::os::raw::c_uint = 1;
pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
pub const IFLA_BRPORT_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_BRPORT_STATE: ::std::os::raw::c_uint = 1;
pub const IFLA_BRPORT_PRIORITY: ::std::os::raw::c_uint = 2;
pub const IFLA_BRPORT_COST: ::std::os::raw::c_uint = 3;
pub const IFLA_BRPORT_MODE: ::std::os::raw::c_uint = 4;
pub const IFLA_BRPORT_GUARD: ::std::os::raw::c_uint = 5;
pub const IFLA_BRPORT_PROTECT: ::std::os::raw::c_uint = 6;
pub const IFLA_BRPORT_FAST_LEAVE: ::std::os::raw::c_uint = 7;
pub const IFLA_BRPORT_LEARNING: ::std::os::raw::c_uint = 8;
pub const IFLA_BRPORT_UNICAST_FLOOD: ::std::os::raw::c_uint = 9;
pub const IFLA_BRPORT_PROXYARP: ::std::os::raw::c_uint = 10;
pub const IFLA_BRPORT_LEARNING_SYNC: ::std::os::raw::c_uint = 11;
pub const IFLA_BRPORT_PROXYARP_WIFI: ::std::os::raw::c_uint = 12;
pub const IFLA_BRPORT_ROOT_ID: ::std::os::raw::c_uint = 13;
pub const IFLA_BRPORT_BRIDGE_ID: ::std::os::raw::c_uint = 14;
pub const IFLA_BRPORT_DESIGNATED_PORT: ::std::os::raw::c_uint = 15;
pub const IFLA_BRPORT_DESIGNATED_COST: ::std::os::raw::c_uint = 16;
pub const IFLA_BRPORT_ID: ::std::os::raw::c_uint = 17;
pub const IFLA_BRPORT_NO: ::std::os::raw::c_uint = 18;
pub const IFLA_BRPORT_TOPOLOGY_CHANGE_ACK: ::std::os::raw::c_uint = 19;
pub const IFLA_BRPORT_CONFIG_PENDING: ::std::os::raw::c_uint = 20;
pub const IFLA_BRPORT_MESSAGE_AGE_TIMER: ::std::os::raw::c_uint = 21;
pub const IFLA_BRPORT_FORWARD_DELAY_TIMER: ::std::os::raw::c_uint = 22;
pub const IFLA_BRPORT_HOLD_TIMER: ::std::os::raw::c_uint = 23;
pub const IFLA_BRPORT_FLUSH: ::std::os::raw::c_uint = 24;
pub const IFLA_BRPORT_MULTICAST_ROUTER: ::std::os::raw::c_uint = 25;
pub const IFLA_BRPORT_PAD: ::std::os::raw::c_uint = 26;
pub const IFLA_BRPORT_MCAST_FLOOD: ::std::os::raw::c_uint = 27;
pub const IFLA_BRPORT_MCAST_TO_UCAST: ::std::os::raw::c_uint = 28;
pub const IFLA_BRPORT_VLAN_TUNNEL: ::std::os::raw::c_uint = 29;
pub const IFLA_BRPORT_BCAST_FLOOD: ::std::os::raw::c_uint = 30;
pub const IFLA_BRPORT_GROUP_FWD_MASK: ::std::os::raw::c_uint = 31;
pub const IFLA_BRPORT_NEIGH_SUPPRESS: ::std::os::raw::c_uint = 32;
pub const IFLA_BRPORT_ISOLATED: ::std::os::raw::c_uint = 33;
pub const IFLA_BRPORT_BACKUP_PORT: ::std::os::raw::c_uint = 34;
pub const __IFLA_BRPORT_MAX: ::std::os::raw::c_uint = 35;
pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_cacheinfo {
pub max_reasm_len: __u32,
pub tstamp: __u32,
pub reachable_time: __u32,
pub retrans_time: __u32,
}
#[test]
fn bindgen_test_layout_ifla_cacheinfo() {
assert_eq!(
::std::mem::size_of::<ifla_cacheinfo>(),
16usize,
concat!("Size of: ", stringify!(ifla_cacheinfo))
);
assert_eq!(
::std::mem::align_of::<ifla_cacheinfo>(),
4usize,
concat!("Alignment of ", stringify!(ifla_cacheinfo))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_cacheinfo>())).max_reasm_len as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_cacheinfo),
"::",
stringify!(max_reasm_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_cacheinfo>())).tstamp as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_cacheinfo),
"::",
stringify!(tstamp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_cacheinfo>())).reachable_time as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ifla_cacheinfo),
"::",
stringify!(reachable_time)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_cacheinfo>())).retrans_time as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(ifla_cacheinfo),
"::",
stringify!(retrans_time)
)
);
}
pub const IFLA_INFO_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_INFO_KIND: ::std::os::raw::c_uint = 1;
pub const IFLA_INFO_DATA: ::std::os::raw::c_uint = 2;
pub const IFLA_INFO_XSTATS: ::std::os::raw::c_uint = 3;
pub const IFLA_INFO_SLAVE_KIND: ::std::os::raw::c_uint = 4;
pub const IFLA_INFO_SLAVE_DATA: ::std::os::raw::c_uint = 5;
pub const __IFLA_INFO_MAX: ::std::os::raw::c_uint = 6;
pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
pub const IFLA_VLAN_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VLAN_ID: ::std::os::raw::c_uint = 1;
pub const IFLA_VLAN_FLAGS: ::std::os::raw::c_uint = 2;
pub const IFLA_VLAN_EGRESS_QOS: ::std::os::raw::c_uint = 3;
pub const IFLA_VLAN_INGRESS_QOS: ::std::os::raw::c_uint = 4;
pub const IFLA_VLAN_PROTOCOL: ::std::os::raw::c_uint = 5;
pub const __IFLA_VLAN_MAX: ::std::os::raw::c_uint = 6;
pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_flags {
pub flags: __u32,
pub mask: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vlan_flags() {
assert_eq!(
::std::mem::size_of::<ifla_vlan_flags>(),
8usize,
concat!("Size of: ", stringify!(ifla_vlan_flags))
);
assert_eq!(
::std::mem::align_of::<ifla_vlan_flags>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vlan_flags))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vlan_flags>())).flags as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vlan_flags),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vlan_flags>())).mask as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vlan_flags),
"::",
stringify!(mask)
)
);
}
pub const IFLA_VLAN_QOS_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VLAN_QOS_MAPPING: ::std::os::raw::c_uint = 1;
pub const __IFLA_VLAN_QOS_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_qos_mapping {
pub from: __u32,
pub to: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vlan_qos_mapping() {
assert_eq!(
::std::mem::size_of::<ifla_vlan_qos_mapping>(),
8usize,
concat!("Size of: ", stringify!(ifla_vlan_qos_mapping))
);
assert_eq!(
::std::mem::align_of::<ifla_vlan_qos_mapping>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vlan_qos_mapping))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vlan_qos_mapping>())).from as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vlan_qos_mapping),
"::",
stringify!(from)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vlan_qos_mapping>())).to as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vlan_qos_mapping),
"::",
stringify!(to)
)
);
}
pub const IFLA_MACVLAN_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_MACVLAN_MODE: ::std::os::raw::c_uint = 1;
pub const IFLA_MACVLAN_FLAGS: ::std::os::raw::c_uint = 2;
pub const IFLA_MACVLAN_MACADDR_MODE: ::std::os::raw::c_uint = 3;
pub const IFLA_MACVLAN_MACADDR: ::std::os::raw::c_uint = 4;
pub const IFLA_MACVLAN_MACADDR_DATA: ::std::os::raw::c_uint = 5;
pub const IFLA_MACVLAN_MACADDR_COUNT: ::std::os::raw::c_uint = 6;
pub const __IFLA_MACVLAN_MAX: ::std::os::raw::c_uint = 7;
pub type _bindgen_ty_15 = ::std::os::raw::c_uint;
pub const macvlan_mode_MACVLAN_MODE_PRIVATE: macvlan_mode = 1;
pub const macvlan_mode_MACVLAN_MODE_VEPA: macvlan_mode = 2;
pub const macvlan_mode_MACVLAN_MODE_BRIDGE: macvlan_mode = 4;
pub const macvlan_mode_MACVLAN_MODE_PASSTHRU: macvlan_mode = 8;
pub const macvlan_mode_MACVLAN_MODE_SOURCE: macvlan_mode = 16;
pub type macvlan_mode = ::std::os::raw::c_uint;
pub const macvlan_macaddr_mode_MACVLAN_MACADDR_ADD: macvlan_macaddr_mode = 0;
pub const macvlan_macaddr_mode_MACVLAN_MACADDR_DEL: macvlan_macaddr_mode = 1;
pub const macvlan_macaddr_mode_MACVLAN_MACADDR_FLUSH: macvlan_macaddr_mode = 2;
pub const macvlan_macaddr_mode_MACVLAN_MACADDR_SET: macvlan_macaddr_mode = 3;
pub type macvlan_macaddr_mode = ::std::os::raw::c_uint;
pub const IFLA_VRF_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VRF_TABLE: ::std::os::raw::c_uint = 1;
pub const __IFLA_VRF_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
pub const IFLA_VRF_PORT_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VRF_PORT_TABLE: ::std::os::raw::c_uint = 1;
pub const __IFLA_VRF_PORT_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_17 = ::std::os::raw::c_uint;
pub const IFLA_MACSEC_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_MACSEC_SCI: ::std::os::raw::c_uint = 1;
pub const IFLA_MACSEC_PORT: ::std::os::raw::c_uint = 2;
pub const IFLA_MACSEC_ICV_LEN: ::std::os::raw::c_uint = 3;
pub const IFLA_MACSEC_CIPHER_SUITE: ::std::os::raw::c_uint = 4;
pub const IFLA_MACSEC_WINDOW: ::std::os::raw::c_uint = 5;
pub const IFLA_MACSEC_ENCODING_SA: ::std::os::raw::c_uint = 6;
pub const IFLA_MACSEC_ENCRYPT: ::std::os::raw::c_uint = 7;
pub const IFLA_MACSEC_PROTECT: ::std::os::raw::c_uint = 8;
pub const IFLA_MACSEC_INC_SCI: ::std::os::raw::c_uint = 9;
pub const IFLA_MACSEC_ES: ::std::os::raw::c_uint = 10;
pub const IFLA_MACSEC_SCB: ::std::os::raw::c_uint = 11;
pub const IFLA_MACSEC_REPLAY_PROTECT: ::std::os::raw::c_uint = 12;
pub const IFLA_MACSEC_VALIDATION: ::std::os::raw::c_uint = 13;
pub const IFLA_MACSEC_PAD: ::std::os::raw::c_uint = 14;
pub const __IFLA_MACSEC_MAX: ::std::os::raw::c_uint = 15;
pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
pub const IFLA_XFRM_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_XFRM_LINK: ::std::os::raw::c_uint = 1;
pub const IFLA_XFRM_IF_ID: ::std::os::raw::c_uint = 2;
pub const __IFLA_XFRM_MAX: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_19 = ::std::os::raw::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 = ::std::os::raw::c_uint;
pub const IFLA_IPVLAN_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_IPVLAN_MODE: ::std::os::raw::c_uint = 1;
pub const IFLA_IPVLAN_FLAGS: ::std::os::raw::c_uint = 2;
pub const __IFLA_IPVLAN_MAX: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
pub const ipvlan_mode_IPVLAN_MODE_L2: ipvlan_mode = 0;
pub const ipvlan_mode_IPVLAN_MODE_L3: ipvlan_mode = 1;
pub const ipvlan_mode_IPVLAN_MODE_L3S: ipvlan_mode = 2;
pub const ipvlan_mode_IPVLAN_MODE_MAX: ipvlan_mode = 3;
pub type ipvlan_mode = ::std::os::raw::c_uint;
pub const IFLA_VXLAN_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VXLAN_ID: ::std::os::raw::c_uint = 1;
pub const IFLA_VXLAN_GROUP: ::std::os::raw::c_uint = 2;
pub const IFLA_VXLAN_LINK: ::std::os::raw::c_uint = 3;
pub const IFLA_VXLAN_LOCAL: ::std::os::raw::c_uint = 4;
pub const IFLA_VXLAN_TTL: ::std::os::raw::c_uint = 5;
pub const IFLA_VXLAN_TOS: ::std::os::raw::c_uint = 6;
pub const IFLA_VXLAN_LEARNING: ::std::os::raw::c_uint = 7;
pub const IFLA_VXLAN_AGEING: ::std::os::raw::c_uint = 8;
pub const IFLA_VXLAN_LIMIT: ::std::os::raw::c_uint = 9;
pub const IFLA_VXLAN_PORT_RANGE: ::std::os::raw::c_uint = 10;
pub const IFLA_VXLAN_PROXY: ::std::os::raw::c_uint = 11;
pub const IFLA_VXLAN_RSC: ::std::os::raw::c_uint = 12;
pub const IFLA_VXLAN_L2MISS: ::std::os::raw::c_uint = 13;
pub const IFLA_VXLAN_L3MISS: ::std::os::raw::c_uint = 14;
pub const IFLA_VXLAN_PORT: ::std::os::raw::c_uint = 15;
pub const IFLA_VXLAN_GROUP6: ::std::os::raw::c_uint = 16;
pub const IFLA_VXLAN_LOCAL6: ::std::os::raw::c_uint = 17;
pub const IFLA_VXLAN_UDP_CSUM: ::std::os::raw::c_uint = 18;
pub const IFLA_VXLAN_UDP_ZERO_CSUM6_TX: ::std::os::raw::c_uint = 19;
pub const IFLA_VXLAN_UDP_ZERO_CSUM6_RX: ::std::os::raw::c_uint = 20;
pub const IFLA_VXLAN_REMCSUM_TX: ::std::os::raw::c_uint = 21;
pub const IFLA_VXLAN_REMCSUM_RX: ::std::os::raw::c_uint = 22;
pub const IFLA_VXLAN_GBP: ::std::os::raw::c_uint = 23;
pub const IFLA_VXLAN_REMCSUM_NOPARTIAL: ::std::os::raw::c_uint = 24;
pub const IFLA_VXLAN_COLLECT_METADATA: ::std::os::raw::c_uint = 25;
pub const IFLA_VXLAN_LABEL: ::std::os::raw::c_uint = 26;
pub const IFLA_VXLAN_GPE: ::std::os::raw::c_uint = 27;
pub const IFLA_VXLAN_TTL_INHERIT: ::std::os::raw::c_uint = 28;
pub const IFLA_VXLAN_DF: ::std::os::raw::c_uint = 29;
pub const __IFLA_VXLAN_MAX: ::std::os::raw::c_uint = 30;
pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vxlan_port_range {
pub low: __be16,
pub high: __be16,
}
#[test]
fn bindgen_test_layout_ifla_vxlan_port_range() {
assert_eq!(
::std::mem::size_of::<ifla_vxlan_port_range>(),
4usize,
concat!("Size of: ", stringify!(ifla_vxlan_port_range))
);
assert_eq!(
::std::mem::align_of::<ifla_vxlan_port_range>(),
2usize,
concat!("Alignment of ", stringify!(ifla_vxlan_port_range))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vxlan_port_range>())).low as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vxlan_port_range),
"::",
stringify!(low)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vxlan_port_range>())).high as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ifla_vxlan_port_range),
"::",
stringify!(high)
)
);
}
pub const ifla_vxlan_df_VXLAN_DF_UNSET: ifla_vxlan_df = 0;
pub const ifla_vxlan_df_VXLAN_DF_SET: ifla_vxlan_df = 1;
pub const ifla_vxlan_df_VXLAN_DF_INHERIT: ifla_vxlan_df = 2;
pub const ifla_vxlan_df___VXLAN_DF_END: ifla_vxlan_df = 3;
pub const ifla_vxlan_df_VXLAN_DF_MAX: ifla_vxlan_df = 2;
pub type ifla_vxlan_df = ::std::os::raw::c_uint;
pub const IFLA_GENEVE_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_GENEVE_ID: ::std::os::raw::c_uint = 1;
pub const IFLA_GENEVE_REMOTE: ::std::os::raw::c_uint = 2;
pub const IFLA_GENEVE_TTL: ::std::os::raw::c_uint = 3;
pub const IFLA_GENEVE_TOS: ::std::os::raw::c_uint = 4;
pub const IFLA_GENEVE_PORT: ::std::os::raw::c_uint = 5;
pub const IFLA_GENEVE_COLLECT_METADATA: ::std::os::raw::c_uint = 6;
pub const IFLA_GENEVE_REMOTE6: ::std::os::raw::c_uint = 7;
pub const IFLA_GENEVE_UDP_CSUM: ::std::os::raw::c_uint = 8;
pub const IFLA_GENEVE_UDP_ZERO_CSUM6_TX: ::std::os::raw::c_uint = 9;
pub const IFLA_GENEVE_UDP_ZERO_CSUM6_RX: ::std::os::raw::c_uint = 10;
pub const IFLA_GENEVE_LABEL: ::std::os::raw::c_uint = 11;
pub const IFLA_GENEVE_TTL_INHERIT: ::std::os::raw::c_uint = 12;
pub const IFLA_GENEVE_DF: ::std::os::raw::c_uint = 13;
pub const __IFLA_GENEVE_MAX: ::std::os::raw::c_uint = 14;
pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
pub const ifla_geneve_df_GENEVE_DF_UNSET: ifla_geneve_df = 0;
pub const ifla_geneve_df_GENEVE_DF_SET: ifla_geneve_df = 1;
pub const ifla_geneve_df_GENEVE_DF_INHERIT: ifla_geneve_df = 2;
pub const ifla_geneve_df___GENEVE_DF_END: ifla_geneve_df = 3;
pub const ifla_geneve_df_GENEVE_DF_MAX: ifla_geneve_df = 2;
pub type ifla_geneve_df = ::std::os::raw::c_uint;
pub const IFLA_PPP_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_PPP_DEV_FD: ::std::os::raw::c_uint = 1;
pub const __IFLA_PPP_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
pub const ifla_gtp_role_GTP_ROLE_GGSN: ifla_gtp_role = 0;
pub const ifla_gtp_role_GTP_ROLE_SGSN: ifla_gtp_role = 1;
pub type ifla_gtp_role = ::std::os::raw::c_uint;
pub const IFLA_GTP_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_GTP_FD0: ::std::os::raw::c_uint = 1;
pub const IFLA_GTP_FD1: ::std::os::raw::c_uint = 2;
pub const IFLA_GTP_PDP_HASHSIZE: ::std::os::raw::c_uint = 3;
pub const IFLA_GTP_ROLE: ::std::os::raw::c_uint = 4;
pub const __IFLA_GTP_MAX: ::std::os::raw::c_uint = 5;
pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
pub const IFLA_BOND_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_BOND_MODE: ::std::os::raw::c_uint = 1;
pub const IFLA_BOND_ACTIVE_SLAVE: ::std::os::raw::c_uint = 2;
pub const IFLA_BOND_MIIMON: ::std::os::raw::c_uint = 3;
pub const IFLA_BOND_UPDELAY: ::std::os::raw::c_uint = 4;
pub const IFLA_BOND_DOWNDELAY: ::std::os::raw::c_uint = 5;
pub const IFLA_BOND_USE_CARRIER: ::std::os::raw::c_uint = 6;
pub const IFLA_BOND_ARP_INTERVAL: ::std::os::raw::c_uint = 7;
pub const IFLA_BOND_ARP_IP_TARGET: ::std::os::raw::c_uint = 8;
pub const IFLA_BOND_ARP_VALIDATE: ::std::os::raw::c_uint = 9;
pub const IFLA_BOND_ARP_ALL_TARGETS: ::std::os::raw::c_uint = 10;
pub const IFLA_BOND_PRIMARY: ::std::os::raw::c_uint = 11;
pub const IFLA_BOND_PRIMARY_RESELECT: ::std::os::raw::c_uint = 12;
pub const IFLA_BOND_FAIL_OVER_MAC: ::std::os::raw::c_uint = 13;
pub const IFLA_BOND_XMIT_HASH_POLICY: ::std::os::raw::c_uint = 14;
pub const IFLA_BOND_RESEND_IGMP: ::std::os::raw::c_uint = 15;
pub const IFLA_BOND_NUM_PEER_NOTIF: ::std::os::raw::c_uint = 16;
pub const IFLA_BOND_ALL_SLAVES_ACTIVE: ::std::os::raw::c_uint = 17;
pub const IFLA_BOND_MIN_LINKS: ::std::os::raw::c_uint = 18;
pub const IFLA_BOND_LP_INTERVAL: ::std::os::raw::c_uint = 19;
pub const IFLA_BOND_PACKETS_PER_SLAVE: ::std::os::raw::c_uint = 20;
pub const IFLA_BOND_AD_LACP_RATE: ::std::os::raw::c_uint = 21;
pub const IFLA_BOND_AD_SELECT: ::std::os::raw::c_uint = 22;
pub const IFLA_BOND_AD_INFO: ::std::os::raw::c_uint = 23;
pub const IFLA_BOND_AD_ACTOR_SYS_PRIO: ::std::os::raw::c_uint = 24;
pub const IFLA_BOND_AD_USER_PORT_KEY: ::std::os::raw::c_uint = 25;
pub const IFLA_BOND_AD_ACTOR_SYSTEM: ::std::os::raw::c_uint = 26;
pub const IFLA_BOND_TLB_DYNAMIC_LB: ::std::os::raw::c_uint = 27;
pub const IFLA_BOND_PEER_NOTIF_DELAY: ::std::os::raw::c_uint = 28;
pub const __IFLA_BOND_MAX: ::std::os::raw::c_uint = 29;
pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
pub const IFLA_BOND_AD_INFO_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_BOND_AD_INFO_AGGREGATOR: ::std::os::raw::c_uint = 1;
pub const IFLA_BOND_AD_INFO_NUM_PORTS: ::std::os::raw::c_uint = 2;
pub const IFLA_BOND_AD_INFO_ACTOR_KEY: ::std::os::raw::c_uint = 3;
pub const IFLA_BOND_AD_INFO_PARTNER_KEY: ::std::os::raw::c_uint = 4;
pub const IFLA_BOND_AD_INFO_PARTNER_MAC: ::std::os::raw::c_uint = 5;
pub const __IFLA_BOND_AD_INFO_MAX: ::std::os::raw::c_uint = 6;
pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
pub const IFLA_BOND_SLAVE_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_BOND_SLAVE_STATE: ::std::os::raw::c_uint = 1;
pub const IFLA_BOND_SLAVE_MII_STATUS: ::std::os::raw::c_uint = 2;
pub const IFLA_BOND_SLAVE_LINK_FAILURE_COUNT: ::std::os::raw::c_uint = 3;
pub const IFLA_BOND_SLAVE_PERM_HWADDR: ::std::os::raw::c_uint = 4;
pub const IFLA_BOND_SLAVE_QUEUE_ID: ::std::os::raw::c_uint = 5;
pub const IFLA_BOND_SLAVE_AD_AGGREGATOR_ID: ::std::os::raw::c_uint = 6;
pub const IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE: ::std::os::raw::c_uint = 7;
pub const IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE: ::std::os::raw::c_uint = 8;
pub const __IFLA_BOND_SLAVE_MAX: ::std::os::raw::c_uint = 9;
pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
pub const IFLA_VF_INFO_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VF_INFO: ::std::os::raw::c_uint = 1;
pub const __IFLA_VF_INFO_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
pub const IFLA_VF_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VF_MAC: ::std::os::raw::c_uint = 1;
pub const IFLA_VF_VLAN: ::std::os::raw::c_uint = 2;
pub const IFLA_VF_TX_RATE: ::std::os::raw::c_uint = 3;
pub const IFLA_VF_SPOOFCHK: ::std::os::raw::c_uint = 4;
pub const IFLA_VF_LINK_STATE: ::std::os::raw::c_uint = 5;
pub const IFLA_VF_RATE: ::std::os::raw::c_uint = 6;
pub const IFLA_VF_RSS_QUERY_EN: ::std::os::raw::c_uint = 7;
pub const IFLA_VF_STATS: ::std::os::raw::c_uint = 8;
pub const IFLA_VF_TRUST: ::std::os::raw::c_uint = 9;
pub const IFLA_VF_IB_NODE_GUID: ::std::os::raw::c_uint = 10;
pub const IFLA_VF_IB_PORT_GUID: ::std::os::raw::c_uint = 11;
pub const IFLA_VF_VLAN_LIST: ::std::os::raw::c_uint = 12;
pub const IFLA_VF_BROADCAST: ::std::os::raw::c_uint = 13;
pub const __IFLA_VF_MAX: ::std::os::raw::c_uint = 14;
pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_mac {
pub vf: __u32,
pub mac: [__u8; 32usize],
}
#[test]
fn bindgen_test_layout_ifla_vf_mac() {
assert_eq!(
::std::mem::size_of::<ifla_vf_mac>(),
36usize,
concat!("Size of: ", stringify!(ifla_vf_mac))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_mac>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_mac))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_mac>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_mac),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_mac>())).mac as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_mac),
"::",
stringify!(mac)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_broadcast {
pub broadcast: [__u8; 32usize],
}
#[test]
fn bindgen_test_layout_ifla_vf_broadcast() {
assert_eq!(
::std::mem::size_of::<ifla_vf_broadcast>(),
32usize,
concat!("Size of: ", stringify!(ifla_vf_broadcast))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_broadcast>(),
1usize,
concat!("Alignment of ", stringify!(ifla_vf_broadcast))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_broadcast>())).broadcast as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_broadcast),
"::",
stringify!(broadcast)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_vlan {
pub vf: __u32,
pub vlan: __u32,
pub qos: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vf_vlan() {
assert_eq!(
::std::mem::size_of::<ifla_vf_vlan>(),
12usize,
concat!("Size of: ", stringify!(ifla_vf_vlan))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_vlan>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_vlan))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_vlan>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_vlan),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_vlan>())).vlan as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_vlan),
"::",
stringify!(vlan)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_vlan>())).qos as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_vlan),
"::",
stringify!(qos)
)
);
}
pub const IFLA_VF_VLAN_INFO_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VF_VLAN_INFO: ::std::os::raw::c_uint = 1;
pub const __IFLA_VF_VLAN_INFO_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_vlan_info {
pub vf: __u32,
pub vlan: __u32,
pub qos: __u32,
pub vlan_proto: __be16,
}
#[test]
fn bindgen_test_layout_ifla_vf_vlan_info() {
assert_eq!(
::std::mem::size_of::<ifla_vf_vlan_info>(),
16usize,
concat!("Size of: ", stringify!(ifla_vf_vlan_info))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_vlan_info>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_vlan_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_vlan_info>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_vlan_info),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_vlan_info>())).vlan as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_vlan_info),
"::",
stringify!(vlan)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_vlan_info>())).qos as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_vlan_info),
"::",
stringify!(qos)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_vlan_info>())).vlan_proto as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_vlan_info),
"::",
stringify!(vlan_proto)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_tx_rate {
pub vf: __u32,
pub rate: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vf_tx_rate() {
assert_eq!(
::std::mem::size_of::<ifla_vf_tx_rate>(),
8usize,
concat!("Size of: ", stringify!(ifla_vf_tx_rate))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_tx_rate>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_tx_rate))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_tx_rate>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_tx_rate),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_tx_rate>())).rate as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_tx_rate),
"::",
stringify!(rate)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_rate {
pub vf: __u32,
pub min_tx_rate: __u32,
pub max_tx_rate: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vf_rate() {
assert_eq!(
::std::mem::size_of::<ifla_vf_rate>(),
12usize,
concat!("Size of: ", stringify!(ifla_vf_rate))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_rate>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_rate))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_rate>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_rate),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_rate>())).min_tx_rate as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_rate),
"::",
stringify!(min_tx_rate)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_rate>())).max_tx_rate as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_rate),
"::",
stringify!(max_tx_rate)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_spoofchk {
pub vf: __u32,
pub setting: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vf_spoofchk() {
assert_eq!(
::std::mem::size_of::<ifla_vf_spoofchk>(),
8usize,
concat!("Size of: ", stringify!(ifla_vf_spoofchk))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_spoofchk>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_spoofchk))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_spoofchk>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_spoofchk),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_spoofchk>())).setting as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_spoofchk),
"::",
stringify!(setting)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_guid {
pub vf: __u32,
pub guid: __u64,
}
#[test]
fn bindgen_test_layout_ifla_vf_guid() {
assert_eq!(
::std::mem::size_of::<ifla_vf_guid>(),
16usize,
concat!("Size of: ", stringify!(ifla_vf_guid))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_guid>(),
8usize,
concat!("Alignment of ", stringify!(ifla_vf_guid))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_guid>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_guid),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_guid>())).guid as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_guid),
"::",
stringify!(guid)
)
);
}
pub const IFLA_VF_LINK_STATE_AUTO: ::std::os::raw::c_uint = 0;
pub const IFLA_VF_LINK_STATE_ENABLE: ::std::os::raw::c_uint = 1;
pub const IFLA_VF_LINK_STATE_DISABLE: ::std::os::raw::c_uint = 2;
pub const __IFLA_VF_LINK_STATE_MAX: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_link_state {
pub vf: __u32,
pub link_state: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vf_link_state() {
assert_eq!(
::std::mem::size_of::<ifla_vf_link_state>(),
8usize,
concat!("Size of: ", stringify!(ifla_vf_link_state))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_link_state>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_link_state))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_link_state>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_link_state),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_link_state>())).link_state as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_link_state),
"::",
stringify!(link_state)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_rss_query_en {
pub vf: __u32,
pub setting: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vf_rss_query_en() {
assert_eq!(
::std::mem::size_of::<ifla_vf_rss_query_en>(),
8usize,
concat!("Size of: ", stringify!(ifla_vf_rss_query_en))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_rss_query_en>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_rss_query_en))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_rss_query_en>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_rss_query_en),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_rss_query_en>())).setting as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_rss_query_en),
"::",
stringify!(setting)
)
);
}
pub const IFLA_VF_STATS_RX_PACKETS: ::std::os::raw::c_uint = 0;
pub const IFLA_VF_STATS_TX_PACKETS: ::std::os::raw::c_uint = 1;
pub const IFLA_VF_STATS_RX_BYTES: ::std::os::raw::c_uint = 2;
pub const IFLA_VF_STATS_TX_BYTES: ::std::os::raw::c_uint = 3;
pub const IFLA_VF_STATS_BROADCAST: ::std::os::raw::c_uint = 4;
pub const IFLA_VF_STATS_MULTICAST: ::std::os::raw::c_uint = 5;
pub const IFLA_VF_STATS_PAD: ::std::os::raw::c_uint = 6;
pub const IFLA_VF_STATS_RX_DROPPED: ::std::os::raw::c_uint = 7;
pub const IFLA_VF_STATS_TX_DROPPED: ::std::os::raw::c_uint = 8;
pub const __IFLA_VF_STATS_MAX: ::std::os::raw::c_uint = 9;
pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_trust {
pub vf: __u32,
pub setting: __u32,
}
#[test]
fn bindgen_test_layout_ifla_vf_trust() {
assert_eq!(
::std::mem::size_of::<ifla_vf_trust>(),
8usize,
concat!("Size of: ", stringify!(ifla_vf_trust))
);
assert_eq!(
::std::mem::align_of::<ifla_vf_trust>(),
4usize,
concat!("Alignment of ", stringify!(ifla_vf_trust))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_trust>())).vf as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_trust),
"::",
stringify!(vf)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_vf_trust>())).setting as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_vf_trust),
"::",
stringify!(setting)
)
);
}
pub const IFLA_VF_PORT_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_VF_PORT: ::std::os::raw::c_uint = 1;
pub const __IFLA_VF_PORT_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
pub const IFLA_PORT_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_PORT_VF: ::std::os::raw::c_uint = 1;
pub const IFLA_PORT_PROFILE: ::std::os::raw::c_uint = 2;
pub const IFLA_PORT_VSI_TYPE: ::std::os::raw::c_uint = 3;
pub const IFLA_PORT_INSTANCE_UUID: ::std::os::raw::c_uint = 4;
pub const IFLA_PORT_HOST_UUID: ::std::os::raw::c_uint = 5;
pub const IFLA_PORT_REQUEST: ::std::os::raw::c_uint = 6;
pub const IFLA_PORT_RESPONSE: ::std::os::raw::c_uint = 7;
pub const __IFLA_PORT_MAX: ::std::os::raw::c_uint = 8;
pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
pub const PORT_REQUEST_PREASSOCIATE: ::std::os::raw::c_uint = 0;
pub const PORT_REQUEST_PREASSOCIATE_RR: ::std::os::raw::c_uint = 1;
pub const PORT_REQUEST_ASSOCIATE: ::std::os::raw::c_uint = 2;
pub const PORT_REQUEST_DISASSOCIATE: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
pub const PORT_VDP_RESPONSE_SUCCESS: ::std::os::raw::c_uint = 0;
pub const PORT_VDP_RESPONSE_INVALID_FORMAT: ::std::os::raw::c_uint = 1;
pub const PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES: ::std::os::raw::c_uint = 2;
pub const PORT_VDP_RESPONSE_UNUSED_VTID: ::std::os::raw::c_uint = 3;
pub const PORT_VDP_RESPONSE_VTID_VIOLATION: ::std::os::raw::c_uint = 4;
pub const PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION: ::std::os::raw::c_uint = 5;
pub const PORT_VDP_RESPONSE_OUT_OF_SYNC: ::std::os::raw::c_uint = 6;
pub const PORT_PROFILE_RESPONSE_SUCCESS: ::std::os::raw::c_uint = 256;
pub const PORT_PROFILE_RESPONSE_INPROGRESS: ::std::os::raw::c_uint = 257;
pub const PORT_PROFILE_RESPONSE_INVALID: ::std::os::raw::c_uint = 258;
pub const PORT_PROFILE_RESPONSE_BADSTATE: ::std::os::raw::c_uint = 259;
pub const PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES: ::std::os::raw::c_uint = 260;
pub const PORT_PROFILE_RESPONSE_ERROR: ::std::os::raw::c_uint = 261;
pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_port_vsi {
pub vsi_mgr_id: __u8,
pub vsi_type_id: [__u8; 3usize],
pub vsi_type_version: __u8,
pub pad: [__u8; 3usize],
}
#[test]
fn bindgen_test_layout_ifla_port_vsi() {
assert_eq!(
::std::mem::size_of::<ifla_port_vsi>(),
8usize,
concat!("Size of: ", stringify!(ifla_port_vsi))
);
assert_eq!(
::std::mem::align_of::<ifla_port_vsi>(),
1usize,
concat!("Alignment of ", stringify!(ifla_port_vsi))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_port_vsi>())).vsi_mgr_id as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_port_vsi),
"::",
stringify!(vsi_mgr_id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_port_vsi>())).vsi_type_id as *const _ as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(ifla_port_vsi),
"::",
stringify!(vsi_type_id)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_port_vsi>())).vsi_type_version as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_port_vsi),
"::",
stringify!(vsi_type_version)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_port_vsi>())).pad as *const _ as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(ifla_port_vsi),
"::",
stringify!(pad)
)
);
}
pub const IFLA_IPOIB_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_IPOIB_PKEY: ::std::os::raw::c_uint = 1;
pub const IFLA_IPOIB_MODE: ::std::os::raw::c_uint = 2;
pub const IFLA_IPOIB_UMCAST: ::std::os::raw::c_uint = 3;
pub const __IFLA_IPOIB_MAX: ::std::os::raw::c_uint = 4;
pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
pub const IPOIB_MODE_DATAGRAM: ::std::os::raw::c_uint = 0;
pub const IPOIB_MODE_CONNECTED: ::std::os::raw::c_uint = 1;
pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
pub const IFLA_HSR_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_HSR_SLAVE1: ::std::os::raw::c_uint = 1;
pub const IFLA_HSR_SLAVE2: ::std::os::raw::c_uint = 2;
pub const IFLA_HSR_MULTICAST_SPEC: ::std::os::raw::c_uint = 3;
pub const IFLA_HSR_SUPERVISION_ADDR: ::std::os::raw::c_uint = 4;
pub const IFLA_HSR_SEQ_NR: ::std::os::raw::c_uint = 5;
pub const IFLA_HSR_VERSION: ::std::os::raw::c_uint = 6;
pub const __IFLA_HSR_MAX: ::std::os::raw::c_uint = 7;
pub type _bindgen_ty_39 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct if_stats_msg {
pub family: __u8,
pub pad1: __u8,
pub pad2: __u16,
pub ifindex: __u32,
pub filter_mask: __u32,
}
#[test]
fn bindgen_test_layout_if_stats_msg() {
assert_eq!(
::std::mem::size_of::<if_stats_msg>(),
12usize,
concat!("Size of: ", stringify!(if_stats_msg))
);
assert_eq!(
::std::mem::align_of::<if_stats_msg>(),
4usize,
concat!("Alignment of ", stringify!(if_stats_msg))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<if_stats_msg>())).family as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(if_stats_msg),
"::",
stringify!(family)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<if_stats_msg>())).pad1 as *const _ as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(if_stats_msg),
"::",
stringify!(pad1)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<if_stats_msg>())).pad2 as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(if_stats_msg),
"::",
stringify!(pad2)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<if_stats_msg>())).ifindex as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(if_stats_msg),
"::",
stringify!(ifindex)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<if_stats_msg>())).filter_mask as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(if_stats_msg),
"::",
stringify!(filter_mask)
)
);
}
pub const IFLA_STATS_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_STATS_LINK_64: ::std::os::raw::c_uint = 1;
pub const IFLA_STATS_LINK_XSTATS: ::std::os::raw::c_uint = 2;
pub const IFLA_STATS_LINK_XSTATS_SLAVE: ::std::os::raw::c_uint = 3;
pub const IFLA_STATS_LINK_OFFLOAD_XSTATS: ::std::os::raw::c_uint = 4;
pub const IFLA_STATS_AF_SPEC: ::std::os::raw::c_uint = 5;
pub const __IFLA_STATS_MAX: ::std::os::raw::c_uint = 6;
pub type _bindgen_ty_40 = ::std::os::raw::c_uint;
pub const LINK_XSTATS_TYPE_UNSPEC: ::std::os::raw::c_uint = 0;
pub const LINK_XSTATS_TYPE_BRIDGE: ::std::os::raw::c_uint = 1;
pub const LINK_XSTATS_TYPE_BOND: ::std::os::raw::c_uint = 2;
pub const __LINK_XSTATS_TYPE_MAX: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_41 = ::std::os::raw::c_uint;
pub const IFLA_OFFLOAD_XSTATS_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_OFFLOAD_XSTATS_CPU_HIT: ::std::os::raw::c_uint = 1;
pub const __IFLA_OFFLOAD_XSTATS_MAX: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_42 = ::std::os::raw::c_uint;
pub const XDP_ATTACHED_NONE: ::std::os::raw::c_uint = 0;
pub const XDP_ATTACHED_DRV: ::std::os::raw::c_uint = 1;
pub const XDP_ATTACHED_SKB: ::std::os::raw::c_uint = 2;
pub const XDP_ATTACHED_HW: ::std::os::raw::c_uint = 3;
pub const XDP_ATTACHED_MULTI: ::std::os::raw::c_uint = 4;
pub type _bindgen_ty_43 = ::std::os::raw::c_uint;
pub const IFLA_XDP_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_XDP_FD: ::std::os::raw::c_uint = 1;
pub const IFLA_XDP_ATTACHED: ::std::os::raw::c_uint = 2;
pub const IFLA_XDP_FLAGS: ::std::os::raw::c_uint = 3;
pub const IFLA_XDP_PROG_ID: ::std::os::raw::c_uint = 4;
pub const IFLA_XDP_DRV_PROG_ID: ::std::os::raw::c_uint = 5;
pub const IFLA_XDP_SKB_PROG_ID: ::std::os::raw::c_uint = 6;
pub const IFLA_XDP_HW_PROG_ID: ::std::os::raw::c_uint = 7;
pub const __IFLA_XDP_MAX: ::std::os::raw::c_uint = 8;
pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
pub const IFLA_EVENT_NONE: ::std::os::raw::c_uint = 0;
pub const IFLA_EVENT_REBOOT: ::std::os::raw::c_uint = 1;
pub const IFLA_EVENT_FEATURES: ::std::os::raw::c_uint = 2;
pub const IFLA_EVENT_BONDING_FAILOVER: ::std::os::raw::c_uint = 3;
pub const IFLA_EVENT_NOTIFY_PEERS: ::std::os::raw::c_uint = 4;
pub const IFLA_EVENT_IGMP_RESEND: ::std::os::raw::c_uint = 5;
pub const IFLA_EVENT_BONDING_OPTIONS: ::std::os::raw::c_uint = 6;
pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
pub const IFLA_TUN_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_TUN_OWNER: ::std::os::raw::c_uint = 1;
pub const IFLA_TUN_GROUP: ::std::os::raw::c_uint = 2;
pub const IFLA_TUN_TYPE: ::std::os::raw::c_uint = 3;
pub const IFLA_TUN_PI: ::std::os::raw::c_uint = 4;
pub const IFLA_TUN_VNET_HDR: ::std::os::raw::c_uint = 5;
pub const IFLA_TUN_PERSIST: ::std::os::raw::c_uint = 6;
pub const IFLA_TUN_MULTI_QUEUE: ::std::os::raw::c_uint = 7;
pub const IFLA_TUN_NUM_QUEUES: ::std::os::raw::c_uint = 8;
pub const IFLA_TUN_NUM_DISABLED_QUEUES: ::std::os::raw::c_uint = 9;
pub const __IFLA_TUN_MAX: ::std::os::raw::c_uint = 10;
pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
pub const IFLA_RMNET_UNSPEC: ::std::os::raw::c_uint = 0;
pub const IFLA_RMNET_MUX_ID: ::std::os::raw::c_uint = 1;
pub const IFLA_RMNET_FLAGS: ::std::os::raw::c_uint = 2;
pub const __IFLA_RMNET_MAX: ::std::os::raw::c_uint = 3;
pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_rmnet_flags {
pub flags: __u32,
pub mask: __u32,
}
#[test]
fn bindgen_test_layout_ifla_rmnet_flags() {
assert_eq!(
::std::mem::size_of::<ifla_rmnet_flags>(),
8usize,
concat!("Size of: ", stringify!(ifla_rmnet_flags))
);
assert_eq!(
::std::mem::align_of::<ifla_rmnet_flags>(),
4usize,
concat!("Alignment of ", stringify!(ifla_rmnet_flags))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_rmnet_flags>())).flags as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ifla_rmnet_flags),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<ifla_rmnet_flags>())).mask as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ifla_rmnet_flags),
"::",
stringify!(mask)
)
);
}