1#[repr(C)]
2#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
3pub struct __BindgenBitfieldUnit<Storage> {
4 storage: Storage,
5}
6impl<Storage> __BindgenBitfieldUnit<Storage> {
7 #[inline]
8 pub const fn new(storage: Storage) -> Self {
9 Self { storage }
10 }
11}
12impl<Storage> __BindgenBitfieldUnit<Storage>
13where
14 Storage: AsRef<[u8]> + AsMut<[u8]>,
15{
16 #[inline]
17 fn extract_bit(byte: u8, index: usize) -> bool {
18 let bit_index = if cfg!(target_endian = "big") {
19 7 - (index % 8)
20 } else {
21 index % 8
22 };
23 let mask = 1 << bit_index;
24 byte & mask == mask
25 }
26 #[inline]
27 pub fn get_bit(&self, index: usize) -> bool {
28 debug_assert!(index / 8 < self.storage.as_ref().len());
29 let byte_index = index / 8;
30 let byte = self.storage.as_ref()[byte_index];
31 Self::extract_bit(byte, index)
32 }
33 #[inline]
34 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
35 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
36 let byte_index = index / 8;
37 let byte = unsafe {
38 *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
39 };
40 Self::extract_bit(byte, index)
41 }
42 #[inline]
43 fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
44 let bit_index = if cfg!(target_endian = "big") {
45 7 - (index % 8)
46 } else {
47 index % 8
48 };
49 let mask = 1 << bit_index;
50 if val { byte | mask } else { byte & !mask }
51 }
52 #[inline]
53 pub fn set_bit(&mut self, index: usize, val: bool) {
54 debug_assert!(index / 8 < self.storage.as_ref().len());
55 let byte_index = index / 8;
56 let byte = &mut self.storage.as_mut()[byte_index];
57 *byte = Self::change_bit(*byte, index, val);
58 }
59 #[inline]
60 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
61 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
62 let byte_index = index / 8;
63 let byte = unsafe {
64 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
65 };
66 unsafe { *byte = Self::change_bit(*byte, index, val) };
67 }
68 #[inline]
69 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
70 debug_assert!(bit_width <= 64);
71 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
72 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
73 let mut val = 0;
74 for i in 0..(bit_width as usize) {
75 if self.get_bit(i + bit_offset) {
76 let index = if cfg!(target_endian = "big") {
77 bit_width as usize - 1 - i
78 } else {
79 i
80 };
81 val |= 1 << index;
82 }
83 }
84 val
85 }
86 #[inline]
87 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
88 debug_assert!(bit_width <= 64);
89 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
90 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
91 let mut val = 0;
92 for i in 0..(bit_width as usize) {
93 if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
94 let index = if cfg!(target_endian = "big") {
95 bit_width as usize - 1 - i
96 } else {
97 i
98 };
99 val |= 1 << index;
100 }
101 }
102 val
103 }
104 #[inline]
105 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
106 debug_assert!(bit_width <= 64);
107 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
108 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
109 for i in 0..(bit_width as usize) {
110 let mask = 1 << i;
111 let val_bit_is_set = val & mask == mask;
112 let index = if cfg!(target_endian = "big") {
113 bit_width as usize - 1 - i
114 } else {
115 i
116 };
117 self.set_bit(index + bit_offset, val_bit_is_set);
118 }
119 }
120 #[inline]
121 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
122 debug_assert!(bit_width <= 64);
123 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
124 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
125 for i in 0..(bit_width as usize) {
126 let mask = 1 << i;
127 let val_bit_is_set = val & mask == mask;
128 let index = if cfg!(target_endian = "big") {
129 bit_width as usize - 1 - i
130 } else {
131 i
132 };
133 unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
134 }
135 }
136}
137#[repr(C)]
138#[derive(Default)]
139pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
140impl<T> __IncompleteArrayField<T> {
141 #[inline]
142 pub const fn new() -> Self {
143 __IncompleteArrayField(::core::marker::PhantomData, [])
144 }
145 #[inline]
146 pub fn as_ptr(&self) -> *const T {
147 self as *const _ as *const T
148 }
149 #[inline]
150 pub fn as_mut_ptr(&mut self) -> *mut T {
151 self as *mut _ as *mut T
152 }
153 #[inline]
154 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
155 ::core::slice::from_raw_parts(self.as_ptr(), len)
156 }
157 #[inline]
158 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
159 ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
160 }
161}
162impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
163 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
164 fmt.write_str("__IncompleteArrayField")
165 }
166}
167pub const BPF_LD: u32 = 0;
168pub const BPF_LDX: u32 = 1;
169pub const BPF_ST: u32 = 2;
170pub const BPF_STX: u32 = 3;
171pub const BPF_ALU: u32 = 4;
172pub const BPF_JMP: u32 = 5;
173pub const BPF_RET: u32 = 6;
174pub const BPF_MISC: u32 = 7;
175pub const BPF_W: u32 = 0;
176pub const BPF_H: u32 = 8;
177pub const BPF_B: u32 = 16;
178pub const BPF_IMM: u32 = 0;
179pub const BPF_ABS: u32 = 32;
180pub const BPF_IND: u32 = 64;
181pub const BPF_MEM: u32 = 96;
182pub const BPF_LEN: u32 = 128;
183pub const BPF_MSH: u32 = 160;
184pub const BPF_ADD: u32 = 0;
185pub const BPF_SUB: u32 = 16;
186pub const BPF_MUL: u32 = 32;
187pub const BPF_DIV: u32 = 48;
188pub const BPF_OR: u32 = 64;
189pub const BPF_AND: u32 = 80;
190pub const BPF_LSH: u32 = 96;
191pub const BPF_RSH: u32 = 112;
192pub const BPF_NEG: u32 = 128;
193pub const BPF_MOD: u32 = 144;
194pub const BPF_XOR: u32 = 160;
195pub const BPF_JA: u32 = 0;
196pub const BPF_JEQ: u32 = 16;
197pub const BPF_JGT: u32 = 32;
198pub const BPF_JGE: u32 = 48;
199pub const BPF_JSET: u32 = 64;
200pub const BPF_K: u32 = 0;
201pub const BPF_X: u32 = 8;
202pub const BPF_MAXINSNS: u32 = 4096;
203pub const BPF_JMP32: u32 = 6;
204pub const BPF_ALU64: u32 = 7;
205pub const BPF_DW: u32 = 24;
206pub const BPF_MEMSX: u32 = 128;
207pub const BPF_ATOMIC: u32 = 192;
208pub const BPF_XADD: u32 = 192;
209pub const BPF_MOV: u32 = 176;
210pub const BPF_ARSH: u32 = 192;
211pub const BPF_END: u32 = 208;
212pub const BPF_TO_LE: u32 = 0;
213pub const BPF_TO_BE: u32 = 8;
214pub const BPF_FROM_LE: u32 = 0;
215pub const BPF_FROM_BE: u32 = 8;
216pub const BPF_JNE: u32 = 80;
217pub const BPF_JLT: u32 = 160;
218pub const BPF_JLE: u32 = 176;
219pub const BPF_JSGT: u32 = 96;
220pub const BPF_JSGE: u32 = 112;
221pub const BPF_JSLT: u32 = 192;
222pub const BPF_JSLE: u32 = 208;
223pub const BPF_JCOND: u32 = 224;
224pub const BPF_CALL: u32 = 128;
225pub const BPF_EXIT: u32 = 144;
226pub const BPF_FETCH: u32 = 1;
227pub const BPF_XCHG: u32 = 225;
228pub const BPF_CMPXCHG: u32 = 241;
229pub const BPF_F_ALLOW_OVERRIDE: u32 = 1;
230pub const BPF_F_ALLOW_MULTI: u32 = 2;
231pub const BPF_F_REPLACE: u32 = 4;
232pub const BPF_F_BEFORE: u32 = 8;
233pub const BPF_F_AFTER: u32 = 16;
234pub const BPF_F_ID: u32 = 32;
235pub const BPF_F_STRICT_ALIGNMENT: u32 = 1;
236pub const BPF_F_ANY_ALIGNMENT: u32 = 2;
237pub const BPF_F_TEST_RND_HI32: u32 = 4;
238pub const BPF_F_TEST_STATE_FREQ: u32 = 8;
239pub const BPF_F_SLEEPABLE: u32 = 16;
240pub const BPF_F_XDP_HAS_FRAGS: u32 = 32;
241pub const BPF_F_XDP_DEV_BOUND_ONLY: u32 = 64;
242pub const BPF_F_TEST_REG_INVARIANTS: u32 = 128;
243pub const BPF_F_NETFILTER_IP_DEFRAG: u32 = 1;
244pub const BPF_PSEUDO_MAP_FD: u32 = 1;
245pub const BPF_PSEUDO_MAP_IDX: u32 = 5;
246pub const BPF_PSEUDO_MAP_VALUE: u32 = 2;
247pub const BPF_PSEUDO_MAP_IDX_VALUE: u32 = 6;
248pub const BPF_PSEUDO_BTF_ID: u32 = 3;
249pub const BPF_PSEUDO_FUNC: u32 = 4;
250pub const BPF_PSEUDO_CALL: u32 = 1;
251pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2;
252pub const BPF_F_QUERY_EFFECTIVE: u32 = 1;
253pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1;
254pub const BPF_F_TEST_XDP_LIVE_FRAMES: u32 = 2;
255pub const BPF_BUILD_ID_SIZE: u32 = 20;
256pub const BPF_OBJ_NAME_LEN: u32 = 16;
257pub const BPF_TAG_SIZE: u32 = 8;
258pub const TC_ACT_UNSPEC: i32 = -1;
259pub const TC_ACT_OK: u32 = 0;
260pub const TC_ACT_RECLASSIFY: u32 = 1;
261pub const TC_ACT_SHOT: u32 = 2;
262pub const TC_ACT_PIPE: u32 = 3;
263pub const TC_ACT_STOLEN: u32 = 4;
264pub const TC_ACT_QUEUED: u32 = 5;
265pub const TC_ACT_REPEAT: u32 = 6;
266pub const TC_ACT_REDIRECT: u32 = 7;
267pub const TC_ACT_TRAP: u32 = 8;
268pub const TC_ACT_VALUE_MAX: u32 = 8;
269pub const TC_ACT_EXT_VAL_MASK: u32 = 268435455;
270pub const TC_ACT_JUMP: u32 = 268435456;
271pub const TC_ACT_GOTO_CHAIN: u32 = 536870912;
272pub const TC_ACT_EXT_OPCODE_MAX: u32 = 536870912;
273pub const SOL_SOCKET: u32 = 1;
274pub const SO_DEBUG: u32 = 1;
275pub const SO_REUSEADDR: u32 = 2;
276pub const SO_TYPE: u32 = 3;
277pub const SO_ERROR: u32 = 4;
278pub const SO_DONTROUTE: u32 = 5;
279pub const SO_BROADCAST: u32 = 6;
280pub const SO_SNDBUF: u32 = 7;
281pub const SO_RCVBUF: u32 = 8;
282pub const SO_SNDBUFFORCE: u32 = 32;
283pub const SO_RCVBUFFORCE: u32 = 33;
284pub const SO_KEEPALIVE: u32 = 9;
285pub const SO_OOBINLINE: u32 = 10;
286pub const SO_NO_CHECK: u32 = 11;
287pub const SO_PRIORITY: u32 = 12;
288pub const SO_LINGER: u32 = 13;
289pub const SO_BSDCOMPAT: u32 = 14;
290pub const SO_REUSEPORT: u32 = 15;
291pub const SO_PASSCRED: u32 = 16;
292pub const SO_PEERCRED: u32 = 17;
293pub const SO_RCVLOWAT: u32 = 18;
294pub const SO_SNDLOWAT: u32 = 19;
295pub const SO_RCVTIMEO_OLD: u32 = 20;
296pub const SO_SNDTIMEO_OLD: u32 = 21;
297pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
298pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
299pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
300pub const SO_BINDTODEVICE: u32 = 25;
301pub const SO_ATTACH_FILTER: u32 = 26;
302pub const SO_DETACH_FILTER: u32 = 27;
303pub const SO_GET_FILTER: u32 = 26;
304pub const SO_PEERNAME: u32 = 28;
305pub const SO_ACCEPTCONN: u32 = 30;
306pub const SO_PEERSEC: u32 = 31;
307pub const SO_PASSSEC: u32 = 34;
308pub const SO_MARK: u32 = 36;
309pub const SO_PROTOCOL: u32 = 38;
310pub const SO_DOMAIN: u32 = 39;
311pub const SO_RXQ_OVFL: u32 = 40;
312pub const SO_WIFI_STATUS: u32 = 41;
313pub const SO_PEEK_OFF: u32 = 42;
314pub const SO_NOFCS: u32 = 43;
315pub const SO_LOCK_FILTER: u32 = 44;
316pub const SO_SELECT_ERR_QUEUE: u32 = 45;
317pub const SO_BUSY_POLL: u32 = 46;
318pub const SO_MAX_PACING_RATE: u32 = 47;
319pub const SO_BPF_EXTENSIONS: u32 = 48;
320pub const SO_INCOMING_CPU: u32 = 49;
321pub const SO_ATTACH_BPF: u32 = 50;
322pub const SO_DETACH_BPF: u32 = 27;
323pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
324pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
325pub const SO_CNX_ADVICE: u32 = 53;
326pub const SO_MEMINFO: u32 = 55;
327pub const SO_INCOMING_NAPI_ID: u32 = 56;
328pub const SO_COOKIE: u32 = 57;
329pub const SO_PEERGROUPS: u32 = 59;
330pub const SO_ZEROCOPY: u32 = 60;
331pub const SO_TXTIME: u32 = 61;
332pub const SO_BINDTOIFINDEX: u32 = 62;
333pub const SO_TIMESTAMP_OLD: u32 = 29;
334pub const SO_TIMESTAMPNS_OLD: u32 = 35;
335pub const SO_TIMESTAMPING_OLD: u32 = 37;
336pub const SO_TIMESTAMP_NEW: u32 = 63;
337pub const SO_TIMESTAMPNS_NEW: u32 = 64;
338pub const SO_TIMESTAMPING_NEW: u32 = 65;
339pub const SO_RCVTIMEO_NEW: u32 = 66;
340pub const SO_SNDTIMEO_NEW: u32 = 67;
341pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
342pub const SO_PREFER_BUSY_POLL: u32 = 69;
343pub const SO_BUSY_POLL_BUDGET: u32 = 70;
344pub const SO_NETNS_COOKIE: u32 = 71;
345pub const SO_BUF_LOCK: u32 = 72;
346pub const SO_RESERVE_MEM: u32 = 73;
347pub const SO_TXREHASH: u32 = 74;
348pub const SO_RCVMARK: u32 = 75;
349pub const SO_PASSPIDFD: u32 = 76;
350pub const SO_PEERPIDFD: u32 = 77;
351pub const SO_TIMESTAMP: u32 = 29;
352pub const SO_TIMESTAMPNS: u32 = 35;
353pub const SO_TIMESTAMPING: u32 = 37;
354pub const SO_RCVTIMEO: u32 = 20;
355pub const SO_SNDTIMEO: u32 = 21;
356pub type __u8 = ::aya_ebpf_cty::c_uchar;
357pub type __s16 = ::aya_ebpf_cty::c_short;
358pub type __u16 = ::aya_ebpf_cty::c_ushort;
359pub type __s32 = ::aya_ebpf_cty::c_int;
360pub type __u32 = ::aya_ebpf_cty::c_uint;
361pub type __s64 = ::aya_ebpf_cty::c_longlong;
362pub type __u64 = ::aya_ebpf_cty::c_ulonglong;
363pub type __be16 = __u16;
364pub type __be32 = __u32;
365pub type __wsum = __u32;
366#[repr(C)]
367#[derive(Debug, Copy, Clone)]
368pub struct linux_binprm {
369 _unused: [u8; 0],
370}
371#[repr(C)]
372#[derive(Debug, Copy, Clone)]
373pub struct tcphdr {
374 _unused: [u8; 0],
375}
376#[repr(C)]
377#[derive(Debug, Copy, Clone)]
378pub struct seq_file {
379 _unused: [u8; 0],
380}
381#[repr(C)]
382#[derive(Debug, Copy, Clone)]
383pub struct tcp6_sock {
384 _unused: [u8; 0],
385}
386#[repr(C)]
387#[derive(Debug, Copy, Clone)]
388pub struct tcp_sock {
389 _unused: [u8; 0],
390}
391#[repr(C)]
392#[derive(Debug, Copy, Clone)]
393pub struct tcp_timewait_sock {
394 _unused: [u8; 0],
395}
396#[repr(C)]
397#[derive(Debug, Copy, Clone)]
398pub struct tcp_request_sock {
399 _unused: [u8; 0],
400}
401#[repr(C)]
402#[derive(Debug, Copy, Clone)]
403pub struct udp6_sock {
404 _unused: [u8; 0],
405}
406#[repr(C)]
407#[derive(Debug, Copy, Clone)]
408pub struct unix_sock {
409 _unused: [u8; 0],
410}
411#[repr(C)]
412#[derive(Debug, Copy, Clone)]
413pub struct task_struct {
414 _unused: [u8; 0],
415}
416#[repr(C)]
417#[derive(Debug, Copy, Clone)]
418pub struct cgroup {
419 _unused: [u8; 0],
420}
421#[repr(C)]
422#[derive(Debug, Copy, Clone)]
423pub struct path {
424 _unused: [u8; 0],
425}
426#[repr(C)]
427#[derive(Debug, Copy, Clone)]
428pub struct inode {
429 _unused: [u8; 0],
430}
431#[repr(C)]
432#[derive(Debug, Copy, Clone)]
433pub struct socket {
434 _unused: [u8; 0],
435}
436#[repr(C)]
437#[derive(Debug, Copy, Clone)]
438pub struct file {
439 _unused: [u8; 0],
440}
441#[repr(C)]
442#[derive(Debug, Copy, Clone)]
443pub struct mptcp_sock {
444 _unused: [u8; 0],
445}
446#[repr(C)]
447#[derive(Debug, Copy, Clone)]
448pub struct iphdr {
449 _unused: [u8; 0],
450}
451#[repr(C)]
452#[derive(Debug, Copy, Clone)]
453pub struct ipv6hdr {
454 _unused: [u8; 0],
455}
456pub mod bpf_cond_pseudo_jmp {
457 pub type Type = ::aya_ebpf_cty::c_uint;
458 pub const BPF_MAY_GOTO: Type = 0;
459}
460pub const BPF_REG_0: _bindgen_ty_1 = 0;
461pub const BPF_REG_1: _bindgen_ty_1 = 1;
462pub const BPF_REG_2: _bindgen_ty_1 = 2;
463pub const BPF_REG_3: _bindgen_ty_1 = 3;
464pub const BPF_REG_4: _bindgen_ty_1 = 4;
465pub const BPF_REG_5: _bindgen_ty_1 = 5;
466pub const BPF_REG_6: _bindgen_ty_1 = 6;
467pub const BPF_REG_7: _bindgen_ty_1 = 7;
468pub const BPF_REG_8: _bindgen_ty_1 = 8;
469pub const BPF_REG_9: _bindgen_ty_1 = 9;
470pub const BPF_REG_10: _bindgen_ty_1 = 10;
471pub const __MAX_BPF_REG: _bindgen_ty_1 = 11;
472pub type _bindgen_ty_1 = ::aya_ebpf_cty::c_uint;
473#[repr(C)]
474#[derive(Debug, Copy, Clone)]
475pub struct bpf_insn {
476 pub code: __u8,
477 pub _bitfield_align_1: [u8; 0],
478 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
479 pub off: __s16,
480 pub imm: __s32,
481}
482impl bpf_insn {
483 #[inline]
484 pub fn dst_reg(&self) -> __u8 {
485 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
486 }
487 #[inline]
488 pub fn set_dst_reg(&mut self, val: __u8) {
489 unsafe {
490 let val: u8 = ::core::mem::transmute(val);
491 self._bitfield_1.set(0usize, 4u8, val as u64)
492 }
493 }
494 #[inline]
495 pub unsafe fn dst_reg_raw(this: *const Self) -> __u8 {
496 unsafe {
497 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
498 ::core::ptr::addr_of!((*this)._bitfield_1),
499 0usize,
500 4u8,
501 ) as u8)
502 }
503 }
504 #[inline]
505 pub unsafe fn set_dst_reg_raw(this: *mut Self, val: __u8) {
506 unsafe {
507 let val: u8 = ::core::mem::transmute(val);
508 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
509 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
510 0usize,
511 4u8,
512 val as u64,
513 )
514 }
515 }
516 #[inline]
517 pub fn src_reg(&self) -> __u8 {
518 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
519 }
520 #[inline]
521 pub fn set_src_reg(&mut self, val: __u8) {
522 unsafe {
523 let val: u8 = ::core::mem::transmute(val);
524 self._bitfield_1.set(4usize, 4u8, val as u64)
525 }
526 }
527 #[inline]
528 pub unsafe fn src_reg_raw(this: *const Self) -> __u8 {
529 unsafe {
530 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
531 ::core::ptr::addr_of!((*this)._bitfield_1),
532 4usize,
533 4u8,
534 ) as u8)
535 }
536 }
537 #[inline]
538 pub unsafe fn set_src_reg_raw(this: *mut Self, val: __u8) {
539 unsafe {
540 let val: u8 = ::core::mem::transmute(val);
541 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
542 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
543 4usize,
544 4u8,
545 val as u64,
546 )
547 }
548 }
549 #[inline]
550 pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
551 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
552 __bindgen_bitfield_unit.set(0usize, 4u8, {
553 let dst_reg: u8 = unsafe { ::core::mem::transmute(dst_reg) };
554 dst_reg as u64
555 });
556 __bindgen_bitfield_unit.set(4usize, 4u8, {
557 let src_reg: u8 = unsafe { ::core::mem::transmute(src_reg) };
558 src_reg as u64
559 });
560 __bindgen_bitfield_unit
561 }
562}
563#[repr(C)]
564#[derive(Debug)]
565pub struct bpf_lpm_trie_key {
566 pub prefixlen: __u32,
567 pub data: __IncompleteArrayField<__u8>,
568}
569#[repr(C)]
570#[derive(Debug, Copy, Clone)]
571pub struct bpf_lpm_trie_key_hdr {
572 pub prefixlen: __u32,
573}
574#[repr(C)]
575pub struct bpf_lpm_trie_key_u8 {
576 pub __bindgen_anon_1: bpf_lpm_trie_key_u8__bindgen_ty_1,
577 pub data: __IncompleteArrayField<__u8>,
578}
579#[repr(C)]
580#[derive(Copy, Clone)]
581pub union bpf_lpm_trie_key_u8__bindgen_ty_1 {
582 pub hdr: bpf_lpm_trie_key_hdr,
583 pub prefixlen: __u32,
584}
585#[repr(C)]
586#[derive(Debug, Copy, Clone)]
587pub struct bpf_cgroup_storage_key {
588 pub cgroup_inode_id: __u64,
589 pub attach_type: __u32,
590}
591pub mod bpf_cgroup_iter_order {
592 pub type Type = ::aya_ebpf_cty::c_uint;
593 pub const BPF_CGROUP_ITER_ORDER_UNSPEC: Type = 0;
594 pub const BPF_CGROUP_ITER_SELF_ONLY: Type = 1;
595 pub const BPF_CGROUP_ITER_DESCENDANTS_PRE: Type = 2;
596 pub const BPF_CGROUP_ITER_DESCENDANTS_POST: Type = 3;
597 pub const BPF_CGROUP_ITER_ANCESTORS_UP: Type = 4;
598}
599#[repr(C)]
600#[derive(Copy, Clone)]
601pub union bpf_iter_link_info {
602 pub map: bpf_iter_link_info__bindgen_ty_1,
603 pub cgroup: bpf_iter_link_info__bindgen_ty_2,
604 pub task: bpf_iter_link_info__bindgen_ty_3,
605}
606#[repr(C)]
607#[derive(Debug, Copy, Clone)]
608pub struct bpf_iter_link_info__bindgen_ty_1 {
609 pub map_fd: __u32,
610}
611#[repr(C)]
612#[derive(Debug, Copy, Clone)]
613pub struct bpf_iter_link_info__bindgen_ty_2 {
614 pub order: bpf_cgroup_iter_order::Type,
615 pub cgroup_fd: __u32,
616 pub cgroup_id: __u64,
617}
618#[repr(C)]
619#[derive(Debug, Copy, Clone)]
620pub struct bpf_iter_link_info__bindgen_ty_3 {
621 pub tid: __u32,
622 pub pid: __u32,
623 pub pid_fd: __u32,
624}
625pub mod bpf_cmd {
626 pub type Type = ::aya_ebpf_cty::c_uint;
627 pub const BPF_MAP_CREATE: Type = 0;
628 pub const BPF_MAP_LOOKUP_ELEM: Type = 1;
629 pub const BPF_MAP_UPDATE_ELEM: Type = 2;
630 pub const BPF_MAP_DELETE_ELEM: Type = 3;
631 pub const BPF_MAP_GET_NEXT_KEY: Type = 4;
632 pub const BPF_PROG_LOAD: Type = 5;
633 pub const BPF_OBJ_PIN: Type = 6;
634 pub const BPF_OBJ_GET: Type = 7;
635 pub const BPF_PROG_ATTACH: Type = 8;
636 pub const BPF_PROG_DETACH: Type = 9;
637 pub const BPF_PROG_TEST_RUN: Type = 10;
638 pub const BPF_PROG_RUN: Type = 10;
639 pub const BPF_PROG_GET_NEXT_ID: Type = 11;
640 pub const BPF_MAP_GET_NEXT_ID: Type = 12;
641 pub const BPF_PROG_GET_FD_BY_ID: Type = 13;
642 pub const BPF_MAP_GET_FD_BY_ID: Type = 14;
643 pub const BPF_OBJ_GET_INFO_BY_FD: Type = 15;
644 pub const BPF_PROG_QUERY: Type = 16;
645 pub const BPF_RAW_TRACEPOINT_OPEN: Type = 17;
646 pub const BPF_BTF_LOAD: Type = 18;
647 pub const BPF_BTF_GET_FD_BY_ID: Type = 19;
648 pub const BPF_TASK_FD_QUERY: Type = 20;
649 pub const BPF_MAP_LOOKUP_AND_DELETE_ELEM: Type = 21;
650 pub const BPF_MAP_FREEZE: Type = 22;
651 pub const BPF_BTF_GET_NEXT_ID: Type = 23;
652 pub const BPF_MAP_LOOKUP_BATCH: Type = 24;
653 pub const BPF_MAP_LOOKUP_AND_DELETE_BATCH: Type = 25;
654 pub const BPF_MAP_UPDATE_BATCH: Type = 26;
655 pub const BPF_MAP_DELETE_BATCH: Type = 27;
656 pub const BPF_LINK_CREATE: Type = 28;
657 pub const BPF_LINK_UPDATE: Type = 29;
658 pub const BPF_LINK_GET_FD_BY_ID: Type = 30;
659 pub const BPF_LINK_GET_NEXT_ID: Type = 31;
660 pub const BPF_ENABLE_STATS: Type = 32;
661 pub const BPF_ITER_CREATE: Type = 33;
662 pub const BPF_LINK_DETACH: Type = 34;
663 pub const BPF_PROG_BIND_MAP: Type = 35;
664 pub const BPF_TOKEN_CREATE: Type = 36;
665 pub const __MAX_BPF_CMD: Type = 37;
666}
667pub mod bpf_map_type {
668 pub type Type = ::aya_ebpf_cty::c_uint;
669 pub const BPF_MAP_TYPE_UNSPEC: Type = 0;
670 pub const BPF_MAP_TYPE_HASH: Type = 1;
671 pub const BPF_MAP_TYPE_ARRAY: Type = 2;
672 pub const BPF_MAP_TYPE_PROG_ARRAY: Type = 3;
673 pub const BPF_MAP_TYPE_PERF_EVENT_ARRAY: Type = 4;
674 pub const BPF_MAP_TYPE_PERCPU_HASH: Type = 5;
675 pub const BPF_MAP_TYPE_PERCPU_ARRAY: Type = 6;
676 pub const BPF_MAP_TYPE_STACK_TRACE: Type = 7;
677 pub const BPF_MAP_TYPE_CGROUP_ARRAY: Type = 8;
678 pub const BPF_MAP_TYPE_LRU_HASH: Type = 9;
679 pub const BPF_MAP_TYPE_LRU_PERCPU_HASH: Type = 10;
680 pub const BPF_MAP_TYPE_LPM_TRIE: Type = 11;
681 pub const BPF_MAP_TYPE_ARRAY_OF_MAPS: Type = 12;
682 pub const BPF_MAP_TYPE_HASH_OF_MAPS: Type = 13;
683 pub const BPF_MAP_TYPE_DEVMAP: Type = 14;
684 pub const BPF_MAP_TYPE_SOCKMAP: Type = 15;
685 pub const BPF_MAP_TYPE_CPUMAP: Type = 16;
686 pub const BPF_MAP_TYPE_XSKMAP: Type = 17;
687 pub const BPF_MAP_TYPE_SOCKHASH: Type = 18;
688 pub const BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: Type = 19;
689 pub const BPF_MAP_TYPE_CGROUP_STORAGE: Type = 19;
690 pub const BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: Type = 20;
691 pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED: Type = 21;
692 pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: Type = 21;
693 pub const BPF_MAP_TYPE_QUEUE: Type = 22;
694 pub const BPF_MAP_TYPE_STACK: Type = 23;
695 pub const BPF_MAP_TYPE_SK_STORAGE: Type = 24;
696 pub const BPF_MAP_TYPE_DEVMAP_HASH: Type = 25;
697 pub const BPF_MAP_TYPE_STRUCT_OPS: Type = 26;
698 pub const BPF_MAP_TYPE_RINGBUF: Type = 27;
699 pub const BPF_MAP_TYPE_INODE_STORAGE: Type = 28;
700 pub const BPF_MAP_TYPE_TASK_STORAGE: Type = 29;
701 pub const BPF_MAP_TYPE_BLOOM_FILTER: Type = 30;
702 pub const BPF_MAP_TYPE_USER_RINGBUF: Type = 31;
703 pub const BPF_MAP_TYPE_CGRP_STORAGE: Type = 32;
704 pub const BPF_MAP_TYPE_ARENA: Type = 33;
705 pub const __MAX_BPF_MAP_TYPE: Type = 34;
706}
707pub mod bpf_prog_type {
708 pub type Type = ::aya_ebpf_cty::c_uint;
709 pub const BPF_PROG_TYPE_UNSPEC: Type = 0;
710 pub const BPF_PROG_TYPE_SOCKET_FILTER: Type = 1;
711 pub const BPF_PROG_TYPE_KPROBE: Type = 2;
712 pub const BPF_PROG_TYPE_SCHED_CLS: Type = 3;
713 pub const BPF_PROG_TYPE_SCHED_ACT: Type = 4;
714 pub const BPF_PROG_TYPE_TRACEPOINT: Type = 5;
715 pub const BPF_PROG_TYPE_XDP: Type = 6;
716 pub const BPF_PROG_TYPE_PERF_EVENT: Type = 7;
717 pub const BPF_PROG_TYPE_CGROUP_SKB: Type = 8;
718 pub const BPF_PROG_TYPE_CGROUP_SOCK: Type = 9;
719 pub const BPF_PROG_TYPE_LWT_IN: Type = 10;
720 pub const BPF_PROG_TYPE_LWT_OUT: Type = 11;
721 pub const BPF_PROG_TYPE_LWT_XMIT: Type = 12;
722 pub const BPF_PROG_TYPE_SOCK_OPS: Type = 13;
723 pub const BPF_PROG_TYPE_SK_SKB: Type = 14;
724 pub const BPF_PROG_TYPE_CGROUP_DEVICE: Type = 15;
725 pub const BPF_PROG_TYPE_SK_MSG: Type = 16;
726 pub const BPF_PROG_TYPE_RAW_TRACEPOINT: Type = 17;
727 pub const BPF_PROG_TYPE_CGROUP_SOCK_ADDR: Type = 18;
728 pub const BPF_PROG_TYPE_LWT_SEG6LOCAL: Type = 19;
729 pub const BPF_PROG_TYPE_LIRC_MODE2: Type = 20;
730 pub const BPF_PROG_TYPE_SK_REUSEPORT: Type = 21;
731 pub const BPF_PROG_TYPE_FLOW_DISSECTOR: Type = 22;
732 pub const BPF_PROG_TYPE_CGROUP_SYSCTL: Type = 23;
733 pub const BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: Type = 24;
734 pub const BPF_PROG_TYPE_CGROUP_SOCKOPT: Type = 25;
735 pub const BPF_PROG_TYPE_TRACING: Type = 26;
736 pub const BPF_PROG_TYPE_STRUCT_OPS: Type = 27;
737 pub const BPF_PROG_TYPE_EXT: Type = 28;
738 pub const BPF_PROG_TYPE_LSM: Type = 29;
739 pub const BPF_PROG_TYPE_SK_LOOKUP: Type = 30;
740 pub const BPF_PROG_TYPE_SYSCALL: Type = 31;
741 pub const BPF_PROG_TYPE_NETFILTER: Type = 32;
742 pub const __MAX_BPF_PROG_TYPE: Type = 33;
743}
744pub mod bpf_attach_type {
745 pub type Type = ::aya_ebpf_cty::c_uint;
746 pub const BPF_CGROUP_INET_INGRESS: Type = 0;
747 pub const BPF_CGROUP_INET_EGRESS: Type = 1;
748 pub const BPF_CGROUP_INET_SOCK_CREATE: Type = 2;
749 pub const BPF_CGROUP_SOCK_OPS: Type = 3;
750 pub const BPF_SK_SKB_STREAM_PARSER: Type = 4;
751 pub const BPF_SK_SKB_STREAM_VERDICT: Type = 5;
752 pub const BPF_CGROUP_DEVICE: Type = 6;
753 pub const BPF_SK_MSG_VERDICT: Type = 7;
754 pub const BPF_CGROUP_INET4_BIND: Type = 8;
755 pub const BPF_CGROUP_INET6_BIND: Type = 9;
756 pub const BPF_CGROUP_INET4_CONNECT: Type = 10;
757 pub const BPF_CGROUP_INET6_CONNECT: Type = 11;
758 pub const BPF_CGROUP_INET4_POST_BIND: Type = 12;
759 pub const BPF_CGROUP_INET6_POST_BIND: Type = 13;
760 pub const BPF_CGROUP_UDP4_SENDMSG: Type = 14;
761 pub const BPF_CGROUP_UDP6_SENDMSG: Type = 15;
762 pub const BPF_LIRC_MODE2: Type = 16;
763 pub const BPF_FLOW_DISSECTOR: Type = 17;
764 pub const BPF_CGROUP_SYSCTL: Type = 18;
765 pub const BPF_CGROUP_UDP4_RECVMSG: Type = 19;
766 pub const BPF_CGROUP_UDP6_RECVMSG: Type = 20;
767 pub const BPF_CGROUP_GETSOCKOPT: Type = 21;
768 pub const BPF_CGROUP_SETSOCKOPT: Type = 22;
769 pub const BPF_TRACE_RAW_TP: Type = 23;
770 pub const BPF_TRACE_FENTRY: Type = 24;
771 pub const BPF_TRACE_FEXIT: Type = 25;
772 pub const BPF_MODIFY_RETURN: Type = 26;
773 pub const BPF_LSM_MAC: Type = 27;
774 pub const BPF_TRACE_ITER: Type = 28;
775 pub const BPF_CGROUP_INET4_GETPEERNAME: Type = 29;
776 pub const BPF_CGROUP_INET6_GETPEERNAME: Type = 30;
777 pub const BPF_CGROUP_INET4_GETSOCKNAME: Type = 31;
778 pub const BPF_CGROUP_INET6_GETSOCKNAME: Type = 32;
779 pub const BPF_XDP_DEVMAP: Type = 33;
780 pub const BPF_CGROUP_INET_SOCK_RELEASE: Type = 34;
781 pub const BPF_XDP_CPUMAP: Type = 35;
782 pub const BPF_SK_LOOKUP: Type = 36;
783 pub const BPF_XDP: Type = 37;
784 pub const BPF_SK_SKB_VERDICT: Type = 38;
785 pub const BPF_SK_REUSEPORT_SELECT: Type = 39;
786 pub const BPF_SK_REUSEPORT_SELECT_OR_MIGRATE: Type = 40;
787 pub const BPF_PERF_EVENT: Type = 41;
788 pub const BPF_TRACE_KPROBE_MULTI: Type = 42;
789 pub const BPF_LSM_CGROUP: Type = 43;
790 pub const BPF_STRUCT_OPS: Type = 44;
791 pub const BPF_NETFILTER: Type = 45;
792 pub const BPF_TCX_INGRESS: Type = 46;
793 pub const BPF_TCX_EGRESS: Type = 47;
794 pub const BPF_TRACE_UPROBE_MULTI: Type = 48;
795 pub const BPF_CGROUP_UNIX_CONNECT: Type = 49;
796 pub const BPF_CGROUP_UNIX_SENDMSG: Type = 50;
797 pub const BPF_CGROUP_UNIX_RECVMSG: Type = 51;
798 pub const BPF_CGROUP_UNIX_GETPEERNAME: Type = 52;
799 pub const BPF_CGROUP_UNIX_GETSOCKNAME: Type = 53;
800 pub const BPF_NETKIT_PRIMARY: Type = 54;
801 pub const BPF_NETKIT_PEER: Type = 55;
802 pub const __MAX_BPF_ATTACH_TYPE: Type = 56;
803}
804pub mod bpf_link_type {
805 pub type Type = ::aya_ebpf_cty::c_uint;
806 pub const BPF_LINK_TYPE_UNSPEC: Type = 0;
807 pub const BPF_LINK_TYPE_RAW_TRACEPOINT: Type = 1;
808 pub const BPF_LINK_TYPE_TRACING: Type = 2;
809 pub const BPF_LINK_TYPE_CGROUP: Type = 3;
810 pub const BPF_LINK_TYPE_ITER: Type = 4;
811 pub const BPF_LINK_TYPE_NETNS: Type = 5;
812 pub const BPF_LINK_TYPE_XDP: Type = 6;
813 pub const BPF_LINK_TYPE_PERF_EVENT: Type = 7;
814 pub const BPF_LINK_TYPE_KPROBE_MULTI: Type = 8;
815 pub const BPF_LINK_TYPE_STRUCT_OPS: Type = 9;
816 pub const BPF_LINK_TYPE_NETFILTER: Type = 10;
817 pub const BPF_LINK_TYPE_TCX: Type = 11;
818 pub const BPF_LINK_TYPE_UPROBE_MULTI: Type = 12;
819 pub const BPF_LINK_TYPE_NETKIT: Type = 13;
820 pub const __MAX_BPF_LINK_TYPE: Type = 14;
821}
822pub mod bpf_perf_event_type {
823 pub type Type = ::aya_ebpf_cty::c_uint;
824 pub const BPF_PERF_EVENT_UNSPEC: Type = 0;
825 pub const BPF_PERF_EVENT_UPROBE: Type = 1;
826 pub const BPF_PERF_EVENT_URETPROBE: Type = 2;
827 pub const BPF_PERF_EVENT_KPROBE: Type = 3;
828 pub const BPF_PERF_EVENT_KRETPROBE: Type = 4;
829 pub const BPF_PERF_EVENT_TRACEPOINT: Type = 5;
830 pub const BPF_PERF_EVENT_EVENT: Type = 6;
831}
832pub const BPF_F_KPROBE_MULTI_RETURN: _bindgen_ty_2 = 1;
833pub type _bindgen_ty_2 = ::aya_ebpf_cty::c_uint;
834pub const BPF_F_UPROBE_MULTI_RETURN: _bindgen_ty_3 = 1;
835pub type _bindgen_ty_3 = ::aya_ebpf_cty::c_uint;
836pub mod bpf_addr_space_cast {
837 pub type Type = ::aya_ebpf_cty::c_uint;
838 pub const BPF_ADDR_SPACE_CAST: Type = 1;
839}
840pub const BPF_ANY: _bindgen_ty_4 = 0;
841pub const BPF_NOEXIST: _bindgen_ty_4 = 1;
842pub const BPF_EXIST: _bindgen_ty_4 = 2;
843pub const BPF_F_LOCK: _bindgen_ty_4 = 4;
844pub type _bindgen_ty_4 = ::aya_ebpf_cty::c_uint;
845pub const BPF_F_NO_PREALLOC: _bindgen_ty_5 = 1;
846pub const BPF_F_NO_COMMON_LRU: _bindgen_ty_5 = 2;
847pub const BPF_F_NUMA_NODE: _bindgen_ty_5 = 4;
848pub const BPF_F_RDONLY: _bindgen_ty_5 = 8;
849pub const BPF_F_WRONLY: _bindgen_ty_5 = 16;
850pub const BPF_F_STACK_BUILD_ID: _bindgen_ty_5 = 32;
851pub const BPF_F_ZERO_SEED: _bindgen_ty_5 = 64;
852pub const BPF_F_RDONLY_PROG: _bindgen_ty_5 = 128;
853pub const BPF_F_WRONLY_PROG: _bindgen_ty_5 = 256;
854pub const BPF_F_CLONE: _bindgen_ty_5 = 512;
855pub const BPF_F_MMAPABLE: _bindgen_ty_5 = 1024;
856pub const BPF_F_PRESERVE_ELEMS: _bindgen_ty_5 = 2048;
857pub const BPF_F_INNER_MAP: _bindgen_ty_5 = 4096;
858pub const BPF_F_LINK: _bindgen_ty_5 = 8192;
859pub const BPF_F_PATH_FD: _bindgen_ty_5 = 16384;
860pub const BPF_F_VTYPE_BTF_OBJ_FD: _bindgen_ty_5 = 32768;
861pub const BPF_F_TOKEN_FD: _bindgen_ty_5 = 65536;
862pub const BPF_F_SEGV_ON_FAULT: _bindgen_ty_5 = 131072;
863pub const BPF_F_NO_USER_CONV: _bindgen_ty_5 = 262144;
864pub type _bindgen_ty_5 = ::aya_ebpf_cty::c_uint;
865pub mod bpf_stats_type {
866 pub type Type = ::aya_ebpf_cty::c_uint;
867 pub const BPF_STATS_RUN_TIME: Type = 0;
868}
869pub mod bpf_stack_build_id_status {
870 pub type Type = ::aya_ebpf_cty::c_uint;
871 pub const BPF_STACK_BUILD_ID_EMPTY: Type = 0;
872 pub const BPF_STACK_BUILD_ID_VALID: Type = 1;
873 pub const BPF_STACK_BUILD_ID_IP: Type = 2;
874}
875#[repr(C)]
876#[derive(Copy, Clone)]
877pub struct bpf_stack_build_id {
878 pub status: __s32,
879 pub build_id: [::aya_ebpf_cty::c_uchar; 20usize],
880 pub __bindgen_anon_1: bpf_stack_build_id__bindgen_ty_1,
881}
882#[repr(C)]
883#[derive(Copy, Clone)]
884pub union bpf_stack_build_id__bindgen_ty_1 {
885 pub offset: __u64,
886 pub ip: __u64,
887}
888#[repr(C)]
889#[derive(Copy, Clone)]
890pub union bpf_attr {
891 pub __bindgen_anon_1: bpf_attr__bindgen_ty_1,
892 pub __bindgen_anon_2: bpf_attr__bindgen_ty_2,
893 pub batch: bpf_attr__bindgen_ty_3,
894 pub __bindgen_anon_3: bpf_attr__bindgen_ty_4,
895 pub __bindgen_anon_4: bpf_attr__bindgen_ty_5,
896 pub __bindgen_anon_5: bpf_attr__bindgen_ty_6,
897 pub test: bpf_attr__bindgen_ty_7,
898 pub __bindgen_anon_6: bpf_attr__bindgen_ty_8,
899 pub info: bpf_attr__bindgen_ty_9,
900 pub query: bpf_attr__bindgen_ty_10,
901 pub raw_tracepoint: bpf_attr__bindgen_ty_11,
902 pub __bindgen_anon_7: bpf_attr__bindgen_ty_12,
903 pub task_fd_query: bpf_attr__bindgen_ty_13,
904 pub link_create: bpf_attr__bindgen_ty_14,
905 pub link_update: bpf_attr__bindgen_ty_15,
906 pub link_detach: bpf_attr__bindgen_ty_16,
907 pub enable_stats: bpf_attr__bindgen_ty_17,
908 pub iter_create: bpf_attr__bindgen_ty_18,
909 pub prog_bind_map: bpf_attr__bindgen_ty_19,
910 pub token_create: bpf_attr__bindgen_ty_20,
911}
912#[repr(C)]
913#[derive(Debug, Copy, Clone)]
914pub struct bpf_attr__bindgen_ty_1 {
915 pub map_type: __u32,
916 pub key_size: __u32,
917 pub value_size: __u32,
918 pub max_entries: __u32,
919 pub map_flags: __u32,
920 pub inner_map_fd: __u32,
921 pub numa_node: __u32,
922 pub map_name: [::aya_ebpf_cty::c_char; 16usize],
923 pub map_ifindex: __u32,
924 pub btf_fd: __u32,
925 pub btf_key_type_id: __u32,
926 pub btf_value_type_id: __u32,
927 pub btf_vmlinux_value_type_id: __u32,
928 pub map_extra: __u64,
929 pub value_type_btf_obj_fd: __s32,
930 pub map_token_fd: __s32,
931}
932#[repr(C)]
933#[derive(Copy, Clone)]
934pub struct bpf_attr__bindgen_ty_2 {
935 pub map_fd: __u32,
936 pub key: __u64,
937 pub __bindgen_anon_1: bpf_attr__bindgen_ty_2__bindgen_ty_1,
938 pub flags: __u64,
939}
940#[repr(C)]
941#[derive(Copy, Clone)]
942pub union bpf_attr__bindgen_ty_2__bindgen_ty_1 {
943 pub value: __u64,
944 pub next_key: __u64,
945}
946#[repr(C)]
947#[derive(Debug, Copy, Clone)]
948pub struct bpf_attr__bindgen_ty_3 {
949 pub in_batch: __u64,
950 pub out_batch: __u64,
951 pub keys: __u64,
952 pub values: __u64,
953 pub count: __u32,
954 pub map_fd: __u32,
955 pub elem_flags: __u64,
956 pub flags: __u64,
957}
958#[repr(C)]
959#[derive(Copy, Clone)]
960pub struct bpf_attr__bindgen_ty_4 {
961 pub prog_type: __u32,
962 pub insn_cnt: __u32,
963 pub insns: __u64,
964 pub license: __u64,
965 pub log_level: __u32,
966 pub log_size: __u32,
967 pub log_buf: __u64,
968 pub kern_version: __u32,
969 pub prog_flags: __u32,
970 pub prog_name: [::aya_ebpf_cty::c_char; 16usize],
971 pub prog_ifindex: __u32,
972 pub expected_attach_type: __u32,
973 pub prog_btf_fd: __u32,
974 pub func_info_rec_size: __u32,
975 pub func_info: __u64,
976 pub func_info_cnt: __u32,
977 pub line_info_rec_size: __u32,
978 pub line_info: __u64,
979 pub line_info_cnt: __u32,
980 pub attach_btf_id: __u32,
981 pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1,
982 pub core_relo_cnt: __u32,
983 pub fd_array: __u64,
984 pub core_relos: __u64,
985 pub core_relo_rec_size: __u32,
986 pub log_true_size: __u32,
987 pub prog_token_fd: __s32,
988}
989#[repr(C)]
990#[derive(Copy, Clone)]
991pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 {
992 pub attach_prog_fd: __u32,
993 pub attach_btf_obj_fd: __u32,
994}
995#[repr(C)]
996#[derive(Debug, Copy, Clone)]
997pub struct bpf_attr__bindgen_ty_5 {
998 pub pathname: __u64,
999 pub bpf_fd: __u32,
1000 pub file_flags: __u32,
1001 pub path_fd: __s32,
1002}
1003#[repr(C)]
1004#[derive(Copy, Clone)]
1005pub struct bpf_attr__bindgen_ty_6 {
1006 pub __bindgen_anon_1: bpf_attr__bindgen_ty_6__bindgen_ty_1,
1007 pub attach_bpf_fd: __u32,
1008 pub attach_type: __u32,
1009 pub attach_flags: __u32,
1010 pub replace_bpf_fd: __u32,
1011 pub __bindgen_anon_2: bpf_attr__bindgen_ty_6__bindgen_ty_2,
1012 pub expected_revision: __u64,
1013}
1014#[repr(C)]
1015#[derive(Copy, Clone)]
1016pub union bpf_attr__bindgen_ty_6__bindgen_ty_1 {
1017 pub target_fd: __u32,
1018 pub target_ifindex: __u32,
1019}
1020#[repr(C)]
1021#[derive(Copy, Clone)]
1022pub union bpf_attr__bindgen_ty_6__bindgen_ty_2 {
1023 pub relative_fd: __u32,
1024 pub relative_id: __u32,
1025}
1026#[repr(C)]
1027#[derive(Debug, Copy, Clone)]
1028pub struct bpf_attr__bindgen_ty_7 {
1029 pub prog_fd: __u32,
1030 pub retval: __u32,
1031 pub data_size_in: __u32,
1032 pub data_size_out: __u32,
1033 pub data_in: __u64,
1034 pub data_out: __u64,
1035 pub repeat: __u32,
1036 pub duration: __u32,
1037 pub ctx_size_in: __u32,
1038 pub ctx_size_out: __u32,
1039 pub ctx_in: __u64,
1040 pub ctx_out: __u64,
1041 pub flags: __u32,
1042 pub cpu: __u32,
1043 pub batch_size: __u32,
1044}
1045#[repr(C)]
1046#[derive(Copy, Clone)]
1047pub struct bpf_attr__bindgen_ty_8 {
1048 pub __bindgen_anon_1: bpf_attr__bindgen_ty_8__bindgen_ty_1,
1049 pub next_id: __u32,
1050 pub open_flags: __u32,
1051}
1052#[repr(C)]
1053#[derive(Copy, Clone)]
1054pub union bpf_attr__bindgen_ty_8__bindgen_ty_1 {
1055 pub start_id: __u32,
1056 pub prog_id: __u32,
1057 pub map_id: __u32,
1058 pub btf_id: __u32,
1059 pub link_id: __u32,
1060}
1061#[repr(C)]
1062#[derive(Debug, Copy, Clone)]
1063pub struct bpf_attr__bindgen_ty_9 {
1064 pub bpf_fd: __u32,
1065 pub info_len: __u32,
1066 pub info: __u64,
1067}
1068#[repr(C)]
1069#[derive(Copy, Clone)]
1070pub struct bpf_attr__bindgen_ty_10 {
1071 pub __bindgen_anon_1: bpf_attr__bindgen_ty_10__bindgen_ty_1,
1072 pub attach_type: __u32,
1073 pub query_flags: __u32,
1074 pub attach_flags: __u32,
1075 pub prog_ids: __u64,
1076 pub __bindgen_anon_2: bpf_attr__bindgen_ty_10__bindgen_ty_2,
1077 pub _bitfield_align_1: [u8; 0],
1078 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1079 pub prog_attach_flags: __u64,
1080 pub link_ids: __u64,
1081 pub link_attach_flags: __u64,
1082 pub revision: __u64,
1083}
1084#[repr(C)]
1085#[derive(Copy, Clone)]
1086pub union bpf_attr__bindgen_ty_10__bindgen_ty_1 {
1087 pub target_fd: __u32,
1088 pub target_ifindex: __u32,
1089}
1090#[repr(C)]
1091#[derive(Copy, Clone)]
1092pub union bpf_attr__bindgen_ty_10__bindgen_ty_2 {
1093 pub prog_cnt: __u32,
1094 pub count: __u32,
1095}
1096impl bpf_attr__bindgen_ty_10 {
1097 #[inline]
1098 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1099 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1100 __bindgen_bitfield_unit
1101 }
1102}
1103#[repr(C)]
1104#[derive(Debug, Copy, Clone)]
1105pub struct bpf_attr__bindgen_ty_11 {
1106 pub name: __u64,
1107 pub prog_fd: __u32,
1108 pub _bitfield_align_1: [u8; 0],
1109 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1110 pub cookie: __u64,
1111}
1112impl bpf_attr__bindgen_ty_11 {
1113 #[inline]
1114 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1115 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1116 __bindgen_bitfield_unit
1117 }
1118}
1119#[repr(C)]
1120#[derive(Debug, Copy, Clone)]
1121pub struct bpf_attr__bindgen_ty_12 {
1122 pub btf: __u64,
1123 pub btf_log_buf: __u64,
1124 pub btf_size: __u32,
1125 pub btf_log_size: __u32,
1126 pub btf_log_level: __u32,
1127 pub btf_log_true_size: __u32,
1128 pub btf_flags: __u32,
1129 pub btf_token_fd: __s32,
1130}
1131#[repr(C)]
1132#[derive(Debug, Copy, Clone)]
1133pub struct bpf_attr__bindgen_ty_13 {
1134 pub pid: __u32,
1135 pub fd: __u32,
1136 pub flags: __u32,
1137 pub buf_len: __u32,
1138 pub buf: __u64,
1139 pub prog_id: __u32,
1140 pub fd_type: __u32,
1141 pub probe_offset: __u64,
1142 pub probe_addr: __u64,
1143}
1144#[repr(C)]
1145#[derive(Copy, Clone)]
1146pub struct bpf_attr__bindgen_ty_14 {
1147 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_1,
1148 pub __bindgen_anon_2: bpf_attr__bindgen_ty_14__bindgen_ty_2,
1149 pub attach_type: __u32,
1150 pub flags: __u32,
1151 pub __bindgen_anon_3: bpf_attr__bindgen_ty_14__bindgen_ty_3,
1152}
1153#[repr(C)]
1154#[derive(Copy, Clone)]
1155pub union bpf_attr__bindgen_ty_14__bindgen_ty_1 {
1156 pub prog_fd: __u32,
1157 pub map_fd: __u32,
1158}
1159#[repr(C)]
1160#[derive(Copy, Clone)]
1161pub union bpf_attr__bindgen_ty_14__bindgen_ty_2 {
1162 pub target_fd: __u32,
1163 pub target_ifindex: __u32,
1164}
1165#[repr(C)]
1166#[derive(Copy, Clone)]
1167pub union bpf_attr__bindgen_ty_14__bindgen_ty_3 {
1168 pub target_btf_id: __u32,
1169 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1,
1170 pub perf_event: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2,
1171 pub kprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3,
1172 pub tracing: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4,
1173 pub netfilter: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5,
1174 pub tcx: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6,
1175 pub uprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7,
1176 pub netkit: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8,
1177}
1178#[repr(C)]
1179#[derive(Debug, Copy, Clone)]
1180pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1 {
1181 pub iter_info: __u64,
1182 pub iter_info_len: __u32,
1183}
1184#[repr(C)]
1185#[derive(Debug, Copy, Clone)]
1186pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2 {
1187 pub bpf_cookie: __u64,
1188}
1189#[repr(C)]
1190#[derive(Debug, Copy, Clone)]
1191pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3 {
1192 pub flags: __u32,
1193 pub cnt: __u32,
1194 pub syms: __u64,
1195 pub addrs: __u64,
1196 pub cookies: __u64,
1197}
1198#[repr(C)]
1199#[derive(Debug, Copy, Clone)]
1200pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4 {
1201 pub target_btf_id: __u32,
1202 pub cookie: __u64,
1203}
1204#[repr(C)]
1205#[derive(Debug, Copy, Clone)]
1206pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5 {
1207 pub pf: __u32,
1208 pub hooknum: __u32,
1209 pub priority: __s32,
1210 pub flags: __u32,
1211}
1212#[repr(C)]
1213#[derive(Copy, Clone)]
1214pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6 {
1215 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1,
1216 pub expected_revision: __u64,
1217}
1218#[repr(C)]
1219#[derive(Copy, Clone)]
1220pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 {
1221 pub relative_fd: __u32,
1222 pub relative_id: __u32,
1223}
1224#[repr(C)]
1225#[derive(Debug, Copy, Clone)]
1226pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7 {
1227 pub path: __u64,
1228 pub offsets: __u64,
1229 pub ref_ctr_offsets: __u64,
1230 pub cookies: __u64,
1231 pub cnt: __u32,
1232 pub flags: __u32,
1233 pub pid: __u32,
1234}
1235#[repr(C)]
1236#[derive(Copy, Clone)]
1237pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8 {
1238 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1,
1239 pub expected_revision: __u64,
1240}
1241#[repr(C)]
1242#[derive(Copy, Clone)]
1243pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 {
1244 pub relative_fd: __u32,
1245 pub relative_id: __u32,
1246}
1247#[repr(C)]
1248#[derive(Copy, Clone)]
1249pub struct bpf_attr__bindgen_ty_15 {
1250 pub link_fd: __u32,
1251 pub __bindgen_anon_1: bpf_attr__bindgen_ty_15__bindgen_ty_1,
1252 pub flags: __u32,
1253 pub __bindgen_anon_2: bpf_attr__bindgen_ty_15__bindgen_ty_2,
1254}
1255#[repr(C)]
1256#[derive(Copy, Clone)]
1257pub union bpf_attr__bindgen_ty_15__bindgen_ty_1 {
1258 pub new_prog_fd: __u32,
1259 pub new_map_fd: __u32,
1260}
1261#[repr(C)]
1262#[derive(Copy, Clone)]
1263pub union bpf_attr__bindgen_ty_15__bindgen_ty_2 {
1264 pub old_prog_fd: __u32,
1265 pub old_map_fd: __u32,
1266}
1267#[repr(C)]
1268#[derive(Debug, Copy, Clone)]
1269pub struct bpf_attr__bindgen_ty_16 {
1270 pub link_fd: __u32,
1271}
1272#[repr(C)]
1273#[derive(Debug, Copy, Clone)]
1274pub struct bpf_attr__bindgen_ty_17 {
1275 pub type_: __u32,
1276}
1277#[repr(C)]
1278#[derive(Debug, Copy, Clone)]
1279pub struct bpf_attr__bindgen_ty_18 {
1280 pub link_fd: __u32,
1281 pub flags: __u32,
1282}
1283#[repr(C)]
1284#[derive(Debug, Copy, Clone)]
1285pub struct bpf_attr__bindgen_ty_19 {
1286 pub prog_fd: __u32,
1287 pub map_fd: __u32,
1288 pub flags: __u32,
1289}
1290#[repr(C)]
1291#[derive(Debug, Copy, Clone)]
1292pub struct bpf_attr__bindgen_ty_20 {
1293 pub flags: __u32,
1294 pub bpffs_fd: __u32,
1295}
1296pub mod bpf_func_id {
1297 pub type Type = ::aya_ebpf_cty::c_uint;
1298 pub const BPF_FUNC_unspec: Type = 0;
1299 pub const BPF_FUNC_map_lookup_elem: Type = 1;
1300 pub const BPF_FUNC_map_update_elem: Type = 2;
1301 pub const BPF_FUNC_map_delete_elem: Type = 3;
1302 pub const BPF_FUNC_probe_read: Type = 4;
1303 pub const BPF_FUNC_ktime_get_ns: Type = 5;
1304 pub const BPF_FUNC_trace_printk: Type = 6;
1305 pub const BPF_FUNC_get_prandom_u32: Type = 7;
1306 pub const BPF_FUNC_get_smp_processor_id: Type = 8;
1307 pub const BPF_FUNC_skb_store_bytes: Type = 9;
1308 pub const BPF_FUNC_l3_csum_replace: Type = 10;
1309 pub const BPF_FUNC_l4_csum_replace: Type = 11;
1310 pub const BPF_FUNC_tail_call: Type = 12;
1311 pub const BPF_FUNC_clone_redirect: Type = 13;
1312 pub const BPF_FUNC_get_current_pid_tgid: Type = 14;
1313 pub const BPF_FUNC_get_current_uid_gid: Type = 15;
1314 pub const BPF_FUNC_get_current_comm: Type = 16;
1315 pub const BPF_FUNC_get_cgroup_classid: Type = 17;
1316 pub const BPF_FUNC_skb_vlan_push: Type = 18;
1317 pub const BPF_FUNC_skb_vlan_pop: Type = 19;
1318 pub const BPF_FUNC_skb_get_tunnel_key: Type = 20;
1319 pub const BPF_FUNC_skb_set_tunnel_key: Type = 21;
1320 pub const BPF_FUNC_perf_event_read: Type = 22;
1321 pub const BPF_FUNC_redirect: Type = 23;
1322 pub const BPF_FUNC_get_route_realm: Type = 24;
1323 pub const BPF_FUNC_perf_event_output: Type = 25;
1324 pub const BPF_FUNC_skb_load_bytes: Type = 26;
1325 pub const BPF_FUNC_get_stackid: Type = 27;
1326 pub const BPF_FUNC_csum_diff: Type = 28;
1327 pub const BPF_FUNC_skb_get_tunnel_opt: Type = 29;
1328 pub const BPF_FUNC_skb_set_tunnel_opt: Type = 30;
1329 pub const BPF_FUNC_skb_change_proto: Type = 31;
1330 pub const BPF_FUNC_skb_change_type: Type = 32;
1331 pub const BPF_FUNC_skb_under_cgroup: Type = 33;
1332 pub const BPF_FUNC_get_hash_recalc: Type = 34;
1333 pub const BPF_FUNC_get_current_task: Type = 35;
1334 pub const BPF_FUNC_probe_write_user: Type = 36;
1335 pub const BPF_FUNC_current_task_under_cgroup: Type = 37;
1336 pub const BPF_FUNC_skb_change_tail: Type = 38;
1337 pub const BPF_FUNC_skb_pull_data: Type = 39;
1338 pub const BPF_FUNC_csum_update: Type = 40;
1339 pub const BPF_FUNC_set_hash_invalid: Type = 41;
1340 pub const BPF_FUNC_get_numa_node_id: Type = 42;
1341 pub const BPF_FUNC_skb_change_head: Type = 43;
1342 pub const BPF_FUNC_xdp_adjust_head: Type = 44;
1343 pub const BPF_FUNC_probe_read_str: Type = 45;
1344 pub const BPF_FUNC_get_socket_cookie: Type = 46;
1345 pub const BPF_FUNC_get_socket_uid: Type = 47;
1346 pub const BPF_FUNC_set_hash: Type = 48;
1347 pub const BPF_FUNC_setsockopt: Type = 49;
1348 pub const BPF_FUNC_skb_adjust_room: Type = 50;
1349 pub const BPF_FUNC_redirect_map: Type = 51;
1350 pub const BPF_FUNC_sk_redirect_map: Type = 52;
1351 pub const BPF_FUNC_sock_map_update: Type = 53;
1352 pub const BPF_FUNC_xdp_adjust_meta: Type = 54;
1353 pub const BPF_FUNC_perf_event_read_value: Type = 55;
1354 pub const BPF_FUNC_perf_prog_read_value: Type = 56;
1355 pub const BPF_FUNC_getsockopt: Type = 57;
1356 pub const BPF_FUNC_override_return: Type = 58;
1357 pub const BPF_FUNC_sock_ops_cb_flags_set: Type = 59;
1358 pub const BPF_FUNC_msg_redirect_map: Type = 60;
1359 pub const BPF_FUNC_msg_apply_bytes: Type = 61;
1360 pub const BPF_FUNC_msg_cork_bytes: Type = 62;
1361 pub const BPF_FUNC_msg_pull_data: Type = 63;
1362 pub const BPF_FUNC_bind: Type = 64;
1363 pub const BPF_FUNC_xdp_adjust_tail: Type = 65;
1364 pub const BPF_FUNC_skb_get_xfrm_state: Type = 66;
1365 pub const BPF_FUNC_get_stack: Type = 67;
1366 pub const BPF_FUNC_skb_load_bytes_relative: Type = 68;
1367 pub const BPF_FUNC_fib_lookup: Type = 69;
1368 pub const BPF_FUNC_sock_hash_update: Type = 70;
1369 pub const BPF_FUNC_msg_redirect_hash: Type = 71;
1370 pub const BPF_FUNC_sk_redirect_hash: Type = 72;
1371 pub const BPF_FUNC_lwt_push_encap: Type = 73;
1372 pub const BPF_FUNC_lwt_seg6_store_bytes: Type = 74;
1373 pub const BPF_FUNC_lwt_seg6_adjust_srh: Type = 75;
1374 pub const BPF_FUNC_lwt_seg6_action: Type = 76;
1375 pub const BPF_FUNC_rc_repeat: Type = 77;
1376 pub const BPF_FUNC_rc_keydown: Type = 78;
1377 pub const BPF_FUNC_skb_cgroup_id: Type = 79;
1378 pub const BPF_FUNC_get_current_cgroup_id: Type = 80;
1379 pub const BPF_FUNC_get_local_storage: Type = 81;
1380 pub const BPF_FUNC_sk_select_reuseport: Type = 82;
1381 pub const BPF_FUNC_skb_ancestor_cgroup_id: Type = 83;
1382 pub const BPF_FUNC_sk_lookup_tcp: Type = 84;
1383 pub const BPF_FUNC_sk_lookup_udp: Type = 85;
1384 pub const BPF_FUNC_sk_release: Type = 86;
1385 pub const BPF_FUNC_map_push_elem: Type = 87;
1386 pub const BPF_FUNC_map_pop_elem: Type = 88;
1387 pub const BPF_FUNC_map_peek_elem: Type = 89;
1388 pub const BPF_FUNC_msg_push_data: Type = 90;
1389 pub const BPF_FUNC_msg_pop_data: Type = 91;
1390 pub const BPF_FUNC_rc_pointer_rel: Type = 92;
1391 pub const BPF_FUNC_spin_lock: Type = 93;
1392 pub const BPF_FUNC_spin_unlock: Type = 94;
1393 pub const BPF_FUNC_sk_fullsock: Type = 95;
1394 pub const BPF_FUNC_tcp_sock: Type = 96;
1395 pub const BPF_FUNC_skb_ecn_set_ce: Type = 97;
1396 pub const BPF_FUNC_get_listener_sock: Type = 98;
1397 pub const BPF_FUNC_skc_lookup_tcp: Type = 99;
1398 pub const BPF_FUNC_tcp_check_syncookie: Type = 100;
1399 pub const BPF_FUNC_sysctl_get_name: Type = 101;
1400 pub const BPF_FUNC_sysctl_get_current_value: Type = 102;
1401 pub const BPF_FUNC_sysctl_get_new_value: Type = 103;
1402 pub const BPF_FUNC_sysctl_set_new_value: Type = 104;
1403 pub const BPF_FUNC_strtol: Type = 105;
1404 pub const BPF_FUNC_strtoul: Type = 106;
1405 pub const BPF_FUNC_sk_storage_get: Type = 107;
1406 pub const BPF_FUNC_sk_storage_delete: Type = 108;
1407 pub const BPF_FUNC_send_signal: Type = 109;
1408 pub const BPF_FUNC_tcp_gen_syncookie: Type = 110;
1409 pub const BPF_FUNC_skb_output: Type = 111;
1410 pub const BPF_FUNC_probe_read_user: Type = 112;
1411 pub const BPF_FUNC_probe_read_kernel: Type = 113;
1412 pub const BPF_FUNC_probe_read_user_str: Type = 114;
1413 pub const BPF_FUNC_probe_read_kernel_str: Type = 115;
1414 pub const BPF_FUNC_tcp_send_ack: Type = 116;
1415 pub const BPF_FUNC_send_signal_thread: Type = 117;
1416 pub const BPF_FUNC_jiffies64: Type = 118;
1417 pub const BPF_FUNC_read_branch_records: Type = 119;
1418 pub const BPF_FUNC_get_ns_current_pid_tgid: Type = 120;
1419 pub const BPF_FUNC_xdp_output: Type = 121;
1420 pub const BPF_FUNC_get_netns_cookie: Type = 122;
1421 pub const BPF_FUNC_get_current_ancestor_cgroup_id: Type = 123;
1422 pub const BPF_FUNC_sk_assign: Type = 124;
1423 pub const BPF_FUNC_ktime_get_boot_ns: Type = 125;
1424 pub const BPF_FUNC_seq_printf: Type = 126;
1425 pub const BPF_FUNC_seq_write: Type = 127;
1426 pub const BPF_FUNC_sk_cgroup_id: Type = 128;
1427 pub const BPF_FUNC_sk_ancestor_cgroup_id: Type = 129;
1428 pub const BPF_FUNC_ringbuf_output: Type = 130;
1429 pub const BPF_FUNC_ringbuf_reserve: Type = 131;
1430 pub const BPF_FUNC_ringbuf_submit: Type = 132;
1431 pub const BPF_FUNC_ringbuf_discard: Type = 133;
1432 pub const BPF_FUNC_ringbuf_query: Type = 134;
1433 pub const BPF_FUNC_csum_level: Type = 135;
1434 pub const BPF_FUNC_skc_to_tcp6_sock: Type = 136;
1435 pub const BPF_FUNC_skc_to_tcp_sock: Type = 137;
1436 pub const BPF_FUNC_skc_to_tcp_timewait_sock: Type = 138;
1437 pub const BPF_FUNC_skc_to_tcp_request_sock: Type = 139;
1438 pub const BPF_FUNC_skc_to_udp6_sock: Type = 140;
1439 pub const BPF_FUNC_get_task_stack: Type = 141;
1440 pub const BPF_FUNC_load_hdr_opt: Type = 142;
1441 pub const BPF_FUNC_store_hdr_opt: Type = 143;
1442 pub const BPF_FUNC_reserve_hdr_opt: Type = 144;
1443 pub const BPF_FUNC_inode_storage_get: Type = 145;
1444 pub const BPF_FUNC_inode_storage_delete: Type = 146;
1445 pub const BPF_FUNC_d_path: Type = 147;
1446 pub const BPF_FUNC_copy_from_user: Type = 148;
1447 pub const BPF_FUNC_snprintf_btf: Type = 149;
1448 pub const BPF_FUNC_seq_printf_btf: Type = 150;
1449 pub const BPF_FUNC_skb_cgroup_classid: Type = 151;
1450 pub const BPF_FUNC_redirect_neigh: Type = 152;
1451 pub const BPF_FUNC_per_cpu_ptr: Type = 153;
1452 pub const BPF_FUNC_this_cpu_ptr: Type = 154;
1453 pub const BPF_FUNC_redirect_peer: Type = 155;
1454 pub const BPF_FUNC_task_storage_get: Type = 156;
1455 pub const BPF_FUNC_task_storage_delete: Type = 157;
1456 pub const BPF_FUNC_get_current_task_btf: Type = 158;
1457 pub const BPF_FUNC_bprm_opts_set: Type = 159;
1458 pub const BPF_FUNC_ktime_get_coarse_ns: Type = 160;
1459 pub const BPF_FUNC_ima_inode_hash: Type = 161;
1460 pub const BPF_FUNC_sock_from_file: Type = 162;
1461 pub const BPF_FUNC_check_mtu: Type = 163;
1462 pub const BPF_FUNC_for_each_map_elem: Type = 164;
1463 pub const BPF_FUNC_snprintf: Type = 165;
1464 pub const BPF_FUNC_sys_bpf: Type = 166;
1465 pub const BPF_FUNC_btf_find_by_name_kind: Type = 167;
1466 pub const BPF_FUNC_sys_close: Type = 168;
1467 pub const BPF_FUNC_timer_init: Type = 169;
1468 pub const BPF_FUNC_timer_set_callback: Type = 170;
1469 pub const BPF_FUNC_timer_start: Type = 171;
1470 pub const BPF_FUNC_timer_cancel: Type = 172;
1471 pub const BPF_FUNC_get_func_ip: Type = 173;
1472 pub const BPF_FUNC_get_attach_cookie: Type = 174;
1473 pub const BPF_FUNC_task_pt_regs: Type = 175;
1474 pub const BPF_FUNC_get_branch_snapshot: Type = 176;
1475 pub const BPF_FUNC_trace_vprintk: Type = 177;
1476 pub const BPF_FUNC_skc_to_unix_sock: Type = 178;
1477 pub const BPF_FUNC_kallsyms_lookup_name: Type = 179;
1478 pub const BPF_FUNC_find_vma: Type = 180;
1479 pub const BPF_FUNC_loop: Type = 181;
1480 pub const BPF_FUNC_strncmp: Type = 182;
1481 pub const BPF_FUNC_get_func_arg: Type = 183;
1482 pub const BPF_FUNC_get_func_ret: Type = 184;
1483 pub const BPF_FUNC_get_func_arg_cnt: Type = 185;
1484 pub const BPF_FUNC_get_retval: Type = 186;
1485 pub const BPF_FUNC_set_retval: Type = 187;
1486 pub const BPF_FUNC_xdp_get_buff_len: Type = 188;
1487 pub const BPF_FUNC_xdp_load_bytes: Type = 189;
1488 pub const BPF_FUNC_xdp_store_bytes: Type = 190;
1489 pub const BPF_FUNC_copy_from_user_task: Type = 191;
1490 pub const BPF_FUNC_skb_set_tstamp: Type = 192;
1491 pub const BPF_FUNC_ima_file_hash: Type = 193;
1492 pub const BPF_FUNC_kptr_xchg: Type = 194;
1493 pub const BPF_FUNC_map_lookup_percpu_elem: Type = 195;
1494 pub const BPF_FUNC_skc_to_mptcp_sock: Type = 196;
1495 pub const BPF_FUNC_dynptr_from_mem: Type = 197;
1496 pub const BPF_FUNC_ringbuf_reserve_dynptr: Type = 198;
1497 pub const BPF_FUNC_ringbuf_submit_dynptr: Type = 199;
1498 pub const BPF_FUNC_ringbuf_discard_dynptr: Type = 200;
1499 pub const BPF_FUNC_dynptr_read: Type = 201;
1500 pub const BPF_FUNC_dynptr_write: Type = 202;
1501 pub const BPF_FUNC_dynptr_data: Type = 203;
1502 pub const BPF_FUNC_tcp_raw_gen_syncookie_ipv4: Type = 204;
1503 pub const BPF_FUNC_tcp_raw_gen_syncookie_ipv6: Type = 205;
1504 pub const BPF_FUNC_tcp_raw_check_syncookie_ipv4: Type = 206;
1505 pub const BPF_FUNC_tcp_raw_check_syncookie_ipv6: Type = 207;
1506 pub const BPF_FUNC_ktime_get_tai_ns: Type = 208;
1507 pub const BPF_FUNC_user_ringbuf_drain: Type = 209;
1508 pub const BPF_FUNC_cgrp_storage_get: Type = 210;
1509 pub const BPF_FUNC_cgrp_storage_delete: Type = 211;
1510 pub const __BPF_FUNC_MAX_ID: Type = 212;
1511}
1512pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_6 = 1;
1513pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_6 = 2;
1514pub type _bindgen_ty_6 = ::aya_ebpf_cty::c_uint;
1515pub const BPF_F_HDR_FIELD_MASK: _bindgen_ty_7 = 15;
1516pub type _bindgen_ty_7 = ::aya_ebpf_cty::c_uint;
1517pub const BPF_F_PSEUDO_HDR: _bindgen_ty_8 = 16;
1518pub const BPF_F_MARK_MANGLED_0: _bindgen_ty_8 = 32;
1519pub const BPF_F_MARK_ENFORCE: _bindgen_ty_8 = 64;
1520pub type _bindgen_ty_8 = ::aya_ebpf_cty::c_uint;
1521pub const BPF_F_INGRESS: _bindgen_ty_9 = 1;
1522pub type _bindgen_ty_9 = ::aya_ebpf_cty::c_uint;
1523pub const BPF_F_TUNINFO_IPV6: _bindgen_ty_10 = 1;
1524pub type _bindgen_ty_10 = ::aya_ebpf_cty::c_uint;
1525pub const BPF_F_SKIP_FIELD_MASK: _bindgen_ty_11 = 255;
1526pub const BPF_F_USER_STACK: _bindgen_ty_11 = 256;
1527pub const BPF_F_FAST_STACK_CMP: _bindgen_ty_11 = 512;
1528pub const BPF_F_REUSE_STACKID: _bindgen_ty_11 = 1024;
1529pub const BPF_F_USER_BUILD_ID: _bindgen_ty_11 = 2048;
1530pub type _bindgen_ty_11 = ::aya_ebpf_cty::c_uint;
1531pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_12 = 2;
1532pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_12 = 4;
1533pub const BPF_F_SEQ_NUMBER: _bindgen_ty_12 = 8;
1534pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_12 = 16;
1535pub type _bindgen_ty_12 = ::aya_ebpf_cty::c_uint;
1536pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_13 = 16;
1537pub type _bindgen_ty_13 = ::aya_ebpf_cty::c_uint;
1538pub const BPF_F_INDEX_MASK: _bindgen_ty_14 = 4294967295;
1539pub const BPF_F_CURRENT_CPU: _bindgen_ty_14 = 4294967295;
1540pub const BPF_F_CTXLEN_MASK: _bindgen_ty_14 = 4503595332403200;
1541pub type _bindgen_ty_14 = ::aya_ebpf_cty::c_ulong;
1542pub const BPF_F_CURRENT_NETNS: _bindgen_ty_15 = -1;
1543pub type _bindgen_ty_15 = ::aya_ebpf_cty::c_int;
1544pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_16 = 0;
1545pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_16 = 1;
1546pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_16 = 2;
1547pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_16 = 3;
1548pub type _bindgen_ty_16 = ::aya_ebpf_cty::c_uint;
1549pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_17 = 1;
1550pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_17 = 2;
1551pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_17 = 4;
1552pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_17 = 8;
1553pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_17 = 16;
1554pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_17 = 32;
1555pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_17 = 64;
1556pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV4: _bindgen_ty_17 = 128;
1557pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV6: _bindgen_ty_17 = 256;
1558pub type _bindgen_ty_17 = ::aya_ebpf_cty::c_uint;
1559pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_18 = 255;
1560pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_18 = 56;
1561pub type _bindgen_ty_18 = ::aya_ebpf_cty::c_uint;
1562pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_19 = 1;
1563pub type _bindgen_ty_19 = ::aya_ebpf_cty::c_uint;
1564pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_20 = 1;
1565pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_20 = 1;
1566pub type _bindgen_ty_20 = ::aya_ebpf_cty::c_uint;
1567pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_21 = 1;
1568pub type _bindgen_ty_21 = ::aya_ebpf_cty::c_uint;
1569pub const BPF_RB_NO_WAKEUP: _bindgen_ty_22 = 1;
1570pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_22 = 2;
1571pub type _bindgen_ty_22 = ::aya_ebpf_cty::c_uint;
1572pub const BPF_RB_AVAIL_DATA: _bindgen_ty_23 = 0;
1573pub const BPF_RB_RING_SIZE: _bindgen_ty_23 = 1;
1574pub const BPF_RB_CONS_POS: _bindgen_ty_23 = 2;
1575pub const BPF_RB_PROD_POS: _bindgen_ty_23 = 3;
1576pub type _bindgen_ty_23 = ::aya_ebpf_cty::c_uint;
1577pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_24 = 2147483648;
1578pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_24 = 1073741824;
1579pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_24 = 8;
1580pub type _bindgen_ty_24 = ::aya_ebpf_cty::c_uint;
1581pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_25 = 1;
1582pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_25 = 2;
1583pub type _bindgen_ty_25 = ::aya_ebpf_cty::c_uint;
1584pub mod bpf_adj_room_mode {
1585 pub type Type = ::aya_ebpf_cty::c_uint;
1586 pub const BPF_ADJ_ROOM_NET: Type = 0;
1587 pub const BPF_ADJ_ROOM_MAC: Type = 1;
1588}
1589pub mod bpf_hdr_start_off {
1590 pub type Type = ::aya_ebpf_cty::c_uint;
1591 pub const BPF_HDR_START_MAC: Type = 0;
1592 pub const BPF_HDR_START_NET: Type = 1;
1593}
1594pub mod bpf_lwt_encap_mode {
1595 pub type Type = ::aya_ebpf_cty::c_uint;
1596 pub const BPF_LWT_ENCAP_SEG6: Type = 0;
1597 pub const BPF_LWT_ENCAP_SEG6_INLINE: Type = 1;
1598 pub const BPF_LWT_ENCAP_IP: Type = 2;
1599}
1600pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_26 = 1;
1601pub type _bindgen_ty_26 = ::aya_ebpf_cty::c_uint;
1602pub const BPF_F_BROADCAST: _bindgen_ty_27 = 8;
1603pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_27 = 16;
1604pub type _bindgen_ty_27 = ::aya_ebpf_cty::c_uint;
1605pub mod _bindgen_ty_28 {
1606 pub type Type = ::aya_ebpf_cty::c_uint;
1607 pub const BPF_SKB_TSTAMP_UNSPEC: Type = 0;
1608 pub const BPF_SKB_TSTAMP_DELIVERY_MONO: Type = 1;
1609}
1610#[repr(C)]
1611#[derive(Copy, Clone)]
1612pub struct __sk_buff {
1613 pub len: __u32,
1614 pub pkt_type: __u32,
1615 pub mark: __u32,
1616 pub queue_mapping: __u32,
1617 pub protocol: __u32,
1618 pub vlan_present: __u32,
1619 pub vlan_tci: __u32,
1620 pub vlan_proto: __u32,
1621 pub priority: __u32,
1622 pub ingress_ifindex: __u32,
1623 pub ifindex: __u32,
1624 pub tc_index: __u32,
1625 pub cb: [__u32; 5usize],
1626 pub hash: __u32,
1627 pub tc_classid: __u32,
1628 pub data: __u32,
1629 pub data_end: __u32,
1630 pub napi_id: __u32,
1631 pub family: __u32,
1632 pub remote_ip4: __u32,
1633 pub local_ip4: __u32,
1634 pub remote_ip6: [__u32; 4usize],
1635 pub local_ip6: [__u32; 4usize],
1636 pub remote_port: __u32,
1637 pub local_port: __u32,
1638 pub data_meta: __u32,
1639 pub __bindgen_anon_1: __sk_buff__bindgen_ty_1,
1640 pub tstamp: __u64,
1641 pub wire_len: __u32,
1642 pub gso_segs: __u32,
1643 pub __bindgen_anon_2: __sk_buff__bindgen_ty_2,
1644 pub gso_size: __u32,
1645 pub tstamp_type: __u8,
1646 pub _bitfield_align_1: [u8; 0],
1647 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
1648 pub hwtstamp: __u64,
1649}
1650#[repr(C)]
1651#[derive(Copy, Clone)]
1652pub union __sk_buff__bindgen_ty_1 {
1653 pub flow_keys: *mut bpf_flow_keys,
1654 pub _bitfield_align_1: [u8; 0],
1655 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1656}
1657impl __sk_buff__bindgen_ty_1 {
1658 #[inline]
1659 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1660 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1661 __bindgen_bitfield_unit
1662 }
1663}
1664#[repr(C)]
1665#[derive(Copy, Clone)]
1666pub union __sk_buff__bindgen_ty_2 {
1667 pub sk: *mut bpf_sock,
1668 pub _bitfield_align_1: [u8; 0],
1669 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1670}
1671impl __sk_buff__bindgen_ty_2 {
1672 #[inline]
1673 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1674 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1675 __bindgen_bitfield_unit
1676 }
1677}
1678impl __sk_buff {
1679 #[inline]
1680 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 3usize]> {
1681 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
1682 __bindgen_bitfield_unit
1683 }
1684}
1685#[repr(C)]
1686#[derive(Copy, Clone)]
1687pub struct bpf_tunnel_key {
1688 pub tunnel_id: __u32,
1689 pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
1690 pub tunnel_tos: __u8,
1691 pub tunnel_ttl: __u8,
1692 pub __bindgen_anon_2: bpf_tunnel_key__bindgen_ty_2,
1693 pub tunnel_label: __u32,
1694 pub __bindgen_anon_3: bpf_tunnel_key__bindgen_ty_3,
1695}
1696#[repr(C)]
1697#[derive(Copy, Clone)]
1698pub union bpf_tunnel_key__bindgen_ty_1 {
1699 pub remote_ipv4: __u32,
1700 pub remote_ipv6: [__u32; 4usize],
1701}
1702#[repr(C)]
1703#[derive(Copy, Clone)]
1704pub union bpf_tunnel_key__bindgen_ty_2 {
1705 pub tunnel_ext: __u16,
1706 pub tunnel_flags: __be16,
1707}
1708#[repr(C)]
1709#[derive(Copy, Clone)]
1710pub union bpf_tunnel_key__bindgen_ty_3 {
1711 pub local_ipv4: __u32,
1712 pub local_ipv6: [__u32; 4usize],
1713}
1714#[repr(C)]
1715#[derive(Copy, Clone)]
1716pub struct bpf_xfrm_state {
1717 pub reqid: __u32,
1718 pub spi: __u32,
1719 pub family: __u16,
1720 pub ext: __u16,
1721 pub __bindgen_anon_1: bpf_xfrm_state__bindgen_ty_1,
1722}
1723#[repr(C)]
1724#[derive(Copy, Clone)]
1725pub union bpf_xfrm_state__bindgen_ty_1 {
1726 pub remote_ipv4: __u32,
1727 pub remote_ipv6: [__u32; 4usize],
1728}
1729pub mod bpf_ret_code {
1730 pub type Type = ::aya_ebpf_cty::c_uint;
1731 pub const BPF_OK: Type = 0;
1732 pub const BPF_DROP: Type = 2;
1733 pub const BPF_REDIRECT: Type = 7;
1734 pub const BPF_LWT_REROUTE: Type = 128;
1735 pub const BPF_FLOW_DISSECTOR_CONTINUE: Type = 129;
1736}
1737#[repr(C)]
1738#[derive(Debug, Copy, Clone)]
1739pub struct bpf_sock {
1740 pub bound_dev_if: __u32,
1741 pub family: __u32,
1742 pub type_: __u32,
1743 pub protocol: __u32,
1744 pub mark: __u32,
1745 pub priority: __u32,
1746 pub src_ip4: __u32,
1747 pub src_ip6: [__u32; 4usize],
1748 pub src_port: __u32,
1749 pub dst_port: __be16,
1750 pub _bitfield_align_1: [u8; 0],
1751 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
1752 pub dst_ip4: __u32,
1753 pub dst_ip6: [__u32; 4usize],
1754 pub state: __u32,
1755 pub rx_queue_mapping: __s32,
1756}
1757impl bpf_sock {
1758 #[inline]
1759 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 2usize]> {
1760 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
1761 __bindgen_bitfield_unit
1762 }
1763}
1764#[repr(C)]
1765#[derive(Debug, Copy, Clone)]
1766pub struct bpf_tcp_sock {
1767 pub snd_cwnd: __u32,
1768 pub srtt_us: __u32,
1769 pub rtt_min: __u32,
1770 pub snd_ssthresh: __u32,
1771 pub rcv_nxt: __u32,
1772 pub snd_nxt: __u32,
1773 pub snd_una: __u32,
1774 pub mss_cache: __u32,
1775 pub ecn_flags: __u32,
1776 pub rate_delivered: __u32,
1777 pub rate_interval_us: __u32,
1778 pub packets_out: __u32,
1779 pub retrans_out: __u32,
1780 pub total_retrans: __u32,
1781 pub segs_in: __u32,
1782 pub data_segs_in: __u32,
1783 pub segs_out: __u32,
1784 pub data_segs_out: __u32,
1785 pub lost_out: __u32,
1786 pub sacked_out: __u32,
1787 pub bytes_received: __u64,
1788 pub bytes_acked: __u64,
1789 pub dsack_dups: __u32,
1790 pub delivered: __u32,
1791 pub delivered_ce: __u32,
1792 pub icsk_retransmits: __u32,
1793}
1794#[repr(C)]
1795#[derive(Copy, Clone)]
1796pub struct bpf_sock_tuple {
1797 pub __bindgen_anon_1: bpf_sock_tuple__bindgen_ty_1,
1798}
1799#[repr(C)]
1800#[derive(Copy, Clone)]
1801pub union bpf_sock_tuple__bindgen_ty_1 {
1802 pub ipv4: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1,
1803 pub ipv6: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2,
1804}
1805#[repr(C)]
1806#[derive(Debug, Copy, Clone)]
1807pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1 {
1808 pub saddr: __be32,
1809 pub daddr: __be32,
1810 pub sport: __be16,
1811 pub dport: __be16,
1812}
1813#[repr(C)]
1814#[derive(Debug, Copy, Clone)]
1815pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2 {
1816 pub saddr: [__be32; 4usize],
1817 pub daddr: [__be32; 4usize],
1818 pub sport: __be16,
1819 pub dport: __be16,
1820}
1821pub mod tcx_action_base {
1822 pub type Type = ::aya_ebpf_cty::c_int;
1823 pub const TCX_NEXT: Type = -1;
1824 pub const TCX_PASS: Type = 0;
1825 pub const TCX_DROP: Type = 2;
1826 pub const TCX_REDIRECT: Type = 7;
1827}
1828#[repr(C)]
1829#[derive(Debug, Copy, Clone)]
1830pub struct bpf_xdp_sock {
1831 pub queue_id: __u32,
1832}
1833pub mod xdp_action {
1834 pub type Type = ::aya_ebpf_cty::c_uint;
1835 pub const XDP_ABORTED: Type = 0;
1836 pub const XDP_DROP: Type = 1;
1837 pub const XDP_PASS: Type = 2;
1838 pub const XDP_TX: Type = 3;
1839 pub const XDP_REDIRECT: Type = 4;
1840}
1841#[repr(C)]
1842#[derive(Debug, Copy, Clone)]
1843pub struct xdp_md {
1844 pub data: __u32,
1845 pub data_end: __u32,
1846 pub data_meta: __u32,
1847 pub ingress_ifindex: __u32,
1848 pub rx_queue_index: __u32,
1849 pub egress_ifindex: __u32,
1850}
1851#[repr(C)]
1852#[derive(Copy, Clone)]
1853pub struct bpf_devmap_val {
1854 pub ifindex: __u32,
1855 pub bpf_prog: bpf_devmap_val__bindgen_ty_1,
1856}
1857#[repr(C)]
1858#[derive(Copy, Clone)]
1859pub union bpf_devmap_val__bindgen_ty_1 {
1860 pub fd: ::aya_ebpf_cty::c_int,
1861 pub id: __u32,
1862}
1863#[repr(C)]
1864#[derive(Copy, Clone)]
1865pub struct bpf_cpumap_val {
1866 pub qsize: __u32,
1867 pub bpf_prog: bpf_cpumap_val__bindgen_ty_1,
1868}
1869#[repr(C)]
1870#[derive(Copy, Clone)]
1871pub union bpf_cpumap_val__bindgen_ty_1 {
1872 pub fd: ::aya_ebpf_cty::c_int,
1873 pub id: __u32,
1874}
1875pub mod sk_action {
1876 pub type Type = ::aya_ebpf_cty::c_uint;
1877 pub const SK_DROP: Type = 0;
1878 pub const SK_PASS: Type = 1;
1879}
1880#[repr(C)]
1881#[derive(Copy, Clone)]
1882pub struct sk_msg_md {
1883 pub __bindgen_anon_1: sk_msg_md__bindgen_ty_1,
1884 pub __bindgen_anon_2: sk_msg_md__bindgen_ty_2,
1885 pub family: __u32,
1886 pub remote_ip4: __u32,
1887 pub local_ip4: __u32,
1888 pub remote_ip6: [__u32; 4usize],
1889 pub local_ip6: [__u32; 4usize],
1890 pub remote_port: __u32,
1891 pub local_port: __u32,
1892 pub size: __u32,
1893 pub __bindgen_anon_3: sk_msg_md__bindgen_ty_3,
1894}
1895#[repr(C)]
1896#[derive(Copy, Clone)]
1897pub union sk_msg_md__bindgen_ty_1 {
1898 pub data: *mut ::aya_ebpf_cty::c_void,
1899 pub _bitfield_align_1: [u8; 0],
1900 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1901}
1902impl sk_msg_md__bindgen_ty_1 {
1903 #[inline]
1904 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1905 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1906 __bindgen_bitfield_unit
1907 }
1908}
1909#[repr(C)]
1910#[derive(Copy, Clone)]
1911pub union sk_msg_md__bindgen_ty_2 {
1912 pub data_end: *mut ::aya_ebpf_cty::c_void,
1913 pub _bitfield_align_1: [u8; 0],
1914 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1915}
1916impl sk_msg_md__bindgen_ty_2 {
1917 #[inline]
1918 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1919 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1920 __bindgen_bitfield_unit
1921 }
1922}
1923#[repr(C)]
1924#[derive(Copy, Clone)]
1925pub union sk_msg_md__bindgen_ty_3 {
1926 pub sk: *mut bpf_sock,
1927 pub _bitfield_align_1: [u8; 0],
1928 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1929}
1930impl sk_msg_md__bindgen_ty_3 {
1931 #[inline]
1932 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1933 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1934 __bindgen_bitfield_unit
1935 }
1936}
1937#[repr(C)]
1938#[derive(Copy, Clone)]
1939pub struct sk_reuseport_md {
1940 pub __bindgen_anon_1: sk_reuseport_md__bindgen_ty_1,
1941 pub __bindgen_anon_2: sk_reuseport_md__bindgen_ty_2,
1942 pub len: __u32,
1943 pub eth_protocol: __u32,
1944 pub ip_protocol: __u32,
1945 pub bind_inany: __u32,
1946 pub hash: __u32,
1947 pub __bindgen_anon_3: sk_reuseport_md__bindgen_ty_3,
1948 pub __bindgen_anon_4: sk_reuseport_md__bindgen_ty_4,
1949}
1950#[repr(C)]
1951#[derive(Copy, Clone)]
1952pub union sk_reuseport_md__bindgen_ty_1 {
1953 pub data: *mut ::aya_ebpf_cty::c_void,
1954 pub _bitfield_align_1: [u8; 0],
1955 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1956}
1957impl sk_reuseport_md__bindgen_ty_1 {
1958 #[inline]
1959 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1960 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1961 __bindgen_bitfield_unit
1962 }
1963}
1964#[repr(C)]
1965#[derive(Copy, Clone)]
1966pub union sk_reuseport_md__bindgen_ty_2 {
1967 pub data_end: *mut ::aya_ebpf_cty::c_void,
1968 pub _bitfield_align_1: [u8; 0],
1969 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1970}
1971impl sk_reuseport_md__bindgen_ty_2 {
1972 #[inline]
1973 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1974 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1975 __bindgen_bitfield_unit
1976 }
1977}
1978#[repr(C)]
1979#[derive(Copy, Clone)]
1980pub union sk_reuseport_md__bindgen_ty_3 {
1981 pub sk: *mut bpf_sock,
1982 pub _bitfield_align_1: [u8; 0],
1983 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1984}
1985impl sk_reuseport_md__bindgen_ty_3 {
1986 #[inline]
1987 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
1988 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
1989 __bindgen_bitfield_unit
1990 }
1991}
1992#[repr(C)]
1993#[derive(Copy, Clone)]
1994pub union sk_reuseport_md__bindgen_ty_4 {
1995 pub migrating_sk: *mut bpf_sock,
1996 pub _bitfield_align_1: [u8; 0],
1997 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
1998}
1999impl sk_reuseport_md__bindgen_ty_4 {
2000 #[inline]
2001 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2002 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2003 __bindgen_bitfield_unit
2004 }
2005}
2006#[repr(C)]
2007#[derive(Debug, Copy, Clone)]
2008pub struct bpf_prog_info {
2009 pub type_: __u32,
2010 pub id: __u32,
2011 pub tag: [__u8; 8usize],
2012 pub jited_prog_len: __u32,
2013 pub xlated_prog_len: __u32,
2014 pub jited_prog_insns: __u64,
2015 pub xlated_prog_insns: __u64,
2016 pub load_time: __u64,
2017 pub created_by_uid: __u32,
2018 pub nr_map_ids: __u32,
2019 pub map_ids: __u64,
2020 pub name: [::aya_ebpf_cty::c_char; 16usize],
2021 pub ifindex: __u32,
2022 pub _bitfield_align_1: [u8; 0],
2023 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2024 pub netns_dev: __u64,
2025 pub netns_ino: __u64,
2026 pub nr_jited_ksyms: __u32,
2027 pub nr_jited_func_lens: __u32,
2028 pub jited_ksyms: __u64,
2029 pub jited_func_lens: __u64,
2030 pub btf_id: __u32,
2031 pub func_info_rec_size: __u32,
2032 pub func_info: __u64,
2033 pub nr_func_info: __u32,
2034 pub nr_line_info: __u32,
2035 pub line_info: __u64,
2036 pub jited_line_info: __u64,
2037 pub nr_jited_line_info: __u32,
2038 pub line_info_rec_size: __u32,
2039 pub jited_line_info_rec_size: __u32,
2040 pub nr_prog_tags: __u32,
2041 pub prog_tags: __u64,
2042 pub run_time_ns: __u64,
2043 pub run_cnt: __u64,
2044 pub recursion_misses: __u64,
2045 pub verified_insns: __u32,
2046 pub attach_btf_obj_id: __u32,
2047 pub attach_btf_id: __u32,
2048}
2049impl bpf_prog_info {
2050 #[inline]
2051 pub fn gpl_compatible(&self) -> __u32 {
2052 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2053 }
2054 #[inline]
2055 pub fn set_gpl_compatible(&mut self, val: __u32) {
2056 unsafe {
2057 let val: u32 = ::core::mem::transmute(val);
2058 self._bitfield_1.set(0usize, 1u8, val as u64)
2059 }
2060 }
2061 #[inline]
2062 pub unsafe fn gpl_compatible_raw(this: *const Self) -> __u32 {
2063 unsafe {
2064 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
2065 ::core::ptr::addr_of!((*this)._bitfield_1),
2066 0usize,
2067 1u8,
2068 ) as u32)
2069 }
2070 }
2071 #[inline]
2072 pub unsafe fn set_gpl_compatible_raw(this: *mut Self, val: __u32) {
2073 unsafe {
2074 let val: u32 = ::core::mem::transmute(val);
2075 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
2076 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2077 0usize,
2078 1u8,
2079 val as u64,
2080 )
2081 }
2082 }
2083 #[inline]
2084 pub fn new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
2085 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2086 __bindgen_bitfield_unit.set(0usize, 1u8, {
2087 let gpl_compatible: u32 = unsafe { ::core::mem::transmute(gpl_compatible) };
2088 gpl_compatible as u64
2089 });
2090 __bindgen_bitfield_unit
2091 }
2092}
2093#[repr(C)]
2094#[derive(Debug, Copy, Clone)]
2095pub struct bpf_map_info {
2096 pub type_: __u32,
2097 pub id: __u32,
2098 pub key_size: __u32,
2099 pub value_size: __u32,
2100 pub max_entries: __u32,
2101 pub map_flags: __u32,
2102 pub name: [::aya_ebpf_cty::c_char; 16usize],
2103 pub ifindex: __u32,
2104 pub btf_vmlinux_value_type_id: __u32,
2105 pub netns_dev: __u64,
2106 pub netns_ino: __u64,
2107 pub btf_id: __u32,
2108 pub btf_key_type_id: __u32,
2109 pub btf_value_type_id: __u32,
2110 pub btf_vmlinux_id: __u32,
2111 pub map_extra: __u64,
2112}
2113#[repr(C)]
2114#[derive(Debug, Copy, Clone)]
2115pub struct bpf_btf_info {
2116 pub btf: __u64,
2117 pub btf_size: __u32,
2118 pub id: __u32,
2119 pub name: __u64,
2120 pub name_len: __u32,
2121 pub kernel_btf: __u32,
2122}
2123#[repr(C)]
2124#[derive(Copy, Clone)]
2125pub struct bpf_link_info {
2126 pub type_: __u32,
2127 pub id: __u32,
2128 pub prog_id: __u32,
2129 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1,
2130}
2131#[repr(C)]
2132#[derive(Copy, Clone)]
2133pub union bpf_link_info__bindgen_ty_1 {
2134 pub raw_tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_1,
2135 pub tracing: bpf_link_info__bindgen_ty_1__bindgen_ty_2,
2136 pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_3,
2137 pub iter: bpf_link_info__bindgen_ty_1__bindgen_ty_4,
2138 pub netns: bpf_link_info__bindgen_ty_1__bindgen_ty_5,
2139 pub xdp: bpf_link_info__bindgen_ty_1__bindgen_ty_6,
2140 pub struct_ops: bpf_link_info__bindgen_ty_1__bindgen_ty_7,
2141 pub netfilter: bpf_link_info__bindgen_ty_1__bindgen_ty_8,
2142 pub kprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_9,
2143 pub uprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_10,
2144 pub perf_event: bpf_link_info__bindgen_ty_1__bindgen_ty_11,
2145 pub tcx: bpf_link_info__bindgen_ty_1__bindgen_ty_12,
2146 pub netkit: bpf_link_info__bindgen_ty_1__bindgen_ty_13,
2147}
2148#[repr(C)]
2149#[derive(Debug, Copy, Clone)]
2150pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_1 {
2151 pub tp_name: __u64,
2152 pub tp_name_len: __u32,
2153}
2154#[repr(C)]
2155#[derive(Debug, Copy, Clone)]
2156pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_2 {
2157 pub attach_type: __u32,
2158 pub target_obj_id: __u32,
2159 pub target_btf_id: __u32,
2160}
2161#[repr(C)]
2162#[derive(Debug, Copy, Clone)]
2163pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_3 {
2164 pub cgroup_id: __u64,
2165 pub attach_type: __u32,
2166}
2167#[repr(C)]
2168#[derive(Copy, Clone)]
2169pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
2170 pub target_name: __u64,
2171 pub target_name_len: __u32,
2172 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
2173 pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
2174}
2175#[repr(C)]
2176#[derive(Copy, Clone)]
2177pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {
2178 pub map: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
2179}
2180#[repr(C)]
2181#[derive(Debug, Copy, Clone)]
2182pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
2183 pub map_id: __u32,
2184}
2185#[repr(C)]
2186#[derive(Copy, Clone)]
2187pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
2188 pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
2189 pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
2190}
2191#[repr(C)]
2192#[derive(Debug, Copy, Clone)]
2193pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
2194 pub cgroup_id: __u64,
2195 pub order: __u32,
2196}
2197#[repr(C)]
2198#[derive(Debug, Copy, Clone)]
2199pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
2200 pub tid: __u32,
2201 pub pid: __u32,
2202}
2203#[repr(C)]
2204#[derive(Debug, Copy, Clone)]
2205pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
2206 pub netns_ino: __u32,
2207 pub attach_type: __u32,
2208}
2209#[repr(C)]
2210#[derive(Debug, Copy, Clone)]
2211pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_6 {
2212 pub ifindex: __u32,
2213}
2214#[repr(C)]
2215#[derive(Debug, Copy, Clone)]
2216pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_7 {
2217 pub map_id: __u32,
2218}
2219#[repr(C)]
2220#[derive(Debug, Copy, Clone)]
2221pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_8 {
2222 pub pf: __u32,
2223 pub hooknum: __u32,
2224 pub priority: __s32,
2225 pub flags: __u32,
2226}
2227#[repr(C)]
2228#[derive(Debug, Copy, Clone)]
2229pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_9 {
2230 pub addrs: __u64,
2231 pub count: __u32,
2232 pub flags: __u32,
2233 pub missed: __u64,
2234 pub cookies: __u64,
2235}
2236#[repr(C)]
2237#[derive(Debug, Copy, Clone)]
2238pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_10 {
2239 pub path: __u64,
2240 pub offsets: __u64,
2241 pub ref_ctr_offsets: __u64,
2242 pub cookies: __u64,
2243 pub path_size: __u32,
2244 pub count: __u32,
2245 pub flags: __u32,
2246 pub pid: __u32,
2247}
2248#[repr(C)]
2249#[derive(Copy, Clone)]
2250pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
2251 pub type_: __u32,
2252 pub _bitfield_align_1: [u8; 0],
2253 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2254 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1,
2255}
2256#[repr(C)]
2257#[derive(Copy, Clone)]
2258pub union bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 {
2259 pub uprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1,
2260 pub kprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2,
2261 pub tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3,
2262 pub event: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4,
2263}
2264#[repr(C)]
2265#[derive(Debug, Copy, Clone)]
2266pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 {
2267 pub file_name: __u64,
2268 pub name_len: __u32,
2269 pub offset: __u32,
2270 pub cookie: __u64,
2271}
2272#[repr(C)]
2273#[derive(Debug, Copy, Clone)]
2274pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 {
2275 pub func_name: __u64,
2276 pub name_len: __u32,
2277 pub offset: __u32,
2278 pub addr: __u64,
2279 pub missed: __u64,
2280 pub cookie: __u64,
2281}
2282#[repr(C)]
2283#[derive(Debug, Copy, Clone)]
2284pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
2285 pub tp_name: __u64,
2286 pub name_len: __u32,
2287 pub _bitfield_align_1: [u8; 0],
2288 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2289 pub cookie: __u64,
2290}
2291impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
2292 #[inline]
2293 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
2294 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2295 __bindgen_bitfield_unit
2296 }
2297}
2298#[repr(C)]
2299#[derive(Debug, Copy, Clone)]
2300pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
2301 pub config: __u64,
2302 pub type_: __u32,
2303 pub _bitfield_align_1: [u8; 0],
2304 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2305 pub cookie: __u64,
2306}
2307impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
2308 #[inline]
2309 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
2310 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2311 __bindgen_bitfield_unit
2312 }
2313}
2314impl bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
2315 #[inline]
2316 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
2317 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2318 __bindgen_bitfield_unit
2319 }
2320}
2321#[repr(C)]
2322#[derive(Debug, Copy, Clone)]
2323pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_12 {
2324 pub ifindex: __u32,
2325 pub attach_type: __u32,
2326}
2327#[repr(C)]
2328#[derive(Debug, Copy, Clone)]
2329pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_13 {
2330 pub ifindex: __u32,
2331 pub attach_type: __u32,
2332}
2333#[repr(C)]
2334#[derive(Copy, Clone)]
2335pub struct bpf_sock_addr {
2336 pub user_family: __u32,
2337 pub user_ip4: __u32,
2338 pub user_ip6: [__u32; 4usize],
2339 pub user_port: __u32,
2340 pub family: __u32,
2341 pub type_: __u32,
2342 pub protocol: __u32,
2343 pub msg_src_ip4: __u32,
2344 pub msg_src_ip6: [__u32; 4usize],
2345 pub __bindgen_anon_1: bpf_sock_addr__bindgen_ty_1,
2346}
2347#[repr(C)]
2348#[derive(Copy, Clone)]
2349pub union bpf_sock_addr__bindgen_ty_1 {
2350 pub sk: *mut bpf_sock,
2351 pub _bitfield_align_1: [u8; 0],
2352 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2353}
2354impl bpf_sock_addr__bindgen_ty_1 {
2355 #[inline]
2356 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2357 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2358 __bindgen_bitfield_unit
2359 }
2360}
2361#[repr(C)]
2362#[derive(Copy, Clone)]
2363pub struct bpf_sock_ops {
2364 pub op: __u32,
2365 pub __bindgen_anon_1: bpf_sock_ops__bindgen_ty_1,
2366 pub family: __u32,
2367 pub remote_ip4: __u32,
2368 pub local_ip4: __u32,
2369 pub remote_ip6: [__u32; 4usize],
2370 pub local_ip6: [__u32; 4usize],
2371 pub remote_port: __u32,
2372 pub local_port: __u32,
2373 pub is_fullsock: __u32,
2374 pub snd_cwnd: __u32,
2375 pub srtt_us: __u32,
2376 pub bpf_sock_ops_cb_flags: __u32,
2377 pub state: __u32,
2378 pub rtt_min: __u32,
2379 pub snd_ssthresh: __u32,
2380 pub rcv_nxt: __u32,
2381 pub snd_nxt: __u32,
2382 pub snd_una: __u32,
2383 pub mss_cache: __u32,
2384 pub ecn_flags: __u32,
2385 pub rate_delivered: __u32,
2386 pub rate_interval_us: __u32,
2387 pub packets_out: __u32,
2388 pub retrans_out: __u32,
2389 pub total_retrans: __u32,
2390 pub segs_in: __u32,
2391 pub data_segs_in: __u32,
2392 pub segs_out: __u32,
2393 pub data_segs_out: __u32,
2394 pub lost_out: __u32,
2395 pub sacked_out: __u32,
2396 pub sk_txhash: __u32,
2397 pub bytes_received: __u64,
2398 pub bytes_acked: __u64,
2399 pub __bindgen_anon_2: bpf_sock_ops__bindgen_ty_2,
2400 pub __bindgen_anon_3: bpf_sock_ops__bindgen_ty_3,
2401 pub __bindgen_anon_4: bpf_sock_ops__bindgen_ty_4,
2402 pub skb_len: __u32,
2403 pub skb_tcp_flags: __u32,
2404 pub skb_hwtstamp: __u64,
2405}
2406#[repr(C)]
2407#[derive(Copy, Clone)]
2408pub union bpf_sock_ops__bindgen_ty_1 {
2409 pub args: [__u32; 4usize],
2410 pub reply: __u32,
2411 pub replylong: [__u32; 4usize],
2412}
2413#[repr(C)]
2414#[derive(Copy, Clone)]
2415pub union bpf_sock_ops__bindgen_ty_2 {
2416 pub sk: *mut bpf_sock,
2417 pub _bitfield_align_1: [u8; 0],
2418 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2419}
2420impl bpf_sock_ops__bindgen_ty_2 {
2421 #[inline]
2422 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2423 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2424 __bindgen_bitfield_unit
2425 }
2426}
2427#[repr(C)]
2428#[derive(Copy, Clone)]
2429pub union bpf_sock_ops__bindgen_ty_3 {
2430 pub skb_data: *mut ::aya_ebpf_cty::c_void,
2431 pub _bitfield_align_1: [u8; 0],
2432 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2433}
2434impl bpf_sock_ops__bindgen_ty_3 {
2435 #[inline]
2436 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2437 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2438 __bindgen_bitfield_unit
2439 }
2440}
2441#[repr(C)]
2442#[derive(Copy, Clone)]
2443pub union bpf_sock_ops__bindgen_ty_4 {
2444 pub skb_data_end: *mut ::aya_ebpf_cty::c_void,
2445 pub _bitfield_align_1: [u8; 0],
2446 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2447}
2448impl bpf_sock_ops__bindgen_ty_4 {
2449 #[inline]
2450 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2451 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2452 __bindgen_bitfield_unit
2453 }
2454}
2455pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_29 = 1;
2456pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_29 = 2;
2457pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_29 = 4;
2458pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_29 = 8;
2459pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_29 = 16;
2460pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_29 = 32;
2461pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_29 = 64;
2462pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_29 = 127;
2463pub type _bindgen_ty_29 = ::aya_ebpf_cty::c_uint;
2464pub const BPF_SOCK_OPS_VOID: _bindgen_ty_30 = 0;
2465pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_30 = 1;
2466pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_30 = 2;
2467pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_30 = 3;
2468pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_30 = 4;
2469pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_30 = 5;
2470pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_30 = 6;
2471pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_30 = 7;
2472pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_30 = 8;
2473pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_30 = 9;
2474pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_30 = 10;
2475pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_30 = 11;
2476pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_30 = 12;
2477pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_30 = 13;
2478pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_30 = 14;
2479pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_30 = 15;
2480pub type _bindgen_ty_30 = ::aya_ebpf_cty::c_uint;
2481pub const BPF_TCP_ESTABLISHED: _bindgen_ty_31 = 1;
2482pub const BPF_TCP_SYN_SENT: _bindgen_ty_31 = 2;
2483pub const BPF_TCP_SYN_RECV: _bindgen_ty_31 = 3;
2484pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_31 = 4;
2485pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_31 = 5;
2486pub const BPF_TCP_TIME_WAIT: _bindgen_ty_31 = 6;
2487pub const BPF_TCP_CLOSE: _bindgen_ty_31 = 7;
2488pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_31 = 8;
2489pub const BPF_TCP_LAST_ACK: _bindgen_ty_31 = 9;
2490pub const BPF_TCP_LISTEN: _bindgen_ty_31 = 10;
2491pub const BPF_TCP_CLOSING: _bindgen_ty_31 = 11;
2492pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_31 = 12;
2493pub const BPF_TCP_BOUND_INACTIVE: _bindgen_ty_31 = 13;
2494pub const BPF_TCP_MAX_STATES: _bindgen_ty_31 = 14;
2495pub type _bindgen_ty_31 = ::aya_ebpf_cty::c_uint;
2496pub mod _bindgen_ty_33 {
2497 pub type Type = ::aya_ebpf_cty::c_uint;
2498 pub const BPF_LOAD_HDR_OPT_TCP_SYN: Type = 1;
2499}
2500pub mod _bindgen_ty_34 {
2501 pub type Type = ::aya_ebpf_cty::c_uint;
2502 pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: Type = 1;
2503 pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: Type = 2;
2504}
2505#[repr(C)]
2506#[derive(Debug, Copy, Clone)]
2507pub struct bpf_perf_event_value {
2508 pub counter: __u64,
2509 pub enabled: __u64,
2510 pub running: __u64,
2511}
2512pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_35 = 1;
2513pub const BPF_DEVCG_ACC_READ: _bindgen_ty_35 = 2;
2514pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_35 = 4;
2515pub type _bindgen_ty_35 = ::aya_ebpf_cty::c_uint;
2516pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_36 = 1;
2517pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_36 = 2;
2518pub type _bindgen_ty_36 = ::aya_ebpf_cty::c_uint;
2519#[repr(C)]
2520#[derive(Debug, Copy, Clone)]
2521pub struct bpf_cgroup_dev_ctx {
2522 pub access_type: __u32,
2523 pub major: __u32,
2524 pub minor: __u32,
2525}
2526#[repr(C)]
2527#[derive(Debug)]
2528pub struct bpf_raw_tracepoint_args {
2529 pub args: __IncompleteArrayField<__u64>,
2530}
2531pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_37 = 1;
2532pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_37 = 2;
2533pub const BPF_FIB_LOOKUP_SKIP_NEIGH: _bindgen_ty_37 = 4;
2534pub const BPF_FIB_LOOKUP_TBID: _bindgen_ty_37 = 8;
2535pub const BPF_FIB_LOOKUP_SRC: _bindgen_ty_37 = 16;
2536pub type _bindgen_ty_37 = ::aya_ebpf_cty::c_uint;
2537pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_38 = 0;
2538pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_38 = 1;
2539pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_38 = 2;
2540pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_38 = 3;
2541pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_38 = 4;
2542pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_38 = 5;
2543pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_38 = 6;
2544pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_38 = 7;
2545pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_38 = 8;
2546pub const BPF_FIB_LKUP_RET_NO_SRC_ADDR: _bindgen_ty_38 = 9;
2547pub type _bindgen_ty_38 = ::aya_ebpf_cty::c_uint;
2548#[repr(C)]
2549#[derive(Copy, Clone)]
2550pub struct bpf_fib_lookup {
2551 pub family: __u8,
2552 pub l4_protocol: __u8,
2553 pub sport: __be16,
2554 pub dport: __be16,
2555 pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_1,
2556 pub ifindex: __u32,
2557 pub __bindgen_anon_2: bpf_fib_lookup__bindgen_ty_2,
2558 pub __bindgen_anon_3: bpf_fib_lookup__bindgen_ty_3,
2559 pub __bindgen_anon_4: bpf_fib_lookup__bindgen_ty_4,
2560 pub __bindgen_anon_5: bpf_fib_lookup__bindgen_ty_5,
2561 pub smac: [__u8; 6usize],
2562 pub dmac: [__u8; 6usize],
2563}
2564#[repr(C)]
2565#[derive(Copy, Clone)]
2566pub union bpf_fib_lookup__bindgen_ty_1 {
2567 pub tot_len: __u16,
2568 pub mtu_result: __u16,
2569}
2570#[repr(C)]
2571#[derive(Copy, Clone)]
2572pub union bpf_fib_lookup__bindgen_ty_2 {
2573 pub tos: __u8,
2574 pub flowinfo: __be32,
2575 pub rt_metric: __u32,
2576}
2577#[repr(C)]
2578#[derive(Copy, Clone)]
2579pub union bpf_fib_lookup__bindgen_ty_3 {
2580 pub ipv4_src: __be32,
2581 pub ipv6_src: [__u32; 4usize],
2582}
2583#[repr(C)]
2584#[derive(Copy, Clone)]
2585pub union bpf_fib_lookup__bindgen_ty_4 {
2586 pub ipv4_dst: __be32,
2587 pub ipv6_dst: [__u32; 4usize],
2588}
2589#[repr(C)]
2590#[derive(Copy, Clone)]
2591pub union bpf_fib_lookup__bindgen_ty_5 {
2592 pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_5__bindgen_ty_1,
2593 pub tbid: __u32,
2594}
2595#[repr(C)]
2596#[derive(Debug, Copy, Clone)]
2597pub struct bpf_fib_lookup__bindgen_ty_5__bindgen_ty_1 {
2598 pub h_vlan_proto: __be16,
2599 pub h_vlan_TCI: __be16,
2600}
2601#[repr(C)]
2602#[derive(Copy, Clone)]
2603pub struct bpf_redir_neigh {
2604 pub nh_family: __u32,
2605 pub __bindgen_anon_1: bpf_redir_neigh__bindgen_ty_1,
2606}
2607#[repr(C)]
2608#[derive(Copy, Clone)]
2609pub union bpf_redir_neigh__bindgen_ty_1 {
2610 pub ipv4_nh: __be32,
2611 pub ipv6_nh: [__u32; 4usize],
2612}
2613pub mod bpf_check_mtu_flags {
2614 pub type Type = ::aya_ebpf_cty::c_uint;
2615 pub const BPF_MTU_CHK_SEGS: Type = 1;
2616}
2617pub mod bpf_check_mtu_ret {
2618 pub type Type = ::aya_ebpf_cty::c_uint;
2619 pub const BPF_MTU_CHK_RET_SUCCESS: Type = 0;
2620 pub const BPF_MTU_CHK_RET_FRAG_NEEDED: Type = 1;
2621 pub const BPF_MTU_CHK_RET_SEGS_TOOBIG: Type = 2;
2622}
2623pub mod bpf_task_fd_type {
2624 pub type Type = ::aya_ebpf_cty::c_uint;
2625 pub const BPF_FD_TYPE_RAW_TRACEPOINT: Type = 0;
2626 pub const BPF_FD_TYPE_TRACEPOINT: Type = 1;
2627 pub const BPF_FD_TYPE_KPROBE: Type = 2;
2628 pub const BPF_FD_TYPE_KRETPROBE: Type = 3;
2629 pub const BPF_FD_TYPE_UPROBE: Type = 4;
2630 pub const BPF_FD_TYPE_URETPROBE: Type = 5;
2631}
2632pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_39 = 1;
2633pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_39 = 2;
2634pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_39 = 4;
2635pub type _bindgen_ty_39 = ::aya_ebpf_cty::c_uint;
2636#[repr(C)]
2637#[derive(Copy, Clone)]
2638pub struct bpf_flow_keys {
2639 pub nhoff: __u16,
2640 pub thoff: __u16,
2641 pub addr_proto: __u16,
2642 pub is_frag: __u8,
2643 pub is_first_frag: __u8,
2644 pub is_encap: __u8,
2645 pub ip_proto: __u8,
2646 pub n_proto: __be16,
2647 pub sport: __be16,
2648 pub dport: __be16,
2649 pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1,
2650 pub flags: __u32,
2651 pub flow_label: __be32,
2652}
2653#[repr(C)]
2654#[derive(Copy, Clone)]
2655pub union bpf_flow_keys__bindgen_ty_1 {
2656 pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1__bindgen_ty_1,
2657 pub __bindgen_anon_2: bpf_flow_keys__bindgen_ty_1__bindgen_ty_2,
2658}
2659#[repr(C)]
2660#[derive(Debug, Copy, Clone)]
2661pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_1 {
2662 pub ipv4_src: __be32,
2663 pub ipv4_dst: __be32,
2664}
2665#[repr(C)]
2666#[derive(Debug, Copy, Clone)]
2667pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_2 {
2668 pub ipv6_src: [__u32; 4usize],
2669 pub ipv6_dst: [__u32; 4usize],
2670}
2671#[repr(C)]
2672#[derive(Debug, Copy, Clone)]
2673pub struct bpf_func_info {
2674 pub insn_off: __u32,
2675 pub type_id: __u32,
2676}
2677#[repr(C)]
2678#[derive(Debug, Copy, Clone)]
2679pub struct bpf_line_info {
2680 pub insn_off: __u32,
2681 pub file_name_off: __u32,
2682 pub line_off: __u32,
2683 pub line_col: __u32,
2684}
2685#[repr(C)]
2686#[derive(Debug, Copy, Clone)]
2687pub struct bpf_spin_lock {
2688 pub val: __u32,
2689}
2690#[repr(C)]
2691#[derive(Debug, Copy, Clone)]
2692pub struct bpf_timer {
2693 pub __opaque: [__u64; 2usize],
2694}
2695#[repr(C)]
2696#[derive(Debug, Copy, Clone)]
2697pub struct bpf_dynptr {
2698 pub __opaque: [__u64; 2usize],
2699}
2700#[repr(C)]
2701#[derive(Debug, Copy, Clone)]
2702pub struct bpf_list_head {
2703 pub __opaque: [__u64; 2usize],
2704}
2705#[repr(C)]
2706#[derive(Debug, Copy, Clone)]
2707pub struct bpf_list_node {
2708 pub __opaque: [__u64; 3usize],
2709}
2710#[repr(C)]
2711#[derive(Debug, Copy, Clone)]
2712pub struct bpf_rb_root {
2713 pub __opaque: [__u64; 2usize],
2714}
2715#[repr(C)]
2716#[derive(Debug, Copy, Clone)]
2717pub struct bpf_rb_node {
2718 pub __opaque: [__u64; 4usize],
2719}
2720#[repr(C)]
2721#[derive(Debug, Copy, Clone)]
2722pub struct bpf_refcount {
2723 pub __opaque: [__u32; 1usize],
2724}
2725#[repr(C)]
2726#[derive(Debug, Copy, Clone)]
2727pub struct bpf_sysctl {
2728 pub write: __u32,
2729 pub file_pos: __u32,
2730}
2731#[repr(C)]
2732#[derive(Copy, Clone)]
2733pub struct bpf_sockopt {
2734 pub __bindgen_anon_1: bpf_sockopt__bindgen_ty_1,
2735 pub __bindgen_anon_2: bpf_sockopt__bindgen_ty_2,
2736 pub __bindgen_anon_3: bpf_sockopt__bindgen_ty_3,
2737 pub level: __s32,
2738 pub optname: __s32,
2739 pub optlen: __s32,
2740 pub retval: __s32,
2741}
2742#[repr(C)]
2743#[derive(Copy, Clone)]
2744pub union bpf_sockopt__bindgen_ty_1 {
2745 pub sk: *mut bpf_sock,
2746 pub _bitfield_align_1: [u8; 0],
2747 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2748}
2749impl bpf_sockopt__bindgen_ty_1 {
2750 #[inline]
2751 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2752 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2753 __bindgen_bitfield_unit
2754 }
2755}
2756#[repr(C)]
2757#[derive(Copy, Clone)]
2758pub union bpf_sockopt__bindgen_ty_2 {
2759 pub optval: *mut ::aya_ebpf_cty::c_void,
2760 pub _bitfield_align_1: [u8; 0],
2761 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2762}
2763impl bpf_sockopt__bindgen_ty_2 {
2764 #[inline]
2765 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2766 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2767 __bindgen_bitfield_unit
2768 }
2769}
2770#[repr(C)]
2771#[derive(Copy, Clone)]
2772pub union bpf_sockopt__bindgen_ty_3 {
2773 pub optval_end: *mut ::aya_ebpf_cty::c_void,
2774 pub _bitfield_align_1: [u8; 0],
2775 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2776}
2777impl bpf_sockopt__bindgen_ty_3 {
2778 #[inline]
2779 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2780 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2781 __bindgen_bitfield_unit
2782 }
2783}
2784#[repr(C)]
2785#[derive(Debug, Copy, Clone)]
2786pub struct bpf_pidns_info {
2787 pub pid: __u32,
2788 pub tgid: __u32,
2789}
2790#[repr(C)]
2791#[derive(Copy, Clone)]
2792pub struct bpf_sk_lookup {
2793 pub __bindgen_anon_1: bpf_sk_lookup__bindgen_ty_1,
2794 pub family: __u32,
2795 pub protocol: __u32,
2796 pub remote_ip4: __u32,
2797 pub remote_ip6: [__u32; 4usize],
2798 pub remote_port: __be16,
2799 pub _bitfield_align_1: [u8; 0],
2800 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
2801 pub local_ip4: __u32,
2802 pub local_ip6: [__u32; 4usize],
2803 pub local_port: __u32,
2804 pub ingress_ifindex: __u32,
2805}
2806#[repr(C)]
2807#[derive(Copy, Clone)]
2808pub union bpf_sk_lookup__bindgen_ty_1 {
2809 pub __bindgen_anon_1: bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1,
2810 pub cookie: __u64,
2811}
2812#[repr(C)]
2813#[derive(Copy, Clone)]
2814pub union bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1 {
2815 pub sk: *mut bpf_sock,
2816 pub _bitfield_align_1: [u8; 0],
2817 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2818}
2819impl bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1 {
2820 #[inline]
2821 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
2822 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2823 __bindgen_bitfield_unit
2824 }
2825}
2826impl bpf_sk_lookup {
2827 #[inline]
2828 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 2usize]> {
2829 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
2830 __bindgen_bitfield_unit
2831 }
2832}
2833#[repr(C)]
2834#[derive(Debug, Copy, Clone)]
2835pub struct btf_ptr {
2836 pub ptr: *mut ::aya_ebpf_cty::c_void,
2837 pub type_id: __u32,
2838 pub flags: __u32,
2839}
2840pub mod bpf_core_relo_kind {
2841 pub type Type = ::aya_ebpf_cty::c_uint;
2842 pub const BPF_CORE_FIELD_BYTE_OFFSET: Type = 0;
2843 pub const BPF_CORE_FIELD_BYTE_SIZE: Type = 1;
2844 pub const BPF_CORE_FIELD_EXISTS: Type = 2;
2845 pub const BPF_CORE_FIELD_SIGNED: Type = 3;
2846 pub const BPF_CORE_FIELD_LSHIFT_U64: Type = 4;
2847 pub const BPF_CORE_FIELD_RSHIFT_U64: Type = 5;
2848 pub const BPF_CORE_TYPE_ID_LOCAL: Type = 6;
2849 pub const BPF_CORE_TYPE_ID_TARGET: Type = 7;
2850 pub const BPF_CORE_TYPE_EXISTS: Type = 8;
2851 pub const BPF_CORE_TYPE_SIZE: Type = 9;
2852 pub const BPF_CORE_ENUMVAL_EXISTS: Type = 10;
2853 pub const BPF_CORE_ENUMVAL_VALUE: Type = 11;
2854 pub const BPF_CORE_TYPE_MATCHES: Type = 12;
2855}
2856#[repr(C)]
2857#[derive(Debug, Copy, Clone)]
2858pub struct bpf_core_relo {
2859 pub insn_off: __u32,
2860 pub type_id: __u32,
2861 pub access_str_off: __u32,
2862 pub kind: bpf_core_relo_kind::Type,
2863}
2864pub const BPF_F_TIMER_ABS: _bindgen_ty_41 = 1;
2865pub const BPF_F_TIMER_CPU_PIN: _bindgen_ty_41 = 2;
2866pub type _bindgen_ty_41 = ::aya_ebpf_cty::c_uint;
2867#[repr(C)]
2868#[derive(Debug, Copy, Clone)]
2869pub struct bpf_iter_num {
2870 pub __opaque: [__u64; 1usize],
2871}
2872#[repr(C)]
2873#[derive(Debug, Copy, Clone)]
2874pub struct pt_regs {
2875 pub r15: ::aya_ebpf_cty::c_ulong,
2876 pub r14: ::aya_ebpf_cty::c_ulong,
2877 pub r13: ::aya_ebpf_cty::c_ulong,
2878 pub r12: ::aya_ebpf_cty::c_ulong,
2879 pub rbp: ::aya_ebpf_cty::c_ulong,
2880 pub rbx: ::aya_ebpf_cty::c_ulong,
2881 pub r11: ::aya_ebpf_cty::c_ulong,
2882 pub r10: ::aya_ebpf_cty::c_ulong,
2883 pub r9: ::aya_ebpf_cty::c_ulong,
2884 pub r8: ::aya_ebpf_cty::c_ulong,
2885 pub rax: ::aya_ebpf_cty::c_ulong,
2886 pub rcx: ::aya_ebpf_cty::c_ulong,
2887 pub rdx: ::aya_ebpf_cty::c_ulong,
2888 pub rsi: ::aya_ebpf_cty::c_ulong,
2889 pub rdi: ::aya_ebpf_cty::c_ulong,
2890 pub orig_rax: ::aya_ebpf_cty::c_ulong,
2891 pub rip: ::aya_ebpf_cty::c_ulong,
2892 pub cs: ::aya_ebpf_cty::c_ulong,
2893 pub eflags: ::aya_ebpf_cty::c_ulong,
2894 pub rsp: ::aya_ebpf_cty::c_ulong,
2895 pub ss: ::aya_ebpf_cty::c_ulong,
2896}
2897pub type bpf_user_pt_regs_t = pt_regs;
2898#[repr(C)]
2899#[derive(Debug, Copy, Clone)]
2900pub struct bpf_perf_event_data {
2901 pub regs: bpf_user_pt_regs_t,
2902 pub sample_period: __u64,
2903 pub addr: __u64,
2904}
2905pub type sa_family_t = ::aya_ebpf_cty::c_ushort;
2906#[repr(C)]
2907#[derive(Debug, Copy, Clone)]
2908pub struct sockaddr {
2909 pub sa_family: sa_family_t,
2910 pub sa_data: [::aya_ebpf_cty::c_char; 14usize],
2911}