1
2
3
/* automatically generated by rust-bindgen */

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