#[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 __BITS_PER_LONG: u32 = 64;
pub const __FD_SETSIZE: u32 = 1024;
pub const SI_LOAD_SHIFT: u32 = 16;
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 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 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 __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 = 29;
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 __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_FUNCS_EXT: 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 _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 _STRING_H: u32 = 1;
pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
pub const _STRINGS_H: u32 = 1;
pub const MAPS_RELAX_COMPAT: u32 = 1;
pub const BPF_LOG_BUF_SIZE: u32 = 16777215;
pub const __GNUC_VA_LIST: u32 = 1;
pub const BTF_MAGIC: u32 = 60319;
pub const BTF_VERSION: u32 = 1;
pub const BTF_MAX_TYPE: u32 = 1048575;
pub const BTF_MAX_NAME_OFFSET: u32 = 16777215;
pub const BTF_MAX_VLEN: u32 = 65535;
pub const BTF_KIND_UNKN: u32 = 0;
pub const BTF_KIND_INT: u32 = 1;
pub const BTF_KIND_PTR: u32 = 2;
pub const BTF_KIND_ARRAY: u32 = 3;
pub const BTF_KIND_STRUCT: u32 = 4;
pub const BTF_KIND_UNION: u32 = 5;
pub const BTF_KIND_ENUM: u32 = 6;
pub const BTF_KIND_FWD: u32 = 7;
pub const BTF_KIND_TYPEDEF: u32 = 8;
pub const BTF_KIND_VOLATILE: u32 = 9;
pub const BTF_KIND_CONST: u32 = 10;
pub const BTF_KIND_RESTRICT: u32 = 11;
pub const BTF_KIND_FUNC: u32 = 12;
pub const BTF_KIND_FUNC_PROTO: u32 = 13;
pub const BTF_KIND_VAR: u32 = 14;
pub const BTF_KIND_DATASEC: u32 = 15;
pub const BTF_KIND_MAX: u32 = 15;
pub const NR_BTF_KINDS: u32 = 16;
pub const BTF_INT_SIGNED: u32 = 1;
pub const BTF_INT_CHAR: u32 = 2;
pub const BTF_INT_BOOL: u32 = 4;
pub const BTF_ELF_SEC: &'static [u8; 5usize] = b".BTF\0";
pub const BTF_EXT_ELF_SEC: &'static [u8; 9usize] = b".BTF.ext\0";
pub const MAPS_ELF_SEC: &'static [u8; 6usize] = b".maps\0";
pub const _STDIO_H: u32 = 1;
pub const _____fpos_t_defined: u32 = 1;
pub const ____mbstate_t_defined: u32 = 1;
pub const _____fpos64_t_defined: u32 = 1;
pub const ____FILE_defined: u32 = 1;
pub const __FILE_defined: u32 = 1;
pub const __struct_FILE_defined: u32 = 1;
pub const _IO_EOF_SEEN: u32 = 16;
pub const _IO_ERR_SEEN: u32 = 32;
pub const _IO_USER_LOCK: u32 = 32768;
pub const _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 1;
pub const _IONBF: u32 = 2;
pub const BUFSIZ: u32 = 8192;
pub const EOF: i32 = -1;
pub const SEEK_SET: u32 = 0;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
pub const _BITS_STDIO_LIM_H: u32 = 1;
pub const L_tmpnam: u32 = 20;
pub const TMP_MAX: u32 = 238328;
pub const FILENAME_MAX: u32 = 4096;
pub const L_ctermid: u32 = 9;
pub const FOPEN_MAX: u32 = 16;
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 __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
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 __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const XDP_SHARED_UMEM: u32 = 1;
pub const XDP_COPY: u32 = 2;
pub const XDP_ZEROCOPY: u32 = 4;
pub const XDP_USE_NEED_WAKEUP: u32 = 8;
pub const XDP_UMEM_UNALIGNED_CHUNK_FLAG: u32 = 1;
pub const XDP_RING_NEED_WAKEUP: u32 = 1;
pub const XDP_MMAP_OFFSETS: u32 = 1;
pub const XDP_RX_RING: u32 = 2;
pub const XDP_TX_RING: u32 = 3;
pub const XDP_UMEM_REG: u32 = 4;
pub const XDP_UMEM_FILL_RING: u32 = 5;
pub const XDP_UMEM_COMPLETION_RING: u32 = 6;
pub const XDP_STATISTICS: u32 = 7;
pub const XDP_OPTIONS: u32 = 8;
pub const XDP_OPTIONS_ZEROCOPY: u32 = 1;
pub const XDP_PGOFF_RX_RING: u32 = 0;
pub const XDP_PGOFF_TX_RING: u32 = 2147483648;
pub const XDP_UMEM_PGOFF_FILL_RING: u64 = 4294967296;
pub const XDP_UMEM_PGOFF_COMPLETION_RING: u64 = 6442450944;
pub const XSK_UNALIGNED_BUF_OFFSET_SHIFT: u32 = 48;
pub const XSK_UNALIGNED_BUF_ADDR_MASK: u64 = 281474976710655;
pub const XSK_RING_CONS__DEFAULT_NUM_DESCS: u32 = 2048;
pub const XSK_RING_PROD__DEFAULT_NUM_DESCS: u32 = 2048;
pub const XSK_UMEM__DEFAULT_FRAME_SHIFT: u32 = 12;
pub const XSK_UMEM__DEFAULT_FRAME_SIZE: u32 = 4096;
pub const XSK_UMEM__DEFAULT_FRAME_HEADROOM: u32 = 0;
pub const XSK_UMEM__DEFAULT_FLAGS: u32 = 0;
pub const XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD: u32 = 1;
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;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fd_set {
pub fds_bits: [::std::os::raw::c_ulong; 16usize],
}
pub type __kernel_sighandler_t =
::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
pub type __kernel_key_t = ::std::os::raw::c_int;
pub type __kernel_mqd_t = ::std::os::raw::c_int;
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],
}
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;
pub type __sum16 = __u16;
pub type __wsum = __u32;
pub type __poll_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug)]
pub struct sysinfo {
pub uptime: __kernel_long_t,
pub loads: [__kernel_ulong_t; 3usize],
pub totalram: __kernel_ulong_t,
pub freeram: __kernel_ulong_t,
pub sharedram: __kernel_ulong_t,
pub bufferram: __kernel_ulong_t,
pub totalswap: __kernel_ulong_t,
pub freeswap: __kernel_ulong_t,
pub procs: __u16,
pub pad: __u16,
pub totalhigh: __kernel_ulong_t,
pub freehigh: __kernel_ulong_t,
pub mem_unit: __u32,
pub _f: __IncompleteArrayField<::std::os::raw::c_char>,
}
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],
}
#[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,
}
#[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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlmsgerr {
pub error: ::std::os::raw::c_int,
pub msg: nlmsghdr,
}
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;
pub type nlmsgerr_attrs = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nl_pktinfo {
pub group: __u32,
}
#[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,
}
#[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,
}
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 = u32;
pub const NETLINK_UNCONNECTED: _bindgen_ty_1 = 0;
pub const NETLINK_CONNECTED: _bindgen_ty_1 = 1;
pub type _bindgen_ty_1 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlattr {
pub nla_len: __u16,
pub nla_type: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nla_bitfield32 {
pub value: __u32,
pub selector: __u32,
}
#[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,
}
#[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,
}
#[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,
}
pub const IFLA_UNSPEC: _bindgen_ty_2 = 0;
pub const IFLA_ADDRESS: _bindgen_ty_2 = 1;
pub const IFLA_BROADCAST: _bindgen_ty_2 = 2;
pub const IFLA_IFNAME: _bindgen_ty_2 = 3;
pub const IFLA_MTU: _bindgen_ty_2 = 4;
pub const IFLA_LINK: _bindgen_ty_2 = 5;
pub const IFLA_QDISC: _bindgen_ty_2 = 6;
pub const IFLA_STATS: _bindgen_ty_2 = 7;
pub const IFLA_COST: _bindgen_ty_2 = 8;
pub const IFLA_PRIORITY: _bindgen_ty_2 = 9;
pub const IFLA_MASTER: _bindgen_ty_2 = 10;
pub const IFLA_WIRELESS: _bindgen_ty_2 = 11;
pub const IFLA_PROTINFO: _bindgen_ty_2 = 12;
pub const IFLA_TXQLEN: _bindgen_ty_2 = 13;
pub const IFLA_MAP: _bindgen_ty_2 = 14;
pub const IFLA_WEIGHT: _bindgen_ty_2 = 15;
pub const IFLA_OPERSTATE: _bindgen_ty_2 = 16;
pub const IFLA_LINKMODE: _bindgen_ty_2 = 17;
pub const IFLA_LINKINFO: _bindgen_ty_2 = 18;
pub const IFLA_NET_NS_PID: _bindgen_ty_2 = 19;
pub const IFLA_IFALIAS: _bindgen_ty_2 = 20;
pub const IFLA_NUM_VF: _bindgen_ty_2 = 21;
pub const IFLA_VFINFO_LIST: _bindgen_ty_2 = 22;
pub const IFLA_STATS64: _bindgen_ty_2 = 23;
pub const IFLA_VF_PORTS: _bindgen_ty_2 = 24;
pub const IFLA_PORT_SELF: _bindgen_ty_2 = 25;
pub const IFLA_AF_SPEC: _bindgen_ty_2 = 26;
pub const IFLA_GROUP: _bindgen_ty_2 = 27;
pub const IFLA_NET_NS_FD: _bindgen_ty_2 = 28;
pub const IFLA_EXT_MASK: _bindgen_ty_2 = 29;
pub const IFLA_PROMISCUITY: _bindgen_ty_2 = 30;
pub const IFLA_NUM_TX_QUEUES: _bindgen_ty_2 = 31;
pub const IFLA_NUM_RX_QUEUES: _bindgen_ty_2 = 32;
pub const IFLA_CARRIER: _bindgen_ty_2 = 33;
pub const IFLA_PHYS_PORT_ID: _bindgen_ty_2 = 34;
pub const IFLA_CARRIER_CHANGES: _bindgen_ty_2 = 35;
pub const IFLA_PHYS_SWITCH_ID: _bindgen_ty_2 = 36;
pub const IFLA_LINK_NETNSID: _bindgen_ty_2 = 37;
pub const IFLA_PHYS_PORT_NAME: _bindgen_ty_2 = 38;
pub const IFLA_PROTO_DOWN: _bindgen_ty_2 = 39;
pub const IFLA_GSO_MAX_SEGS: _bindgen_ty_2 = 40;
pub const IFLA_GSO_MAX_SIZE: _bindgen_ty_2 = 41;
pub const IFLA_PAD: _bindgen_ty_2 = 42;
pub const IFLA_XDP: _bindgen_ty_2 = 43;
pub const IFLA_EVENT: _bindgen_ty_2 = 44;
pub const IFLA_NEW_NETNSID: _bindgen_ty_2 = 45;
pub const IFLA_IF_NETNSID: _bindgen_ty_2 = 46;
pub const IFLA_TARGET_NETNSID: _bindgen_ty_2 = 46;
pub const IFLA_CARRIER_UP_COUNT: _bindgen_ty_2 = 47;
pub const IFLA_CARRIER_DOWN_COUNT: _bindgen_ty_2 = 48;
pub const IFLA_NEW_IFINDEX: _bindgen_ty_2 = 49;
pub const IFLA_MIN_MTU: _bindgen_ty_2 = 50;
pub const IFLA_MAX_MTU: _bindgen_ty_2 = 51;
pub const IFLA_PROP_LIST: _bindgen_ty_2 = 52;
pub const IFLA_ALT_IFNAME: _bindgen_ty_2 = 53;
pub const IFLA_PERM_ADDRESS: _bindgen_ty_2 = 54;
pub const __IFLA_MAX: _bindgen_ty_2 = 55;
pub type _bindgen_ty_2 = u32;
pub const IFLA_INET_UNSPEC: _bindgen_ty_3 = 0;
pub const IFLA_INET_CONF: _bindgen_ty_3 = 1;
pub const __IFLA_INET_MAX: _bindgen_ty_3 = 2;
pub type _bindgen_ty_3 = u32;
pub const IFLA_INET6_UNSPEC: _bindgen_ty_4 = 0;
pub const IFLA_INET6_FLAGS: _bindgen_ty_4 = 1;
pub const IFLA_INET6_CONF: _bindgen_ty_4 = 2;
pub const IFLA_INET6_STATS: _bindgen_ty_4 = 3;
pub const IFLA_INET6_MCAST: _bindgen_ty_4 = 4;
pub const IFLA_INET6_CACHEINFO: _bindgen_ty_4 = 5;
pub const IFLA_INET6_ICMP6STATS: _bindgen_ty_4 = 6;
pub const IFLA_INET6_TOKEN: _bindgen_ty_4 = 7;
pub const IFLA_INET6_ADDR_GEN_MODE: _bindgen_ty_4 = 8;
pub const __IFLA_INET6_MAX: _bindgen_ty_4 = 9;
pub type _bindgen_ty_4 = u32;
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 = u32;
pub const IFLA_BR_UNSPEC: _bindgen_ty_5 = 0;
pub const IFLA_BR_FORWARD_DELAY: _bindgen_ty_5 = 1;
pub const IFLA_BR_HELLO_TIME: _bindgen_ty_5 = 2;
pub const IFLA_BR_MAX_AGE: _bindgen_ty_5 = 3;
pub const IFLA_BR_AGEING_TIME: _bindgen_ty_5 = 4;
pub const IFLA_BR_STP_STATE: _bindgen_ty_5 = 5;
pub const IFLA_BR_PRIORITY: _bindgen_ty_5 = 6;
pub const IFLA_BR_VLAN_FILTERING: _bindgen_ty_5 = 7;
pub const IFLA_BR_VLAN_PROTOCOL: _bindgen_ty_5 = 8;
pub const IFLA_BR_GROUP_FWD_MASK: _bindgen_ty_5 = 9;
pub const IFLA_BR_ROOT_ID: _bindgen_ty_5 = 10;
pub const IFLA_BR_BRIDGE_ID: _bindgen_ty_5 = 11;
pub const IFLA_BR_ROOT_PORT: _bindgen_ty_5 = 12;
pub const IFLA_BR_ROOT_PATH_COST: _bindgen_ty_5 = 13;
pub const IFLA_BR_TOPOLOGY_CHANGE: _bindgen_ty_5 = 14;
pub const IFLA_BR_TOPOLOGY_CHANGE_DETECTED: _bindgen_ty_5 = 15;
pub const IFLA_BR_HELLO_TIMER: _bindgen_ty_5 = 16;
pub const IFLA_BR_TCN_TIMER: _bindgen_ty_5 = 17;
pub const IFLA_BR_TOPOLOGY_CHANGE_TIMER: _bindgen_ty_5 = 18;
pub const IFLA_BR_GC_TIMER: _bindgen_ty_5 = 19;
pub const IFLA_BR_GROUP_ADDR: _bindgen_ty_5 = 20;
pub const IFLA_BR_FDB_FLUSH: _bindgen_ty_5 = 21;
pub const IFLA_BR_MCAST_ROUTER: _bindgen_ty_5 = 22;
pub const IFLA_BR_MCAST_SNOOPING: _bindgen_ty_5 = 23;
pub const IFLA_BR_MCAST_QUERY_USE_IFADDR: _bindgen_ty_5 = 24;
pub const IFLA_BR_MCAST_QUERIER: _bindgen_ty_5 = 25;
pub const IFLA_BR_MCAST_HASH_ELASTICITY: _bindgen_ty_5 = 26;
pub const IFLA_BR_MCAST_HASH_MAX: _bindgen_ty_5 = 27;
pub const IFLA_BR_MCAST_LAST_MEMBER_CNT: _bindgen_ty_5 = 28;
pub const IFLA_BR_MCAST_STARTUP_QUERY_CNT: _bindgen_ty_5 = 29;
pub const IFLA_BR_MCAST_LAST_MEMBER_INTVL: _bindgen_ty_5 = 30;
pub const IFLA_BR_MCAST_MEMBERSHIP_INTVL: _bindgen_ty_5 = 31;
pub const IFLA_BR_MCAST_QUERIER_INTVL: _bindgen_ty_5 = 32;
pub const IFLA_BR_MCAST_QUERY_INTVL: _bindgen_ty_5 = 33;
pub const IFLA_BR_MCAST_QUERY_RESPONSE_INTVL: _bindgen_ty_5 = 34;
pub const IFLA_BR_MCAST_STARTUP_QUERY_INTVL: _bindgen_ty_5 = 35;
pub const IFLA_BR_NF_CALL_IPTABLES: _bindgen_ty_5 = 36;
pub const IFLA_BR_NF_CALL_IP6TABLES: _bindgen_ty_5 = 37;
pub const IFLA_BR_NF_CALL_ARPTABLES: _bindgen_ty_5 = 38;
pub const IFLA_BR_VLAN_DEFAULT_PVID: _bindgen_ty_5 = 39;
pub const IFLA_BR_PAD: _bindgen_ty_5 = 40;
pub const IFLA_BR_VLAN_STATS_ENABLED: _bindgen_ty_5 = 41;
pub const IFLA_BR_MCAST_STATS_ENABLED: _bindgen_ty_5 = 42;
pub const IFLA_BR_MCAST_IGMP_VERSION: _bindgen_ty_5 = 43;
pub const IFLA_BR_MCAST_MLD_VERSION: _bindgen_ty_5 = 44;
pub const IFLA_BR_VLAN_STATS_PER_PORT: _bindgen_ty_5 = 45;
pub const IFLA_BR_MULTI_BOOLOPT: _bindgen_ty_5 = 46;
pub const __IFLA_BR_MAX: _bindgen_ty_5 = 47;
pub type _bindgen_ty_5 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_bridge_id {
pub prio: [__u8; 2usize],
pub addr: [__u8; 6usize],
}
pub const BRIDGE_MODE_UNSPEC: _bindgen_ty_6 = 0;
pub const BRIDGE_MODE_HAIRPIN: _bindgen_ty_6 = 1;
pub type _bindgen_ty_6 = u32;
pub const IFLA_BRPORT_UNSPEC: _bindgen_ty_7 = 0;
pub const IFLA_BRPORT_STATE: _bindgen_ty_7 = 1;
pub const IFLA_BRPORT_PRIORITY: _bindgen_ty_7 = 2;
pub const IFLA_BRPORT_COST: _bindgen_ty_7 = 3;
pub const IFLA_BRPORT_MODE: _bindgen_ty_7 = 4;
pub const IFLA_BRPORT_GUARD: _bindgen_ty_7 = 5;
pub const IFLA_BRPORT_PROTECT: _bindgen_ty_7 = 6;
pub const IFLA_BRPORT_FAST_LEAVE: _bindgen_ty_7 = 7;
pub const IFLA_BRPORT_LEARNING: _bindgen_ty_7 = 8;
pub const IFLA_BRPORT_UNICAST_FLOOD: _bindgen_ty_7 = 9;
pub const IFLA_BRPORT_PROXYARP: _bindgen_ty_7 = 10;
pub const IFLA_BRPORT_LEARNING_SYNC: _bindgen_ty_7 = 11;
pub const IFLA_BRPORT_PROXYARP_WIFI: _bindgen_ty_7 = 12;
pub const IFLA_BRPORT_ROOT_ID: _bindgen_ty_7 = 13;
pub const IFLA_BRPORT_BRIDGE_ID: _bindgen_ty_7 = 14;
pub const IFLA_BRPORT_DESIGNATED_PORT: _bindgen_ty_7 = 15;
pub const IFLA_BRPORT_DESIGNATED_COST: _bindgen_ty_7 = 16;
pub const IFLA_BRPORT_ID: _bindgen_ty_7 = 17;
pub const IFLA_BRPORT_NO: _bindgen_ty_7 = 18;
pub const IFLA_BRPORT_TOPOLOGY_CHANGE_ACK: _bindgen_ty_7 = 19;
pub const IFLA_BRPORT_CONFIG_PENDING: _bindgen_ty_7 = 20;
pub const IFLA_BRPORT_MESSAGE_AGE_TIMER: _bindgen_ty_7 = 21;
pub const IFLA_BRPORT_FORWARD_DELAY_TIMER: _bindgen_ty_7 = 22;
pub const IFLA_BRPORT_HOLD_TIMER: _bindgen_ty_7 = 23;
pub const IFLA_BRPORT_FLUSH: _bindgen_ty_7 = 24;
pub const IFLA_BRPORT_MULTICAST_ROUTER: _bindgen_ty_7 = 25;
pub const IFLA_BRPORT_PAD: _bindgen_ty_7 = 26;
pub const IFLA_BRPORT_MCAST_FLOOD: _bindgen_ty_7 = 27;
pub const IFLA_BRPORT_MCAST_TO_UCAST: _bindgen_ty_7 = 28;
pub const IFLA_BRPORT_VLAN_TUNNEL: _bindgen_ty_7 = 29;
pub const IFLA_BRPORT_BCAST_FLOOD: _bindgen_ty_7 = 30;
pub const IFLA_BRPORT_GROUP_FWD_MASK: _bindgen_ty_7 = 31;
pub const IFLA_BRPORT_NEIGH_SUPPRESS: _bindgen_ty_7 = 32;
pub const IFLA_BRPORT_ISOLATED: _bindgen_ty_7 = 33;
pub const IFLA_BRPORT_BACKUP_PORT: _bindgen_ty_7 = 34;
pub const __IFLA_BRPORT_MAX: _bindgen_ty_7 = 35;
pub type _bindgen_ty_7 = u32;
#[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,
}
pub const IFLA_INFO_UNSPEC: _bindgen_ty_8 = 0;
pub const IFLA_INFO_KIND: _bindgen_ty_8 = 1;
pub const IFLA_INFO_DATA: _bindgen_ty_8 = 2;
pub const IFLA_INFO_XSTATS: _bindgen_ty_8 = 3;
pub const IFLA_INFO_SLAVE_KIND: _bindgen_ty_8 = 4;
pub const IFLA_INFO_SLAVE_DATA: _bindgen_ty_8 = 5;
pub const __IFLA_INFO_MAX: _bindgen_ty_8 = 6;
pub type _bindgen_ty_8 = u32;
pub const IFLA_VLAN_UNSPEC: _bindgen_ty_9 = 0;
pub const IFLA_VLAN_ID: _bindgen_ty_9 = 1;
pub const IFLA_VLAN_FLAGS: _bindgen_ty_9 = 2;
pub const IFLA_VLAN_EGRESS_QOS: _bindgen_ty_9 = 3;
pub const IFLA_VLAN_INGRESS_QOS: _bindgen_ty_9 = 4;
pub const IFLA_VLAN_PROTOCOL: _bindgen_ty_9 = 5;
pub const __IFLA_VLAN_MAX: _bindgen_ty_9 = 6;
pub type _bindgen_ty_9 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_flags {
pub flags: __u32,
pub mask: __u32,
}
pub const IFLA_VLAN_QOS_UNSPEC: _bindgen_ty_10 = 0;
pub const IFLA_VLAN_QOS_MAPPING: _bindgen_ty_10 = 1;
pub const __IFLA_VLAN_QOS_MAX: _bindgen_ty_10 = 2;
pub type _bindgen_ty_10 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_qos_mapping {
pub from: __u32,
pub to: __u32,
}
pub const IFLA_MACVLAN_UNSPEC: _bindgen_ty_11 = 0;
pub const IFLA_MACVLAN_MODE: _bindgen_ty_11 = 1;
pub const IFLA_MACVLAN_FLAGS: _bindgen_ty_11 = 2;
pub const IFLA_MACVLAN_MACADDR_MODE: _bindgen_ty_11 = 3;
pub const IFLA_MACVLAN_MACADDR: _bindgen_ty_11 = 4;
pub const IFLA_MACVLAN_MACADDR_DATA: _bindgen_ty_11 = 5;
pub const IFLA_MACVLAN_MACADDR_COUNT: _bindgen_ty_11 = 6;
pub const __IFLA_MACVLAN_MAX: _bindgen_ty_11 = 7;
pub type _bindgen_ty_11 = u32;
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 = u32;
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 = u32;
pub const IFLA_VRF_UNSPEC: _bindgen_ty_12 = 0;
pub const IFLA_VRF_TABLE: _bindgen_ty_12 = 1;
pub const __IFLA_VRF_MAX: _bindgen_ty_12 = 2;
pub type _bindgen_ty_12 = u32;
pub const IFLA_VRF_PORT_UNSPEC: _bindgen_ty_13 = 0;
pub const IFLA_VRF_PORT_TABLE: _bindgen_ty_13 = 1;
pub const __IFLA_VRF_PORT_MAX: _bindgen_ty_13 = 2;
pub type _bindgen_ty_13 = u32;
pub const IFLA_MACSEC_UNSPEC: _bindgen_ty_14 = 0;
pub const IFLA_MACSEC_SCI: _bindgen_ty_14 = 1;
pub const IFLA_MACSEC_PORT: _bindgen_ty_14 = 2;
pub const IFLA_MACSEC_ICV_LEN: _bindgen_ty_14 = 3;
pub const IFLA_MACSEC_CIPHER_SUITE: _bindgen_ty_14 = 4;
pub const IFLA_MACSEC_WINDOW: _bindgen_ty_14 = 5;
pub const IFLA_MACSEC_ENCODING_SA: _bindgen_ty_14 = 6;
pub const IFLA_MACSEC_ENCRYPT: _bindgen_ty_14 = 7;
pub const IFLA_MACSEC_PROTECT: _bindgen_ty_14 = 8;
pub const IFLA_MACSEC_INC_SCI: _bindgen_ty_14 = 9;
pub const IFLA_MACSEC_ES: _bindgen_ty_14 = 10;
pub const IFLA_MACSEC_SCB: _bindgen_ty_14 = 11;
pub const IFLA_MACSEC_REPLAY_PROTECT: _bindgen_ty_14 = 12;
pub const IFLA_MACSEC_VALIDATION: _bindgen_ty_14 = 13;
pub const IFLA_MACSEC_PAD: _bindgen_ty_14 = 14;
pub const __IFLA_MACSEC_MAX: _bindgen_ty_14 = 15;
pub type _bindgen_ty_14 = u32;
pub const IFLA_XFRM_UNSPEC: _bindgen_ty_15 = 0;
pub const IFLA_XFRM_LINK: _bindgen_ty_15 = 1;
pub const IFLA_XFRM_IF_ID: _bindgen_ty_15 = 2;
pub const __IFLA_XFRM_MAX: _bindgen_ty_15 = 3;
pub type _bindgen_ty_15 = u32;
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 = u32;
pub const macsec_offload_MACSEC_OFFLOAD_OFF: macsec_offload = 0;
pub const macsec_offload_MACSEC_OFFLOAD_PHY: macsec_offload = 1;
pub const macsec_offload___MACSEC_OFFLOAD_END: macsec_offload = 2;
pub const macsec_offload_MACSEC_OFFLOAD_MAX: macsec_offload = 1;
pub type macsec_offload = u32;
pub const IFLA_IPVLAN_UNSPEC: _bindgen_ty_16 = 0;
pub const IFLA_IPVLAN_MODE: _bindgen_ty_16 = 1;
pub const IFLA_IPVLAN_FLAGS: _bindgen_ty_16 = 2;
pub const __IFLA_IPVLAN_MAX: _bindgen_ty_16 = 3;
pub type _bindgen_ty_16 = u32;
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 = u32;
pub const IFLA_VXLAN_UNSPEC: _bindgen_ty_17 = 0;
pub const IFLA_VXLAN_ID: _bindgen_ty_17 = 1;
pub const IFLA_VXLAN_GROUP: _bindgen_ty_17 = 2;
pub const IFLA_VXLAN_LINK: _bindgen_ty_17 = 3;
pub const IFLA_VXLAN_LOCAL: _bindgen_ty_17 = 4;
pub const IFLA_VXLAN_TTL: _bindgen_ty_17 = 5;
pub const IFLA_VXLAN_TOS: _bindgen_ty_17 = 6;
pub const IFLA_VXLAN_LEARNING: _bindgen_ty_17 = 7;
pub const IFLA_VXLAN_AGEING: _bindgen_ty_17 = 8;
pub const IFLA_VXLAN_LIMIT: _bindgen_ty_17 = 9;
pub const IFLA_VXLAN_PORT_RANGE: _bindgen_ty_17 = 10;
pub const IFLA_VXLAN_PROXY: _bindgen_ty_17 = 11;
pub const IFLA_VXLAN_RSC: _bindgen_ty_17 = 12;
pub const IFLA_VXLAN_L2MISS: _bindgen_ty_17 = 13;
pub const IFLA_VXLAN_L3MISS: _bindgen_ty_17 = 14;
pub const IFLA_VXLAN_PORT: _bindgen_ty_17 = 15;
pub const IFLA_VXLAN_GROUP6: _bindgen_ty_17 = 16;
pub const IFLA_VXLAN_LOCAL6: _bindgen_ty_17 = 17;
pub const IFLA_VXLAN_UDP_CSUM: _bindgen_ty_17 = 18;
pub const IFLA_VXLAN_UDP_ZERO_CSUM6_TX: _bindgen_ty_17 = 19;
pub const IFLA_VXLAN_UDP_ZERO_CSUM6_RX: _bindgen_ty_17 = 20;
pub const IFLA_VXLAN_REMCSUM_TX: _bindgen_ty_17 = 21;
pub const IFLA_VXLAN_REMCSUM_RX: _bindgen_ty_17 = 22;
pub const IFLA_VXLAN_GBP: _bindgen_ty_17 = 23;
pub const IFLA_VXLAN_REMCSUM_NOPARTIAL: _bindgen_ty_17 = 24;
pub const IFLA_VXLAN_COLLECT_METADATA: _bindgen_ty_17 = 25;
pub const IFLA_VXLAN_LABEL: _bindgen_ty_17 = 26;
pub const IFLA_VXLAN_GPE: _bindgen_ty_17 = 27;
pub const IFLA_VXLAN_TTL_INHERIT: _bindgen_ty_17 = 28;
pub const IFLA_VXLAN_DF: _bindgen_ty_17 = 29;
pub const __IFLA_VXLAN_MAX: _bindgen_ty_17 = 30;
pub type _bindgen_ty_17 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vxlan_port_range {
pub low: __be16,
pub high: __be16,
}
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 = u32;
pub const IFLA_GENEVE_UNSPEC: _bindgen_ty_18 = 0;
pub const IFLA_GENEVE_ID: _bindgen_ty_18 = 1;
pub const IFLA_GENEVE_REMOTE: _bindgen_ty_18 = 2;
pub const IFLA_GENEVE_TTL: _bindgen_ty_18 = 3;
pub const IFLA_GENEVE_TOS: _bindgen_ty_18 = 4;
pub const IFLA_GENEVE_PORT: _bindgen_ty_18 = 5;
pub const IFLA_GENEVE_COLLECT_METADATA: _bindgen_ty_18 = 6;
pub const IFLA_GENEVE_REMOTE6: _bindgen_ty_18 = 7;
pub const IFLA_GENEVE_UDP_CSUM: _bindgen_ty_18 = 8;
pub const IFLA_GENEVE_UDP_ZERO_CSUM6_TX: _bindgen_ty_18 = 9;
pub const IFLA_GENEVE_UDP_ZERO_CSUM6_RX: _bindgen_ty_18 = 10;
pub const IFLA_GENEVE_LABEL: _bindgen_ty_18 = 11;
pub const IFLA_GENEVE_TTL_INHERIT: _bindgen_ty_18 = 12;
pub const IFLA_GENEVE_DF: _bindgen_ty_18 = 13;
pub const __IFLA_GENEVE_MAX: _bindgen_ty_18 = 14;
pub type _bindgen_ty_18 = u32;
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 = u32;
pub const IFLA_PPP_UNSPEC: _bindgen_ty_19 = 0;
pub const IFLA_PPP_DEV_FD: _bindgen_ty_19 = 1;
pub const __IFLA_PPP_MAX: _bindgen_ty_19 = 2;
pub type _bindgen_ty_19 = u32;
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 = u32;
pub const IFLA_GTP_UNSPEC: _bindgen_ty_20 = 0;
pub const IFLA_GTP_FD0: _bindgen_ty_20 = 1;
pub const IFLA_GTP_FD1: _bindgen_ty_20 = 2;
pub const IFLA_GTP_PDP_HASHSIZE: _bindgen_ty_20 = 3;
pub const IFLA_GTP_ROLE: _bindgen_ty_20 = 4;
pub const __IFLA_GTP_MAX: _bindgen_ty_20 = 5;
pub type _bindgen_ty_20 = u32;
pub const IFLA_BOND_UNSPEC: _bindgen_ty_21 = 0;
pub const IFLA_BOND_MODE: _bindgen_ty_21 = 1;
pub const IFLA_BOND_ACTIVE_SLAVE: _bindgen_ty_21 = 2;
pub const IFLA_BOND_MIIMON: _bindgen_ty_21 = 3;
pub const IFLA_BOND_UPDELAY: _bindgen_ty_21 = 4;
pub const IFLA_BOND_DOWNDELAY: _bindgen_ty_21 = 5;
pub const IFLA_BOND_USE_CARRIER: _bindgen_ty_21 = 6;
pub const IFLA_BOND_ARP_INTERVAL: _bindgen_ty_21 = 7;
pub const IFLA_BOND_ARP_IP_TARGET: _bindgen_ty_21 = 8;
pub const IFLA_BOND_ARP_VALIDATE: _bindgen_ty_21 = 9;
pub const IFLA_BOND_ARP_ALL_TARGETS: _bindgen_ty_21 = 10;
pub const IFLA_BOND_PRIMARY: _bindgen_ty_21 = 11;
pub const IFLA_BOND_PRIMARY_RESELECT: _bindgen_ty_21 = 12;
pub const IFLA_BOND_FAIL_OVER_MAC: _bindgen_ty_21 = 13;
pub const IFLA_BOND_XMIT_HASH_POLICY: _bindgen_ty_21 = 14;
pub const IFLA_BOND_RESEND_IGMP: _bindgen_ty_21 = 15;
pub const IFLA_BOND_NUM_PEER_NOTIF: _bindgen_ty_21 = 16;
pub const IFLA_BOND_ALL_SLAVES_ACTIVE: _bindgen_ty_21 = 17;
pub const IFLA_BOND_MIN_LINKS: _bindgen_ty_21 = 18;
pub const IFLA_BOND_LP_INTERVAL: _bindgen_ty_21 = 19;
pub const IFLA_BOND_PACKETS_PER_SLAVE: _bindgen_ty_21 = 20;
pub const IFLA_BOND_AD_LACP_RATE: _bindgen_ty_21 = 21;
pub const IFLA_BOND_AD_SELECT: _bindgen_ty_21 = 22;
pub const IFLA_BOND_AD_INFO: _bindgen_ty_21 = 23;
pub const IFLA_BOND_AD_ACTOR_SYS_PRIO: _bindgen_ty_21 = 24;
pub const IFLA_BOND_AD_USER_PORT_KEY: _bindgen_ty_21 = 25;
pub const IFLA_BOND_AD_ACTOR_SYSTEM: _bindgen_ty_21 = 26;
pub const IFLA_BOND_TLB_DYNAMIC_LB: _bindgen_ty_21 = 27;
pub const IFLA_BOND_PEER_NOTIF_DELAY: _bindgen_ty_21 = 28;
pub const __IFLA_BOND_MAX: _bindgen_ty_21 = 29;
pub type _bindgen_ty_21 = u32;
pub const IFLA_BOND_AD_INFO_UNSPEC: _bindgen_ty_22 = 0;
pub const IFLA_BOND_AD_INFO_AGGREGATOR: _bindgen_ty_22 = 1;
pub const IFLA_BOND_AD_INFO_NUM_PORTS: _bindgen_ty_22 = 2;
pub const IFLA_BOND_AD_INFO_ACTOR_KEY: _bindgen_ty_22 = 3;
pub const IFLA_BOND_AD_INFO_PARTNER_KEY: _bindgen_ty_22 = 4;
pub const IFLA_BOND_AD_INFO_PARTNER_MAC: _bindgen_ty_22 = 5;
pub const __IFLA_BOND_AD_INFO_MAX: _bindgen_ty_22 = 6;
pub type _bindgen_ty_22 = u32;
pub const IFLA_BOND_SLAVE_UNSPEC: _bindgen_ty_23 = 0;
pub const IFLA_BOND_SLAVE_STATE: _bindgen_ty_23 = 1;
pub const IFLA_BOND_SLAVE_MII_STATUS: _bindgen_ty_23 = 2;
pub const IFLA_BOND_SLAVE_LINK_FAILURE_COUNT: _bindgen_ty_23 = 3;
pub const IFLA_BOND_SLAVE_PERM_HWADDR: _bindgen_ty_23 = 4;
pub const IFLA_BOND_SLAVE_QUEUE_ID: _bindgen_ty_23 = 5;
pub const IFLA_BOND_SLAVE_AD_AGGREGATOR_ID: _bindgen_ty_23 = 6;
pub const IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE: _bindgen_ty_23 = 7;
pub const IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE: _bindgen_ty_23 = 8;
pub const __IFLA_BOND_SLAVE_MAX: _bindgen_ty_23 = 9;
pub type _bindgen_ty_23 = u32;
pub const IFLA_VF_INFO_UNSPEC: _bindgen_ty_24 = 0;
pub const IFLA_VF_INFO: _bindgen_ty_24 = 1;
pub const __IFLA_VF_INFO_MAX: _bindgen_ty_24 = 2;
pub type _bindgen_ty_24 = u32;
pub const IFLA_VF_UNSPEC: _bindgen_ty_25 = 0;
pub const IFLA_VF_MAC: _bindgen_ty_25 = 1;
pub const IFLA_VF_VLAN: _bindgen_ty_25 = 2;
pub const IFLA_VF_TX_RATE: _bindgen_ty_25 = 3;
pub const IFLA_VF_SPOOFCHK: _bindgen_ty_25 = 4;
pub const IFLA_VF_LINK_STATE: _bindgen_ty_25 = 5;
pub const IFLA_VF_RATE: _bindgen_ty_25 = 6;
pub const IFLA_VF_RSS_QUERY_EN: _bindgen_ty_25 = 7;
pub const IFLA_VF_STATS: _bindgen_ty_25 = 8;
pub const IFLA_VF_TRUST: _bindgen_ty_25 = 9;
pub const IFLA_VF_IB_NODE_GUID: _bindgen_ty_25 = 10;
pub const IFLA_VF_IB_PORT_GUID: _bindgen_ty_25 = 11;
pub const IFLA_VF_VLAN_LIST: _bindgen_ty_25 = 12;
pub const IFLA_VF_BROADCAST: _bindgen_ty_25 = 13;
pub const __IFLA_VF_MAX: _bindgen_ty_25 = 14;
pub type _bindgen_ty_25 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_mac {
pub vf: __u32,
pub mac: [__u8; 32usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_broadcast {
pub broadcast: [__u8; 32usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_vlan {
pub vf: __u32,
pub vlan: __u32,
pub qos: __u32,
}
pub const IFLA_VF_VLAN_INFO_UNSPEC: _bindgen_ty_26 = 0;
pub const IFLA_VF_VLAN_INFO: _bindgen_ty_26 = 1;
pub const __IFLA_VF_VLAN_INFO_MAX: _bindgen_ty_26 = 2;
pub type _bindgen_ty_26 = u32;
#[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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_tx_rate {
pub vf: __u32,
pub rate: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_rate {
pub vf: __u32,
pub min_tx_rate: __u32,
pub max_tx_rate: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_spoofchk {
pub vf: __u32,
pub setting: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_guid {
pub vf: __u32,
pub guid: __u64,
}
pub const IFLA_VF_LINK_STATE_AUTO: _bindgen_ty_27 = 0;
pub const IFLA_VF_LINK_STATE_ENABLE: _bindgen_ty_27 = 1;
pub const IFLA_VF_LINK_STATE_DISABLE: _bindgen_ty_27 = 2;
pub const __IFLA_VF_LINK_STATE_MAX: _bindgen_ty_27 = 3;
pub type _bindgen_ty_27 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_link_state {
pub vf: __u32,
pub link_state: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_rss_query_en {
pub vf: __u32,
pub setting: __u32,
}
pub const IFLA_VF_STATS_RX_PACKETS: _bindgen_ty_28 = 0;
pub const IFLA_VF_STATS_TX_PACKETS: _bindgen_ty_28 = 1;
pub const IFLA_VF_STATS_RX_BYTES: _bindgen_ty_28 = 2;
pub const IFLA_VF_STATS_TX_BYTES: _bindgen_ty_28 = 3;
pub const IFLA_VF_STATS_BROADCAST: _bindgen_ty_28 = 4;
pub const IFLA_VF_STATS_MULTICAST: _bindgen_ty_28 = 5;
pub const IFLA_VF_STATS_PAD: _bindgen_ty_28 = 6;
pub const IFLA_VF_STATS_RX_DROPPED: _bindgen_ty_28 = 7;
pub const IFLA_VF_STATS_TX_DROPPED: _bindgen_ty_28 = 8;
pub const __IFLA_VF_STATS_MAX: _bindgen_ty_28 = 9;
pub type _bindgen_ty_28 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vf_trust {
pub vf: __u32,
pub setting: __u32,
}
pub const IFLA_VF_PORT_UNSPEC: _bindgen_ty_29 = 0;
pub const IFLA_VF_PORT: _bindgen_ty_29 = 1;
pub const __IFLA_VF_PORT_MAX: _bindgen_ty_29 = 2;
pub type _bindgen_ty_29 = u32;
pub const IFLA_PORT_UNSPEC: _bindgen_ty_30 = 0;
pub const IFLA_PORT_VF: _bindgen_ty_30 = 1;
pub const IFLA_PORT_PROFILE: _bindgen_ty_30 = 2;
pub const IFLA_PORT_VSI_TYPE: _bindgen_ty_30 = 3;
pub const IFLA_PORT_INSTANCE_UUID: _bindgen_ty_30 = 4;
pub const IFLA_PORT_HOST_UUID: _bindgen_ty_30 = 5;
pub const IFLA_PORT_REQUEST: _bindgen_ty_30 = 6;
pub const IFLA_PORT_RESPONSE: _bindgen_ty_30 = 7;
pub const __IFLA_PORT_MAX: _bindgen_ty_30 = 8;
pub type _bindgen_ty_30 = u32;
pub const PORT_REQUEST_PREASSOCIATE: _bindgen_ty_31 = 0;
pub const PORT_REQUEST_PREASSOCIATE_RR: _bindgen_ty_31 = 1;
pub const PORT_REQUEST_ASSOCIATE: _bindgen_ty_31 = 2;
pub const PORT_REQUEST_DISASSOCIATE: _bindgen_ty_31 = 3;
pub type _bindgen_ty_31 = u32;
pub const PORT_VDP_RESPONSE_SUCCESS: _bindgen_ty_32 = 0;
pub const PORT_VDP_RESPONSE_INVALID_FORMAT: _bindgen_ty_32 = 1;
pub const PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES: _bindgen_ty_32 = 2;
pub const PORT_VDP_RESPONSE_UNUSED_VTID: _bindgen_ty_32 = 3;
pub const PORT_VDP_RESPONSE_VTID_VIOLATION: _bindgen_ty_32 = 4;
pub const PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION: _bindgen_ty_32 = 5;
pub const PORT_VDP_RESPONSE_OUT_OF_SYNC: _bindgen_ty_32 = 6;
pub const PORT_PROFILE_RESPONSE_SUCCESS: _bindgen_ty_32 = 256;
pub const PORT_PROFILE_RESPONSE_INPROGRESS: _bindgen_ty_32 = 257;
pub const PORT_PROFILE_RESPONSE_INVALID: _bindgen_ty_32 = 258;
pub const PORT_PROFILE_RESPONSE_BADSTATE: _bindgen_ty_32 = 259;
pub const PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES: _bindgen_ty_32 = 260;
pub const PORT_PROFILE_RESPONSE_ERROR: _bindgen_ty_32 = 261;
pub type _bindgen_ty_32 = u32;
#[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],
}
pub const IFLA_IPOIB_UNSPEC: _bindgen_ty_33 = 0;
pub const IFLA_IPOIB_PKEY: _bindgen_ty_33 = 1;
pub const IFLA_IPOIB_MODE: _bindgen_ty_33 = 2;
pub const IFLA_IPOIB_UMCAST: _bindgen_ty_33 = 3;
pub const __IFLA_IPOIB_MAX: _bindgen_ty_33 = 4;
pub type _bindgen_ty_33 = u32;
pub const IPOIB_MODE_DATAGRAM: _bindgen_ty_34 = 0;
pub const IPOIB_MODE_CONNECTED: _bindgen_ty_34 = 1;
pub type _bindgen_ty_34 = u32;
pub const IFLA_HSR_UNSPEC: _bindgen_ty_35 = 0;
pub const IFLA_HSR_SLAVE1: _bindgen_ty_35 = 1;
pub const IFLA_HSR_SLAVE2: _bindgen_ty_35 = 2;
pub const IFLA_HSR_MULTICAST_SPEC: _bindgen_ty_35 = 3;
pub const IFLA_HSR_SUPERVISION_ADDR: _bindgen_ty_35 = 4;
pub const IFLA_HSR_SEQ_NR: _bindgen_ty_35 = 5;
pub const IFLA_HSR_VERSION: _bindgen_ty_35 = 6;
pub const __IFLA_HSR_MAX: _bindgen_ty_35 = 7;
pub type _bindgen_ty_35 = u32;
#[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,
}
pub const IFLA_STATS_UNSPEC: _bindgen_ty_36 = 0;
pub const IFLA_STATS_LINK_64: _bindgen_ty_36 = 1;
pub const IFLA_STATS_LINK_XSTATS: _bindgen_ty_36 = 2;
pub const IFLA_STATS_LINK_XSTATS_SLAVE: _bindgen_ty_36 = 3;
pub const IFLA_STATS_LINK_OFFLOAD_XSTATS: _bindgen_ty_36 = 4;
pub const IFLA_STATS_AF_SPEC: _bindgen_ty_36 = 5;
pub const __IFLA_STATS_MAX: _bindgen_ty_36 = 6;
pub type _bindgen_ty_36 = u32;
pub const LINK_XSTATS_TYPE_UNSPEC: _bindgen_ty_37 = 0;
pub const LINK_XSTATS_TYPE_BRIDGE: _bindgen_ty_37 = 1;
pub const LINK_XSTATS_TYPE_BOND: _bindgen_ty_37 = 2;
pub const __LINK_XSTATS_TYPE_MAX: _bindgen_ty_37 = 3;
pub type _bindgen_ty_37 = u32;
pub const IFLA_OFFLOAD_XSTATS_UNSPEC: _bindgen_ty_38 = 0;
pub const IFLA_OFFLOAD_XSTATS_CPU_HIT: _bindgen_ty_38 = 1;
pub const __IFLA_OFFLOAD_XSTATS_MAX: _bindgen_ty_38 = 2;
pub type _bindgen_ty_38 = u32;
pub const XDP_ATTACHED_NONE: _bindgen_ty_39 = 0;
pub const XDP_ATTACHED_DRV: _bindgen_ty_39 = 1;
pub const XDP_ATTACHED_SKB: _bindgen_ty_39 = 2;
pub const XDP_ATTACHED_HW: _bindgen_ty_39 = 3;
pub const XDP_ATTACHED_MULTI: _bindgen_ty_39 = 4;
pub type _bindgen_ty_39 = u32;
pub const IFLA_XDP_UNSPEC: _bindgen_ty_40 = 0;
pub const IFLA_XDP_FD: _bindgen_ty_40 = 1;
pub const IFLA_XDP_ATTACHED: _bindgen_ty_40 = 2;
pub const IFLA_XDP_FLAGS: _bindgen_ty_40 = 3;
pub const IFLA_XDP_PROG_ID: _bindgen_ty_40 = 4;
pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_40 = 5;
pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_40 = 6;
pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_40 = 7;
pub const __IFLA_XDP_MAX: _bindgen_ty_40 = 8;
pub type _bindgen_ty_40 = u32;
pub const IFLA_EVENT_NONE: _bindgen_ty_41 = 0;
pub const IFLA_EVENT_REBOOT: _bindgen_ty_41 = 1;
pub const IFLA_EVENT_FEATURES: _bindgen_ty_41 = 2;
pub const IFLA_EVENT_BONDING_FAILOVER: _bindgen_ty_41 = 3;
pub const IFLA_EVENT_NOTIFY_PEERS: _bindgen_ty_41 = 4;
pub const IFLA_EVENT_IGMP_RESEND: _bindgen_ty_41 = 5;
pub const IFLA_EVENT_BONDING_OPTIONS: _bindgen_ty_41 = 6;
pub type _bindgen_ty_41 = u32;
pub const IFLA_TUN_UNSPEC: _bindgen_ty_42 = 0;
pub const IFLA_TUN_OWNER: _bindgen_ty_42 = 1;
pub const IFLA_TUN_GROUP: _bindgen_ty_42 = 2;
pub const IFLA_TUN_TYPE: _bindgen_ty_42 = 3;
pub const IFLA_TUN_PI: _bindgen_ty_42 = 4;
pub const IFLA_TUN_VNET_HDR: _bindgen_ty_42 = 5;
pub const IFLA_TUN_PERSIST: _bindgen_ty_42 = 6;
pub const IFLA_TUN_MULTI_QUEUE: _bindgen_ty_42 = 7;
pub const IFLA_TUN_NUM_QUEUES: _bindgen_ty_42 = 8;
pub const IFLA_TUN_NUM_DISABLED_QUEUES: _bindgen_ty_42 = 9;
pub const __IFLA_TUN_MAX: _bindgen_ty_42 = 10;
pub type _bindgen_ty_42 = u32;
pub const IFLA_RMNET_UNSPEC: _bindgen_ty_43 = 0;
pub const IFLA_RMNET_MUX_ID: _bindgen_ty_43 = 1;
pub const IFLA_RMNET_FLAGS: _bindgen_ty_43 = 2;
pub const __IFLA_RMNET_MAX: _bindgen_ty_43 = 3;
pub type _bindgen_ty_43 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_rmnet_flags {
pub flags: __u32,
pub mask: __u32,
}
pub const BPF_REG_0: _bindgen_ty_44 = 0;
pub const BPF_REG_1: _bindgen_ty_44 = 1;
pub const BPF_REG_2: _bindgen_ty_44 = 2;
pub const BPF_REG_3: _bindgen_ty_44 = 3;
pub const BPF_REG_4: _bindgen_ty_44 = 4;
pub const BPF_REG_5: _bindgen_ty_44 = 5;
pub const BPF_REG_6: _bindgen_ty_44 = 6;
pub const BPF_REG_7: _bindgen_ty_44 = 7;
pub const BPF_REG_8: _bindgen_ty_44 = 8;
pub const BPF_REG_9: _bindgen_ty_44 = 9;
pub const BPF_REG_10: _bindgen_ty_44 = 10;
pub const __MAX_BPF_REG: _bindgen_ty_44 = 11;
pub type _bindgen_ty_44 = u32;
#[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,
}
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>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_cgroup_storage_key {
pub cgroup_inode_id: __u64,
pub attach_type: __u32,
}
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 = u32;
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 = u32;
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 = u32;
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 = u32;
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 = u32;
#[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,
}
#[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,
}
#[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,
}
#[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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_4 {
pub pathname: __u64,
pub bpf_fd: __u32,
pub file_flags: __u32,
}
#[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,
}
#[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,
}
#[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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_8 {
pub bpf_fd: __u32,
pub info_len: __u32,
pub info: __u64,
}
#[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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_attr__bindgen_ty_10 {
pub name: __u64,
pub prog_fd: __u32,
}
#[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,
}
#[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,
}
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 = u32;
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 = u32;
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 = u32;
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 = u32;
#[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,
}
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,
}
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
}
}
#[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],
}
#[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],
}
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 = u32;
#[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,
}
#[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,
}
#[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,
}
#[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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_xdp_sock {
pub queue_id: __u32,
}
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 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_md {
pub data: __u32,
pub data_end: __u32,
pub data_meta: __u32,
pub ingress_ifindex: __u32,
pub rx_queue_index: __u32,
}
pub const sk_action_SK_DROP: sk_action = 0;
pub const sk_action_SK_PASS: sk_action = 1;
pub type sk_action = u32;
#[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,
}
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,
}
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
}
}
#[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,
}
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,
}
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
}
}
#[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,
}
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,
}
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,
}
#[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,
}
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
}
}
#[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],
}
#[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,
}
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
}
}
pub const BPF_SOCK_OPS_VOID: _bindgen_ty_45 = 0;
pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_45 = 1;
pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_45 = 2;
pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_45 = 3;
pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_45 = 4;
pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_45 = 5;
pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_45 = 6;
pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_45 = 7;
pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_45 = 8;
pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_45 = 9;
pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_45 = 10;
pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_45 = 11;
pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_45 = 12;
pub type _bindgen_ty_45 = u32;
pub const BPF_TCP_ESTABLISHED: _bindgen_ty_46 = 1;
pub const BPF_TCP_SYN_SENT: _bindgen_ty_46 = 2;
pub const BPF_TCP_SYN_RECV: _bindgen_ty_46 = 3;
pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_46 = 4;
pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_46 = 5;
pub const BPF_TCP_TIME_WAIT: _bindgen_ty_46 = 6;
pub const BPF_TCP_CLOSE: _bindgen_ty_46 = 7;
pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_46 = 8;
pub const BPF_TCP_LAST_ACK: _bindgen_ty_46 = 9;
pub const BPF_TCP_LISTEN: _bindgen_ty_46 = 10;
pub const BPF_TCP_CLOSING: _bindgen_ty_46 = 11;
pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_46 = 12;
pub const BPF_TCP_MAX_STATES: _bindgen_ty_46 = 13;
pub type _bindgen_ty_46 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_perf_event_value {
pub counter: __u64,
pub enabled: __u64,
pub running: __u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_cgroup_dev_ctx {
pub access_type: __u32,
pub major: __u32,
pub minor: __u32,
}
#[repr(C)]
#[derive(Debug)]
pub struct bpf_raw_tracepoint_args {
pub args: __IncompleteArrayField<__u64>,
}
pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_47 = 0;
pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_47 = 1;
pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_47 = 2;
pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_47 = 3;
pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_47 = 4;
pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_47 = 5;
pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_47 = 6;
pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_47 = 7;
pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_47 = 8;
pub type _bindgen_ty_47 = u32;
#[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,
}
#[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],
}
#[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],
}
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 = u32;
#[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,
}
#[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],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_func_info {
pub insn_off: __u32,
pub type_id: __u32,
}
#[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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_spin_lock {
pub val: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_sysctl {
pub write: __u32,
pub file_pos: __u32,
}
#[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,
}
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,
}
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,
}
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
}
}
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,
}
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],
}
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;
extern "C" {
pub fn memcpy(
__dest: *mut ::std::os::raw::c_void,
__src: *const ::std::os::raw::c_void,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn memmove(
__dest: *mut ::std::os::raw::c_void,
__src: *const ::std::os::raw::c_void,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn memccpy(
__dest: *mut ::std::os::raw::c_void,
__src: *const ::std::os::raw::c_void,
__c: ::std::os::raw::c_int,
__n: size_t,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn memset(
__s: *mut ::std::os::raw::c_void,
__c: ::std::os::raw::c_int,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn memcmp(
__s1: *const ::std::os::raw::c_void,
__s2: *const ::std::os::raw::c_void,
__n: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn memchr(
__s: *const ::std::os::raw::c_void,
__c: ::std::os::raw::c_int,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn strcpy(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strncpy(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strcat(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strncat(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strcmp(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strncmp(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
__n: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strcoll(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strxfrm(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
__n: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_ulong;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_struct {
pub __locales: [*mut __locale_data; 13usize],
pub __ctype_b: *const ::std::os::raw::c_ushort,
pub __ctype_tolower: *const ::std::os::raw::c_int,
pub __ctype_toupper: *const ::std::os::raw::c_int,
pub __names: [*const ::std::os::raw::c_char; 13usize],
}
pub type __locale_t = *mut __locale_struct;
pub type locale_t = __locale_t;
extern "C" {
pub fn strcoll_l(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
__l: locale_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strxfrm_l(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
__n: size_t,
__l: locale_t,
) -> size_t;
}
extern "C" {
pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strndup(
__string: *const ::std::os::raw::c_char,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strchr(
__s: *const ::std::os::raw::c_char,
__c: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strrchr(
__s: *const ::std::os::raw::c_char,
__c: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strcspn(
__s: *const ::std::os::raw::c_char,
__reject: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn strspn(
__s: *const ::std::os::raw::c_char,
__accept: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn strpbrk(
__s: *const ::std::os::raw::c_char,
__accept: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strstr(
__haystack: *const ::std::os::raw::c_char,
__needle: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strtok(
__s: *mut ::std::os::raw::c_char,
__delim: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __strtok_r(
__s: *mut ::std::os::raw::c_char,
__delim: *const ::std::os::raw::c_char,
__save_ptr: *mut *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strtok_r(
__s: *mut ::std::os::raw::c_char,
__delim: *const ::std::os::raw::c_char,
__save_ptr: *mut *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: size_t) -> size_t;
}
extern "C" {
pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
extern "C" {
#[link_name = "\u{1}__xpg_strerror_r"]
pub fn strerror_r(
__errnum: ::std::os::raw::c_int,
__buf: *mut ::std::os::raw::c_char,
__buflen: size_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strerror_l(
__errnum: ::std::os::raw::c_int,
__l: locale_t,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn bcmp(
__s1: *const ::std::os::raw::c_void,
__s2: *const ::std::os::raw::c_void,
__n: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bcopy(
__src: *const ::std::os::raw::c_void,
__dest: *mut ::std::os::raw::c_void,
__n: size_t,
);
}
extern "C" {
pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
}
extern "C" {
pub fn index(
__s: *const ::std::os::raw::c_char,
__c: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn rindex(
__s: *const ::std::os::raw::c_char,
__c: ::std::os::raw::c_int,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strcasecmp(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strncasecmp(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
__n: ::std::os::raw::c_ulong,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strcasecmp_l(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
__loc: locale_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn strncasecmp_l(
__s1: *const ::std::os::raw::c_char,
__s2: *const ::std::os::raw::c_char,
__n: size_t,
__loc: locale_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: size_t);
}
extern "C" {
pub fn strsep(
__stringp: *mut *mut ::std::os::raw::c_char,
__delim: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __stpcpy(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn stpcpy(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __stpncpy(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
__n: size_t,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn stpncpy(
__dest: *mut ::std::os::raw::c_char,
__src: *const ::std::os::raw::c_char,
__n: ::std::os::raw::c_ulong,
) -> *mut ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_create_map_attr {
pub name: *const ::std::os::raw::c_char,
pub map_type: bpf_map_type,
pub map_flags: __u32,
pub key_size: __u32,
pub value_size: __u32,
pub max_entries: __u32,
pub numa_node: __u32,
pub btf_fd: __u32,
pub btf_key_type_id: __u32,
pub btf_value_type_id: __u32,
pub map_ifindex: __u32,
pub __bindgen_anon_1: bpf_create_map_attr__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_create_map_attr__bindgen_ty_1 {
pub inner_map_fd: __u32,
pub btf_vmlinux_value_type_id: __u32,
_bindgen_union_align: u32,
}
extern "C" {
pub fn bpf_create_map_xattr(create_attr: *const bpf_create_map_attr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_create_map_node(
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: __u32,
node: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_create_map_name(
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: __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_create_map(
map_type: bpf_map_type,
key_size: ::std::os::raw::c_int,
value_size: ::std::os::raw::c_int,
max_entries: ::std::os::raw::c_int,
map_flags: __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_create_map_in_map_node(
map_type: bpf_map_type,
name: *const ::std::os::raw::c_char,
key_size: ::std::os::raw::c_int,
inner_map_fd: ::std::os::raw::c_int,
max_entries: ::std::os::raw::c_int,
map_flags: __u32,
node: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_create_map_in_map(
map_type: bpf_map_type,
name: *const ::std::os::raw::c_char,
key_size: ::std::os::raw::c_int,
inner_map_fd: ::std::os::raw::c_int,
max_entries: ::std::os::raw::c_int,
map_flags: __u32,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bpf_load_program_attr {
pub prog_type: bpf_prog_type,
pub expected_attach_type: bpf_attach_type,
pub name: *const ::std::os::raw::c_char,
pub insns: *const bpf_insn,
pub insns_cnt: size_t,
pub license: *const ::std::os::raw::c_char,
pub __bindgen_anon_1: bpf_load_program_attr__bindgen_ty_1,
pub __bindgen_anon_2: bpf_load_program_attr__bindgen_ty_2,
pub prog_btf_fd: __u32,
pub func_info_rec_size: __u32,
pub func_info: *const ::std::os::raw::c_void,
pub func_info_cnt: __u32,
pub line_info_rec_size: __u32,
pub line_info: *const ::std::os::raw::c_void,
pub line_info_cnt: __u32,
pub log_level: __u32,
pub prog_flags: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_load_program_attr__bindgen_ty_1 {
pub kern_version: __u32,
pub attach_prog_fd: __u32,
_bindgen_union_align: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bpf_load_program_attr__bindgen_ty_2 {
pub prog_ifindex: __u32,
pub attach_btf_id: __u32,
_bindgen_union_align: u32,
}
extern "C" {
pub fn bpf_load_program_xattr(
load_attr: *const bpf_load_program_attr,
log_buf: *mut ::std::os::raw::c_char,
log_buf_sz: size_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_load_program(
type_: bpf_prog_type,
insns: *const bpf_insn,
insns_cnt: size_t,
license: *const ::std::os::raw::c_char,
kern_version: __u32,
log_buf: *mut ::std::os::raw::c_char,
log_buf_sz: size_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_verify_program(
type_: bpf_prog_type,
insns: *const bpf_insn,
insns_cnt: size_t,
prog_flags: __u32,
license: *const ::std::os::raw::c_char,
kern_version: __u32,
log_buf: *mut ::std::os::raw::c_char,
log_buf_sz: size_t,
log_level: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_update_elem(
fd: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_void,
value: *const ::std::os::raw::c_void,
flags: __u64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_lookup_elem(
fd: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_void,
value: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_lookup_elem_flags(
fd: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_void,
value: *mut ::std::os::raw::c_void,
flags: __u64,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_lookup_and_delete_elem(
fd: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_void,
value: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_delete_elem(
fd: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_get_next_key(
fd: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_void,
next_key: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_freeze(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_map_batch_opts {
pub sz: size_t,
pub elem_flags: __u64,
pub flags: __u64,
}
extern "C" {
pub fn bpf_map_delete_batch(
fd: ::std::os::raw::c_int,
keys: *mut ::std::os::raw::c_void,
count: *mut __u32,
opts: *const bpf_map_batch_opts,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_lookup_batch(
fd: ::std::os::raw::c_int,
in_batch: *mut ::std::os::raw::c_void,
out_batch: *mut ::std::os::raw::c_void,
keys: *mut ::std::os::raw::c_void,
values: *mut ::std::os::raw::c_void,
count: *mut __u32,
opts: *const bpf_map_batch_opts,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_lookup_and_delete_batch(
fd: ::std::os::raw::c_int,
in_batch: *mut ::std::os::raw::c_void,
out_batch: *mut ::std::os::raw::c_void,
keys: *mut ::std::os::raw::c_void,
values: *mut ::std::os::raw::c_void,
count: *mut __u32,
opts: *const bpf_map_batch_opts,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map_update_batch(
fd: ::std::os::raw::c_int,
keys: *mut ::std::os::raw::c_void,
values: *mut ::std::os::raw::c_void,
count: *mut __u32,
opts: *const bpf_map_batch_opts,
) -> ::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;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_prog_attach_opts {
pub sz: size_t,
pub flags: ::std::os::raw::c_uint,
pub replace_prog_fd: ::std::os::raw::c_int,
}
extern "C" {
pub fn bpf_prog_attach(
prog_fd: ::std::os::raw::c_int,
attachable_fd: ::std::os::raw::c_int,
type_: bpf_attach_type,
flags: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_attach_xattr(
prog_fd: ::std::os::raw::c_int,
attachable_fd: ::std::os::raw::c_int,
type_: bpf_attach_type,
opts: *const bpf_prog_attach_opts,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_detach(
attachable_fd: ::std::os::raw::c_int,
type_: bpf_attach_type,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_detach2(
prog_fd: ::std::os::raw::c_int,
attachable_fd: ::std::os::raw::c_int,
type_: bpf_attach_type,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_prog_test_run_attr {
pub prog_fd: ::std::os::raw::c_int,
pub repeat: ::std::os::raw::c_int,
pub data_in: *const ::std::os::raw::c_void,
pub data_size_in: __u32,
pub data_out: *mut ::std::os::raw::c_void,
pub data_size_out: __u32,
pub retval: __u32,
pub duration: __u32,
pub ctx_in: *const ::std::os::raw::c_void,
pub ctx_size_in: __u32,
pub ctx_out: *mut ::std::os::raw::c_void,
pub ctx_size_out: __u32,
}
extern "C" {
pub fn bpf_prog_test_run_xattr(test_attr: *mut bpf_prog_test_run_attr)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_test_run(
prog_fd: ::std::os::raw::c_int,
repeat: ::std::os::raw::c_int,
data: *mut ::std::os::raw::c_void,
size: __u32,
data_out: *mut ::std::os::raw::c_void,
size_out: *mut __u32,
retval: *mut __u32,
duration: *mut __u32,
) -> ::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_map_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_btf_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;
}
extern "C" {
pub fn bpf_btf_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_obj_get_info_by_fd(
prog_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_query(
target_fd: ::std::os::raw::c_int,
type_: bpf_attach_type,
query_flags: __u32,
attach_flags: *mut __u32,
prog_ids: *mut __u32,
prog_cnt: *mut __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_raw_tracepoint_open(
name: *const ::std::os::raw::c_char,
prog_fd: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_load_btf(
btf: *mut ::std::os::raw::c_void,
btf_size: __u32,
log_buf: *mut ::std::os::raw::c_char,
log_buf_size: __u32,
do_log: bool,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_task_fd_query(
pid: ::std::os::raw::c_int,
fd: ::std::os::raw::c_int,
flags: __u32,
buf: *mut ::std::os::raw::c_char,
buf_len: *mut __u32,
prog_id: *mut __u32,
fd_type: *mut __u32,
probe_offset: *mut __u64,
probe_addr: *mut __u64,
) -> ::std::os::raw::c_int;
}
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_header {
pub magic: __u16,
pub version: __u8,
pub flags: __u8,
pub hdr_len: __u32,
pub type_off: __u32,
pub type_len: __u32,
pub str_off: __u32,
pub str_len: __u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct btf_type {
pub name_off: __u32,
pub info: __u32,
pub __bindgen_anon_1: btf_type__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union btf_type__bindgen_ty_1 {
pub size: __u32,
pub type_: __u32,
_bindgen_union_align: u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_enum {
pub name_off: __u32,
pub val: __s32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_array {
pub type_: __u32,
pub index_type: __u32,
pub nelems: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_member {
pub name_off: __u32,
pub type_: __u32,
pub offset: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_param {
pub name_off: __u32,
pub type_: __u32,
}
pub const BTF_VAR_STATIC: _bindgen_ty_48 = 0;
pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_48 = 1;
pub type _bindgen_ty_48 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_var {
pub linkage: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_var_secinfo {
pub type_: __u32,
pub offset: __u32,
pub size: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_ext {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_object {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_ext_header {
pub magic: __u16,
pub version: __u8,
pub flags: __u8,
pub hdr_len: __u32,
pub func_info_off: __u32,
pub func_info_len: __u32,
pub line_info_off: __u32,
pub line_info_len: __u32,
pub field_reloc_off: __u32,
pub field_reloc_len: __u32,
}
extern "C" {
pub fn btf__free(btf: *mut btf);
}
extern "C" {
pub fn btf__new(data: *mut __u8, size: __u32) -> *mut btf;
}
extern "C" {
pub fn btf__parse_elf(
path: *const ::std::os::raw::c_char,
btf_ext: *mut *mut btf_ext,
) -> *mut btf;
}
extern "C" {
pub fn btf__finalize_data(obj: *mut bpf_object, btf: *mut btf) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf__load(btf: *mut btf) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf__find_by_name(btf: *const btf, type_name: *const ::std::os::raw::c_char) -> __s32;
}
extern "C" {
pub fn btf__find_by_name_kind(
btf: *const btf,
type_name: *const ::std::os::raw::c_char,
kind: __u32,
) -> __s32;
}
extern "C" {
pub fn btf__get_nr_types(btf: *const btf) -> __u32;
}
extern "C" {
pub fn btf__type_by_id(btf: *const btf, id: __u32) -> *const btf_type;
}
extern "C" {
pub fn btf__resolve_size(btf: *const btf, type_id: __u32) -> __s64;
}
extern "C" {
pub fn btf__resolve_type(btf: *const btf, type_id: __u32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf__align_of(btf: *const btf, id: __u32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf__fd(btf: *const btf) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf__get_raw_data(btf: *const btf, size: *mut __u32) -> *const ::std::os::raw::c_void;
}
extern "C" {
pub fn btf__name_by_offset(btf: *const btf, offset: __u32) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn btf__get_from_id(id: __u32, btf: *mut *mut btf) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf__get_map_kv_tids(
btf: *const btf,
map_name: *const ::std::os::raw::c_char,
expected_key_size: __u32,
expected_value_size: __u32,
key_type_id: *mut __u32,
value_type_id: *mut __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf_ext__new(data: *mut __u8, size: __u32) -> *mut btf_ext;
}
extern "C" {
pub fn btf_ext__free(btf_ext: *mut btf_ext);
}
extern "C" {
pub fn btf_ext__get_raw_data(
btf_ext: *const btf_ext,
size: *mut __u32,
) -> *const ::std::os::raw::c_void;
}
extern "C" {
pub fn btf_ext__reloc_func_info(
btf: *const btf,
btf_ext: *const btf_ext,
sec_name: *const ::std::os::raw::c_char,
insns_cnt: __u32,
func_info: *mut *mut ::std::os::raw::c_void,
cnt: *mut __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf_ext__reloc_line_info(
btf: *const btf,
btf_ext: *const btf_ext,
sec_name: *const ::std::os::raw::c_char,
insns_cnt: __u32,
line_info: *mut *mut ::std::os::raw::c_void,
cnt: *mut __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn btf_ext__func_info_rec_size(btf_ext: *const btf_ext) -> __u32;
}
extern "C" {
pub fn btf_ext__line_info_rec_size(btf_ext: *const btf_ext) -> __u32;
}
extern "C" {
pub fn libbpf_find_kernel_btf() -> *mut btf;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_dedup_opts {
pub dedup_table_size: ::std::os::raw::c_uint,
pub dont_resolve_fwds: bool,
}
extern "C" {
pub fn btf__dedup(
btf: *mut btf,
btf_ext: *mut btf_ext,
opts: *const btf_dedup_opts,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_dump {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_dump_opts {
pub ctx: *mut ::std::os::raw::c_void,
}
pub type btf_dump_printf_fn_t = ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut ::std::os::raw::c_void,
fmt: *const ::std::os::raw::c_char,
args: *mut __va_list_tag,
),
>;
extern "C" {
pub fn btf_dump__new(
btf: *const btf,
btf_ext: *const btf_ext,
opts: *const btf_dump_opts,
printf_fn: btf_dump_printf_fn_t,
) -> *mut btf_dump;
}
extern "C" {
pub fn btf_dump__free(d: *mut btf_dump);
}
extern "C" {
pub fn btf_dump__dump_type(d: *mut btf_dump, id: __u32) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btf_dump_emit_type_decl_opts {
pub sz: size_t,
pub field_name: *const ::std::os::raw::c_char,
pub indent_level: ::std::os::raw::c_int,
}
extern "C" {
pub fn btf_dump__emit_type_decl(
d: *mut btf_dump,
id: __u32,
opts: *const btf_dump_emit_type_decl_opts,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __mbstate_t {
pub __count: ::std::os::raw::c_int,
pub __value: __mbstate_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __mbstate_t__bindgen_ty_1 {
pub __wch: ::std::os::raw::c_uint,
pub __wchb: [::std::os::raw::c_char; 4usize],
_bindgen_union_align: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos_t {
pub __pos: __off_t,
pub __state: __mbstate_t,
}
pub type __fpos_t = _G_fpos_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos64_t {
pub __pos: __off64_t,
pub __state: __mbstate_t,
}
pub type __fpos64_t = _G_fpos64_t;
pub type __FILE = _IO_FILE;
pub type FILE = _IO_FILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_codecvt {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_wide_data {
_unused: [u8; 0],
}
pub type _IO_lock_t = ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
pub _flags: ::std::os::raw::c_int,
pub _IO_read_ptr: *mut ::std::os::raw::c_char,
pub _IO_read_end: *mut ::std::os::raw::c_char,
pub _IO_read_base: *mut ::std::os::raw::c_char,
pub _IO_write_base: *mut ::std::os::raw::c_char,
pub _IO_write_ptr: *mut ::std::os::raw::c_char,
pub _IO_write_end: *mut ::std::os::raw::c_char,
pub _IO_buf_base: *mut ::std::os::raw::c_char,
pub _IO_buf_end: *mut ::std::os::raw::c_char,
pub _IO_save_base: *mut ::std::os::raw::c_char,
pub _IO_backup_base: *mut ::std::os::raw::c_char,
pub _IO_save_end: *mut ::std::os::raw::c_char,
pub _markers: *mut _IO_marker,
pub _chain: *mut _IO_FILE,
pub _fileno: ::std::os::raw::c_int,
pub _flags2: ::std::os::raw::c_int,
pub _old_offset: __off_t,
pub _cur_column: ::std::os::raw::c_ushort,
pub _vtable_offset: ::std::os::raw::c_schar,
pub _shortbuf: [::std::os::raw::c_char; 1usize],
pub _lock: *mut _IO_lock_t,
pub _offset: __off64_t,
pub _codecvt: *mut _IO_codecvt,
pub _wide_data: *mut _IO_wide_data,
pub _freeres_list: *mut _IO_FILE,
pub _freeres_buf: *mut ::std::os::raw::c_void,
pub __pad5: size_t,
pub _mode: ::std::os::raw::c_int,
pub _unused2: [::std::os::raw::c_char; 20usize],
}
pub type off_t = __off_t;
pub type ssize_t = __ssize_t;
pub type fpos_t = __fpos_t;
extern "C" {
pub static mut stdin: *mut FILE;
}
extern "C" {
pub static mut stdout: *mut FILE;
}
extern "C" {
pub static mut stderr: *mut FILE;
}
extern "C" {
pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn rename(
__old: *const ::std::os::raw::c_char,
__new: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn renameat(
__oldfd: ::std::os::raw::c_int,
__old: *const ::std::os::raw::c_char,
__newfd: ::std::os::raw::c_int,
__new: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn tmpfile() -> *mut FILE;
}
extern "C" {
pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn tempnam(
__dir: *const ::std::os::raw::c_char,
__pfx: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fopen(
__filename: *const ::std::os::raw::c_char,
__modes: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn freopen(
__filename: *const ::std::os::raw::c_char,
__modes: *const ::std::os::raw::c_char,
__stream: *mut FILE,
) -> *mut FILE;
}
extern "C" {
pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
-> *mut FILE;
}
extern "C" {
pub fn fmemopen(
__s: *mut ::std::os::raw::c_void,
__len: size_t,
__modes: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn open_memstream(
__bufloc: *mut *mut ::std::os::raw::c_char,
__sizeloc: *mut size_t,
) -> *mut FILE;
}
extern "C" {
pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
}
extern "C" {
pub fn setvbuf(
__stream: *mut FILE,
__buf: *mut ::std::os::raw::c_char,
__modes: ::std::os::raw::c_int,
__n: size_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: size_t);
}
extern "C" {
pub fn setlinebuf(__stream: *mut FILE);
}
extern "C" {
pub fn fprintf(
__stream: *mut FILE,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sprintf(
__s: *mut ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vfprintf(
__s: *mut FILE,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vprintf(
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vsprintf(
__s: *mut ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn snprintf(
__s: *mut ::std::os::raw::c_char,
__maxlen: ::std::os::raw::c_ulong,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vsnprintf(
__s: *mut ::std::os::raw::c_char,
__maxlen: ::std::os::raw::c_ulong,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vdprintf(
__fd: ::std::os::raw::c_int,
__fmt: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn dprintf(
__fd: ::std::os::raw::c_int,
__fmt: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fscanf(
__stream: *mut FILE,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn sscanf(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_fscanf"]
pub fn fscanf1(
__stream: *mut FILE,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_scanf"]
pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_sscanf"]
pub fn sscanf1(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
...
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vfscanf(
__s: *mut FILE,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vscanf(
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn vsscanf(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vfscanf"]
pub fn vfscanf1(
__s: *mut FILE,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vscanf"]
pub fn vscanf1(
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vsscanf"]
pub fn vsscanf1(
__s: *const ::std::os::raw::c_char,
__format: *const ::std::os::raw::c_char,
__arg: *mut __va_list_tag,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getchar() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getchar_unlocked() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgets(
__s: *mut ::std::os::raw::c_char,
__n: ::std::os::raw::c_int,
__stream: *mut FILE,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn __getdelim(
__lineptr: *mut *mut ::std::os::raw::c_char,
__n: *mut size_t,
__delimiter: ::std::os::raw::c_int,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn getdelim(
__lineptr: *mut *mut ::std::os::raw::c_char,
__n: *mut size_t,
__delimiter: ::std::os::raw::c_int,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn getline(
__lineptr: *mut *mut ::std::os::raw::c_char,
__n: *mut size_t,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fread(
__ptr: *mut ::std::os::raw::c_void,
__size: ::std::os::raw::c_ulong,
__n: ::std::os::raw::c_ulong,
__stream: *mut FILE,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn fwrite(
__ptr: *const ::std::os::raw::c_void,
__size: ::std::os::raw::c_ulong,
__n: ::std::os::raw::c_ulong,
__s: *mut FILE,
) -> ::std::os::raw::c_ulong;
}
extern "C" {
pub fn fread_unlocked(
__ptr: *mut ::std::os::raw::c_void,
__size: size_t,
__n: size_t,
__stream: *mut FILE,
) -> size_t;
}
extern "C" {
pub fn fwrite_unlocked(
__ptr: *const ::std::os::raw::c_void,
__size: size_t,
__n: size_t,
__stream: *mut FILE,
) -> size_t;
}
extern "C" {
pub fn fseek(
__stream: *mut FILE,
__off: ::std::os::raw::c_long,
__whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn rewind(__stream: *mut FILE);
}
extern "C" {
pub fn fseeko(
__stream: *mut FILE,
__off: __off_t,
__whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ftello(__stream: *mut FILE) -> __off_t;
}
extern "C" {
pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clearerr(__stream: *mut FILE);
}
extern "C" {
pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn clearerr_unlocked(__stream: *mut FILE);
}
extern "C" {
pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn perror(__s: *const ::std::os::raw::c_char);
}
extern "C" {
pub static mut sys_nerr: ::std::os::raw::c_int;
}
extern "C" {
pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
}
extern "C" {
pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn popen(
__command: *const ::std::os::raw::c_char,
__modes: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn flockfile(__stream: *mut FILE);
}
extern "C" {
pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn funlockfile(__stream: *mut FILE);
}
extern "C" {
pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
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 pid_t = __pid_t;
pub type id_t = __id_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],
}
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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
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],
}
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_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,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
pub __prev: *mut __pthread_internal_list,
pub __next: *mut __pthread_internal_list,
}
pub type __pthread_list_t = __pthread_internal_list;
#[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,
}
#[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,
}
#[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,
}
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,
}
#[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,
}
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],
}
#[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],
}
#[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],
}
#[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],
}
#[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,
}
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],
}
#[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,
}
pub const libbpf_errno___LIBBPF_ERRNO__START: libbpf_errno = 4000;
pub const libbpf_errno_LIBBPF_ERRNO__LIBELF: libbpf_errno = 4000;
pub const libbpf_errno_LIBBPF_ERRNO__FORMAT: libbpf_errno = 4001;
pub const libbpf_errno_LIBBPF_ERRNO__KVERSION: libbpf_errno = 4002;
pub const libbpf_errno_LIBBPF_ERRNO__ENDIAN: libbpf_errno = 4003;
pub const libbpf_errno_LIBBPF_ERRNO__INTERNAL: libbpf_errno = 4004;
pub const libbpf_errno_LIBBPF_ERRNO__RELOC: libbpf_errno = 4005;
pub const libbpf_errno_LIBBPF_ERRNO__LOAD: libbpf_errno = 4006;
pub const libbpf_errno_LIBBPF_ERRNO__VERIFY: libbpf_errno = 4007;
pub const libbpf_errno_LIBBPF_ERRNO__PROG2BIG: libbpf_errno = 4008;
pub const libbpf_errno_LIBBPF_ERRNO__KVER: libbpf_errno = 4009;
pub const libbpf_errno_LIBBPF_ERRNO__PROGTYPE: libbpf_errno = 4010;
pub const libbpf_errno_LIBBPF_ERRNO__WRNGPID: libbpf_errno = 4011;
pub const libbpf_errno_LIBBPF_ERRNO__INVSEQ: libbpf_errno = 4012;
pub const libbpf_errno_LIBBPF_ERRNO__NLPARSE: libbpf_errno = 4013;
pub const libbpf_errno___LIBBPF_ERRNO__END: libbpf_errno = 4014;
pub type libbpf_errno = u32;
extern "C" {
pub fn libbpf_strerror(
err: ::std::os::raw::c_int,
buf: *mut ::std::os::raw::c_char,
size: size_t,
) -> ::std::os::raw::c_int;
}
pub const libbpf_print_level_LIBBPF_WARN: libbpf_print_level = 0;
pub const libbpf_print_level_LIBBPF_INFO: libbpf_print_level = 1;
pub const libbpf_print_level_LIBBPF_DEBUG: libbpf_print_level = 2;
pub type libbpf_print_level = u32;
pub type libbpf_print_fn_t = ::std::option::Option<
unsafe extern "C" fn(
level: libbpf_print_level,
arg1: *const ::std::os::raw::c_char,
ap: *mut __va_list_tag,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn libbpf_set_print(fn_: libbpf_print_fn_t) -> libbpf_print_fn_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_object_open_attr {
pub file: *const ::std::os::raw::c_char,
pub prog_type: bpf_prog_type,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_object_open_opts {
pub sz: size_t,
pub object_name: *const ::std::os::raw::c_char,
pub relaxed_maps: bool,
pub relaxed_core_relocs: bool,
pub pin_root_path: *const ::std::os::raw::c_char,
pub attach_prog_fd: __u32,
pub kconfig: *const ::std::os::raw::c_char,
}
extern "C" {
pub fn bpf_object__open(path: *const ::std::os::raw::c_char) -> *mut bpf_object;
}
extern "C" {
pub fn bpf_object__open_file(
path: *const ::std::os::raw::c_char,
opts: *const bpf_object_open_opts,
) -> *mut bpf_object;
}
extern "C" {
pub fn bpf_object__open_mem(
obj_buf: *const ::std::os::raw::c_void,
obj_buf_sz: size_t,
opts: *const bpf_object_open_opts,
) -> *mut bpf_object;
}
extern "C" {
pub fn bpf_object__open_buffer(
obj_buf: *const ::std::os::raw::c_void,
obj_buf_sz: size_t,
name: *const ::std::os::raw::c_char,
) -> *mut bpf_object;
}
extern "C" {
pub fn bpf_object__open_xattr(attr: *mut bpf_object_open_attr) -> *mut bpf_object;
}
pub const libbpf_pin_type_LIBBPF_PIN_NONE: libbpf_pin_type = 0;
pub const libbpf_pin_type_LIBBPF_PIN_BY_NAME: libbpf_pin_type = 1;
pub type libbpf_pin_type = u32;
extern "C" {
pub fn bpf_object__pin_maps(
obj: *mut bpf_object,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__unpin_maps(
obj: *mut bpf_object,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__pin_programs(
obj: *mut bpf_object,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__unpin_programs(
obj: *mut bpf_object,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__pin(
object: *mut bpf_object,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__close(object: *mut bpf_object);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_object_load_attr {
pub obj: *mut bpf_object,
pub log_level: ::std::os::raw::c_int,
pub target_btf_path: *const ::std::os::raw::c_char,
}
extern "C" {
pub fn bpf_object__load(obj: *mut bpf_object) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__load_xattr(attr: *mut bpf_object_load_attr) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__unload(obj: *mut bpf_object) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__name(obj: *const bpf_object) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn bpf_object__kversion(obj: *const bpf_object) -> ::std::os::raw::c_uint;
}
extern "C" {
pub fn bpf_object__btf(obj: *const bpf_object) -> *mut btf;
}
extern "C" {
pub fn bpf_object__btf_fd(obj: *const bpf_object) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_program {
_unused: [u8; 0],
}
extern "C" {
pub fn bpf_object__find_program_by_title(
obj: *const bpf_object,
title: *const ::std::os::raw::c_char,
) -> *mut bpf_program;
}
extern "C" {
pub fn bpf_object__find_program_by_name(
obj: *const bpf_object,
name: *const ::std::os::raw::c_char,
) -> *mut bpf_program;
}
extern "C" {
pub fn bpf_object__next(prev: *mut bpf_object) -> *mut bpf_object;
}
pub type bpf_object_clear_priv_t = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut bpf_object, arg2: *mut ::std::os::raw::c_void),
>;
extern "C" {
pub fn bpf_object__set_priv(
obj: *mut bpf_object,
priv_: *mut ::std::os::raw::c_void,
clear_priv: bpf_object_clear_priv_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__priv(prog: *const bpf_object) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn libbpf_prog_type_by_name(
name: *const ::std::os::raw::c_char,
prog_type: *mut bpf_prog_type,
expected_attach_type: *mut bpf_attach_type,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn libbpf_attach_type_by_name(
name: *const ::std::os::raw::c_char,
attach_type: *mut bpf_attach_type,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn libbpf_find_vmlinux_btf_id(
name: *const ::std::os::raw::c_char,
attach_type: bpf_attach_type,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__next(prog: *mut bpf_program, obj: *const bpf_object) -> *mut bpf_program;
}
extern "C" {
pub fn bpf_program__prev(prog: *mut bpf_program, obj: *const bpf_object) -> *mut bpf_program;
}
pub type bpf_program_clear_priv_t = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut bpf_program, arg2: *mut ::std::os::raw::c_void),
>;
extern "C" {
pub fn bpf_program__set_priv(
prog: *mut bpf_program,
priv_: *mut ::std::os::raw::c_void,
clear_priv: bpf_program_clear_priv_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__priv(prog: *const bpf_program) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn bpf_program__set_ifindex(prog: *mut bpf_program, ifindex: __u32);
}
extern "C" {
pub fn bpf_program__name(prog: *const bpf_program) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn bpf_program__title(
prog: *const bpf_program,
needs_copy: bool,
) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn bpf_program__size(prog: *const bpf_program) -> size_t;
}
extern "C" {
pub fn bpf_program__load(
prog: *mut bpf_program,
license: *mut ::std::os::raw::c_char,
kern_version: __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__fd(prog: *const bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__pin_instance(
prog: *mut bpf_program,
path: *const ::std::os::raw::c_char,
instance: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__unpin_instance(
prog: *mut bpf_program,
path: *const ::std::os::raw::c_char,
instance: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__pin(
prog: *mut bpf_program,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__unpin(
prog: *mut bpf_program,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__unload(prog: *mut bpf_program);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_link {
_unused: [u8; 0],
}
extern "C" {
pub fn bpf_link__open(path: *const ::std::os::raw::c_char) -> *mut bpf_link;
}
extern "C" {
pub fn bpf_link__fd(link: *const bpf_link) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_link__pin_path(link: *const bpf_link) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn bpf_link__pin(
link: *mut bpf_link,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_link__unpin(link: *mut bpf_link) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_link__disconnect(link: *mut bpf_link);
}
extern "C" {
pub fn bpf_link__destroy(link: *mut bpf_link) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__attach(prog: *mut bpf_program) -> *mut bpf_link;
}
extern "C" {
pub fn bpf_program__attach_perf_event(
prog: *mut bpf_program,
pfd: ::std::os::raw::c_int,
) -> *mut bpf_link;
}
extern "C" {
pub fn bpf_program__attach_kprobe(
prog: *mut bpf_program,
retprobe: bool,
func_name: *const ::std::os::raw::c_char,
) -> *mut bpf_link;
}
extern "C" {
pub fn bpf_program__attach_uprobe(
prog: *mut bpf_program,
retprobe: bool,
pid: pid_t,
binary_path: *const ::std::os::raw::c_char,
func_offset: size_t,
) -> *mut bpf_link;
}
extern "C" {
pub fn bpf_program__attach_tracepoint(
prog: *mut bpf_program,
tp_category: *const ::std::os::raw::c_char,
tp_name: *const ::std::os::raw::c_char,
) -> *mut bpf_link;
}
extern "C" {
pub fn bpf_program__attach_raw_tracepoint(
prog: *mut bpf_program,
tp_name: *const ::std::os::raw::c_char,
) -> *mut bpf_link;
}
extern "C" {
pub fn bpf_program__attach_trace(prog: *mut bpf_program) -> *mut bpf_link;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_map {
_unused: [u8; 0],
}
extern "C" {
pub fn bpf_map__attach_struct_ops(map: *mut bpf_map) -> *mut bpf_link;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_prog_prep_result {
pub new_insn_ptr: *mut bpf_insn,
pub new_insn_cnt: ::std::os::raw::c_int,
pub pfd: *mut ::std::os::raw::c_int,
}
pub type bpf_program_prep_t = ::std::option::Option<
unsafe extern "C" fn(
prog: *mut bpf_program,
n: ::std::os::raw::c_int,
insns: *mut bpf_insn,
insns_cnt: ::std::os::raw::c_int,
res: *mut bpf_prog_prep_result,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn bpf_program__set_prep(
prog: *mut bpf_program,
nr_instance: ::std::os::raw::c_int,
prep: bpf_program_prep_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__nth_fd(
prog: *const bpf_program,
n: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_socket_filter(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_tracepoint(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_raw_tracepoint(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_kprobe(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_sched_cls(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_sched_act(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_xdp(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_perf_event(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_tracing(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_struct_ops(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__set_extension(prog: *mut bpf_program) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__get_type(prog: *mut bpf_program) -> bpf_prog_type;
}
extern "C" {
pub fn bpf_program__set_type(prog: *mut bpf_program, type_: bpf_prog_type);
}
extern "C" {
pub fn bpf_program__get_expected_attach_type(prog: *mut bpf_program) -> bpf_attach_type;
}
extern "C" {
pub fn bpf_program__set_expected_attach_type(prog: *mut bpf_program, type_: bpf_attach_type);
}
extern "C" {
pub fn bpf_program__set_attach_target(
prog: *mut bpf_program,
attach_prog_fd: ::std::os::raw::c_int,
attach_func_name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_program__is_socket_filter(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_tracepoint(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_raw_tracepoint(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_kprobe(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_sched_cls(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_sched_act(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_xdp(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_perf_event(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_tracing(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_struct_ops(prog: *const bpf_program) -> bool;
}
extern "C" {
pub fn bpf_program__is_extension(prog: *const bpf_program) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_map_def {
pub type_: ::std::os::raw::c_uint,
pub key_size: ::std::os::raw::c_uint,
pub value_size: ::std::os::raw::c_uint,
pub max_entries: ::std::os::raw::c_uint,
pub map_flags: ::std::os::raw::c_uint,
}
extern "C" {
pub fn bpf_object__find_map_by_name(
obj: *const bpf_object,
name: *const ::std::os::raw::c_char,
) -> *mut bpf_map;
}
extern "C" {
pub fn bpf_object__find_map_fd_by_name(
obj: *const bpf_object,
name: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__find_map_by_offset(obj: *mut bpf_object, offset: size_t) -> *mut bpf_map;
}
extern "C" {
pub fn bpf_map__next(map: *const bpf_map, obj: *const bpf_object) -> *mut bpf_map;
}
extern "C" {
pub fn bpf_map__prev(map: *const bpf_map, obj: *const bpf_object) -> *mut bpf_map;
}
extern "C" {
pub fn bpf_map__fd(map: *const bpf_map) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map__def(map: *const bpf_map) -> *const bpf_map_def;
}
extern "C" {
pub fn bpf_map__name(map: *const bpf_map) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn bpf_map__btf_key_type_id(map: *const bpf_map) -> __u32;
}
extern "C" {
pub fn bpf_map__btf_value_type_id(map: *const bpf_map) -> __u32;
}
pub type bpf_map_clear_priv_t = ::std::option::Option<
unsafe extern "C" fn(arg1: *mut bpf_map, arg2: *mut ::std::os::raw::c_void),
>;
extern "C" {
pub fn bpf_map__set_priv(
map: *mut bpf_map,
priv_: *mut ::std::os::raw::c_void,
clear_priv: bpf_map_clear_priv_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map__priv(map: *const bpf_map) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn bpf_map__reuse_fd(map: *mut bpf_map, fd: ::std::os::raw::c_int)
-> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map__resize(map: *mut bpf_map, max_entries: __u32) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map__is_offload_neutral(map: *const bpf_map) -> bool;
}
extern "C" {
pub fn bpf_map__is_internal(map: *const bpf_map) -> bool;
}
extern "C" {
pub fn bpf_map__set_ifindex(map: *mut bpf_map, ifindex: __u32);
}
extern "C" {
pub fn bpf_map__set_pin_path(
map: *mut bpf_map,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map__get_pin_path(map: *const bpf_map) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn bpf_map__is_pinned(map: *const bpf_map) -> bool;
}
extern "C" {
pub fn bpf_map__pin(
map: *mut bpf_map,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map__unpin(
map: *mut bpf_map,
path: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_map__set_inner_map_fd(
map: *mut bpf_map,
fd: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn libbpf_get_error(ptr: *const ::std::os::raw::c_void) -> ::std::os::raw::c_long;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_prog_load_attr {
pub file: *const ::std::os::raw::c_char,
pub prog_type: bpf_prog_type,
pub expected_attach_type: bpf_attach_type,
pub ifindex: ::std::os::raw::c_int,
pub log_level: ::std::os::raw::c_int,
pub prog_flags: ::std::os::raw::c_int,
}
extern "C" {
pub fn bpf_prog_load_xattr(
attr: *const bpf_prog_load_attr,
pobj: *mut *mut bpf_object,
prog_fd: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_prog_load(
file: *const ::std::os::raw::c_char,
type_: bpf_prog_type,
pobj: *mut *mut bpf_object,
prog_fd: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_link_info {
pub prog_id: __u32,
pub drv_prog_id: __u32,
pub hw_prog_id: __u32,
pub skb_prog_id: __u32,
pub attach_mode: __u8,
}
extern "C" {
pub fn bpf_set_link_xdp_fd(
ifindex: ::std::os::raw::c_int,
fd: ::std::os::raw::c_int,
flags: __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_get_link_xdp_id(
ifindex: ::std::os::raw::c_int,
prog_id: *mut __u32,
flags: __u32,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_get_link_xdp_info(
ifindex: ::std::os::raw::c_int,
info: *mut xdp_link_info,
info_size: size_t,
flags: __u32,
) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct perf_buffer {
_unused: [u8; 0],
}
pub type perf_buffer_sample_fn = ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut ::std::os::raw::c_void,
cpu: ::std::os::raw::c_int,
data: *mut ::std::os::raw::c_void,
size: __u32,
),
>;
pub type perf_buffer_lost_fn = ::std::option::Option<
unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void, cpu: ::std::os::raw::c_int, cnt: __u64),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct perf_buffer_opts {
pub sample_cb: perf_buffer_sample_fn,
pub lost_cb: perf_buffer_lost_fn,
pub ctx: *mut ::std::os::raw::c_void,
}
extern "C" {
pub fn perf_buffer__new(
map_fd: ::std::os::raw::c_int,
page_cnt: size_t,
opts: *const perf_buffer_opts,
) -> *mut perf_buffer;
}
pub const bpf_perf_event_ret_LIBBPF_PERF_EVENT_DONE: bpf_perf_event_ret = 0;
pub const bpf_perf_event_ret_LIBBPF_PERF_EVENT_ERROR: bpf_perf_event_ret = -1;
pub const bpf_perf_event_ret_LIBBPF_PERF_EVENT_CONT: bpf_perf_event_ret = -2;
pub type bpf_perf_event_ret = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct perf_event_header {
_unused: [u8; 0],
}
pub type perf_buffer_event_fn = ::std::option::Option<
unsafe extern "C" fn(
ctx: *mut ::std::os::raw::c_void,
cpu: ::std::os::raw::c_int,
event: *mut perf_event_header,
) -> bpf_perf_event_ret,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct perf_buffer_raw_opts {
pub attr: *mut perf_event_attr,
pub event_cb: perf_buffer_event_fn,
pub ctx: *mut ::std::os::raw::c_void,
pub cpu_cnt: ::std::os::raw::c_int,
pub cpus: *mut ::std::os::raw::c_int,
pub map_keys: *mut ::std::os::raw::c_int,
}
extern "C" {
pub fn perf_buffer__new_raw(
map_fd: ::std::os::raw::c_int,
page_cnt: size_t,
opts: *const perf_buffer_raw_opts,
) -> *mut perf_buffer;
}
extern "C" {
pub fn perf_buffer__free(pb: *mut perf_buffer);
}
extern "C" {
pub fn perf_buffer__poll(
pb: *mut perf_buffer,
timeout_ms: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
pub type bpf_perf_event_print_t = ::std::option::Option<
unsafe extern "C" fn(
hdr: *mut perf_event_header,
private_data: *mut ::std::os::raw::c_void,
) -> bpf_perf_event_ret,
>;
extern "C" {
pub fn bpf_perf_event_read_simple(
mmap_mem: *mut ::std::os::raw::c_void,
mmap_size: size_t,
page_size: size_t,
copy_mem: *mut *mut ::std::os::raw::c_void,
copy_size: *mut size_t,
fn_: bpf_perf_event_print_t,
private_data: *mut ::std::os::raw::c_void,
) -> bpf_perf_event_ret;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_prog_linfo {
_unused: [u8; 0],
}
extern "C" {
pub fn bpf_prog_linfo__free(prog_linfo: *mut bpf_prog_linfo);
}
extern "C" {
pub fn bpf_prog_linfo__new(info: *const bpf_prog_info) -> *mut bpf_prog_linfo;
}
extern "C" {
pub fn bpf_prog_linfo__lfind_addr_func(
prog_linfo: *const bpf_prog_linfo,
addr: __u64,
func_idx: __u32,
nr_skip: __u32,
) -> *const bpf_line_info;
}
extern "C" {
pub fn bpf_prog_linfo__lfind(
prog_linfo: *const bpf_prog_linfo,
insn_off: __u32,
nr_skip: __u32,
) -> *const bpf_line_info;
}
extern "C" {
pub fn bpf_probe_prog_type(prog_type: bpf_prog_type, ifindex: __u32) -> bool;
}
extern "C" {
pub fn bpf_probe_map_type(map_type: bpf_map_type, ifindex: __u32) -> bool;
}
extern "C" {
pub fn bpf_probe_helper(id: bpf_func_id, prog_type: bpf_prog_type, ifindex: __u32) -> bool;
}
extern "C" {
pub fn bpf_probe_large_insn_limit(ifindex: __u32) -> bool;
}
pub const bpf_prog_info_array_BPF_PROG_INFO_FIRST_ARRAY: bpf_prog_info_array = 0;
pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_INSNS: bpf_prog_info_array = 0;
pub const bpf_prog_info_array_BPF_PROG_INFO_XLATED_INSNS: bpf_prog_info_array = 1;
pub const bpf_prog_info_array_BPF_PROG_INFO_MAP_IDS: bpf_prog_info_array = 2;
pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_KSYMS: bpf_prog_info_array = 3;
pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_FUNC_LENS: bpf_prog_info_array = 4;
pub const bpf_prog_info_array_BPF_PROG_INFO_FUNC_INFO: bpf_prog_info_array = 5;
pub const bpf_prog_info_array_BPF_PROG_INFO_LINE_INFO: bpf_prog_info_array = 6;
pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_LINE_INFO: bpf_prog_info_array = 7;
pub const bpf_prog_info_array_BPF_PROG_INFO_PROG_TAGS: bpf_prog_info_array = 8;
pub const bpf_prog_info_array_BPF_PROG_INFO_LAST_ARRAY: bpf_prog_info_array = 9;
pub type bpf_prog_info_array = u32;
#[repr(C)]
#[derive(Debug)]
pub struct bpf_prog_info_linear {
pub info_len: __u32,
pub data_len: __u32,
pub arrays: __u64,
pub info: bpf_prog_info,
pub data: __IncompleteArrayField<__u8>,
}
extern "C" {
pub fn bpf_program__get_prog_info_linear(
fd: ::std::os::raw::c_int,
arrays: __u64,
) -> *mut bpf_prog_info_linear;
}
extern "C" {
pub fn bpf_program__bpil_addr_to_offs(info_linear: *mut bpf_prog_info_linear);
}
extern "C" {
pub fn bpf_program__bpil_offs_to_addr(info_linear: *mut bpf_prog_info_linear);
}
extern "C" {
pub fn libbpf_num_possible_cpus() -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_map_skeleton {
pub name: *const ::std::os::raw::c_char,
pub map: *mut *mut bpf_map,
pub mmaped: *mut *mut ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_prog_skeleton {
pub name: *const ::std::os::raw::c_char,
pub prog: *mut *mut bpf_program,
pub link: *mut *mut bpf_link,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bpf_object_skeleton {
pub sz: size_t,
pub name: *const ::std::os::raw::c_char,
pub data: *mut ::std::os::raw::c_void,
pub data_sz: size_t,
pub obj: *mut *mut bpf_object,
pub map_cnt: ::std::os::raw::c_int,
pub map_skel_sz: ::std::os::raw::c_int,
pub maps: *mut bpf_map_skeleton,
pub prog_cnt: ::std::os::raw::c_int,
pub prog_skel_sz: ::std::os::raw::c_int,
pub progs: *mut bpf_prog_skeleton,
}
extern "C" {
pub fn bpf_object__open_skeleton(
s: *mut bpf_object_skeleton,
opts: *const bpf_object_open_opts,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__load_skeleton(s: *mut bpf_object_skeleton) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__attach_skeleton(s: *mut bpf_object_skeleton) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn bpf_object__detach_skeleton(s: *mut bpf_object_skeleton);
}
extern "C" {
pub fn bpf_object__destroy_skeleton(s: *mut bpf_object_skeleton);
}
pub const libbpf_tristate_TRI_NO: libbpf_tristate = 0;
pub const libbpf_tristate_TRI_YES: libbpf_tristate = 1;
pub const libbpf_tristate_TRI_MODULE: libbpf_tristate = 2;
pub type libbpf_tristate = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sockaddr_xdp {
pub sxdp_family: __u16,
pub sxdp_flags: __u16,
pub sxdp_ifindex: __u32,
pub sxdp_queue_id: __u32,
pub sxdp_shared_umem_fd: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_ring_offset {
pub producer: __u64,
pub consumer: __u64,
pub desc: __u64,
pub flags: __u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_mmap_offsets {
pub rx: xdp_ring_offset,
pub tx: xdp_ring_offset,
pub fr: xdp_ring_offset,
pub cr: xdp_ring_offset,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_umem_reg {
pub addr: __u64,
pub len: __u64,
pub chunk_size: __u32,
pub headroom: __u32,
pub flags: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_statistics {
pub rx_dropped: __u64,
pub rx_invalid_descs: __u64,
pub tx_invalid_descs: __u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_options {
pub flags: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xdp_desc {
pub addr: __u64,
pub len: __u32,
pub options: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xsk_ring_prod {
pub cached_prod: __u32,
pub cached_cons: __u32,
pub mask: __u32,
pub size: __u32,
pub producer: *mut __u32,
pub consumer: *mut __u32,
pub ring: *mut ::std::os::raw::c_void,
pub flags: *mut __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xsk_ring_cons {
pub cached_prod: __u32,
pub cached_cons: __u32,
pub mask: __u32,
pub size: __u32,
pub producer: *mut __u32,
pub consumer: *mut __u32,
pub ring: *mut ::std::os::raw::c_void,
pub flags: *mut __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xsk_umem {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xsk_socket {
_unused: [u8; 0],
}
extern "C" {
pub fn xsk_umem__fd(umem: *const xsk_umem) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn xsk_socket__fd(xsk: *const xsk_socket) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xsk_umem_config {
pub fill_size: __u32,
pub comp_size: __u32,
pub frame_size: __u32,
pub frame_headroom: __u32,
pub flags: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct xsk_socket_config {
pub rx_size: __u32,
pub tx_size: __u32,
pub libbpf_flags: __u32,
pub xdp_flags: __u32,
pub bind_flags: __u16,
}
extern "C" {
pub fn xsk_umem__create(
umem: *mut *mut xsk_umem,
umem_area: *mut ::std::os::raw::c_void,
size: __u64,
fill: *mut xsk_ring_prod,
comp: *mut xsk_ring_cons,
config: *const xsk_umem_config,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn xsk_umem__create_v0_0_2(
umem: *mut *mut xsk_umem,
umem_area: *mut ::std::os::raw::c_void,
size: __u64,
fill: *mut xsk_ring_prod,
comp: *mut xsk_ring_cons,
config: *const xsk_umem_config,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn xsk_umem__create_v0_0_4(
umem: *mut *mut xsk_umem,
umem_area: *mut ::std::os::raw::c_void,
size: __u64,
fill: *mut xsk_ring_prod,
comp: *mut xsk_ring_cons,
config: *const xsk_umem_config,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn xsk_socket__create(
xsk: *mut *mut xsk_socket,
ifname: *const ::std::os::raw::c_char,
queue_id: __u32,
umem: *mut xsk_umem,
rx: *mut xsk_ring_cons,
tx: *mut xsk_ring_prod,
config: *const xsk_socket_config,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn xsk_umem__delete(umem: *mut xsk_umem) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn xsk_socket__delete(xsk: *mut xsk_socket);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_data {
pub _address: u8,
}
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
pub gp_offset: ::std::os::raw::c_uint,
pub fp_offset: ::std::os::raw::c_uint,
pub overflow_arg_area: *mut ::std::os::raw::c_void,
pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct perf_event_attr {
pub _address: u8,
}