1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage, Align> {
6 storage: Storage,
7 align: [Align; 0],
8}
9impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
10 #[inline]
11 pub const fn new(storage: Storage) -> Self {
12 Self { storage, align: [] }
13 }
14}
15impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
16where
17 Storage: AsRef<[u8]> + AsMut<[u8]>,
18{
19 #[inline]
20 pub fn get_bit(&self, index: usize) -> bool {
21 debug_assert!(index / 8 < self.storage.as_ref().len());
22 let byte_index = index / 8;
23 let byte = self.storage.as_ref()[byte_index];
24 let bit_index = if cfg!(target_endian = "big") {
25 7 - (index % 8)
26 } else {
27 index % 8
28 };
29 let mask = 1 << bit_index;
30 byte & mask == mask
31 }
32 #[inline]
33 pub fn set_bit(&mut self, index: usize, val: bool) {
34 debug_assert!(index / 8 < self.storage.as_ref().len());
35 let byte_index = index / 8;
36 let byte = &mut self.storage.as_mut()[byte_index];
37 let bit_index = if cfg!(target_endian = "big") {
38 7 - (index % 8)
39 } else {
40 index % 8
41 };
42 let mask = 1 << bit_index;
43 if val {
44 *byte |= mask;
45 } else {
46 *byte &= !mask;
47 }
48 }
49 #[inline]
50 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
51 debug_assert!(bit_width <= 64);
52 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
53 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
54 let mut val = 0;
55 for i in 0..(bit_width as usize) {
56 if self.get_bit(i + bit_offset) {
57 let index = if cfg!(target_endian = "big") {
58 bit_width as usize - 1 - i
59 } else {
60 i
61 };
62 val |= 1 << index;
63 }
64 }
65 val
66 }
67 #[inline]
68 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
69 debug_assert!(bit_width <= 64);
70 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
71 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
72 for i in 0..(bit_width as usize) {
73 let mask = 1 << i;
74 let val_bit_is_set = val & mask == mask;
75 let index = if cfg!(target_endian = "big") {
76 bit_width as usize - 1 - i
77 } else {
78 i
79 };
80 self.set_bit(index + bit_offset, val_bit_is_set);
81 }
82 }
83}
84#[repr(C)]
85#[derive(Default)]
86pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
87impl<T> __IncompleteArrayField<T> {
88 #[inline]
89 pub const fn new() -> Self {
90 __IncompleteArrayField(::std::marker::PhantomData, [])
91 }
92 #[inline]
93 pub fn as_ptr(&self) -> *const T {
94 self as *const _ as *const T
95 }
96 #[inline]
97 pub fn as_mut_ptr(&mut self) -> *mut T {
98 self as *mut _ as *mut T
99 }
100 #[inline]
101 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
102 ::std::slice::from_raw_parts(self.as_ptr(), len)
103 }
104 #[inline]
105 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
106 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
107 }
108}
109impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
110 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
111 fmt.write_str("__IncompleteArrayField")
112 }
113}
114pub const __BITS_PER_LONG: u32 = 64;
115pub const __FD_SETSIZE: u32 = 1024;
116pub const SI_LOAD_SHIFT: u32 = 16;
117pub const _K_SS_MAXSIZE: u32 = 128;
118pub const NETLINK_ROUTE: u32 = 0;
119pub const NETLINK_UNUSED: u32 = 1;
120pub const NETLINK_USERSOCK: u32 = 2;
121pub const NETLINK_FIREWALL: u32 = 3;
122pub const NETLINK_SOCK_DIAG: u32 = 4;
123pub const NETLINK_NFLOG: u32 = 5;
124pub const NETLINK_XFRM: u32 = 6;
125pub const NETLINK_SELINUX: u32 = 7;
126pub const NETLINK_ISCSI: u32 = 8;
127pub const NETLINK_AUDIT: u32 = 9;
128pub const NETLINK_FIB_LOOKUP: u32 = 10;
129pub const NETLINK_CONNECTOR: u32 = 11;
130pub const NETLINK_NETFILTER: u32 = 12;
131pub const NETLINK_IP6_FW: u32 = 13;
132pub const NETLINK_DNRTMSG: u32 = 14;
133pub const NETLINK_KOBJECT_UEVENT: u32 = 15;
134pub const NETLINK_GENERIC: u32 = 16;
135pub const NETLINK_SCSITRANSPORT: u32 = 18;
136pub const NETLINK_ECRYPTFS: u32 = 19;
137pub const NETLINK_RDMA: u32 = 20;
138pub const NETLINK_CRYPTO: u32 = 21;
139pub const NETLINK_SMC: u32 = 22;
140pub const NETLINK_INET_DIAG: u32 = 4;
141pub const MAX_LINKS: u32 = 32;
142pub const NLM_F_REQUEST: u32 = 1;
143pub const NLM_F_MULTI: u32 = 2;
144pub const NLM_F_ACK: u32 = 4;
145pub const NLM_F_ECHO: u32 = 8;
146pub const NLM_F_DUMP_INTR: u32 = 16;
147pub const NLM_F_DUMP_FILTERED: u32 = 32;
148pub const NLM_F_ROOT: u32 = 256;
149pub const NLM_F_MATCH: u32 = 512;
150pub const NLM_F_ATOMIC: u32 = 1024;
151pub const NLM_F_DUMP: u32 = 768;
152pub const NLM_F_REPLACE: u32 = 256;
153pub const NLM_F_EXCL: u32 = 512;
154pub const NLM_F_CREATE: u32 = 1024;
155pub const NLM_F_APPEND: u32 = 2048;
156pub const NLM_F_NONREC: u32 = 256;
157pub const NLM_F_CAPPED: u32 = 256;
158pub const NLM_F_ACK_TLVS: u32 = 512;
159pub const NLMSG_ALIGNTO: u32 = 4;
160pub const NLMSG_NOOP: u32 = 1;
161pub const NLMSG_ERROR: u32 = 2;
162pub const NLMSG_DONE: u32 = 3;
163pub const NLMSG_OVERRUN: u32 = 4;
164pub const NLMSG_MIN_TYPE: u32 = 16;
165pub const NETLINK_ADD_MEMBERSHIP: u32 = 1;
166pub const NETLINK_DROP_MEMBERSHIP: u32 = 2;
167pub const NETLINK_PKTINFO: u32 = 3;
168pub const NETLINK_BROADCAST_ERROR: u32 = 4;
169pub const NETLINK_NO_ENOBUFS: u32 = 5;
170pub const NETLINK_RX_RING: u32 = 6;
171pub const NETLINK_TX_RING: u32 = 7;
172pub const NETLINK_LISTEN_ALL_NSID: u32 = 8;
173pub const NETLINK_LIST_MEMBERSHIPS: u32 = 9;
174pub const NETLINK_CAP_ACK: u32 = 10;
175pub const NETLINK_EXT_ACK: u32 = 11;
176pub const NETLINK_GET_STRICT_CHK: u32 = 12;
177pub const NL_MMAP_MSG_ALIGNMENT: u32 = 4;
178pub const NET_MAJOR: u32 = 36;
179pub const NLA_F_NESTED: u32 = 32768;
180pub const NLA_F_NET_BYTEORDER: u32 = 16384;
181pub const NLA_TYPE_MASK: i32 = -49153;
182pub const NLA_ALIGNTO: u32 = 4;
183pub const MACVLAN_FLAG_NOPROMISC: u32 = 1;
184pub const IPVLAN_F_PRIVATE: u32 = 1;
185pub const IPVLAN_F_VEPA: u32 = 2;
186pub const MAX_VLAN_LIST_LEN: u32 = 1;
187pub const PORT_PROFILE_MAX: u32 = 40;
188pub const PORT_UUID_MAX: u32 = 16;
189pub const PORT_SELF_VF: i32 = -1;
190pub const XDP_FLAGS_UPDATE_IF_NOEXIST: u32 = 1;
191pub const XDP_FLAGS_SKB_MODE: u32 = 2;
192pub const XDP_FLAGS_DRV_MODE: u32 = 4;
193pub const XDP_FLAGS_HW_MODE: u32 = 8;
194pub const XDP_FLAGS_MODES: u32 = 14;
195pub const XDP_FLAGS_MASK: u32 = 15;
196pub const RMNET_FLAGS_INGRESS_DEAGGREGATION: u32 = 1;
197pub const RMNET_FLAGS_INGRESS_MAP_COMMANDS: u32 = 2;
198pub const RMNET_FLAGS_INGRESS_MAP_CKSUMV4: u32 = 4;
199pub const RMNET_FLAGS_EGRESS_MAP_CKSUMV4: u32 = 8;
200pub const BPF_LD: u32 = 0;
201pub const BPF_LDX: u32 = 1;
202pub const BPF_ST: u32 = 2;
203pub const BPF_STX: u32 = 3;
204pub const BPF_ALU: u32 = 4;
205pub const BPF_JMP: u32 = 5;
206pub const BPF_RET: u32 = 6;
207pub const BPF_MISC: u32 = 7;
208pub const BPF_W: u32 = 0;
209pub const BPF_H: u32 = 8;
210pub const BPF_B: u32 = 16;
211pub const BPF_IMM: u32 = 0;
212pub const BPF_ABS: u32 = 32;
213pub const BPF_IND: u32 = 64;
214pub const BPF_MEM: u32 = 96;
215pub const BPF_LEN: u32 = 128;
216pub const BPF_MSH: u32 = 160;
217pub const BPF_ADD: u32 = 0;
218pub const BPF_SUB: u32 = 16;
219pub const BPF_MUL: u32 = 32;
220pub const BPF_DIV: u32 = 48;
221pub const BPF_OR: u32 = 64;
222pub const BPF_AND: u32 = 80;
223pub const BPF_LSH: u32 = 96;
224pub const BPF_RSH: u32 = 112;
225pub const BPF_NEG: u32 = 128;
226pub const BPF_MOD: u32 = 144;
227pub const BPF_XOR: u32 = 160;
228pub const BPF_JA: u32 = 0;
229pub const BPF_JEQ: u32 = 16;
230pub const BPF_JGT: u32 = 32;
231pub const BPF_JGE: u32 = 48;
232pub const BPF_JSET: u32 = 64;
233pub const BPF_K: u32 = 0;
234pub const BPF_X: u32 = 8;
235pub const BPF_MAXINSNS: u32 = 4096;
236pub const BPF_JMP32: u32 = 6;
237pub const BPF_ALU64: u32 = 7;
238pub const BPF_DW: u32 = 24;
239pub const BPF_XADD: u32 = 192;
240pub const BPF_MOV: u32 = 176;
241pub const BPF_ARSH: u32 = 192;
242pub const BPF_END: u32 = 208;
243pub const BPF_TO_LE: u32 = 0;
244pub const BPF_TO_BE: u32 = 8;
245pub const BPF_FROM_LE: u32 = 0;
246pub const BPF_FROM_BE: u32 = 8;
247pub const BPF_JNE: u32 = 80;
248pub const BPF_JLT: u32 = 160;
249pub const BPF_JLE: u32 = 176;
250pub const BPF_JSGT: u32 = 96;
251pub const BPF_JSGE: u32 = 112;
252pub const BPF_JSLT: u32 = 192;
253pub const BPF_JSLE: u32 = 208;
254pub const BPF_CALL: u32 = 128;
255pub const BPF_EXIT: u32 = 144;
256pub const BPF_F_ALLOW_OVERRIDE: u32 = 1;
257pub const BPF_F_ALLOW_MULTI: u32 = 2;
258pub const BPF_F_STRICT_ALIGNMENT: u32 = 1;
259pub const BPF_F_ANY_ALIGNMENT: u32 = 2;
260pub const BPF_F_TEST_RND_HI32: u32 = 4;
261pub const BPF_F_TEST_STATE_FREQ: u32 = 8;
262pub const BPF_PSEUDO_MAP_FD: u32 = 1;
263pub const BPF_PSEUDO_MAP_VALUE: u32 = 2;
264pub const BPF_PSEUDO_CALL: u32 = 1;
265pub const BPF_ANY: u32 = 0;
266pub const BPF_NOEXIST: u32 = 1;
267pub const BPF_EXIST: u32 = 2;
268pub const BPF_F_LOCK: u32 = 4;
269pub const BPF_F_NO_PREALLOC: u32 = 1;
270pub const BPF_F_NO_COMMON_LRU: u32 = 2;
271pub const BPF_F_NUMA_NODE: u32 = 4;
272pub const BPF_OBJ_NAME_LEN: u32 = 16;
273pub const BPF_F_RDONLY: u32 = 8;
274pub const BPF_F_WRONLY: u32 = 16;
275pub const BPF_F_STACK_BUILD_ID: u32 = 32;
276pub const BPF_F_ZERO_SEED: u32 = 64;
277pub const BPF_F_RDONLY_PROG: u32 = 128;
278pub const BPF_F_WRONLY_PROG: u32 = 256;
279pub const BPF_F_CLONE: u32 = 512;
280pub const BPF_F_QUERY_EFFECTIVE: u32 = 1;
281pub const BPF_BUILD_ID_SIZE: u32 = 20;
282pub const BPF_F_RECOMPUTE_CSUM: u32 = 1;
283pub const BPF_F_INVALIDATE_HASH: u32 = 2;
284pub const BPF_F_HDR_FIELD_MASK: u32 = 15;
285pub const BPF_F_PSEUDO_HDR: u32 = 16;
286pub const BPF_F_MARK_MANGLED_0: u32 = 32;
287pub const BPF_F_MARK_ENFORCE: u32 = 64;
288pub const BPF_F_INGRESS: u32 = 1;
289pub const BPF_F_TUNINFO_IPV6: u32 = 1;
290pub const BPF_F_SKIP_FIELD_MASK: u32 = 255;
291pub const BPF_F_USER_STACK: u32 = 256;
292pub const BPF_F_FAST_STACK_CMP: u32 = 512;
293pub const BPF_F_REUSE_STACKID: u32 = 1024;
294pub const BPF_F_USER_BUILD_ID: u32 = 2048;
295pub const BPF_F_ZERO_CSUM_TX: u32 = 2;
296pub const BPF_F_DONT_FRAGMENT: u32 = 4;
297pub const BPF_F_SEQ_NUMBER: u32 = 8;
298pub const BPF_F_INDEX_MASK: u32 = 4294967295;
299pub const BPF_F_CURRENT_CPU: u32 = 4294967295;
300pub const BPF_F_CTXLEN_MASK: u64 = 4503595332403200;
301pub const BPF_F_CURRENT_NETNS: i32 = -1;
302pub const BPF_F_ADJ_ROOM_FIXED_GSO: u32 = 1;
303pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: u32 = 255;
304pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: u32 = 56;
305pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: u32 = 2;
306pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: u32 = 4;
307pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: u32 = 8;
308pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: u32 = 16;
309pub const BPF_F_SYSCTL_BASE_NAME: u32 = 1;
310pub const BPF_SK_STORAGE_GET_F_CREATE: u32 = 1;
311pub const XDP_PACKET_HEADROOM: u32 = 256;
312pub const BPF_TAG_SIZE: u32 = 8;
313pub const BPF_SOCK_OPS_RTO_CB_FLAG: u32 = 1;
314pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: u32 = 2;
315pub const BPF_SOCK_OPS_STATE_CB_FLAG: u32 = 4;
316pub const BPF_SOCK_OPS_RTT_CB_FLAG: u32 = 8;
317pub const BPF_SOCK_OPS_ALL_CB_FLAGS: u32 = 15;
318pub const TCP_BPF_IW: u32 = 1001;
319pub const TCP_BPF_SNDCWND_CLAMP: u32 = 1002;
320pub const BPF_DEVCG_ACC_MKNOD: u32 = 1;
321pub const BPF_DEVCG_ACC_READ: u32 = 2;
322pub const BPF_DEVCG_ACC_WRITE: u32 = 4;
323pub const BPF_DEVCG_DEV_BLOCK: u32 = 1;
324pub const BPF_DEVCG_DEV_CHAR: u32 = 2;
325pub const BPF_FIB_LOOKUP_DIRECT: u32 = 1;
326pub const BPF_FIB_LOOKUP_OUTPUT: u32 = 2;
327pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: u32 = 1;
328pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: u32 = 2;
329pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: u32 = 4;
330pub const true_: u32 = 1;
331pub const false_: u32 = 0;
332pub const __bool_true_false_are_defined: u32 = 1;
333pub const _STDINT_H: u32 = 1;
334pub const _FEATURES_H: u32 = 1;
335pub const _DEFAULT_SOURCE: u32 = 1;
336pub const __USE_ISOC11: u32 = 1;
337pub const __USE_ISOC99: u32 = 1;
338pub const __USE_ISOC95: u32 = 1;
339pub const __USE_POSIX_IMPLICITLY: u32 = 1;
340pub const _POSIX_SOURCE: u32 = 1;
341pub const _POSIX_C_SOURCE: u32 = 200809;
342pub const __USE_POSIX: u32 = 1;
343pub const __USE_POSIX2: u32 = 1;
344pub const __USE_POSIX199309: u32 = 1;
345pub const __USE_POSIX199506: u32 = 1;
346pub const __USE_XOPEN2K: u32 = 1;
347pub const __USE_XOPEN2K8: u32 = 1;
348pub const _ATFILE_SOURCE: u32 = 1;
349pub const __USE_MISC: u32 = 1;
350pub const __USE_ATFILE: u32 = 1;
351pub const __USE_FORTIFY_LEVEL: u32 = 0;
352pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
353pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
354pub const _STDC_PREDEF_H: u32 = 1;
355pub const __STDC_IEC_559__: u32 = 1;
356pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
357pub const __STDC_ISO_10646__: u32 = 201706;
358pub const __GNU_LIBRARY__: u32 = 6;
359pub const __GLIBC__: u32 = 2;
360pub const __GLIBC_MINOR__: u32 = 29;
361pub const _SYS_CDEFS_H: u32 = 1;
362pub const __glibc_c99_flexarr_available: u32 = 1;
363pub const __WORDSIZE: u32 = 64;
364pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
365pub const __SYSCALL_WORDSIZE: u32 = 64;
366pub const __HAVE_GENERIC_SELECTION: u32 = 1;
367pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
368pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
369pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
370pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
371pub const _BITS_TYPES_H: u32 = 1;
372pub const __TIMESIZE: u32 = 64;
373pub const _BITS_TYPESIZES_H: u32 = 1;
374pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
375pub const __INO_T_MATCHES_INO64_T: u32 = 1;
376pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
377pub const _BITS_TIME64_H: u32 = 1;
378pub const _BITS_WCHAR_H: u32 = 1;
379pub const _BITS_STDINT_INTN_H: u32 = 1;
380pub const _BITS_STDINT_UINTN_H: u32 = 1;
381pub const INT8_MIN: i32 = -128;
382pub const INT16_MIN: i32 = -32768;
383pub const INT32_MIN: i32 = -2147483648;
384pub const INT8_MAX: u32 = 127;
385pub const INT16_MAX: u32 = 32767;
386pub const INT32_MAX: u32 = 2147483647;
387pub const UINT8_MAX: u32 = 255;
388pub const UINT16_MAX: u32 = 65535;
389pub const UINT32_MAX: u32 = 4294967295;
390pub const INT_LEAST8_MIN: i32 = -128;
391pub const INT_LEAST16_MIN: i32 = -32768;
392pub const INT_LEAST32_MIN: i32 = -2147483648;
393pub const INT_LEAST8_MAX: u32 = 127;
394pub const INT_LEAST16_MAX: u32 = 32767;
395pub const INT_LEAST32_MAX: u32 = 2147483647;
396pub const UINT_LEAST8_MAX: u32 = 255;
397pub const UINT_LEAST16_MAX: u32 = 65535;
398pub const UINT_LEAST32_MAX: u32 = 4294967295;
399pub const INT_FAST8_MIN: i32 = -128;
400pub const INT_FAST16_MIN: i64 = -9223372036854775808;
401pub const INT_FAST32_MIN: i64 = -9223372036854775808;
402pub const INT_FAST8_MAX: u32 = 127;
403pub const INT_FAST16_MAX: u64 = 9223372036854775807;
404pub const INT_FAST32_MAX: u64 = 9223372036854775807;
405pub const UINT_FAST8_MAX: u32 = 255;
406pub const UINT_FAST16_MAX: i32 = -1;
407pub const UINT_FAST32_MAX: i32 = -1;
408pub const INTPTR_MIN: i64 = -9223372036854775808;
409pub const INTPTR_MAX: u64 = 9223372036854775807;
410pub const UINTPTR_MAX: i32 = -1;
411pub const PTRDIFF_MIN: i64 = -9223372036854775808;
412pub const PTRDIFF_MAX: u64 = 9223372036854775807;
413pub const SIG_ATOMIC_MIN: i32 = -2147483648;
414pub const SIG_ATOMIC_MAX: u32 = 2147483647;
415pub const SIZE_MAX: i32 = -1;
416pub const WINT_MIN: u32 = 0;
417pub const WINT_MAX: u32 = 4294967295;
418pub const _STRING_H: u32 = 1;
419pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
420pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
421pub const _STRINGS_H: u32 = 1;
422pub const MAPS_RELAX_COMPAT: u32 = 1;
423pub const BPF_LOG_BUF_SIZE: u32 = 16777215;
424pub const __GNUC_VA_LIST: u32 = 1;
425pub const BTF_MAGIC: u32 = 60319;
426pub const BTF_VERSION: u32 = 1;
427pub const BTF_MAX_TYPE: u32 = 1048575;
428pub const BTF_MAX_NAME_OFFSET: u32 = 16777215;
429pub const BTF_MAX_VLEN: u32 = 65535;
430pub const BTF_KIND_UNKN: u32 = 0;
431pub const BTF_KIND_INT: u32 = 1;
432pub const BTF_KIND_PTR: u32 = 2;
433pub const BTF_KIND_ARRAY: u32 = 3;
434pub const BTF_KIND_STRUCT: u32 = 4;
435pub const BTF_KIND_UNION: u32 = 5;
436pub const BTF_KIND_ENUM: u32 = 6;
437pub const BTF_KIND_FWD: u32 = 7;
438pub const BTF_KIND_TYPEDEF: u32 = 8;
439pub const BTF_KIND_VOLATILE: u32 = 9;
440pub const BTF_KIND_CONST: u32 = 10;
441pub const BTF_KIND_RESTRICT: u32 = 11;
442pub const BTF_KIND_FUNC: u32 = 12;
443pub const BTF_KIND_FUNC_PROTO: u32 = 13;
444pub const BTF_KIND_VAR: u32 = 14;
445pub const BTF_KIND_DATASEC: u32 = 15;
446pub const BTF_KIND_MAX: u32 = 15;
447pub const NR_BTF_KINDS: u32 = 16;
448pub const BTF_INT_SIGNED: u32 = 1;
449pub const BTF_INT_CHAR: u32 = 2;
450pub const BTF_INT_BOOL: u32 = 4;
451pub const BTF_ELF_SEC: &'static [u8; 5usize] = b".BTF\0";
452pub const BTF_EXT_ELF_SEC: &'static [u8; 9usize] = b".BTF.ext\0";
453pub const MAPS_ELF_SEC: &'static [u8; 6usize] = b".maps\0";
454pub const _STDIO_H: u32 = 1;
455pub const _____fpos_t_defined: u32 = 1;
456pub const ____mbstate_t_defined: u32 = 1;
457pub const _____fpos64_t_defined: u32 = 1;
458pub const ____FILE_defined: u32 = 1;
459pub const __FILE_defined: u32 = 1;
460pub const __struct_FILE_defined: u32 = 1;
461pub const _IO_EOF_SEEN: u32 = 16;
462pub const _IO_ERR_SEEN: u32 = 32;
463pub const _IO_USER_LOCK: u32 = 32768;
464pub const _IOFBF: u32 = 0;
465pub const _IOLBF: u32 = 1;
466pub const _IONBF: u32 = 2;
467pub const BUFSIZ: u32 = 8192;
468pub const EOF: i32 = -1;
469pub const SEEK_SET: u32 = 0;
470pub const SEEK_CUR: u32 = 1;
471pub const SEEK_END: u32 = 2;
472pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
473pub const _BITS_STDIO_LIM_H: u32 = 1;
474pub const L_tmpnam: u32 = 20;
475pub const TMP_MAX: u32 = 238328;
476pub const FILENAME_MAX: u32 = 4096;
477pub const L_ctermid: u32 = 9;
478pub const FOPEN_MAX: u32 = 16;
479pub const _SYS_TYPES_H: u32 = 1;
480pub const __clock_t_defined: u32 = 1;
481pub const __clockid_t_defined: u32 = 1;
482pub const __time_t_defined: u32 = 1;
483pub const __timer_t_defined: u32 = 1;
484pub const __BIT_TYPES_DEFINED__: u32 = 1;
485pub const _ENDIAN_H: u32 = 1;
486pub const __LITTLE_ENDIAN: u32 = 1234;
487pub const __BIG_ENDIAN: u32 = 4321;
488pub const __PDP_ENDIAN: u32 = 3412;
489pub const __BYTE_ORDER: u32 = 1234;
490pub const __FLOAT_WORD_ORDER: u32 = 1234;
491pub const LITTLE_ENDIAN: u32 = 1234;
492pub const BIG_ENDIAN: u32 = 4321;
493pub const PDP_ENDIAN: u32 = 3412;
494pub const BYTE_ORDER: u32 = 1234;
495pub const _BITS_BYTESWAP_H: u32 = 1;
496pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
497pub const _SYS_SELECT_H: u32 = 1;
498pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
499pub const __sigset_t_defined: u32 = 1;
500pub const __timeval_defined: u32 = 1;
501pub const _STRUCT_TIMESPEC: u32 = 1;
502pub const FD_SETSIZE: u32 = 1024;
503pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
504pub const _THREAD_SHARED_TYPES_H: u32 = 1;
505pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
506pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
507pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
508pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
509pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
510pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
511pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
512pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
513pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
514pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
515pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
516pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
517pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
518pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
519pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
520pub const __have_pthread_attr_t: u32 = 1;
521pub const XDP_SHARED_UMEM: u32 = 1;
522pub const XDP_COPY: u32 = 2;
523pub const XDP_ZEROCOPY: u32 = 4;
524pub const XDP_USE_NEED_WAKEUP: u32 = 8;
525pub const XDP_UMEM_UNALIGNED_CHUNK_FLAG: u32 = 1;
526pub const XDP_RING_NEED_WAKEUP: u32 = 1;
527pub const XDP_MMAP_OFFSETS: u32 = 1;
528pub const XDP_RX_RING: u32 = 2;
529pub const XDP_TX_RING: u32 = 3;
530pub const XDP_UMEM_REG: u32 = 4;
531pub const XDP_UMEM_FILL_RING: u32 = 5;
532pub const XDP_UMEM_COMPLETION_RING: u32 = 6;
533pub const XDP_STATISTICS: u32 = 7;
534pub const XDP_OPTIONS: u32 = 8;
535pub const XDP_OPTIONS_ZEROCOPY: u32 = 1;
536pub const XDP_PGOFF_RX_RING: u32 = 0;
537pub const XDP_PGOFF_TX_RING: u32 = 2147483648;
538pub const XDP_UMEM_PGOFF_FILL_RING: u64 = 4294967296;
539pub const XDP_UMEM_PGOFF_COMPLETION_RING: u64 = 6442450944;
540pub const XSK_UNALIGNED_BUF_OFFSET_SHIFT: u32 = 48;
541pub const XSK_UNALIGNED_BUF_ADDR_MASK: u64 = 281474976710655;
542pub const XSK_RING_CONS__DEFAULT_NUM_DESCS: u32 = 2048;
543pub const XSK_RING_PROD__DEFAULT_NUM_DESCS: u32 = 2048;
544pub const XSK_UMEM__DEFAULT_FRAME_SHIFT: u32 = 12;
545pub const XSK_UMEM__DEFAULT_FRAME_SIZE: u32 = 4096;
546pub const XSK_UMEM__DEFAULT_FRAME_HEADROOM: u32 = 0;
547pub const XSK_UMEM__DEFAULT_FLAGS: u32 = 0;
548pub const XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD: u32 = 1;
549pub type __s8 = ::std::os::raw::c_schar;
550pub type __u8 = ::std::os::raw::c_uchar;
551pub type __s16 = ::std::os::raw::c_short;
552pub type __u16 = ::std::os::raw::c_ushort;
553pub type __s32 = ::std::os::raw::c_int;
554pub type __u32 = ::std::os::raw::c_uint;
555pub type __s64 = ::std::os::raw::c_longlong;
556pub type __u64 = ::std::os::raw::c_ulonglong;
557#[repr(C)]
558#[derive(Debug, Copy, Clone)]
559pub struct __kernel_fd_set {
560 pub fds_bits: [::std::os::raw::c_ulong; 16usize],
561}
562pub type __kernel_sighandler_t =
563 ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
564pub type __kernel_key_t = ::std::os::raw::c_int;
565pub type __kernel_mqd_t = ::std::os::raw::c_int;
566pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
567pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
568pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
569pub type __kernel_long_t = ::std::os::raw::c_long;
570pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
571pub type __kernel_ino_t = __kernel_ulong_t;
572pub type __kernel_mode_t = ::std::os::raw::c_uint;
573pub type __kernel_pid_t = ::std::os::raw::c_int;
574pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
575pub type __kernel_uid_t = ::std::os::raw::c_uint;
576pub type __kernel_gid_t = ::std::os::raw::c_uint;
577pub type __kernel_suseconds_t = __kernel_long_t;
578pub type __kernel_daddr_t = ::std::os::raw::c_int;
579pub type __kernel_uid32_t = ::std::os::raw::c_uint;
580pub type __kernel_gid32_t = ::std::os::raw::c_uint;
581pub type __kernel_size_t = __kernel_ulong_t;
582pub type __kernel_ssize_t = __kernel_long_t;
583pub type __kernel_ptrdiff_t = __kernel_long_t;
584#[repr(C)]
585#[derive(Debug, Copy, Clone)]
586pub struct __kernel_fsid_t {
587 pub val: [::std::os::raw::c_int; 2usize],
588}
589pub type __kernel_off_t = __kernel_long_t;
590pub type __kernel_loff_t = ::std::os::raw::c_longlong;
591pub type __kernel_time_t = __kernel_long_t;
592pub type __kernel_time64_t = ::std::os::raw::c_longlong;
593pub type __kernel_clock_t = __kernel_long_t;
594pub type __kernel_timer_t = ::std::os::raw::c_int;
595pub type __kernel_clockid_t = ::std::os::raw::c_int;
596pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
597pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
598pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
599pub type __le16 = __u16;
600pub type __be16 = __u16;
601pub type __le32 = __u32;
602pub type __be32 = __u32;
603pub type __le64 = __u64;
604pub type __be64 = __u64;
605pub type __sum16 = __u16;
606pub type __wsum = __u32;
607pub type __poll_t = ::std::os::raw::c_uint;
608#[repr(C)]
609#[derive(Debug)]
610pub struct sysinfo {
611 pub uptime: __kernel_long_t,
612 pub loads: [__kernel_ulong_t; 3usize],
613 pub totalram: __kernel_ulong_t,
614 pub freeram: __kernel_ulong_t,
615 pub sharedram: __kernel_ulong_t,
616 pub bufferram: __kernel_ulong_t,
617 pub totalswap: __kernel_ulong_t,
618 pub freeswap: __kernel_ulong_t,
619 pub procs: __u16,
620 pub pad: __u16,
621 pub totalhigh: __kernel_ulong_t,
622 pub freehigh: __kernel_ulong_t,
623 pub mem_unit: __u32,
624 pub _f: __IncompleteArrayField<::std::os::raw::c_char>,
625}
626pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
627#[repr(C)]
628#[derive(Copy, Clone)]
629pub struct __kernel_sockaddr_storage {
630 pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1,
631}
632#[repr(C)]
633#[derive(Copy, Clone)]
634pub union __kernel_sockaddr_storage__bindgen_ty_1 {
635 pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
636 pub __align: *mut ::std::os::raw::c_void,
637 _bindgen_union_align: [u64; 16usize],
638}
639#[repr(C)]
640#[derive(Copy, Clone)]
641pub struct __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
642 pub ss_family: __kernel_sa_family_t,
643 pub __data: [::std::os::raw::c_char; 126usize],
644}
645#[repr(C)]
646#[derive(Debug, Copy, Clone)]
647pub struct sockaddr_nl {
648 pub nl_family: __kernel_sa_family_t,
649 pub nl_pad: ::std::os::raw::c_ushort,
650 pub nl_pid: __u32,
651 pub nl_groups: __u32,
652}
653#[repr(C)]
654#[derive(Debug, Copy, Clone)]
655pub struct nlmsghdr {
656 pub nlmsg_len: __u32,
657 pub nlmsg_type: __u16,
658 pub nlmsg_flags: __u16,
659 pub nlmsg_seq: __u32,
660 pub nlmsg_pid: __u32,
661}
662#[repr(C)]
663#[derive(Debug, Copy, Clone)]
664pub struct nlmsgerr {
665 pub error: ::std::os::raw::c_int,
666 pub msg: nlmsghdr,
667}
668pub const nlmsgerr_attrs_NLMSGERR_ATTR_UNUSED: nlmsgerr_attrs = 0;
669pub const nlmsgerr_attrs_NLMSGERR_ATTR_MSG: nlmsgerr_attrs = 1;
670pub const nlmsgerr_attrs_NLMSGERR_ATTR_OFFS: nlmsgerr_attrs = 2;
671pub const nlmsgerr_attrs_NLMSGERR_ATTR_COOKIE: nlmsgerr_attrs = 3;
672pub const nlmsgerr_attrs___NLMSGERR_ATTR_MAX: nlmsgerr_attrs = 4;
673pub const nlmsgerr_attrs_NLMSGERR_ATTR_MAX: nlmsgerr_attrs = 3;
674pub type nlmsgerr_attrs = u32;
675#[repr(C)]
676#[derive(Debug, Copy, Clone)]
677pub struct nl_pktinfo {
678 pub group: __u32,
679}
680#[repr(C)]
681#[derive(Debug, Copy, Clone)]
682pub struct nl_mmap_req {
683 pub nm_block_size: ::std::os::raw::c_uint,
684 pub nm_block_nr: ::std::os::raw::c_uint,
685 pub nm_frame_size: ::std::os::raw::c_uint,
686 pub nm_frame_nr: ::std::os::raw::c_uint,
687}
688#[repr(C)]
689#[derive(Debug, Copy, Clone)]
690pub struct nl_mmap_hdr {
691 pub nm_status: ::std::os::raw::c_uint,
692 pub nm_len: ::std::os::raw::c_uint,
693 pub nm_group: __u32,
694 pub nm_pid: __u32,
695 pub nm_uid: __u32,
696 pub nm_gid: __u32,
697}
698pub const nl_mmap_status_NL_MMAP_STATUS_UNUSED: nl_mmap_status = 0;
699pub const nl_mmap_status_NL_MMAP_STATUS_RESERVED: nl_mmap_status = 1;
700pub const nl_mmap_status_NL_MMAP_STATUS_VALID: nl_mmap_status = 2;
701pub const nl_mmap_status_NL_MMAP_STATUS_COPY: nl_mmap_status = 3;
702pub const nl_mmap_status_NL_MMAP_STATUS_SKIP: nl_mmap_status = 4;
703pub type nl_mmap_status = u32;
704pub const NETLINK_UNCONNECTED: _bindgen_ty_1 = 0;
705pub const NETLINK_CONNECTED: _bindgen_ty_1 = 1;
706pub type _bindgen_ty_1 = u32;
707#[repr(C)]
708#[derive(Debug, Copy, Clone)]
709pub struct nlattr {
710 pub nla_len: __u16,
711 pub nla_type: __u16,
712}
713#[repr(C)]
714#[derive(Debug, Copy, Clone)]
715pub struct nla_bitfield32 {
716 pub value: __u32,
717 pub selector: __u32,
718}
719#[repr(C)]
720#[derive(Debug, Copy, Clone)]
721pub struct rtnl_link_stats {
722 pub rx_packets: __u32,
723 pub tx_packets: __u32,
724 pub rx_bytes: __u32,
725 pub tx_bytes: __u32,
726 pub rx_errors: __u32,
727 pub tx_errors: __u32,
728 pub rx_dropped: __u32,
729 pub tx_dropped: __u32,
730 pub multicast: __u32,
731 pub collisions: __u32,
732 pub rx_length_errors: __u32,
733 pub rx_over_errors: __u32,
734 pub rx_crc_errors: __u32,
735 pub rx_frame_errors: __u32,
736 pub rx_fifo_errors: __u32,
737 pub rx_missed_errors: __u32,
738 pub tx_aborted_errors: __u32,
739 pub tx_carrier_errors: __u32,
740 pub tx_fifo_errors: __u32,
741 pub tx_heartbeat_errors: __u32,
742 pub tx_window_errors: __u32,
743 pub rx_compressed: __u32,
744 pub tx_compressed: __u32,
745 pub rx_nohandler: __u32,
746}
747#[repr(C)]
748#[derive(Debug, Copy, Clone)]
749pub struct rtnl_link_stats64 {
750 pub rx_packets: __u64,
751 pub tx_packets: __u64,
752 pub rx_bytes: __u64,
753 pub tx_bytes: __u64,
754 pub rx_errors: __u64,
755 pub tx_errors: __u64,
756 pub rx_dropped: __u64,
757 pub tx_dropped: __u64,
758 pub multicast: __u64,
759 pub collisions: __u64,
760 pub rx_length_errors: __u64,
761 pub rx_over_errors: __u64,
762 pub rx_crc_errors: __u64,
763 pub rx_frame_errors: __u64,
764 pub rx_fifo_errors: __u64,
765 pub rx_missed_errors: __u64,
766 pub tx_aborted_errors: __u64,
767 pub tx_carrier_errors: __u64,
768 pub tx_fifo_errors: __u64,
769 pub tx_heartbeat_errors: __u64,
770 pub tx_window_errors: __u64,
771 pub rx_compressed: __u64,
772 pub tx_compressed: __u64,
773 pub rx_nohandler: __u64,
774}
775#[repr(C)]
776#[derive(Debug, Copy, Clone)]
777pub struct rtnl_link_ifmap {
778 pub mem_start: __u64,
779 pub mem_end: __u64,
780 pub base_addr: __u64,
781 pub irq: __u16,
782 pub dma: __u8,
783 pub port: __u8,
784}
785pub const IFLA_UNSPEC: _bindgen_ty_2 = 0;
786pub const IFLA_ADDRESS: _bindgen_ty_2 = 1;
787pub const IFLA_BROADCAST: _bindgen_ty_2 = 2;
788pub const IFLA_IFNAME: _bindgen_ty_2 = 3;
789pub const IFLA_MTU: _bindgen_ty_2 = 4;
790pub const IFLA_LINK: _bindgen_ty_2 = 5;
791pub const IFLA_QDISC: _bindgen_ty_2 = 6;
792pub const IFLA_STATS: _bindgen_ty_2 = 7;
793pub const IFLA_COST: _bindgen_ty_2 = 8;
794pub const IFLA_PRIORITY: _bindgen_ty_2 = 9;
795pub const IFLA_MASTER: _bindgen_ty_2 = 10;
796pub const IFLA_WIRELESS: _bindgen_ty_2 = 11;
797pub const IFLA_PROTINFO: _bindgen_ty_2 = 12;
798pub const IFLA_TXQLEN: _bindgen_ty_2 = 13;
799pub const IFLA_MAP: _bindgen_ty_2 = 14;
800pub const IFLA_WEIGHT: _bindgen_ty_2 = 15;
801pub const IFLA_OPERSTATE: _bindgen_ty_2 = 16;
802pub const IFLA_LINKMODE: _bindgen_ty_2 = 17;
803pub const IFLA_LINKINFO: _bindgen_ty_2 = 18;
804pub const IFLA_NET_NS_PID: _bindgen_ty_2 = 19;
805pub const IFLA_IFALIAS: _bindgen_ty_2 = 20;
806pub const IFLA_NUM_VF: _bindgen_ty_2 = 21;
807pub const IFLA_VFINFO_LIST: _bindgen_ty_2 = 22;
808pub const IFLA_STATS64: _bindgen_ty_2 = 23;
809pub const IFLA_VF_PORTS: _bindgen_ty_2 = 24;
810pub const IFLA_PORT_SELF: _bindgen_ty_2 = 25;
811pub const IFLA_AF_SPEC: _bindgen_ty_2 = 26;
812pub const IFLA_GROUP: _bindgen_ty_2 = 27;
813pub const IFLA_NET_NS_FD: _bindgen_ty_2 = 28;
814pub const IFLA_EXT_MASK: _bindgen_ty_2 = 29;
815pub const IFLA_PROMISCUITY: _bindgen_ty_2 = 30;
816pub const IFLA_NUM_TX_QUEUES: _bindgen_ty_2 = 31;
817pub const IFLA_NUM_RX_QUEUES: _bindgen_ty_2 = 32;
818pub const IFLA_CARRIER: _bindgen_ty_2 = 33;
819pub const IFLA_PHYS_PORT_ID: _bindgen_ty_2 = 34;
820pub const IFLA_CARRIER_CHANGES: _bindgen_ty_2 = 35;
821pub const IFLA_PHYS_SWITCH_ID: _bindgen_ty_2 = 36;
822pub const IFLA_LINK_NETNSID: _bindgen_ty_2 = 37;
823pub const IFLA_PHYS_PORT_NAME: _bindgen_ty_2 = 38;
824pub const IFLA_PROTO_DOWN: _bindgen_ty_2 = 39;
825pub const IFLA_GSO_MAX_SEGS: _bindgen_ty_2 = 40;
826pub const IFLA_GSO_MAX_SIZE: _bindgen_ty_2 = 41;
827pub const IFLA_PAD: _bindgen_ty_2 = 42;
828pub const IFLA_XDP: _bindgen_ty_2 = 43;
829pub const IFLA_EVENT: _bindgen_ty_2 = 44;
830pub const IFLA_NEW_NETNSID: _bindgen_ty_2 = 45;
831pub const IFLA_IF_NETNSID: _bindgen_ty_2 = 46;
832pub const IFLA_TARGET_NETNSID: _bindgen_ty_2 = 46;
833pub const IFLA_CARRIER_UP_COUNT: _bindgen_ty_2 = 47;
834pub const IFLA_CARRIER_DOWN_COUNT: _bindgen_ty_2 = 48;
835pub const IFLA_NEW_IFINDEX: _bindgen_ty_2 = 49;
836pub const IFLA_MIN_MTU: _bindgen_ty_2 = 50;
837pub const IFLA_MAX_MTU: _bindgen_ty_2 = 51;
838pub const IFLA_PROP_LIST: _bindgen_ty_2 = 52;
839pub const IFLA_ALT_IFNAME: _bindgen_ty_2 = 53;
840pub const IFLA_PERM_ADDRESS: _bindgen_ty_2 = 54;
841pub const __IFLA_MAX: _bindgen_ty_2 = 55;
842pub type _bindgen_ty_2 = u32;
843pub const IFLA_INET_UNSPEC: _bindgen_ty_3 = 0;
844pub const IFLA_INET_CONF: _bindgen_ty_3 = 1;
845pub const __IFLA_INET_MAX: _bindgen_ty_3 = 2;
846pub type _bindgen_ty_3 = u32;
847pub const IFLA_INET6_UNSPEC: _bindgen_ty_4 = 0;
848pub const IFLA_INET6_FLAGS: _bindgen_ty_4 = 1;
849pub const IFLA_INET6_CONF: _bindgen_ty_4 = 2;
850pub const IFLA_INET6_STATS: _bindgen_ty_4 = 3;
851pub const IFLA_INET6_MCAST: _bindgen_ty_4 = 4;
852pub const IFLA_INET6_CACHEINFO: _bindgen_ty_4 = 5;
853pub const IFLA_INET6_ICMP6STATS: _bindgen_ty_4 = 6;
854pub const IFLA_INET6_TOKEN: _bindgen_ty_4 = 7;
855pub const IFLA_INET6_ADDR_GEN_MODE: _bindgen_ty_4 = 8;
856pub const __IFLA_INET6_MAX: _bindgen_ty_4 = 9;
857pub type _bindgen_ty_4 = u32;
858pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_EUI64: in6_addr_gen_mode = 0;
859pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_NONE: in6_addr_gen_mode = 1;
860pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_STABLE_PRIVACY: in6_addr_gen_mode = 2;
861pub const in6_addr_gen_mode_IN6_ADDR_GEN_MODE_RANDOM: in6_addr_gen_mode = 3;
862pub type in6_addr_gen_mode = u32;
863pub const IFLA_BR_UNSPEC: _bindgen_ty_5 = 0;
864pub const IFLA_BR_FORWARD_DELAY: _bindgen_ty_5 = 1;
865pub const IFLA_BR_HELLO_TIME: _bindgen_ty_5 = 2;
866pub const IFLA_BR_MAX_AGE: _bindgen_ty_5 = 3;
867pub const IFLA_BR_AGEING_TIME: _bindgen_ty_5 = 4;
868pub const IFLA_BR_STP_STATE: _bindgen_ty_5 = 5;
869pub const IFLA_BR_PRIORITY: _bindgen_ty_5 = 6;
870pub const IFLA_BR_VLAN_FILTERING: _bindgen_ty_5 = 7;
871pub const IFLA_BR_VLAN_PROTOCOL: _bindgen_ty_5 = 8;
872pub const IFLA_BR_GROUP_FWD_MASK: _bindgen_ty_5 = 9;
873pub const IFLA_BR_ROOT_ID: _bindgen_ty_5 = 10;
874pub const IFLA_BR_BRIDGE_ID: _bindgen_ty_5 = 11;
875pub const IFLA_BR_ROOT_PORT: _bindgen_ty_5 = 12;
876pub const IFLA_BR_ROOT_PATH_COST: _bindgen_ty_5 = 13;
877pub const IFLA_BR_TOPOLOGY_CHANGE: _bindgen_ty_5 = 14;
878pub const IFLA_BR_TOPOLOGY_CHANGE_DETECTED: _bindgen_ty_5 = 15;
879pub const IFLA_BR_HELLO_TIMER: _bindgen_ty_5 = 16;
880pub const IFLA_BR_TCN_TIMER: _bindgen_ty_5 = 17;
881pub const IFLA_BR_TOPOLOGY_CHANGE_TIMER: _bindgen_ty_5 = 18;
882pub const IFLA_BR_GC_TIMER: _bindgen_ty_5 = 19;
883pub const IFLA_BR_GROUP_ADDR: _bindgen_ty_5 = 20;
884pub const IFLA_BR_FDB_FLUSH: _bindgen_ty_5 = 21;
885pub const IFLA_BR_MCAST_ROUTER: _bindgen_ty_5 = 22;
886pub const IFLA_BR_MCAST_SNOOPING: _bindgen_ty_5 = 23;
887pub const IFLA_BR_MCAST_QUERY_USE_IFADDR: _bindgen_ty_5 = 24;
888pub const IFLA_BR_MCAST_QUERIER: _bindgen_ty_5 = 25;
889pub const IFLA_BR_MCAST_HASH_ELASTICITY: _bindgen_ty_5 = 26;
890pub const IFLA_BR_MCAST_HASH_MAX: _bindgen_ty_5 = 27;
891pub const IFLA_BR_MCAST_LAST_MEMBER_CNT: _bindgen_ty_5 = 28;
892pub const IFLA_BR_MCAST_STARTUP_QUERY_CNT: _bindgen_ty_5 = 29;
893pub const IFLA_BR_MCAST_LAST_MEMBER_INTVL: _bindgen_ty_5 = 30;
894pub const IFLA_BR_MCAST_MEMBERSHIP_INTVL: _bindgen_ty_5 = 31;
895pub const IFLA_BR_MCAST_QUERIER_INTVL: _bindgen_ty_5 = 32;
896pub const IFLA_BR_MCAST_QUERY_INTVL: _bindgen_ty_5 = 33;
897pub const IFLA_BR_MCAST_QUERY_RESPONSE_INTVL: _bindgen_ty_5 = 34;
898pub const IFLA_BR_MCAST_STARTUP_QUERY_INTVL: _bindgen_ty_5 = 35;
899pub const IFLA_BR_NF_CALL_IPTABLES: _bindgen_ty_5 = 36;
900pub const IFLA_BR_NF_CALL_IP6TABLES: _bindgen_ty_5 = 37;
901pub const IFLA_BR_NF_CALL_ARPTABLES: _bindgen_ty_5 = 38;
902pub const IFLA_BR_VLAN_DEFAULT_PVID: _bindgen_ty_5 = 39;
903pub const IFLA_BR_PAD: _bindgen_ty_5 = 40;
904pub const IFLA_BR_VLAN_STATS_ENABLED: _bindgen_ty_5 = 41;
905pub const IFLA_BR_MCAST_STATS_ENABLED: _bindgen_ty_5 = 42;
906pub const IFLA_BR_MCAST_IGMP_VERSION: _bindgen_ty_5 = 43;
907pub const IFLA_BR_MCAST_MLD_VERSION: _bindgen_ty_5 = 44;
908pub const IFLA_BR_VLAN_STATS_PER_PORT: _bindgen_ty_5 = 45;
909pub const IFLA_BR_MULTI_BOOLOPT: _bindgen_ty_5 = 46;
910pub const __IFLA_BR_MAX: _bindgen_ty_5 = 47;
911pub type _bindgen_ty_5 = u32;
912#[repr(C)]
913#[derive(Debug, Copy, Clone)]
914pub struct ifla_bridge_id {
915 pub prio: [__u8; 2usize],
916 pub addr: [__u8; 6usize],
917}
918pub const BRIDGE_MODE_UNSPEC: _bindgen_ty_6 = 0;
919pub const BRIDGE_MODE_HAIRPIN: _bindgen_ty_6 = 1;
920pub type _bindgen_ty_6 = u32;
921pub const IFLA_BRPORT_UNSPEC: _bindgen_ty_7 = 0;
922pub const IFLA_BRPORT_STATE: _bindgen_ty_7 = 1;
923pub const IFLA_BRPORT_PRIORITY: _bindgen_ty_7 = 2;
924pub const IFLA_BRPORT_COST: _bindgen_ty_7 = 3;
925pub const IFLA_BRPORT_MODE: _bindgen_ty_7 = 4;
926pub const IFLA_BRPORT_GUARD: _bindgen_ty_7 = 5;
927pub const IFLA_BRPORT_PROTECT: _bindgen_ty_7 = 6;
928pub const IFLA_BRPORT_FAST_LEAVE: _bindgen_ty_7 = 7;
929pub const IFLA_BRPORT_LEARNING: _bindgen_ty_7 = 8;
930pub const IFLA_BRPORT_UNICAST_FLOOD: _bindgen_ty_7 = 9;
931pub const IFLA_BRPORT_PROXYARP: _bindgen_ty_7 = 10;
932pub const IFLA_BRPORT_LEARNING_SYNC: _bindgen_ty_7 = 11;
933pub const IFLA_BRPORT_PROXYARP_WIFI: _bindgen_ty_7 = 12;
934pub const IFLA_BRPORT_ROOT_ID: _bindgen_ty_7 = 13;
935pub const IFLA_BRPORT_BRIDGE_ID: _bindgen_ty_7 = 14;
936pub const IFLA_BRPORT_DESIGNATED_PORT: _bindgen_ty_7 = 15;
937pub const IFLA_BRPORT_DESIGNATED_COST: _bindgen_ty_7 = 16;
938pub const IFLA_BRPORT_ID: _bindgen_ty_7 = 17;
939pub const IFLA_BRPORT_NO: _bindgen_ty_7 = 18;
940pub const IFLA_BRPORT_TOPOLOGY_CHANGE_ACK: _bindgen_ty_7 = 19;
941pub const IFLA_BRPORT_CONFIG_PENDING: _bindgen_ty_7 = 20;
942pub const IFLA_BRPORT_MESSAGE_AGE_TIMER: _bindgen_ty_7 = 21;
943pub const IFLA_BRPORT_FORWARD_DELAY_TIMER: _bindgen_ty_7 = 22;
944pub const IFLA_BRPORT_HOLD_TIMER: _bindgen_ty_7 = 23;
945pub const IFLA_BRPORT_FLUSH: _bindgen_ty_7 = 24;
946pub const IFLA_BRPORT_MULTICAST_ROUTER: _bindgen_ty_7 = 25;
947pub const IFLA_BRPORT_PAD: _bindgen_ty_7 = 26;
948pub const IFLA_BRPORT_MCAST_FLOOD: _bindgen_ty_7 = 27;
949pub const IFLA_BRPORT_MCAST_TO_UCAST: _bindgen_ty_7 = 28;
950pub const IFLA_BRPORT_VLAN_TUNNEL: _bindgen_ty_7 = 29;
951pub const IFLA_BRPORT_BCAST_FLOOD: _bindgen_ty_7 = 30;
952pub const IFLA_BRPORT_GROUP_FWD_MASK: _bindgen_ty_7 = 31;
953pub const IFLA_BRPORT_NEIGH_SUPPRESS: _bindgen_ty_7 = 32;
954pub const IFLA_BRPORT_ISOLATED: _bindgen_ty_7 = 33;
955pub const IFLA_BRPORT_BACKUP_PORT: _bindgen_ty_7 = 34;
956pub const __IFLA_BRPORT_MAX: _bindgen_ty_7 = 35;
957pub type _bindgen_ty_7 = u32;
958#[repr(C)]
959#[derive(Debug, Copy, Clone)]
960pub struct ifla_cacheinfo {
961 pub max_reasm_len: __u32,
962 pub tstamp: __u32,
963 pub reachable_time: __u32,
964 pub retrans_time: __u32,
965}
966pub const IFLA_INFO_UNSPEC: _bindgen_ty_8 = 0;
967pub const IFLA_INFO_KIND: _bindgen_ty_8 = 1;
968pub const IFLA_INFO_DATA: _bindgen_ty_8 = 2;
969pub const IFLA_INFO_XSTATS: _bindgen_ty_8 = 3;
970pub const IFLA_INFO_SLAVE_KIND: _bindgen_ty_8 = 4;
971pub const IFLA_INFO_SLAVE_DATA: _bindgen_ty_8 = 5;
972pub const __IFLA_INFO_MAX: _bindgen_ty_8 = 6;
973pub type _bindgen_ty_8 = u32;
974pub const IFLA_VLAN_UNSPEC: _bindgen_ty_9 = 0;
975pub const IFLA_VLAN_ID: _bindgen_ty_9 = 1;
976pub const IFLA_VLAN_FLAGS: _bindgen_ty_9 = 2;
977pub const IFLA_VLAN_EGRESS_QOS: _bindgen_ty_9 = 3;
978pub const IFLA_VLAN_INGRESS_QOS: _bindgen_ty_9 = 4;
979pub const IFLA_VLAN_PROTOCOL: _bindgen_ty_9 = 5;
980pub const __IFLA_VLAN_MAX: _bindgen_ty_9 = 6;
981pub type _bindgen_ty_9 = u32;
982#[repr(C)]
983#[derive(Debug, Copy, Clone)]
984pub struct ifla_vlan_flags {
985 pub flags: __u32,
986 pub mask: __u32,
987}
988pub const IFLA_VLAN_QOS_UNSPEC: _bindgen_ty_10 = 0;
989pub const IFLA_VLAN_QOS_MAPPING: _bindgen_ty_10 = 1;
990pub const __IFLA_VLAN_QOS_MAX: _bindgen_ty_10 = 2;
991pub type _bindgen_ty_10 = u32;
992#[repr(C)]
993#[derive(Debug, Copy, Clone)]
994pub struct ifla_vlan_qos_mapping {
995 pub from: __u32,
996 pub to: __u32,
997}
998pub const IFLA_MACVLAN_UNSPEC: _bindgen_ty_11 = 0;
999pub const IFLA_MACVLAN_MODE: _bindgen_ty_11 = 1;
1000pub const IFLA_MACVLAN_FLAGS: _bindgen_ty_11 = 2;
1001pub const IFLA_MACVLAN_MACADDR_MODE: _bindgen_ty_11 = 3;
1002pub const IFLA_MACVLAN_MACADDR: _bindgen_ty_11 = 4;
1003pub const IFLA_MACVLAN_MACADDR_DATA: _bindgen_ty_11 = 5;
1004pub const IFLA_MACVLAN_MACADDR_COUNT: _bindgen_ty_11 = 6;
1005pub const __IFLA_MACVLAN_MAX: _bindgen_ty_11 = 7;
1006pub type _bindgen_ty_11 = u32;
1007pub const macvlan_mode_MACVLAN_MODE_PRIVATE: macvlan_mode = 1;
1008pub const macvlan_mode_MACVLAN_MODE_VEPA: macvlan_mode = 2;
1009pub const macvlan_mode_MACVLAN_MODE_BRIDGE: macvlan_mode = 4;
1010pub const macvlan_mode_MACVLAN_MODE_PASSTHRU: macvlan_mode = 8;
1011pub const macvlan_mode_MACVLAN_MODE_SOURCE: macvlan_mode = 16;
1012pub type macvlan_mode = u32;
1013pub const macvlan_macaddr_mode_MACVLAN_MACADDR_ADD: macvlan_macaddr_mode = 0;
1014pub const macvlan_macaddr_mode_MACVLAN_MACADDR_DEL: macvlan_macaddr_mode = 1;
1015pub const macvlan_macaddr_mode_MACVLAN_MACADDR_FLUSH: macvlan_macaddr_mode = 2;
1016pub const macvlan_macaddr_mode_MACVLAN_MACADDR_SET: macvlan_macaddr_mode = 3;
1017pub type macvlan_macaddr_mode = u32;
1018pub const IFLA_VRF_UNSPEC: _bindgen_ty_12 = 0;
1019pub const IFLA_VRF_TABLE: _bindgen_ty_12 = 1;
1020pub const __IFLA_VRF_MAX: _bindgen_ty_12 = 2;
1021pub type _bindgen_ty_12 = u32;
1022pub const IFLA_VRF_PORT_UNSPEC: _bindgen_ty_13 = 0;
1023pub const IFLA_VRF_PORT_TABLE: _bindgen_ty_13 = 1;
1024pub const __IFLA_VRF_PORT_MAX: _bindgen_ty_13 = 2;
1025pub type _bindgen_ty_13 = u32;
1026pub const IFLA_MACSEC_UNSPEC: _bindgen_ty_14 = 0;
1027pub const IFLA_MACSEC_SCI: _bindgen_ty_14 = 1;
1028pub const IFLA_MACSEC_PORT: _bindgen_ty_14 = 2;
1029pub const IFLA_MACSEC_ICV_LEN: _bindgen_ty_14 = 3;
1030pub const IFLA_MACSEC_CIPHER_SUITE: _bindgen_ty_14 = 4;
1031pub const IFLA_MACSEC_WINDOW: _bindgen_ty_14 = 5;
1032pub const IFLA_MACSEC_ENCODING_SA: _bindgen_ty_14 = 6;
1033pub const IFLA_MACSEC_ENCRYPT: _bindgen_ty_14 = 7;
1034pub const IFLA_MACSEC_PROTECT: _bindgen_ty_14 = 8;
1035pub const IFLA_MACSEC_INC_SCI: _bindgen_ty_14 = 9;
1036pub const IFLA_MACSEC_ES: _bindgen_ty_14 = 10;
1037pub const IFLA_MACSEC_SCB: _bindgen_ty_14 = 11;
1038pub const IFLA_MACSEC_REPLAY_PROTECT: _bindgen_ty_14 = 12;
1039pub const IFLA_MACSEC_VALIDATION: _bindgen_ty_14 = 13;
1040pub const IFLA_MACSEC_PAD: _bindgen_ty_14 = 14;
1041pub const __IFLA_MACSEC_MAX: _bindgen_ty_14 = 15;
1042pub type _bindgen_ty_14 = u32;
1043pub const IFLA_XFRM_UNSPEC: _bindgen_ty_15 = 0;
1044pub const IFLA_XFRM_LINK: _bindgen_ty_15 = 1;
1045pub const IFLA_XFRM_IF_ID: _bindgen_ty_15 = 2;
1046pub const __IFLA_XFRM_MAX: _bindgen_ty_15 = 3;
1047pub type _bindgen_ty_15 = u32;
1048pub const macsec_validation_type_MACSEC_VALIDATE_DISABLED: macsec_validation_type = 0;
1049pub const macsec_validation_type_MACSEC_VALIDATE_CHECK: macsec_validation_type = 1;
1050pub const macsec_validation_type_MACSEC_VALIDATE_STRICT: macsec_validation_type = 2;
1051pub const macsec_validation_type___MACSEC_VALIDATE_END: macsec_validation_type = 3;
1052pub const macsec_validation_type_MACSEC_VALIDATE_MAX: macsec_validation_type = 2;
1053pub type macsec_validation_type = u32;
1054pub const macsec_offload_MACSEC_OFFLOAD_OFF: macsec_offload = 0;
1055pub const macsec_offload_MACSEC_OFFLOAD_PHY: macsec_offload = 1;
1056pub const macsec_offload___MACSEC_OFFLOAD_END: macsec_offload = 2;
1057pub const macsec_offload_MACSEC_OFFLOAD_MAX: macsec_offload = 1;
1058pub type macsec_offload = u32;
1059pub const IFLA_IPVLAN_UNSPEC: _bindgen_ty_16 = 0;
1060pub const IFLA_IPVLAN_MODE: _bindgen_ty_16 = 1;
1061pub const IFLA_IPVLAN_FLAGS: _bindgen_ty_16 = 2;
1062pub const __IFLA_IPVLAN_MAX: _bindgen_ty_16 = 3;
1063pub type _bindgen_ty_16 = u32;
1064pub const ipvlan_mode_IPVLAN_MODE_L2: ipvlan_mode = 0;
1065pub const ipvlan_mode_IPVLAN_MODE_L3: ipvlan_mode = 1;
1066pub const ipvlan_mode_IPVLAN_MODE_L3S: ipvlan_mode = 2;
1067pub const ipvlan_mode_IPVLAN_MODE_MAX: ipvlan_mode = 3;
1068pub type ipvlan_mode = u32;
1069pub const IFLA_VXLAN_UNSPEC: _bindgen_ty_17 = 0;
1070pub const IFLA_VXLAN_ID: _bindgen_ty_17 = 1;
1071pub const IFLA_VXLAN_GROUP: _bindgen_ty_17 = 2;
1072pub const IFLA_VXLAN_LINK: _bindgen_ty_17 = 3;
1073pub const IFLA_VXLAN_LOCAL: _bindgen_ty_17 = 4;
1074pub const IFLA_VXLAN_TTL: _bindgen_ty_17 = 5;
1075pub const IFLA_VXLAN_TOS: _bindgen_ty_17 = 6;
1076pub const IFLA_VXLAN_LEARNING: _bindgen_ty_17 = 7;
1077pub const IFLA_VXLAN_AGEING: _bindgen_ty_17 = 8;
1078pub const IFLA_VXLAN_LIMIT: _bindgen_ty_17 = 9;
1079pub const IFLA_VXLAN_PORT_RANGE: _bindgen_ty_17 = 10;
1080pub const IFLA_VXLAN_PROXY: _bindgen_ty_17 = 11;
1081pub const IFLA_VXLAN_RSC: _bindgen_ty_17 = 12;
1082pub const IFLA_VXLAN_L2MISS: _bindgen_ty_17 = 13;
1083pub const IFLA_VXLAN_L3MISS: _bindgen_ty_17 = 14;
1084pub const IFLA_VXLAN_PORT: _bindgen_ty_17 = 15;
1085pub const IFLA_VXLAN_GROUP6: _bindgen_ty_17 = 16;
1086pub const IFLA_VXLAN_LOCAL6: _bindgen_ty_17 = 17;
1087pub const IFLA_VXLAN_UDP_CSUM: _bindgen_ty_17 = 18;
1088pub const IFLA_VXLAN_UDP_ZERO_CSUM6_TX: _bindgen_ty_17 = 19;
1089pub const IFLA_VXLAN_UDP_ZERO_CSUM6_RX: _bindgen_ty_17 = 20;
1090pub const IFLA_VXLAN_REMCSUM_TX: _bindgen_ty_17 = 21;
1091pub const IFLA_VXLAN_REMCSUM_RX: _bindgen_ty_17 = 22;
1092pub const IFLA_VXLAN_GBP: _bindgen_ty_17 = 23;
1093pub const IFLA_VXLAN_REMCSUM_NOPARTIAL: _bindgen_ty_17 = 24;
1094pub const IFLA_VXLAN_COLLECT_METADATA: _bindgen_ty_17 = 25;
1095pub const IFLA_VXLAN_LABEL: _bindgen_ty_17 = 26;
1096pub const IFLA_VXLAN_GPE: _bindgen_ty_17 = 27;
1097pub const IFLA_VXLAN_TTL_INHERIT: _bindgen_ty_17 = 28;
1098pub const IFLA_VXLAN_DF: _bindgen_ty_17 = 29;
1099pub const __IFLA_VXLAN_MAX: _bindgen_ty_17 = 30;
1100pub type _bindgen_ty_17 = u32;
1101#[repr(C)]
1102#[derive(Debug, Copy, Clone)]
1103pub struct ifla_vxlan_port_range {
1104 pub low: __be16,
1105 pub high: __be16,
1106}
1107pub const ifla_vxlan_df_VXLAN_DF_UNSET: ifla_vxlan_df = 0;
1108pub const ifla_vxlan_df_VXLAN_DF_SET: ifla_vxlan_df = 1;
1109pub const ifla_vxlan_df_VXLAN_DF_INHERIT: ifla_vxlan_df = 2;
1110pub const ifla_vxlan_df___VXLAN_DF_END: ifla_vxlan_df = 3;
1111pub const ifla_vxlan_df_VXLAN_DF_MAX: ifla_vxlan_df = 2;
1112pub type ifla_vxlan_df = u32;
1113pub const IFLA_GENEVE_UNSPEC: _bindgen_ty_18 = 0;
1114pub const IFLA_GENEVE_ID: _bindgen_ty_18 = 1;
1115pub const IFLA_GENEVE_REMOTE: _bindgen_ty_18 = 2;
1116pub const IFLA_GENEVE_TTL: _bindgen_ty_18 = 3;
1117pub const IFLA_GENEVE_TOS: _bindgen_ty_18 = 4;
1118pub const IFLA_GENEVE_PORT: _bindgen_ty_18 = 5;
1119pub const IFLA_GENEVE_COLLECT_METADATA: _bindgen_ty_18 = 6;
1120pub const IFLA_GENEVE_REMOTE6: _bindgen_ty_18 = 7;
1121pub const IFLA_GENEVE_UDP_CSUM: _bindgen_ty_18 = 8;
1122pub const IFLA_GENEVE_UDP_ZERO_CSUM6_TX: _bindgen_ty_18 = 9;
1123pub const IFLA_GENEVE_UDP_ZERO_CSUM6_RX: _bindgen_ty_18 = 10;
1124pub const IFLA_GENEVE_LABEL: _bindgen_ty_18 = 11;
1125pub const IFLA_GENEVE_TTL_INHERIT: _bindgen_ty_18 = 12;
1126pub const IFLA_GENEVE_DF: _bindgen_ty_18 = 13;
1127pub const __IFLA_GENEVE_MAX: _bindgen_ty_18 = 14;
1128pub type _bindgen_ty_18 = u32;
1129pub const ifla_geneve_df_GENEVE_DF_UNSET: ifla_geneve_df = 0;
1130pub const ifla_geneve_df_GENEVE_DF_SET: ifla_geneve_df = 1;
1131pub const ifla_geneve_df_GENEVE_DF_INHERIT: ifla_geneve_df = 2;
1132pub const ifla_geneve_df___GENEVE_DF_END: ifla_geneve_df = 3;
1133pub const ifla_geneve_df_GENEVE_DF_MAX: ifla_geneve_df = 2;
1134pub type ifla_geneve_df = u32;
1135pub const IFLA_PPP_UNSPEC: _bindgen_ty_19 = 0;
1136pub const IFLA_PPP_DEV_FD: _bindgen_ty_19 = 1;
1137pub const __IFLA_PPP_MAX: _bindgen_ty_19 = 2;
1138pub type _bindgen_ty_19 = u32;
1139pub const ifla_gtp_role_GTP_ROLE_GGSN: ifla_gtp_role = 0;
1140pub const ifla_gtp_role_GTP_ROLE_SGSN: ifla_gtp_role = 1;
1141pub type ifla_gtp_role = u32;
1142pub const IFLA_GTP_UNSPEC: _bindgen_ty_20 = 0;
1143pub const IFLA_GTP_FD0: _bindgen_ty_20 = 1;
1144pub const IFLA_GTP_FD1: _bindgen_ty_20 = 2;
1145pub const IFLA_GTP_PDP_HASHSIZE: _bindgen_ty_20 = 3;
1146pub const IFLA_GTP_ROLE: _bindgen_ty_20 = 4;
1147pub const __IFLA_GTP_MAX: _bindgen_ty_20 = 5;
1148pub type _bindgen_ty_20 = u32;
1149pub const IFLA_BOND_UNSPEC: _bindgen_ty_21 = 0;
1150pub const IFLA_BOND_MODE: _bindgen_ty_21 = 1;
1151pub const IFLA_BOND_ACTIVE_SLAVE: _bindgen_ty_21 = 2;
1152pub const IFLA_BOND_MIIMON: _bindgen_ty_21 = 3;
1153pub const IFLA_BOND_UPDELAY: _bindgen_ty_21 = 4;
1154pub const IFLA_BOND_DOWNDELAY: _bindgen_ty_21 = 5;
1155pub const IFLA_BOND_USE_CARRIER: _bindgen_ty_21 = 6;
1156pub const IFLA_BOND_ARP_INTERVAL: _bindgen_ty_21 = 7;
1157pub const IFLA_BOND_ARP_IP_TARGET: _bindgen_ty_21 = 8;
1158pub const IFLA_BOND_ARP_VALIDATE: _bindgen_ty_21 = 9;
1159pub const IFLA_BOND_ARP_ALL_TARGETS: _bindgen_ty_21 = 10;
1160pub const IFLA_BOND_PRIMARY: _bindgen_ty_21 = 11;
1161pub const IFLA_BOND_PRIMARY_RESELECT: _bindgen_ty_21 = 12;
1162pub const IFLA_BOND_FAIL_OVER_MAC: _bindgen_ty_21 = 13;
1163pub const IFLA_BOND_XMIT_HASH_POLICY: _bindgen_ty_21 = 14;
1164pub const IFLA_BOND_RESEND_IGMP: _bindgen_ty_21 = 15;
1165pub const IFLA_BOND_NUM_PEER_NOTIF: _bindgen_ty_21 = 16;
1166pub const IFLA_BOND_ALL_SLAVES_ACTIVE: _bindgen_ty_21 = 17;
1167pub const IFLA_BOND_MIN_LINKS: _bindgen_ty_21 = 18;
1168pub const IFLA_BOND_LP_INTERVAL: _bindgen_ty_21 = 19;
1169pub const IFLA_BOND_PACKETS_PER_SLAVE: _bindgen_ty_21 = 20;
1170pub const IFLA_BOND_AD_LACP_RATE: _bindgen_ty_21 = 21;
1171pub const IFLA_BOND_AD_SELECT: _bindgen_ty_21 = 22;
1172pub const IFLA_BOND_AD_INFO: _bindgen_ty_21 = 23;
1173pub const IFLA_BOND_AD_ACTOR_SYS_PRIO: _bindgen_ty_21 = 24;
1174pub const IFLA_BOND_AD_USER_PORT_KEY: _bindgen_ty_21 = 25;
1175pub const IFLA_BOND_AD_ACTOR_SYSTEM: _bindgen_ty_21 = 26;
1176pub const IFLA_BOND_TLB_DYNAMIC_LB: _bindgen_ty_21 = 27;
1177pub const IFLA_BOND_PEER_NOTIF_DELAY: _bindgen_ty_21 = 28;
1178pub const __IFLA_BOND_MAX: _bindgen_ty_21 = 29;
1179pub type _bindgen_ty_21 = u32;
1180pub const IFLA_BOND_AD_INFO_UNSPEC: _bindgen_ty_22 = 0;
1181pub const IFLA_BOND_AD_INFO_AGGREGATOR: _bindgen_ty_22 = 1;
1182pub const IFLA_BOND_AD_INFO_NUM_PORTS: _bindgen_ty_22 = 2;
1183pub const IFLA_BOND_AD_INFO_ACTOR_KEY: _bindgen_ty_22 = 3;
1184pub const IFLA_BOND_AD_INFO_PARTNER_KEY: _bindgen_ty_22 = 4;
1185pub const IFLA_BOND_AD_INFO_PARTNER_MAC: _bindgen_ty_22 = 5;
1186pub const __IFLA_BOND_AD_INFO_MAX: _bindgen_ty_22 = 6;
1187pub type _bindgen_ty_22 = u32;
1188pub const IFLA_BOND_SLAVE_UNSPEC: _bindgen_ty_23 = 0;
1189pub const IFLA_BOND_SLAVE_STATE: _bindgen_ty_23 = 1;
1190pub const IFLA_BOND_SLAVE_MII_STATUS: _bindgen_ty_23 = 2;
1191pub const IFLA_BOND_SLAVE_LINK_FAILURE_COUNT: _bindgen_ty_23 = 3;
1192pub const IFLA_BOND_SLAVE_PERM_HWADDR: _bindgen_ty_23 = 4;
1193pub const IFLA_BOND_SLAVE_QUEUE_ID: _bindgen_ty_23 = 5;
1194pub const IFLA_BOND_SLAVE_AD_AGGREGATOR_ID: _bindgen_ty_23 = 6;
1195pub const IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE: _bindgen_ty_23 = 7;
1196pub const IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE: _bindgen_ty_23 = 8;
1197pub const __IFLA_BOND_SLAVE_MAX: _bindgen_ty_23 = 9;
1198pub type _bindgen_ty_23 = u32;
1199pub const IFLA_VF_INFO_UNSPEC: _bindgen_ty_24 = 0;
1200pub const IFLA_VF_INFO: _bindgen_ty_24 = 1;
1201pub const __IFLA_VF_INFO_MAX: _bindgen_ty_24 = 2;
1202pub type _bindgen_ty_24 = u32;
1203pub const IFLA_VF_UNSPEC: _bindgen_ty_25 = 0;
1204pub const IFLA_VF_MAC: _bindgen_ty_25 = 1;
1205pub const IFLA_VF_VLAN: _bindgen_ty_25 = 2;
1206pub const IFLA_VF_TX_RATE: _bindgen_ty_25 = 3;
1207pub const IFLA_VF_SPOOFCHK: _bindgen_ty_25 = 4;
1208pub const IFLA_VF_LINK_STATE: _bindgen_ty_25 = 5;
1209pub const IFLA_VF_RATE: _bindgen_ty_25 = 6;
1210pub const IFLA_VF_RSS_QUERY_EN: _bindgen_ty_25 = 7;
1211pub const IFLA_VF_STATS: _bindgen_ty_25 = 8;
1212pub const IFLA_VF_TRUST: _bindgen_ty_25 = 9;
1213pub const IFLA_VF_IB_NODE_GUID: _bindgen_ty_25 = 10;
1214pub const IFLA_VF_IB_PORT_GUID: _bindgen_ty_25 = 11;
1215pub const IFLA_VF_VLAN_LIST: _bindgen_ty_25 = 12;
1216pub const IFLA_VF_BROADCAST: _bindgen_ty_25 = 13;
1217pub const __IFLA_VF_MAX: _bindgen_ty_25 = 14;
1218pub type _bindgen_ty_25 = u32;
1219#[repr(C)]
1220#[derive(Debug, Copy, Clone)]
1221pub struct ifla_vf_mac {
1222 pub vf: __u32,
1223 pub mac: [__u8; 32usize],
1224}
1225#[repr(C)]
1226#[derive(Debug, Copy, Clone)]
1227pub struct ifla_vf_broadcast {
1228 pub broadcast: [__u8; 32usize],
1229}
1230#[repr(C)]
1231#[derive(Debug, Copy, Clone)]
1232pub struct ifla_vf_vlan {
1233 pub vf: __u32,
1234 pub vlan: __u32,
1235 pub qos: __u32,
1236}
1237pub const IFLA_VF_VLAN_INFO_UNSPEC: _bindgen_ty_26 = 0;
1238pub const IFLA_VF_VLAN_INFO: _bindgen_ty_26 = 1;
1239pub const __IFLA_VF_VLAN_INFO_MAX: _bindgen_ty_26 = 2;
1240pub type _bindgen_ty_26 = u32;
1241#[repr(C)]
1242#[derive(Debug, Copy, Clone)]
1243pub struct ifla_vf_vlan_info {
1244 pub vf: __u32,
1245 pub vlan: __u32,
1246 pub qos: __u32,
1247 pub vlan_proto: __be16,
1248}
1249#[repr(C)]
1250#[derive(Debug, Copy, Clone)]
1251pub struct ifla_vf_tx_rate {
1252 pub vf: __u32,
1253 pub rate: __u32,
1254}
1255#[repr(C)]
1256#[derive(Debug, Copy, Clone)]
1257pub struct ifla_vf_rate {
1258 pub vf: __u32,
1259 pub min_tx_rate: __u32,
1260 pub max_tx_rate: __u32,
1261}
1262#[repr(C)]
1263#[derive(Debug, Copy, Clone)]
1264pub struct ifla_vf_spoofchk {
1265 pub vf: __u32,
1266 pub setting: __u32,
1267}
1268#[repr(C)]
1269#[derive(Debug, Copy, Clone)]
1270pub struct ifla_vf_guid {
1271 pub vf: __u32,
1272 pub guid: __u64,
1273}
1274pub const IFLA_VF_LINK_STATE_AUTO: _bindgen_ty_27 = 0;
1275pub const IFLA_VF_LINK_STATE_ENABLE: _bindgen_ty_27 = 1;
1276pub const IFLA_VF_LINK_STATE_DISABLE: _bindgen_ty_27 = 2;
1277pub const __IFLA_VF_LINK_STATE_MAX: _bindgen_ty_27 = 3;
1278pub type _bindgen_ty_27 = u32;
1279#[repr(C)]
1280#[derive(Debug, Copy, Clone)]
1281pub struct ifla_vf_link_state {
1282 pub vf: __u32,
1283 pub link_state: __u32,
1284}
1285#[repr(C)]
1286#[derive(Debug, Copy, Clone)]
1287pub struct ifla_vf_rss_query_en {
1288 pub vf: __u32,
1289 pub setting: __u32,
1290}
1291pub const IFLA_VF_STATS_RX_PACKETS: _bindgen_ty_28 = 0;
1292pub const IFLA_VF_STATS_TX_PACKETS: _bindgen_ty_28 = 1;
1293pub const IFLA_VF_STATS_RX_BYTES: _bindgen_ty_28 = 2;
1294pub const IFLA_VF_STATS_TX_BYTES: _bindgen_ty_28 = 3;
1295pub const IFLA_VF_STATS_BROADCAST: _bindgen_ty_28 = 4;
1296pub const IFLA_VF_STATS_MULTICAST: _bindgen_ty_28 = 5;
1297pub const IFLA_VF_STATS_PAD: _bindgen_ty_28 = 6;
1298pub const IFLA_VF_STATS_RX_DROPPED: _bindgen_ty_28 = 7;
1299pub const IFLA_VF_STATS_TX_DROPPED: _bindgen_ty_28 = 8;
1300pub const __IFLA_VF_STATS_MAX: _bindgen_ty_28 = 9;
1301pub type _bindgen_ty_28 = u32;
1302#[repr(C)]
1303#[derive(Debug, Copy, Clone)]
1304pub struct ifla_vf_trust {
1305 pub vf: __u32,
1306 pub setting: __u32,
1307}
1308pub const IFLA_VF_PORT_UNSPEC: _bindgen_ty_29 = 0;
1309pub const IFLA_VF_PORT: _bindgen_ty_29 = 1;
1310pub const __IFLA_VF_PORT_MAX: _bindgen_ty_29 = 2;
1311pub type _bindgen_ty_29 = u32;
1312pub const IFLA_PORT_UNSPEC: _bindgen_ty_30 = 0;
1313pub const IFLA_PORT_VF: _bindgen_ty_30 = 1;
1314pub const IFLA_PORT_PROFILE: _bindgen_ty_30 = 2;
1315pub const IFLA_PORT_VSI_TYPE: _bindgen_ty_30 = 3;
1316pub const IFLA_PORT_INSTANCE_UUID: _bindgen_ty_30 = 4;
1317pub const IFLA_PORT_HOST_UUID: _bindgen_ty_30 = 5;
1318pub const IFLA_PORT_REQUEST: _bindgen_ty_30 = 6;
1319pub const IFLA_PORT_RESPONSE: _bindgen_ty_30 = 7;
1320pub const __IFLA_PORT_MAX: _bindgen_ty_30 = 8;
1321pub type _bindgen_ty_30 = u32;
1322pub const PORT_REQUEST_PREASSOCIATE: _bindgen_ty_31 = 0;
1323pub const PORT_REQUEST_PREASSOCIATE_RR: _bindgen_ty_31 = 1;
1324pub const PORT_REQUEST_ASSOCIATE: _bindgen_ty_31 = 2;
1325pub const PORT_REQUEST_DISASSOCIATE: _bindgen_ty_31 = 3;
1326pub type _bindgen_ty_31 = u32;
1327pub const PORT_VDP_RESPONSE_SUCCESS: _bindgen_ty_32 = 0;
1328pub const PORT_VDP_RESPONSE_INVALID_FORMAT: _bindgen_ty_32 = 1;
1329pub const PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES: _bindgen_ty_32 = 2;
1330pub const PORT_VDP_RESPONSE_UNUSED_VTID: _bindgen_ty_32 = 3;
1331pub const PORT_VDP_RESPONSE_VTID_VIOLATION: _bindgen_ty_32 = 4;
1332pub const PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION: _bindgen_ty_32 = 5;
1333pub const PORT_VDP_RESPONSE_OUT_OF_SYNC: _bindgen_ty_32 = 6;
1334pub const PORT_PROFILE_RESPONSE_SUCCESS: _bindgen_ty_32 = 256;
1335pub const PORT_PROFILE_RESPONSE_INPROGRESS: _bindgen_ty_32 = 257;
1336pub const PORT_PROFILE_RESPONSE_INVALID: _bindgen_ty_32 = 258;
1337pub const PORT_PROFILE_RESPONSE_BADSTATE: _bindgen_ty_32 = 259;
1338pub const PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES: _bindgen_ty_32 = 260;
1339pub const PORT_PROFILE_RESPONSE_ERROR: _bindgen_ty_32 = 261;
1340pub type _bindgen_ty_32 = u32;
1341#[repr(C)]
1342#[derive(Debug, Copy, Clone)]
1343pub struct ifla_port_vsi {
1344 pub vsi_mgr_id: __u8,
1345 pub vsi_type_id: [__u8; 3usize],
1346 pub vsi_type_version: __u8,
1347 pub pad: [__u8; 3usize],
1348}
1349pub const IFLA_IPOIB_UNSPEC: _bindgen_ty_33 = 0;
1350pub const IFLA_IPOIB_PKEY: _bindgen_ty_33 = 1;
1351pub const IFLA_IPOIB_MODE: _bindgen_ty_33 = 2;
1352pub const IFLA_IPOIB_UMCAST: _bindgen_ty_33 = 3;
1353pub const __IFLA_IPOIB_MAX: _bindgen_ty_33 = 4;
1354pub type _bindgen_ty_33 = u32;
1355pub const IPOIB_MODE_DATAGRAM: _bindgen_ty_34 = 0;
1356pub const IPOIB_MODE_CONNECTED: _bindgen_ty_34 = 1;
1357pub type _bindgen_ty_34 = u32;
1358pub const IFLA_HSR_UNSPEC: _bindgen_ty_35 = 0;
1359pub const IFLA_HSR_SLAVE1: _bindgen_ty_35 = 1;
1360pub const IFLA_HSR_SLAVE2: _bindgen_ty_35 = 2;
1361pub const IFLA_HSR_MULTICAST_SPEC: _bindgen_ty_35 = 3;
1362pub const IFLA_HSR_SUPERVISION_ADDR: _bindgen_ty_35 = 4;
1363pub const IFLA_HSR_SEQ_NR: _bindgen_ty_35 = 5;
1364pub const IFLA_HSR_VERSION: _bindgen_ty_35 = 6;
1365pub const __IFLA_HSR_MAX: _bindgen_ty_35 = 7;
1366pub type _bindgen_ty_35 = u32;
1367#[repr(C)]
1368#[derive(Debug, Copy, Clone)]
1369pub struct if_stats_msg {
1370 pub family: __u8,
1371 pub pad1: __u8,
1372 pub pad2: __u16,
1373 pub ifindex: __u32,
1374 pub filter_mask: __u32,
1375}
1376pub const IFLA_STATS_UNSPEC: _bindgen_ty_36 = 0;
1377pub const IFLA_STATS_LINK_64: _bindgen_ty_36 = 1;
1378pub const IFLA_STATS_LINK_XSTATS: _bindgen_ty_36 = 2;
1379pub const IFLA_STATS_LINK_XSTATS_SLAVE: _bindgen_ty_36 = 3;
1380pub const IFLA_STATS_LINK_OFFLOAD_XSTATS: _bindgen_ty_36 = 4;
1381pub const IFLA_STATS_AF_SPEC: _bindgen_ty_36 = 5;
1382pub const __IFLA_STATS_MAX: _bindgen_ty_36 = 6;
1383pub type _bindgen_ty_36 = u32;
1384pub const LINK_XSTATS_TYPE_UNSPEC: _bindgen_ty_37 = 0;
1385pub const LINK_XSTATS_TYPE_BRIDGE: _bindgen_ty_37 = 1;
1386pub const LINK_XSTATS_TYPE_BOND: _bindgen_ty_37 = 2;
1387pub const __LINK_XSTATS_TYPE_MAX: _bindgen_ty_37 = 3;
1388pub type _bindgen_ty_37 = u32;
1389pub const IFLA_OFFLOAD_XSTATS_UNSPEC: _bindgen_ty_38 = 0;
1390pub const IFLA_OFFLOAD_XSTATS_CPU_HIT: _bindgen_ty_38 = 1;
1391pub const __IFLA_OFFLOAD_XSTATS_MAX: _bindgen_ty_38 = 2;
1392pub type _bindgen_ty_38 = u32;
1393pub const XDP_ATTACHED_NONE: _bindgen_ty_39 = 0;
1394pub const XDP_ATTACHED_DRV: _bindgen_ty_39 = 1;
1395pub const XDP_ATTACHED_SKB: _bindgen_ty_39 = 2;
1396pub const XDP_ATTACHED_HW: _bindgen_ty_39 = 3;
1397pub const XDP_ATTACHED_MULTI: _bindgen_ty_39 = 4;
1398pub type _bindgen_ty_39 = u32;
1399pub const IFLA_XDP_UNSPEC: _bindgen_ty_40 = 0;
1400pub const IFLA_XDP_FD: _bindgen_ty_40 = 1;
1401pub const IFLA_XDP_ATTACHED: _bindgen_ty_40 = 2;
1402pub const IFLA_XDP_FLAGS: _bindgen_ty_40 = 3;
1403pub const IFLA_XDP_PROG_ID: _bindgen_ty_40 = 4;
1404pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_40 = 5;
1405pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_40 = 6;
1406pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_40 = 7;
1407pub const __IFLA_XDP_MAX: _bindgen_ty_40 = 8;
1408pub type _bindgen_ty_40 = u32;
1409pub const IFLA_EVENT_NONE: _bindgen_ty_41 = 0;
1410pub const IFLA_EVENT_REBOOT: _bindgen_ty_41 = 1;
1411pub const IFLA_EVENT_FEATURES: _bindgen_ty_41 = 2;
1412pub const IFLA_EVENT_BONDING_FAILOVER: _bindgen_ty_41 = 3;
1413pub const IFLA_EVENT_NOTIFY_PEERS: _bindgen_ty_41 = 4;
1414pub const IFLA_EVENT_IGMP_RESEND: _bindgen_ty_41 = 5;
1415pub const IFLA_EVENT_BONDING_OPTIONS: _bindgen_ty_41 = 6;
1416pub type _bindgen_ty_41 = u32;
1417pub const IFLA_TUN_UNSPEC: _bindgen_ty_42 = 0;
1418pub const IFLA_TUN_OWNER: _bindgen_ty_42 = 1;
1419pub const IFLA_TUN_GROUP: _bindgen_ty_42 = 2;
1420pub const IFLA_TUN_TYPE: _bindgen_ty_42 = 3;
1421pub const IFLA_TUN_PI: _bindgen_ty_42 = 4;
1422pub const IFLA_TUN_VNET_HDR: _bindgen_ty_42 = 5;
1423pub const IFLA_TUN_PERSIST: _bindgen_ty_42 = 6;
1424pub const IFLA_TUN_MULTI_QUEUE: _bindgen_ty_42 = 7;
1425pub const IFLA_TUN_NUM_QUEUES: _bindgen_ty_42 = 8;
1426pub const IFLA_TUN_NUM_DISABLED_QUEUES: _bindgen_ty_42 = 9;
1427pub const __IFLA_TUN_MAX: _bindgen_ty_42 = 10;
1428pub type _bindgen_ty_42 = u32;
1429pub const IFLA_RMNET_UNSPEC: _bindgen_ty_43 = 0;
1430pub const IFLA_RMNET_MUX_ID: _bindgen_ty_43 = 1;
1431pub const IFLA_RMNET_FLAGS: _bindgen_ty_43 = 2;
1432pub const __IFLA_RMNET_MAX: _bindgen_ty_43 = 3;
1433pub type _bindgen_ty_43 = u32;
1434#[repr(C)]
1435#[derive(Debug, Copy, Clone)]
1436pub struct ifla_rmnet_flags {
1437 pub flags: __u32,
1438 pub mask: __u32,
1439}
1440pub const BPF_REG_0: _bindgen_ty_44 = 0;
1441pub const BPF_REG_1: _bindgen_ty_44 = 1;
1442pub const BPF_REG_2: _bindgen_ty_44 = 2;
1443pub const BPF_REG_3: _bindgen_ty_44 = 3;
1444pub const BPF_REG_4: _bindgen_ty_44 = 4;
1445pub const BPF_REG_5: _bindgen_ty_44 = 5;
1446pub const BPF_REG_6: _bindgen_ty_44 = 6;
1447pub const BPF_REG_7: _bindgen_ty_44 = 7;
1448pub const BPF_REG_8: _bindgen_ty_44 = 8;
1449pub const BPF_REG_9: _bindgen_ty_44 = 9;
1450pub const BPF_REG_10: _bindgen_ty_44 = 10;
1451pub const __MAX_BPF_REG: _bindgen_ty_44 = 11;
1452pub type _bindgen_ty_44 = u32;
1453#[repr(C)]
1454#[derive(Debug, Copy, Clone)]
1455pub struct bpf_insn {
1456 pub code: __u8,
1457 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
1458 pub off: __s16,
1459 pub imm: __s32,
1460}
1461impl bpf_insn {
1462 #[inline]
1463 pub fn dst_reg(&self) -> __u8 {
1464 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
1465 }
1466 #[inline]
1467 pub fn set_dst_reg(&mut self, val: __u8) {
1468 unsafe {
1469 let val: u8 = ::std::mem::transmute(val);
1470 self._bitfield_1.set(0usize, 4u8, val as u64)
1471 }
1472 }
1473 #[inline]
1474 pub fn src_reg(&self) -> __u8 {
1475 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
1476 }
1477 #[inline]
1478 pub fn set_src_reg(&mut self, val: __u8) {
1479 unsafe {
1480 let val: u8 = ::std::mem::transmute(val);
1481 self._bitfield_1.set(4usize, 4u8, val as u64)
1482 }
1483 }
1484 #[inline]
1485 pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
1486 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
1487 Default::default();
1488 __bindgen_bitfield_unit.set(0usize, 4u8, {
1489 let dst_reg: u8 = unsafe { ::std::mem::transmute(dst_reg) };
1490 dst_reg as u64
1491 });
1492 __bindgen_bitfield_unit.set(4usize, 4u8, {
1493 let src_reg: u8 = unsafe { ::std::mem::transmute(src_reg) };
1494 src_reg as u64
1495 });
1496 __bindgen_bitfield_unit
1497 }
1498}
1499#[repr(C)]
1500#[derive(Debug)]
1501pub struct bpf_lpm_trie_key {
1502 pub prefixlen: __u32,
1503 pub data: __IncompleteArrayField<__u8>,
1504}
1505#[repr(C)]
1506#[derive(Debug, Copy, Clone)]
1507pub struct bpf_cgroup_storage_key {
1508 pub cgroup_inode_id: __u64,
1509 pub attach_type: __u32,
1510}
1511pub const bpf_cmd_BPF_MAP_CREATE: bpf_cmd = 0;
1512pub const bpf_cmd_BPF_MAP_LOOKUP_ELEM: bpf_cmd = 1;
1513pub const bpf_cmd_BPF_MAP_UPDATE_ELEM: bpf_cmd = 2;
1514pub const bpf_cmd_BPF_MAP_DELETE_ELEM: bpf_cmd = 3;
1515pub const bpf_cmd_BPF_MAP_GET_NEXT_KEY: bpf_cmd = 4;
1516pub const bpf_cmd_BPF_PROG_LOAD: bpf_cmd = 5;
1517pub const bpf_cmd_BPF_OBJ_PIN: bpf_cmd = 6;
1518pub const bpf_cmd_BPF_OBJ_GET: bpf_cmd = 7;
1519pub const bpf_cmd_BPF_PROG_ATTACH: bpf_cmd = 8;
1520pub const bpf_cmd_BPF_PROG_DETACH: bpf_cmd = 9;
1521pub const bpf_cmd_BPF_PROG_TEST_RUN: bpf_cmd = 10;
1522pub const bpf_cmd_BPF_PROG_GET_NEXT_ID: bpf_cmd = 11;
1523pub const bpf_cmd_BPF_MAP_GET_NEXT_ID: bpf_cmd = 12;
1524pub const bpf_cmd_BPF_PROG_GET_FD_BY_ID: bpf_cmd = 13;
1525pub const bpf_cmd_BPF_MAP_GET_FD_BY_ID: bpf_cmd = 14;
1526pub const bpf_cmd_BPF_OBJ_GET_INFO_BY_FD: bpf_cmd = 15;
1527pub const bpf_cmd_BPF_PROG_QUERY: bpf_cmd = 16;
1528pub const bpf_cmd_BPF_RAW_TRACEPOINT_OPEN: bpf_cmd = 17;
1529pub const bpf_cmd_BPF_BTF_LOAD: bpf_cmd = 18;
1530pub const bpf_cmd_BPF_BTF_GET_FD_BY_ID: bpf_cmd = 19;
1531pub const bpf_cmd_BPF_TASK_FD_QUERY: bpf_cmd = 20;
1532pub const bpf_cmd_BPF_MAP_LOOKUP_AND_DELETE_ELEM: bpf_cmd = 21;
1533pub const bpf_cmd_BPF_MAP_FREEZE: bpf_cmd = 22;
1534pub const bpf_cmd_BPF_BTF_GET_NEXT_ID: bpf_cmd = 23;
1535pub type bpf_cmd = u32;
1536pub const bpf_map_type_BPF_MAP_TYPE_UNSPEC: bpf_map_type = 0;
1537pub const bpf_map_type_BPF_MAP_TYPE_HASH: bpf_map_type = 1;
1538pub const bpf_map_type_BPF_MAP_TYPE_ARRAY: bpf_map_type = 2;
1539pub const bpf_map_type_BPF_MAP_TYPE_PROG_ARRAY: bpf_map_type = 3;
1540pub const bpf_map_type_BPF_MAP_TYPE_PERF_EVENT_ARRAY: bpf_map_type = 4;
1541pub const bpf_map_type_BPF_MAP_TYPE_PERCPU_HASH: bpf_map_type = 5;
1542pub const bpf_map_type_BPF_MAP_TYPE_PERCPU_ARRAY: bpf_map_type = 6;
1543pub const bpf_map_type_BPF_MAP_TYPE_STACK_TRACE: bpf_map_type = 7;
1544pub const bpf_map_type_BPF_MAP_TYPE_CGROUP_ARRAY: bpf_map_type = 8;
1545pub const bpf_map_type_BPF_MAP_TYPE_LRU_HASH: bpf_map_type = 9;
1546pub const bpf_map_type_BPF_MAP_TYPE_LRU_PERCPU_HASH: bpf_map_type = 10;
1547pub const bpf_map_type_BPF_MAP_TYPE_LPM_TRIE: bpf_map_type = 11;
1548pub const bpf_map_type_BPF_MAP_TYPE_ARRAY_OF_MAPS: bpf_map_type = 12;
1549pub const bpf_map_type_BPF_MAP_TYPE_HASH_OF_MAPS: bpf_map_type = 13;
1550pub const bpf_map_type_BPF_MAP_TYPE_DEVMAP: bpf_map_type = 14;
1551pub const bpf_map_type_BPF_MAP_TYPE_SOCKMAP: bpf_map_type = 15;
1552pub const bpf_map_type_BPF_MAP_TYPE_CPUMAP: bpf_map_type = 16;
1553pub const bpf_map_type_BPF_MAP_TYPE_XSKMAP: bpf_map_type = 17;
1554pub const bpf_map_type_BPF_MAP_TYPE_SOCKHASH: bpf_map_type = 18;
1555pub const bpf_map_type_BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type = 19;
1556pub const bpf_map_type_BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: bpf_map_type = 20;
1557pub const bpf_map_type_BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: bpf_map_type = 21;
1558pub const bpf_map_type_BPF_MAP_TYPE_QUEUE: bpf_map_type = 22;
1559pub const bpf_map_type_BPF_MAP_TYPE_STACK: bpf_map_type = 23;
1560pub const bpf_map_type_BPF_MAP_TYPE_SK_STORAGE: bpf_map_type = 24;
1561pub const bpf_map_type_BPF_MAP_TYPE_DEVMAP_HASH: bpf_map_type = 25;
1562pub type bpf_map_type = u32;
1563pub const bpf_prog_type_BPF_PROG_TYPE_UNSPEC: bpf_prog_type = 0;
1564pub const bpf_prog_type_BPF_PROG_TYPE_SOCKET_FILTER: bpf_prog_type = 1;
1565pub const bpf_prog_type_BPF_PROG_TYPE_KPROBE: bpf_prog_type = 2;
1566pub const bpf_prog_type_BPF_PROG_TYPE_SCHED_CLS: bpf_prog_type = 3;
1567pub const bpf_prog_type_BPF_PROG_TYPE_SCHED_ACT: bpf_prog_type = 4;
1568pub const bpf_prog_type_BPF_PROG_TYPE_TRACEPOINT: bpf_prog_type = 5;
1569pub const bpf_prog_type_BPF_PROG_TYPE_XDP: bpf_prog_type = 6;
1570pub const bpf_prog_type_BPF_PROG_TYPE_PERF_EVENT: bpf_prog_type = 7;
1571pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SKB: bpf_prog_type = 8;
1572pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SOCK: bpf_prog_type = 9;
1573pub const bpf_prog_type_BPF_PROG_TYPE_LWT_IN: bpf_prog_type = 10;
1574pub const bpf_prog_type_BPF_PROG_TYPE_LWT_OUT: bpf_prog_type = 11;
1575pub const bpf_prog_type_BPF_PROG_TYPE_LWT_XMIT: bpf_prog_type = 12;
1576pub const bpf_prog_type_BPF_PROG_TYPE_SOCK_OPS: bpf_prog_type = 13;
1577pub const bpf_prog_type_BPF_PROG_TYPE_SK_SKB: bpf_prog_type = 14;
1578pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_DEVICE: bpf_prog_type = 15;
1579pub const bpf_prog_type_BPF_PROG_TYPE_SK_MSG: bpf_prog_type = 16;
1580pub const bpf_prog_type_BPF_PROG_TYPE_RAW_TRACEPOINT: bpf_prog_type = 17;
1581pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SOCK_ADDR: bpf_prog_type = 18;
1582pub const bpf_prog_type_BPF_PROG_TYPE_LWT_SEG6LOCAL: bpf_prog_type = 19;
1583pub const bpf_prog_type_BPF_PROG_TYPE_LIRC_MODE2: bpf_prog_type = 20;
1584pub const bpf_prog_type_BPF_PROG_TYPE_SK_REUSEPORT: bpf_prog_type = 21;
1585pub const bpf_prog_type_BPF_PROG_TYPE_FLOW_DISSECTOR: bpf_prog_type = 22;
1586pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SYSCTL: bpf_prog_type = 23;
1587pub const bpf_prog_type_BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: bpf_prog_type = 24;
1588pub const bpf_prog_type_BPF_PROG_TYPE_CGROUP_SOCKOPT: bpf_prog_type = 25;
1589pub type bpf_prog_type = u32;
1590pub const bpf_attach_type_BPF_CGROUP_INET_INGRESS: bpf_attach_type = 0;
1591pub const bpf_attach_type_BPF_CGROUP_INET_EGRESS: bpf_attach_type = 1;
1592pub const bpf_attach_type_BPF_CGROUP_INET_SOCK_CREATE: bpf_attach_type = 2;
1593pub const bpf_attach_type_BPF_CGROUP_SOCK_OPS: bpf_attach_type = 3;
1594pub const bpf_attach_type_BPF_SK_SKB_STREAM_PARSER: bpf_attach_type = 4;
1595pub const bpf_attach_type_BPF_SK_SKB_STREAM_VERDICT: bpf_attach_type = 5;
1596pub const bpf_attach_type_BPF_CGROUP_DEVICE: bpf_attach_type = 6;
1597pub const bpf_attach_type_BPF_SK_MSG_VERDICT: bpf_attach_type = 7;
1598pub const bpf_attach_type_BPF_CGROUP_INET4_BIND: bpf_attach_type = 8;
1599pub const bpf_attach_type_BPF_CGROUP_INET6_BIND: bpf_attach_type = 9;
1600pub const bpf_attach_type_BPF_CGROUP_INET4_CONNECT: bpf_attach_type = 10;
1601pub const bpf_attach_type_BPF_CGROUP_INET6_CONNECT: bpf_attach_type = 11;
1602pub const bpf_attach_type_BPF_CGROUP_INET4_POST_BIND: bpf_attach_type = 12;
1603pub const bpf_attach_type_BPF_CGROUP_INET6_POST_BIND: bpf_attach_type = 13;
1604pub const bpf_attach_type_BPF_CGROUP_UDP4_SENDMSG: bpf_attach_type = 14;
1605pub const bpf_attach_type_BPF_CGROUP_UDP6_SENDMSG: bpf_attach_type = 15;
1606pub const bpf_attach_type_BPF_LIRC_MODE2: bpf_attach_type = 16;
1607pub const bpf_attach_type_BPF_FLOW_DISSECTOR: bpf_attach_type = 17;
1608pub const bpf_attach_type_BPF_CGROUP_SYSCTL: bpf_attach_type = 18;
1609pub const bpf_attach_type_BPF_CGROUP_UDP4_RECVMSG: bpf_attach_type = 19;
1610pub const bpf_attach_type_BPF_CGROUP_UDP6_RECVMSG: bpf_attach_type = 20;
1611pub const bpf_attach_type_BPF_CGROUP_GETSOCKOPT: bpf_attach_type = 21;
1612pub const bpf_attach_type_BPF_CGROUP_SETSOCKOPT: bpf_attach_type = 22;
1613pub const bpf_attach_type___MAX_BPF_ATTACH_TYPE: bpf_attach_type = 23;
1614pub type bpf_attach_type = u32;
1615pub const bpf_stack_build_id_status_BPF_STACK_BUILD_ID_EMPTY: bpf_stack_build_id_status = 0;
1616pub const bpf_stack_build_id_status_BPF_STACK_BUILD_ID_VALID: bpf_stack_build_id_status = 1;
1617pub const bpf_stack_build_id_status_BPF_STACK_BUILD_ID_IP: bpf_stack_build_id_status = 2;
1618pub type bpf_stack_build_id_status = u32;
1619#[repr(C)]
1620#[derive(Copy, Clone)]
1621pub struct bpf_stack_build_id {
1622 pub status: __s32,
1623 pub build_id: [::std::os::raw::c_uchar; 20usize],
1624 pub __bindgen_anon_1: bpf_stack_build_id__bindgen_ty_1,
1625}
1626#[repr(C)]
1627#[derive(Copy, Clone)]
1628pub union bpf_stack_build_id__bindgen_ty_1 {
1629 pub offset: __u64,
1630 pub ip: __u64,
1631 _bindgen_union_align: u64,
1632}
1633#[repr(C)]
1634#[derive(Copy, Clone)]
1635pub union bpf_attr {
1636 pub __bindgen_anon_1: bpf_attr__bindgen_ty_1,
1637 pub __bindgen_anon_2: bpf_attr__bindgen_ty_2,
1638 pub __bindgen_anon_3: bpf_attr__bindgen_ty_3,
1639 pub __bindgen_anon_4: bpf_attr__bindgen_ty_4,
1640 pub __bindgen_anon_5: bpf_attr__bindgen_ty_5,
1641 pub test: bpf_attr__bindgen_ty_6,
1642 pub __bindgen_anon_6: bpf_attr__bindgen_ty_7,
1643 pub info: bpf_attr__bindgen_ty_8,
1644 pub query: bpf_attr__bindgen_ty_9,
1645 pub raw_tracepoint: bpf_attr__bindgen_ty_10,
1646 pub __bindgen_anon_7: bpf_attr__bindgen_ty_11,
1647 pub task_fd_query: bpf_attr__bindgen_ty_12,
1648 _bindgen_union_align: [u64; 14usize],
1649}
1650#[repr(C)]
1651#[derive(Debug, Copy, Clone)]
1652pub struct bpf_attr__bindgen_ty_1 {
1653 pub map_type: __u32,
1654 pub key_size: __u32,
1655 pub value_size: __u32,
1656 pub max_entries: __u32,
1657 pub map_flags: __u32,
1658 pub inner_map_fd: __u32,
1659 pub numa_node: __u32,
1660 pub map_name: [::std::os::raw::c_char; 16usize],
1661 pub map_ifindex: __u32,
1662 pub btf_fd: __u32,
1663 pub btf_key_type_id: __u32,
1664 pub btf_value_type_id: __u32,
1665}
1666#[repr(C)]
1667#[derive(Copy, Clone)]
1668pub struct bpf_attr__bindgen_ty_2 {
1669 pub map_fd: __u32,
1670 pub key: __u64,
1671 pub __bindgen_anon_1: bpf_attr__bindgen_ty_2__bindgen_ty_1,
1672 pub flags: __u64,
1673}
1674#[repr(C)]
1675#[derive(Copy, Clone)]
1676pub union bpf_attr__bindgen_ty_2__bindgen_ty_1 {
1677 pub value: __u64,
1678 pub next_key: __u64,
1679 _bindgen_union_align: u64,
1680}
1681#[repr(C)]
1682#[derive(Debug, Copy, Clone)]
1683pub struct bpf_attr__bindgen_ty_3 {
1684 pub prog_type: __u32,
1685 pub insn_cnt: __u32,
1686 pub insns: __u64,
1687 pub license: __u64,
1688 pub log_level: __u32,
1689 pub log_size: __u32,
1690 pub log_buf: __u64,
1691 pub kern_version: __u32,
1692 pub prog_flags: __u32,
1693 pub prog_name: [::std::os::raw::c_char; 16usize],
1694 pub prog_ifindex: __u32,
1695 pub expected_attach_type: __u32,
1696 pub prog_btf_fd: __u32,
1697 pub func_info_rec_size: __u32,
1698 pub func_info: __u64,
1699 pub func_info_cnt: __u32,
1700 pub line_info_rec_size: __u32,
1701 pub line_info: __u64,
1702 pub line_info_cnt: __u32,
1703}
1704#[repr(C)]
1705#[derive(Debug, Copy, Clone)]
1706pub struct bpf_attr__bindgen_ty_4 {
1707 pub pathname: __u64,
1708 pub bpf_fd: __u32,
1709 pub file_flags: __u32,
1710}
1711#[repr(C)]
1712#[derive(Debug, Copy, Clone)]
1713pub struct bpf_attr__bindgen_ty_5 {
1714 pub target_fd: __u32,
1715 pub attach_bpf_fd: __u32,
1716 pub attach_type: __u32,
1717 pub attach_flags: __u32,
1718}
1719#[repr(C)]
1720#[derive(Debug, Copy, Clone)]
1721pub struct bpf_attr__bindgen_ty_6 {
1722 pub prog_fd: __u32,
1723 pub retval: __u32,
1724 pub data_size_in: __u32,
1725 pub data_size_out: __u32,
1726 pub data_in: __u64,
1727 pub data_out: __u64,
1728 pub repeat: __u32,
1729 pub duration: __u32,
1730 pub ctx_size_in: __u32,
1731 pub ctx_size_out: __u32,
1732 pub ctx_in: __u64,
1733 pub ctx_out: __u64,
1734}
1735#[repr(C)]
1736#[derive(Copy, Clone)]
1737pub struct bpf_attr__bindgen_ty_7 {
1738 pub __bindgen_anon_1: bpf_attr__bindgen_ty_7__bindgen_ty_1,
1739 pub next_id: __u32,
1740 pub open_flags: __u32,
1741}
1742#[repr(C)]
1743#[derive(Copy, Clone)]
1744pub union bpf_attr__bindgen_ty_7__bindgen_ty_1 {
1745 pub start_id: __u32,
1746 pub prog_id: __u32,
1747 pub map_id: __u32,
1748 pub btf_id: __u32,
1749 _bindgen_union_align: u32,
1750}
1751#[repr(C)]
1752#[derive(Debug, Copy, Clone)]
1753pub struct bpf_attr__bindgen_ty_8 {
1754 pub bpf_fd: __u32,
1755 pub info_len: __u32,
1756 pub info: __u64,
1757}
1758#[repr(C)]
1759#[derive(Debug, Copy, Clone)]
1760pub struct bpf_attr__bindgen_ty_9 {
1761 pub target_fd: __u32,
1762 pub attach_type: __u32,
1763 pub query_flags: __u32,
1764 pub attach_flags: __u32,
1765 pub prog_ids: __u64,
1766 pub prog_cnt: __u32,
1767}
1768#[repr(C)]
1769#[derive(Debug, Copy, Clone)]
1770pub struct bpf_attr__bindgen_ty_10 {
1771 pub name: __u64,
1772 pub prog_fd: __u32,
1773}
1774#[repr(C)]
1775#[derive(Debug, Copy, Clone)]
1776pub struct bpf_attr__bindgen_ty_11 {
1777 pub btf: __u64,
1778 pub btf_log_buf: __u64,
1779 pub btf_size: __u32,
1780 pub btf_log_size: __u32,
1781 pub btf_log_level: __u32,
1782}
1783#[repr(C)]
1784#[derive(Debug, Copy, Clone)]
1785pub struct bpf_attr__bindgen_ty_12 {
1786 pub pid: __u32,
1787 pub fd: __u32,
1788 pub flags: __u32,
1789 pub buf_len: __u32,
1790 pub buf: __u64,
1791 pub prog_id: __u32,
1792 pub fd_type: __u32,
1793 pub probe_offset: __u64,
1794 pub probe_addr: __u64,
1795}
1796pub const bpf_func_id_BPF_FUNC_unspec: bpf_func_id = 0;
1797pub const bpf_func_id_BPF_FUNC_map_lookup_elem: bpf_func_id = 1;
1798pub const bpf_func_id_BPF_FUNC_map_update_elem: bpf_func_id = 2;
1799pub const bpf_func_id_BPF_FUNC_map_delete_elem: bpf_func_id = 3;
1800pub const bpf_func_id_BPF_FUNC_probe_read: bpf_func_id = 4;
1801pub const bpf_func_id_BPF_FUNC_ktime_get_ns: bpf_func_id = 5;
1802pub const bpf_func_id_BPF_FUNC_trace_printk: bpf_func_id = 6;
1803pub const bpf_func_id_BPF_FUNC_get_prandom_u32: bpf_func_id = 7;
1804pub const bpf_func_id_BPF_FUNC_get_smp_processor_id: bpf_func_id = 8;
1805pub const bpf_func_id_BPF_FUNC_skb_store_bytes: bpf_func_id = 9;
1806pub const bpf_func_id_BPF_FUNC_l3_csum_replace: bpf_func_id = 10;
1807pub const bpf_func_id_BPF_FUNC_l4_csum_replace: bpf_func_id = 11;
1808pub const bpf_func_id_BPF_FUNC_tail_call: bpf_func_id = 12;
1809pub const bpf_func_id_BPF_FUNC_clone_redirect: bpf_func_id = 13;
1810pub const bpf_func_id_BPF_FUNC_get_current_pid_tgid: bpf_func_id = 14;
1811pub const bpf_func_id_BPF_FUNC_get_current_uid_gid: bpf_func_id = 15;
1812pub const bpf_func_id_BPF_FUNC_get_current_comm: bpf_func_id = 16;
1813pub const bpf_func_id_BPF_FUNC_get_cgroup_classid: bpf_func_id = 17;
1814pub const bpf_func_id_BPF_FUNC_skb_vlan_push: bpf_func_id = 18;
1815pub const bpf_func_id_BPF_FUNC_skb_vlan_pop: bpf_func_id = 19;
1816pub const bpf_func_id_BPF_FUNC_skb_get_tunnel_key: bpf_func_id = 20;
1817pub const bpf_func_id_BPF_FUNC_skb_set_tunnel_key: bpf_func_id = 21;
1818pub const bpf_func_id_BPF_FUNC_perf_event_read: bpf_func_id = 22;
1819pub const bpf_func_id_BPF_FUNC_redirect: bpf_func_id = 23;
1820pub const bpf_func_id_BPF_FUNC_get_route_realm: bpf_func_id = 24;
1821pub const bpf_func_id_BPF_FUNC_perf_event_output: bpf_func_id = 25;
1822pub const bpf_func_id_BPF_FUNC_skb_load_bytes: bpf_func_id = 26;
1823pub const bpf_func_id_BPF_FUNC_get_stackid: bpf_func_id = 27;
1824pub const bpf_func_id_BPF_FUNC_csum_diff: bpf_func_id = 28;
1825pub const bpf_func_id_BPF_FUNC_skb_get_tunnel_opt: bpf_func_id = 29;
1826pub const bpf_func_id_BPF_FUNC_skb_set_tunnel_opt: bpf_func_id = 30;
1827pub const bpf_func_id_BPF_FUNC_skb_change_proto: bpf_func_id = 31;
1828pub const bpf_func_id_BPF_FUNC_skb_change_type: bpf_func_id = 32;
1829pub const bpf_func_id_BPF_FUNC_skb_under_cgroup: bpf_func_id = 33;
1830pub const bpf_func_id_BPF_FUNC_get_hash_recalc: bpf_func_id = 34;
1831pub const bpf_func_id_BPF_FUNC_get_current_task: bpf_func_id = 35;
1832pub const bpf_func_id_BPF_FUNC_probe_write_user: bpf_func_id = 36;
1833pub const bpf_func_id_BPF_FUNC_current_task_under_cgroup: bpf_func_id = 37;
1834pub const bpf_func_id_BPF_FUNC_skb_change_tail: bpf_func_id = 38;
1835pub const bpf_func_id_BPF_FUNC_skb_pull_data: bpf_func_id = 39;
1836pub const bpf_func_id_BPF_FUNC_csum_update: bpf_func_id = 40;
1837pub const bpf_func_id_BPF_FUNC_set_hash_invalid: bpf_func_id = 41;
1838pub const bpf_func_id_BPF_FUNC_get_numa_node_id: bpf_func_id = 42;
1839pub const bpf_func_id_BPF_FUNC_skb_change_head: bpf_func_id = 43;
1840pub const bpf_func_id_BPF_FUNC_xdp_adjust_head: bpf_func_id = 44;
1841pub const bpf_func_id_BPF_FUNC_probe_read_str: bpf_func_id = 45;
1842pub const bpf_func_id_BPF_FUNC_get_socket_cookie: bpf_func_id = 46;
1843pub const bpf_func_id_BPF_FUNC_get_socket_uid: bpf_func_id = 47;
1844pub const bpf_func_id_BPF_FUNC_set_hash: bpf_func_id = 48;
1845pub const bpf_func_id_BPF_FUNC_setsockopt: bpf_func_id = 49;
1846pub const bpf_func_id_BPF_FUNC_skb_adjust_room: bpf_func_id = 50;
1847pub const bpf_func_id_BPF_FUNC_redirect_map: bpf_func_id = 51;
1848pub const bpf_func_id_BPF_FUNC_sk_redirect_map: bpf_func_id = 52;
1849pub const bpf_func_id_BPF_FUNC_sock_map_update: bpf_func_id = 53;
1850pub const bpf_func_id_BPF_FUNC_xdp_adjust_meta: bpf_func_id = 54;
1851pub const bpf_func_id_BPF_FUNC_perf_event_read_value: bpf_func_id = 55;
1852pub const bpf_func_id_BPF_FUNC_perf_prog_read_value: bpf_func_id = 56;
1853pub const bpf_func_id_BPF_FUNC_getsockopt: bpf_func_id = 57;
1854pub const bpf_func_id_BPF_FUNC_override_return: bpf_func_id = 58;
1855pub const bpf_func_id_BPF_FUNC_sock_ops_cb_flags_set: bpf_func_id = 59;
1856pub const bpf_func_id_BPF_FUNC_msg_redirect_map: bpf_func_id = 60;
1857pub const bpf_func_id_BPF_FUNC_msg_apply_bytes: bpf_func_id = 61;
1858pub const bpf_func_id_BPF_FUNC_msg_cork_bytes: bpf_func_id = 62;
1859pub const bpf_func_id_BPF_FUNC_msg_pull_data: bpf_func_id = 63;
1860pub const bpf_func_id_BPF_FUNC_bind: bpf_func_id = 64;
1861pub const bpf_func_id_BPF_FUNC_xdp_adjust_tail: bpf_func_id = 65;
1862pub const bpf_func_id_BPF_FUNC_skb_get_xfrm_state: bpf_func_id = 66;
1863pub const bpf_func_id_BPF_FUNC_get_stack: bpf_func_id = 67;
1864pub const bpf_func_id_BPF_FUNC_skb_load_bytes_relative: bpf_func_id = 68;
1865pub const bpf_func_id_BPF_FUNC_fib_lookup: bpf_func_id = 69;
1866pub const bpf_func_id_BPF_FUNC_sock_hash_update: bpf_func_id = 70;
1867pub const bpf_func_id_BPF_FUNC_msg_redirect_hash: bpf_func_id = 71;
1868pub const bpf_func_id_BPF_FUNC_sk_redirect_hash: bpf_func_id = 72;
1869pub const bpf_func_id_BPF_FUNC_lwt_push_encap: bpf_func_id = 73;
1870pub const bpf_func_id_BPF_FUNC_lwt_seg6_store_bytes: bpf_func_id = 74;
1871pub const bpf_func_id_BPF_FUNC_lwt_seg6_adjust_srh: bpf_func_id = 75;
1872pub const bpf_func_id_BPF_FUNC_lwt_seg6_action: bpf_func_id = 76;
1873pub const bpf_func_id_BPF_FUNC_rc_repeat: bpf_func_id = 77;
1874pub const bpf_func_id_BPF_FUNC_rc_keydown: bpf_func_id = 78;
1875pub const bpf_func_id_BPF_FUNC_skb_cgroup_id: bpf_func_id = 79;
1876pub const bpf_func_id_BPF_FUNC_get_current_cgroup_id: bpf_func_id = 80;
1877pub const bpf_func_id_BPF_FUNC_get_local_storage: bpf_func_id = 81;
1878pub const bpf_func_id_BPF_FUNC_sk_select_reuseport: bpf_func_id = 82;
1879pub const bpf_func_id_BPF_FUNC_skb_ancestor_cgroup_id: bpf_func_id = 83;
1880pub const bpf_func_id_BPF_FUNC_sk_lookup_tcp: bpf_func_id = 84;
1881pub const bpf_func_id_BPF_FUNC_sk_lookup_udp: bpf_func_id = 85;
1882pub const bpf_func_id_BPF_FUNC_sk_release: bpf_func_id = 86;
1883pub const bpf_func_id_BPF_FUNC_map_push_elem: bpf_func_id = 87;
1884pub const bpf_func_id_BPF_FUNC_map_pop_elem: bpf_func_id = 88;
1885pub const bpf_func_id_BPF_FUNC_map_peek_elem: bpf_func_id = 89;
1886pub const bpf_func_id_BPF_FUNC_msg_push_data: bpf_func_id = 90;
1887pub const bpf_func_id_BPF_FUNC_msg_pop_data: bpf_func_id = 91;
1888pub const bpf_func_id_BPF_FUNC_rc_pointer_rel: bpf_func_id = 92;
1889pub const bpf_func_id_BPF_FUNC_spin_lock: bpf_func_id = 93;
1890pub const bpf_func_id_BPF_FUNC_spin_unlock: bpf_func_id = 94;
1891pub const bpf_func_id_BPF_FUNC_sk_fullsock: bpf_func_id = 95;
1892pub const bpf_func_id_BPF_FUNC_tcp_sock: bpf_func_id = 96;
1893pub const bpf_func_id_BPF_FUNC_skb_ecn_set_ce: bpf_func_id = 97;
1894pub const bpf_func_id_BPF_FUNC_get_listener_sock: bpf_func_id = 98;
1895pub const bpf_func_id_BPF_FUNC_skc_lookup_tcp: bpf_func_id = 99;
1896pub const bpf_func_id_BPF_FUNC_tcp_check_syncookie: bpf_func_id = 100;
1897pub const bpf_func_id_BPF_FUNC_sysctl_get_name: bpf_func_id = 101;
1898pub const bpf_func_id_BPF_FUNC_sysctl_get_current_value: bpf_func_id = 102;
1899pub const bpf_func_id_BPF_FUNC_sysctl_get_new_value: bpf_func_id = 103;
1900pub const bpf_func_id_BPF_FUNC_sysctl_set_new_value: bpf_func_id = 104;
1901pub const bpf_func_id_BPF_FUNC_strtol: bpf_func_id = 105;
1902pub const bpf_func_id_BPF_FUNC_strtoul: bpf_func_id = 106;
1903pub const bpf_func_id_BPF_FUNC_sk_storage_get: bpf_func_id = 107;
1904pub const bpf_func_id_BPF_FUNC_sk_storage_delete: bpf_func_id = 108;
1905pub const bpf_func_id_BPF_FUNC_send_signal: bpf_func_id = 109;
1906pub const bpf_func_id_BPF_FUNC_tcp_gen_syncookie: bpf_func_id = 110;
1907pub const bpf_func_id___BPF_FUNC_MAX_ID: bpf_func_id = 111;
1908pub type bpf_func_id = u32;
1909pub const bpf_adj_room_mode_BPF_ADJ_ROOM_NET: bpf_adj_room_mode = 0;
1910pub const bpf_adj_room_mode_BPF_ADJ_ROOM_MAC: bpf_adj_room_mode = 1;
1911pub type bpf_adj_room_mode = u32;
1912pub const bpf_hdr_start_off_BPF_HDR_START_MAC: bpf_hdr_start_off = 0;
1913pub const bpf_hdr_start_off_BPF_HDR_START_NET: bpf_hdr_start_off = 1;
1914pub type bpf_hdr_start_off = u32;
1915pub const bpf_lwt_encap_mode_BPF_LWT_ENCAP_SEG6: bpf_lwt_encap_mode = 0;
1916pub const bpf_lwt_encap_mode_BPF_LWT_ENCAP_SEG6_INLINE: bpf_lwt_encap_mode = 1;
1917pub const bpf_lwt_encap_mode_BPF_LWT_ENCAP_IP: bpf_lwt_encap_mode = 2;
1918pub type bpf_lwt_encap_mode = u32;
1919#[repr(C)]
1920#[derive(Copy, Clone)]
1921pub struct __sk_buff {
1922 pub len: __u32,
1923 pub pkt_type: __u32,
1924 pub mark: __u32,
1925 pub queue_mapping: __u32,
1926 pub protocol: __u32,
1927 pub vlan_present: __u32,
1928 pub vlan_tci: __u32,
1929 pub vlan_proto: __u32,
1930 pub priority: __u32,
1931 pub ingress_ifindex: __u32,
1932 pub ifindex: __u32,
1933 pub tc_index: __u32,
1934 pub cb: [__u32; 5usize],
1935 pub hash: __u32,
1936 pub tc_classid: __u32,
1937 pub data: __u32,
1938 pub data_end: __u32,
1939 pub napi_id: __u32,
1940 pub family: __u32,
1941 pub remote_ip4: __u32,
1942 pub local_ip4: __u32,
1943 pub remote_ip6: [__u32; 4usize],
1944 pub local_ip6: [__u32; 4usize],
1945 pub remote_port: __u32,
1946 pub local_port: __u32,
1947 pub data_meta: __u32,
1948 pub __bindgen_anon_1: __sk_buff__bindgen_ty_1,
1949 pub tstamp: __u64,
1950 pub wire_len: __u32,
1951 pub gso_segs: __u32,
1952 pub __bindgen_anon_2: __sk_buff__bindgen_ty_2,
1953}
1954#[repr(C)]
1955#[derive(Copy, Clone)]
1956pub union __sk_buff__bindgen_ty_1 {
1957 pub flow_keys: *mut bpf_flow_keys,
1958 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
1959 _bindgen_union_align: u64,
1960}
1961impl __sk_buff__bindgen_ty_1 {
1962 #[inline]
1963 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
1964 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
1965 Default::default();
1966 __bindgen_bitfield_unit
1967 }
1968}
1969#[repr(C)]
1970#[derive(Copy, Clone)]
1971pub union __sk_buff__bindgen_ty_2 {
1972 pub sk: *mut bpf_sock,
1973 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
1974 _bindgen_union_align: u64,
1975}
1976impl __sk_buff__bindgen_ty_2 {
1977 #[inline]
1978 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
1979 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
1980 Default::default();
1981 __bindgen_bitfield_unit
1982 }
1983}
1984#[repr(C)]
1985#[derive(Copy, Clone)]
1986pub struct bpf_tunnel_key {
1987 pub tunnel_id: __u32,
1988 pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
1989 pub tunnel_tos: __u8,
1990 pub tunnel_ttl: __u8,
1991 pub tunnel_ext: __u16,
1992 pub tunnel_label: __u32,
1993}
1994#[repr(C)]
1995#[derive(Copy, Clone)]
1996pub union bpf_tunnel_key__bindgen_ty_1 {
1997 pub remote_ipv4: __u32,
1998 pub remote_ipv6: [__u32; 4usize],
1999 _bindgen_union_align: [u32; 4usize],
2000}
2001#[repr(C)]
2002#[derive(Copy, Clone)]
2003pub struct bpf_xfrm_state {
2004 pub reqid: __u32,
2005 pub spi: __u32,
2006 pub family: __u16,
2007 pub ext: __u16,
2008 pub __bindgen_anon_1: bpf_xfrm_state__bindgen_ty_1,
2009}
2010#[repr(C)]
2011#[derive(Copy, Clone)]
2012pub union bpf_xfrm_state__bindgen_ty_1 {
2013 pub remote_ipv4: __u32,
2014 pub remote_ipv6: [__u32; 4usize],
2015 _bindgen_union_align: [u32; 4usize],
2016}
2017pub const bpf_ret_code_BPF_OK: bpf_ret_code = 0;
2018pub const bpf_ret_code_BPF_DROP: bpf_ret_code = 2;
2019pub const bpf_ret_code_BPF_REDIRECT: bpf_ret_code = 7;
2020pub const bpf_ret_code_BPF_LWT_REROUTE: bpf_ret_code = 128;
2021pub type bpf_ret_code = u32;
2022#[repr(C)]
2023#[derive(Debug, Copy, Clone)]
2024pub struct bpf_sock {
2025 pub bound_dev_if: __u32,
2026 pub family: __u32,
2027 pub type_: __u32,
2028 pub protocol: __u32,
2029 pub mark: __u32,
2030 pub priority: __u32,
2031 pub src_ip4: __u32,
2032 pub src_ip6: [__u32; 4usize],
2033 pub src_port: __u32,
2034 pub dst_port: __u32,
2035 pub dst_ip4: __u32,
2036 pub dst_ip6: [__u32; 4usize],
2037 pub state: __u32,
2038}
2039#[repr(C)]
2040#[derive(Debug, Copy, Clone)]
2041pub struct bpf_tcp_sock {
2042 pub snd_cwnd: __u32,
2043 pub srtt_us: __u32,
2044 pub rtt_min: __u32,
2045 pub snd_ssthresh: __u32,
2046 pub rcv_nxt: __u32,
2047 pub snd_nxt: __u32,
2048 pub snd_una: __u32,
2049 pub mss_cache: __u32,
2050 pub ecn_flags: __u32,
2051 pub rate_delivered: __u32,
2052 pub rate_interval_us: __u32,
2053 pub packets_out: __u32,
2054 pub retrans_out: __u32,
2055 pub total_retrans: __u32,
2056 pub segs_in: __u32,
2057 pub data_segs_in: __u32,
2058 pub segs_out: __u32,
2059 pub data_segs_out: __u32,
2060 pub lost_out: __u32,
2061 pub sacked_out: __u32,
2062 pub bytes_received: __u64,
2063 pub bytes_acked: __u64,
2064 pub dsack_dups: __u32,
2065 pub delivered: __u32,
2066 pub delivered_ce: __u32,
2067 pub icsk_retransmits: __u32,
2068}
2069#[repr(C)]
2070#[derive(Copy, Clone)]
2071pub struct bpf_sock_tuple {
2072 pub __bindgen_anon_1: bpf_sock_tuple__bindgen_ty_1,
2073}
2074#[repr(C)]
2075#[derive(Copy, Clone)]
2076pub union bpf_sock_tuple__bindgen_ty_1 {
2077 pub ipv4: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1,
2078 pub ipv6: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2,
2079 _bindgen_union_align: [u32; 9usize],
2080}
2081#[repr(C)]
2082#[derive(Debug, Copy, Clone)]
2083pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1 {
2084 pub saddr: __be32,
2085 pub daddr: __be32,
2086 pub sport: __be16,
2087 pub dport: __be16,
2088}
2089#[repr(C)]
2090#[derive(Debug, Copy, Clone)]
2091pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2 {
2092 pub saddr: [__be32; 4usize],
2093 pub daddr: [__be32; 4usize],
2094 pub sport: __be16,
2095 pub dport: __be16,
2096}
2097#[repr(C)]
2098#[derive(Debug, Copy, Clone)]
2099pub struct bpf_xdp_sock {
2100 pub queue_id: __u32,
2101}
2102pub const xdp_action_XDP_ABORTED: xdp_action = 0;
2103pub const xdp_action_XDP_DROP: xdp_action = 1;
2104pub const xdp_action_XDP_PASS: xdp_action = 2;
2105pub const xdp_action_XDP_TX: xdp_action = 3;
2106pub const xdp_action_XDP_REDIRECT: xdp_action = 4;
2107pub type xdp_action = u32;
2108#[repr(C)]
2109#[derive(Debug, Copy, Clone)]
2110pub struct xdp_md {
2111 pub data: __u32,
2112 pub data_end: __u32,
2113 pub data_meta: __u32,
2114 pub ingress_ifindex: __u32,
2115 pub rx_queue_index: __u32,
2116}
2117pub const sk_action_SK_DROP: sk_action = 0;
2118pub const sk_action_SK_PASS: sk_action = 1;
2119pub type sk_action = u32;
2120#[repr(C)]
2121#[derive(Copy, Clone)]
2122pub struct sk_msg_md {
2123 pub __bindgen_anon_1: sk_msg_md__bindgen_ty_1,
2124 pub __bindgen_anon_2: sk_msg_md__bindgen_ty_2,
2125 pub family: __u32,
2126 pub remote_ip4: __u32,
2127 pub local_ip4: __u32,
2128 pub remote_ip6: [__u32; 4usize],
2129 pub local_ip6: [__u32; 4usize],
2130 pub remote_port: __u32,
2131 pub local_port: __u32,
2132 pub size: __u32,
2133}
2134#[repr(C)]
2135#[derive(Copy, Clone)]
2136pub union sk_msg_md__bindgen_ty_1 {
2137 pub data: *mut ::std::os::raw::c_void,
2138 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2139 _bindgen_union_align: u64,
2140}
2141impl sk_msg_md__bindgen_ty_1 {
2142 #[inline]
2143 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2144 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2145 Default::default();
2146 __bindgen_bitfield_unit
2147 }
2148}
2149#[repr(C)]
2150#[derive(Copy, Clone)]
2151pub union sk_msg_md__bindgen_ty_2 {
2152 pub data_end: *mut ::std::os::raw::c_void,
2153 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2154 _bindgen_union_align: u64,
2155}
2156impl sk_msg_md__bindgen_ty_2 {
2157 #[inline]
2158 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2159 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2160 Default::default();
2161 __bindgen_bitfield_unit
2162 }
2163}
2164#[repr(C)]
2165#[derive(Copy, Clone)]
2166pub struct sk_reuseport_md {
2167 pub __bindgen_anon_1: sk_reuseport_md__bindgen_ty_1,
2168 pub __bindgen_anon_2: sk_reuseport_md__bindgen_ty_2,
2169 pub len: __u32,
2170 pub eth_protocol: __u32,
2171 pub ip_protocol: __u32,
2172 pub bind_inany: __u32,
2173 pub hash: __u32,
2174}
2175#[repr(C)]
2176#[derive(Copy, Clone)]
2177pub union sk_reuseport_md__bindgen_ty_1 {
2178 pub data: *mut ::std::os::raw::c_void,
2179 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2180 _bindgen_union_align: u64,
2181}
2182impl sk_reuseport_md__bindgen_ty_1 {
2183 #[inline]
2184 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2185 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2186 Default::default();
2187 __bindgen_bitfield_unit
2188 }
2189}
2190#[repr(C)]
2191#[derive(Copy, Clone)]
2192pub union sk_reuseport_md__bindgen_ty_2 {
2193 pub data_end: *mut ::std::os::raw::c_void,
2194 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2195 _bindgen_union_align: u64,
2196}
2197impl sk_reuseport_md__bindgen_ty_2 {
2198 #[inline]
2199 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2200 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2201 Default::default();
2202 __bindgen_bitfield_unit
2203 }
2204}
2205#[repr(C)]
2206#[derive(Debug, Copy, Clone)]
2207pub struct bpf_prog_info {
2208 pub type_: __u32,
2209 pub id: __u32,
2210 pub tag: [__u8; 8usize],
2211 pub jited_prog_len: __u32,
2212 pub xlated_prog_len: __u32,
2213 pub jited_prog_insns: __u64,
2214 pub xlated_prog_insns: __u64,
2215 pub load_time: __u64,
2216 pub created_by_uid: __u32,
2217 pub nr_map_ids: __u32,
2218 pub map_ids: __u64,
2219 pub name: [::std::os::raw::c_char; 16usize],
2220 pub ifindex: __u32,
2221 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>,
2222 pub netns_dev: __u64,
2223 pub netns_ino: __u64,
2224 pub nr_jited_ksyms: __u32,
2225 pub nr_jited_func_lens: __u32,
2226 pub jited_ksyms: __u64,
2227 pub jited_func_lens: __u64,
2228 pub btf_id: __u32,
2229 pub func_info_rec_size: __u32,
2230 pub func_info: __u64,
2231 pub nr_func_info: __u32,
2232 pub nr_line_info: __u32,
2233 pub line_info: __u64,
2234 pub jited_line_info: __u64,
2235 pub nr_jited_line_info: __u32,
2236 pub line_info_rec_size: __u32,
2237 pub jited_line_info_rec_size: __u32,
2238 pub nr_prog_tags: __u32,
2239 pub prog_tags: __u64,
2240 pub run_time_ns: __u64,
2241 pub run_cnt: __u64,
2242}
2243impl bpf_prog_info {
2244 #[inline]
2245 pub fn gpl_compatible(&self) -> __u32 {
2246 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2247 }
2248 #[inline]
2249 pub fn set_gpl_compatible(&mut self, val: __u32) {
2250 unsafe {
2251 let val: u32 = ::std::mem::transmute(val);
2252 self._bitfield_1.set(0usize, 1u8, val as u64)
2253 }
2254 }
2255 #[inline]
2256 pub fn new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize], u8> {
2257 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> =
2258 Default::default();
2259 __bindgen_bitfield_unit.set(0usize, 1u8, {
2260 let gpl_compatible: u32 = unsafe { ::std::mem::transmute(gpl_compatible) };
2261 gpl_compatible as u64
2262 });
2263 __bindgen_bitfield_unit
2264 }
2265}
2266#[repr(C)]
2267#[derive(Debug, Copy, Clone)]
2268pub struct bpf_map_info {
2269 pub type_: __u32,
2270 pub id: __u32,
2271 pub key_size: __u32,
2272 pub value_size: __u32,
2273 pub max_entries: __u32,
2274 pub map_flags: __u32,
2275 pub name: [::std::os::raw::c_char; 16usize],
2276 pub ifindex: __u32,
2277 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>,
2278 pub netns_dev: __u64,
2279 pub netns_ino: __u64,
2280 pub btf_id: __u32,
2281 pub btf_key_type_id: __u32,
2282 pub btf_value_type_id: __u32,
2283}
2284impl bpf_map_info {
2285 #[inline]
2286 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize], u8> {
2287 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> =
2288 Default::default();
2289 __bindgen_bitfield_unit
2290 }
2291}
2292#[repr(C)]
2293#[derive(Debug, Copy, Clone)]
2294pub struct bpf_btf_info {
2295 pub btf: __u64,
2296 pub btf_size: __u32,
2297 pub id: __u32,
2298}
2299#[repr(C)]
2300#[derive(Copy, Clone)]
2301pub struct bpf_sock_addr {
2302 pub user_family: __u32,
2303 pub user_ip4: __u32,
2304 pub user_ip6: [__u32; 4usize],
2305 pub user_port: __u32,
2306 pub family: __u32,
2307 pub type_: __u32,
2308 pub protocol: __u32,
2309 pub msg_src_ip4: __u32,
2310 pub msg_src_ip6: [__u32; 4usize],
2311 pub __bindgen_anon_1: bpf_sock_addr__bindgen_ty_1,
2312}
2313#[repr(C)]
2314#[derive(Copy, Clone)]
2315pub union bpf_sock_addr__bindgen_ty_1 {
2316 pub sk: *mut bpf_sock,
2317 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2318 _bindgen_union_align: u64,
2319}
2320impl bpf_sock_addr__bindgen_ty_1 {
2321 #[inline]
2322 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2323 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2324 Default::default();
2325 __bindgen_bitfield_unit
2326 }
2327}
2328#[repr(C)]
2329#[derive(Copy, Clone)]
2330pub struct bpf_sock_ops {
2331 pub op: __u32,
2332 pub __bindgen_anon_1: bpf_sock_ops__bindgen_ty_1,
2333 pub family: __u32,
2334 pub remote_ip4: __u32,
2335 pub local_ip4: __u32,
2336 pub remote_ip6: [__u32; 4usize],
2337 pub local_ip6: [__u32; 4usize],
2338 pub remote_port: __u32,
2339 pub local_port: __u32,
2340 pub is_fullsock: __u32,
2341 pub snd_cwnd: __u32,
2342 pub srtt_us: __u32,
2343 pub bpf_sock_ops_cb_flags: __u32,
2344 pub state: __u32,
2345 pub rtt_min: __u32,
2346 pub snd_ssthresh: __u32,
2347 pub rcv_nxt: __u32,
2348 pub snd_nxt: __u32,
2349 pub snd_una: __u32,
2350 pub mss_cache: __u32,
2351 pub ecn_flags: __u32,
2352 pub rate_delivered: __u32,
2353 pub rate_interval_us: __u32,
2354 pub packets_out: __u32,
2355 pub retrans_out: __u32,
2356 pub total_retrans: __u32,
2357 pub segs_in: __u32,
2358 pub data_segs_in: __u32,
2359 pub segs_out: __u32,
2360 pub data_segs_out: __u32,
2361 pub lost_out: __u32,
2362 pub sacked_out: __u32,
2363 pub sk_txhash: __u32,
2364 pub bytes_received: __u64,
2365 pub bytes_acked: __u64,
2366 pub __bindgen_anon_2: bpf_sock_ops__bindgen_ty_2,
2367}
2368#[repr(C)]
2369#[derive(Copy, Clone)]
2370pub union bpf_sock_ops__bindgen_ty_1 {
2371 pub args: [__u32; 4usize],
2372 pub reply: __u32,
2373 pub replylong: [__u32; 4usize],
2374 _bindgen_union_align: [u32; 4usize],
2375}
2376#[repr(C)]
2377#[derive(Copy, Clone)]
2378pub union bpf_sock_ops__bindgen_ty_2 {
2379 pub sk: *mut bpf_sock,
2380 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2381 _bindgen_union_align: u64,
2382}
2383impl bpf_sock_ops__bindgen_ty_2 {
2384 #[inline]
2385 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2386 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2387 Default::default();
2388 __bindgen_bitfield_unit
2389 }
2390}
2391pub const BPF_SOCK_OPS_VOID: _bindgen_ty_45 = 0;
2392pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_45 = 1;
2393pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_45 = 2;
2394pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_45 = 3;
2395pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_45 = 4;
2396pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_45 = 5;
2397pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_45 = 6;
2398pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_45 = 7;
2399pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_45 = 8;
2400pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_45 = 9;
2401pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_45 = 10;
2402pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_45 = 11;
2403pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_45 = 12;
2404pub type _bindgen_ty_45 = u32;
2405pub const BPF_TCP_ESTABLISHED: _bindgen_ty_46 = 1;
2406pub const BPF_TCP_SYN_SENT: _bindgen_ty_46 = 2;
2407pub const BPF_TCP_SYN_RECV: _bindgen_ty_46 = 3;
2408pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_46 = 4;
2409pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_46 = 5;
2410pub const BPF_TCP_TIME_WAIT: _bindgen_ty_46 = 6;
2411pub const BPF_TCP_CLOSE: _bindgen_ty_46 = 7;
2412pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_46 = 8;
2413pub const BPF_TCP_LAST_ACK: _bindgen_ty_46 = 9;
2414pub const BPF_TCP_LISTEN: _bindgen_ty_46 = 10;
2415pub const BPF_TCP_CLOSING: _bindgen_ty_46 = 11;
2416pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_46 = 12;
2417pub const BPF_TCP_MAX_STATES: _bindgen_ty_46 = 13;
2418pub type _bindgen_ty_46 = u32;
2419#[repr(C)]
2420#[derive(Debug, Copy, Clone)]
2421pub struct bpf_perf_event_value {
2422 pub counter: __u64,
2423 pub enabled: __u64,
2424 pub running: __u64,
2425}
2426#[repr(C)]
2427#[derive(Debug, Copy, Clone)]
2428pub struct bpf_cgroup_dev_ctx {
2429 pub access_type: __u32,
2430 pub major: __u32,
2431 pub minor: __u32,
2432}
2433#[repr(C)]
2434#[derive(Debug)]
2435pub struct bpf_raw_tracepoint_args {
2436 pub args: __IncompleteArrayField<__u64>,
2437}
2438pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_47 = 0;
2439pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_47 = 1;
2440pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_47 = 2;
2441pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_47 = 3;
2442pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_47 = 4;
2443pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_47 = 5;
2444pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_47 = 6;
2445pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_47 = 7;
2446pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_47 = 8;
2447pub type _bindgen_ty_47 = u32;
2448#[repr(C)]
2449#[derive(Copy, Clone)]
2450pub struct bpf_fib_lookup {
2451 pub family: __u8,
2452 pub l4_protocol: __u8,
2453 pub sport: __be16,
2454 pub dport: __be16,
2455 pub tot_len: __u16,
2456 pub ifindex: __u32,
2457 pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_1,
2458 pub __bindgen_anon_2: bpf_fib_lookup__bindgen_ty_2,
2459 pub __bindgen_anon_3: bpf_fib_lookup__bindgen_ty_3,
2460 pub h_vlan_proto: __be16,
2461 pub h_vlan_TCI: __be16,
2462 pub smac: [__u8; 6usize],
2463 pub dmac: [__u8; 6usize],
2464}
2465#[repr(C)]
2466#[derive(Copy, Clone)]
2467pub union bpf_fib_lookup__bindgen_ty_1 {
2468 pub tos: __u8,
2469 pub flowinfo: __be32,
2470 pub rt_metric: __u32,
2471 _bindgen_union_align: u32,
2472}
2473#[repr(C)]
2474#[derive(Copy, Clone)]
2475pub union bpf_fib_lookup__bindgen_ty_2 {
2476 pub ipv4_src: __be32,
2477 pub ipv6_src: [__u32; 4usize],
2478 _bindgen_union_align: [u32; 4usize],
2479}
2480#[repr(C)]
2481#[derive(Copy, Clone)]
2482pub union bpf_fib_lookup__bindgen_ty_3 {
2483 pub ipv4_dst: __be32,
2484 pub ipv6_dst: [__u32; 4usize],
2485 _bindgen_union_align: [u32; 4usize],
2486}
2487pub const bpf_task_fd_type_BPF_FD_TYPE_RAW_TRACEPOINT: bpf_task_fd_type = 0;
2488pub const bpf_task_fd_type_BPF_FD_TYPE_TRACEPOINT: bpf_task_fd_type = 1;
2489pub const bpf_task_fd_type_BPF_FD_TYPE_KPROBE: bpf_task_fd_type = 2;
2490pub const bpf_task_fd_type_BPF_FD_TYPE_KRETPROBE: bpf_task_fd_type = 3;
2491pub const bpf_task_fd_type_BPF_FD_TYPE_UPROBE: bpf_task_fd_type = 4;
2492pub const bpf_task_fd_type_BPF_FD_TYPE_URETPROBE: bpf_task_fd_type = 5;
2493pub type bpf_task_fd_type = u32;
2494#[repr(C)]
2495#[derive(Copy, Clone)]
2496pub struct bpf_flow_keys {
2497 pub nhoff: __u16,
2498 pub thoff: __u16,
2499 pub addr_proto: __u16,
2500 pub is_frag: __u8,
2501 pub is_first_frag: __u8,
2502 pub is_encap: __u8,
2503 pub ip_proto: __u8,
2504 pub n_proto: __be16,
2505 pub sport: __be16,
2506 pub dport: __be16,
2507 pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1,
2508 pub flags: __u32,
2509 pub flow_label: __be32,
2510}
2511#[repr(C)]
2512#[derive(Copy, Clone)]
2513pub union bpf_flow_keys__bindgen_ty_1 {
2514 pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1__bindgen_ty_1,
2515 pub __bindgen_anon_2: bpf_flow_keys__bindgen_ty_1__bindgen_ty_2,
2516 _bindgen_union_align: [u32; 8usize],
2517}
2518#[repr(C)]
2519#[derive(Debug, Copy, Clone)]
2520pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_1 {
2521 pub ipv4_src: __be32,
2522 pub ipv4_dst: __be32,
2523}
2524#[repr(C)]
2525#[derive(Debug, Copy, Clone)]
2526pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_2 {
2527 pub ipv6_src: [__u32; 4usize],
2528 pub ipv6_dst: [__u32; 4usize],
2529}
2530#[repr(C)]
2531#[derive(Debug, Copy, Clone)]
2532pub struct bpf_func_info {
2533 pub insn_off: __u32,
2534 pub type_id: __u32,
2535}
2536#[repr(C)]
2537#[derive(Debug, Copy, Clone)]
2538pub struct bpf_line_info {
2539 pub insn_off: __u32,
2540 pub file_name_off: __u32,
2541 pub line_off: __u32,
2542 pub line_col: __u32,
2543}
2544#[repr(C)]
2545#[derive(Debug, Copy, Clone)]
2546pub struct bpf_spin_lock {
2547 pub val: __u32,
2548}
2549#[repr(C)]
2550#[derive(Debug, Copy, Clone)]
2551pub struct bpf_sysctl {
2552 pub write: __u32,
2553 pub file_pos: __u32,
2554}
2555#[repr(C)]
2556#[derive(Copy, Clone)]
2557pub struct bpf_sockopt {
2558 pub __bindgen_anon_1: bpf_sockopt__bindgen_ty_1,
2559 pub __bindgen_anon_2: bpf_sockopt__bindgen_ty_2,
2560 pub __bindgen_anon_3: bpf_sockopt__bindgen_ty_3,
2561 pub level: __s32,
2562 pub optname: __s32,
2563 pub optlen: __s32,
2564 pub retval: __s32,
2565}
2566#[repr(C)]
2567#[derive(Copy, Clone)]
2568pub union bpf_sockopt__bindgen_ty_1 {
2569 pub sk: *mut bpf_sock,
2570 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2571 _bindgen_union_align: u64,
2572}
2573impl bpf_sockopt__bindgen_ty_1 {
2574 #[inline]
2575 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2576 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2577 Default::default();
2578 __bindgen_bitfield_unit
2579 }
2580}
2581#[repr(C)]
2582#[derive(Copy, Clone)]
2583pub union bpf_sockopt__bindgen_ty_2 {
2584 pub optval: *mut ::std::os::raw::c_void,
2585 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2586 _bindgen_union_align: u64,
2587}
2588impl bpf_sockopt__bindgen_ty_2 {
2589 #[inline]
2590 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2591 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2592 Default::default();
2593 __bindgen_bitfield_unit
2594 }
2595}
2596#[repr(C)]
2597#[derive(Copy, Clone)]
2598pub union bpf_sockopt__bindgen_ty_3 {
2599 pub optval_end: *mut ::std::os::raw::c_void,
2600 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u8>,
2601 _bindgen_union_align: u64,
2602}
2603impl bpf_sockopt__bindgen_ty_3 {
2604 #[inline]
2605 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize], u8> {
2606 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u8> =
2607 Default::default();
2608 __bindgen_bitfield_unit
2609 }
2610}
2611pub type size_t = ::std::os::raw::c_ulong;
2612pub type wchar_t = ::std::os::raw::c_int;
2613#[repr(C)]
2614#[repr(align(16))]
2615#[derive(Debug, Copy, Clone)]
2616pub struct max_align_t {
2617 pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
2618 pub __bindgen_padding_0: u64,
2619 pub __clang_max_align_nonce2: u128,
2620}
2621pub type __u_char = ::std::os::raw::c_uchar;
2622pub type __u_short = ::std::os::raw::c_ushort;
2623pub type __u_int = ::std::os::raw::c_uint;
2624pub type __u_long = ::std::os::raw::c_ulong;
2625pub type __int8_t = ::std::os::raw::c_schar;
2626pub type __uint8_t = ::std::os::raw::c_uchar;
2627pub type __int16_t = ::std::os::raw::c_short;
2628pub type __uint16_t = ::std::os::raw::c_ushort;
2629pub type __int32_t = ::std::os::raw::c_int;
2630pub type __uint32_t = ::std::os::raw::c_uint;
2631pub type __int64_t = ::std::os::raw::c_long;
2632pub type __uint64_t = ::std::os::raw::c_ulong;
2633pub type __int_least8_t = __int8_t;
2634pub type __uint_least8_t = __uint8_t;
2635pub type __int_least16_t = __int16_t;
2636pub type __uint_least16_t = __uint16_t;
2637pub type __int_least32_t = __int32_t;
2638pub type __uint_least32_t = __uint32_t;
2639pub type __int_least64_t = __int64_t;
2640pub type __uint_least64_t = __uint64_t;
2641pub type __quad_t = ::std::os::raw::c_long;
2642pub type __u_quad_t = ::std::os::raw::c_ulong;
2643pub type __intmax_t = ::std::os::raw::c_long;
2644pub type __uintmax_t = ::std::os::raw::c_ulong;
2645pub type __dev_t = ::std::os::raw::c_ulong;
2646pub type __uid_t = ::std::os::raw::c_uint;
2647pub type __gid_t = ::std::os::raw::c_uint;
2648pub type __ino_t = ::std::os::raw::c_ulong;
2649pub type __ino64_t = ::std::os::raw::c_ulong;
2650pub type __mode_t = ::std::os::raw::c_uint;
2651pub type __nlink_t = ::std::os::raw::c_ulong;
2652pub type __off_t = ::std::os::raw::c_long;
2653pub type __off64_t = ::std::os::raw::c_long;
2654pub type __pid_t = ::std::os::raw::c_int;
2655#[repr(C)]
2656#[derive(Debug, Copy, Clone)]
2657pub struct __fsid_t {
2658 pub __val: [::std::os::raw::c_int; 2usize],
2659}
2660pub type __clock_t = ::std::os::raw::c_long;
2661pub type __rlim_t = ::std::os::raw::c_ulong;
2662pub type __rlim64_t = ::std::os::raw::c_ulong;
2663pub type __id_t = ::std::os::raw::c_uint;
2664pub type __time_t = ::std::os::raw::c_long;
2665pub type __useconds_t = ::std::os::raw::c_uint;
2666pub type __suseconds_t = ::std::os::raw::c_long;
2667pub type __daddr_t = ::std::os::raw::c_int;
2668pub type __key_t = ::std::os::raw::c_int;
2669pub type __clockid_t = ::std::os::raw::c_int;
2670pub type __timer_t = *mut ::std::os::raw::c_void;
2671pub type __blksize_t = ::std::os::raw::c_long;
2672pub type __blkcnt_t = ::std::os::raw::c_long;
2673pub type __blkcnt64_t = ::std::os::raw::c_long;
2674pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
2675pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
2676pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
2677pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
2678pub type __fsword_t = ::std::os::raw::c_long;
2679pub type __ssize_t = ::std::os::raw::c_long;
2680pub type __syscall_slong_t = ::std::os::raw::c_long;
2681pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
2682pub type __loff_t = __off64_t;
2683pub type __caddr_t = *mut ::std::os::raw::c_char;
2684pub type __intptr_t = ::std::os::raw::c_long;
2685pub type __socklen_t = ::std::os::raw::c_uint;
2686pub type __sig_atomic_t = ::std::os::raw::c_int;
2687pub type int_least8_t = __int_least8_t;
2688pub type int_least16_t = __int_least16_t;
2689pub type int_least32_t = __int_least32_t;
2690pub type int_least64_t = __int_least64_t;
2691pub type uint_least8_t = __uint_least8_t;
2692pub type uint_least16_t = __uint_least16_t;
2693pub type uint_least32_t = __uint_least32_t;
2694pub type uint_least64_t = __uint_least64_t;
2695pub type int_fast8_t = ::std::os::raw::c_schar;
2696pub type int_fast16_t = ::std::os::raw::c_long;
2697pub type int_fast32_t = ::std::os::raw::c_long;
2698pub type int_fast64_t = ::std::os::raw::c_long;
2699pub type uint_fast8_t = ::std::os::raw::c_uchar;
2700pub type uint_fast16_t = ::std::os::raw::c_ulong;
2701pub type uint_fast32_t = ::std::os::raw::c_ulong;
2702pub type uint_fast64_t = ::std::os::raw::c_ulong;
2703pub type intmax_t = __intmax_t;
2704pub type uintmax_t = __uintmax_t;
2705extern "C" {
2706 pub fn memcpy(
2707 __dest: *mut ::std::os::raw::c_void,
2708 __src: *const ::std::os::raw::c_void,
2709 __n: ::std::os::raw::c_ulong,
2710 ) -> *mut ::std::os::raw::c_void;
2711}
2712extern "C" {
2713 pub fn memmove(
2714 __dest: *mut ::std::os::raw::c_void,
2715 __src: *const ::std::os::raw::c_void,
2716 __n: ::std::os::raw::c_ulong,
2717 ) -> *mut ::std::os::raw::c_void;
2718}
2719extern "C" {
2720 pub fn memccpy(
2721 __dest: *mut ::std::os::raw::c_void,
2722 __src: *const ::std::os::raw::c_void,
2723 __c: ::std::os::raw::c_int,
2724 __n: size_t,
2725 ) -> *mut ::std::os::raw::c_void;
2726}
2727extern "C" {
2728 pub fn memset(
2729 __s: *mut ::std::os::raw::c_void,
2730 __c: ::std::os::raw::c_int,
2731 __n: ::std::os::raw::c_ulong,
2732 ) -> *mut ::std::os::raw::c_void;
2733}
2734extern "C" {
2735 pub fn memcmp(
2736 __s1: *const ::std::os::raw::c_void,
2737 __s2: *const ::std::os::raw::c_void,
2738 __n: ::std::os::raw::c_ulong,
2739 ) -> ::std::os::raw::c_int;
2740}
2741extern "C" {
2742 pub fn memchr(
2743 __s: *const ::std::os::raw::c_void,
2744 __c: ::std::os::raw::c_int,
2745 __n: ::std::os::raw::c_ulong,
2746 ) -> *mut ::std::os::raw::c_void;
2747}
2748extern "C" {
2749 pub fn strcpy(
2750 __dest: *mut ::std::os::raw::c_char,
2751 __src: *const ::std::os::raw::c_char,
2752 ) -> *mut ::std::os::raw::c_char;
2753}
2754extern "C" {
2755 pub fn strncpy(
2756 __dest: *mut ::std::os::raw::c_char,
2757 __src: *const ::std::os::raw::c_char,
2758 __n: ::std::os::raw::c_ulong,
2759 ) -> *mut ::std::os::raw::c_char;
2760}
2761extern "C" {
2762 pub fn strcat(
2763 __dest: *mut ::std::os::raw::c_char,
2764 __src: *const ::std::os::raw::c_char,
2765 ) -> *mut ::std::os::raw::c_char;
2766}
2767extern "C" {
2768 pub fn strncat(
2769 __dest: *mut ::std::os::raw::c_char,
2770 __src: *const ::std::os::raw::c_char,
2771 __n: ::std::os::raw::c_ulong,
2772 ) -> *mut ::std::os::raw::c_char;
2773}
2774extern "C" {
2775 pub fn strcmp(
2776 __s1: *const ::std::os::raw::c_char,
2777 __s2: *const ::std::os::raw::c_char,
2778 ) -> ::std::os::raw::c_int;
2779}
2780extern "C" {
2781 pub fn strncmp(
2782 __s1: *const ::std::os::raw::c_char,
2783 __s2: *const ::std::os::raw::c_char,
2784 __n: ::std::os::raw::c_ulong,
2785 ) -> ::std::os::raw::c_int;
2786}
2787extern "C" {
2788 pub fn strcoll(
2789 __s1: *const ::std::os::raw::c_char,
2790 __s2: *const ::std::os::raw::c_char,
2791 ) -> ::std::os::raw::c_int;
2792}
2793extern "C" {
2794 pub fn strxfrm(
2795 __dest: *mut ::std::os::raw::c_char,
2796 __src: *const ::std::os::raw::c_char,
2797 __n: ::std::os::raw::c_ulong,
2798 ) -> ::std::os::raw::c_ulong;
2799}
2800#[repr(C)]
2801#[derive(Debug, Copy, Clone)]
2802pub struct __locale_struct {
2803 pub __locales: [*mut __locale_data; 13usize],
2804 pub __ctype_b: *const ::std::os::raw::c_ushort,
2805 pub __ctype_tolower: *const ::std::os::raw::c_int,
2806 pub __ctype_toupper: *const ::std::os::raw::c_int,
2807 pub __names: [*const ::std::os::raw::c_char; 13usize],
2808}
2809pub type __locale_t = *mut __locale_struct;
2810pub type locale_t = __locale_t;
2811extern "C" {
2812 pub fn strcoll_l(
2813 __s1: *const ::std::os::raw::c_char,
2814 __s2: *const ::std::os::raw::c_char,
2815 __l: locale_t,
2816 ) -> ::std::os::raw::c_int;
2817}
2818extern "C" {
2819 pub fn strxfrm_l(
2820 __dest: *mut ::std::os::raw::c_char,
2821 __src: *const ::std::os::raw::c_char,
2822 __n: size_t,
2823 __l: locale_t,
2824 ) -> size_t;
2825}
2826extern "C" {
2827 pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2828}
2829extern "C" {
2830 pub fn strndup(
2831 __string: *const ::std::os::raw::c_char,
2832 __n: ::std::os::raw::c_ulong,
2833 ) -> *mut ::std::os::raw::c_char;
2834}
2835extern "C" {
2836 pub fn strchr(
2837 __s: *const ::std::os::raw::c_char,
2838 __c: ::std::os::raw::c_int,
2839 ) -> *mut ::std::os::raw::c_char;
2840}
2841extern "C" {
2842 pub fn strrchr(
2843 __s: *const ::std::os::raw::c_char,
2844 __c: ::std::os::raw::c_int,
2845 ) -> *mut ::std::os::raw::c_char;
2846}
2847extern "C" {
2848 pub fn strcspn(
2849 __s: *const ::std::os::raw::c_char,
2850 __reject: *const ::std::os::raw::c_char,
2851 ) -> ::std::os::raw::c_ulong;
2852}
2853extern "C" {
2854 pub fn strspn(
2855 __s: *const ::std::os::raw::c_char,
2856 __accept: *const ::std::os::raw::c_char,
2857 ) -> ::std::os::raw::c_ulong;
2858}
2859extern "C" {
2860 pub fn strpbrk(
2861 __s: *const ::std::os::raw::c_char,
2862 __accept: *const ::std::os::raw::c_char,
2863 ) -> *mut ::std::os::raw::c_char;
2864}
2865extern "C" {
2866 pub fn strstr(
2867 __haystack: *const ::std::os::raw::c_char,
2868 __needle: *const ::std::os::raw::c_char,
2869 ) -> *mut ::std::os::raw::c_char;
2870}
2871extern "C" {
2872 pub fn strtok(
2873 __s: *mut ::std::os::raw::c_char,
2874 __delim: *const ::std::os::raw::c_char,
2875 ) -> *mut ::std::os::raw::c_char;
2876}
2877extern "C" {
2878 pub fn __strtok_r(
2879 __s: *mut ::std::os::raw::c_char,
2880 __delim: *const ::std::os::raw::c_char,
2881 __save_ptr: *mut *mut ::std::os::raw::c_char,
2882 ) -> *mut ::std::os::raw::c_char;
2883}
2884extern "C" {
2885 pub fn strtok_r(
2886 __s: *mut ::std::os::raw::c_char,
2887 __delim: *const ::std::os::raw::c_char,
2888 __save_ptr: *mut *mut ::std::os::raw::c_char,
2889 ) -> *mut ::std::os::raw::c_char;
2890}
2891extern "C" {
2892 pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
2893}
2894extern "C" {
2895 pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: size_t) -> size_t;
2896}
2897extern "C" {
2898 pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2899}
2900extern "C" {
2901 #[link_name = "\u{1}__xpg_strerror_r"]
2902 pub fn strerror_r(
2903 __errnum: ::std::os::raw::c_int,
2904 __buf: *mut ::std::os::raw::c_char,
2905 __buflen: size_t,
2906 ) -> ::std::os::raw::c_int;
2907}
2908extern "C" {
2909 pub fn strerror_l(
2910 __errnum: ::std::os::raw::c_int,
2911 __l: locale_t,
2912 ) -> *mut ::std::os::raw::c_char;
2913}
2914extern "C" {
2915 pub fn bcmp(
2916 __s1: *const ::std::os::raw::c_void,
2917 __s2: *const ::std::os::raw::c_void,
2918 __n: ::std::os::raw::c_ulong,
2919 ) -> ::std::os::raw::c_int;
2920}
2921extern "C" {
2922 pub fn bcopy(
2923 __src: *const ::std::os::raw::c_void,
2924 __dest: *mut ::std::os::raw::c_void,
2925 __n: size_t,
2926 );
2927}
2928extern "C" {
2929 pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
2930}
2931extern "C" {
2932 pub fn index(
2933 __s: *const ::std::os::raw::c_char,
2934 __c: ::std::os::raw::c_int,
2935 ) -> *mut ::std::os::raw::c_char;
2936}
2937extern "C" {
2938 pub fn rindex(
2939 __s: *const ::std::os::raw::c_char,
2940 __c: ::std::os::raw::c_int,
2941 ) -> *mut ::std::os::raw::c_char;
2942}
2943extern "C" {
2944 pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2945}
2946extern "C" {
2947 pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
2948}
2949extern "C" {
2950 pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
2951}
2952extern "C" {
2953 pub fn strcasecmp(
2954 __s1: *const ::std::os::raw::c_char,
2955 __s2: *const ::std::os::raw::c_char,
2956 ) -> ::std::os::raw::c_int;
2957}
2958extern "C" {
2959 pub fn strncasecmp(
2960 __s1: *const ::std::os::raw::c_char,
2961 __s2: *const ::std::os::raw::c_char,
2962 __n: ::std::os::raw::c_ulong,
2963 ) -> ::std::os::raw::c_int;
2964}
2965extern "C" {
2966 pub fn strcasecmp_l(
2967 __s1: *const ::std::os::raw::c_char,
2968 __s2: *const ::std::os::raw::c_char,
2969 __loc: locale_t,
2970 ) -> ::std::os::raw::c_int;
2971}
2972extern "C" {
2973 pub fn strncasecmp_l(
2974 __s1: *const ::std::os::raw::c_char,
2975 __s2: *const ::std::os::raw::c_char,
2976 __n: size_t,
2977 __loc: locale_t,
2978 ) -> ::std::os::raw::c_int;
2979}
2980extern "C" {
2981 pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: size_t);
2982}
2983extern "C" {
2984 pub fn strsep(
2985 __stringp: *mut *mut ::std::os::raw::c_char,
2986 __delim: *const ::std::os::raw::c_char,
2987 ) -> *mut ::std::os::raw::c_char;
2988}
2989extern "C" {
2990 pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2991}
2992extern "C" {
2993 pub fn __stpcpy(
2994 __dest: *mut ::std::os::raw::c_char,
2995 __src: *const ::std::os::raw::c_char,
2996 ) -> *mut ::std::os::raw::c_char;
2997}
2998extern "C" {
2999 pub fn stpcpy(
3000 __dest: *mut ::std::os::raw::c_char,
3001 __src: *const ::std::os::raw::c_char,
3002 ) -> *mut ::std::os::raw::c_char;
3003}
3004extern "C" {
3005 pub fn __stpncpy(
3006 __dest: *mut ::std::os::raw::c_char,
3007 __src: *const ::std::os::raw::c_char,
3008 __n: size_t,
3009 ) -> *mut ::std::os::raw::c_char;
3010}
3011extern "C" {
3012 pub fn stpncpy(
3013 __dest: *mut ::std::os::raw::c_char,
3014 __src: *const ::std::os::raw::c_char,
3015 __n: ::std::os::raw::c_ulong,
3016 ) -> *mut ::std::os::raw::c_char;
3017}
3018#[repr(C)]
3019#[derive(Copy, Clone)]
3020pub struct bpf_create_map_attr {
3021 pub name: *const ::std::os::raw::c_char,
3022 pub map_type: bpf_map_type,
3023 pub map_flags: __u32,
3024 pub key_size: __u32,
3025 pub value_size: __u32,
3026 pub max_entries: __u32,
3027 pub numa_node: __u32,
3028 pub btf_fd: __u32,
3029 pub btf_key_type_id: __u32,
3030 pub btf_value_type_id: __u32,
3031 pub map_ifindex: __u32,
3032 pub __bindgen_anon_1: bpf_create_map_attr__bindgen_ty_1,
3033}
3034#[repr(C)]
3035#[derive(Copy, Clone)]
3036pub union bpf_create_map_attr__bindgen_ty_1 {
3037 pub inner_map_fd: __u32,
3038 pub btf_vmlinux_value_type_id: __u32,
3039 _bindgen_union_align: u32,
3040}
3041extern "C" {
3042 pub fn bpf_create_map_xattr(create_attr: *const bpf_create_map_attr) -> ::std::os::raw::c_int;
3043}
3044extern "C" {
3045 pub fn bpf_create_map_node(
3046 map_type: bpf_map_type,
3047 name: *const ::std::os::raw::c_char,
3048 key_size: ::std::os::raw::c_int,
3049 value_size: ::std::os::raw::c_int,
3050 max_entries: ::std::os::raw::c_int,
3051 map_flags: __u32,
3052 node: ::std::os::raw::c_int,
3053 ) -> ::std::os::raw::c_int;
3054}
3055extern "C" {
3056 pub fn bpf_create_map_name(
3057 map_type: bpf_map_type,
3058 name: *const ::std::os::raw::c_char,
3059 key_size: ::std::os::raw::c_int,
3060 value_size: ::std::os::raw::c_int,
3061 max_entries: ::std::os::raw::c_int,
3062 map_flags: __u32,
3063 ) -> ::std::os::raw::c_int;
3064}
3065extern "C" {
3066 pub fn bpf_create_map(
3067 map_type: bpf_map_type,
3068 key_size: ::std::os::raw::c_int,
3069 value_size: ::std::os::raw::c_int,
3070 max_entries: ::std::os::raw::c_int,
3071 map_flags: __u32,
3072 ) -> ::std::os::raw::c_int;
3073}
3074extern "C" {
3075 pub fn bpf_create_map_in_map_node(
3076 map_type: bpf_map_type,
3077 name: *const ::std::os::raw::c_char,
3078 key_size: ::std::os::raw::c_int,
3079 inner_map_fd: ::std::os::raw::c_int,
3080 max_entries: ::std::os::raw::c_int,
3081 map_flags: __u32,
3082 node: ::std::os::raw::c_int,
3083 ) -> ::std::os::raw::c_int;
3084}
3085extern "C" {
3086 pub fn bpf_create_map_in_map(
3087 map_type: bpf_map_type,
3088 name: *const ::std::os::raw::c_char,
3089 key_size: ::std::os::raw::c_int,
3090 inner_map_fd: ::std::os::raw::c_int,
3091 max_entries: ::std::os::raw::c_int,
3092 map_flags: __u32,
3093 ) -> ::std::os::raw::c_int;
3094}
3095#[repr(C)]
3096#[derive(Copy, Clone)]
3097pub struct bpf_load_program_attr {
3098 pub prog_type: bpf_prog_type,
3099 pub expected_attach_type: bpf_attach_type,
3100 pub name: *const ::std::os::raw::c_char,
3101 pub insns: *const bpf_insn,
3102 pub insns_cnt: size_t,
3103 pub license: *const ::std::os::raw::c_char,
3104 pub __bindgen_anon_1: bpf_load_program_attr__bindgen_ty_1,
3105 pub __bindgen_anon_2: bpf_load_program_attr__bindgen_ty_2,
3106 pub prog_btf_fd: __u32,
3107 pub func_info_rec_size: __u32,
3108 pub func_info: *const ::std::os::raw::c_void,
3109 pub func_info_cnt: __u32,
3110 pub line_info_rec_size: __u32,
3111 pub line_info: *const ::std::os::raw::c_void,
3112 pub line_info_cnt: __u32,
3113 pub log_level: __u32,
3114 pub prog_flags: __u32,
3115}
3116#[repr(C)]
3117#[derive(Copy, Clone)]
3118pub union bpf_load_program_attr__bindgen_ty_1 {
3119 pub kern_version: __u32,
3120 pub attach_prog_fd: __u32,
3121 _bindgen_union_align: u32,
3122}
3123#[repr(C)]
3124#[derive(Copy, Clone)]
3125pub union bpf_load_program_attr__bindgen_ty_2 {
3126 pub prog_ifindex: __u32,
3127 pub attach_btf_id: __u32,
3128 _bindgen_union_align: u32,
3129}
3130extern "C" {
3131 pub fn bpf_load_program_xattr(
3132 load_attr: *const bpf_load_program_attr,
3133 log_buf: *mut ::std::os::raw::c_char,
3134 log_buf_sz: size_t,
3135 ) -> ::std::os::raw::c_int;
3136}
3137extern "C" {
3138 pub fn bpf_load_program(
3139 type_: bpf_prog_type,
3140 insns: *const bpf_insn,
3141 insns_cnt: size_t,
3142 license: *const ::std::os::raw::c_char,
3143 kern_version: __u32,
3144 log_buf: *mut ::std::os::raw::c_char,
3145 log_buf_sz: size_t,
3146 ) -> ::std::os::raw::c_int;
3147}
3148extern "C" {
3149 pub fn bpf_verify_program(
3150 type_: bpf_prog_type,
3151 insns: *const bpf_insn,
3152 insns_cnt: size_t,
3153 prog_flags: __u32,
3154 license: *const ::std::os::raw::c_char,
3155 kern_version: __u32,
3156 log_buf: *mut ::std::os::raw::c_char,
3157 log_buf_sz: size_t,
3158 log_level: ::std::os::raw::c_int,
3159 ) -> ::std::os::raw::c_int;
3160}
3161extern "C" {
3162 pub fn bpf_map_update_elem(
3163 fd: ::std::os::raw::c_int,
3164 key: *const ::std::os::raw::c_void,
3165 value: *const ::std::os::raw::c_void,
3166 flags: __u64,
3167 ) -> ::std::os::raw::c_int;
3168}
3169extern "C" {
3170 pub fn bpf_map_lookup_elem(
3171 fd: ::std::os::raw::c_int,
3172 key: *const ::std::os::raw::c_void,
3173 value: *mut ::std::os::raw::c_void,
3174 ) -> ::std::os::raw::c_int;
3175}
3176extern "C" {
3177 pub fn bpf_map_lookup_elem_flags(
3178 fd: ::std::os::raw::c_int,
3179 key: *const ::std::os::raw::c_void,
3180 value: *mut ::std::os::raw::c_void,
3181 flags: __u64,
3182 ) -> ::std::os::raw::c_int;
3183}
3184extern "C" {
3185 pub fn bpf_map_lookup_and_delete_elem(
3186 fd: ::std::os::raw::c_int,
3187 key: *const ::std::os::raw::c_void,
3188 value: *mut ::std::os::raw::c_void,
3189 ) -> ::std::os::raw::c_int;
3190}
3191extern "C" {
3192 pub fn bpf_map_delete_elem(
3193 fd: ::std::os::raw::c_int,
3194 key: *const ::std::os::raw::c_void,
3195 ) -> ::std::os::raw::c_int;
3196}
3197extern "C" {
3198 pub fn bpf_map_get_next_key(
3199 fd: ::std::os::raw::c_int,
3200 key: *const ::std::os::raw::c_void,
3201 next_key: *mut ::std::os::raw::c_void,
3202 ) -> ::std::os::raw::c_int;
3203}
3204extern "C" {
3205 pub fn bpf_map_freeze(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3206}
3207#[repr(C)]
3208#[derive(Debug, Copy, Clone)]
3209pub struct bpf_map_batch_opts {
3210 pub sz: size_t,
3211 pub elem_flags: __u64,
3212 pub flags: __u64,
3213}
3214extern "C" {
3215 pub fn bpf_map_delete_batch(
3216 fd: ::std::os::raw::c_int,
3217 keys: *mut ::std::os::raw::c_void,
3218 count: *mut __u32,
3219 opts: *const bpf_map_batch_opts,
3220 ) -> ::std::os::raw::c_int;
3221}
3222extern "C" {
3223 pub fn bpf_map_lookup_batch(
3224 fd: ::std::os::raw::c_int,
3225 in_batch: *mut ::std::os::raw::c_void,
3226 out_batch: *mut ::std::os::raw::c_void,
3227 keys: *mut ::std::os::raw::c_void,
3228 values: *mut ::std::os::raw::c_void,
3229 count: *mut __u32,
3230 opts: *const bpf_map_batch_opts,
3231 ) -> ::std::os::raw::c_int;
3232}
3233extern "C" {
3234 pub fn bpf_map_lookup_and_delete_batch(
3235 fd: ::std::os::raw::c_int,
3236 in_batch: *mut ::std::os::raw::c_void,
3237 out_batch: *mut ::std::os::raw::c_void,
3238 keys: *mut ::std::os::raw::c_void,
3239 values: *mut ::std::os::raw::c_void,
3240 count: *mut __u32,
3241 opts: *const bpf_map_batch_opts,
3242 ) -> ::std::os::raw::c_int;
3243}
3244extern "C" {
3245 pub fn bpf_map_update_batch(
3246 fd: ::std::os::raw::c_int,
3247 keys: *mut ::std::os::raw::c_void,
3248 values: *mut ::std::os::raw::c_void,
3249 count: *mut __u32,
3250 opts: *const bpf_map_batch_opts,
3251 ) -> ::std::os::raw::c_int;
3252}
3253extern "C" {
3254 pub fn bpf_obj_pin(
3255 fd: ::std::os::raw::c_int,
3256 pathname: *const ::std::os::raw::c_char,
3257 ) -> ::std::os::raw::c_int;
3258}
3259extern "C" {
3260 pub fn bpf_obj_get(pathname: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3261}
3262#[repr(C)]
3263#[derive(Debug, Copy, Clone)]
3264pub struct bpf_prog_attach_opts {
3265 pub sz: size_t,
3266 pub flags: ::std::os::raw::c_uint,
3267 pub replace_prog_fd: ::std::os::raw::c_int,
3268}
3269extern "C" {
3270 pub fn bpf_prog_attach(
3271 prog_fd: ::std::os::raw::c_int,
3272 attachable_fd: ::std::os::raw::c_int,
3273 type_: bpf_attach_type,
3274 flags: ::std::os::raw::c_uint,
3275 ) -> ::std::os::raw::c_int;
3276}
3277extern "C" {
3278 pub fn bpf_prog_attach_xattr(
3279 prog_fd: ::std::os::raw::c_int,
3280 attachable_fd: ::std::os::raw::c_int,
3281 type_: bpf_attach_type,
3282 opts: *const bpf_prog_attach_opts,
3283 ) -> ::std::os::raw::c_int;
3284}
3285extern "C" {
3286 pub fn bpf_prog_detach(
3287 attachable_fd: ::std::os::raw::c_int,
3288 type_: bpf_attach_type,
3289 ) -> ::std::os::raw::c_int;
3290}
3291extern "C" {
3292 pub fn bpf_prog_detach2(
3293 prog_fd: ::std::os::raw::c_int,
3294 attachable_fd: ::std::os::raw::c_int,
3295 type_: bpf_attach_type,
3296 ) -> ::std::os::raw::c_int;
3297}
3298#[repr(C)]
3299#[derive(Debug, Copy, Clone)]
3300pub struct bpf_prog_test_run_attr {
3301 pub prog_fd: ::std::os::raw::c_int,
3302 pub repeat: ::std::os::raw::c_int,
3303 pub data_in: *const ::std::os::raw::c_void,
3304 pub data_size_in: __u32,
3305 pub data_out: *mut ::std::os::raw::c_void,
3306 pub data_size_out: __u32,
3307 pub retval: __u32,
3308 pub duration: __u32,
3309 pub ctx_in: *const ::std::os::raw::c_void,
3310 pub ctx_size_in: __u32,
3311 pub ctx_out: *mut ::std::os::raw::c_void,
3312 pub ctx_size_out: __u32,
3313}
3314extern "C" {
3315 pub fn bpf_prog_test_run_xattr(test_attr: *mut bpf_prog_test_run_attr)
3316 -> ::std::os::raw::c_int;
3317}
3318extern "C" {
3319 pub fn bpf_prog_test_run(
3320 prog_fd: ::std::os::raw::c_int,
3321 repeat: ::std::os::raw::c_int,
3322 data: *mut ::std::os::raw::c_void,
3323 size: __u32,
3324 data_out: *mut ::std::os::raw::c_void,
3325 size_out: *mut __u32,
3326 retval: *mut __u32,
3327 duration: *mut __u32,
3328 ) -> ::std::os::raw::c_int;
3329}
3330extern "C" {
3331 pub fn bpf_prog_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
3332}
3333extern "C" {
3334 pub fn bpf_map_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
3335}
3336extern "C" {
3337 pub fn bpf_btf_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
3338}
3339extern "C" {
3340 pub fn bpf_prog_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
3341}
3342extern "C" {
3343 pub fn bpf_map_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
3344}
3345extern "C" {
3346 pub fn bpf_btf_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
3347}
3348extern "C" {
3349 pub fn bpf_obj_get_info_by_fd(
3350 prog_fd: ::std::os::raw::c_int,
3351 info: *mut ::std::os::raw::c_void,
3352 info_len: *mut __u32,
3353 ) -> ::std::os::raw::c_int;
3354}
3355extern "C" {
3356 pub fn bpf_prog_query(
3357 target_fd: ::std::os::raw::c_int,
3358 type_: bpf_attach_type,
3359 query_flags: __u32,
3360 attach_flags: *mut __u32,
3361 prog_ids: *mut __u32,
3362 prog_cnt: *mut __u32,
3363 ) -> ::std::os::raw::c_int;
3364}
3365extern "C" {
3366 pub fn bpf_raw_tracepoint_open(
3367 name: *const ::std::os::raw::c_char,
3368 prog_fd: ::std::os::raw::c_int,
3369 ) -> ::std::os::raw::c_int;
3370}
3371extern "C" {
3372 pub fn bpf_load_btf(
3373 btf: *mut ::std::os::raw::c_void,
3374 btf_size: __u32,
3375 log_buf: *mut ::std::os::raw::c_char,
3376 log_buf_size: __u32,
3377 do_log: bool,
3378 ) -> ::std::os::raw::c_int;
3379}
3380extern "C" {
3381 pub fn bpf_task_fd_query(
3382 pid: ::std::os::raw::c_int,
3383 fd: ::std::os::raw::c_int,
3384 flags: __u32,
3385 buf: *mut ::std::os::raw::c_char,
3386 buf_len: *mut __u32,
3387 prog_id: *mut __u32,
3388 fd_type: *mut __u32,
3389 probe_offset: *mut __u64,
3390 probe_addr: *mut __u64,
3391 ) -> ::std::os::raw::c_int;
3392}
3393pub type va_list = __builtin_va_list;
3394pub type __gnuc_va_list = __builtin_va_list;
3395#[repr(C)]
3396#[derive(Debug, Copy, Clone)]
3397pub struct btf_header {
3398 pub magic: __u16,
3399 pub version: __u8,
3400 pub flags: __u8,
3401 pub hdr_len: __u32,
3402 pub type_off: __u32,
3403 pub type_len: __u32,
3404 pub str_off: __u32,
3405 pub str_len: __u32,
3406}
3407#[repr(C)]
3408#[derive(Copy, Clone)]
3409pub struct btf_type {
3410 pub name_off: __u32,
3411 pub info: __u32,
3412 pub __bindgen_anon_1: btf_type__bindgen_ty_1,
3413}
3414#[repr(C)]
3415#[derive(Copy, Clone)]
3416pub union btf_type__bindgen_ty_1 {
3417 pub size: __u32,
3418 pub type_: __u32,
3419 _bindgen_union_align: u32,
3420}
3421#[repr(C)]
3422#[derive(Debug, Copy, Clone)]
3423pub struct btf_enum {
3424 pub name_off: __u32,
3425 pub val: __s32,
3426}
3427#[repr(C)]
3428#[derive(Debug, Copy, Clone)]
3429pub struct btf_array {
3430 pub type_: __u32,
3431 pub index_type: __u32,
3432 pub nelems: __u32,
3433}
3434#[repr(C)]
3435#[derive(Debug, Copy, Clone)]
3436pub struct btf_member {
3437 pub name_off: __u32,
3438 pub type_: __u32,
3439 pub offset: __u32,
3440}
3441#[repr(C)]
3442#[derive(Debug, Copy, Clone)]
3443pub struct btf_param {
3444 pub name_off: __u32,
3445 pub type_: __u32,
3446}
3447pub const BTF_VAR_STATIC: _bindgen_ty_48 = 0;
3448pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_48 = 1;
3449pub type _bindgen_ty_48 = u32;
3450#[repr(C)]
3451#[derive(Debug, Copy, Clone)]
3452pub struct btf_var {
3453 pub linkage: __u32,
3454}
3455#[repr(C)]
3456#[derive(Debug, Copy, Clone)]
3457pub struct btf_var_secinfo {
3458 pub type_: __u32,
3459 pub offset: __u32,
3460 pub size: __u32,
3461}
3462#[repr(C)]
3463#[derive(Debug, Copy, Clone)]
3464pub struct btf {
3465 _unused: [u8; 0],
3466}
3467#[repr(C)]
3468#[derive(Debug, Copy, Clone)]
3469pub struct btf_ext {
3470 _unused: [u8; 0],
3471}
3472#[repr(C)]
3473#[derive(Debug, Copy, Clone)]
3474pub struct bpf_object {
3475 _unused: [u8; 0],
3476}
3477#[repr(C)]
3478#[derive(Debug, Copy, Clone)]
3479pub struct btf_ext_header {
3480 pub magic: __u16,
3481 pub version: __u8,
3482 pub flags: __u8,
3483 pub hdr_len: __u32,
3484 pub func_info_off: __u32,
3485 pub func_info_len: __u32,
3486 pub line_info_off: __u32,
3487 pub line_info_len: __u32,
3488 pub field_reloc_off: __u32,
3489 pub field_reloc_len: __u32,
3490}
3491extern "C" {
3492 pub fn btf__free(btf: *mut btf);
3493}
3494extern "C" {
3495 pub fn btf__new(data: *mut __u8, size: __u32) -> *mut btf;
3496}
3497extern "C" {
3498 pub fn btf__parse_elf(
3499 path: *const ::std::os::raw::c_char,
3500 btf_ext: *mut *mut btf_ext,
3501 ) -> *mut btf;
3502}
3503extern "C" {
3504 pub fn btf__finalize_data(obj: *mut bpf_object, btf: *mut btf) -> ::std::os::raw::c_int;
3505}
3506extern "C" {
3507 pub fn btf__load(btf: *mut btf) -> ::std::os::raw::c_int;
3508}
3509extern "C" {
3510 pub fn btf__find_by_name(btf: *const btf, type_name: *const ::std::os::raw::c_char) -> __s32;
3511}
3512extern "C" {
3513 pub fn btf__find_by_name_kind(
3514 btf: *const btf,
3515 type_name: *const ::std::os::raw::c_char,
3516 kind: __u32,
3517 ) -> __s32;
3518}
3519extern "C" {
3520 pub fn btf__get_nr_types(btf: *const btf) -> __u32;
3521}
3522extern "C" {
3523 pub fn btf__type_by_id(btf: *const btf, id: __u32) -> *const btf_type;
3524}
3525extern "C" {
3526 pub fn btf__resolve_size(btf: *const btf, type_id: __u32) -> __s64;
3527}
3528extern "C" {
3529 pub fn btf__resolve_type(btf: *const btf, type_id: __u32) -> ::std::os::raw::c_int;
3530}
3531extern "C" {
3532 pub fn btf__align_of(btf: *const btf, id: __u32) -> ::std::os::raw::c_int;
3533}
3534extern "C" {
3535 pub fn btf__fd(btf: *const btf) -> ::std::os::raw::c_int;
3536}
3537extern "C" {
3538 pub fn btf__get_raw_data(btf: *const btf, size: *mut __u32) -> *const ::std::os::raw::c_void;
3539}
3540extern "C" {
3541 pub fn btf__name_by_offset(btf: *const btf, offset: __u32) -> *const ::std::os::raw::c_char;
3542}
3543extern "C" {
3544 pub fn btf__get_from_id(id: __u32, btf: *mut *mut btf) -> ::std::os::raw::c_int;
3545}
3546extern "C" {
3547 pub fn btf__get_map_kv_tids(
3548 btf: *const btf,
3549 map_name: *const ::std::os::raw::c_char,
3550 expected_key_size: __u32,
3551 expected_value_size: __u32,
3552 key_type_id: *mut __u32,
3553 value_type_id: *mut __u32,
3554 ) -> ::std::os::raw::c_int;
3555}
3556extern "C" {
3557 pub fn btf_ext__new(data: *mut __u8, size: __u32) -> *mut btf_ext;
3558}
3559extern "C" {
3560 pub fn btf_ext__free(btf_ext: *mut btf_ext);
3561}
3562extern "C" {
3563 pub fn btf_ext__get_raw_data(
3564 btf_ext: *const btf_ext,
3565 size: *mut __u32,
3566 ) -> *const ::std::os::raw::c_void;
3567}
3568extern "C" {
3569 pub fn btf_ext__reloc_func_info(
3570 btf: *const btf,
3571 btf_ext: *const btf_ext,
3572 sec_name: *const ::std::os::raw::c_char,
3573 insns_cnt: __u32,
3574 func_info: *mut *mut ::std::os::raw::c_void,
3575 cnt: *mut __u32,
3576 ) -> ::std::os::raw::c_int;
3577}
3578extern "C" {
3579 pub fn btf_ext__reloc_line_info(
3580 btf: *const btf,
3581 btf_ext: *const btf_ext,
3582 sec_name: *const ::std::os::raw::c_char,
3583 insns_cnt: __u32,
3584 line_info: *mut *mut ::std::os::raw::c_void,
3585 cnt: *mut __u32,
3586 ) -> ::std::os::raw::c_int;
3587}
3588extern "C" {
3589 pub fn btf_ext__func_info_rec_size(btf_ext: *const btf_ext) -> __u32;
3590}
3591extern "C" {
3592 pub fn btf_ext__line_info_rec_size(btf_ext: *const btf_ext) -> __u32;
3593}
3594extern "C" {
3595 pub fn libbpf_find_kernel_btf() -> *mut btf;
3596}
3597#[repr(C)]
3598#[derive(Debug, Copy, Clone)]
3599pub struct btf_dedup_opts {
3600 pub dedup_table_size: ::std::os::raw::c_uint,
3601 pub dont_resolve_fwds: bool,
3602}
3603extern "C" {
3604 pub fn btf__dedup(
3605 btf: *mut btf,
3606 btf_ext: *mut btf_ext,
3607 opts: *const btf_dedup_opts,
3608 ) -> ::std::os::raw::c_int;
3609}
3610#[repr(C)]
3611#[derive(Debug, Copy, Clone)]
3612pub struct btf_dump {
3613 _unused: [u8; 0],
3614}
3615#[repr(C)]
3616#[derive(Debug, Copy, Clone)]
3617pub struct btf_dump_opts {
3618 pub ctx: *mut ::std::os::raw::c_void,
3619}
3620pub type btf_dump_printf_fn_t = ::std::option::Option<
3621 unsafe extern "C" fn(
3622 ctx: *mut ::std::os::raw::c_void,
3623 fmt: *const ::std::os::raw::c_char,
3624 args: *mut __va_list_tag,
3625 ),
3626>;
3627extern "C" {
3628 pub fn btf_dump__new(
3629 btf: *const btf,
3630 btf_ext: *const btf_ext,
3631 opts: *const btf_dump_opts,
3632 printf_fn: btf_dump_printf_fn_t,
3633 ) -> *mut btf_dump;
3634}
3635extern "C" {
3636 pub fn btf_dump__free(d: *mut btf_dump);
3637}
3638extern "C" {
3639 pub fn btf_dump__dump_type(d: *mut btf_dump, id: __u32) -> ::std::os::raw::c_int;
3640}
3641#[repr(C)]
3642#[derive(Debug, Copy, Clone)]
3643pub struct btf_dump_emit_type_decl_opts {
3644 pub sz: size_t,
3645 pub field_name: *const ::std::os::raw::c_char,
3646 pub indent_level: ::std::os::raw::c_int,
3647}
3648extern "C" {
3649 pub fn btf_dump__emit_type_decl(
3650 d: *mut btf_dump,
3651 id: __u32,
3652 opts: *const btf_dump_emit_type_decl_opts,
3653 ) -> ::std::os::raw::c_int;
3654}
3655#[repr(C)]
3656#[derive(Copy, Clone)]
3657pub struct __mbstate_t {
3658 pub __count: ::std::os::raw::c_int,
3659 pub __value: __mbstate_t__bindgen_ty_1,
3660}
3661#[repr(C)]
3662#[derive(Copy, Clone)]
3663pub union __mbstate_t__bindgen_ty_1 {
3664 pub __wch: ::std::os::raw::c_uint,
3665 pub __wchb: [::std::os::raw::c_char; 4usize],
3666 _bindgen_union_align: u32,
3667}
3668#[repr(C)]
3669#[derive(Copy, Clone)]
3670pub struct _G_fpos_t {
3671 pub __pos: __off_t,
3672 pub __state: __mbstate_t,
3673}
3674pub type __fpos_t = _G_fpos_t;
3675#[repr(C)]
3676#[derive(Copy, Clone)]
3677pub struct _G_fpos64_t {
3678 pub __pos: __off64_t,
3679 pub __state: __mbstate_t,
3680}
3681pub type __fpos64_t = _G_fpos64_t;
3682pub type __FILE = _IO_FILE;
3683pub type FILE = _IO_FILE;
3684#[repr(C)]
3685#[derive(Debug, Copy, Clone)]
3686pub struct _IO_marker {
3687 _unused: [u8; 0],
3688}
3689#[repr(C)]
3690#[derive(Debug, Copy, Clone)]
3691pub struct _IO_codecvt {
3692 _unused: [u8; 0],
3693}
3694#[repr(C)]
3695#[derive(Debug, Copy, Clone)]
3696pub struct _IO_wide_data {
3697 _unused: [u8; 0],
3698}
3699pub type _IO_lock_t = ::std::os::raw::c_void;
3700#[repr(C)]
3701#[derive(Debug, Copy, Clone)]
3702pub struct _IO_FILE {
3703 pub _flags: ::std::os::raw::c_int,
3704 pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3705 pub _IO_read_end: *mut ::std::os::raw::c_char,
3706 pub _IO_read_base: *mut ::std::os::raw::c_char,
3707 pub _IO_write_base: *mut ::std::os::raw::c_char,
3708 pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3709 pub _IO_write_end: *mut ::std::os::raw::c_char,
3710 pub _IO_buf_base: *mut ::std::os::raw::c_char,
3711 pub _IO_buf_end: *mut ::std::os::raw::c_char,
3712 pub _IO_save_base: *mut ::std::os::raw::c_char,
3713 pub _IO_backup_base: *mut ::std::os::raw::c_char,
3714 pub _IO_save_end: *mut ::std::os::raw::c_char,
3715 pub _markers: *mut _IO_marker,
3716 pub _chain: *mut _IO_FILE,
3717 pub _fileno: ::std::os::raw::c_int,
3718 pub _flags2: ::std::os::raw::c_int,
3719 pub _old_offset: __off_t,
3720 pub _cur_column: ::std::os::raw::c_ushort,
3721 pub _vtable_offset: ::std::os::raw::c_schar,
3722 pub _shortbuf: [::std::os::raw::c_char; 1usize],
3723 pub _lock: *mut _IO_lock_t,
3724 pub _offset: __off64_t,
3725 pub _codecvt: *mut _IO_codecvt,
3726 pub _wide_data: *mut _IO_wide_data,
3727 pub _freeres_list: *mut _IO_FILE,
3728 pub _freeres_buf: *mut ::std::os::raw::c_void,
3729 pub __pad5: size_t,
3730 pub _mode: ::std::os::raw::c_int,
3731 pub _unused2: [::std::os::raw::c_char; 20usize],
3732}
3733pub type off_t = __off_t;
3734pub type ssize_t = __ssize_t;
3735pub type fpos_t = __fpos_t;
3736extern "C" {
3737 pub static mut stdin: *mut FILE;
3738}
3739extern "C" {
3740 pub static mut stdout: *mut FILE;
3741}
3742extern "C" {
3743 pub static mut stderr: *mut FILE;
3744}
3745extern "C" {
3746 pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3747}
3748extern "C" {
3749 pub fn rename(
3750 __old: *const ::std::os::raw::c_char,
3751 __new: *const ::std::os::raw::c_char,
3752 ) -> ::std::os::raw::c_int;
3753}
3754extern "C" {
3755 pub fn renameat(
3756 __oldfd: ::std::os::raw::c_int,
3757 __old: *const ::std::os::raw::c_char,
3758 __newfd: ::std::os::raw::c_int,
3759 __new: *const ::std::os::raw::c_char,
3760 ) -> ::std::os::raw::c_int;
3761}
3762extern "C" {
3763 pub fn tmpfile() -> *mut FILE;
3764}
3765extern "C" {
3766 pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3767}
3768extern "C" {
3769 pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3770}
3771extern "C" {
3772 pub fn tempnam(
3773 __dir: *const ::std::os::raw::c_char,
3774 __pfx: *const ::std::os::raw::c_char,
3775 ) -> *mut ::std::os::raw::c_char;
3776}
3777extern "C" {
3778 pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
3779}
3780extern "C" {
3781 pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
3782}
3783extern "C" {
3784 pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3785}
3786extern "C" {
3787 pub fn fopen(
3788 __filename: *const ::std::os::raw::c_char,
3789 __modes: *const ::std::os::raw::c_char,
3790 ) -> *mut FILE;
3791}
3792extern "C" {
3793 pub fn freopen(
3794 __filename: *const ::std::os::raw::c_char,
3795 __modes: *const ::std::os::raw::c_char,
3796 __stream: *mut FILE,
3797 ) -> *mut FILE;
3798}
3799extern "C" {
3800 pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
3801 -> *mut FILE;
3802}
3803extern "C" {
3804 pub fn fmemopen(
3805 __s: *mut ::std::os::raw::c_void,
3806 __len: size_t,
3807 __modes: *const ::std::os::raw::c_char,
3808 ) -> *mut FILE;
3809}
3810extern "C" {
3811 pub fn open_memstream(
3812 __bufloc: *mut *mut ::std::os::raw::c_char,
3813 __sizeloc: *mut size_t,
3814 ) -> *mut FILE;
3815}
3816extern "C" {
3817 pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
3818}
3819extern "C" {
3820 pub fn setvbuf(
3821 __stream: *mut FILE,
3822 __buf: *mut ::std::os::raw::c_char,
3823 __modes: ::std::os::raw::c_int,
3824 __n: size_t,
3825 ) -> ::std::os::raw::c_int;
3826}
3827extern "C" {
3828 pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: size_t);
3829}
3830extern "C" {
3831 pub fn setlinebuf(__stream: *mut FILE);
3832}
3833extern "C" {
3834 pub fn fprintf(
3835 __stream: *mut FILE,
3836 __format: *const ::std::os::raw::c_char,
3837 ...
3838 ) -> ::std::os::raw::c_int;
3839}
3840extern "C" {
3841 pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
3842}
3843extern "C" {
3844 pub fn sprintf(
3845 __s: *mut ::std::os::raw::c_char,
3846 __format: *const ::std::os::raw::c_char,
3847 ...
3848 ) -> ::std::os::raw::c_int;
3849}
3850extern "C" {
3851 pub fn vfprintf(
3852 __s: *mut FILE,
3853 __format: *const ::std::os::raw::c_char,
3854 __arg: *mut __va_list_tag,
3855 ) -> ::std::os::raw::c_int;
3856}
3857extern "C" {
3858 pub fn vprintf(
3859 __format: *const ::std::os::raw::c_char,
3860 __arg: *mut __va_list_tag,
3861 ) -> ::std::os::raw::c_int;
3862}
3863extern "C" {
3864 pub fn vsprintf(
3865 __s: *mut ::std::os::raw::c_char,
3866 __format: *const ::std::os::raw::c_char,
3867 __arg: *mut __va_list_tag,
3868 ) -> ::std::os::raw::c_int;
3869}
3870extern "C" {
3871 pub fn snprintf(
3872 __s: *mut ::std::os::raw::c_char,
3873 __maxlen: ::std::os::raw::c_ulong,
3874 __format: *const ::std::os::raw::c_char,
3875 ...
3876 ) -> ::std::os::raw::c_int;
3877}
3878extern "C" {
3879 pub fn vsnprintf(
3880 __s: *mut ::std::os::raw::c_char,
3881 __maxlen: ::std::os::raw::c_ulong,
3882 __format: *const ::std::os::raw::c_char,
3883 __arg: *mut __va_list_tag,
3884 ) -> ::std::os::raw::c_int;
3885}
3886extern "C" {
3887 pub fn vdprintf(
3888 __fd: ::std::os::raw::c_int,
3889 __fmt: *const ::std::os::raw::c_char,
3890 __arg: *mut __va_list_tag,
3891 ) -> ::std::os::raw::c_int;
3892}
3893extern "C" {
3894 pub fn dprintf(
3895 __fd: ::std::os::raw::c_int,
3896 __fmt: *const ::std::os::raw::c_char,
3897 ...
3898 ) -> ::std::os::raw::c_int;
3899}
3900extern "C" {
3901 pub fn fscanf(
3902 __stream: *mut FILE,
3903 __format: *const ::std::os::raw::c_char,
3904 ...
3905 ) -> ::std::os::raw::c_int;
3906}
3907extern "C" {
3908 pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
3909}
3910extern "C" {
3911 pub fn sscanf(
3912 __s: *const ::std::os::raw::c_char,
3913 __format: *const ::std::os::raw::c_char,
3914 ...
3915 ) -> ::std::os::raw::c_int;
3916}
3917extern "C" {
3918 #[link_name = "\u{1}__isoc99_fscanf"]
3919 pub fn fscanf1(
3920 __stream: *mut FILE,
3921 __format: *const ::std::os::raw::c_char,
3922 ...
3923 ) -> ::std::os::raw::c_int;
3924}
3925extern "C" {
3926 #[link_name = "\u{1}__isoc99_scanf"]
3927 pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
3928}
3929extern "C" {
3930 #[link_name = "\u{1}__isoc99_sscanf"]
3931 pub fn sscanf1(
3932 __s: *const ::std::os::raw::c_char,
3933 __format: *const ::std::os::raw::c_char,
3934 ...
3935 ) -> ::std::os::raw::c_int;
3936}
3937extern "C" {
3938 pub fn vfscanf(
3939 __s: *mut FILE,
3940 __format: *const ::std::os::raw::c_char,
3941 __arg: *mut __va_list_tag,
3942 ) -> ::std::os::raw::c_int;
3943}
3944extern "C" {
3945 pub fn vscanf(
3946 __format: *const ::std::os::raw::c_char,
3947 __arg: *mut __va_list_tag,
3948 ) -> ::std::os::raw::c_int;
3949}
3950extern "C" {
3951 pub fn vsscanf(
3952 __s: *const ::std::os::raw::c_char,
3953 __format: *const ::std::os::raw::c_char,
3954 __arg: *mut __va_list_tag,
3955 ) -> ::std::os::raw::c_int;
3956}
3957extern "C" {
3958 #[link_name = "\u{1}__isoc99_vfscanf"]
3959 pub fn vfscanf1(
3960 __s: *mut FILE,
3961 __format: *const ::std::os::raw::c_char,
3962 __arg: *mut __va_list_tag,
3963 ) -> ::std::os::raw::c_int;
3964}
3965extern "C" {
3966 #[link_name = "\u{1}__isoc99_vscanf"]
3967 pub fn vscanf1(
3968 __format: *const ::std::os::raw::c_char,
3969 __arg: *mut __va_list_tag,
3970 ) -> ::std::os::raw::c_int;
3971}
3972extern "C" {
3973 #[link_name = "\u{1}__isoc99_vsscanf"]
3974 pub fn vsscanf1(
3975 __s: *const ::std::os::raw::c_char,
3976 __format: *const ::std::os::raw::c_char,
3977 __arg: *mut __va_list_tag,
3978 ) -> ::std::os::raw::c_int;
3979}
3980extern "C" {
3981 pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
3982}
3983extern "C" {
3984 pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
3985}
3986extern "C" {
3987 pub fn getchar() -> ::std::os::raw::c_int;
3988}
3989extern "C" {
3990 pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3991}
3992extern "C" {
3993 pub fn getchar_unlocked() -> ::std::os::raw::c_int;
3994}
3995extern "C" {
3996 pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3997}
3998extern "C" {
3999 pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
4000}
4001extern "C" {
4002 pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
4003}
4004extern "C" {
4005 pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4006}
4007extern "C" {
4008 pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
4009 -> ::std::os::raw::c_int;
4010}
4011extern "C" {
4012 pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
4013}
4014extern "C" {
4015 pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4016}
4017extern "C" {
4018 pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
4019}
4020extern "C" {
4021 pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
4022}
4023extern "C" {
4024 pub fn fgets(
4025 __s: *mut ::std::os::raw::c_char,
4026 __n: ::std::os::raw::c_int,
4027 __stream: *mut FILE,
4028 ) -> *mut ::std::os::raw::c_char;
4029}
4030extern "C" {
4031 pub fn __getdelim(
4032 __lineptr: *mut *mut ::std::os::raw::c_char,
4033 __n: *mut size_t,
4034 __delimiter: ::std::os::raw::c_int,
4035 __stream: *mut FILE,
4036 ) -> __ssize_t;
4037}
4038extern "C" {
4039 pub fn getdelim(
4040 __lineptr: *mut *mut ::std::os::raw::c_char,
4041 __n: *mut size_t,
4042 __delimiter: ::std::os::raw::c_int,
4043 __stream: *mut FILE,
4044 ) -> __ssize_t;
4045}
4046extern "C" {
4047 pub fn getline(
4048 __lineptr: *mut *mut ::std::os::raw::c_char,
4049 __n: *mut size_t,
4050 __stream: *mut FILE,
4051 ) -> __ssize_t;
4052}
4053extern "C" {
4054 pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
4055}
4056extern "C" {
4057 pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4058}
4059extern "C" {
4060 pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
4061}
4062extern "C" {
4063 pub fn fread(
4064 __ptr: *mut ::std::os::raw::c_void,
4065 __size: ::std::os::raw::c_ulong,
4066 __n: ::std::os::raw::c_ulong,
4067 __stream: *mut FILE,
4068 ) -> ::std::os::raw::c_ulong;
4069}
4070extern "C" {
4071 pub fn fwrite(
4072 __ptr: *const ::std::os::raw::c_void,
4073 __size: ::std::os::raw::c_ulong,
4074 __n: ::std::os::raw::c_ulong,
4075 __s: *mut FILE,
4076 ) -> ::std::os::raw::c_ulong;
4077}
4078extern "C" {
4079 pub fn fread_unlocked(
4080 __ptr: *mut ::std::os::raw::c_void,
4081 __size: size_t,
4082 __n: size_t,
4083 __stream: *mut FILE,
4084 ) -> size_t;
4085}
4086extern "C" {
4087 pub fn fwrite_unlocked(
4088 __ptr: *const ::std::os::raw::c_void,
4089 __size: size_t,
4090 __n: size_t,
4091 __stream: *mut FILE,
4092 ) -> size_t;
4093}
4094extern "C" {
4095 pub fn fseek(
4096 __stream: *mut FILE,
4097 __off: ::std::os::raw::c_long,
4098 __whence: ::std::os::raw::c_int,
4099 ) -> ::std::os::raw::c_int;
4100}
4101extern "C" {
4102 pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
4103}
4104extern "C" {
4105 pub fn rewind(__stream: *mut FILE);
4106}
4107extern "C" {
4108 pub fn fseeko(
4109 __stream: *mut FILE,
4110 __off: __off_t,
4111 __whence: ::std::os::raw::c_int,
4112 ) -> ::std::os::raw::c_int;
4113}
4114extern "C" {
4115 pub fn ftello(__stream: *mut FILE) -> __off_t;
4116}
4117extern "C" {
4118 pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
4119}
4120extern "C" {
4121 pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
4122}
4123extern "C" {
4124 pub fn clearerr(__stream: *mut FILE);
4125}
4126extern "C" {
4127 pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
4128}
4129extern "C" {
4130 pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
4131}
4132extern "C" {
4133 pub fn clearerr_unlocked(__stream: *mut FILE);
4134}
4135extern "C" {
4136 pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
4137}
4138extern "C" {
4139 pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
4140}
4141extern "C" {
4142 pub fn perror(__s: *const ::std::os::raw::c_char);
4143}
4144extern "C" {
4145 pub static mut sys_nerr: ::std::os::raw::c_int;
4146}
4147extern "C" {
4148 pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
4149}
4150extern "C" {
4151 pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
4152}
4153extern "C" {
4154 pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
4155}
4156extern "C" {
4157 pub fn popen(
4158 __command: *const ::std::os::raw::c_char,
4159 __modes: *const ::std::os::raw::c_char,
4160 ) -> *mut FILE;
4161}
4162extern "C" {
4163 pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
4164}
4165extern "C" {
4166 pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4167}
4168extern "C" {
4169 pub fn flockfile(__stream: *mut FILE);
4170}
4171extern "C" {
4172 pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
4173}
4174extern "C" {
4175 pub fn funlockfile(__stream: *mut FILE);
4176}
4177extern "C" {
4178 pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
4179}
4180extern "C" {
4181 pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4182}
4183pub type u_char = __u_char;
4184pub type u_short = __u_short;
4185pub type u_int = __u_int;
4186pub type u_long = __u_long;
4187pub type quad_t = __quad_t;
4188pub type u_quad_t = __u_quad_t;
4189pub type fsid_t = __fsid_t;
4190pub type loff_t = __loff_t;
4191pub type ino_t = __ino_t;
4192pub type dev_t = __dev_t;
4193pub type gid_t = __gid_t;
4194pub type mode_t = __mode_t;
4195pub type nlink_t = __nlink_t;
4196pub type uid_t = __uid_t;
4197pub type pid_t = __pid_t;
4198pub type id_t = __id_t;
4199pub type daddr_t = __daddr_t;
4200pub type caddr_t = __caddr_t;
4201pub type key_t = __key_t;
4202pub type clock_t = __clock_t;
4203pub type clockid_t = __clockid_t;
4204pub type time_t = __time_t;
4205pub type timer_t = __timer_t;
4206pub type ulong = ::std::os::raw::c_ulong;
4207pub type ushort = ::std::os::raw::c_ushort;
4208pub type uint = ::std::os::raw::c_uint;
4209pub type u_int8_t = __uint8_t;
4210pub type u_int16_t = __uint16_t;
4211pub type u_int32_t = __uint32_t;
4212pub type u_int64_t = __uint64_t;
4213pub type register_t = ::std::os::raw::c_long;
4214#[repr(C)]
4215#[derive(Debug, Copy, Clone)]
4216pub struct __sigset_t {
4217 pub __val: [::std::os::raw::c_ulong; 16usize],
4218}
4219pub type sigset_t = __sigset_t;
4220#[repr(C)]
4221#[derive(Debug, Copy, Clone)]
4222pub struct timeval {
4223 pub tv_sec: __time_t,
4224 pub tv_usec: __suseconds_t,
4225}
4226#[repr(C)]
4227#[derive(Debug, Copy, Clone)]
4228pub struct timespec {
4229 pub tv_sec: __time_t,
4230 pub tv_nsec: __syscall_slong_t,
4231}
4232pub type suseconds_t = __suseconds_t;
4233pub type __fd_mask = ::std::os::raw::c_long;
4234#[repr(C)]
4235#[derive(Debug, Copy, Clone)]
4236pub struct fd_set {
4237 pub __fds_bits: [__fd_mask; 16usize],
4238}
4239pub type fd_mask = __fd_mask;
4240extern "C" {
4241 pub fn select(
4242 __nfds: ::std::os::raw::c_int,
4243 __readfds: *mut fd_set,
4244 __writefds: *mut fd_set,
4245 __exceptfds: *mut fd_set,
4246 __timeout: *mut timeval,
4247 ) -> ::std::os::raw::c_int;
4248}
4249extern "C" {
4250 pub fn pselect(
4251 __nfds: ::std::os::raw::c_int,
4252 __readfds: *mut fd_set,
4253 __writefds: *mut fd_set,
4254 __exceptfds: *mut fd_set,
4255 __timeout: *const timespec,
4256 __sigmask: *const __sigset_t,
4257 ) -> ::std::os::raw::c_int;
4258}
4259pub type blksize_t = __blksize_t;
4260pub type blkcnt_t = __blkcnt_t;
4261pub type fsblkcnt_t = __fsblkcnt_t;
4262pub type fsfilcnt_t = __fsfilcnt_t;
4263#[repr(C)]
4264#[derive(Debug, Copy, Clone)]
4265pub struct __pthread_rwlock_arch_t {
4266 pub __readers: ::std::os::raw::c_uint,
4267 pub __writers: ::std::os::raw::c_uint,
4268 pub __wrphase_futex: ::std::os::raw::c_uint,
4269 pub __writers_futex: ::std::os::raw::c_uint,
4270 pub __pad3: ::std::os::raw::c_uint,
4271 pub __pad4: ::std::os::raw::c_uint,
4272 pub __cur_writer: ::std::os::raw::c_int,
4273 pub __shared: ::std::os::raw::c_int,
4274 pub __rwelision: ::std::os::raw::c_schar,
4275 pub __pad1: [::std::os::raw::c_uchar; 7usize],
4276 pub __pad2: ::std::os::raw::c_ulong,
4277 pub __flags: ::std::os::raw::c_uint,
4278}
4279#[repr(C)]
4280#[derive(Debug, Copy, Clone)]
4281pub struct __pthread_internal_list {
4282 pub __prev: *mut __pthread_internal_list,
4283 pub __next: *mut __pthread_internal_list,
4284}
4285pub type __pthread_list_t = __pthread_internal_list;
4286#[repr(C)]
4287#[derive(Debug, Copy, Clone)]
4288pub struct __pthread_mutex_s {
4289 pub __lock: ::std::os::raw::c_int,
4290 pub __count: ::std::os::raw::c_uint,
4291 pub __owner: ::std::os::raw::c_int,
4292 pub __nusers: ::std::os::raw::c_uint,
4293 pub __kind: ::std::os::raw::c_int,
4294 pub __spins: ::std::os::raw::c_short,
4295 pub __elision: ::std::os::raw::c_short,
4296 pub __list: __pthread_list_t,
4297}
4298#[repr(C)]
4299#[derive(Copy, Clone)]
4300pub struct __pthread_cond_s {
4301 pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
4302 pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
4303 pub __g_refs: [::std::os::raw::c_uint; 2usize],
4304 pub __g_size: [::std::os::raw::c_uint; 2usize],
4305 pub __g1_orig_size: ::std::os::raw::c_uint,
4306 pub __wrefs: ::std::os::raw::c_uint,
4307 pub __g_signals: [::std::os::raw::c_uint; 2usize],
4308}
4309#[repr(C)]
4310#[derive(Copy, Clone)]
4311pub union __pthread_cond_s__bindgen_ty_1 {
4312 pub __wseq: ::std::os::raw::c_ulonglong,
4313 pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
4314 _bindgen_union_align: u64,
4315}
4316#[repr(C)]
4317#[derive(Debug, Copy, Clone)]
4318pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
4319 pub __low: ::std::os::raw::c_uint,
4320 pub __high: ::std::os::raw::c_uint,
4321}
4322#[repr(C)]
4323#[derive(Copy, Clone)]
4324pub union __pthread_cond_s__bindgen_ty_2 {
4325 pub __g1_start: ::std::os::raw::c_ulonglong,
4326 pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
4327 _bindgen_union_align: u64,
4328}
4329#[repr(C)]
4330#[derive(Debug, Copy, Clone)]
4331pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
4332 pub __low: ::std::os::raw::c_uint,
4333 pub __high: ::std::os::raw::c_uint,
4334}
4335pub type pthread_t = ::std::os::raw::c_ulong;
4336#[repr(C)]
4337#[derive(Copy, Clone)]
4338pub union pthread_mutexattr_t {
4339 pub __size: [::std::os::raw::c_char; 4usize],
4340 pub __align: ::std::os::raw::c_int,
4341 _bindgen_union_align: u32,
4342}
4343#[repr(C)]
4344#[derive(Copy, Clone)]
4345pub union pthread_condattr_t {
4346 pub __size: [::std::os::raw::c_char; 4usize],
4347 pub __align: ::std::os::raw::c_int,
4348 _bindgen_union_align: u32,
4349}
4350pub type pthread_key_t = ::std::os::raw::c_uint;
4351pub type pthread_once_t = ::std::os::raw::c_int;
4352#[repr(C)]
4353#[derive(Copy, Clone)]
4354pub union pthread_attr_t {
4355 pub __size: [::std::os::raw::c_char; 56usize],
4356 pub __align: ::std::os::raw::c_long,
4357 _bindgen_union_align: [u64; 7usize],
4358}
4359#[repr(C)]
4360#[derive(Copy, Clone)]
4361pub union pthread_mutex_t {
4362 pub __data: __pthread_mutex_s,
4363 pub __size: [::std::os::raw::c_char; 40usize],
4364 pub __align: ::std::os::raw::c_long,
4365 _bindgen_union_align: [u64; 5usize],
4366}
4367#[repr(C)]
4368#[derive(Copy, Clone)]
4369pub union pthread_cond_t {
4370 pub __data: __pthread_cond_s,
4371 pub __size: [::std::os::raw::c_char; 48usize],
4372 pub __align: ::std::os::raw::c_longlong,
4373 _bindgen_union_align: [u64; 6usize],
4374}
4375#[repr(C)]
4376#[derive(Copy, Clone)]
4377pub union pthread_rwlock_t {
4378 pub __data: __pthread_rwlock_arch_t,
4379 pub __size: [::std::os::raw::c_char; 56usize],
4380 pub __align: ::std::os::raw::c_long,
4381 _bindgen_union_align: [u64; 7usize],
4382}
4383#[repr(C)]
4384#[derive(Copy, Clone)]
4385pub union pthread_rwlockattr_t {
4386 pub __size: [::std::os::raw::c_char; 8usize],
4387 pub __align: ::std::os::raw::c_long,
4388 _bindgen_union_align: u64,
4389}
4390pub type pthread_spinlock_t = ::std::os::raw::c_int;
4391#[repr(C)]
4392#[derive(Copy, Clone)]
4393pub union pthread_barrier_t {
4394 pub __size: [::std::os::raw::c_char; 32usize],
4395 pub __align: ::std::os::raw::c_long,
4396 _bindgen_union_align: [u64; 4usize],
4397}
4398#[repr(C)]
4399#[derive(Copy, Clone)]
4400pub union pthread_barrierattr_t {
4401 pub __size: [::std::os::raw::c_char; 4usize],
4402 pub __align: ::std::os::raw::c_int,
4403 _bindgen_union_align: u32,
4404}
4405pub const libbpf_errno___LIBBPF_ERRNO__START: libbpf_errno = 4000;
4406pub const libbpf_errno_LIBBPF_ERRNO__LIBELF: libbpf_errno = 4000;
4407pub const libbpf_errno_LIBBPF_ERRNO__FORMAT: libbpf_errno = 4001;
4408pub const libbpf_errno_LIBBPF_ERRNO__KVERSION: libbpf_errno = 4002;
4409pub const libbpf_errno_LIBBPF_ERRNO__ENDIAN: libbpf_errno = 4003;
4410pub const libbpf_errno_LIBBPF_ERRNO__INTERNAL: libbpf_errno = 4004;
4411pub const libbpf_errno_LIBBPF_ERRNO__RELOC: libbpf_errno = 4005;
4412pub const libbpf_errno_LIBBPF_ERRNO__LOAD: libbpf_errno = 4006;
4413pub const libbpf_errno_LIBBPF_ERRNO__VERIFY: libbpf_errno = 4007;
4414pub const libbpf_errno_LIBBPF_ERRNO__PROG2BIG: libbpf_errno = 4008;
4415pub const libbpf_errno_LIBBPF_ERRNO__KVER: libbpf_errno = 4009;
4416pub const libbpf_errno_LIBBPF_ERRNO__PROGTYPE: libbpf_errno = 4010;
4417pub const libbpf_errno_LIBBPF_ERRNO__WRNGPID: libbpf_errno = 4011;
4418pub const libbpf_errno_LIBBPF_ERRNO__INVSEQ: libbpf_errno = 4012;
4419pub const libbpf_errno_LIBBPF_ERRNO__NLPARSE: libbpf_errno = 4013;
4420pub const libbpf_errno___LIBBPF_ERRNO__END: libbpf_errno = 4014;
4421pub type libbpf_errno = u32;
4422extern "C" {
4423 pub fn libbpf_strerror(
4424 err: ::std::os::raw::c_int,
4425 buf: *mut ::std::os::raw::c_char,
4426 size: size_t,
4427 ) -> ::std::os::raw::c_int;
4428}
4429pub const libbpf_print_level_LIBBPF_WARN: libbpf_print_level = 0;
4430pub const libbpf_print_level_LIBBPF_INFO: libbpf_print_level = 1;
4431pub const libbpf_print_level_LIBBPF_DEBUG: libbpf_print_level = 2;
4432pub type libbpf_print_level = u32;
4433pub type libbpf_print_fn_t = ::std::option::Option<
4434 unsafe extern "C" fn(
4435 level: libbpf_print_level,
4436 arg1: *const ::std::os::raw::c_char,
4437 ap: *mut __va_list_tag,
4438 ) -> ::std::os::raw::c_int,
4439>;
4440extern "C" {
4441 pub fn libbpf_set_print(fn_: libbpf_print_fn_t) -> libbpf_print_fn_t;
4442}
4443#[repr(C)]
4444#[derive(Debug, Copy, Clone)]
4445pub struct bpf_object_open_attr {
4446 pub file: *const ::std::os::raw::c_char,
4447 pub prog_type: bpf_prog_type,
4448}
4449#[repr(C)]
4450#[derive(Debug, Copy, Clone)]
4451pub struct bpf_object_open_opts {
4452 pub sz: size_t,
4453 pub object_name: *const ::std::os::raw::c_char,
4454 pub relaxed_maps: bool,
4455 pub relaxed_core_relocs: bool,
4456 pub pin_root_path: *const ::std::os::raw::c_char,
4457 pub attach_prog_fd: __u32,
4458 pub kconfig: *const ::std::os::raw::c_char,
4459}
4460extern "C" {
4461 pub fn bpf_object__open(path: *const ::std::os::raw::c_char) -> *mut bpf_object;
4462}
4463extern "C" {
4464 pub fn bpf_object__open_file(
4465 path: *const ::std::os::raw::c_char,
4466 opts: *const bpf_object_open_opts,
4467 ) -> *mut bpf_object;
4468}
4469extern "C" {
4470 pub fn bpf_object__open_mem(
4471 obj_buf: *const ::std::os::raw::c_void,
4472 obj_buf_sz: size_t,
4473 opts: *const bpf_object_open_opts,
4474 ) -> *mut bpf_object;
4475}
4476extern "C" {
4477 pub fn bpf_object__open_buffer(
4478 obj_buf: *const ::std::os::raw::c_void,
4479 obj_buf_sz: size_t,
4480 name: *const ::std::os::raw::c_char,
4481 ) -> *mut bpf_object;
4482}
4483extern "C" {
4484 pub fn bpf_object__open_xattr(attr: *mut bpf_object_open_attr) -> *mut bpf_object;
4485}
4486pub const libbpf_pin_type_LIBBPF_PIN_NONE: libbpf_pin_type = 0;
4487pub const libbpf_pin_type_LIBBPF_PIN_BY_NAME: libbpf_pin_type = 1;
4488pub type libbpf_pin_type = u32;
4489extern "C" {
4490 pub fn bpf_object__pin_maps(
4491 obj: *mut bpf_object,
4492 path: *const ::std::os::raw::c_char,
4493 ) -> ::std::os::raw::c_int;
4494}
4495extern "C" {
4496 pub fn bpf_object__unpin_maps(
4497 obj: *mut bpf_object,
4498 path: *const ::std::os::raw::c_char,
4499 ) -> ::std::os::raw::c_int;
4500}
4501extern "C" {
4502 pub fn bpf_object__pin_programs(
4503 obj: *mut bpf_object,
4504 path: *const ::std::os::raw::c_char,
4505 ) -> ::std::os::raw::c_int;
4506}
4507extern "C" {
4508 pub fn bpf_object__unpin_programs(
4509 obj: *mut bpf_object,
4510 path: *const ::std::os::raw::c_char,
4511 ) -> ::std::os::raw::c_int;
4512}
4513extern "C" {
4514 pub fn bpf_object__pin(
4515 object: *mut bpf_object,
4516 path: *const ::std::os::raw::c_char,
4517 ) -> ::std::os::raw::c_int;
4518}
4519extern "C" {
4520 pub fn bpf_object__close(object: *mut bpf_object);
4521}
4522#[repr(C)]
4523#[derive(Debug, Copy, Clone)]
4524pub struct bpf_object_load_attr {
4525 pub obj: *mut bpf_object,
4526 pub log_level: ::std::os::raw::c_int,
4527 pub target_btf_path: *const ::std::os::raw::c_char,
4528}
4529extern "C" {
4530 pub fn bpf_object__load(obj: *mut bpf_object) -> ::std::os::raw::c_int;
4531}
4532extern "C" {
4533 pub fn bpf_object__load_xattr(attr: *mut bpf_object_load_attr) -> ::std::os::raw::c_int;
4534}
4535extern "C" {
4536 pub fn bpf_object__unload(obj: *mut bpf_object) -> ::std::os::raw::c_int;
4537}
4538extern "C" {
4539 pub fn bpf_object__name(obj: *const bpf_object) -> *const ::std::os::raw::c_char;
4540}
4541extern "C" {
4542 pub fn bpf_object__kversion(obj: *const bpf_object) -> ::std::os::raw::c_uint;
4543}
4544extern "C" {
4545 pub fn bpf_object__btf(obj: *const bpf_object) -> *mut btf;
4546}
4547extern "C" {
4548 pub fn bpf_object__btf_fd(obj: *const bpf_object) -> ::std::os::raw::c_int;
4549}
4550#[repr(C)]
4551#[derive(Debug, Copy, Clone)]
4552pub struct bpf_program {
4553 _unused: [u8; 0],
4554}
4555extern "C" {
4556 pub fn bpf_object__find_program_by_title(
4557 obj: *const bpf_object,
4558 title: *const ::std::os::raw::c_char,
4559 ) -> *mut bpf_program;
4560}
4561extern "C" {
4562 pub fn bpf_object__find_program_by_name(
4563 obj: *const bpf_object,
4564 name: *const ::std::os::raw::c_char,
4565 ) -> *mut bpf_program;
4566}
4567extern "C" {
4568 pub fn bpf_object__next(prev: *mut bpf_object) -> *mut bpf_object;
4569}
4570pub type bpf_object_clear_priv_t = ::std::option::Option<
4571 unsafe extern "C" fn(arg1: *mut bpf_object, arg2: *mut ::std::os::raw::c_void),
4572>;
4573extern "C" {
4574 pub fn bpf_object__set_priv(
4575 obj: *mut bpf_object,
4576 priv_: *mut ::std::os::raw::c_void,
4577 clear_priv: bpf_object_clear_priv_t,
4578 ) -> ::std::os::raw::c_int;
4579}
4580extern "C" {
4581 pub fn bpf_object__priv(prog: *const bpf_object) -> *mut ::std::os::raw::c_void;
4582}
4583extern "C" {
4584 pub fn libbpf_prog_type_by_name(
4585 name: *const ::std::os::raw::c_char,
4586 prog_type: *mut bpf_prog_type,
4587 expected_attach_type: *mut bpf_attach_type,
4588 ) -> ::std::os::raw::c_int;
4589}
4590extern "C" {
4591 pub fn libbpf_attach_type_by_name(
4592 name: *const ::std::os::raw::c_char,
4593 attach_type: *mut bpf_attach_type,
4594 ) -> ::std::os::raw::c_int;
4595}
4596extern "C" {
4597 pub fn libbpf_find_vmlinux_btf_id(
4598 name: *const ::std::os::raw::c_char,
4599 attach_type: bpf_attach_type,
4600 ) -> ::std::os::raw::c_int;
4601}
4602extern "C" {
4603 pub fn bpf_program__next(prog: *mut bpf_program, obj: *const bpf_object) -> *mut bpf_program;
4604}
4605extern "C" {
4606 pub fn bpf_program__prev(prog: *mut bpf_program, obj: *const bpf_object) -> *mut bpf_program;
4607}
4608pub type bpf_program_clear_priv_t = ::std::option::Option<
4609 unsafe extern "C" fn(arg1: *mut bpf_program, arg2: *mut ::std::os::raw::c_void),
4610>;
4611extern "C" {
4612 pub fn bpf_program__set_priv(
4613 prog: *mut bpf_program,
4614 priv_: *mut ::std::os::raw::c_void,
4615 clear_priv: bpf_program_clear_priv_t,
4616 ) -> ::std::os::raw::c_int;
4617}
4618extern "C" {
4619 pub fn bpf_program__priv(prog: *const bpf_program) -> *mut ::std::os::raw::c_void;
4620}
4621extern "C" {
4622 pub fn bpf_program__set_ifindex(prog: *mut bpf_program, ifindex: __u32);
4623}
4624extern "C" {
4625 pub fn bpf_program__name(prog: *const bpf_program) -> *const ::std::os::raw::c_char;
4626}
4627extern "C" {
4628 pub fn bpf_program__title(
4629 prog: *const bpf_program,
4630 needs_copy: bool,
4631 ) -> *const ::std::os::raw::c_char;
4632}
4633extern "C" {
4634 pub fn bpf_program__size(prog: *const bpf_program) -> size_t;
4635}
4636extern "C" {
4637 pub fn bpf_program__load(
4638 prog: *mut bpf_program,
4639 license: *mut ::std::os::raw::c_char,
4640 kern_version: __u32,
4641 ) -> ::std::os::raw::c_int;
4642}
4643extern "C" {
4644 pub fn bpf_program__fd(prog: *const bpf_program) -> ::std::os::raw::c_int;
4645}
4646extern "C" {
4647 pub fn bpf_program__pin_instance(
4648 prog: *mut bpf_program,
4649 path: *const ::std::os::raw::c_char,
4650 instance: ::std::os::raw::c_int,
4651 ) -> ::std::os::raw::c_int;
4652}
4653extern "C" {
4654 pub fn bpf_program__unpin_instance(
4655 prog: *mut bpf_program,
4656 path: *const ::std::os::raw::c_char,
4657 instance: ::std::os::raw::c_int,
4658 ) -> ::std::os::raw::c_int;
4659}
4660extern "C" {
4661 pub fn bpf_program__pin(
4662 prog: *mut bpf_program,
4663 path: *const ::std::os::raw::c_char,
4664 ) -> ::std::os::raw::c_int;
4665}
4666extern "C" {
4667 pub fn bpf_program__unpin(
4668 prog: *mut bpf_program,
4669 path: *const ::std::os::raw::c_char,
4670 ) -> ::std::os::raw::c_int;
4671}
4672extern "C" {
4673 pub fn bpf_program__unload(prog: *mut bpf_program);
4674}
4675#[repr(C)]
4676#[derive(Debug, Copy, Clone)]
4677pub struct bpf_link {
4678 _unused: [u8; 0],
4679}
4680extern "C" {
4681 pub fn bpf_link__open(path: *const ::std::os::raw::c_char) -> *mut bpf_link;
4682}
4683extern "C" {
4684 pub fn bpf_link__fd(link: *const bpf_link) -> ::std::os::raw::c_int;
4685}
4686extern "C" {
4687 pub fn bpf_link__pin_path(link: *const bpf_link) -> *const ::std::os::raw::c_char;
4688}
4689extern "C" {
4690 pub fn bpf_link__pin(
4691 link: *mut bpf_link,
4692 path: *const ::std::os::raw::c_char,
4693 ) -> ::std::os::raw::c_int;
4694}
4695extern "C" {
4696 pub fn bpf_link__unpin(link: *mut bpf_link) -> ::std::os::raw::c_int;
4697}
4698extern "C" {
4699 pub fn bpf_link__disconnect(link: *mut bpf_link);
4700}
4701extern "C" {
4702 pub fn bpf_link__destroy(link: *mut bpf_link) -> ::std::os::raw::c_int;
4703}
4704extern "C" {
4705 pub fn bpf_program__attach(prog: *mut bpf_program) -> *mut bpf_link;
4706}
4707extern "C" {
4708 pub fn bpf_program__attach_perf_event(
4709 prog: *mut bpf_program,
4710 pfd: ::std::os::raw::c_int,
4711 ) -> *mut bpf_link;
4712}
4713extern "C" {
4714 pub fn bpf_program__attach_kprobe(
4715 prog: *mut bpf_program,
4716 retprobe: bool,
4717 func_name: *const ::std::os::raw::c_char,
4718 ) -> *mut bpf_link;
4719}
4720extern "C" {
4721 pub fn bpf_program__attach_uprobe(
4722 prog: *mut bpf_program,
4723 retprobe: bool,
4724 pid: pid_t,
4725 binary_path: *const ::std::os::raw::c_char,
4726 func_offset: size_t,
4727 ) -> *mut bpf_link;
4728}
4729extern "C" {
4730 pub fn bpf_program__attach_tracepoint(
4731 prog: *mut bpf_program,
4732 tp_category: *const ::std::os::raw::c_char,
4733 tp_name: *const ::std::os::raw::c_char,
4734 ) -> *mut bpf_link;
4735}
4736extern "C" {
4737 pub fn bpf_program__attach_raw_tracepoint(
4738 prog: *mut bpf_program,
4739 tp_name: *const ::std::os::raw::c_char,
4740 ) -> *mut bpf_link;
4741}
4742extern "C" {
4743 pub fn bpf_program__attach_trace(prog: *mut bpf_program) -> *mut bpf_link;
4744}
4745#[repr(C)]
4746#[derive(Debug, Copy, Clone)]
4747pub struct bpf_map {
4748 _unused: [u8; 0],
4749}
4750extern "C" {
4751 pub fn bpf_map__attach_struct_ops(map: *mut bpf_map) -> *mut bpf_link;
4752}
4753#[repr(C)]
4754#[derive(Debug, Copy, Clone)]
4755pub struct bpf_prog_prep_result {
4756 pub new_insn_ptr: *mut bpf_insn,
4757 pub new_insn_cnt: ::std::os::raw::c_int,
4758 pub pfd: *mut ::std::os::raw::c_int,
4759}
4760pub type bpf_program_prep_t = ::std::option::Option<
4761 unsafe extern "C" fn(
4762 prog: *mut bpf_program,
4763 n: ::std::os::raw::c_int,
4764 insns: *mut bpf_insn,
4765 insns_cnt: ::std::os::raw::c_int,
4766 res: *mut bpf_prog_prep_result,
4767 ) -> ::std::os::raw::c_int,
4768>;
4769extern "C" {
4770 pub fn bpf_program__set_prep(
4771 prog: *mut bpf_program,
4772 nr_instance: ::std::os::raw::c_int,
4773 prep: bpf_program_prep_t,
4774 ) -> ::std::os::raw::c_int;
4775}
4776extern "C" {
4777 pub fn bpf_program__nth_fd(
4778 prog: *const bpf_program,
4779 n: ::std::os::raw::c_int,
4780 ) -> ::std::os::raw::c_int;
4781}
4782extern "C" {
4783 pub fn bpf_program__set_socket_filter(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4784}
4785extern "C" {
4786 pub fn bpf_program__set_tracepoint(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4787}
4788extern "C" {
4789 pub fn bpf_program__set_raw_tracepoint(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4790}
4791extern "C" {
4792 pub fn bpf_program__set_kprobe(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4793}
4794extern "C" {
4795 pub fn bpf_program__set_sched_cls(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4796}
4797extern "C" {
4798 pub fn bpf_program__set_sched_act(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4799}
4800extern "C" {
4801 pub fn bpf_program__set_xdp(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4802}
4803extern "C" {
4804 pub fn bpf_program__set_perf_event(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4805}
4806extern "C" {
4807 pub fn bpf_program__set_tracing(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4808}
4809extern "C" {
4810 pub fn bpf_program__set_struct_ops(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4811}
4812extern "C" {
4813 pub fn bpf_program__set_extension(prog: *mut bpf_program) -> ::std::os::raw::c_int;
4814}
4815extern "C" {
4816 pub fn bpf_program__get_type(prog: *mut bpf_program) -> bpf_prog_type;
4817}
4818extern "C" {
4819 pub fn bpf_program__set_type(prog: *mut bpf_program, type_: bpf_prog_type);
4820}
4821extern "C" {
4822 pub fn bpf_program__get_expected_attach_type(prog: *mut bpf_program) -> bpf_attach_type;
4823}
4824extern "C" {
4825 pub fn bpf_program__set_expected_attach_type(prog: *mut bpf_program, type_: bpf_attach_type);
4826}
4827extern "C" {
4828 pub fn bpf_program__set_attach_target(
4829 prog: *mut bpf_program,
4830 attach_prog_fd: ::std::os::raw::c_int,
4831 attach_func_name: *const ::std::os::raw::c_char,
4832 ) -> ::std::os::raw::c_int;
4833}
4834extern "C" {
4835 pub fn bpf_program__is_socket_filter(prog: *const bpf_program) -> bool;
4836}
4837extern "C" {
4838 pub fn bpf_program__is_tracepoint(prog: *const bpf_program) -> bool;
4839}
4840extern "C" {
4841 pub fn bpf_program__is_raw_tracepoint(prog: *const bpf_program) -> bool;
4842}
4843extern "C" {
4844 pub fn bpf_program__is_kprobe(prog: *const bpf_program) -> bool;
4845}
4846extern "C" {
4847 pub fn bpf_program__is_sched_cls(prog: *const bpf_program) -> bool;
4848}
4849extern "C" {
4850 pub fn bpf_program__is_sched_act(prog: *const bpf_program) -> bool;
4851}
4852extern "C" {
4853 pub fn bpf_program__is_xdp(prog: *const bpf_program) -> bool;
4854}
4855extern "C" {
4856 pub fn bpf_program__is_perf_event(prog: *const bpf_program) -> bool;
4857}
4858extern "C" {
4859 pub fn bpf_program__is_tracing(prog: *const bpf_program) -> bool;
4860}
4861extern "C" {
4862 pub fn bpf_program__is_struct_ops(prog: *const bpf_program) -> bool;
4863}
4864extern "C" {
4865 pub fn bpf_program__is_extension(prog: *const bpf_program) -> bool;
4866}
4867#[repr(C)]
4868#[derive(Debug, Copy, Clone)]
4869pub struct bpf_map_def {
4870 pub type_: ::std::os::raw::c_uint,
4871 pub key_size: ::std::os::raw::c_uint,
4872 pub value_size: ::std::os::raw::c_uint,
4873 pub max_entries: ::std::os::raw::c_uint,
4874 pub map_flags: ::std::os::raw::c_uint,
4875}
4876extern "C" {
4877 pub fn bpf_object__find_map_by_name(
4878 obj: *const bpf_object,
4879 name: *const ::std::os::raw::c_char,
4880 ) -> *mut bpf_map;
4881}
4882extern "C" {
4883 pub fn bpf_object__find_map_fd_by_name(
4884 obj: *const bpf_object,
4885 name: *const ::std::os::raw::c_char,
4886 ) -> ::std::os::raw::c_int;
4887}
4888extern "C" {
4889 pub fn bpf_object__find_map_by_offset(obj: *mut bpf_object, offset: size_t) -> *mut bpf_map;
4890}
4891extern "C" {
4892 pub fn bpf_map__next(map: *const bpf_map, obj: *const bpf_object) -> *mut bpf_map;
4893}
4894extern "C" {
4895 pub fn bpf_map__prev(map: *const bpf_map, obj: *const bpf_object) -> *mut bpf_map;
4896}
4897extern "C" {
4898 pub fn bpf_map__fd(map: *const bpf_map) -> ::std::os::raw::c_int;
4899}
4900extern "C" {
4901 pub fn bpf_map__def(map: *const bpf_map) -> *const bpf_map_def;
4902}
4903extern "C" {
4904 pub fn bpf_map__name(map: *const bpf_map) -> *const ::std::os::raw::c_char;
4905}
4906extern "C" {
4907 pub fn bpf_map__btf_key_type_id(map: *const bpf_map) -> __u32;
4908}
4909extern "C" {
4910 pub fn bpf_map__btf_value_type_id(map: *const bpf_map) -> __u32;
4911}
4912pub type bpf_map_clear_priv_t = ::std::option::Option<
4913 unsafe extern "C" fn(arg1: *mut bpf_map, arg2: *mut ::std::os::raw::c_void),
4914>;
4915extern "C" {
4916 pub fn bpf_map__set_priv(
4917 map: *mut bpf_map,
4918 priv_: *mut ::std::os::raw::c_void,
4919 clear_priv: bpf_map_clear_priv_t,
4920 ) -> ::std::os::raw::c_int;
4921}
4922extern "C" {
4923 pub fn bpf_map__priv(map: *const bpf_map) -> *mut ::std::os::raw::c_void;
4924}
4925extern "C" {
4926 pub fn bpf_map__reuse_fd(map: *mut bpf_map, fd: ::std::os::raw::c_int)
4927 -> ::std::os::raw::c_int;
4928}
4929extern "C" {
4930 pub fn bpf_map__resize(map: *mut bpf_map, max_entries: __u32) -> ::std::os::raw::c_int;
4931}
4932extern "C" {
4933 pub fn bpf_map__is_offload_neutral(map: *const bpf_map) -> bool;
4934}
4935extern "C" {
4936 pub fn bpf_map__is_internal(map: *const bpf_map) -> bool;
4937}
4938extern "C" {
4939 pub fn bpf_map__set_ifindex(map: *mut bpf_map, ifindex: __u32);
4940}
4941extern "C" {
4942 pub fn bpf_map__set_pin_path(
4943 map: *mut bpf_map,
4944 path: *const ::std::os::raw::c_char,
4945 ) -> ::std::os::raw::c_int;
4946}
4947extern "C" {
4948 pub fn bpf_map__get_pin_path(map: *const bpf_map) -> *const ::std::os::raw::c_char;
4949}
4950extern "C" {
4951 pub fn bpf_map__is_pinned(map: *const bpf_map) -> bool;
4952}
4953extern "C" {
4954 pub fn bpf_map__pin(
4955 map: *mut bpf_map,
4956 path: *const ::std::os::raw::c_char,
4957 ) -> ::std::os::raw::c_int;
4958}
4959extern "C" {
4960 pub fn bpf_map__unpin(
4961 map: *mut bpf_map,
4962 path: *const ::std::os::raw::c_char,
4963 ) -> ::std::os::raw::c_int;
4964}
4965extern "C" {
4966 pub fn bpf_map__set_inner_map_fd(
4967 map: *mut bpf_map,
4968 fd: ::std::os::raw::c_int,
4969 ) -> ::std::os::raw::c_int;
4970}
4971extern "C" {
4972 pub fn libbpf_get_error(ptr: *const ::std::os::raw::c_void) -> ::std::os::raw::c_long;
4973}
4974#[repr(C)]
4975#[derive(Debug, Copy, Clone)]
4976pub struct bpf_prog_load_attr {
4977 pub file: *const ::std::os::raw::c_char,
4978 pub prog_type: bpf_prog_type,
4979 pub expected_attach_type: bpf_attach_type,
4980 pub ifindex: ::std::os::raw::c_int,
4981 pub log_level: ::std::os::raw::c_int,
4982 pub prog_flags: ::std::os::raw::c_int,
4983}
4984extern "C" {
4985 pub fn bpf_prog_load_xattr(
4986 attr: *const bpf_prog_load_attr,
4987 pobj: *mut *mut bpf_object,
4988 prog_fd: *mut ::std::os::raw::c_int,
4989 ) -> ::std::os::raw::c_int;
4990}
4991extern "C" {
4992 pub fn bpf_prog_load(
4993 file: *const ::std::os::raw::c_char,
4994 type_: bpf_prog_type,
4995 pobj: *mut *mut bpf_object,
4996 prog_fd: *mut ::std::os::raw::c_int,
4997 ) -> ::std::os::raw::c_int;
4998}
4999#[repr(C)]
5000#[derive(Debug, Copy, Clone)]
5001pub struct xdp_link_info {
5002 pub prog_id: __u32,
5003 pub drv_prog_id: __u32,
5004 pub hw_prog_id: __u32,
5005 pub skb_prog_id: __u32,
5006 pub attach_mode: __u8,
5007}
5008extern "C" {
5009 pub fn bpf_set_link_xdp_fd(
5010 ifindex: ::std::os::raw::c_int,
5011 fd: ::std::os::raw::c_int,
5012 flags: __u32,
5013 ) -> ::std::os::raw::c_int;
5014}
5015extern "C" {
5016 pub fn bpf_get_link_xdp_id(
5017 ifindex: ::std::os::raw::c_int,
5018 prog_id: *mut __u32,
5019 flags: __u32,
5020 ) -> ::std::os::raw::c_int;
5021}
5022extern "C" {
5023 pub fn bpf_get_link_xdp_info(
5024 ifindex: ::std::os::raw::c_int,
5025 info: *mut xdp_link_info,
5026 info_size: size_t,
5027 flags: __u32,
5028 ) -> ::std::os::raw::c_int;
5029}
5030#[repr(C)]
5031#[derive(Debug, Copy, Clone)]
5032pub struct perf_buffer {
5033 _unused: [u8; 0],
5034}
5035pub type perf_buffer_sample_fn = ::std::option::Option<
5036 unsafe extern "C" fn(
5037 ctx: *mut ::std::os::raw::c_void,
5038 cpu: ::std::os::raw::c_int,
5039 data: *mut ::std::os::raw::c_void,
5040 size: __u32,
5041 ),
5042>;
5043pub type perf_buffer_lost_fn = ::std::option::Option<
5044 unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void, cpu: ::std::os::raw::c_int, cnt: __u64),
5045>;
5046#[repr(C)]
5047#[derive(Debug, Copy, Clone)]
5048pub struct perf_buffer_opts {
5049 pub sample_cb: perf_buffer_sample_fn,
5050 pub lost_cb: perf_buffer_lost_fn,
5051 pub ctx: *mut ::std::os::raw::c_void,
5052}
5053extern "C" {
5054 pub fn perf_buffer__new(
5055 map_fd: ::std::os::raw::c_int,
5056 page_cnt: size_t,
5057 opts: *const perf_buffer_opts,
5058 ) -> *mut perf_buffer;
5059}
5060pub const bpf_perf_event_ret_LIBBPF_PERF_EVENT_DONE: bpf_perf_event_ret = 0;
5061pub const bpf_perf_event_ret_LIBBPF_PERF_EVENT_ERROR: bpf_perf_event_ret = -1;
5062pub const bpf_perf_event_ret_LIBBPF_PERF_EVENT_CONT: bpf_perf_event_ret = -2;
5063pub type bpf_perf_event_ret = i32;
5064#[repr(C)]
5065#[derive(Debug, Copy, Clone)]
5066pub struct perf_event_header {
5067 _unused: [u8; 0],
5068}
5069pub type perf_buffer_event_fn = ::std::option::Option<
5070 unsafe extern "C" fn(
5071 ctx: *mut ::std::os::raw::c_void,
5072 cpu: ::std::os::raw::c_int,
5073 event: *mut perf_event_header,
5074 ) -> bpf_perf_event_ret,
5075>;
5076#[repr(C)]
5077#[derive(Debug, Copy, Clone)]
5078pub struct perf_buffer_raw_opts {
5079 pub attr: *mut perf_event_attr,
5080 pub event_cb: perf_buffer_event_fn,
5081 pub ctx: *mut ::std::os::raw::c_void,
5082 pub cpu_cnt: ::std::os::raw::c_int,
5083 pub cpus: *mut ::std::os::raw::c_int,
5084 pub map_keys: *mut ::std::os::raw::c_int,
5085}
5086extern "C" {
5087 pub fn perf_buffer__new_raw(
5088 map_fd: ::std::os::raw::c_int,
5089 page_cnt: size_t,
5090 opts: *const perf_buffer_raw_opts,
5091 ) -> *mut perf_buffer;
5092}
5093extern "C" {
5094 pub fn perf_buffer__free(pb: *mut perf_buffer);
5095}
5096extern "C" {
5097 pub fn perf_buffer__poll(
5098 pb: *mut perf_buffer,
5099 timeout_ms: ::std::os::raw::c_int,
5100 ) -> ::std::os::raw::c_int;
5101}
5102pub type bpf_perf_event_print_t = ::std::option::Option<
5103 unsafe extern "C" fn(
5104 hdr: *mut perf_event_header,
5105 private_data: *mut ::std::os::raw::c_void,
5106 ) -> bpf_perf_event_ret,
5107>;
5108extern "C" {
5109 pub fn bpf_perf_event_read_simple(
5110 mmap_mem: *mut ::std::os::raw::c_void,
5111 mmap_size: size_t,
5112 page_size: size_t,
5113 copy_mem: *mut *mut ::std::os::raw::c_void,
5114 copy_size: *mut size_t,
5115 fn_: bpf_perf_event_print_t,
5116 private_data: *mut ::std::os::raw::c_void,
5117 ) -> bpf_perf_event_ret;
5118}
5119#[repr(C)]
5120#[derive(Debug, Copy, Clone)]
5121pub struct bpf_prog_linfo {
5122 _unused: [u8; 0],
5123}
5124extern "C" {
5125 pub fn bpf_prog_linfo__free(prog_linfo: *mut bpf_prog_linfo);
5126}
5127extern "C" {
5128 pub fn bpf_prog_linfo__new(info: *const bpf_prog_info) -> *mut bpf_prog_linfo;
5129}
5130extern "C" {
5131 pub fn bpf_prog_linfo__lfind_addr_func(
5132 prog_linfo: *const bpf_prog_linfo,
5133 addr: __u64,
5134 func_idx: __u32,
5135 nr_skip: __u32,
5136 ) -> *const bpf_line_info;
5137}
5138extern "C" {
5139 pub fn bpf_prog_linfo__lfind(
5140 prog_linfo: *const bpf_prog_linfo,
5141 insn_off: __u32,
5142 nr_skip: __u32,
5143 ) -> *const bpf_line_info;
5144}
5145extern "C" {
5146 pub fn bpf_probe_prog_type(prog_type: bpf_prog_type, ifindex: __u32) -> bool;
5147}
5148extern "C" {
5149 pub fn bpf_probe_map_type(map_type: bpf_map_type, ifindex: __u32) -> bool;
5150}
5151extern "C" {
5152 pub fn bpf_probe_helper(id: bpf_func_id, prog_type: bpf_prog_type, ifindex: __u32) -> bool;
5153}
5154extern "C" {
5155 pub fn bpf_probe_large_insn_limit(ifindex: __u32) -> bool;
5156}
5157pub const bpf_prog_info_array_BPF_PROG_INFO_FIRST_ARRAY: bpf_prog_info_array = 0;
5158pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_INSNS: bpf_prog_info_array = 0;
5159pub const bpf_prog_info_array_BPF_PROG_INFO_XLATED_INSNS: bpf_prog_info_array = 1;
5160pub const bpf_prog_info_array_BPF_PROG_INFO_MAP_IDS: bpf_prog_info_array = 2;
5161pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_KSYMS: bpf_prog_info_array = 3;
5162pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_FUNC_LENS: bpf_prog_info_array = 4;
5163pub const bpf_prog_info_array_BPF_PROG_INFO_FUNC_INFO: bpf_prog_info_array = 5;
5164pub const bpf_prog_info_array_BPF_PROG_INFO_LINE_INFO: bpf_prog_info_array = 6;
5165pub const bpf_prog_info_array_BPF_PROG_INFO_JITED_LINE_INFO: bpf_prog_info_array = 7;
5166pub const bpf_prog_info_array_BPF_PROG_INFO_PROG_TAGS: bpf_prog_info_array = 8;
5167pub const bpf_prog_info_array_BPF_PROG_INFO_LAST_ARRAY: bpf_prog_info_array = 9;
5168pub type bpf_prog_info_array = u32;
5169#[repr(C)]
5170#[derive(Debug)]
5171pub struct bpf_prog_info_linear {
5172 pub info_len: __u32,
5173 pub data_len: __u32,
5174 pub arrays: __u64,
5175 pub info: bpf_prog_info,
5176 pub data: __IncompleteArrayField<__u8>,
5177}
5178extern "C" {
5179 pub fn bpf_program__get_prog_info_linear(
5180 fd: ::std::os::raw::c_int,
5181 arrays: __u64,
5182 ) -> *mut bpf_prog_info_linear;
5183}
5184extern "C" {
5185 pub fn bpf_program__bpil_addr_to_offs(info_linear: *mut bpf_prog_info_linear);
5186}
5187extern "C" {
5188 pub fn bpf_program__bpil_offs_to_addr(info_linear: *mut bpf_prog_info_linear);
5189}
5190extern "C" {
5191 pub fn libbpf_num_possible_cpus() -> ::std::os::raw::c_int;
5192}
5193#[repr(C)]
5194#[derive(Debug, Copy, Clone)]
5195pub struct bpf_map_skeleton {
5196 pub name: *const ::std::os::raw::c_char,
5197 pub map: *mut *mut bpf_map,
5198 pub mmaped: *mut *mut ::std::os::raw::c_void,
5199}
5200#[repr(C)]
5201#[derive(Debug, Copy, Clone)]
5202pub struct bpf_prog_skeleton {
5203 pub name: *const ::std::os::raw::c_char,
5204 pub prog: *mut *mut bpf_program,
5205 pub link: *mut *mut bpf_link,
5206}
5207#[repr(C)]
5208#[derive(Debug, Copy, Clone)]
5209pub struct bpf_object_skeleton {
5210 pub sz: size_t,
5211 pub name: *const ::std::os::raw::c_char,
5212 pub data: *mut ::std::os::raw::c_void,
5213 pub data_sz: size_t,
5214 pub obj: *mut *mut bpf_object,
5215 pub map_cnt: ::std::os::raw::c_int,
5216 pub map_skel_sz: ::std::os::raw::c_int,
5217 pub maps: *mut bpf_map_skeleton,
5218 pub prog_cnt: ::std::os::raw::c_int,
5219 pub prog_skel_sz: ::std::os::raw::c_int,
5220 pub progs: *mut bpf_prog_skeleton,
5221}
5222extern "C" {
5223 pub fn bpf_object__open_skeleton(
5224 s: *mut bpf_object_skeleton,
5225 opts: *const bpf_object_open_opts,
5226 ) -> ::std::os::raw::c_int;
5227}
5228extern "C" {
5229 pub fn bpf_object__load_skeleton(s: *mut bpf_object_skeleton) -> ::std::os::raw::c_int;
5230}
5231extern "C" {
5232 pub fn bpf_object__attach_skeleton(s: *mut bpf_object_skeleton) -> ::std::os::raw::c_int;
5233}
5234extern "C" {
5235 pub fn bpf_object__detach_skeleton(s: *mut bpf_object_skeleton);
5236}
5237extern "C" {
5238 pub fn bpf_object__destroy_skeleton(s: *mut bpf_object_skeleton);
5239}
5240pub const libbpf_tristate_TRI_NO: libbpf_tristate = 0;
5241pub const libbpf_tristate_TRI_YES: libbpf_tristate = 1;
5242pub const libbpf_tristate_TRI_MODULE: libbpf_tristate = 2;
5243pub type libbpf_tristate = u32;
5244#[repr(C)]
5245#[derive(Debug, Copy, Clone)]
5246pub struct sockaddr_xdp {
5247 pub sxdp_family: __u16,
5248 pub sxdp_flags: __u16,
5249 pub sxdp_ifindex: __u32,
5250 pub sxdp_queue_id: __u32,
5251 pub sxdp_shared_umem_fd: __u32,
5252}
5253#[repr(C)]
5254#[derive(Debug, Copy, Clone)]
5255pub struct xdp_ring_offset {
5256 pub producer: __u64,
5257 pub consumer: __u64,
5258 pub desc: __u64,
5259 pub flags: __u64,
5260}
5261#[repr(C)]
5262#[derive(Debug, Copy, Clone)]
5263pub struct xdp_mmap_offsets {
5264 pub rx: xdp_ring_offset,
5265 pub tx: xdp_ring_offset,
5266 pub fr: xdp_ring_offset,
5267 pub cr: xdp_ring_offset,
5268}
5269#[repr(C)]
5270#[derive(Debug, Copy, Clone)]
5271pub struct xdp_umem_reg {
5272 pub addr: __u64,
5273 pub len: __u64,
5274 pub chunk_size: __u32,
5275 pub headroom: __u32,
5276 pub flags: __u32,
5277}
5278#[repr(C)]
5279#[derive(Debug, Copy, Clone)]
5280pub struct xdp_statistics {
5281 pub rx_dropped: __u64,
5282 pub rx_invalid_descs: __u64,
5283 pub tx_invalid_descs: __u64,
5284}
5285#[repr(C)]
5286#[derive(Debug, Copy, Clone)]
5287pub struct xdp_options {
5288 pub flags: __u32,
5289}
5290#[repr(C)]
5291#[derive(Debug, Copy, Clone)]
5292pub struct xdp_desc {
5293 pub addr: __u64,
5294 pub len: __u32,
5295 pub options: __u32,
5296}
5297#[repr(C)]
5298#[derive(Debug, Copy, Clone)]
5299pub struct xsk_ring_prod {
5300 pub cached_prod: __u32,
5301 pub cached_cons: __u32,
5302 pub mask: __u32,
5303 pub size: __u32,
5304 pub producer: *mut __u32,
5305 pub consumer: *mut __u32,
5306 pub ring: *mut ::std::os::raw::c_void,
5307 pub flags: *mut __u32,
5308}
5309#[repr(C)]
5310#[derive(Debug, Copy, Clone)]
5311pub struct xsk_ring_cons {
5312 pub cached_prod: __u32,
5313 pub cached_cons: __u32,
5314 pub mask: __u32,
5315 pub size: __u32,
5316 pub producer: *mut __u32,
5317 pub consumer: *mut __u32,
5318 pub ring: *mut ::std::os::raw::c_void,
5319 pub flags: *mut __u32,
5320}
5321#[repr(C)]
5322#[derive(Debug, Copy, Clone)]
5323pub struct xsk_umem {
5324 _unused: [u8; 0],
5325}
5326#[repr(C)]
5327#[derive(Debug, Copy, Clone)]
5328pub struct xsk_socket {
5329 _unused: [u8; 0],
5330}
5331extern "C" {
5332 pub fn xsk_umem__fd(umem: *const xsk_umem) -> ::std::os::raw::c_int;
5333}
5334extern "C" {
5335 pub fn xsk_socket__fd(xsk: *const xsk_socket) -> ::std::os::raw::c_int;
5336}
5337#[repr(C)]
5338#[derive(Debug, Copy, Clone)]
5339pub struct xsk_umem_config {
5340 pub fill_size: __u32,
5341 pub comp_size: __u32,
5342 pub frame_size: __u32,
5343 pub frame_headroom: __u32,
5344 pub flags: __u32,
5345}
5346#[repr(C)]
5347#[derive(Debug, Copy, Clone)]
5348pub struct xsk_socket_config {
5349 pub rx_size: __u32,
5350 pub tx_size: __u32,
5351 pub libbpf_flags: __u32,
5352 pub xdp_flags: __u32,
5353 pub bind_flags: __u16,
5354}
5355extern "C" {
5356 pub fn xsk_umem__create(
5357 umem: *mut *mut xsk_umem,
5358 umem_area: *mut ::std::os::raw::c_void,
5359 size: __u64,
5360 fill: *mut xsk_ring_prod,
5361 comp: *mut xsk_ring_cons,
5362 config: *const xsk_umem_config,
5363 ) -> ::std::os::raw::c_int;
5364}
5365extern "C" {
5366 pub fn xsk_umem__create_v0_0_2(
5367 umem: *mut *mut xsk_umem,
5368 umem_area: *mut ::std::os::raw::c_void,
5369 size: __u64,
5370 fill: *mut xsk_ring_prod,
5371 comp: *mut xsk_ring_cons,
5372 config: *const xsk_umem_config,
5373 ) -> ::std::os::raw::c_int;
5374}
5375extern "C" {
5376 pub fn xsk_umem__create_v0_0_4(
5377 umem: *mut *mut xsk_umem,
5378 umem_area: *mut ::std::os::raw::c_void,
5379 size: __u64,
5380 fill: *mut xsk_ring_prod,
5381 comp: *mut xsk_ring_cons,
5382 config: *const xsk_umem_config,
5383 ) -> ::std::os::raw::c_int;
5384}
5385extern "C" {
5386 pub fn xsk_socket__create(
5387 xsk: *mut *mut xsk_socket,
5388 ifname: *const ::std::os::raw::c_char,
5389 queue_id: __u32,
5390 umem: *mut xsk_umem,
5391 rx: *mut xsk_ring_cons,
5392 tx: *mut xsk_ring_prod,
5393 config: *const xsk_socket_config,
5394 ) -> ::std::os::raw::c_int;
5395}
5396extern "C" {
5397 pub fn xsk_umem__delete(umem: *mut xsk_umem) -> ::std::os::raw::c_int;
5398}
5399extern "C" {
5400 pub fn xsk_socket__delete(xsk: *mut xsk_socket);
5401}
5402#[repr(C)]
5403#[derive(Debug, Copy, Clone)]
5404pub struct __locale_data {
5405 pub _address: u8,
5406}
5407pub type __builtin_va_list = [__va_list_tag; 1usize];
5408#[repr(C)]
5409#[derive(Debug, Copy, Clone)]
5410pub struct __va_list_tag {
5411 pub gp_offset: ::std::os::raw::c_uint,
5412 pub fp_offset: ::std::os::raw::c_uint,
5413 pub overflow_arg_area: *mut ::std::os::raw::c_void,
5414 pub reg_save_area: *mut ::std::os::raw::c_void,
5415}
5416#[repr(C)]
5417#[derive(Debug, Copy, Clone)]
5418pub struct perf_event_attr {
5419 pub _address: u8,
5420}