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 {
51 byte | mask
52 } else {
53 byte & !mask
54 }
55 }
56 #[inline]
57 pub fn set_bit(&mut self, index: usize, val: bool) {
58 debug_assert!(index / 8 < self.storage.as_ref().len());
59 let byte_index = index / 8;
60 let byte = &mut self.storage.as_mut()[byte_index];
61 *byte = Self::change_bit(*byte, index, val);
62 }
63 #[inline]
64 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
65 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
66 let byte_index = index / 8;
67 let byte = unsafe {
68 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
69 };
70 unsafe { *byte = Self::change_bit(*byte, index, val) };
71 }
72 #[inline]
73 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
74 debug_assert!(bit_width <= 64);
75 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
76 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
77 let mut val = 0;
78 for i in 0..(bit_width as usize) {
79 if self.get_bit(i + bit_offset) {
80 let index = if cfg!(target_endian = "big") {
81 bit_width as usize - 1 - i
82 } else {
83 i
84 };
85 val |= 1 << index;
86 }
87 }
88 val
89 }
90 #[inline]
91 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
92 debug_assert!(bit_width <= 64);
93 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
94 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
95 let mut val = 0;
96 for i in 0..(bit_width as usize) {
97 if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
98 let index = if cfg!(target_endian = "big") {
99 bit_width as usize - 1 - i
100 } else {
101 i
102 };
103 val |= 1 << index;
104 }
105 }
106 val
107 }
108 #[inline]
109 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
110 debug_assert!(bit_width <= 64);
111 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
112 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
113 for i in 0..(bit_width as usize) {
114 let mask = 1 << i;
115 let val_bit_is_set = val & mask == mask;
116 let index = if cfg!(target_endian = "big") {
117 bit_width as usize - 1 - i
118 } else {
119 i
120 };
121 self.set_bit(index + bit_offset, val_bit_is_set);
122 }
123 }
124 #[inline]
125 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
126 debug_assert!(bit_width <= 64);
127 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
128 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
129 for i in 0..(bit_width as usize) {
130 let mask = 1 << i;
131 let val_bit_is_set = val & mask == mask;
132 let index = if cfg!(target_endian = "big") {
133 bit_width as usize - 1 - i
134 } else {
135 i
136 };
137 unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
138 }
139 }
140}
141#[repr(C)]
142#[derive(Default)]
143pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
144impl<T> __IncompleteArrayField<T> {
145 #[inline]
146 pub const fn new() -> Self {
147 __IncompleteArrayField(::std::marker::PhantomData, [])
148 }
149 #[inline]
150 pub fn as_ptr(&self) -> *const T {
151 self as *const _ as *const T
152 }
153 #[inline]
154 pub fn as_mut_ptr(&mut self) -> *mut T {
155 self as *mut _ as *mut T
156 }
157 #[inline]
158 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
159 ::std::slice::from_raw_parts(self.as_ptr(), len)
160 }
161 #[inline]
162 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
163 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
164 }
165}
166impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
167 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
168 fmt.write_str("__IncompleteArrayField")
169 }
170}
171pub const XDP_FLAGS_UPDATE_IF_NOEXIST: u32 = 1;
172pub const XDP_FLAGS_SKB_MODE: u32 = 2;
173pub const XDP_FLAGS_DRV_MODE: u32 = 4;
174pub const XDP_FLAGS_HW_MODE: u32 = 8;
175pub const XDP_FLAGS_REPLACE: u32 = 16;
176pub const XDP_FLAGS_MODES: u32 = 14;
177pub const XDP_FLAGS_MASK: u32 = 31;
178pub const PERF_PMU_TYPE_SHIFT: u32 = 32;
179pub const PERF_HW_EVENT_MASK: u32 = 4294967295;
180pub const PERF_ATTR_SIZE_VER0: u32 = 64;
181pub const PERF_ATTR_SIZE_VER1: u32 = 72;
182pub const PERF_ATTR_SIZE_VER2: u32 = 80;
183pub const PERF_ATTR_SIZE_VER3: u32 = 96;
184pub const PERF_ATTR_SIZE_VER4: u32 = 104;
185pub const PERF_ATTR_SIZE_VER5: u32 = 112;
186pub const PERF_ATTR_SIZE_VER6: u32 = 120;
187pub const PERF_ATTR_SIZE_VER7: u32 = 128;
188pub const PERF_ATTR_SIZE_VER8: u32 = 136;
189pub const PERF_RECORD_MISC_CPUMODE_MASK: u32 = 7;
190pub const PERF_RECORD_MISC_CPUMODE_UNKNOWN: u32 = 0;
191pub const PERF_RECORD_MISC_KERNEL: u32 = 1;
192pub const PERF_RECORD_MISC_USER: u32 = 2;
193pub const PERF_RECORD_MISC_HYPERVISOR: u32 = 3;
194pub const PERF_RECORD_MISC_GUEST_KERNEL: u32 = 4;
195pub const PERF_RECORD_MISC_GUEST_USER: u32 = 5;
196pub const PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT: u32 = 4096;
197pub const PERF_RECORD_MISC_MMAP_DATA: u32 = 8192;
198pub const PERF_RECORD_MISC_COMM_EXEC: u32 = 8192;
199pub const PERF_RECORD_MISC_FORK_EXEC: u32 = 8192;
200pub const PERF_RECORD_MISC_SWITCH_OUT: u32 = 8192;
201pub const PERF_RECORD_MISC_EXACT_IP: u32 = 16384;
202pub const PERF_RECORD_MISC_SWITCH_OUT_PREEMPT: u32 = 16384;
203pub const PERF_RECORD_MISC_MMAP_BUILD_ID: u32 = 16384;
204pub const PERF_RECORD_MISC_EXT_RESERVED: u32 = 32768;
205pub const PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER: u32 = 1;
206pub const PERF_MAX_STACK_DEPTH: u32 = 127;
207pub const PERF_MAX_CONTEXTS_PER_STACK: u32 = 8;
208pub const PERF_AUX_FLAG_TRUNCATED: u32 = 1;
209pub const PERF_AUX_FLAG_OVERWRITE: u32 = 2;
210pub const PERF_AUX_FLAG_PARTIAL: u32 = 4;
211pub const PERF_AUX_FLAG_COLLISION: u32 = 8;
212pub const PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK: u32 = 65280;
213pub const PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT: u32 = 0;
214pub const PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW: u32 = 256;
215pub const PERF_FLAG_FD_NO_GROUP: u32 = 1;
216pub const PERF_FLAG_FD_OUTPUT: u32 = 2;
217pub const PERF_FLAG_PID_CGROUP: u32 = 4;
218pub const PERF_FLAG_FD_CLOEXEC: u32 = 8;
219pub const PERF_MEM_OP_NA: u32 = 1;
220pub const PERF_MEM_OP_LOAD: u32 = 2;
221pub const PERF_MEM_OP_STORE: u32 = 4;
222pub const PERF_MEM_OP_PFETCH: u32 = 8;
223pub const PERF_MEM_OP_EXEC: u32 = 16;
224pub const PERF_MEM_OP_SHIFT: u32 = 0;
225pub const PERF_MEM_LVL_NA: u32 = 1;
226pub const PERF_MEM_LVL_HIT: u32 = 2;
227pub const PERF_MEM_LVL_MISS: u32 = 4;
228pub const PERF_MEM_LVL_L1: u32 = 8;
229pub const PERF_MEM_LVL_LFB: u32 = 16;
230pub const PERF_MEM_LVL_L2: u32 = 32;
231pub const PERF_MEM_LVL_L3: u32 = 64;
232pub const PERF_MEM_LVL_LOC_RAM: u32 = 128;
233pub const PERF_MEM_LVL_REM_RAM1: u32 = 256;
234pub const PERF_MEM_LVL_REM_RAM2: u32 = 512;
235pub const PERF_MEM_LVL_REM_CCE1: u32 = 1024;
236pub const PERF_MEM_LVL_REM_CCE2: u32 = 2048;
237pub const PERF_MEM_LVL_IO: u32 = 4096;
238pub const PERF_MEM_LVL_UNC: u32 = 8192;
239pub const PERF_MEM_LVL_SHIFT: u32 = 5;
240pub const PERF_MEM_REMOTE_REMOTE: u32 = 1;
241pub const PERF_MEM_REMOTE_SHIFT: u32 = 37;
242pub const PERF_MEM_LVLNUM_L1: u32 = 1;
243pub const PERF_MEM_LVLNUM_L2: u32 = 2;
244pub const PERF_MEM_LVLNUM_L3: u32 = 3;
245pub const PERF_MEM_LVLNUM_L4: u32 = 4;
246pub const PERF_MEM_LVLNUM_L2_MHB: u32 = 5;
247pub const PERF_MEM_LVLNUM_MSC: u32 = 6;
248pub const PERF_MEM_LVLNUM_UNC: u32 = 8;
249pub const PERF_MEM_LVLNUM_CXL: u32 = 9;
250pub const PERF_MEM_LVLNUM_IO: u32 = 10;
251pub const PERF_MEM_LVLNUM_ANY_CACHE: u32 = 11;
252pub const PERF_MEM_LVLNUM_LFB: u32 = 12;
253pub const PERF_MEM_LVLNUM_RAM: u32 = 13;
254pub const PERF_MEM_LVLNUM_PMEM: u32 = 14;
255pub const PERF_MEM_LVLNUM_NA: u32 = 15;
256pub const PERF_MEM_LVLNUM_SHIFT: u32 = 33;
257pub const PERF_MEM_SNOOP_NA: u32 = 1;
258pub const PERF_MEM_SNOOP_NONE: u32 = 2;
259pub const PERF_MEM_SNOOP_HIT: u32 = 4;
260pub const PERF_MEM_SNOOP_MISS: u32 = 8;
261pub const PERF_MEM_SNOOP_HITM: u32 = 16;
262pub const PERF_MEM_SNOOP_SHIFT: u32 = 19;
263pub const PERF_MEM_SNOOPX_FWD: u32 = 1;
264pub const PERF_MEM_SNOOPX_PEER: u32 = 2;
265pub const PERF_MEM_SNOOPX_SHIFT: u32 = 38;
266pub const PERF_MEM_LOCK_NA: u32 = 1;
267pub const PERF_MEM_LOCK_LOCKED: u32 = 2;
268pub const PERF_MEM_LOCK_SHIFT: u32 = 24;
269pub const PERF_MEM_TLB_NA: u32 = 1;
270pub const PERF_MEM_TLB_HIT: u32 = 2;
271pub const PERF_MEM_TLB_MISS: u32 = 4;
272pub const PERF_MEM_TLB_L1: u32 = 8;
273pub const PERF_MEM_TLB_L2: u32 = 16;
274pub const PERF_MEM_TLB_WK: u32 = 32;
275pub const PERF_MEM_TLB_OS: u32 = 64;
276pub const PERF_MEM_TLB_SHIFT: u32 = 26;
277pub const PERF_MEM_BLK_NA: u32 = 1;
278pub const PERF_MEM_BLK_DATA: u32 = 2;
279pub const PERF_MEM_BLK_ADDR: u32 = 4;
280pub const PERF_MEM_BLK_SHIFT: u32 = 40;
281pub const PERF_MEM_HOPS_0: u32 = 1;
282pub const PERF_MEM_HOPS_1: u32 = 2;
283pub const PERF_MEM_HOPS_2: u32 = 3;
284pub const PERF_MEM_HOPS_3: u32 = 4;
285pub const PERF_MEM_HOPS_SHIFT: u32 = 43;
286pub const PERF_BRANCH_ENTRY_INFO_BITS_MAX: u32 = 33;
287pub const BPF_LD: u32 = 0;
288pub const BPF_LDX: u32 = 1;
289pub const BPF_ST: u32 = 2;
290pub const BPF_STX: u32 = 3;
291pub const BPF_ALU: u32 = 4;
292pub const BPF_JMP: u32 = 5;
293pub const BPF_RET: u32 = 6;
294pub const BPF_MISC: u32 = 7;
295pub const BPF_W: u32 = 0;
296pub const BPF_H: u32 = 8;
297pub const BPF_B: u32 = 16;
298pub const BPF_IMM: u32 = 0;
299pub const BPF_ABS: u32 = 32;
300pub const BPF_IND: u32 = 64;
301pub const BPF_MEM: u32 = 96;
302pub const BPF_LEN: u32 = 128;
303pub const BPF_MSH: u32 = 160;
304pub const BPF_ADD: u32 = 0;
305pub const BPF_SUB: u32 = 16;
306pub const BPF_MUL: u32 = 32;
307pub const BPF_DIV: u32 = 48;
308pub const BPF_OR: u32 = 64;
309pub const BPF_AND: u32 = 80;
310pub const BPF_LSH: u32 = 96;
311pub const BPF_RSH: u32 = 112;
312pub const BPF_NEG: u32 = 128;
313pub const BPF_MOD: u32 = 144;
314pub const BPF_XOR: u32 = 160;
315pub const BPF_JA: u32 = 0;
316pub const BPF_JEQ: u32 = 16;
317pub const BPF_JGT: u32 = 32;
318pub const BPF_JGE: u32 = 48;
319pub const BPF_JSET: u32 = 64;
320pub const BPF_K: u32 = 0;
321pub const BPF_X: u32 = 8;
322pub const BPF_MAXINSNS: u32 = 4096;
323pub const BPF_JMP32: u32 = 6;
324pub const BPF_ALU64: u32 = 7;
325pub const BPF_DW: u32 = 24;
326pub const BPF_MEMSX: u32 = 128;
327pub const BPF_ATOMIC: u32 = 192;
328pub const BPF_XADD: u32 = 192;
329pub const BPF_MOV: u32 = 176;
330pub const BPF_ARSH: u32 = 192;
331pub const BPF_END: u32 = 208;
332pub const BPF_TO_LE: u32 = 0;
333pub const BPF_TO_BE: u32 = 8;
334pub const BPF_FROM_LE: u32 = 0;
335pub const BPF_FROM_BE: u32 = 8;
336pub const BPF_JNE: u32 = 80;
337pub const BPF_JLT: u32 = 160;
338pub const BPF_JLE: u32 = 176;
339pub const BPF_JSGT: u32 = 96;
340pub const BPF_JSGE: u32 = 112;
341pub const BPF_JSLT: u32 = 192;
342pub const BPF_JSLE: u32 = 208;
343pub const BPF_JCOND: u32 = 224;
344pub const BPF_CALL: u32 = 128;
345pub const BPF_EXIT: u32 = 144;
346pub const BPF_FETCH: u32 = 1;
347pub const BPF_XCHG: u32 = 225;
348pub const BPF_CMPXCHG: u32 = 241;
349pub const BPF_LOAD_ACQ: u32 = 256;
350pub const BPF_STORE_REL: u32 = 272;
351pub const BPF_F_ALLOW_OVERRIDE: u32 = 1;
352pub const BPF_F_ALLOW_MULTI: u32 = 2;
353pub const BPF_F_REPLACE: u32 = 4;
354pub const BPF_F_BEFORE: u32 = 8;
355pub const BPF_F_AFTER: u32 = 16;
356pub const BPF_F_ID: u32 = 32;
357pub const BPF_F_PREORDER: u32 = 64;
358pub const BPF_F_STRICT_ALIGNMENT: u32 = 1;
359pub const BPF_F_ANY_ALIGNMENT: u32 = 2;
360pub const BPF_F_TEST_RND_HI32: u32 = 4;
361pub const BPF_F_TEST_STATE_FREQ: u32 = 8;
362pub const BPF_F_SLEEPABLE: u32 = 16;
363pub const BPF_F_XDP_HAS_FRAGS: u32 = 32;
364pub const BPF_F_XDP_DEV_BOUND_ONLY: u32 = 64;
365pub const BPF_F_TEST_REG_INVARIANTS: u32 = 128;
366pub const BPF_F_NETFILTER_IP_DEFRAG: u32 = 1;
367pub const BPF_PSEUDO_MAP_FD: u32 = 1;
368pub const BPF_PSEUDO_MAP_IDX: u32 = 5;
369pub const BPF_PSEUDO_MAP_VALUE: u32 = 2;
370pub const BPF_PSEUDO_MAP_IDX_VALUE: u32 = 6;
371pub const BPF_PSEUDO_BTF_ID: u32 = 3;
372pub const BPF_PSEUDO_FUNC: u32 = 4;
373pub const BPF_PSEUDO_CALL: u32 = 1;
374pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2;
375pub const BPF_F_QUERY_EFFECTIVE: u32 = 1;
376pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1;
377pub const BPF_F_TEST_XDP_LIVE_FRAMES: u32 = 2;
378pub const BPF_F_TEST_SKB_CHECKSUM_COMPLETE: u32 = 4;
379pub const BPF_BUILD_ID_SIZE: u32 = 20;
380pub const BPF_OBJ_NAME_LEN: u32 = 16;
381pub const XDP_PACKET_HEADROOM: u32 = 256;
382pub const BPF_TAG_SIZE: u32 = 8;
383pub const BPF_LOG_BUF_SIZE: u32 = 16777215;
384pub const BTF_MAGIC: u32 = 60319;
385pub const BTF_VERSION: u32 = 1;
386pub const BTF_MAX_TYPE: u32 = 1048575;
387pub const BTF_MAX_NAME_OFFSET: u32 = 16777215;
388pub const BTF_MAX_VLEN: u32 = 65535;
389pub const BTF_INT_SIGNED: u32 = 1;
390pub const BTF_INT_CHAR: u32 = 2;
391pub const BTF_INT_BOOL: u32 = 4;
392pub const BTF_ELF_SEC: &[u8; 5] = b".BTF\0";
393pub const BTF_EXT_ELF_SEC: &[u8; 9] = b".BTF.ext\0";
394pub const BTF_BASE_ELF_SEC: &[u8; 10] = b".BTF.base\0";
395pub type size_t = ::std::os::raw::c_ulong;
396pub type __pid_t = ::std::os::raw::c_int;
397pub type __u8 = ::std::os::raw::c_uchar;
398pub type __s16 = ::std::os::raw::c_short;
399pub type __u16 = ::std::os::raw::c_ushort;
400pub type __s32 = ::std::os::raw::c_int;
401pub type __u32 = ::std::os::raw::c_uint;
402pub type __s64 = ::std::os::raw::c_longlong;
403pub type __u64 = ::std::os::raw::c_ulonglong;
404pub type __be16 = __u16;
405pub type __be32 = __u32;
406pub const XDP_ATTACHED_NONE: _bindgen_ty_48 = 0;
407pub const XDP_ATTACHED_DRV: _bindgen_ty_48 = 1;
408pub const XDP_ATTACHED_SKB: _bindgen_ty_48 = 2;
409pub const XDP_ATTACHED_HW: _bindgen_ty_48 = 3;
410pub const XDP_ATTACHED_MULTI: _bindgen_ty_48 = 4;
411pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
412pub const PERF_TYPE_HARDWARE: perf_type_id = 0;
413pub const PERF_TYPE_SOFTWARE: perf_type_id = 1;
414pub const PERF_TYPE_TRACEPOINT: perf_type_id = 2;
415pub const PERF_TYPE_HW_CACHE: perf_type_id = 3;
416pub const PERF_TYPE_RAW: perf_type_id = 4;
417pub const PERF_TYPE_BREAKPOINT: perf_type_id = 5;
418pub const PERF_TYPE_MAX: perf_type_id = 6;
419pub type perf_type_id = ::std::os::raw::c_uint;
420pub const PERF_COUNT_HW_CPU_CYCLES: perf_hw_id = 0;
421pub const PERF_COUNT_HW_INSTRUCTIONS: perf_hw_id = 1;
422pub const PERF_COUNT_HW_CACHE_REFERENCES: perf_hw_id = 2;
423pub const PERF_COUNT_HW_CACHE_MISSES: perf_hw_id = 3;
424pub const PERF_COUNT_HW_BRANCH_INSTRUCTIONS: perf_hw_id = 4;
425pub const PERF_COUNT_HW_BRANCH_MISSES: perf_hw_id = 5;
426pub const PERF_COUNT_HW_BUS_CYCLES: perf_hw_id = 6;
427pub const PERF_COUNT_HW_STALLED_CYCLES_FRONTEND: perf_hw_id = 7;
428pub const PERF_COUNT_HW_STALLED_CYCLES_BACKEND: perf_hw_id = 8;
429pub const PERF_COUNT_HW_REF_CPU_CYCLES: perf_hw_id = 9;
430pub const PERF_COUNT_HW_MAX: perf_hw_id = 10;
431pub type perf_hw_id = ::std::os::raw::c_uint;
432pub const PERF_COUNT_HW_CACHE_L1D: perf_hw_cache_id = 0;
433pub const PERF_COUNT_HW_CACHE_L1I: perf_hw_cache_id = 1;
434pub const PERF_COUNT_HW_CACHE_LL: perf_hw_cache_id = 2;
435pub const PERF_COUNT_HW_CACHE_DTLB: perf_hw_cache_id = 3;
436pub const PERF_COUNT_HW_CACHE_ITLB: perf_hw_cache_id = 4;
437pub const PERF_COUNT_HW_CACHE_BPU: perf_hw_cache_id = 5;
438pub const PERF_COUNT_HW_CACHE_NODE: perf_hw_cache_id = 6;
439pub const PERF_COUNT_HW_CACHE_MAX: perf_hw_cache_id = 7;
440pub type perf_hw_cache_id = ::std::os::raw::c_uint;
441pub const PERF_COUNT_HW_CACHE_OP_READ: perf_hw_cache_op_id = 0;
442pub const PERF_COUNT_HW_CACHE_OP_WRITE: perf_hw_cache_op_id = 1;
443pub const PERF_COUNT_HW_CACHE_OP_PREFETCH: perf_hw_cache_op_id = 2;
444pub const PERF_COUNT_HW_CACHE_OP_MAX: perf_hw_cache_op_id = 3;
445pub type perf_hw_cache_op_id = ::std::os::raw::c_uint;
446pub const PERF_COUNT_HW_CACHE_RESULT_ACCESS: perf_hw_cache_op_result_id = 0;
447pub const PERF_COUNT_HW_CACHE_RESULT_MISS: perf_hw_cache_op_result_id = 1;
448pub const PERF_COUNT_HW_CACHE_RESULT_MAX: perf_hw_cache_op_result_id = 2;
449pub type perf_hw_cache_op_result_id = ::std::os::raw::c_uint;
450pub const PERF_COUNT_SW_CPU_CLOCK: perf_sw_ids = 0;
451pub const PERF_COUNT_SW_TASK_CLOCK: perf_sw_ids = 1;
452pub const PERF_COUNT_SW_PAGE_FAULTS: perf_sw_ids = 2;
453pub const PERF_COUNT_SW_CONTEXT_SWITCHES: perf_sw_ids = 3;
454pub const PERF_COUNT_SW_CPU_MIGRATIONS: perf_sw_ids = 4;
455pub const PERF_COUNT_SW_PAGE_FAULTS_MIN: perf_sw_ids = 5;
456pub const PERF_COUNT_SW_PAGE_FAULTS_MAJ: perf_sw_ids = 6;
457pub const PERF_COUNT_SW_ALIGNMENT_FAULTS: perf_sw_ids = 7;
458pub const PERF_COUNT_SW_EMULATION_FAULTS: perf_sw_ids = 8;
459pub const PERF_COUNT_SW_DUMMY: perf_sw_ids = 9;
460pub const PERF_COUNT_SW_BPF_OUTPUT: perf_sw_ids = 10;
461pub const PERF_COUNT_SW_CGROUP_SWITCHES: perf_sw_ids = 11;
462pub const PERF_COUNT_SW_MAX: perf_sw_ids = 12;
463pub type perf_sw_ids = ::std::os::raw::c_uint;
464pub const PERF_SAMPLE_IP: perf_event_sample_format = 1;
465pub const PERF_SAMPLE_TID: perf_event_sample_format = 2;
466pub const PERF_SAMPLE_TIME: perf_event_sample_format = 4;
467pub const PERF_SAMPLE_ADDR: perf_event_sample_format = 8;
468pub const PERF_SAMPLE_READ: perf_event_sample_format = 16;
469pub const PERF_SAMPLE_CALLCHAIN: perf_event_sample_format = 32;
470pub const PERF_SAMPLE_ID: perf_event_sample_format = 64;
471pub const PERF_SAMPLE_CPU: perf_event_sample_format = 128;
472pub const PERF_SAMPLE_PERIOD: perf_event_sample_format = 256;
473pub const PERF_SAMPLE_STREAM_ID: perf_event_sample_format = 512;
474pub const PERF_SAMPLE_RAW: perf_event_sample_format = 1024;
475pub const PERF_SAMPLE_BRANCH_STACK: perf_event_sample_format = 2048;
476pub const PERF_SAMPLE_REGS_USER: perf_event_sample_format = 4096;
477pub const PERF_SAMPLE_STACK_USER: perf_event_sample_format = 8192;
478pub const PERF_SAMPLE_WEIGHT: perf_event_sample_format = 16384;
479pub const PERF_SAMPLE_DATA_SRC: perf_event_sample_format = 32768;
480pub const PERF_SAMPLE_IDENTIFIER: perf_event_sample_format = 65536;
481pub const PERF_SAMPLE_TRANSACTION: perf_event_sample_format = 131072;
482pub const PERF_SAMPLE_REGS_INTR: perf_event_sample_format = 262144;
483pub const PERF_SAMPLE_PHYS_ADDR: perf_event_sample_format = 524288;
484pub const PERF_SAMPLE_AUX: perf_event_sample_format = 1048576;
485pub const PERF_SAMPLE_CGROUP: perf_event_sample_format = 2097152;
486pub const PERF_SAMPLE_DATA_PAGE_SIZE: perf_event_sample_format = 4194304;
487pub const PERF_SAMPLE_CODE_PAGE_SIZE: perf_event_sample_format = 8388608;
488pub const PERF_SAMPLE_WEIGHT_STRUCT: perf_event_sample_format = 16777216;
489pub const PERF_SAMPLE_MAX: perf_event_sample_format = 33554432;
490pub type perf_event_sample_format = ::std::os::raw::c_uint;
491pub const PERF_SAMPLE_BRANCH_USER_SHIFT: perf_branch_sample_type_shift = 0;
492pub const PERF_SAMPLE_BRANCH_KERNEL_SHIFT: perf_branch_sample_type_shift = 1;
493pub const PERF_SAMPLE_BRANCH_HV_SHIFT: perf_branch_sample_type_shift = 2;
494pub const PERF_SAMPLE_BRANCH_ANY_SHIFT: perf_branch_sample_type_shift = 3;
495pub const PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT: perf_branch_sample_type_shift = 4;
496pub const PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT: perf_branch_sample_type_shift = 5;
497pub const PERF_SAMPLE_BRANCH_IND_CALL_SHIFT: perf_branch_sample_type_shift = 6;
498pub const PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT: perf_branch_sample_type_shift = 7;
499pub const PERF_SAMPLE_BRANCH_IN_TX_SHIFT: perf_branch_sample_type_shift = 8;
500pub const PERF_SAMPLE_BRANCH_NO_TX_SHIFT: perf_branch_sample_type_shift = 9;
501pub const PERF_SAMPLE_BRANCH_COND_SHIFT: perf_branch_sample_type_shift = 10;
502pub const PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT: perf_branch_sample_type_shift = 11;
503pub const PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT: perf_branch_sample_type_shift = 12;
504pub const PERF_SAMPLE_BRANCH_CALL_SHIFT: perf_branch_sample_type_shift = 13;
505pub const PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT: perf_branch_sample_type_shift = 14;
506pub const PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT: perf_branch_sample_type_shift = 15;
507pub const PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT: perf_branch_sample_type_shift = 16;
508pub const PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT: perf_branch_sample_type_shift = 17;
509pub const PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT: perf_branch_sample_type_shift = 18;
510pub const PERF_SAMPLE_BRANCH_COUNTERS_SHIFT: perf_branch_sample_type_shift = 19;
511pub const PERF_SAMPLE_BRANCH_MAX_SHIFT: perf_branch_sample_type_shift = 20;
512pub type perf_branch_sample_type_shift = ::std::os::raw::c_uint;
513pub const PERF_SAMPLE_BRANCH_USER: perf_branch_sample_type = 1;
514pub const PERF_SAMPLE_BRANCH_KERNEL: perf_branch_sample_type = 2;
515pub const PERF_SAMPLE_BRANCH_HV: perf_branch_sample_type = 4;
516pub const PERF_SAMPLE_BRANCH_ANY: perf_branch_sample_type = 8;
517pub const PERF_SAMPLE_BRANCH_ANY_CALL: perf_branch_sample_type = 16;
518pub const PERF_SAMPLE_BRANCH_ANY_RETURN: perf_branch_sample_type = 32;
519pub const PERF_SAMPLE_BRANCH_IND_CALL: perf_branch_sample_type = 64;
520pub const PERF_SAMPLE_BRANCH_ABORT_TX: perf_branch_sample_type = 128;
521pub const PERF_SAMPLE_BRANCH_IN_TX: perf_branch_sample_type = 256;
522pub const PERF_SAMPLE_BRANCH_NO_TX: perf_branch_sample_type = 512;
523pub const PERF_SAMPLE_BRANCH_COND: perf_branch_sample_type = 1024;
524pub const PERF_SAMPLE_BRANCH_CALL_STACK: perf_branch_sample_type = 2048;
525pub const PERF_SAMPLE_BRANCH_IND_JUMP: perf_branch_sample_type = 4096;
526pub const PERF_SAMPLE_BRANCH_CALL: perf_branch_sample_type = 8192;
527pub const PERF_SAMPLE_BRANCH_NO_FLAGS: perf_branch_sample_type = 16384;
528pub const PERF_SAMPLE_BRANCH_NO_CYCLES: perf_branch_sample_type = 32768;
529pub const PERF_SAMPLE_BRANCH_TYPE_SAVE: perf_branch_sample_type = 65536;
530pub const PERF_SAMPLE_BRANCH_HW_INDEX: perf_branch_sample_type = 131072;
531pub const PERF_SAMPLE_BRANCH_PRIV_SAVE: perf_branch_sample_type = 262144;
532pub const PERF_SAMPLE_BRANCH_COUNTERS: perf_branch_sample_type = 524288;
533pub const PERF_SAMPLE_BRANCH_MAX: perf_branch_sample_type = 1048576;
534pub type perf_branch_sample_type = ::std::os::raw::c_uint;
535pub const PERF_BR_UNKNOWN: _bindgen_ty_55 = 0;
536pub const PERF_BR_COND: _bindgen_ty_55 = 1;
537pub const PERF_BR_UNCOND: _bindgen_ty_55 = 2;
538pub const PERF_BR_IND: _bindgen_ty_55 = 3;
539pub const PERF_BR_CALL: _bindgen_ty_55 = 4;
540pub const PERF_BR_IND_CALL: _bindgen_ty_55 = 5;
541pub const PERF_BR_RET: _bindgen_ty_55 = 6;
542pub const PERF_BR_SYSCALL: _bindgen_ty_55 = 7;
543pub const PERF_BR_SYSRET: _bindgen_ty_55 = 8;
544pub const PERF_BR_COND_CALL: _bindgen_ty_55 = 9;
545pub const PERF_BR_COND_RET: _bindgen_ty_55 = 10;
546pub const PERF_BR_ERET: _bindgen_ty_55 = 11;
547pub const PERF_BR_IRQ: _bindgen_ty_55 = 12;
548pub const PERF_BR_SERROR: _bindgen_ty_55 = 13;
549pub const PERF_BR_NO_TX: _bindgen_ty_55 = 14;
550pub const PERF_BR_EXTEND_ABI: _bindgen_ty_55 = 15;
551pub const PERF_BR_MAX: _bindgen_ty_55 = 16;
552pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
553pub const PERF_BR_SPEC_NA: _bindgen_ty_56 = 0;
554pub const PERF_BR_SPEC_WRONG_PATH: _bindgen_ty_56 = 1;
555pub const PERF_BR_NON_SPEC_CORRECT_PATH: _bindgen_ty_56 = 2;
556pub const PERF_BR_SPEC_CORRECT_PATH: _bindgen_ty_56 = 3;
557pub const PERF_BR_SPEC_MAX: _bindgen_ty_56 = 4;
558pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
559pub const PERF_BR_NEW_FAULT_ALGN: _bindgen_ty_57 = 0;
560pub const PERF_BR_NEW_FAULT_DATA: _bindgen_ty_57 = 1;
561pub const PERF_BR_NEW_FAULT_INST: _bindgen_ty_57 = 2;
562pub const PERF_BR_NEW_ARCH_1: _bindgen_ty_57 = 3;
563pub const PERF_BR_NEW_ARCH_2: _bindgen_ty_57 = 4;
564pub const PERF_BR_NEW_ARCH_3: _bindgen_ty_57 = 5;
565pub const PERF_BR_NEW_ARCH_4: _bindgen_ty_57 = 6;
566pub const PERF_BR_NEW_ARCH_5: _bindgen_ty_57 = 7;
567pub const PERF_BR_NEW_MAX: _bindgen_ty_57 = 8;
568pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
569pub const PERF_BR_PRIV_UNKNOWN: _bindgen_ty_58 = 0;
570pub const PERF_BR_PRIV_USER: _bindgen_ty_58 = 1;
571pub const PERF_BR_PRIV_KERNEL: _bindgen_ty_58 = 2;
572pub const PERF_BR_PRIV_HV: _bindgen_ty_58 = 3;
573pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
574pub const PERF_SAMPLE_REGS_ABI_NONE: perf_sample_regs_abi = 0;
575pub const PERF_SAMPLE_REGS_ABI_32: perf_sample_regs_abi = 1;
576pub const PERF_SAMPLE_REGS_ABI_64: perf_sample_regs_abi = 2;
577pub type perf_sample_regs_abi = ::std::os::raw::c_uint;
578pub const PERF_TXN_ELISION: _bindgen_ty_59 = 1;
579pub const PERF_TXN_TRANSACTION: _bindgen_ty_59 = 2;
580pub const PERF_TXN_SYNC: _bindgen_ty_59 = 4;
581pub const PERF_TXN_ASYNC: _bindgen_ty_59 = 8;
582pub const PERF_TXN_RETRY: _bindgen_ty_59 = 16;
583pub const PERF_TXN_CONFLICT: _bindgen_ty_59 = 32;
584pub const PERF_TXN_CAPACITY_WRITE: _bindgen_ty_59 = 64;
585pub const PERF_TXN_CAPACITY_READ: _bindgen_ty_59 = 128;
586pub const PERF_TXN_MAX: _bindgen_ty_59 = 256;
587pub const PERF_TXN_ABORT_MASK: _bindgen_ty_59 = 18446744069414584320;
588pub const PERF_TXN_ABORT_SHIFT: _bindgen_ty_59 = 32;
589pub type _bindgen_ty_59 = ::std::os::raw::c_ulong;
590pub const PERF_FORMAT_TOTAL_TIME_ENABLED: perf_event_read_format = 1;
591pub const PERF_FORMAT_TOTAL_TIME_RUNNING: perf_event_read_format = 2;
592pub const PERF_FORMAT_ID: perf_event_read_format = 4;
593pub const PERF_FORMAT_GROUP: perf_event_read_format = 8;
594pub const PERF_FORMAT_LOST: perf_event_read_format = 16;
595pub const PERF_FORMAT_MAX: perf_event_read_format = 32;
596pub type perf_event_read_format = ::std::os::raw::c_uint;
597#[repr(C)]
598#[derive(Copy, Clone)]
599pub struct perf_event_attr {
600 pub type_: __u32,
601 pub size: __u32,
602 pub config: __u64,
603 pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
604 pub sample_type: __u64,
605 pub read_format: __u64,
606 pub _bitfield_align_1: [u32; 0],
607 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
608 pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
609 pub bp_type: __u32,
610 pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
611 pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
612 pub branch_sample_type: __u64,
613 pub sample_regs_user: __u64,
614 pub sample_stack_user: __u32,
615 pub clockid: __s32,
616 pub sample_regs_intr: __u64,
617 pub aux_watermark: __u32,
618 pub sample_max_stack: __u16,
619 pub __reserved_2: __u16,
620 pub aux_sample_size: __u32,
621 pub __bindgen_anon_5: perf_event_attr__bindgen_ty_5,
622 pub sig_data: __u64,
623 pub config3: __u64,
624}
625#[repr(C)]
626#[derive(Copy, Clone)]
627pub union perf_event_attr__bindgen_ty_1 {
628 pub sample_period: __u64,
629 pub sample_freq: __u64,
630}
631impl Default for perf_event_attr__bindgen_ty_1 {
632 fn default() -> Self {
633 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
634 unsafe {
635 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
636 s.assume_init()
637 }
638 }
639}
640#[repr(C)]
641#[derive(Copy, Clone)]
642pub union perf_event_attr__bindgen_ty_2 {
643 pub wakeup_events: __u32,
644 pub wakeup_watermark: __u32,
645}
646impl Default for perf_event_attr__bindgen_ty_2 {
647 fn default() -> Self {
648 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
649 unsafe {
650 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
651 s.assume_init()
652 }
653 }
654}
655#[repr(C)]
656#[derive(Copy, Clone)]
657pub union perf_event_attr__bindgen_ty_3 {
658 pub bp_addr: __u64,
659 pub kprobe_func: __u64,
660 pub uprobe_path: __u64,
661 pub config1: __u64,
662}
663impl Default for perf_event_attr__bindgen_ty_3 {
664 fn default() -> Self {
665 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
666 unsafe {
667 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
668 s.assume_init()
669 }
670 }
671}
672#[repr(C)]
673#[derive(Copy, Clone)]
674pub union perf_event_attr__bindgen_ty_4 {
675 pub bp_len: __u64,
676 pub kprobe_addr: __u64,
677 pub probe_offset: __u64,
678 pub config2: __u64,
679}
680impl Default for perf_event_attr__bindgen_ty_4 {
681 fn default() -> Self {
682 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
683 unsafe {
684 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
685 s.assume_init()
686 }
687 }
688}
689#[repr(C)]
690#[derive(Copy, Clone)]
691pub union perf_event_attr__bindgen_ty_5 {
692 pub aux_action: __u32,
693 pub __bindgen_anon_1: perf_event_attr__bindgen_ty_5__bindgen_ty_1,
694}
695#[repr(C)]
696#[derive(Debug, Default, Copy, Clone)]
697pub struct perf_event_attr__bindgen_ty_5__bindgen_ty_1 {
698 pub _bitfield_align_1: [u32; 0],
699 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
700}
701impl perf_event_attr__bindgen_ty_5__bindgen_ty_1 {
702 #[inline]
703 pub fn aux_start_paused(&self) -> __u32 {
704 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
705 }
706 #[inline]
707 pub fn set_aux_start_paused(&mut self, val: __u32) {
708 unsafe {
709 let val: u32 = ::std::mem::transmute(val);
710 self._bitfield_1.set(0usize, 1u8, val as u64)
711 }
712 }
713 #[inline]
714 pub unsafe fn aux_start_paused_raw(this: *const Self) -> __u32 {
715 unsafe {
716 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
717 ::std::ptr::addr_of!((*this)._bitfield_1),
718 0usize,
719 1u8,
720 ) as u32)
721 }
722 }
723 #[inline]
724 pub unsafe fn set_aux_start_paused_raw(this: *mut Self, val: __u32) {
725 unsafe {
726 let val: u32 = ::std::mem::transmute(val);
727 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
728 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
729 0usize,
730 1u8,
731 val as u64,
732 )
733 }
734 }
735 #[inline]
736 pub fn aux_pause(&self) -> __u32 {
737 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
738 }
739 #[inline]
740 pub fn set_aux_pause(&mut self, val: __u32) {
741 unsafe {
742 let val: u32 = ::std::mem::transmute(val);
743 self._bitfield_1.set(1usize, 1u8, val as u64)
744 }
745 }
746 #[inline]
747 pub unsafe fn aux_pause_raw(this: *const Self) -> __u32 {
748 unsafe {
749 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
750 ::std::ptr::addr_of!((*this)._bitfield_1),
751 1usize,
752 1u8,
753 ) as u32)
754 }
755 }
756 #[inline]
757 pub unsafe fn set_aux_pause_raw(this: *mut Self, val: __u32) {
758 unsafe {
759 let val: u32 = ::std::mem::transmute(val);
760 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
761 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
762 1usize,
763 1u8,
764 val as u64,
765 )
766 }
767 }
768 #[inline]
769 pub fn aux_resume(&self) -> __u32 {
770 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
771 }
772 #[inline]
773 pub fn set_aux_resume(&mut self, val: __u32) {
774 unsafe {
775 let val: u32 = ::std::mem::transmute(val);
776 self._bitfield_1.set(2usize, 1u8, val as u64)
777 }
778 }
779 #[inline]
780 pub unsafe fn aux_resume_raw(this: *const Self) -> __u32 {
781 unsafe {
782 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
783 ::std::ptr::addr_of!((*this)._bitfield_1),
784 2usize,
785 1u8,
786 ) as u32)
787 }
788 }
789 #[inline]
790 pub unsafe fn set_aux_resume_raw(this: *mut Self, val: __u32) {
791 unsafe {
792 let val: u32 = ::std::mem::transmute(val);
793 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
794 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
795 2usize,
796 1u8,
797 val as u64,
798 )
799 }
800 }
801 #[inline]
802 pub fn __reserved_3(&self) -> __u32 {
803 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
804 }
805 #[inline]
806 pub fn set___reserved_3(&mut self, val: __u32) {
807 unsafe {
808 let val: u32 = ::std::mem::transmute(val);
809 self._bitfield_1.set(3usize, 29u8, val as u64)
810 }
811 }
812 #[inline]
813 pub unsafe fn __reserved_3_raw(this: *const Self) -> __u32 {
814 unsafe {
815 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
816 ::std::ptr::addr_of!((*this)._bitfield_1),
817 3usize,
818 29u8,
819 ) as u32)
820 }
821 }
822 #[inline]
823 pub unsafe fn set___reserved_3_raw(this: *mut Self, val: __u32) {
824 unsafe {
825 let val: u32 = ::std::mem::transmute(val);
826 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
827 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
828 3usize,
829 29u8,
830 val as u64,
831 )
832 }
833 }
834 #[inline]
835 pub fn new_bitfield_1(
836 aux_start_paused: __u32,
837 aux_pause: __u32,
838 aux_resume: __u32,
839 __reserved_3: __u32,
840 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
841 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
842 __bindgen_bitfield_unit.set(0usize, 1u8, {
843 let aux_start_paused: u32 = unsafe { ::std::mem::transmute(aux_start_paused) };
844 aux_start_paused as u64
845 });
846 __bindgen_bitfield_unit.set(1usize, 1u8, {
847 let aux_pause: u32 = unsafe { ::std::mem::transmute(aux_pause) };
848 aux_pause as u64
849 });
850 __bindgen_bitfield_unit.set(2usize, 1u8, {
851 let aux_resume: u32 = unsafe { ::std::mem::transmute(aux_resume) };
852 aux_resume as u64
853 });
854 __bindgen_bitfield_unit.set(3usize, 29u8, {
855 let __reserved_3: u32 = unsafe { ::std::mem::transmute(__reserved_3) };
856 __reserved_3 as u64
857 });
858 __bindgen_bitfield_unit
859 }
860}
861impl Default for perf_event_attr__bindgen_ty_5 {
862 fn default() -> Self {
863 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
864 unsafe {
865 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
866 s.assume_init()
867 }
868 }
869}
870impl Default for perf_event_attr {
871 fn default() -> Self {
872 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
873 unsafe {
874 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
875 s.assume_init()
876 }
877 }
878}
879impl perf_event_attr {
880 #[inline]
881 pub fn disabled(&self) -> __u64 {
882 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
883 }
884 #[inline]
885 pub fn set_disabled(&mut self, val: __u64) {
886 unsafe {
887 let val: u64 = ::std::mem::transmute(val);
888 self._bitfield_1.set(0usize, 1u8, val as u64)
889 }
890 }
891 #[inline]
892 pub unsafe fn disabled_raw(this: *const Self) -> __u64 {
893 unsafe {
894 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
895 ::std::ptr::addr_of!((*this)._bitfield_1),
896 0usize,
897 1u8,
898 ) as u64)
899 }
900 }
901 #[inline]
902 pub unsafe fn set_disabled_raw(this: *mut Self, val: __u64) {
903 unsafe {
904 let val: u64 = ::std::mem::transmute(val);
905 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
906 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
907 0usize,
908 1u8,
909 val as u64,
910 )
911 }
912 }
913 #[inline]
914 pub fn inherit(&self) -> __u64 {
915 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
916 }
917 #[inline]
918 pub fn set_inherit(&mut self, val: __u64) {
919 unsafe {
920 let val: u64 = ::std::mem::transmute(val);
921 self._bitfield_1.set(1usize, 1u8, val as u64)
922 }
923 }
924 #[inline]
925 pub unsafe fn inherit_raw(this: *const Self) -> __u64 {
926 unsafe {
927 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
928 ::std::ptr::addr_of!((*this)._bitfield_1),
929 1usize,
930 1u8,
931 ) as u64)
932 }
933 }
934 #[inline]
935 pub unsafe fn set_inherit_raw(this: *mut Self, val: __u64) {
936 unsafe {
937 let val: u64 = ::std::mem::transmute(val);
938 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
939 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
940 1usize,
941 1u8,
942 val as u64,
943 )
944 }
945 }
946 #[inline]
947 pub fn pinned(&self) -> __u64 {
948 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
949 }
950 #[inline]
951 pub fn set_pinned(&mut self, val: __u64) {
952 unsafe {
953 let val: u64 = ::std::mem::transmute(val);
954 self._bitfield_1.set(2usize, 1u8, val as u64)
955 }
956 }
957 #[inline]
958 pub unsafe fn pinned_raw(this: *const Self) -> __u64 {
959 unsafe {
960 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
961 ::std::ptr::addr_of!((*this)._bitfield_1),
962 2usize,
963 1u8,
964 ) as u64)
965 }
966 }
967 #[inline]
968 pub unsafe fn set_pinned_raw(this: *mut Self, val: __u64) {
969 unsafe {
970 let val: u64 = ::std::mem::transmute(val);
971 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
972 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
973 2usize,
974 1u8,
975 val as u64,
976 )
977 }
978 }
979 #[inline]
980 pub fn exclusive(&self) -> __u64 {
981 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
982 }
983 #[inline]
984 pub fn set_exclusive(&mut self, val: __u64) {
985 unsafe {
986 let val: u64 = ::std::mem::transmute(val);
987 self._bitfield_1.set(3usize, 1u8, val as u64)
988 }
989 }
990 #[inline]
991 pub unsafe fn exclusive_raw(this: *const Self) -> __u64 {
992 unsafe {
993 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
994 ::std::ptr::addr_of!((*this)._bitfield_1),
995 3usize,
996 1u8,
997 ) as u64)
998 }
999 }
1000 #[inline]
1001 pub unsafe fn set_exclusive_raw(this: *mut Self, val: __u64) {
1002 unsafe {
1003 let val: u64 = ::std::mem::transmute(val);
1004 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1005 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1006 3usize,
1007 1u8,
1008 val as u64,
1009 )
1010 }
1011 }
1012 #[inline]
1013 pub fn exclude_user(&self) -> __u64 {
1014 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
1015 }
1016 #[inline]
1017 pub fn set_exclude_user(&mut self, val: __u64) {
1018 unsafe {
1019 let val: u64 = ::std::mem::transmute(val);
1020 self._bitfield_1.set(4usize, 1u8, val as u64)
1021 }
1022 }
1023 #[inline]
1024 pub unsafe fn exclude_user_raw(this: *const Self) -> __u64 {
1025 unsafe {
1026 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1027 ::std::ptr::addr_of!((*this)._bitfield_1),
1028 4usize,
1029 1u8,
1030 ) as u64)
1031 }
1032 }
1033 #[inline]
1034 pub unsafe fn set_exclude_user_raw(this: *mut Self, val: __u64) {
1035 unsafe {
1036 let val: u64 = ::std::mem::transmute(val);
1037 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1038 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1039 4usize,
1040 1u8,
1041 val as u64,
1042 )
1043 }
1044 }
1045 #[inline]
1046 pub fn exclude_kernel(&self) -> __u64 {
1047 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
1048 }
1049 #[inline]
1050 pub fn set_exclude_kernel(&mut self, val: __u64) {
1051 unsafe {
1052 let val: u64 = ::std::mem::transmute(val);
1053 self._bitfield_1.set(5usize, 1u8, val as u64)
1054 }
1055 }
1056 #[inline]
1057 pub unsafe fn exclude_kernel_raw(this: *const Self) -> __u64 {
1058 unsafe {
1059 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1060 ::std::ptr::addr_of!((*this)._bitfield_1),
1061 5usize,
1062 1u8,
1063 ) as u64)
1064 }
1065 }
1066 #[inline]
1067 pub unsafe fn set_exclude_kernel_raw(this: *mut Self, val: __u64) {
1068 unsafe {
1069 let val: u64 = ::std::mem::transmute(val);
1070 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1071 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1072 5usize,
1073 1u8,
1074 val as u64,
1075 )
1076 }
1077 }
1078 #[inline]
1079 pub fn exclude_hv(&self) -> __u64 {
1080 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
1081 }
1082 #[inline]
1083 pub fn set_exclude_hv(&mut self, val: __u64) {
1084 unsafe {
1085 let val: u64 = ::std::mem::transmute(val);
1086 self._bitfield_1.set(6usize, 1u8, val as u64)
1087 }
1088 }
1089 #[inline]
1090 pub unsafe fn exclude_hv_raw(this: *const Self) -> __u64 {
1091 unsafe {
1092 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1093 ::std::ptr::addr_of!((*this)._bitfield_1),
1094 6usize,
1095 1u8,
1096 ) as u64)
1097 }
1098 }
1099 #[inline]
1100 pub unsafe fn set_exclude_hv_raw(this: *mut Self, val: __u64) {
1101 unsafe {
1102 let val: u64 = ::std::mem::transmute(val);
1103 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1104 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1105 6usize,
1106 1u8,
1107 val as u64,
1108 )
1109 }
1110 }
1111 #[inline]
1112 pub fn exclude_idle(&self) -> __u64 {
1113 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
1114 }
1115 #[inline]
1116 pub fn set_exclude_idle(&mut self, val: __u64) {
1117 unsafe {
1118 let val: u64 = ::std::mem::transmute(val);
1119 self._bitfield_1.set(7usize, 1u8, val as u64)
1120 }
1121 }
1122 #[inline]
1123 pub unsafe fn exclude_idle_raw(this: *const Self) -> __u64 {
1124 unsafe {
1125 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1126 ::std::ptr::addr_of!((*this)._bitfield_1),
1127 7usize,
1128 1u8,
1129 ) as u64)
1130 }
1131 }
1132 #[inline]
1133 pub unsafe fn set_exclude_idle_raw(this: *mut Self, val: __u64) {
1134 unsafe {
1135 let val: u64 = ::std::mem::transmute(val);
1136 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1137 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1138 7usize,
1139 1u8,
1140 val as u64,
1141 )
1142 }
1143 }
1144 #[inline]
1145 pub fn mmap(&self) -> __u64 {
1146 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
1147 }
1148 #[inline]
1149 pub fn set_mmap(&mut self, val: __u64) {
1150 unsafe {
1151 let val: u64 = ::std::mem::transmute(val);
1152 self._bitfield_1.set(8usize, 1u8, val as u64)
1153 }
1154 }
1155 #[inline]
1156 pub unsafe fn mmap_raw(this: *const Self) -> __u64 {
1157 unsafe {
1158 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1159 ::std::ptr::addr_of!((*this)._bitfield_1),
1160 8usize,
1161 1u8,
1162 ) as u64)
1163 }
1164 }
1165 #[inline]
1166 pub unsafe fn set_mmap_raw(this: *mut Self, val: __u64) {
1167 unsafe {
1168 let val: u64 = ::std::mem::transmute(val);
1169 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1170 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1171 8usize,
1172 1u8,
1173 val as u64,
1174 )
1175 }
1176 }
1177 #[inline]
1178 pub fn comm(&self) -> __u64 {
1179 unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
1180 }
1181 #[inline]
1182 pub fn set_comm(&mut self, val: __u64) {
1183 unsafe {
1184 let val: u64 = ::std::mem::transmute(val);
1185 self._bitfield_1.set(9usize, 1u8, val as u64)
1186 }
1187 }
1188 #[inline]
1189 pub unsafe fn comm_raw(this: *const Self) -> __u64 {
1190 unsafe {
1191 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1192 ::std::ptr::addr_of!((*this)._bitfield_1),
1193 9usize,
1194 1u8,
1195 ) as u64)
1196 }
1197 }
1198 #[inline]
1199 pub unsafe fn set_comm_raw(this: *mut Self, val: __u64) {
1200 unsafe {
1201 let val: u64 = ::std::mem::transmute(val);
1202 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1203 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1204 9usize,
1205 1u8,
1206 val as u64,
1207 )
1208 }
1209 }
1210 #[inline]
1211 pub fn freq(&self) -> __u64 {
1212 unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
1213 }
1214 #[inline]
1215 pub fn set_freq(&mut self, val: __u64) {
1216 unsafe {
1217 let val: u64 = ::std::mem::transmute(val);
1218 self._bitfield_1.set(10usize, 1u8, val as u64)
1219 }
1220 }
1221 #[inline]
1222 pub unsafe fn freq_raw(this: *const Self) -> __u64 {
1223 unsafe {
1224 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1225 ::std::ptr::addr_of!((*this)._bitfield_1),
1226 10usize,
1227 1u8,
1228 ) as u64)
1229 }
1230 }
1231 #[inline]
1232 pub unsafe fn set_freq_raw(this: *mut Self, val: __u64) {
1233 unsafe {
1234 let val: u64 = ::std::mem::transmute(val);
1235 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1236 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1237 10usize,
1238 1u8,
1239 val as u64,
1240 )
1241 }
1242 }
1243 #[inline]
1244 pub fn inherit_stat(&self) -> __u64 {
1245 unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
1246 }
1247 #[inline]
1248 pub fn set_inherit_stat(&mut self, val: __u64) {
1249 unsafe {
1250 let val: u64 = ::std::mem::transmute(val);
1251 self._bitfield_1.set(11usize, 1u8, val as u64)
1252 }
1253 }
1254 #[inline]
1255 pub unsafe fn inherit_stat_raw(this: *const Self) -> __u64 {
1256 unsafe {
1257 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1258 ::std::ptr::addr_of!((*this)._bitfield_1),
1259 11usize,
1260 1u8,
1261 ) as u64)
1262 }
1263 }
1264 #[inline]
1265 pub unsafe fn set_inherit_stat_raw(this: *mut Self, val: __u64) {
1266 unsafe {
1267 let val: u64 = ::std::mem::transmute(val);
1268 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1269 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1270 11usize,
1271 1u8,
1272 val as u64,
1273 )
1274 }
1275 }
1276 #[inline]
1277 pub fn enable_on_exec(&self) -> __u64 {
1278 unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
1279 }
1280 #[inline]
1281 pub fn set_enable_on_exec(&mut self, val: __u64) {
1282 unsafe {
1283 let val: u64 = ::std::mem::transmute(val);
1284 self._bitfield_1.set(12usize, 1u8, val as u64)
1285 }
1286 }
1287 #[inline]
1288 pub unsafe fn enable_on_exec_raw(this: *const Self) -> __u64 {
1289 unsafe {
1290 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1291 ::std::ptr::addr_of!((*this)._bitfield_1),
1292 12usize,
1293 1u8,
1294 ) as u64)
1295 }
1296 }
1297 #[inline]
1298 pub unsafe fn set_enable_on_exec_raw(this: *mut Self, val: __u64) {
1299 unsafe {
1300 let val: u64 = ::std::mem::transmute(val);
1301 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1302 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1303 12usize,
1304 1u8,
1305 val as u64,
1306 )
1307 }
1308 }
1309 #[inline]
1310 pub fn task(&self) -> __u64 {
1311 unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
1312 }
1313 #[inline]
1314 pub fn set_task(&mut self, val: __u64) {
1315 unsafe {
1316 let val: u64 = ::std::mem::transmute(val);
1317 self._bitfield_1.set(13usize, 1u8, val as u64)
1318 }
1319 }
1320 #[inline]
1321 pub unsafe fn task_raw(this: *const Self) -> __u64 {
1322 unsafe {
1323 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1324 ::std::ptr::addr_of!((*this)._bitfield_1),
1325 13usize,
1326 1u8,
1327 ) as u64)
1328 }
1329 }
1330 #[inline]
1331 pub unsafe fn set_task_raw(this: *mut Self, val: __u64) {
1332 unsafe {
1333 let val: u64 = ::std::mem::transmute(val);
1334 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1335 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1336 13usize,
1337 1u8,
1338 val as u64,
1339 )
1340 }
1341 }
1342 #[inline]
1343 pub fn watermark(&self) -> __u64 {
1344 unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
1345 }
1346 #[inline]
1347 pub fn set_watermark(&mut self, val: __u64) {
1348 unsafe {
1349 let val: u64 = ::std::mem::transmute(val);
1350 self._bitfield_1.set(14usize, 1u8, val as u64)
1351 }
1352 }
1353 #[inline]
1354 pub unsafe fn watermark_raw(this: *const Self) -> __u64 {
1355 unsafe {
1356 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1357 ::std::ptr::addr_of!((*this)._bitfield_1),
1358 14usize,
1359 1u8,
1360 ) as u64)
1361 }
1362 }
1363 #[inline]
1364 pub unsafe fn set_watermark_raw(this: *mut Self, val: __u64) {
1365 unsafe {
1366 let val: u64 = ::std::mem::transmute(val);
1367 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1368 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1369 14usize,
1370 1u8,
1371 val as u64,
1372 )
1373 }
1374 }
1375 #[inline]
1376 pub fn precise_ip(&self) -> __u64 {
1377 unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
1378 }
1379 #[inline]
1380 pub fn set_precise_ip(&mut self, val: __u64) {
1381 unsafe {
1382 let val: u64 = ::std::mem::transmute(val);
1383 self._bitfield_1.set(15usize, 2u8, val as u64)
1384 }
1385 }
1386 #[inline]
1387 pub unsafe fn precise_ip_raw(this: *const Self) -> __u64 {
1388 unsafe {
1389 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1390 ::std::ptr::addr_of!((*this)._bitfield_1),
1391 15usize,
1392 2u8,
1393 ) as u64)
1394 }
1395 }
1396 #[inline]
1397 pub unsafe fn set_precise_ip_raw(this: *mut Self, val: __u64) {
1398 unsafe {
1399 let val: u64 = ::std::mem::transmute(val);
1400 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1401 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1402 15usize,
1403 2u8,
1404 val as u64,
1405 )
1406 }
1407 }
1408 #[inline]
1409 pub fn mmap_data(&self) -> __u64 {
1410 unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
1411 }
1412 #[inline]
1413 pub fn set_mmap_data(&mut self, val: __u64) {
1414 unsafe {
1415 let val: u64 = ::std::mem::transmute(val);
1416 self._bitfield_1.set(17usize, 1u8, val as u64)
1417 }
1418 }
1419 #[inline]
1420 pub unsafe fn mmap_data_raw(this: *const Self) -> __u64 {
1421 unsafe {
1422 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1423 ::std::ptr::addr_of!((*this)._bitfield_1),
1424 17usize,
1425 1u8,
1426 ) as u64)
1427 }
1428 }
1429 #[inline]
1430 pub unsafe fn set_mmap_data_raw(this: *mut Self, val: __u64) {
1431 unsafe {
1432 let val: u64 = ::std::mem::transmute(val);
1433 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1434 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1435 17usize,
1436 1u8,
1437 val as u64,
1438 )
1439 }
1440 }
1441 #[inline]
1442 pub fn sample_id_all(&self) -> __u64 {
1443 unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
1444 }
1445 #[inline]
1446 pub fn set_sample_id_all(&mut self, val: __u64) {
1447 unsafe {
1448 let val: u64 = ::std::mem::transmute(val);
1449 self._bitfield_1.set(18usize, 1u8, val as u64)
1450 }
1451 }
1452 #[inline]
1453 pub unsafe fn sample_id_all_raw(this: *const Self) -> __u64 {
1454 unsafe {
1455 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1456 ::std::ptr::addr_of!((*this)._bitfield_1),
1457 18usize,
1458 1u8,
1459 ) as u64)
1460 }
1461 }
1462 #[inline]
1463 pub unsafe fn set_sample_id_all_raw(this: *mut Self, val: __u64) {
1464 unsafe {
1465 let val: u64 = ::std::mem::transmute(val);
1466 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1467 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1468 18usize,
1469 1u8,
1470 val as u64,
1471 )
1472 }
1473 }
1474 #[inline]
1475 pub fn exclude_host(&self) -> __u64 {
1476 unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
1477 }
1478 #[inline]
1479 pub fn set_exclude_host(&mut self, val: __u64) {
1480 unsafe {
1481 let val: u64 = ::std::mem::transmute(val);
1482 self._bitfield_1.set(19usize, 1u8, val as u64)
1483 }
1484 }
1485 #[inline]
1486 pub unsafe fn exclude_host_raw(this: *const Self) -> __u64 {
1487 unsafe {
1488 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1489 ::std::ptr::addr_of!((*this)._bitfield_1),
1490 19usize,
1491 1u8,
1492 ) as u64)
1493 }
1494 }
1495 #[inline]
1496 pub unsafe fn set_exclude_host_raw(this: *mut Self, val: __u64) {
1497 unsafe {
1498 let val: u64 = ::std::mem::transmute(val);
1499 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1500 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1501 19usize,
1502 1u8,
1503 val as u64,
1504 )
1505 }
1506 }
1507 #[inline]
1508 pub fn exclude_guest(&self) -> __u64 {
1509 unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
1510 }
1511 #[inline]
1512 pub fn set_exclude_guest(&mut self, val: __u64) {
1513 unsafe {
1514 let val: u64 = ::std::mem::transmute(val);
1515 self._bitfield_1.set(20usize, 1u8, val as u64)
1516 }
1517 }
1518 #[inline]
1519 pub unsafe fn exclude_guest_raw(this: *const Self) -> __u64 {
1520 unsafe {
1521 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1522 ::std::ptr::addr_of!((*this)._bitfield_1),
1523 20usize,
1524 1u8,
1525 ) as u64)
1526 }
1527 }
1528 #[inline]
1529 pub unsafe fn set_exclude_guest_raw(this: *mut Self, val: __u64) {
1530 unsafe {
1531 let val: u64 = ::std::mem::transmute(val);
1532 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1533 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1534 20usize,
1535 1u8,
1536 val as u64,
1537 )
1538 }
1539 }
1540 #[inline]
1541 pub fn exclude_callchain_kernel(&self) -> __u64 {
1542 unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
1543 }
1544 #[inline]
1545 pub fn set_exclude_callchain_kernel(&mut self, val: __u64) {
1546 unsafe {
1547 let val: u64 = ::std::mem::transmute(val);
1548 self._bitfield_1.set(21usize, 1u8, val as u64)
1549 }
1550 }
1551 #[inline]
1552 pub unsafe fn exclude_callchain_kernel_raw(this: *const Self) -> __u64 {
1553 unsafe {
1554 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1555 ::std::ptr::addr_of!((*this)._bitfield_1),
1556 21usize,
1557 1u8,
1558 ) as u64)
1559 }
1560 }
1561 #[inline]
1562 pub unsafe fn set_exclude_callchain_kernel_raw(this: *mut Self, val: __u64) {
1563 unsafe {
1564 let val: u64 = ::std::mem::transmute(val);
1565 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1566 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1567 21usize,
1568 1u8,
1569 val as u64,
1570 )
1571 }
1572 }
1573 #[inline]
1574 pub fn exclude_callchain_user(&self) -> __u64 {
1575 unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
1576 }
1577 #[inline]
1578 pub fn set_exclude_callchain_user(&mut self, val: __u64) {
1579 unsafe {
1580 let val: u64 = ::std::mem::transmute(val);
1581 self._bitfield_1.set(22usize, 1u8, val as u64)
1582 }
1583 }
1584 #[inline]
1585 pub unsafe fn exclude_callchain_user_raw(this: *const Self) -> __u64 {
1586 unsafe {
1587 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1588 ::std::ptr::addr_of!((*this)._bitfield_1),
1589 22usize,
1590 1u8,
1591 ) as u64)
1592 }
1593 }
1594 #[inline]
1595 pub unsafe fn set_exclude_callchain_user_raw(this: *mut Self, val: __u64) {
1596 unsafe {
1597 let val: u64 = ::std::mem::transmute(val);
1598 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1599 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1600 22usize,
1601 1u8,
1602 val as u64,
1603 )
1604 }
1605 }
1606 #[inline]
1607 pub fn mmap2(&self) -> __u64 {
1608 unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
1609 }
1610 #[inline]
1611 pub fn set_mmap2(&mut self, val: __u64) {
1612 unsafe {
1613 let val: u64 = ::std::mem::transmute(val);
1614 self._bitfield_1.set(23usize, 1u8, val as u64)
1615 }
1616 }
1617 #[inline]
1618 pub unsafe fn mmap2_raw(this: *const Self) -> __u64 {
1619 unsafe {
1620 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1621 ::std::ptr::addr_of!((*this)._bitfield_1),
1622 23usize,
1623 1u8,
1624 ) as u64)
1625 }
1626 }
1627 #[inline]
1628 pub unsafe fn set_mmap2_raw(this: *mut Self, val: __u64) {
1629 unsafe {
1630 let val: u64 = ::std::mem::transmute(val);
1631 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1632 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1633 23usize,
1634 1u8,
1635 val as u64,
1636 )
1637 }
1638 }
1639 #[inline]
1640 pub fn comm_exec(&self) -> __u64 {
1641 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
1642 }
1643 #[inline]
1644 pub fn set_comm_exec(&mut self, val: __u64) {
1645 unsafe {
1646 let val: u64 = ::std::mem::transmute(val);
1647 self._bitfield_1.set(24usize, 1u8, val as u64)
1648 }
1649 }
1650 #[inline]
1651 pub unsafe fn comm_exec_raw(this: *const Self) -> __u64 {
1652 unsafe {
1653 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1654 ::std::ptr::addr_of!((*this)._bitfield_1),
1655 24usize,
1656 1u8,
1657 ) as u64)
1658 }
1659 }
1660 #[inline]
1661 pub unsafe fn set_comm_exec_raw(this: *mut Self, val: __u64) {
1662 unsafe {
1663 let val: u64 = ::std::mem::transmute(val);
1664 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1665 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1666 24usize,
1667 1u8,
1668 val as u64,
1669 )
1670 }
1671 }
1672 #[inline]
1673 pub fn use_clockid(&self) -> __u64 {
1674 unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
1675 }
1676 #[inline]
1677 pub fn set_use_clockid(&mut self, val: __u64) {
1678 unsafe {
1679 let val: u64 = ::std::mem::transmute(val);
1680 self._bitfield_1.set(25usize, 1u8, val as u64)
1681 }
1682 }
1683 #[inline]
1684 pub unsafe fn use_clockid_raw(this: *const Self) -> __u64 {
1685 unsafe {
1686 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1687 ::std::ptr::addr_of!((*this)._bitfield_1),
1688 25usize,
1689 1u8,
1690 ) as u64)
1691 }
1692 }
1693 #[inline]
1694 pub unsafe fn set_use_clockid_raw(this: *mut Self, val: __u64) {
1695 unsafe {
1696 let val: u64 = ::std::mem::transmute(val);
1697 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1698 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1699 25usize,
1700 1u8,
1701 val as u64,
1702 )
1703 }
1704 }
1705 #[inline]
1706 pub fn context_switch(&self) -> __u64 {
1707 unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
1708 }
1709 #[inline]
1710 pub fn set_context_switch(&mut self, val: __u64) {
1711 unsafe {
1712 let val: u64 = ::std::mem::transmute(val);
1713 self._bitfield_1.set(26usize, 1u8, val as u64)
1714 }
1715 }
1716 #[inline]
1717 pub unsafe fn context_switch_raw(this: *const Self) -> __u64 {
1718 unsafe {
1719 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1720 ::std::ptr::addr_of!((*this)._bitfield_1),
1721 26usize,
1722 1u8,
1723 ) as u64)
1724 }
1725 }
1726 #[inline]
1727 pub unsafe fn set_context_switch_raw(this: *mut Self, val: __u64) {
1728 unsafe {
1729 let val: u64 = ::std::mem::transmute(val);
1730 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1731 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1732 26usize,
1733 1u8,
1734 val as u64,
1735 )
1736 }
1737 }
1738 #[inline]
1739 pub fn write_backward(&self) -> __u64 {
1740 unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
1741 }
1742 #[inline]
1743 pub fn set_write_backward(&mut self, val: __u64) {
1744 unsafe {
1745 let val: u64 = ::std::mem::transmute(val);
1746 self._bitfield_1.set(27usize, 1u8, val as u64)
1747 }
1748 }
1749 #[inline]
1750 pub unsafe fn write_backward_raw(this: *const Self) -> __u64 {
1751 unsafe {
1752 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1753 ::std::ptr::addr_of!((*this)._bitfield_1),
1754 27usize,
1755 1u8,
1756 ) as u64)
1757 }
1758 }
1759 #[inline]
1760 pub unsafe fn set_write_backward_raw(this: *mut Self, val: __u64) {
1761 unsafe {
1762 let val: u64 = ::std::mem::transmute(val);
1763 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1764 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1765 27usize,
1766 1u8,
1767 val as u64,
1768 )
1769 }
1770 }
1771 #[inline]
1772 pub fn namespaces(&self) -> __u64 {
1773 unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
1774 }
1775 #[inline]
1776 pub fn set_namespaces(&mut self, val: __u64) {
1777 unsafe {
1778 let val: u64 = ::std::mem::transmute(val);
1779 self._bitfield_1.set(28usize, 1u8, val as u64)
1780 }
1781 }
1782 #[inline]
1783 pub unsafe fn namespaces_raw(this: *const Self) -> __u64 {
1784 unsafe {
1785 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1786 ::std::ptr::addr_of!((*this)._bitfield_1),
1787 28usize,
1788 1u8,
1789 ) as u64)
1790 }
1791 }
1792 #[inline]
1793 pub unsafe fn set_namespaces_raw(this: *mut Self, val: __u64) {
1794 unsafe {
1795 let val: u64 = ::std::mem::transmute(val);
1796 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1797 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1798 28usize,
1799 1u8,
1800 val as u64,
1801 )
1802 }
1803 }
1804 #[inline]
1805 pub fn ksymbol(&self) -> __u64 {
1806 unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
1807 }
1808 #[inline]
1809 pub fn set_ksymbol(&mut self, val: __u64) {
1810 unsafe {
1811 let val: u64 = ::std::mem::transmute(val);
1812 self._bitfield_1.set(29usize, 1u8, val as u64)
1813 }
1814 }
1815 #[inline]
1816 pub unsafe fn ksymbol_raw(this: *const Self) -> __u64 {
1817 unsafe {
1818 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1819 ::std::ptr::addr_of!((*this)._bitfield_1),
1820 29usize,
1821 1u8,
1822 ) as u64)
1823 }
1824 }
1825 #[inline]
1826 pub unsafe fn set_ksymbol_raw(this: *mut Self, val: __u64) {
1827 unsafe {
1828 let val: u64 = ::std::mem::transmute(val);
1829 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1830 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1831 29usize,
1832 1u8,
1833 val as u64,
1834 )
1835 }
1836 }
1837 #[inline]
1838 pub fn bpf_event(&self) -> __u64 {
1839 unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
1840 }
1841 #[inline]
1842 pub fn set_bpf_event(&mut self, val: __u64) {
1843 unsafe {
1844 let val: u64 = ::std::mem::transmute(val);
1845 self._bitfield_1.set(30usize, 1u8, val as u64)
1846 }
1847 }
1848 #[inline]
1849 pub unsafe fn bpf_event_raw(this: *const Self) -> __u64 {
1850 unsafe {
1851 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1852 ::std::ptr::addr_of!((*this)._bitfield_1),
1853 30usize,
1854 1u8,
1855 ) as u64)
1856 }
1857 }
1858 #[inline]
1859 pub unsafe fn set_bpf_event_raw(this: *mut Self, val: __u64) {
1860 unsafe {
1861 let val: u64 = ::std::mem::transmute(val);
1862 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1863 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1864 30usize,
1865 1u8,
1866 val as u64,
1867 )
1868 }
1869 }
1870 #[inline]
1871 pub fn aux_output(&self) -> __u64 {
1872 unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
1873 }
1874 #[inline]
1875 pub fn set_aux_output(&mut self, val: __u64) {
1876 unsafe {
1877 let val: u64 = ::std::mem::transmute(val);
1878 self._bitfield_1.set(31usize, 1u8, val as u64)
1879 }
1880 }
1881 #[inline]
1882 pub unsafe fn aux_output_raw(this: *const Self) -> __u64 {
1883 unsafe {
1884 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1885 ::std::ptr::addr_of!((*this)._bitfield_1),
1886 31usize,
1887 1u8,
1888 ) as u64)
1889 }
1890 }
1891 #[inline]
1892 pub unsafe fn set_aux_output_raw(this: *mut Self, val: __u64) {
1893 unsafe {
1894 let val: u64 = ::std::mem::transmute(val);
1895 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1896 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1897 31usize,
1898 1u8,
1899 val as u64,
1900 )
1901 }
1902 }
1903 #[inline]
1904 pub fn cgroup(&self) -> __u64 {
1905 unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) }
1906 }
1907 #[inline]
1908 pub fn set_cgroup(&mut self, val: __u64) {
1909 unsafe {
1910 let val: u64 = ::std::mem::transmute(val);
1911 self._bitfield_1.set(32usize, 1u8, val as u64)
1912 }
1913 }
1914 #[inline]
1915 pub unsafe fn cgroup_raw(this: *const Self) -> __u64 {
1916 unsafe {
1917 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1918 ::std::ptr::addr_of!((*this)._bitfield_1),
1919 32usize,
1920 1u8,
1921 ) as u64)
1922 }
1923 }
1924 #[inline]
1925 pub unsafe fn set_cgroup_raw(this: *mut Self, val: __u64) {
1926 unsafe {
1927 let val: u64 = ::std::mem::transmute(val);
1928 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1929 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1930 32usize,
1931 1u8,
1932 val as u64,
1933 )
1934 }
1935 }
1936 #[inline]
1937 pub fn text_poke(&self) -> __u64 {
1938 unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) }
1939 }
1940 #[inline]
1941 pub fn set_text_poke(&mut self, val: __u64) {
1942 unsafe {
1943 let val: u64 = ::std::mem::transmute(val);
1944 self._bitfield_1.set(33usize, 1u8, val as u64)
1945 }
1946 }
1947 #[inline]
1948 pub unsafe fn text_poke_raw(this: *const Self) -> __u64 {
1949 unsafe {
1950 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1951 ::std::ptr::addr_of!((*this)._bitfield_1),
1952 33usize,
1953 1u8,
1954 ) as u64)
1955 }
1956 }
1957 #[inline]
1958 pub unsafe fn set_text_poke_raw(this: *mut Self, val: __u64) {
1959 unsafe {
1960 let val: u64 = ::std::mem::transmute(val);
1961 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1962 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1963 33usize,
1964 1u8,
1965 val as u64,
1966 )
1967 }
1968 }
1969 #[inline]
1970 pub fn build_id(&self) -> __u64 {
1971 unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) }
1972 }
1973 #[inline]
1974 pub fn set_build_id(&mut self, val: __u64) {
1975 unsafe {
1976 let val: u64 = ::std::mem::transmute(val);
1977 self._bitfield_1.set(34usize, 1u8, val as u64)
1978 }
1979 }
1980 #[inline]
1981 pub unsafe fn build_id_raw(this: *const Self) -> __u64 {
1982 unsafe {
1983 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
1984 ::std::ptr::addr_of!((*this)._bitfield_1),
1985 34usize,
1986 1u8,
1987 ) as u64)
1988 }
1989 }
1990 #[inline]
1991 pub unsafe fn set_build_id_raw(this: *mut Self, val: __u64) {
1992 unsafe {
1993 let val: u64 = ::std::mem::transmute(val);
1994 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
1995 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1996 34usize,
1997 1u8,
1998 val as u64,
1999 )
2000 }
2001 }
2002 #[inline]
2003 pub fn inherit_thread(&self) -> __u64 {
2004 unsafe { ::std::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) }
2005 }
2006 #[inline]
2007 pub fn set_inherit_thread(&mut self, val: __u64) {
2008 unsafe {
2009 let val: u64 = ::std::mem::transmute(val);
2010 self._bitfield_1.set(35usize, 1u8, val as u64)
2011 }
2012 }
2013 #[inline]
2014 pub unsafe fn inherit_thread_raw(this: *const Self) -> __u64 {
2015 unsafe {
2016 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2017 ::std::ptr::addr_of!((*this)._bitfield_1),
2018 35usize,
2019 1u8,
2020 ) as u64)
2021 }
2022 }
2023 #[inline]
2024 pub unsafe fn set_inherit_thread_raw(this: *mut Self, val: __u64) {
2025 unsafe {
2026 let val: u64 = ::std::mem::transmute(val);
2027 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2028 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2029 35usize,
2030 1u8,
2031 val as u64,
2032 )
2033 }
2034 }
2035 #[inline]
2036 pub fn remove_on_exec(&self) -> __u64 {
2037 unsafe { ::std::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) }
2038 }
2039 #[inline]
2040 pub fn set_remove_on_exec(&mut self, val: __u64) {
2041 unsafe {
2042 let val: u64 = ::std::mem::transmute(val);
2043 self._bitfield_1.set(36usize, 1u8, val as u64)
2044 }
2045 }
2046 #[inline]
2047 pub unsafe fn remove_on_exec_raw(this: *const Self) -> __u64 {
2048 unsafe {
2049 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2050 ::std::ptr::addr_of!((*this)._bitfield_1),
2051 36usize,
2052 1u8,
2053 ) as u64)
2054 }
2055 }
2056 #[inline]
2057 pub unsafe fn set_remove_on_exec_raw(this: *mut Self, val: __u64) {
2058 unsafe {
2059 let val: u64 = ::std::mem::transmute(val);
2060 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2061 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2062 36usize,
2063 1u8,
2064 val as u64,
2065 )
2066 }
2067 }
2068 #[inline]
2069 pub fn sigtrap(&self) -> __u64 {
2070 unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
2071 }
2072 #[inline]
2073 pub fn set_sigtrap(&mut self, val: __u64) {
2074 unsafe {
2075 let val: u64 = ::std::mem::transmute(val);
2076 self._bitfield_1.set(37usize, 1u8, val as u64)
2077 }
2078 }
2079 #[inline]
2080 pub unsafe fn sigtrap_raw(this: *const Self) -> __u64 {
2081 unsafe {
2082 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2083 ::std::ptr::addr_of!((*this)._bitfield_1),
2084 37usize,
2085 1u8,
2086 ) as u64)
2087 }
2088 }
2089 #[inline]
2090 pub unsafe fn set_sigtrap_raw(this: *mut Self, val: __u64) {
2091 unsafe {
2092 let val: u64 = ::std::mem::transmute(val);
2093 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2094 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2095 37usize,
2096 1u8,
2097 val as u64,
2098 )
2099 }
2100 }
2101 #[inline]
2102 pub fn __reserved_1(&self) -> __u64 {
2103 unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 26u8) as u64) }
2104 }
2105 #[inline]
2106 pub fn set___reserved_1(&mut self, val: __u64) {
2107 unsafe {
2108 let val: u64 = ::std::mem::transmute(val);
2109 self._bitfield_1.set(38usize, 26u8, val as u64)
2110 }
2111 }
2112 #[inline]
2113 pub unsafe fn __reserved_1_raw(this: *const Self) -> __u64 {
2114 unsafe {
2115 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2116 ::std::ptr::addr_of!((*this)._bitfield_1),
2117 38usize,
2118 26u8,
2119 ) as u64)
2120 }
2121 }
2122 #[inline]
2123 pub unsafe fn set___reserved_1_raw(this: *mut Self, val: __u64) {
2124 unsafe {
2125 let val: u64 = ::std::mem::transmute(val);
2126 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2127 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2128 38usize,
2129 26u8,
2130 val as u64,
2131 )
2132 }
2133 }
2134 #[inline]
2135 pub fn new_bitfield_1(
2136 disabled: __u64,
2137 inherit: __u64,
2138 pinned: __u64,
2139 exclusive: __u64,
2140 exclude_user: __u64,
2141 exclude_kernel: __u64,
2142 exclude_hv: __u64,
2143 exclude_idle: __u64,
2144 mmap: __u64,
2145 comm: __u64,
2146 freq: __u64,
2147 inherit_stat: __u64,
2148 enable_on_exec: __u64,
2149 task: __u64,
2150 watermark: __u64,
2151 precise_ip: __u64,
2152 mmap_data: __u64,
2153 sample_id_all: __u64,
2154 exclude_host: __u64,
2155 exclude_guest: __u64,
2156 exclude_callchain_kernel: __u64,
2157 exclude_callchain_user: __u64,
2158 mmap2: __u64,
2159 comm_exec: __u64,
2160 use_clockid: __u64,
2161 context_switch: __u64,
2162 write_backward: __u64,
2163 namespaces: __u64,
2164 ksymbol: __u64,
2165 bpf_event: __u64,
2166 aux_output: __u64,
2167 cgroup: __u64,
2168 text_poke: __u64,
2169 build_id: __u64,
2170 inherit_thread: __u64,
2171 remove_on_exec: __u64,
2172 sigtrap: __u64,
2173 __reserved_1: __u64,
2174 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2175 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2176 __bindgen_bitfield_unit.set(0usize, 1u8, {
2177 let disabled: u64 = unsafe { ::std::mem::transmute(disabled) };
2178 disabled as u64
2179 });
2180 __bindgen_bitfield_unit.set(1usize, 1u8, {
2181 let inherit: u64 = unsafe { ::std::mem::transmute(inherit) };
2182 inherit as u64
2183 });
2184 __bindgen_bitfield_unit.set(2usize, 1u8, {
2185 let pinned: u64 = unsafe { ::std::mem::transmute(pinned) };
2186 pinned as u64
2187 });
2188 __bindgen_bitfield_unit.set(3usize, 1u8, {
2189 let exclusive: u64 = unsafe { ::std::mem::transmute(exclusive) };
2190 exclusive as u64
2191 });
2192 __bindgen_bitfield_unit.set(4usize, 1u8, {
2193 let exclude_user: u64 = unsafe { ::std::mem::transmute(exclude_user) };
2194 exclude_user as u64
2195 });
2196 __bindgen_bitfield_unit.set(5usize, 1u8, {
2197 let exclude_kernel: u64 = unsafe { ::std::mem::transmute(exclude_kernel) };
2198 exclude_kernel as u64
2199 });
2200 __bindgen_bitfield_unit.set(6usize, 1u8, {
2201 let exclude_hv: u64 = unsafe { ::std::mem::transmute(exclude_hv) };
2202 exclude_hv as u64
2203 });
2204 __bindgen_bitfield_unit.set(7usize, 1u8, {
2205 let exclude_idle: u64 = unsafe { ::std::mem::transmute(exclude_idle) };
2206 exclude_idle as u64
2207 });
2208 __bindgen_bitfield_unit.set(8usize, 1u8, {
2209 let mmap: u64 = unsafe { ::std::mem::transmute(mmap) };
2210 mmap as u64
2211 });
2212 __bindgen_bitfield_unit.set(9usize, 1u8, {
2213 let comm: u64 = unsafe { ::std::mem::transmute(comm) };
2214 comm as u64
2215 });
2216 __bindgen_bitfield_unit.set(10usize, 1u8, {
2217 let freq: u64 = unsafe { ::std::mem::transmute(freq) };
2218 freq as u64
2219 });
2220 __bindgen_bitfield_unit.set(11usize, 1u8, {
2221 let inherit_stat: u64 = unsafe { ::std::mem::transmute(inherit_stat) };
2222 inherit_stat as u64
2223 });
2224 __bindgen_bitfield_unit.set(12usize, 1u8, {
2225 let enable_on_exec: u64 = unsafe { ::std::mem::transmute(enable_on_exec) };
2226 enable_on_exec as u64
2227 });
2228 __bindgen_bitfield_unit.set(13usize, 1u8, {
2229 let task: u64 = unsafe { ::std::mem::transmute(task) };
2230 task as u64
2231 });
2232 __bindgen_bitfield_unit.set(14usize, 1u8, {
2233 let watermark: u64 = unsafe { ::std::mem::transmute(watermark) };
2234 watermark as u64
2235 });
2236 __bindgen_bitfield_unit.set(15usize, 2u8, {
2237 let precise_ip: u64 = unsafe { ::std::mem::transmute(precise_ip) };
2238 precise_ip as u64
2239 });
2240 __bindgen_bitfield_unit.set(17usize, 1u8, {
2241 let mmap_data: u64 = unsafe { ::std::mem::transmute(mmap_data) };
2242 mmap_data as u64
2243 });
2244 __bindgen_bitfield_unit.set(18usize, 1u8, {
2245 let sample_id_all: u64 = unsafe { ::std::mem::transmute(sample_id_all) };
2246 sample_id_all as u64
2247 });
2248 __bindgen_bitfield_unit.set(19usize, 1u8, {
2249 let exclude_host: u64 = unsafe { ::std::mem::transmute(exclude_host) };
2250 exclude_host as u64
2251 });
2252 __bindgen_bitfield_unit.set(20usize, 1u8, {
2253 let exclude_guest: u64 = unsafe { ::std::mem::transmute(exclude_guest) };
2254 exclude_guest as u64
2255 });
2256 __bindgen_bitfield_unit.set(21usize, 1u8, {
2257 let exclude_callchain_kernel: u64 =
2258 unsafe { ::std::mem::transmute(exclude_callchain_kernel) };
2259 exclude_callchain_kernel as u64
2260 });
2261 __bindgen_bitfield_unit.set(22usize, 1u8, {
2262 let exclude_callchain_user: u64 =
2263 unsafe { ::std::mem::transmute(exclude_callchain_user) };
2264 exclude_callchain_user as u64
2265 });
2266 __bindgen_bitfield_unit.set(23usize, 1u8, {
2267 let mmap2: u64 = unsafe { ::std::mem::transmute(mmap2) };
2268 mmap2 as u64
2269 });
2270 __bindgen_bitfield_unit.set(24usize, 1u8, {
2271 let comm_exec: u64 = unsafe { ::std::mem::transmute(comm_exec) };
2272 comm_exec as u64
2273 });
2274 __bindgen_bitfield_unit.set(25usize, 1u8, {
2275 let use_clockid: u64 = unsafe { ::std::mem::transmute(use_clockid) };
2276 use_clockid as u64
2277 });
2278 __bindgen_bitfield_unit.set(26usize, 1u8, {
2279 let context_switch: u64 = unsafe { ::std::mem::transmute(context_switch) };
2280 context_switch as u64
2281 });
2282 __bindgen_bitfield_unit.set(27usize, 1u8, {
2283 let write_backward: u64 = unsafe { ::std::mem::transmute(write_backward) };
2284 write_backward as u64
2285 });
2286 __bindgen_bitfield_unit.set(28usize, 1u8, {
2287 let namespaces: u64 = unsafe { ::std::mem::transmute(namespaces) };
2288 namespaces as u64
2289 });
2290 __bindgen_bitfield_unit.set(29usize, 1u8, {
2291 let ksymbol: u64 = unsafe { ::std::mem::transmute(ksymbol) };
2292 ksymbol as u64
2293 });
2294 __bindgen_bitfield_unit.set(30usize, 1u8, {
2295 let bpf_event: u64 = unsafe { ::std::mem::transmute(bpf_event) };
2296 bpf_event as u64
2297 });
2298 __bindgen_bitfield_unit.set(31usize, 1u8, {
2299 let aux_output: u64 = unsafe { ::std::mem::transmute(aux_output) };
2300 aux_output as u64
2301 });
2302 __bindgen_bitfield_unit.set(32usize, 1u8, {
2303 let cgroup: u64 = unsafe { ::std::mem::transmute(cgroup) };
2304 cgroup as u64
2305 });
2306 __bindgen_bitfield_unit.set(33usize, 1u8, {
2307 let text_poke: u64 = unsafe { ::std::mem::transmute(text_poke) };
2308 text_poke as u64
2309 });
2310 __bindgen_bitfield_unit.set(34usize, 1u8, {
2311 let build_id: u64 = unsafe { ::std::mem::transmute(build_id) };
2312 build_id as u64
2313 });
2314 __bindgen_bitfield_unit.set(35usize, 1u8, {
2315 let inherit_thread: u64 = unsafe { ::std::mem::transmute(inherit_thread) };
2316 inherit_thread as u64
2317 });
2318 __bindgen_bitfield_unit.set(36usize, 1u8, {
2319 let remove_on_exec: u64 = unsafe { ::std::mem::transmute(remove_on_exec) };
2320 remove_on_exec as u64
2321 });
2322 __bindgen_bitfield_unit.set(37usize, 1u8, {
2323 let sigtrap: u64 = unsafe { ::std::mem::transmute(sigtrap) };
2324 sigtrap as u64
2325 });
2326 __bindgen_bitfield_unit.set(38usize, 26u8, {
2327 let __reserved_1: u64 = unsafe { ::std::mem::transmute(__reserved_1) };
2328 __reserved_1 as u64
2329 });
2330 __bindgen_bitfield_unit
2331 }
2332}
2333#[repr(C)]
2334#[derive(Debug, Default)]
2335pub struct perf_event_query_bpf {
2336 pub ids_len: __u32,
2337 pub prog_cnt: __u32,
2338 pub ids: __IncompleteArrayField<__u32>,
2339}
2340pub const PERF_IOC_FLAG_GROUP: perf_event_ioc_flags = 1;
2341pub type perf_event_ioc_flags = ::std::os::raw::c_uint;
2342#[repr(C)]
2343#[derive(Copy, Clone)]
2344pub struct perf_event_mmap_page {
2345 pub version: __u32,
2346 pub compat_version: __u32,
2347 pub lock: __u32,
2348 pub index: __u32,
2349 pub offset: __s64,
2350 pub time_enabled: __u64,
2351 pub time_running: __u64,
2352 pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1,
2353 pub pmc_width: __u16,
2354 pub time_shift: __u16,
2355 pub time_mult: __u32,
2356 pub time_offset: __u64,
2357 pub time_zero: __u64,
2358 pub size: __u32,
2359 pub __reserved_1: __u32,
2360 pub time_cycles: __u64,
2361 pub time_mask: __u64,
2362 pub __reserved: [__u8; 928usize],
2363 pub data_head: __u64,
2364 pub data_tail: __u64,
2365 pub data_offset: __u64,
2366 pub data_size: __u64,
2367 pub aux_head: __u64,
2368 pub aux_tail: __u64,
2369 pub aux_offset: __u64,
2370 pub aux_size: __u64,
2371}
2372#[repr(C)]
2373#[derive(Copy, Clone)]
2374pub union perf_event_mmap_page__bindgen_ty_1 {
2375 pub capabilities: __u64,
2376 pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1,
2377}
2378#[repr(C)]
2379#[derive(Debug, Default, Copy, Clone)]
2380pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2381 pub _bitfield_align_1: [u64; 0],
2382 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2383}
2384impl perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
2385 #[inline]
2386 pub fn cap_bit0(&self) -> __u64 {
2387 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
2388 }
2389 #[inline]
2390 pub fn set_cap_bit0(&mut self, val: __u64) {
2391 unsafe {
2392 let val: u64 = ::std::mem::transmute(val);
2393 self._bitfield_1.set(0usize, 1u8, val as u64)
2394 }
2395 }
2396 #[inline]
2397 pub unsafe fn cap_bit0_raw(this: *const Self) -> __u64 {
2398 unsafe {
2399 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2400 ::std::ptr::addr_of!((*this)._bitfield_1),
2401 0usize,
2402 1u8,
2403 ) as u64)
2404 }
2405 }
2406 #[inline]
2407 pub unsafe fn set_cap_bit0_raw(this: *mut Self, val: __u64) {
2408 unsafe {
2409 let val: u64 = ::std::mem::transmute(val);
2410 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2411 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2412 0usize,
2413 1u8,
2414 val as u64,
2415 )
2416 }
2417 }
2418 #[inline]
2419 pub fn cap_bit0_is_deprecated(&self) -> __u64 {
2420 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
2421 }
2422 #[inline]
2423 pub fn set_cap_bit0_is_deprecated(&mut self, val: __u64) {
2424 unsafe {
2425 let val: u64 = ::std::mem::transmute(val);
2426 self._bitfield_1.set(1usize, 1u8, val as u64)
2427 }
2428 }
2429 #[inline]
2430 pub unsafe fn cap_bit0_is_deprecated_raw(this: *const Self) -> __u64 {
2431 unsafe {
2432 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2433 ::std::ptr::addr_of!((*this)._bitfield_1),
2434 1usize,
2435 1u8,
2436 ) as u64)
2437 }
2438 }
2439 #[inline]
2440 pub unsafe fn set_cap_bit0_is_deprecated_raw(this: *mut Self, val: __u64) {
2441 unsafe {
2442 let val: u64 = ::std::mem::transmute(val);
2443 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2444 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2445 1usize,
2446 1u8,
2447 val as u64,
2448 )
2449 }
2450 }
2451 #[inline]
2452 pub fn cap_user_rdpmc(&self) -> __u64 {
2453 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
2454 }
2455 #[inline]
2456 pub fn set_cap_user_rdpmc(&mut self, val: __u64) {
2457 unsafe {
2458 let val: u64 = ::std::mem::transmute(val);
2459 self._bitfield_1.set(2usize, 1u8, val as u64)
2460 }
2461 }
2462 #[inline]
2463 pub unsafe fn cap_user_rdpmc_raw(this: *const Self) -> __u64 {
2464 unsafe {
2465 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2466 ::std::ptr::addr_of!((*this)._bitfield_1),
2467 2usize,
2468 1u8,
2469 ) as u64)
2470 }
2471 }
2472 #[inline]
2473 pub unsafe fn set_cap_user_rdpmc_raw(this: *mut Self, val: __u64) {
2474 unsafe {
2475 let val: u64 = ::std::mem::transmute(val);
2476 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2477 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2478 2usize,
2479 1u8,
2480 val as u64,
2481 )
2482 }
2483 }
2484 #[inline]
2485 pub fn cap_user_time(&self) -> __u64 {
2486 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
2487 }
2488 #[inline]
2489 pub fn set_cap_user_time(&mut self, val: __u64) {
2490 unsafe {
2491 let val: u64 = ::std::mem::transmute(val);
2492 self._bitfield_1.set(3usize, 1u8, val as u64)
2493 }
2494 }
2495 #[inline]
2496 pub unsafe fn cap_user_time_raw(this: *const Self) -> __u64 {
2497 unsafe {
2498 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2499 ::std::ptr::addr_of!((*this)._bitfield_1),
2500 3usize,
2501 1u8,
2502 ) as u64)
2503 }
2504 }
2505 #[inline]
2506 pub unsafe fn set_cap_user_time_raw(this: *mut Self, val: __u64) {
2507 unsafe {
2508 let val: u64 = ::std::mem::transmute(val);
2509 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2510 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2511 3usize,
2512 1u8,
2513 val as u64,
2514 )
2515 }
2516 }
2517 #[inline]
2518 pub fn cap_user_time_zero(&self) -> __u64 {
2519 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
2520 }
2521 #[inline]
2522 pub fn set_cap_user_time_zero(&mut self, val: __u64) {
2523 unsafe {
2524 let val: u64 = ::std::mem::transmute(val);
2525 self._bitfield_1.set(4usize, 1u8, val as u64)
2526 }
2527 }
2528 #[inline]
2529 pub unsafe fn cap_user_time_zero_raw(this: *const Self) -> __u64 {
2530 unsafe {
2531 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2532 ::std::ptr::addr_of!((*this)._bitfield_1),
2533 4usize,
2534 1u8,
2535 ) as u64)
2536 }
2537 }
2538 #[inline]
2539 pub unsafe fn set_cap_user_time_zero_raw(this: *mut Self, val: __u64) {
2540 unsafe {
2541 let val: u64 = ::std::mem::transmute(val);
2542 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2543 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2544 4usize,
2545 1u8,
2546 val as u64,
2547 )
2548 }
2549 }
2550 #[inline]
2551 pub fn cap_user_time_short(&self) -> __u64 {
2552 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
2553 }
2554 #[inline]
2555 pub fn set_cap_user_time_short(&mut self, val: __u64) {
2556 unsafe {
2557 let val: u64 = ::std::mem::transmute(val);
2558 self._bitfield_1.set(5usize, 1u8, val as u64)
2559 }
2560 }
2561 #[inline]
2562 pub unsafe fn cap_user_time_short_raw(this: *const Self) -> __u64 {
2563 unsafe {
2564 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2565 ::std::ptr::addr_of!((*this)._bitfield_1),
2566 5usize,
2567 1u8,
2568 ) as u64)
2569 }
2570 }
2571 #[inline]
2572 pub unsafe fn set_cap_user_time_short_raw(this: *mut Self, val: __u64) {
2573 unsafe {
2574 let val: u64 = ::std::mem::transmute(val);
2575 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2576 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2577 5usize,
2578 1u8,
2579 val as u64,
2580 )
2581 }
2582 }
2583 #[inline]
2584 pub fn cap_____res(&self) -> __u64 {
2585 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 58u8) as u64) }
2586 }
2587 #[inline]
2588 pub fn set_cap_____res(&mut self, val: __u64) {
2589 unsafe {
2590 let val: u64 = ::std::mem::transmute(val);
2591 self._bitfield_1.set(6usize, 58u8, val as u64)
2592 }
2593 }
2594 #[inline]
2595 pub unsafe fn cap_____res_raw(this: *const Self) -> __u64 {
2596 unsafe {
2597 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2598 ::std::ptr::addr_of!((*this)._bitfield_1),
2599 6usize,
2600 58u8,
2601 ) as u64)
2602 }
2603 }
2604 #[inline]
2605 pub unsafe fn set_cap_____res_raw(this: *mut Self, val: __u64) {
2606 unsafe {
2607 let val: u64 = ::std::mem::transmute(val);
2608 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2609 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2610 6usize,
2611 58u8,
2612 val as u64,
2613 )
2614 }
2615 }
2616 #[inline]
2617 pub fn new_bitfield_1(
2618 cap_bit0: __u64,
2619 cap_bit0_is_deprecated: __u64,
2620 cap_user_rdpmc: __u64,
2621 cap_user_time: __u64,
2622 cap_user_time_zero: __u64,
2623 cap_user_time_short: __u64,
2624 cap_____res: __u64,
2625 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2626 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2627 __bindgen_bitfield_unit.set(0usize, 1u8, {
2628 let cap_bit0: u64 = unsafe { ::std::mem::transmute(cap_bit0) };
2629 cap_bit0 as u64
2630 });
2631 __bindgen_bitfield_unit.set(1usize, 1u8, {
2632 let cap_bit0_is_deprecated: u64 =
2633 unsafe { ::std::mem::transmute(cap_bit0_is_deprecated) };
2634 cap_bit0_is_deprecated as u64
2635 });
2636 __bindgen_bitfield_unit.set(2usize, 1u8, {
2637 let cap_user_rdpmc: u64 = unsafe { ::std::mem::transmute(cap_user_rdpmc) };
2638 cap_user_rdpmc as u64
2639 });
2640 __bindgen_bitfield_unit.set(3usize, 1u8, {
2641 let cap_user_time: u64 = unsafe { ::std::mem::transmute(cap_user_time) };
2642 cap_user_time as u64
2643 });
2644 __bindgen_bitfield_unit.set(4usize, 1u8, {
2645 let cap_user_time_zero: u64 = unsafe { ::std::mem::transmute(cap_user_time_zero) };
2646 cap_user_time_zero as u64
2647 });
2648 __bindgen_bitfield_unit.set(5usize, 1u8, {
2649 let cap_user_time_short: u64 = unsafe { ::std::mem::transmute(cap_user_time_short) };
2650 cap_user_time_short as u64
2651 });
2652 __bindgen_bitfield_unit.set(6usize, 58u8, {
2653 let cap_____res: u64 = unsafe { ::std::mem::transmute(cap_____res) };
2654 cap_____res as u64
2655 });
2656 __bindgen_bitfield_unit
2657 }
2658}
2659impl Default for perf_event_mmap_page__bindgen_ty_1 {
2660 fn default() -> Self {
2661 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2662 unsafe {
2663 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2664 s.assume_init()
2665 }
2666 }
2667}
2668impl Default for perf_event_mmap_page {
2669 fn default() -> Self {
2670 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2671 unsafe {
2672 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2673 s.assume_init()
2674 }
2675 }
2676}
2677#[repr(C)]
2678#[derive(Debug, Default, Copy, Clone)]
2679pub struct perf_event_header {
2680 pub type_: __u32,
2681 pub misc: __u16,
2682 pub size: __u16,
2683}
2684#[repr(C)]
2685#[derive(Debug, Default, Copy, Clone)]
2686pub struct perf_ns_link_info {
2687 pub dev: __u64,
2688 pub ino: __u64,
2689}
2690pub const PERF_RECORD_MMAP: perf_event_type = 1;
2691pub const PERF_RECORD_LOST: perf_event_type = 2;
2692pub const PERF_RECORD_COMM: perf_event_type = 3;
2693pub const PERF_RECORD_EXIT: perf_event_type = 4;
2694pub const PERF_RECORD_THROTTLE: perf_event_type = 5;
2695pub const PERF_RECORD_UNTHROTTLE: perf_event_type = 6;
2696pub const PERF_RECORD_FORK: perf_event_type = 7;
2697pub const PERF_RECORD_READ: perf_event_type = 8;
2698pub const PERF_RECORD_SAMPLE: perf_event_type = 9;
2699pub const PERF_RECORD_MMAP2: perf_event_type = 10;
2700pub const PERF_RECORD_AUX: perf_event_type = 11;
2701pub const PERF_RECORD_ITRACE_START: perf_event_type = 12;
2702pub const PERF_RECORD_LOST_SAMPLES: perf_event_type = 13;
2703pub const PERF_RECORD_SWITCH: perf_event_type = 14;
2704pub const PERF_RECORD_SWITCH_CPU_WIDE: perf_event_type = 15;
2705pub const PERF_RECORD_NAMESPACES: perf_event_type = 16;
2706pub const PERF_RECORD_KSYMBOL: perf_event_type = 17;
2707pub const PERF_RECORD_BPF_EVENT: perf_event_type = 18;
2708pub const PERF_RECORD_CGROUP: perf_event_type = 19;
2709pub const PERF_RECORD_TEXT_POKE: perf_event_type = 20;
2710pub const PERF_RECORD_AUX_OUTPUT_HW_ID: perf_event_type = 21;
2711pub const PERF_RECORD_MAX: perf_event_type = 22;
2712pub type perf_event_type = ::std::os::raw::c_uint;
2713pub const PERF_RECORD_KSYMBOL_TYPE_UNKNOWN: perf_record_ksymbol_type = 0;
2714pub const PERF_RECORD_KSYMBOL_TYPE_BPF: perf_record_ksymbol_type = 1;
2715pub const PERF_RECORD_KSYMBOL_TYPE_OOL: perf_record_ksymbol_type = 2;
2716pub const PERF_RECORD_KSYMBOL_TYPE_MAX: perf_record_ksymbol_type = 3;
2717pub type perf_record_ksymbol_type = ::std::os::raw::c_uint;
2718pub const PERF_BPF_EVENT_UNKNOWN: perf_bpf_event_type = 0;
2719pub const PERF_BPF_EVENT_PROG_LOAD: perf_bpf_event_type = 1;
2720pub const PERF_BPF_EVENT_PROG_UNLOAD: perf_bpf_event_type = 2;
2721pub const PERF_BPF_EVENT_MAX: perf_bpf_event_type = 3;
2722pub type perf_bpf_event_type = ::std::os::raw::c_uint;
2723pub const PERF_CONTEXT_HV: perf_callchain_context = 18446744073709551584;
2724pub const PERF_CONTEXT_KERNEL: perf_callchain_context = 18446744073709551488;
2725pub const PERF_CONTEXT_USER: perf_callchain_context = 18446744073709551104;
2726pub const PERF_CONTEXT_GUEST: perf_callchain_context = 18446744073709549568;
2727pub const PERF_CONTEXT_GUEST_KERNEL: perf_callchain_context = 18446744073709549440;
2728pub const PERF_CONTEXT_GUEST_USER: perf_callchain_context = 18446744073709549056;
2729pub const PERF_CONTEXT_MAX: perf_callchain_context = 18446744073709547521;
2730pub type perf_callchain_context = ::std::os::raw::c_ulong;
2731#[repr(C)]
2732#[derive(Copy, Clone)]
2733pub union perf_mem_data_src {
2734 pub val: __u64,
2735 pub __bindgen_anon_1: perf_mem_data_src__bindgen_ty_1,
2736}
2737#[repr(C)]
2738#[repr(align(8))]
2739#[derive(Debug, Default, Copy, Clone)]
2740pub struct perf_mem_data_src__bindgen_ty_1 {
2741 pub _bitfield_align_1: [u32; 0],
2742 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2743}
2744impl perf_mem_data_src__bindgen_ty_1 {
2745 #[inline]
2746 pub fn mem_op(&self) -> __u64 {
2747 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u64) }
2748 }
2749 #[inline]
2750 pub fn set_mem_op(&mut self, val: __u64) {
2751 unsafe {
2752 let val: u64 = ::std::mem::transmute(val);
2753 self._bitfield_1.set(0usize, 5u8, val as u64)
2754 }
2755 }
2756 #[inline]
2757 pub unsafe fn mem_op_raw(this: *const Self) -> __u64 {
2758 unsafe {
2759 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2760 ::std::ptr::addr_of!((*this)._bitfield_1),
2761 0usize,
2762 5u8,
2763 ) as u64)
2764 }
2765 }
2766 #[inline]
2767 pub unsafe fn set_mem_op_raw(this: *mut Self, val: __u64) {
2768 unsafe {
2769 let val: u64 = ::std::mem::transmute(val);
2770 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2771 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2772 0usize,
2773 5u8,
2774 val as u64,
2775 )
2776 }
2777 }
2778 #[inline]
2779 pub fn mem_lvl(&self) -> __u64 {
2780 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 14u8) as u64) }
2781 }
2782 #[inline]
2783 pub fn set_mem_lvl(&mut self, val: __u64) {
2784 unsafe {
2785 let val: u64 = ::std::mem::transmute(val);
2786 self._bitfield_1.set(5usize, 14u8, val as u64)
2787 }
2788 }
2789 #[inline]
2790 pub unsafe fn mem_lvl_raw(this: *const Self) -> __u64 {
2791 unsafe {
2792 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2793 ::std::ptr::addr_of!((*this)._bitfield_1),
2794 5usize,
2795 14u8,
2796 ) as u64)
2797 }
2798 }
2799 #[inline]
2800 pub unsafe fn set_mem_lvl_raw(this: *mut Self, val: __u64) {
2801 unsafe {
2802 let val: u64 = ::std::mem::transmute(val);
2803 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2804 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2805 5usize,
2806 14u8,
2807 val as u64,
2808 )
2809 }
2810 }
2811 #[inline]
2812 pub fn mem_snoop(&self) -> __u64 {
2813 unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 5u8) as u64) }
2814 }
2815 #[inline]
2816 pub fn set_mem_snoop(&mut self, val: __u64) {
2817 unsafe {
2818 let val: u64 = ::std::mem::transmute(val);
2819 self._bitfield_1.set(19usize, 5u8, val as u64)
2820 }
2821 }
2822 #[inline]
2823 pub unsafe fn mem_snoop_raw(this: *const Self) -> __u64 {
2824 unsafe {
2825 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2826 ::std::ptr::addr_of!((*this)._bitfield_1),
2827 19usize,
2828 5u8,
2829 ) as u64)
2830 }
2831 }
2832 #[inline]
2833 pub unsafe fn set_mem_snoop_raw(this: *mut Self, val: __u64) {
2834 unsafe {
2835 let val: u64 = ::std::mem::transmute(val);
2836 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2837 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2838 19usize,
2839 5u8,
2840 val as u64,
2841 )
2842 }
2843 }
2844 #[inline]
2845 pub fn mem_lock(&self) -> __u64 {
2846 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) }
2847 }
2848 #[inline]
2849 pub fn set_mem_lock(&mut self, val: __u64) {
2850 unsafe {
2851 let val: u64 = ::std::mem::transmute(val);
2852 self._bitfield_1.set(24usize, 2u8, val as u64)
2853 }
2854 }
2855 #[inline]
2856 pub unsafe fn mem_lock_raw(this: *const Self) -> __u64 {
2857 unsafe {
2858 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2859 ::std::ptr::addr_of!((*this)._bitfield_1),
2860 24usize,
2861 2u8,
2862 ) as u64)
2863 }
2864 }
2865 #[inline]
2866 pub unsafe fn set_mem_lock_raw(this: *mut Self, val: __u64) {
2867 unsafe {
2868 let val: u64 = ::std::mem::transmute(val);
2869 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2870 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2871 24usize,
2872 2u8,
2873 val as u64,
2874 )
2875 }
2876 }
2877 #[inline]
2878 pub fn mem_dtlb(&self) -> __u64 {
2879 unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 7u8) as u64) }
2880 }
2881 #[inline]
2882 pub fn set_mem_dtlb(&mut self, val: __u64) {
2883 unsafe {
2884 let val: u64 = ::std::mem::transmute(val);
2885 self._bitfield_1.set(26usize, 7u8, val as u64)
2886 }
2887 }
2888 #[inline]
2889 pub unsafe fn mem_dtlb_raw(this: *const Self) -> __u64 {
2890 unsafe {
2891 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2892 ::std::ptr::addr_of!((*this)._bitfield_1),
2893 26usize,
2894 7u8,
2895 ) as u64)
2896 }
2897 }
2898 #[inline]
2899 pub unsafe fn set_mem_dtlb_raw(this: *mut Self, val: __u64) {
2900 unsafe {
2901 let val: u64 = ::std::mem::transmute(val);
2902 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2903 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2904 26usize,
2905 7u8,
2906 val as u64,
2907 )
2908 }
2909 }
2910 #[inline]
2911 pub fn mem_lvl_num(&self) -> __u64 {
2912 unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 4u8) as u64) }
2913 }
2914 #[inline]
2915 pub fn set_mem_lvl_num(&mut self, val: __u64) {
2916 unsafe {
2917 let val: u64 = ::std::mem::transmute(val);
2918 self._bitfield_1.set(33usize, 4u8, val as u64)
2919 }
2920 }
2921 #[inline]
2922 pub unsafe fn mem_lvl_num_raw(this: *const Self) -> __u64 {
2923 unsafe {
2924 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2925 ::std::ptr::addr_of!((*this)._bitfield_1),
2926 33usize,
2927 4u8,
2928 ) as u64)
2929 }
2930 }
2931 #[inline]
2932 pub unsafe fn set_mem_lvl_num_raw(this: *mut Self, val: __u64) {
2933 unsafe {
2934 let val: u64 = ::std::mem::transmute(val);
2935 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2936 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2937 33usize,
2938 4u8,
2939 val as u64,
2940 )
2941 }
2942 }
2943 #[inline]
2944 pub fn mem_remote(&self) -> __u64 {
2945 unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
2946 }
2947 #[inline]
2948 pub fn set_mem_remote(&mut self, val: __u64) {
2949 unsafe {
2950 let val: u64 = ::std::mem::transmute(val);
2951 self._bitfield_1.set(37usize, 1u8, val as u64)
2952 }
2953 }
2954 #[inline]
2955 pub unsafe fn mem_remote_raw(this: *const Self) -> __u64 {
2956 unsafe {
2957 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2958 ::std::ptr::addr_of!((*this)._bitfield_1),
2959 37usize,
2960 1u8,
2961 ) as u64)
2962 }
2963 }
2964 #[inline]
2965 pub unsafe fn set_mem_remote_raw(this: *mut Self, val: __u64) {
2966 unsafe {
2967 let val: u64 = ::std::mem::transmute(val);
2968 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2969 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2970 37usize,
2971 1u8,
2972 val as u64,
2973 )
2974 }
2975 }
2976 #[inline]
2977 pub fn mem_snoopx(&self) -> __u64 {
2978 unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 2u8) as u64) }
2979 }
2980 #[inline]
2981 pub fn set_mem_snoopx(&mut self, val: __u64) {
2982 unsafe {
2983 let val: u64 = ::std::mem::transmute(val);
2984 self._bitfield_1.set(38usize, 2u8, val as u64)
2985 }
2986 }
2987 #[inline]
2988 pub unsafe fn mem_snoopx_raw(this: *const Self) -> __u64 {
2989 unsafe {
2990 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2991 ::std::ptr::addr_of!((*this)._bitfield_1),
2992 38usize,
2993 2u8,
2994 ) as u64)
2995 }
2996 }
2997 #[inline]
2998 pub unsafe fn set_mem_snoopx_raw(this: *mut Self, val: __u64) {
2999 unsafe {
3000 let val: u64 = ::std::mem::transmute(val);
3001 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3002 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3003 38usize,
3004 2u8,
3005 val as u64,
3006 )
3007 }
3008 }
3009 #[inline]
3010 pub fn mem_blk(&self) -> __u64 {
3011 unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 3u8) as u64) }
3012 }
3013 #[inline]
3014 pub fn set_mem_blk(&mut self, val: __u64) {
3015 unsafe {
3016 let val: u64 = ::std::mem::transmute(val);
3017 self._bitfield_1.set(40usize, 3u8, val as u64)
3018 }
3019 }
3020 #[inline]
3021 pub unsafe fn mem_blk_raw(this: *const Self) -> __u64 {
3022 unsafe {
3023 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3024 ::std::ptr::addr_of!((*this)._bitfield_1),
3025 40usize,
3026 3u8,
3027 ) as u64)
3028 }
3029 }
3030 #[inline]
3031 pub unsafe fn set_mem_blk_raw(this: *mut Self, val: __u64) {
3032 unsafe {
3033 let val: u64 = ::std::mem::transmute(val);
3034 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3035 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3036 40usize,
3037 3u8,
3038 val as u64,
3039 )
3040 }
3041 }
3042 #[inline]
3043 pub fn mem_hops(&self) -> __u64 {
3044 unsafe { ::std::mem::transmute(self._bitfield_1.get(43usize, 3u8) as u64) }
3045 }
3046 #[inline]
3047 pub fn set_mem_hops(&mut self, val: __u64) {
3048 unsafe {
3049 let val: u64 = ::std::mem::transmute(val);
3050 self._bitfield_1.set(43usize, 3u8, val as u64)
3051 }
3052 }
3053 #[inline]
3054 pub unsafe fn mem_hops_raw(this: *const Self) -> __u64 {
3055 unsafe {
3056 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3057 ::std::ptr::addr_of!((*this)._bitfield_1),
3058 43usize,
3059 3u8,
3060 ) as u64)
3061 }
3062 }
3063 #[inline]
3064 pub unsafe fn set_mem_hops_raw(this: *mut Self, val: __u64) {
3065 unsafe {
3066 let val: u64 = ::std::mem::transmute(val);
3067 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3068 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3069 43usize,
3070 3u8,
3071 val as u64,
3072 )
3073 }
3074 }
3075 #[inline]
3076 pub fn mem_rsvd(&self) -> __u64 {
3077 unsafe { ::std::mem::transmute(self._bitfield_1.get(46usize, 18u8) as u64) }
3078 }
3079 #[inline]
3080 pub fn set_mem_rsvd(&mut self, val: __u64) {
3081 unsafe {
3082 let val: u64 = ::std::mem::transmute(val);
3083 self._bitfield_1.set(46usize, 18u8, val as u64)
3084 }
3085 }
3086 #[inline]
3087 pub unsafe fn mem_rsvd_raw(this: *const Self) -> __u64 {
3088 unsafe {
3089 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3090 ::std::ptr::addr_of!((*this)._bitfield_1),
3091 46usize,
3092 18u8,
3093 ) as u64)
3094 }
3095 }
3096 #[inline]
3097 pub unsafe fn set_mem_rsvd_raw(this: *mut Self, val: __u64) {
3098 unsafe {
3099 let val: u64 = ::std::mem::transmute(val);
3100 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3101 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3102 46usize,
3103 18u8,
3104 val as u64,
3105 )
3106 }
3107 }
3108 #[inline]
3109 pub fn new_bitfield_1(
3110 mem_op: __u64,
3111 mem_lvl: __u64,
3112 mem_snoop: __u64,
3113 mem_lock: __u64,
3114 mem_dtlb: __u64,
3115 mem_lvl_num: __u64,
3116 mem_remote: __u64,
3117 mem_snoopx: __u64,
3118 mem_blk: __u64,
3119 mem_hops: __u64,
3120 mem_rsvd: __u64,
3121 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
3122 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
3123 __bindgen_bitfield_unit.set(0usize, 5u8, {
3124 let mem_op: u64 = unsafe { ::std::mem::transmute(mem_op) };
3125 mem_op as u64
3126 });
3127 __bindgen_bitfield_unit.set(5usize, 14u8, {
3128 let mem_lvl: u64 = unsafe { ::std::mem::transmute(mem_lvl) };
3129 mem_lvl as u64
3130 });
3131 __bindgen_bitfield_unit.set(19usize, 5u8, {
3132 let mem_snoop: u64 = unsafe { ::std::mem::transmute(mem_snoop) };
3133 mem_snoop as u64
3134 });
3135 __bindgen_bitfield_unit.set(24usize, 2u8, {
3136 let mem_lock: u64 = unsafe { ::std::mem::transmute(mem_lock) };
3137 mem_lock as u64
3138 });
3139 __bindgen_bitfield_unit.set(26usize, 7u8, {
3140 let mem_dtlb: u64 = unsafe { ::std::mem::transmute(mem_dtlb) };
3141 mem_dtlb as u64
3142 });
3143 __bindgen_bitfield_unit.set(33usize, 4u8, {
3144 let mem_lvl_num: u64 = unsafe { ::std::mem::transmute(mem_lvl_num) };
3145 mem_lvl_num as u64
3146 });
3147 __bindgen_bitfield_unit.set(37usize, 1u8, {
3148 let mem_remote: u64 = unsafe { ::std::mem::transmute(mem_remote) };
3149 mem_remote as u64
3150 });
3151 __bindgen_bitfield_unit.set(38usize, 2u8, {
3152 let mem_snoopx: u64 = unsafe { ::std::mem::transmute(mem_snoopx) };
3153 mem_snoopx as u64
3154 });
3155 __bindgen_bitfield_unit.set(40usize, 3u8, {
3156 let mem_blk: u64 = unsafe { ::std::mem::transmute(mem_blk) };
3157 mem_blk as u64
3158 });
3159 __bindgen_bitfield_unit.set(43usize, 3u8, {
3160 let mem_hops: u64 = unsafe { ::std::mem::transmute(mem_hops) };
3161 mem_hops as u64
3162 });
3163 __bindgen_bitfield_unit.set(46usize, 18u8, {
3164 let mem_rsvd: u64 = unsafe { ::std::mem::transmute(mem_rsvd) };
3165 mem_rsvd as u64
3166 });
3167 __bindgen_bitfield_unit
3168 }
3169}
3170impl Default for perf_mem_data_src {
3171 fn default() -> Self {
3172 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3173 unsafe {
3174 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3175 s.assume_init()
3176 }
3177 }
3178}
3179#[repr(C)]
3180#[derive(Debug, Default, Copy, Clone)]
3181pub struct perf_branch_entry {
3182 pub from: __u64,
3183 pub to: __u64,
3184 pub _bitfield_align_1: [u32; 0],
3185 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
3186}
3187impl perf_branch_entry {
3188 #[inline]
3189 pub fn mispred(&self) -> __u64 {
3190 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
3191 }
3192 #[inline]
3193 pub fn set_mispred(&mut self, val: __u64) {
3194 unsafe {
3195 let val: u64 = ::std::mem::transmute(val);
3196 self._bitfield_1.set(0usize, 1u8, val as u64)
3197 }
3198 }
3199 #[inline]
3200 pub unsafe fn mispred_raw(this: *const Self) -> __u64 {
3201 unsafe {
3202 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3203 ::std::ptr::addr_of!((*this)._bitfield_1),
3204 0usize,
3205 1u8,
3206 ) as u64)
3207 }
3208 }
3209 #[inline]
3210 pub unsafe fn set_mispred_raw(this: *mut Self, val: __u64) {
3211 unsafe {
3212 let val: u64 = ::std::mem::transmute(val);
3213 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3214 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3215 0usize,
3216 1u8,
3217 val as u64,
3218 )
3219 }
3220 }
3221 #[inline]
3222 pub fn predicted(&self) -> __u64 {
3223 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
3224 }
3225 #[inline]
3226 pub fn set_predicted(&mut self, val: __u64) {
3227 unsafe {
3228 let val: u64 = ::std::mem::transmute(val);
3229 self._bitfield_1.set(1usize, 1u8, val as u64)
3230 }
3231 }
3232 #[inline]
3233 pub unsafe fn predicted_raw(this: *const Self) -> __u64 {
3234 unsafe {
3235 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3236 ::std::ptr::addr_of!((*this)._bitfield_1),
3237 1usize,
3238 1u8,
3239 ) as u64)
3240 }
3241 }
3242 #[inline]
3243 pub unsafe fn set_predicted_raw(this: *mut Self, val: __u64) {
3244 unsafe {
3245 let val: u64 = ::std::mem::transmute(val);
3246 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3247 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3248 1usize,
3249 1u8,
3250 val as u64,
3251 )
3252 }
3253 }
3254 #[inline]
3255 pub fn in_tx(&self) -> __u64 {
3256 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
3257 }
3258 #[inline]
3259 pub fn set_in_tx(&mut self, val: __u64) {
3260 unsafe {
3261 let val: u64 = ::std::mem::transmute(val);
3262 self._bitfield_1.set(2usize, 1u8, val as u64)
3263 }
3264 }
3265 #[inline]
3266 pub unsafe fn in_tx_raw(this: *const Self) -> __u64 {
3267 unsafe {
3268 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3269 ::std::ptr::addr_of!((*this)._bitfield_1),
3270 2usize,
3271 1u8,
3272 ) as u64)
3273 }
3274 }
3275 #[inline]
3276 pub unsafe fn set_in_tx_raw(this: *mut Self, val: __u64) {
3277 unsafe {
3278 let val: u64 = ::std::mem::transmute(val);
3279 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3280 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3281 2usize,
3282 1u8,
3283 val as u64,
3284 )
3285 }
3286 }
3287 #[inline]
3288 pub fn abort(&self) -> __u64 {
3289 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
3290 }
3291 #[inline]
3292 pub fn set_abort(&mut self, val: __u64) {
3293 unsafe {
3294 let val: u64 = ::std::mem::transmute(val);
3295 self._bitfield_1.set(3usize, 1u8, val as u64)
3296 }
3297 }
3298 #[inline]
3299 pub unsafe fn abort_raw(this: *const Self) -> __u64 {
3300 unsafe {
3301 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3302 ::std::ptr::addr_of!((*this)._bitfield_1),
3303 3usize,
3304 1u8,
3305 ) as u64)
3306 }
3307 }
3308 #[inline]
3309 pub unsafe fn set_abort_raw(this: *mut Self, val: __u64) {
3310 unsafe {
3311 let val: u64 = ::std::mem::transmute(val);
3312 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3313 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3314 3usize,
3315 1u8,
3316 val as u64,
3317 )
3318 }
3319 }
3320 #[inline]
3321 pub fn cycles(&self) -> __u64 {
3322 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 16u8) as u64) }
3323 }
3324 #[inline]
3325 pub fn set_cycles(&mut self, val: __u64) {
3326 unsafe {
3327 let val: u64 = ::std::mem::transmute(val);
3328 self._bitfield_1.set(4usize, 16u8, val as u64)
3329 }
3330 }
3331 #[inline]
3332 pub unsafe fn cycles_raw(this: *const Self) -> __u64 {
3333 unsafe {
3334 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3335 ::std::ptr::addr_of!((*this)._bitfield_1),
3336 4usize,
3337 16u8,
3338 ) as u64)
3339 }
3340 }
3341 #[inline]
3342 pub unsafe fn set_cycles_raw(this: *mut Self, val: __u64) {
3343 unsafe {
3344 let val: u64 = ::std::mem::transmute(val);
3345 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3346 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3347 4usize,
3348 16u8,
3349 val as u64,
3350 )
3351 }
3352 }
3353 #[inline]
3354 pub fn type_(&self) -> __u64 {
3355 unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u64) }
3356 }
3357 #[inline]
3358 pub fn set_type(&mut self, val: __u64) {
3359 unsafe {
3360 let val: u64 = ::std::mem::transmute(val);
3361 self._bitfield_1.set(20usize, 4u8, val as u64)
3362 }
3363 }
3364 #[inline]
3365 pub unsafe fn type__raw(this: *const Self) -> __u64 {
3366 unsafe {
3367 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3368 ::std::ptr::addr_of!((*this)._bitfield_1),
3369 20usize,
3370 4u8,
3371 ) as u64)
3372 }
3373 }
3374 #[inline]
3375 pub unsafe fn set_type_raw(this: *mut Self, val: __u64) {
3376 unsafe {
3377 let val: u64 = ::std::mem::transmute(val);
3378 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3379 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3380 20usize,
3381 4u8,
3382 val as u64,
3383 )
3384 }
3385 }
3386 #[inline]
3387 pub fn spec(&self) -> __u64 {
3388 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 2u8) as u64) }
3389 }
3390 #[inline]
3391 pub fn set_spec(&mut self, val: __u64) {
3392 unsafe {
3393 let val: u64 = ::std::mem::transmute(val);
3394 self._bitfield_1.set(24usize, 2u8, val as u64)
3395 }
3396 }
3397 #[inline]
3398 pub unsafe fn spec_raw(this: *const Self) -> __u64 {
3399 unsafe {
3400 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3401 ::std::ptr::addr_of!((*this)._bitfield_1),
3402 24usize,
3403 2u8,
3404 ) as u64)
3405 }
3406 }
3407 #[inline]
3408 pub unsafe fn set_spec_raw(this: *mut Self, val: __u64) {
3409 unsafe {
3410 let val: u64 = ::std::mem::transmute(val);
3411 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3412 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3413 24usize,
3414 2u8,
3415 val as u64,
3416 )
3417 }
3418 }
3419 #[inline]
3420 pub fn new_type(&self) -> __u64 {
3421 unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 4u8) as u64) }
3422 }
3423 #[inline]
3424 pub fn set_new_type(&mut self, val: __u64) {
3425 unsafe {
3426 let val: u64 = ::std::mem::transmute(val);
3427 self._bitfield_1.set(26usize, 4u8, val as u64)
3428 }
3429 }
3430 #[inline]
3431 pub unsafe fn new_type_raw(this: *const Self) -> __u64 {
3432 unsafe {
3433 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3434 ::std::ptr::addr_of!((*this)._bitfield_1),
3435 26usize,
3436 4u8,
3437 ) as u64)
3438 }
3439 }
3440 #[inline]
3441 pub unsafe fn set_new_type_raw(this: *mut Self, val: __u64) {
3442 unsafe {
3443 let val: u64 = ::std::mem::transmute(val);
3444 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3445 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3446 26usize,
3447 4u8,
3448 val as u64,
3449 )
3450 }
3451 }
3452 #[inline]
3453 pub fn priv_(&self) -> __u64 {
3454 unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 3u8) as u64) }
3455 }
3456 #[inline]
3457 pub fn set_priv(&mut self, val: __u64) {
3458 unsafe {
3459 let val: u64 = ::std::mem::transmute(val);
3460 self._bitfield_1.set(30usize, 3u8, val as u64)
3461 }
3462 }
3463 #[inline]
3464 pub unsafe fn priv__raw(this: *const Self) -> __u64 {
3465 unsafe {
3466 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3467 ::std::ptr::addr_of!((*this)._bitfield_1),
3468 30usize,
3469 3u8,
3470 ) as u64)
3471 }
3472 }
3473 #[inline]
3474 pub unsafe fn set_priv_raw(this: *mut Self, val: __u64) {
3475 unsafe {
3476 let val: u64 = ::std::mem::transmute(val);
3477 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3478 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3479 30usize,
3480 3u8,
3481 val as u64,
3482 )
3483 }
3484 }
3485 #[inline]
3486 pub fn reserved(&self) -> __u64 {
3487 unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 31u8) as u64) }
3488 }
3489 #[inline]
3490 pub fn set_reserved(&mut self, val: __u64) {
3491 unsafe {
3492 let val: u64 = ::std::mem::transmute(val);
3493 self._bitfield_1.set(33usize, 31u8, val as u64)
3494 }
3495 }
3496 #[inline]
3497 pub unsafe fn reserved_raw(this: *const Self) -> __u64 {
3498 unsafe {
3499 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3500 ::std::ptr::addr_of!((*this)._bitfield_1),
3501 33usize,
3502 31u8,
3503 ) as u64)
3504 }
3505 }
3506 #[inline]
3507 pub unsafe fn set_reserved_raw(this: *mut Self, val: __u64) {
3508 unsafe {
3509 let val: u64 = ::std::mem::transmute(val);
3510 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3511 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3512 33usize,
3513 31u8,
3514 val as u64,
3515 )
3516 }
3517 }
3518 #[inline]
3519 pub fn new_bitfield_1(
3520 mispred: __u64,
3521 predicted: __u64,
3522 in_tx: __u64,
3523 abort: __u64,
3524 cycles: __u64,
3525 type_: __u64,
3526 spec: __u64,
3527 new_type: __u64,
3528 priv_: __u64,
3529 reserved: __u64,
3530 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
3531 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
3532 __bindgen_bitfield_unit.set(0usize, 1u8, {
3533 let mispred: u64 = unsafe { ::std::mem::transmute(mispred) };
3534 mispred as u64
3535 });
3536 __bindgen_bitfield_unit.set(1usize, 1u8, {
3537 let predicted: u64 = unsafe { ::std::mem::transmute(predicted) };
3538 predicted as u64
3539 });
3540 __bindgen_bitfield_unit.set(2usize, 1u8, {
3541 let in_tx: u64 = unsafe { ::std::mem::transmute(in_tx) };
3542 in_tx as u64
3543 });
3544 __bindgen_bitfield_unit.set(3usize, 1u8, {
3545 let abort: u64 = unsafe { ::std::mem::transmute(abort) };
3546 abort as u64
3547 });
3548 __bindgen_bitfield_unit.set(4usize, 16u8, {
3549 let cycles: u64 = unsafe { ::std::mem::transmute(cycles) };
3550 cycles as u64
3551 });
3552 __bindgen_bitfield_unit.set(20usize, 4u8, {
3553 let type_: u64 = unsafe { ::std::mem::transmute(type_) };
3554 type_ as u64
3555 });
3556 __bindgen_bitfield_unit.set(24usize, 2u8, {
3557 let spec: u64 = unsafe { ::std::mem::transmute(spec) };
3558 spec as u64
3559 });
3560 __bindgen_bitfield_unit.set(26usize, 4u8, {
3561 let new_type: u64 = unsafe { ::std::mem::transmute(new_type) };
3562 new_type as u64
3563 });
3564 __bindgen_bitfield_unit.set(30usize, 3u8, {
3565 let priv_: u64 = unsafe { ::std::mem::transmute(priv_) };
3566 priv_ as u64
3567 });
3568 __bindgen_bitfield_unit.set(33usize, 31u8, {
3569 let reserved: u64 = unsafe { ::std::mem::transmute(reserved) };
3570 reserved as u64
3571 });
3572 __bindgen_bitfield_unit
3573 }
3574}
3575#[repr(C)]
3576#[derive(Copy, Clone)]
3577pub union perf_sample_weight {
3578 pub full: __u64,
3579 pub __bindgen_anon_1: perf_sample_weight__bindgen_ty_1,
3580}
3581#[repr(C)]
3582#[derive(Debug, Default, Copy, Clone)]
3583pub struct perf_sample_weight__bindgen_ty_1 {
3584 pub var1_dw: __u32,
3585 pub var2_w: __u16,
3586 pub var3_w: __u16,
3587}
3588impl Default for perf_sample_weight {
3589 fn default() -> Self {
3590 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3591 unsafe {
3592 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3593 s.assume_init()
3594 }
3595 }
3596}
3597pub const BPF_MAY_GOTO: bpf_cond_pseudo_jmp = 0;
3598pub type bpf_cond_pseudo_jmp = ::std::os::raw::c_uint;
3599pub const BPF_REG_0: _bindgen_ty_61 = 0;
3600pub const BPF_REG_1: _bindgen_ty_61 = 1;
3601pub const BPF_REG_2: _bindgen_ty_61 = 2;
3602pub const BPF_REG_3: _bindgen_ty_61 = 3;
3603pub const BPF_REG_4: _bindgen_ty_61 = 4;
3604pub const BPF_REG_5: _bindgen_ty_61 = 5;
3605pub const BPF_REG_6: _bindgen_ty_61 = 6;
3606pub const BPF_REG_7: _bindgen_ty_61 = 7;
3607pub const BPF_REG_8: _bindgen_ty_61 = 8;
3608pub const BPF_REG_9: _bindgen_ty_61 = 9;
3609pub const BPF_REG_10: _bindgen_ty_61 = 10;
3610pub const __MAX_BPF_REG: _bindgen_ty_61 = 11;
3611pub type _bindgen_ty_61 = ::std::os::raw::c_uint;
3612#[repr(C)]
3613#[derive(Debug, Default, Copy, Clone)]
3614pub struct bpf_insn {
3615 pub code: __u8,
3616 pub _bitfield_align_1: [u8; 0],
3617 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3618 pub off: __s16,
3619 pub imm: __s32,
3620}
3621impl bpf_insn {
3622 #[inline]
3623 pub fn dst_reg(&self) -> __u8 {
3624 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
3625 }
3626 #[inline]
3627 pub fn set_dst_reg(&mut self, val: __u8) {
3628 unsafe {
3629 let val: u8 = ::std::mem::transmute(val);
3630 self._bitfield_1.set(0usize, 4u8, val as u64)
3631 }
3632 }
3633 #[inline]
3634 pub unsafe fn dst_reg_raw(this: *const Self) -> __u8 {
3635 unsafe {
3636 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3637 ::std::ptr::addr_of!((*this)._bitfield_1),
3638 0usize,
3639 4u8,
3640 ) as u8)
3641 }
3642 }
3643 #[inline]
3644 pub unsafe fn set_dst_reg_raw(this: *mut Self, val: __u8) {
3645 unsafe {
3646 let val: u8 = ::std::mem::transmute(val);
3647 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3648 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3649 0usize,
3650 4u8,
3651 val as u64,
3652 )
3653 }
3654 }
3655 #[inline]
3656 pub fn src_reg(&self) -> __u8 {
3657 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
3658 }
3659 #[inline]
3660 pub fn set_src_reg(&mut self, val: __u8) {
3661 unsafe {
3662 let val: u8 = ::std::mem::transmute(val);
3663 self._bitfield_1.set(4usize, 4u8, val as u64)
3664 }
3665 }
3666 #[inline]
3667 pub unsafe fn src_reg_raw(this: *const Self) -> __u8 {
3668 unsafe {
3669 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3670 ::std::ptr::addr_of!((*this)._bitfield_1),
3671 4usize,
3672 4u8,
3673 ) as u8)
3674 }
3675 }
3676 #[inline]
3677 pub unsafe fn set_src_reg_raw(this: *mut Self, val: __u8) {
3678 unsafe {
3679 let val: u8 = ::std::mem::transmute(val);
3680 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3681 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3682 4usize,
3683 4u8,
3684 val as u64,
3685 )
3686 }
3687 }
3688 #[inline]
3689 pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3690 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3691 __bindgen_bitfield_unit.set(0usize, 4u8, {
3692 let dst_reg: u8 = unsafe { ::std::mem::transmute(dst_reg) };
3693 dst_reg as u64
3694 });
3695 __bindgen_bitfield_unit.set(4usize, 4u8, {
3696 let src_reg: u8 = unsafe { ::std::mem::transmute(src_reg) };
3697 src_reg as u64
3698 });
3699 __bindgen_bitfield_unit
3700 }
3701}
3702#[repr(C)]
3703#[derive(Debug, Default)]
3704pub struct bpf_lpm_trie_key {
3705 pub prefixlen: __u32,
3706 pub data: __IncompleteArrayField<__u8>,
3707}
3708#[repr(C)]
3709#[derive(Debug, Default, Copy, Clone)]
3710pub struct bpf_lpm_trie_key_hdr {
3711 pub prefixlen: __u32,
3712}
3713#[repr(C)]
3714pub struct bpf_lpm_trie_key_u8 {
3715 pub __bindgen_anon_1: bpf_lpm_trie_key_u8__bindgen_ty_1,
3716 pub data: __IncompleteArrayField<__u8>,
3717}
3718#[repr(C)]
3719#[derive(Copy, Clone)]
3720pub union bpf_lpm_trie_key_u8__bindgen_ty_1 {
3721 pub hdr: bpf_lpm_trie_key_hdr,
3722 pub prefixlen: __u32,
3723}
3724impl Default for bpf_lpm_trie_key_u8__bindgen_ty_1 {
3725 fn default() -> Self {
3726 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3727 unsafe {
3728 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3729 s.assume_init()
3730 }
3731 }
3732}
3733impl Default for bpf_lpm_trie_key_u8 {
3734 fn default() -> Self {
3735 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3736 unsafe {
3737 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3738 s.assume_init()
3739 }
3740 }
3741}
3742#[repr(C)]
3743#[derive(Debug, Default, Copy, Clone)]
3744pub struct bpf_cgroup_storage_key {
3745 pub cgroup_inode_id: __u64,
3746 pub attach_type: __u32,
3747 pub __bindgen_padding_0: [u8; 4usize],
3748}
3749pub const BPF_CGROUP_ITER_ORDER_UNSPEC: bpf_cgroup_iter_order = 0;
3750pub const BPF_CGROUP_ITER_SELF_ONLY: bpf_cgroup_iter_order = 1;
3751pub const BPF_CGROUP_ITER_DESCENDANTS_PRE: bpf_cgroup_iter_order = 2;
3752pub const BPF_CGROUP_ITER_DESCENDANTS_POST: bpf_cgroup_iter_order = 3;
3753pub const BPF_CGROUP_ITER_ANCESTORS_UP: bpf_cgroup_iter_order = 4;
3754pub type bpf_cgroup_iter_order = ::std::os::raw::c_uint;
3755#[repr(C)]
3756#[derive(Copy, Clone)]
3757pub union bpf_iter_link_info {
3758 pub map: bpf_iter_link_info__bindgen_ty_1,
3759 pub cgroup: bpf_iter_link_info__bindgen_ty_2,
3760 pub task: bpf_iter_link_info__bindgen_ty_3,
3761}
3762#[repr(C)]
3763#[derive(Debug, Default, Copy, Clone)]
3764pub struct bpf_iter_link_info__bindgen_ty_1 {
3765 pub map_fd: __u32,
3766}
3767#[repr(C)]
3768#[derive(Debug, Copy, Clone)]
3769pub struct bpf_iter_link_info__bindgen_ty_2 {
3770 pub order: bpf_cgroup_iter_order,
3771 pub cgroup_fd: __u32,
3772 pub cgroup_id: __u64,
3773}
3774impl Default for bpf_iter_link_info__bindgen_ty_2 {
3775 fn default() -> Self {
3776 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3777 unsafe {
3778 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3779 s.assume_init()
3780 }
3781 }
3782}
3783#[repr(C)]
3784#[derive(Debug, Default, Copy, Clone)]
3785pub struct bpf_iter_link_info__bindgen_ty_3 {
3786 pub tid: __u32,
3787 pub pid: __u32,
3788 pub pid_fd: __u32,
3789}
3790impl Default for bpf_iter_link_info {
3791 fn default() -> Self {
3792 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3793 unsafe {
3794 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3795 s.assume_init()
3796 }
3797 }
3798}
3799pub const BPF_MAP_CREATE: bpf_cmd = 0;
3800pub const BPF_MAP_LOOKUP_ELEM: bpf_cmd = 1;
3801pub const BPF_MAP_UPDATE_ELEM: bpf_cmd = 2;
3802pub const BPF_MAP_DELETE_ELEM: bpf_cmd = 3;
3803pub const BPF_MAP_GET_NEXT_KEY: bpf_cmd = 4;
3804pub const BPF_PROG_LOAD: bpf_cmd = 5;
3805pub const BPF_OBJ_PIN: bpf_cmd = 6;
3806pub const BPF_OBJ_GET: bpf_cmd = 7;
3807pub const BPF_PROG_ATTACH: bpf_cmd = 8;
3808pub const BPF_PROG_DETACH: bpf_cmd = 9;
3809pub const BPF_PROG_TEST_RUN: bpf_cmd = 10;
3810pub const BPF_PROG_RUN: bpf_cmd = 10;
3811pub const BPF_PROG_GET_NEXT_ID: bpf_cmd = 11;
3812pub const BPF_MAP_GET_NEXT_ID: bpf_cmd = 12;
3813pub const BPF_PROG_GET_FD_BY_ID: bpf_cmd = 13;
3814pub const BPF_MAP_GET_FD_BY_ID: bpf_cmd = 14;
3815pub const BPF_OBJ_GET_INFO_BY_FD: bpf_cmd = 15;
3816pub const BPF_PROG_QUERY: bpf_cmd = 16;
3817pub const BPF_RAW_TRACEPOINT_OPEN: bpf_cmd = 17;
3818pub const BPF_BTF_LOAD: bpf_cmd = 18;
3819pub const BPF_BTF_GET_FD_BY_ID: bpf_cmd = 19;
3820pub const BPF_TASK_FD_QUERY: bpf_cmd = 20;
3821pub const BPF_MAP_LOOKUP_AND_DELETE_ELEM: bpf_cmd = 21;
3822pub const BPF_MAP_FREEZE: bpf_cmd = 22;
3823pub const BPF_BTF_GET_NEXT_ID: bpf_cmd = 23;
3824pub const BPF_MAP_LOOKUP_BATCH: bpf_cmd = 24;
3825pub const BPF_MAP_LOOKUP_AND_DELETE_BATCH: bpf_cmd = 25;
3826pub const BPF_MAP_UPDATE_BATCH: bpf_cmd = 26;
3827pub const BPF_MAP_DELETE_BATCH: bpf_cmd = 27;
3828pub const BPF_LINK_CREATE: bpf_cmd = 28;
3829pub const BPF_LINK_UPDATE: bpf_cmd = 29;
3830pub const BPF_LINK_GET_FD_BY_ID: bpf_cmd = 30;
3831pub const BPF_LINK_GET_NEXT_ID: bpf_cmd = 31;
3832pub const BPF_ENABLE_STATS: bpf_cmd = 32;
3833pub const BPF_ITER_CREATE: bpf_cmd = 33;
3834pub const BPF_LINK_DETACH: bpf_cmd = 34;
3835pub const BPF_PROG_BIND_MAP: bpf_cmd = 35;
3836pub const BPF_TOKEN_CREATE: bpf_cmd = 36;
3837pub const BPF_PROG_STREAM_READ_BY_FD: bpf_cmd = 37;
3838pub const __MAX_BPF_CMD: bpf_cmd = 38;
3839pub type bpf_cmd = ::std::os::raw::c_uint;
3840pub const BPF_MAP_TYPE_UNSPEC: bpf_map_type = 0;
3841pub const BPF_MAP_TYPE_HASH: bpf_map_type = 1;
3842pub const BPF_MAP_TYPE_ARRAY: bpf_map_type = 2;
3843pub const BPF_MAP_TYPE_PROG_ARRAY: bpf_map_type = 3;
3844pub const BPF_MAP_TYPE_PERF_EVENT_ARRAY: bpf_map_type = 4;
3845pub const BPF_MAP_TYPE_PERCPU_HASH: bpf_map_type = 5;
3846pub const BPF_MAP_TYPE_PERCPU_ARRAY: bpf_map_type = 6;
3847pub const BPF_MAP_TYPE_STACK_TRACE: bpf_map_type = 7;
3848pub const BPF_MAP_TYPE_CGROUP_ARRAY: bpf_map_type = 8;
3849pub const BPF_MAP_TYPE_LRU_HASH: bpf_map_type = 9;
3850pub const BPF_MAP_TYPE_LRU_PERCPU_HASH: bpf_map_type = 10;
3851pub const BPF_MAP_TYPE_LPM_TRIE: bpf_map_type = 11;
3852pub const BPF_MAP_TYPE_ARRAY_OF_MAPS: bpf_map_type = 12;
3853pub const BPF_MAP_TYPE_HASH_OF_MAPS: bpf_map_type = 13;
3854pub const BPF_MAP_TYPE_DEVMAP: bpf_map_type = 14;
3855pub const BPF_MAP_TYPE_SOCKMAP: bpf_map_type = 15;
3856pub const BPF_MAP_TYPE_CPUMAP: bpf_map_type = 16;
3857pub const BPF_MAP_TYPE_XSKMAP: bpf_map_type = 17;
3858pub const BPF_MAP_TYPE_SOCKHASH: bpf_map_type = 18;
3859pub const BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: bpf_map_type = 19;
3860pub const BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type = 19;
3861pub const BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: bpf_map_type = 20;
3862pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED: bpf_map_type = 21;
3863pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: bpf_map_type = 21;
3864pub const BPF_MAP_TYPE_QUEUE: bpf_map_type = 22;
3865pub const BPF_MAP_TYPE_STACK: bpf_map_type = 23;
3866pub const BPF_MAP_TYPE_SK_STORAGE: bpf_map_type = 24;
3867pub const BPF_MAP_TYPE_DEVMAP_HASH: bpf_map_type = 25;
3868pub const BPF_MAP_TYPE_STRUCT_OPS: bpf_map_type = 26;
3869pub const BPF_MAP_TYPE_RINGBUF: bpf_map_type = 27;
3870pub const BPF_MAP_TYPE_INODE_STORAGE: bpf_map_type = 28;
3871pub const BPF_MAP_TYPE_TASK_STORAGE: bpf_map_type = 29;
3872pub const BPF_MAP_TYPE_BLOOM_FILTER: bpf_map_type = 30;
3873pub const BPF_MAP_TYPE_USER_RINGBUF: bpf_map_type = 31;
3874pub const BPF_MAP_TYPE_CGRP_STORAGE: bpf_map_type = 32;
3875pub const BPF_MAP_TYPE_ARENA: bpf_map_type = 33;
3876pub const __MAX_BPF_MAP_TYPE: bpf_map_type = 34;
3877pub type bpf_map_type = ::std::os::raw::c_uint;
3878pub const BPF_PROG_TYPE_UNSPEC: bpf_prog_type = 0;
3879pub const BPF_PROG_TYPE_SOCKET_FILTER: bpf_prog_type = 1;
3880pub const BPF_PROG_TYPE_KPROBE: bpf_prog_type = 2;
3881pub const BPF_PROG_TYPE_SCHED_CLS: bpf_prog_type = 3;
3882pub const BPF_PROG_TYPE_SCHED_ACT: bpf_prog_type = 4;
3883pub const BPF_PROG_TYPE_TRACEPOINT: bpf_prog_type = 5;
3884pub const BPF_PROG_TYPE_XDP: bpf_prog_type = 6;
3885pub const BPF_PROG_TYPE_PERF_EVENT: bpf_prog_type = 7;
3886pub const BPF_PROG_TYPE_CGROUP_SKB: bpf_prog_type = 8;
3887pub const BPF_PROG_TYPE_CGROUP_SOCK: bpf_prog_type = 9;
3888pub const BPF_PROG_TYPE_LWT_IN: bpf_prog_type = 10;
3889pub const BPF_PROG_TYPE_LWT_OUT: bpf_prog_type = 11;
3890pub const BPF_PROG_TYPE_LWT_XMIT: bpf_prog_type = 12;
3891pub const BPF_PROG_TYPE_SOCK_OPS: bpf_prog_type = 13;
3892pub const BPF_PROG_TYPE_SK_SKB: bpf_prog_type = 14;
3893pub const BPF_PROG_TYPE_CGROUP_DEVICE: bpf_prog_type = 15;
3894pub const BPF_PROG_TYPE_SK_MSG: bpf_prog_type = 16;
3895pub const BPF_PROG_TYPE_RAW_TRACEPOINT: bpf_prog_type = 17;
3896pub const BPF_PROG_TYPE_CGROUP_SOCK_ADDR: bpf_prog_type = 18;
3897pub const BPF_PROG_TYPE_LWT_SEG6LOCAL: bpf_prog_type = 19;
3898pub const BPF_PROG_TYPE_LIRC_MODE2: bpf_prog_type = 20;
3899pub const BPF_PROG_TYPE_SK_REUSEPORT: bpf_prog_type = 21;
3900pub const BPF_PROG_TYPE_FLOW_DISSECTOR: bpf_prog_type = 22;
3901pub const BPF_PROG_TYPE_CGROUP_SYSCTL: bpf_prog_type = 23;
3902pub const BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: bpf_prog_type = 24;
3903pub const BPF_PROG_TYPE_CGROUP_SOCKOPT: bpf_prog_type = 25;
3904pub const BPF_PROG_TYPE_TRACING: bpf_prog_type = 26;
3905pub const BPF_PROG_TYPE_STRUCT_OPS: bpf_prog_type = 27;
3906pub const BPF_PROG_TYPE_EXT: bpf_prog_type = 28;
3907pub const BPF_PROG_TYPE_LSM: bpf_prog_type = 29;
3908pub const BPF_PROG_TYPE_SK_LOOKUP: bpf_prog_type = 30;
3909pub const BPF_PROG_TYPE_SYSCALL: bpf_prog_type = 31;
3910pub const BPF_PROG_TYPE_NETFILTER: bpf_prog_type = 32;
3911pub const __MAX_BPF_PROG_TYPE: bpf_prog_type = 33;
3912pub type bpf_prog_type = ::std::os::raw::c_uint;
3913pub const BPF_CGROUP_INET_INGRESS: bpf_attach_type = 0;
3914pub const BPF_CGROUP_INET_EGRESS: bpf_attach_type = 1;
3915pub const BPF_CGROUP_INET_SOCK_CREATE: bpf_attach_type = 2;
3916pub const BPF_CGROUP_SOCK_OPS: bpf_attach_type = 3;
3917pub const BPF_SK_SKB_STREAM_PARSER: bpf_attach_type = 4;
3918pub const BPF_SK_SKB_STREAM_VERDICT: bpf_attach_type = 5;
3919pub const BPF_CGROUP_DEVICE: bpf_attach_type = 6;
3920pub const BPF_SK_MSG_VERDICT: bpf_attach_type = 7;
3921pub const BPF_CGROUP_INET4_BIND: bpf_attach_type = 8;
3922pub const BPF_CGROUP_INET6_BIND: bpf_attach_type = 9;
3923pub const BPF_CGROUP_INET4_CONNECT: bpf_attach_type = 10;
3924pub const BPF_CGROUP_INET6_CONNECT: bpf_attach_type = 11;
3925pub const BPF_CGROUP_INET4_POST_BIND: bpf_attach_type = 12;
3926pub const BPF_CGROUP_INET6_POST_BIND: bpf_attach_type = 13;
3927pub const BPF_CGROUP_UDP4_SENDMSG: bpf_attach_type = 14;
3928pub const BPF_CGROUP_UDP6_SENDMSG: bpf_attach_type = 15;
3929pub const BPF_LIRC_MODE2: bpf_attach_type = 16;
3930pub const BPF_FLOW_DISSECTOR: bpf_attach_type = 17;
3931pub const BPF_CGROUP_SYSCTL: bpf_attach_type = 18;
3932pub const BPF_CGROUP_UDP4_RECVMSG: bpf_attach_type = 19;
3933pub const BPF_CGROUP_UDP6_RECVMSG: bpf_attach_type = 20;
3934pub const BPF_CGROUP_GETSOCKOPT: bpf_attach_type = 21;
3935pub const BPF_CGROUP_SETSOCKOPT: bpf_attach_type = 22;
3936pub const BPF_TRACE_RAW_TP: bpf_attach_type = 23;
3937pub const BPF_TRACE_FENTRY: bpf_attach_type = 24;
3938pub const BPF_TRACE_FEXIT: bpf_attach_type = 25;
3939pub const BPF_MODIFY_RETURN: bpf_attach_type = 26;
3940pub const BPF_LSM_MAC: bpf_attach_type = 27;
3941pub const BPF_TRACE_ITER: bpf_attach_type = 28;
3942pub const BPF_CGROUP_INET4_GETPEERNAME: bpf_attach_type = 29;
3943pub const BPF_CGROUP_INET6_GETPEERNAME: bpf_attach_type = 30;
3944pub const BPF_CGROUP_INET4_GETSOCKNAME: bpf_attach_type = 31;
3945pub const BPF_CGROUP_INET6_GETSOCKNAME: bpf_attach_type = 32;
3946pub const BPF_XDP_DEVMAP: bpf_attach_type = 33;
3947pub const BPF_CGROUP_INET_SOCK_RELEASE: bpf_attach_type = 34;
3948pub const BPF_XDP_CPUMAP: bpf_attach_type = 35;
3949pub const BPF_SK_LOOKUP: bpf_attach_type = 36;
3950pub const BPF_XDP: bpf_attach_type = 37;
3951pub const BPF_SK_SKB_VERDICT: bpf_attach_type = 38;
3952pub const BPF_SK_REUSEPORT_SELECT: bpf_attach_type = 39;
3953pub const BPF_SK_REUSEPORT_SELECT_OR_MIGRATE: bpf_attach_type = 40;
3954pub const BPF_PERF_EVENT: bpf_attach_type = 41;
3955pub const BPF_TRACE_KPROBE_MULTI: bpf_attach_type = 42;
3956pub const BPF_LSM_CGROUP: bpf_attach_type = 43;
3957pub const BPF_STRUCT_OPS: bpf_attach_type = 44;
3958pub const BPF_NETFILTER: bpf_attach_type = 45;
3959pub const BPF_TCX_INGRESS: bpf_attach_type = 46;
3960pub const BPF_TCX_EGRESS: bpf_attach_type = 47;
3961pub const BPF_TRACE_UPROBE_MULTI: bpf_attach_type = 48;
3962pub const BPF_CGROUP_UNIX_CONNECT: bpf_attach_type = 49;
3963pub const BPF_CGROUP_UNIX_SENDMSG: bpf_attach_type = 50;
3964pub const BPF_CGROUP_UNIX_RECVMSG: bpf_attach_type = 51;
3965pub const BPF_CGROUP_UNIX_GETPEERNAME: bpf_attach_type = 52;
3966pub const BPF_CGROUP_UNIX_GETSOCKNAME: bpf_attach_type = 53;
3967pub const BPF_NETKIT_PRIMARY: bpf_attach_type = 54;
3968pub const BPF_NETKIT_PEER: bpf_attach_type = 55;
3969pub const BPF_TRACE_KPROBE_SESSION: bpf_attach_type = 56;
3970pub const BPF_TRACE_UPROBE_SESSION: bpf_attach_type = 57;
3971pub const __MAX_BPF_ATTACH_TYPE: bpf_attach_type = 58;
3972pub type bpf_attach_type = ::std::os::raw::c_uint;
3973pub const BPF_LINK_TYPE_UNSPEC: bpf_link_type = 0;
3974pub const BPF_LINK_TYPE_RAW_TRACEPOINT: bpf_link_type = 1;
3975pub const BPF_LINK_TYPE_TRACING: bpf_link_type = 2;
3976pub const BPF_LINK_TYPE_CGROUP: bpf_link_type = 3;
3977pub const BPF_LINK_TYPE_ITER: bpf_link_type = 4;
3978pub const BPF_LINK_TYPE_NETNS: bpf_link_type = 5;
3979pub const BPF_LINK_TYPE_XDP: bpf_link_type = 6;
3980pub const BPF_LINK_TYPE_PERF_EVENT: bpf_link_type = 7;
3981pub const BPF_LINK_TYPE_KPROBE_MULTI: bpf_link_type = 8;
3982pub const BPF_LINK_TYPE_STRUCT_OPS: bpf_link_type = 9;
3983pub const BPF_LINK_TYPE_NETFILTER: bpf_link_type = 10;
3984pub const BPF_LINK_TYPE_TCX: bpf_link_type = 11;
3985pub const BPF_LINK_TYPE_UPROBE_MULTI: bpf_link_type = 12;
3986pub const BPF_LINK_TYPE_NETKIT: bpf_link_type = 13;
3987pub const BPF_LINK_TYPE_SOCKMAP: bpf_link_type = 14;
3988pub const __MAX_BPF_LINK_TYPE: bpf_link_type = 15;
3989pub type bpf_link_type = ::std::os::raw::c_uint;
3990pub const BPF_PERF_EVENT_UNSPEC: bpf_perf_event_type = 0;
3991pub const BPF_PERF_EVENT_UPROBE: bpf_perf_event_type = 1;
3992pub const BPF_PERF_EVENT_URETPROBE: bpf_perf_event_type = 2;
3993pub const BPF_PERF_EVENT_KPROBE: bpf_perf_event_type = 3;
3994pub const BPF_PERF_EVENT_KRETPROBE: bpf_perf_event_type = 4;
3995pub const BPF_PERF_EVENT_TRACEPOINT: bpf_perf_event_type = 5;
3996pub const BPF_PERF_EVENT_EVENT: bpf_perf_event_type = 6;
3997pub type bpf_perf_event_type = ::std::os::raw::c_uint;
3998pub const BPF_F_KPROBE_MULTI_RETURN: _bindgen_ty_62 = 1;
3999pub type _bindgen_ty_62 = ::std::os::raw::c_uint;
4000pub const BPF_F_UPROBE_MULTI_RETURN: _bindgen_ty_63 = 1;
4001pub type _bindgen_ty_63 = ::std::os::raw::c_uint;
4002pub const BPF_ADDR_SPACE_CAST: bpf_addr_space_cast = 1;
4003pub type bpf_addr_space_cast = ::std::os::raw::c_uint;
4004pub const BPF_ANY: _bindgen_ty_64 = 0;
4005pub const BPF_NOEXIST: _bindgen_ty_64 = 1;
4006pub const BPF_EXIST: _bindgen_ty_64 = 2;
4007pub const BPF_F_LOCK: _bindgen_ty_64 = 4;
4008pub type _bindgen_ty_64 = ::std::os::raw::c_uint;
4009pub const BPF_F_NO_PREALLOC: _bindgen_ty_65 = 1;
4010pub const BPF_F_NO_COMMON_LRU: _bindgen_ty_65 = 2;
4011pub const BPF_F_NUMA_NODE: _bindgen_ty_65 = 4;
4012pub const BPF_F_RDONLY: _bindgen_ty_65 = 8;
4013pub const BPF_F_WRONLY: _bindgen_ty_65 = 16;
4014pub const BPF_F_STACK_BUILD_ID: _bindgen_ty_65 = 32;
4015pub const BPF_F_ZERO_SEED: _bindgen_ty_65 = 64;
4016pub const BPF_F_RDONLY_PROG: _bindgen_ty_65 = 128;
4017pub const BPF_F_WRONLY_PROG: _bindgen_ty_65 = 256;
4018pub const BPF_F_CLONE: _bindgen_ty_65 = 512;
4019pub const BPF_F_MMAPABLE: _bindgen_ty_65 = 1024;
4020pub const BPF_F_PRESERVE_ELEMS: _bindgen_ty_65 = 2048;
4021pub const BPF_F_INNER_MAP: _bindgen_ty_65 = 4096;
4022pub const BPF_F_LINK: _bindgen_ty_65 = 8192;
4023pub const BPF_F_PATH_FD: _bindgen_ty_65 = 16384;
4024pub const BPF_F_VTYPE_BTF_OBJ_FD: _bindgen_ty_65 = 32768;
4025pub const BPF_F_TOKEN_FD: _bindgen_ty_65 = 65536;
4026pub const BPF_F_SEGV_ON_FAULT: _bindgen_ty_65 = 131072;
4027pub const BPF_F_NO_USER_CONV: _bindgen_ty_65 = 262144;
4028pub type _bindgen_ty_65 = ::std::os::raw::c_uint;
4029pub const BPF_STATS_RUN_TIME: bpf_stats_type = 0;
4030pub type bpf_stats_type = ::std::os::raw::c_uint;
4031pub const BPF_STACK_BUILD_ID_EMPTY: bpf_stack_build_id_status = 0;
4032pub const BPF_STACK_BUILD_ID_VALID: bpf_stack_build_id_status = 1;
4033pub const BPF_STACK_BUILD_ID_IP: bpf_stack_build_id_status = 2;
4034pub type bpf_stack_build_id_status = ::std::os::raw::c_uint;
4035#[repr(C)]
4036#[derive(Copy, Clone)]
4037pub struct bpf_stack_build_id {
4038 pub status: __s32,
4039 pub build_id: [::std::os::raw::c_uchar; 20usize],
4040 pub __bindgen_anon_1: bpf_stack_build_id__bindgen_ty_1,
4041}
4042#[repr(C)]
4043#[derive(Copy, Clone)]
4044pub union bpf_stack_build_id__bindgen_ty_1 {
4045 pub offset: __u64,
4046 pub ip: __u64,
4047}
4048impl Default for bpf_stack_build_id__bindgen_ty_1 {
4049 fn default() -> Self {
4050 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4051 unsafe {
4052 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4053 s.assume_init()
4054 }
4055 }
4056}
4057impl Default for bpf_stack_build_id {
4058 fn default() -> Self {
4059 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4060 unsafe {
4061 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4062 s.assume_init()
4063 }
4064 }
4065}
4066pub const BPF_STREAM_STDOUT: _bindgen_ty_66 = 1;
4067pub const BPF_STREAM_STDERR: _bindgen_ty_66 = 2;
4068pub type _bindgen_ty_66 = ::std::os::raw::c_uint;
4069#[repr(C)]
4070#[derive(Copy, Clone)]
4071pub union bpf_attr {
4072 pub __bindgen_anon_1: bpf_attr__bindgen_ty_1,
4073 pub __bindgen_anon_2: bpf_attr__bindgen_ty_2,
4074 pub batch: bpf_attr__bindgen_ty_3,
4075 pub __bindgen_anon_3: bpf_attr__bindgen_ty_4,
4076 pub __bindgen_anon_4: bpf_attr__bindgen_ty_5,
4077 pub __bindgen_anon_5: bpf_attr__bindgen_ty_6,
4078 pub test: bpf_attr__bindgen_ty_7,
4079 pub __bindgen_anon_6: bpf_attr__bindgen_ty_8,
4080 pub info: bpf_attr__bindgen_ty_9,
4081 pub query: bpf_attr__bindgen_ty_10,
4082 pub raw_tracepoint: bpf_attr__bindgen_ty_11,
4083 pub __bindgen_anon_7: bpf_attr__bindgen_ty_12,
4084 pub task_fd_query: bpf_attr__bindgen_ty_13,
4085 pub link_create: bpf_attr__bindgen_ty_14,
4086 pub link_update: bpf_attr__bindgen_ty_15,
4087 pub link_detach: bpf_attr__bindgen_ty_16,
4088 pub enable_stats: bpf_attr__bindgen_ty_17,
4089 pub iter_create: bpf_attr__bindgen_ty_18,
4090 pub prog_bind_map: bpf_attr__bindgen_ty_19,
4091 pub token_create: bpf_attr__bindgen_ty_20,
4092 pub prog_stream_read: bpf_attr__bindgen_ty_21,
4093}
4094#[repr(C)]
4095#[derive(Debug, Default, Copy, Clone)]
4096pub struct bpf_attr__bindgen_ty_1 {
4097 pub map_type: __u32,
4098 pub key_size: __u32,
4099 pub value_size: __u32,
4100 pub max_entries: __u32,
4101 pub map_flags: __u32,
4102 pub inner_map_fd: __u32,
4103 pub numa_node: __u32,
4104 pub map_name: [::std::os::raw::c_char; 16usize],
4105 pub map_ifindex: __u32,
4106 pub btf_fd: __u32,
4107 pub btf_key_type_id: __u32,
4108 pub btf_value_type_id: __u32,
4109 pub btf_vmlinux_value_type_id: __u32,
4110 pub map_extra: __u64,
4111 pub value_type_btf_obj_fd: __s32,
4112 pub map_token_fd: __s32,
4113}
4114#[repr(C)]
4115#[derive(Copy, Clone)]
4116pub struct bpf_attr__bindgen_ty_2 {
4117 pub map_fd: __u32,
4118 pub __bindgen_padding_0: [u8; 4usize],
4119 pub key: __u64,
4120 pub __bindgen_anon_1: bpf_attr__bindgen_ty_2__bindgen_ty_1,
4121 pub flags: __u64,
4122}
4123#[repr(C)]
4124#[derive(Copy, Clone)]
4125pub union bpf_attr__bindgen_ty_2__bindgen_ty_1 {
4126 pub value: __u64,
4127 pub next_key: __u64,
4128}
4129impl Default for bpf_attr__bindgen_ty_2__bindgen_ty_1 {
4130 fn default() -> Self {
4131 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4132 unsafe {
4133 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4134 s.assume_init()
4135 }
4136 }
4137}
4138impl Default for bpf_attr__bindgen_ty_2 {
4139 fn default() -> Self {
4140 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4141 unsafe {
4142 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4143 s.assume_init()
4144 }
4145 }
4146}
4147#[repr(C)]
4148#[derive(Debug, Default, Copy, Clone)]
4149pub struct bpf_attr__bindgen_ty_3 {
4150 pub in_batch: __u64,
4151 pub out_batch: __u64,
4152 pub keys: __u64,
4153 pub values: __u64,
4154 pub count: __u32,
4155 pub map_fd: __u32,
4156 pub elem_flags: __u64,
4157 pub flags: __u64,
4158}
4159#[repr(C)]
4160#[derive(Copy, Clone)]
4161pub struct bpf_attr__bindgen_ty_4 {
4162 pub prog_type: __u32,
4163 pub insn_cnt: __u32,
4164 pub insns: __u64,
4165 pub license: __u64,
4166 pub log_level: __u32,
4167 pub log_size: __u32,
4168 pub log_buf: __u64,
4169 pub kern_version: __u32,
4170 pub prog_flags: __u32,
4171 pub prog_name: [::std::os::raw::c_char; 16usize],
4172 pub prog_ifindex: __u32,
4173 pub expected_attach_type: __u32,
4174 pub prog_btf_fd: __u32,
4175 pub func_info_rec_size: __u32,
4176 pub func_info: __u64,
4177 pub func_info_cnt: __u32,
4178 pub line_info_rec_size: __u32,
4179 pub line_info: __u64,
4180 pub line_info_cnt: __u32,
4181 pub attach_btf_id: __u32,
4182 pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1,
4183 pub core_relo_cnt: __u32,
4184 pub fd_array: __u64,
4185 pub core_relos: __u64,
4186 pub core_relo_rec_size: __u32,
4187 pub log_true_size: __u32,
4188 pub prog_token_fd: __s32,
4189 pub fd_array_cnt: __u32,
4190}
4191#[repr(C)]
4192#[derive(Copy, Clone)]
4193pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 {
4194 pub attach_prog_fd: __u32,
4195 pub attach_btf_obj_fd: __u32,
4196}
4197impl Default for bpf_attr__bindgen_ty_4__bindgen_ty_1 {
4198 fn default() -> Self {
4199 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4200 unsafe {
4201 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4202 s.assume_init()
4203 }
4204 }
4205}
4206impl Default for bpf_attr__bindgen_ty_4 {
4207 fn default() -> Self {
4208 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4209 unsafe {
4210 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4211 s.assume_init()
4212 }
4213 }
4214}
4215#[repr(C)]
4216#[derive(Debug, Default, Copy, Clone)]
4217pub struct bpf_attr__bindgen_ty_5 {
4218 pub pathname: __u64,
4219 pub bpf_fd: __u32,
4220 pub file_flags: __u32,
4221 pub path_fd: __s32,
4222 pub __bindgen_padding_0: [u8; 4usize],
4223}
4224#[repr(C)]
4225#[derive(Copy, Clone)]
4226pub struct bpf_attr__bindgen_ty_6 {
4227 pub __bindgen_anon_1: bpf_attr__bindgen_ty_6__bindgen_ty_1,
4228 pub attach_bpf_fd: __u32,
4229 pub attach_type: __u32,
4230 pub attach_flags: __u32,
4231 pub replace_bpf_fd: __u32,
4232 pub __bindgen_anon_2: bpf_attr__bindgen_ty_6__bindgen_ty_2,
4233 pub expected_revision: __u64,
4234}
4235#[repr(C)]
4236#[derive(Copy, Clone)]
4237pub union bpf_attr__bindgen_ty_6__bindgen_ty_1 {
4238 pub target_fd: __u32,
4239 pub target_ifindex: __u32,
4240}
4241impl Default for bpf_attr__bindgen_ty_6__bindgen_ty_1 {
4242 fn default() -> Self {
4243 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4244 unsafe {
4245 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4246 s.assume_init()
4247 }
4248 }
4249}
4250#[repr(C)]
4251#[derive(Copy, Clone)]
4252pub union bpf_attr__bindgen_ty_6__bindgen_ty_2 {
4253 pub relative_fd: __u32,
4254 pub relative_id: __u32,
4255}
4256impl Default for bpf_attr__bindgen_ty_6__bindgen_ty_2 {
4257 fn default() -> Self {
4258 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4259 unsafe {
4260 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4261 s.assume_init()
4262 }
4263 }
4264}
4265impl Default for bpf_attr__bindgen_ty_6 {
4266 fn default() -> Self {
4267 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4268 unsafe {
4269 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4270 s.assume_init()
4271 }
4272 }
4273}
4274#[repr(C)]
4275#[derive(Debug, Default, Copy, Clone)]
4276pub struct bpf_attr__bindgen_ty_7 {
4277 pub prog_fd: __u32,
4278 pub retval: __u32,
4279 pub data_size_in: __u32,
4280 pub data_size_out: __u32,
4281 pub data_in: __u64,
4282 pub data_out: __u64,
4283 pub repeat: __u32,
4284 pub duration: __u32,
4285 pub ctx_size_in: __u32,
4286 pub ctx_size_out: __u32,
4287 pub ctx_in: __u64,
4288 pub ctx_out: __u64,
4289 pub flags: __u32,
4290 pub cpu: __u32,
4291 pub batch_size: __u32,
4292 pub __bindgen_padding_0: [u8; 4usize],
4293}
4294#[repr(C)]
4295#[derive(Copy, Clone)]
4296pub struct bpf_attr__bindgen_ty_8 {
4297 pub __bindgen_anon_1: bpf_attr__bindgen_ty_8__bindgen_ty_1,
4298 pub next_id: __u32,
4299 pub open_flags: __u32,
4300 pub fd_by_id_token_fd: __s32,
4301}
4302#[repr(C)]
4303#[derive(Copy, Clone)]
4304pub union bpf_attr__bindgen_ty_8__bindgen_ty_1 {
4305 pub start_id: __u32,
4306 pub prog_id: __u32,
4307 pub map_id: __u32,
4308 pub btf_id: __u32,
4309 pub link_id: __u32,
4310}
4311impl Default for bpf_attr__bindgen_ty_8__bindgen_ty_1 {
4312 fn default() -> Self {
4313 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4314 unsafe {
4315 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4316 s.assume_init()
4317 }
4318 }
4319}
4320impl Default for bpf_attr__bindgen_ty_8 {
4321 fn default() -> Self {
4322 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4323 unsafe {
4324 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4325 s.assume_init()
4326 }
4327 }
4328}
4329#[repr(C)]
4330#[derive(Debug, Default, Copy, Clone)]
4331pub struct bpf_attr__bindgen_ty_9 {
4332 pub bpf_fd: __u32,
4333 pub info_len: __u32,
4334 pub info: __u64,
4335}
4336#[repr(C)]
4337#[derive(Copy, Clone)]
4338pub struct bpf_attr__bindgen_ty_10 {
4339 pub __bindgen_anon_1: bpf_attr__bindgen_ty_10__bindgen_ty_1,
4340 pub attach_type: __u32,
4341 pub query_flags: __u32,
4342 pub attach_flags: __u32,
4343 pub prog_ids: __u64,
4344 pub __bindgen_anon_2: bpf_attr__bindgen_ty_10__bindgen_ty_2,
4345 pub _bitfield_align_1: [u8; 0],
4346 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
4347 pub prog_attach_flags: __u64,
4348 pub link_ids: __u64,
4349 pub link_attach_flags: __u64,
4350 pub revision: __u64,
4351}
4352#[repr(C)]
4353#[derive(Copy, Clone)]
4354pub union bpf_attr__bindgen_ty_10__bindgen_ty_1 {
4355 pub target_fd: __u32,
4356 pub target_ifindex: __u32,
4357}
4358impl Default for bpf_attr__bindgen_ty_10__bindgen_ty_1 {
4359 fn default() -> Self {
4360 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4361 unsafe {
4362 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4363 s.assume_init()
4364 }
4365 }
4366}
4367#[repr(C)]
4368#[derive(Copy, Clone)]
4369pub union bpf_attr__bindgen_ty_10__bindgen_ty_2 {
4370 pub prog_cnt: __u32,
4371 pub count: __u32,
4372}
4373impl Default for bpf_attr__bindgen_ty_10__bindgen_ty_2 {
4374 fn default() -> Self {
4375 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4376 unsafe {
4377 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4378 s.assume_init()
4379 }
4380 }
4381}
4382impl Default for bpf_attr__bindgen_ty_10 {
4383 fn default() -> Self {
4384 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4385 unsafe {
4386 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4387 s.assume_init()
4388 }
4389 }
4390}
4391impl bpf_attr__bindgen_ty_10 {
4392 #[inline]
4393 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
4394 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
4395 __bindgen_bitfield_unit
4396 }
4397}
4398#[repr(C)]
4399#[derive(Debug, Default, Copy, Clone)]
4400pub struct bpf_attr__bindgen_ty_11 {
4401 pub name: __u64,
4402 pub prog_fd: __u32,
4403 pub _bitfield_align_1: [u8; 0],
4404 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
4405 pub cookie: __u64,
4406}
4407impl bpf_attr__bindgen_ty_11 {
4408 #[inline]
4409 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
4410 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
4411 __bindgen_bitfield_unit
4412 }
4413}
4414#[repr(C)]
4415#[derive(Debug, Default, Copy, Clone)]
4416pub struct bpf_attr__bindgen_ty_12 {
4417 pub btf: __u64,
4418 pub btf_log_buf: __u64,
4419 pub btf_size: __u32,
4420 pub btf_log_size: __u32,
4421 pub btf_log_level: __u32,
4422 pub btf_log_true_size: __u32,
4423 pub btf_flags: __u32,
4424 pub btf_token_fd: __s32,
4425}
4426#[repr(C)]
4427#[derive(Debug, Default, Copy, Clone)]
4428pub struct bpf_attr__bindgen_ty_13 {
4429 pub pid: __u32,
4430 pub fd: __u32,
4431 pub flags: __u32,
4432 pub buf_len: __u32,
4433 pub buf: __u64,
4434 pub prog_id: __u32,
4435 pub fd_type: __u32,
4436 pub probe_offset: __u64,
4437 pub probe_addr: __u64,
4438}
4439#[repr(C)]
4440#[derive(Copy, Clone)]
4441pub struct bpf_attr__bindgen_ty_14 {
4442 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_1,
4443 pub __bindgen_anon_2: bpf_attr__bindgen_ty_14__bindgen_ty_2,
4444 pub attach_type: __u32,
4445 pub flags: __u32,
4446 pub __bindgen_anon_3: bpf_attr__bindgen_ty_14__bindgen_ty_3,
4447}
4448#[repr(C)]
4449#[derive(Copy, Clone)]
4450pub union bpf_attr__bindgen_ty_14__bindgen_ty_1 {
4451 pub prog_fd: __u32,
4452 pub map_fd: __u32,
4453}
4454impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_1 {
4455 fn default() -> Self {
4456 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4457 unsafe {
4458 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4459 s.assume_init()
4460 }
4461 }
4462}
4463#[repr(C)]
4464#[derive(Copy, Clone)]
4465pub union bpf_attr__bindgen_ty_14__bindgen_ty_2 {
4466 pub target_fd: __u32,
4467 pub target_ifindex: __u32,
4468}
4469impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_2 {
4470 fn default() -> Self {
4471 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4472 unsafe {
4473 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4474 s.assume_init()
4475 }
4476 }
4477}
4478#[repr(C)]
4479#[derive(Copy, Clone)]
4480pub union bpf_attr__bindgen_ty_14__bindgen_ty_3 {
4481 pub target_btf_id: __u32,
4482 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1,
4483 pub perf_event: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2,
4484 pub kprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3,
4485 pub tracing: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4,
4486 pub netfilter: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5,
4487 pub tcx: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6,
4488 pub uprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7,
4489 pub netkit: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8,
4490 pub cgroup: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_9,
4491}
4492#[repr(C)]
4493#[derive(Debug, Default, Copy, Clone)]
4494pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1 {
4495 pub iter_info: __u64,
4496 pub iter_info_len: __u32,
4497 pub __bindgen_padding_0: [u8; 4usize],
4498}
4499#[repr(C)]
4500#[derive(Debug, Default, Copy, Clone)]
4501pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2 {
4502 pub bpf_cookie: __u64,
4503}
4504#[repr(C)]
4505#[derive(Debug, Default, Copy, Clone)]
4506pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3 {
4507 pub flags: __u32,
4508 pub cnt: __u32,
4509 pub syms: __u64,
4510 pub addrs: __u64,
4511 pub cookies: __u64,
4512}
4513#[repr(C)]
4514#[derive(Debug, Default, Copy, Clone)]
4515pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4 {
4516 pub target_btf_id: __u32,
4517 pub __bindgen_padding_0: [u8; 4usize],
4518 pub cookie: __u64,
4519}
4520#[repr(C)]
4521#[derive(Debug, Default, Copy, Clone)]
4522pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5 {
4523 pub pf: __u32,
4524 pub hooknum: __u32,
4525 pub priority: __s32,
4526 pub flags: __u32,
4527}
4528#[repr(C)]
4529#[derive(Copy, Clone)]
4530pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6 {
4531 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1,
4532 pub __bindgen_padding_0: [u8; 4usize],
4533 pub expected_revision: __u64,
4534}
4535#[repr(C)]
4536#[derive(Copy, Clone)]
4537pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 {
4538 pub relative_fd: __u32,
4539 pub relative_id: __u32,
4540}
4541impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 {
4542 fn default() -> Self {
4543 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4544 unsafe {
4545 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4546 s.assume_init()
4547 }
4548 }
4549}
4550impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6 {
4551 fn default() -> Self {
4552 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4553 unsafe {
4554 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4555 s.assume_init()
4556 }
4557 }
4558}
4559#[repr(C)]
4560#[derive(Debug, Default, Copy, Clone)]
4561pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7 {
4562 pub path: __u64,
4563 pub offsets: __u64,
4564 pub ref_ctr_offsets: __u64,
4565 pub cookies: __u64,
4566 pub cnt: __u32,
4567 pub flags: __u32,
4568 pub pid: __u32,
4569 pub __bindgen_padding_0: [u8; 4usize],
4570}
4571#[repr(C)]
4572#[derive(Copy, Clone)]
4573pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8 {
4574 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1,
4575 pub __bindgen_padding_0: [u8; 4usize],
4576 pub expected_revision: __u64,
4577}
4578#[repr(C)]
4579#[derive(Copy, Clone)]
4580pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 {
4581 pub relative_fd: __u32,
4582 pub relative_id: __u32,
4583}
4584impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 {
4585 fn default() -> Self {
4586 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4587 unsafe {
4588 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4589 s.assume_init()
4590 }
4591 }
4592}
4593impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8 {
4594 fn default() -> Self {
4595 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4596 unsafe {
4597 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4598 s.assume_init()
4599 }
4600 }
4601}
4602#[repr(C)]
4603#[derive(Copy, Clone)]
4604pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_9 {
4605 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_9__bindgen_ty_1,
4606 pub __bindgen_padding_0: [u8; 4usize],
4607 pub expected_revision: __u64,
4608}
4609#[repr(C)]
4610#[derive(Copy, Clone)]
4611pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_9__bindgen_ty_1 {
4612 pub relative_fd: __u32,
4613 pub relative_id: __u32,
4614}
4615impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_9__bindgen_ty_1 {
4616 fn default() -> Self {
4617 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4618 unsafe {
4619 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4620 s.assume_init()
4621 }
4622 }
4623}
4624impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_9 {
4625 fn default() -> Self {
4626 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4627 unsafe {
4628 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4629 s.assume_init()
4630 }
4631 }
4632}
4633impl Default for bpf_attr__bindgen_ty_14__bindgen_ty_3 {
4634 fn default() -> Self {
4635 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4636 unsafe {
4637 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4638 s.assume_init()
4639 }
4640 }
4641}
4642impl Default for bpf_attr__bindgen_ty_14 {
4643 fn default() -> Self {
4644 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4645 unsafe {
4646 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4647 s.assume_init()
4648 }
4649 }
4650}
4651#[repr(C)]
4652#[derive(Copy, Clone)]
4653pub struct bpf_attr__bindgen_ty_15 {
4654 pub link_fd: __u32,
4655 pub __bindgen_anon_1: bpf_attr__bindgen_ty_15__bindgen_ty_1,
4656 pub flags: __u32,
4657 pub __bindgen_anon_2: bpf_attr__bindgen_ty_15__bindgen_ty_2,
4658}
4659#[repr(C)]
4660#[derive(Copy, Clone)]
4661pub union bpf_attr__bindgen_ty_15__bindgen_ty_1 {
4662 pub new_prog_fd: __u32,
4663 pub new_map_fd: __u32,
4664}
4665impl Default for bpf_attr__bindgen_ty_15__bindgen_ty_1 {
4666 fn default() -> Self {
4667 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4668 unsafe {
4669 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4670 s.assume_init()
4671 }
4672 }
4673}
4674#[repr(C)]
4675#[derive(Copy, Clone)]
4676pub union bpf_attr__bindgen_ty_15__bindgen_ty_2 {
4677 pub old_prog_fd: __u32,
4678 pub old_map_fd: __u32,
4679}
4680impl Default for bpf_attr__bindgen_ty_15__bindgen_ty_2 {
4681 fn default() -> Self {
4682 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4683 unsafe {
4684 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4685 s.assume_init()
4686 }
4687 }
4688}
4689impl Default for bpf_attr__bindgen_ty_15 {
4690 fn default() -> Self {
4691 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4692 unsafe {
4693 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4694 s.assume_init()
4695 }
4696 }
4697}
4698#[repr(C)]
4699#[derive(Debug, Default, Copy, Clone)]
4700pub struct bpf_attr__bindgen_ty_16 {
4701 pub link_fd: __u32,
4702}
4703#[repr(C)]
4704#[derive(Debug, Default, Copy, Clone)]
4705pub struct bpf_attr__bindgen_ty_17 {
4706 pub type_: __u32,
4707}
4708#[repr(C)]
4709#[derive(Debug, Default, Copy, Clone)]
4710pub struct bpf_attr__bindgen_ty_18 {
4711 pub link_fd: __u32,
4712 pub flags: __u32,
4713}
4714#[repr(C)]
4715#[derive(Debug, Default, Copy, Clone)]
4716pub struct bpf_attr__bindgen_ty_19 {
4717 pub prog_fd: __u32,
4718 pub map_fd: __u32,
4719 pub flags: __u32,
4720}
4721#[repr(C)]
4722#[derive(Debug, Default, Copy, Clone)]
4723pub struct bpf_attr__bindgen_ty_20 {
4724 pub flags: __u32,
4725 pub bpffs_fd: __u32,
4726}
4727#[repr(C)]
4728#[derive(Debug, Default, Copy, Clone)]
4729pub struct bpf_attr__bindgen_ty_21 {
4730 pub stream_buf: __u64,
4731 pub stream_buf_len: __u32,
4732 pub stream_id: __u32,
4733 pub prog_fd: __u32,
4734 pub __bindgen_padding_0: [u8; 4usize],
4735}
4736impl Default for bpf_attr {
4737 fn default() -> Self {
4738 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4739 unsafe {
4740 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4741 s.assume_init()
4742 }
4743 }
4744}
4745pub const BPF_FUNC_unspec: bpf_func_id = 0;
4746pub const BPF_FUNC_map_lookup_elem: bpf_func_id = 1;
4747pub const BPF_FUNC_map_update_elem: bpf_func_id = 2;
4748pub const BPF_FUNC_map_delete_elem: bpf_func_id = 3;
4749pub const BPF_FUNC_probe_read: bpf_func_id = 4;
4750pub const BPF_FUNC_ktime_get_ns: bpf_func_id = 5;
4751pub const BPF_FUNC_trace_printk: bpf_func_id = 6;
4752pub const BPF_FUNC_get_prandom_u32: bpf_func_id = 7;
4753pub const BPF_FUNC_get_smp_processor_id: bpf_func_id = 8;
4754pub const BPF_FUNC_skb_store_bytes: bpf_func_id = 9;
4755pub const BPF_FUNC_l3_csum_replace: bpf_func_id = 10;
4756pub const BPF_FUNC_l4_csum_replace: bpf_func_id = 11;
4757pub const BPF_FUNC_tail_call: bpf_func_id = 12;
4758pub const BPF_FUNC_clone_redirect: bpf_func_id = 13;
4759pub const BPF_FUNC_get_current_pid_tgid: bpf_func_id = 14;
4760pub const BPF_FUNC_get_current_uid_gid: bpf_func_id = 15;
4761pub const BPF_FUNC_get_current_comm: bpf_func_id = 16;
4762pub const BPF_FUNC_get_cgroup_classid: bpf_func_id = 17;
4763pub const BPF_FUNC_skb_vlan_push: bpf_func_id = 18;
4764pub const BPF_FUNC_skb_vlan_pop: bpf_func_id = 19;
4765pub const BPF_FUNC_skb_get_tunnel_key: bpf_func_id = 20;
4766pub const BPF_FUNC_skb_set_tunnel_key: bpf_func_id = 21;
4767pub const BPF_FUNC_perf_event_read: bpf_func_id = 22;
4768pub const BPF_FUNC_redirect: bpf_func_id = 23;
4769pub const BPF_FUNC_get_route_realm: bpf_func_id = 24;
4770pub const BPF_FUNC_perf_event_output: bpf_func_id = 25;
4771pub const BPF_FUNC_skb_load_bytes: bpf_func_id = 26;
4772pub const BPF_FUNC_get_stackid: bpf_func_id = 27;
4773pub const BPF_FUNC_csum_diff: bpf_func_id = 28;
4774pub const BPF_FUNC_skb_get_tunnel_opt: bpf_func_id = 29;
4775pub const BPF_FUNC_skb_set_tunnel_opt: bpf_func_id = 30;
4776pub const BPF_FUNC_skb_change_proto: bpf_func_id = 31;
4777pub const BPF_FUNC_skb_change_type: bpf_func_id = 32;
4778pub const BPF_FUNC_skb_under_cgroup: bpf_func_id = 33;
4779pub const BPF_FUNC_get_hash_recalc: bpf_func_id = 34;
4780pub const BPF_FUNC_get_current_task: bpf_func_id = 35;
4781pub const BPF_FUNC_probe_write_user: bpf_func_id = 36;
4782pub const BPF_FUNC_current_task_under_cgroup: bpf_func_id = 37;
4783pub const BPF_FUNC_skb_change_tail: bpf_func_id = 38;
4784pub const BPF_FUNC_skb_pull_data: bpf_func_id = 39;
4785pub const BPF_FUNC_csum_update: bpf_func_id = 40;
4786pub const BPF_FUNC_set_hash_invalid: bpf_func_id = 41;
4787pub const BPF_FUNC_get_numa_node_id: bpf_func_id = 42;
4788pub const BPF_FUNC_skb_change_head: bpf_func_id = 43;
4789pub const BPF_FUNC_xdp_adjust_head: bpf_func_id = 44;
4790pub const BPF_FUNC_probe_read_str: bpf_func_id = 45;
4791pub const BPF_FUNC_get_socket_cookie: bpf_func_id = 46;
4792pub const BPF_FUNC_get_socket_uid: bpf_func_id = 47;
4793pub const BPF_FUNC_set_hash: bpf_func_id = 48;
4794pub const BPF_FUNC_setsockopt: bpf_func_id = 49;
4795pub const BPF_FUNC_skb_adjust_room: bpf_func_id = 50;
4796pub const BPF_FUNC_redirect_map: bpf_func_id = 51;
4797pub const BPF_FUNC_sk_redirect_map: bpf_func_id = 52;
4798pub const BPF_FUNC_sock_map_update: bpf_func_id = 53;
4799pub const BPF_FUNC_xdp_adjust_meta: bpf_func_id = 54;
4800pub const BPF_FUNC_perf_event_read_value: bpf_func_id = 55;
4801pub const BPF_FUNC_perf_prog_read_value: bpf_func_id = 56;
4802pub const BPF_FUNC_getsockopt: bpf_func_id = 57;
4803pub const BPF_FUNC_override_return: bpf_func_id = 58;
4804pub const BPF_FUNC_sock_ops_cb_flags_set: bpf_func_id = 59;
4805pub const BPF_FUNC_msg_redirect_map: bpf_func_id = 60;
4806pub const BPF_FUNC_msg_apply_bytes: bpf_func_id = 61;
4807pub const BPF_FUNC_msg_cork_bytes: bpf_func_id = 62;
4808pub const BPF_FUNC_msg_pull_data: bpf_func_id = 63;
4809pub const BPF_FUNC_bind: bpf_func_id = 64;
4810pub const BPF_FUNC_xdp_adjust_tail: bpf_func_id = 65;
4811pub const BPF_FUNC_skb_get_xfrm_state: bpf_func_id = 66;
4812pub const BPF_FUNC_get_stack: bpf_func_id = 67;
4813pub const BPF_FUNC_skb_load_bytes_relative: bpf_func_id = 68;
4814pub const BPF_FUNC_fib_lookup: bpf_func_id = 69;
4815pub const BPF_FUNC_sock_hash_update: bpf_func_id = 70;
4816pub const BPF_FUNC_msg_redirect_hash: bpf_func_id = 71;
4817pub const BPF_FUNC_sk_redirect_hash: bpf_func_id = 72;
4818pub const BPF_FUNC_lwt_push_encap: bpf_func_id = 73;
4819pub const BPF_FUNC_lwt_seg6_store_bytes: bpf_func_id = 74;
4820pub const BPF_FUNC_lwt_seg6_adjust_srh: bpf_func_id = 75;
4821pub const BPF_FUNC_lwt_seg6_action: bpf_func_id = 76;
4822pub const BPF_FUNC_rc_repeat: bpf_func_id = 77;
4823pub const BPF_FUNC_rc_keydown: bpf_func_id = 78;
4824pub const BPF_FUNC_skb_cgroup_id: bpf_func_id = 79;
4825pub const BPF_FUNC_get_current_cgroup_id: bpf_func_id = 80;
4826pub const BPF_FUNC_get_local_storage: bpf_func_id = 81;
4827pub const BPF_FUNC_sk_select_reuseport: bpf_func_id = 82;
4828pub const BPF_FUNC_skb_ancestor_cgroup_id: bpf_func_id = 83;
4829pub const BPF_FUNC_sk_lookup_tcp: bpf_func_id = 84;
4830pub const BPF_FUNC_sk_lookup_udp: bpf_func_id = 85;
4831pub const BPF_FUNC_sk_release: bpf_func_id = 86;
4832pub const BPF_FUNC_map_push_elem: bpf_func_id = 87;
4833pub const BPF_FUNC_map_pop_elem: bpf_func_id = 88;
4834pub const BPF_FUNC_map_peek_elem: bpf_func_id = 89;
4835pub const BPF_FUNC_msg_push_data: bpf_func_id = 90;
4836pub const BPF_FUNC_msg_pop_data: bpf_func_id = 91;
4837pub const BPF_FUNC_rc_pointer_rel: bpf_func_id = 92;
4838pub const BPF_FUNC_spin_lock: bpf_func_id = 93;
4839pub const BPF_FUNC_spin_unlock: bpf_func_id = 94;
4840pub const BPF_FUNC_sk_fullsock: bpf_func_id = 95;
4841pub const BPF_FUNC_tcp_sock: bpf_func_id = 96;
4842pub const BPF_FUNC_skb_ecn_set_ce: bpf_func_id = 97;
4843pub const BPF_FUNC_get_listener_sock: bpf_func_id = 98;
4844pub const BPF_FUNC_skc_lookup_tcp: bpf_func_id = 99;
4845pub const BPF_FUNC_tcp_check_syncookie: bpf_func_id = 100;
4846pub const BPF_FUNC_sysctl_get_name: bpf_func_id = 101;
4847pub const BPF_FUNC_sysctl_get_current_value: bpf_func_id = 102;
4848pub const BPF_FUNC_sysctl_get_new_value: bpf_func_id = 103;
4849pub const BPF_FUNC_sysctl_set_new_value: bpf_func_id = 104;
4850pub const BPF_FUNC_strtol: bpf_func_id = 105;
4851pub const BPF_FUNC_strtoul: bpf_func_id = 106;
4852pub const BPF_FUNC_sk_storage_get: bpf_func_id = 107;
4853pub const BPF_FUNC_sk_storage_delete: bpf_func_id = 108;
4854pub const BPF_FUNC_send_signal: bpf_func_id = 109;
4855pub const BPF_FUNC_tcp_gen_syncookie: bpf_func_id = 110;
4856pub const BPF_FUNC_skb_output: bpf_func_id = 111;
4857pub const BPF_FUNC_probe_read_user: bpf_func_id = 112;
4858pub const BPF_FUNC_probe_read_kernel: bpf_func_id = 113;
4859pub const BPF_FUNC_probe_read_user_str: bpf_func_id = 114;
4860pub const BPF_FUNC_probe_read_kernel_str: bpf_func_id = 115;
4861pub const BPF_FUNC_tcp_send_ack: bpf_func_id = 116;
4862pub const BPF_FUNC_send_signal_thread: bpf_func_id = 117;
4863pub const BPF_FUNC_jiffies64: bpf_func_id = 118;
4864pub const BPF_FUNC_read_branch_records: bpf_func_id = 119;
4865pub const BPF_FUNC_get_ns_current_pid_tgid: bpf_func_id = 120;
4866pub const BPF_FUNC_xdp_output: bpf_func_id = 121;
4867pub const BPF_FUNC_get_netns_cookie: bpf_func_id = 122;
4868pub const BPF_FUNC_get_current_ancestor_cgroup_id: bpf_func_id = 123;
4869pub const BPF_FUNC_sk_assign: bpf_func_id = 124;
4870pub const BPF_FUNC_ktime_get_boot_ns: bpf_func_id = 125;
4871pub const BPF_FUNC_seq_printf: bpf_func_id = 126;
4872pub const BPF_FUNC_seq_write: bpf_func_id = 127;
4873pub const BPF_FUNC_sk_cgroup_id: bpf_func_id = 128;
4874pub const BPF_FUNC_sk_ancestor_cgroup_id: bpf_func_id = 129;
4875pub const BPF_FUNC_ringbuf_output: bpf_func_id = 130;
4876pub const BPF_FUNC_ringbuf_reserve: bpf_func_id = 131;
4877pub const BPF_FUNC_ringbuf_submit: bpf_func_id = 132;
4878pub const BPF_FUNC_ringbuf_discard: bpf_func_id = 133;
4879pub const BPF_FUNC_ringbuf_query: bpf_func_id = 134;
4880pub const BPF_FUNC_csum_level: bpf_func_id = 135;
4881pub const BPF_FUNC_skc_to_tcp6_sock: bpf_func_id = 136;
4882pub const BPF_FUNC_skc_to_tcp_sock: bpf_func_id = 137;
4883pub const BPF_FUNC_skc_to_tcp_timewait_sock: bpf_func_id = 138;
4884pub const BPF_FUNC_skc_to_tcp_request_sock: bpf_func_id = 139;
4885pub const BPF_FUNC_skc_to_udp6_sock: bpf_func_id = 140;
4886pub const BPF_FUNC_get_task_stack: bpf_func_id = 141;
4887pub const BPF_FUNC_load_hdr_opt: bpf_func_id = 142;
4888pub const BPF_FUNC_store_hdr_opt: bpf_func_id = 143;
4889pub const BPF_FUNC_reserve_hdr_opt: bpf_func_id = 144;
4890pub const BPF_FUNC_inode_storage_get: bpf_func_id = 145;
4891pub const BPF_FUNC_inode_storage_delete: bpf_func_id = 146;
4892pub const BPF_FUNC_d_path: bpf_func_id = 147;
4893pub const BPF_FUNC_copy_from_user: bpf_func_id = 148;
4894pub const BPF_FUNC_snprintf_btf: bpf_func_id = 149;
4895pub const BPF_FUNC_seq_printf_btf: bpf_func_id = 150;
4896pub const BPF_FUNC_skb_cgroup_classid: bpf_func_id = 151;
4897pub const BPF_FUNC_redirect_neigh: bpf_func_id = 152;
4898pub const BPF_FUNC_per_cpu_ptr: bpf_func_id = 153;
4899pub const BPF_FUNC_this_cpu_ptr: bpf_func_id = 154;
4900pub const BPF_FUNC_redirect_peer: bpf_func_id = 155;
4901pub const BPF_FUNC_task_storage_get: bpf_func_id = 156;
4902pub const BPF_FUNC_task_storage_delete: bpf_func_id = 157;
4903pub const BPF_FUNC_get_current_task_btf: bpf_func_id = 158;
4904pub const BPF_FUNC_bprm_opts_set: bpf_func_id = 159;
4905pub const BPF_FUNC_ktime_get_coarse_ns: bpf_func_id = 160;
4906pub const BPF_FUNC_ima_inode_hash: bpf_func_id = 161;
4907pub const BPF_FUNC_sock_from_file: bpf_func_id = 162;
4908pub const BPF_FUNC_check_mtu: bpf_func_id = 163;
4909pub const BPF_FUNC_for_each_map_elem: bpf_func_id = 164;
4910pub const BPF_FUNC_snprintf: bpf_func_id = 165;
4911pub const BPF_FUNC_sys_bpf: bpf_func_id = 166;
4912pub const BPF_FUNC_btf_find_by_name_kind: bpf_func_id = 167;
4913pub const BPF_FUNC_sys_close: bpf_func_id = 168;
4914pub const BPF_FUNC_timer_init: bpf_func_id = 169;
4915pub const BPF_FUNC_timer_set_callback: bpf_func_id = 170;
4916pub const BPF_FUNC_timer_start: bpf_func_id = 171;
4917pub const BPF_FUNC_timer_cancel: bpf_func_id = 172;
4918pub const BPF_FUNC_get_func_ip: bpf_func_id = 173;
4919pub const BPF_FUNC_get_attach_cookie: bpf_func_id = 174;
4920pub const BPF_FUNC_task_pt_regs: bpf_func_id = 175;
4921pub const BPF_FUNC_get_branch_snapshot: bpf_func_id = 176;
4922pub const BPF_FUNC_trace_vprintk: bpf_func_id = 177;
4923pub const BPF_FUNC_skc_to_unix_sock: bpf_func_id = 178;
4924pub const BPF_FUNC_kallsyms_lookup_name: bpf_func_id = 179;
4925pub const BPF_FUNC_find_vma: bpf_func_id = 180;
4926pub const BPF_FUNC_loop: bpf_func_id = 181;
4927pub const BPF_FUNC_strncmp: bpf_func_id = 182;
4928pub const BPF_FUNC_get_func_arg: bpf_func_id = 183;
4929pub const BPF_FUNC_get_func_ret: bpf_func_id = 184;
4930pub const BPF_FUNC_get_func_arg_cnt: bpf_func_id = 185;
4931pub const BPF_FUNC_get_retval: bpf_func_id = 186;
4932pub const BPF_FUNC_set_retval: bpf_func_id = 187;
4933pub const BPF_FUNC_xdp_get_buff_len: bpf_func_id = 188;
4934pub const BPF_FUNC_xdp_load_bytes: bpf_func_id = 189;
4935pub const BPF_FUNC_xdp_store_bytes: bpf_func_id = 190;
4936pub const BPF_FUNC_copy_from_user_task: bpf_func_id = 191;
4937pub const BPF_FUNC_skb_set_tstamp: bpf_func_id = 192;
4938pub const BPF_FUNC_ima_file_hash: bpf_func_id = 193;
4939pub const BPF_FUNC_kptr_xchg: bpf_func_id = 194;
4940pub const BPF_FUNC_map_lookup_percpu_elem: bpf_func_id = 195;
4941pub const BPF_FUNC_skc_to_mptcp_sock: bpf_func_id = 196;
4942pub const BPF_FUNC_dynptr_from_mem: bpf_func_id = 197;
4943pub const BPF_FUNC_ringbuf_reserve_dynptr: bpf_func_id = 198;
4944pub const BPF_FUNC_ringbuf_submit_dynptr: bpf_func_id = 199;
4945pub const BPF_FUNC_ringbuf_discard_dynptr: bpf_func_id = 200;
4946pub const BPF_FUNC_dynptr_read: bpf_func_id = 201;
4947pub const BPF_FUNC_dynptr_write: bpf_func_id = 202;
4948pub const BPF_FUNC_dynptr_data: bpf_func_id = 203;
4949pub const BPF_FUNC_tcp_raw_gen_syncookie_ipv4: bpf_func_id = 204;
4950pub const BPF_FUNC_tcp_raw_gen_syncookie_ipv6: bpf_func_id = 205;
4951pub const BPF_FUNC_tcp_raw_check_syncookie_ipv4: bpf_func_id = 206;
4952pub const BPF_FUNC_tcp_raw_check_syncookie_ipv6: bpf_func_id = 207;
4953pub const BPF_FUNC_ktime_get_tai_ns: bpf_func_id = 208;
4954pub const BPF_FUNC_user_ringbuf_drain: bpf_func_id = 209;
4955pub const BPF_FUNC_cgrp_storage_get: bpf_func_id = 210;
4956pub const BPF_FUNC_cgrp_storage_delete: bpf_func_id = 211;
4957pub const __BPF_FUNC_MAX_ID: bpf_func_id = 212;
4958pub type bpf_func_id = ::std::os::raw::c_uint;
4959pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_67 = 1;
4960pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_67 = 2;
4961pub type _bindgen_ty_67 = ::std::os::raw::c_uint;
4962pub const BPF_F_HDR_FIELD_MASK: _bindgen_ty_68 = 15;
4963pub type _bindgen_ty_68 = ::std::os::raw::c_uint;
4964pub const BPF_F_PSEUDO_HDR: _bindgen_ty_69 = 16;
4965pub const BPF_F_MARK_MANGLED_0: _bindgen_ty_69 = 32;
4966pub const BPF_F_MARK_ENFORCE: _bindgen_ty_69 = 64;
4967pub const BPF_F_IPV6: _bindgen_ty_69 = 128;
4968pub type _bindgen_ty_69 = ::std::os::raw::c_uint;
4969pub const BPF_F_TUNINFO_IPV6: _bindgen_ty_70 = 1;
4970pub type _bindgen_ty_70 = ::std::os::raw::c_uint;
4971pub const BPF_F_SKIP_FIELD_MASK: _bindgen_ty_71 = 255;
4972pub const BPF_F_USER_STACK: _bindgen_ty_71 = 256;
4973pub const BPF_F_FAST_STACK_CMP: _bindgen_ty_71 = 512;
4974pub const BPF_F_REUSE_STACKID: _bindgen_ty_71 = 1024;
4975pub const BPF_F_USER_BUILD_ID: _bindgen_ty_71 = 2048;
4976pub type _bindgen_ty_71 = ::std::os::raw::c_uint;
4977pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_72 = 2;
4978pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_72 = 4;
4979pub const BPF_F_SEQ_NUMBER: _bindgen_ty_72 = 8;
4980pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_72 = 16;
4981pub type _bindgen_ty_72 = ::std::os::raw::c_uint;
4982pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_73 = 16;
4983pub type _bindgen_ty_73 = ::std::os::raw::c_uint;
4984pub const BPF_F_INDEX_MASK: _bindgen_ty_74 = 4294967295;
4985pub const BPF_F_CURRENT_CPU: _bindgen_ty_74 = 4294967295;
4986pub const BPF_F_CTXLEN_MASK: _bindgen_ty_74 = 4503595332403200;
4987pub type _bindgen_ty_74 = ::std::os::raw::c_ulong;
4988pub const BPF_F_CURRENT_NETNS: _bindgen_ty_75 = -1;
4989pub type _bindgen_ty_75 = ::std::os::raw::c_int;
4990pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_76 = 0;
4991pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_76 = 1;
4992pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_76 = 2;
4993pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_76 = 3;
4994pub type _bindgen_ty_76 = ::std::os::raw::c_uint;
4995pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_77 = 1;
4996pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_77 = 2;
4997pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_77 = 4;
4998pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_77 = 8;
4999pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_77 = 16;
5000pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_77 = 32;
5001pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_77 = 64;
5002pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV4: _bindgen_ty_77 = 128;
5003pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV6: _bindgen_ty_77 = 256;
5004pub type _bindgen_ty_77 = ::std::os::raw::c_uint;
5005pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_78 = 255;
5006pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_78 = 56;
5007pub type _bindgen_ty_78 = ::std::os::raw::c_uint;
5008pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_79 = 1;
5009pub type _bindgen_ty_79 = ::std::os::raw::c_uint;
5010pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_80 = 1;
5011pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_80 = 1;
5012pub type _bindgen_ty_80 = ::std::os::raw::c_uint;
5013pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_81 = 1;
5014pub type _bindgen_ty_81 = ::std::os::raw::c_uint;
5015pub const BPF_RB_NO_WAKEUP: _bindgen_ty_82 = 1;
5016pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_82 = 2;
5017pub type _bindgen_ty_82 = ::std::os::raw::c_uint;
5018pub const BPF_RB_AVAIL_DATA: _bindgen_ty_83 = 0;
5019pub const BPF_RB_RING_SIZE: _bindgen_ty_83 = 1;
5020pub const BPF_RB_CONS_POS: _bindgen_ty_83 = 2;
5021pub const BPF_RB_PROD_POS: _bindgen_ty_83 = 3;
5022pub type _bindgen_ty_83 = ::std::os::raw::c_uint;
5023pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_84 = 2147483648;
5024pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_84 = 1073741824;
5025pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_84 = 8;
5026pub type _bindgen_ty_84 = ::std::os::raw::c_uint;
5027pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_85 = 1;
5028pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_85 = 2;
5029pub type _bindgen_ty_85 = ::std::os::raw::c_uint;
5030pub const BPF_ADJ_ROOM_NET: bpf_adj_room_mode = 0;
5031pub const BPF_ADJ_ROOM_MAC: bpf_adj_room_mode = 1;
5032pub type bpf_adj_room_mode = ::std::os::raw::c_uint;
5033pub const BPF_HDR_START_MAC: bpf_hdr_start_off = 0;
5034pub const BPF_HDR_START_NET: bpf_hdr_start_off = 1;
5035pub type bpf_hdr_start_off = ::std::os::raw::c_uint;
5036pub const BPF_LWT_ENCAP_SEG6: bpf_lwt_encap_mode = 0;
5037pub const BPF_LWT_ENCAP_SEG6_INLINE: bpf_lwt_encap_mode = 1;
5038pub const BPF_LWT_ENCAP_IP: bpf_lwt_encap_mode = 2;
5039pub type bpf_lwt_encap_mode = ::std::os::raw::c_uint;
5040pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_86 = 1;
5041pub type _bindgen_ty_86 = ::std::os::raw::c_uint;
5042pub const BPF_F_INGRESS: _bindgen_ty_87 = 1;
5043pub const BPF_F_BROADCAST: _bindgen_ty_87 = 8;
5044pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_87 = 16;
5045pub type _bindgen_ty_87 = ::std::os::raw::c_uint;
5046pub const BPF_SKB_TSTAMP_UNSPEC: _bindgen_ty_88 = 0;
5047pub const BPF_SKB_TSTAMP_DELIVERY_MONO: _bindgen_ty_88 = 1;
5048pub const BPF_SKB_CLOCK_REALTIME: _bindgen_ty_88 = 0;
5049pub const BPF_SKB_CLOCK_MONOTONIC: _bindgen_ty_88 = 1;
5050pub const BPF_SKB_CLOCK_TAI: _bindgen_ty_88 = 2;
5051pub type _bindgen_ty_88 = ::std::os::raw::c_uint;
5052#[repr(C)]
5053#[derive(Copy, Clone)]
5054pub struct bpf_tunnel_key {
5055 pub tunnel_id: __u32,
5056 pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
5057 pub tunnel_tos: __u8,
5058 pub tunnel_ttl: __u8,
5059 pub __bindgen_anon_2: bpf_tunnel_key__bindgen_ty_2,
5060 pub tunnel_label: __u32,
5061 pub __bindgen_anon_3: bpf_tunnel_key__bindgen_ty_3,
5062}
5063#[repr(C)]
5064#[derive(Copy, Clone)]
5065pub union bpf_tunnel_key__bindgen_ty_1 {
5066 pub remote_ipv4: __u32,
5067 pub remote_ipv6: [__u32; 4usize],
5068}
5069impl Default for bpf_tunnel_key__bindgen_ty_1 {
5070 fn default() -> Self {
5071 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5072 unsafe {
5073 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5074 s.assume_init()
5075 }
5076 }
5077}
5078#[repr(C)]
5079#[derive(Copy, Clone)]
5080pub union bpf_tunnel_key__bindgen_ty_2 {
5081 pub tunnel_ext: __u16,
5082 pub tunnel_flags: __be16,
5083}
5084impl Default for bpf_tunnel_key__bindgen_ty_2 {
5085 fn default() -> Self {
5086 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5087 unsafe {
5088 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5089 s.assume_init()
5090 }
5091 }
5092}
5093#[repr(C)]
5094#[derive(Copy, Clone)]
5095pub union bpf_tunnel_key__bindgen_ty_3 {
5096 pub local_ipv4: __u32,
5097 pub local_ipv6: [__u32; 4usize],
5098}
5099impl Default for bpf_tunnel_key__bindgen_ty_3 {
5100 fn default() -> Self {
5101 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5102 unsafe {
5103 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5104 s.assume_init()
5105 }
5106 }
5107}
5108impl Default for bpf_tunnel_key {
5109 fn default() -> Self {
5110 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5111 unsafe {
5112 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5113 s.assume_init()
5114 }
5115 }
5116}
5117#[repr(C)]
5118#[derive(Copy, Clone)]
5119pub struct bpf_xfrm_state {
5120 pub reqid: __u32,
5121 pub spi: __u32,
5122 pub family: __u16,
5123 pub ext: __u16,
5124 pub __bindgen_anon_1: bpf_xfrm_state__bindgen_ty_1,
5125}
5126#[repr(C)]
5127#[derive(Copy, Clone)]
5128pub union bpf_xfrm_state__bindgen_ty_1 {
5129 pub remote_ipv4: __u32,
5130 pub remote_ipv6: [__u32; 4usize],
5131}
5132impl Default for bpf_xfrm_state__bindgen_ty_1 {
5133 fn default() -> Self {
5134 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5135 unsafe {
5136 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5137 s.assume_init()
5138 }
5139 }
5140}
5141impl Default for bpf_xfrm_state {
5142 fn default() -> Self {
5143 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5144 unsafe {
5145 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5146 s.assume_init()
5147 }
5148 }
5149}
5150pub const BPF_OK: bpf_ret_code = 0;
5151pub const BPF_DROP: bpf_ret_code = 2;
5152pub const BPF_REDIRECT: bpf_ret_code = 7;
5153pub const BPF_LWT_REROUTE: bpf_ret_code = 128;
5154pub const BPF_FLOW_DISSECTOR_CONTINUE: bpf_ret_code = 129;
5155pub type bpf_ret_code = ::std::os::raw::c_uint;
5156#[repr(C)]
5157#[derive(Debug, Default, Copy, Clone)]
5158pub struct bpf_sock {
5159 pub bound_dev_if: __u32,
5160 pub family: __u32,
5161 pub type_: __u32,
5162 pub protocol: __u32,
5163 pub mark: __u32,
5164 pub priority: __u32,
5165 pub src_ip4: __u32,
5166 pub src_ip6: [__u32; 4usize],
5167 pub src_port: __u32,
5168 pub dst_port: __be16,
5169 pub _bitfield_align_1: [u8; 0],
5170 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
5171 pub dst_ip4: __u32,
5172 pub dst_ip6: [__u32; 4usize],
5173 pub state: __u32,
5174 pub rx_queue_mapping: __s32,
5175}
5176impl bpf_sock {
5177 #[inline]
5178 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 2usize]> {
5179 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
5180 __bindgen_bitfield_unit
5181 }
5182}
5183#[repr(C)]
5184#[derive(Debug, Default, Copy, Clone)]
5185pub struct bpf_tcp_sock {
5186 pub snd_cwnd: __u32,
5187 pub srtt_us: __u32,
5188 pub rtt_min: __u32,
5189 pub snd_ssthresh: __u32,
5190 pub rcv_nxt: __u32,
5191 pub snd_nxt: __u32,
5192 pub snd_una: __u32,
5193 pub mss_cache: __u32,
5194 pub ecn_flags: __u32,
5195 pub rate_delivered: __u32,
5196 pub rate_interval_us: __u32,
5197 pub packets_out: __u32,
5198 pub retrans_out: __u32,
5199 pub total_retrans: __u32,
5200 pub segs_in: __u32,
5201 pub data_segs_in: __u32,
5202 pub segs_out: __u32,
5203 pub data_segs_out: __u32,
5204 pub lost_out: __u32,
5205 pub sacked_out: __u32,
5206 pub bytes_received: __u64,
5207 pub bytes_acked: __u64,
5208 pub dsack_dups: __u32,
5209 pub delivered: __u32,
5210 pub delivered_ce: __u32,
5211 pub icsk_retransmits: __u32,
5212}
5213#[repr(C)]
5214#[derive(Copy, Clone)]
5215pub struct bpf_sock_tuple {
5216 pub __bindgen_anon_1: bpf_sock_tuple__bindgen_ty_1,
5217}
5218#[repr(C)]
5219#[derive(Copy, Clone)]
5220pub union bpf_sock_tuple__bindgen_ty_1 {
5221 pub ipv4: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1,
5222 pub ipv6: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2,
5223}
5224#[repr(C)]
5225#[derive(Debug, Default, Copy, Clone)]
5226pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1 {
5227 pub saddr: __be32,
5228 pub daddr: __be32,
5229 pub sport: __be16,
5230 pub dport: __be16,
5231}
5232#[repr(C)]
5233#[derive(Debug, Default, Copy, Clone)]
5234pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2 {
5235 pub saddr: [__be32; 4usize],
5236 pub daddr: [__be32; 4usize],
5237 pub sport: __be16,
5238 pub dport: __be16,
5239}
5240impl Default for bpf_sock_tuple__bindgen_ty_1 {
5241 fn default() -> Self {
5242 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5243 unsafe {
5244 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5245 s.assume_init()
5246 }
5247 }
5248}
5249impl Default for bpf_sock_tuple {
5250 fn default() -> Self {
5251 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5252 unsafe {
5253 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5254 s.assume_init()
5255 }
5256 }
5257}
5258#[repr(C)]
5259#[derive(Debug, Default, Copy, Clone)]
5260pub struct bpf_xdp_sock {
5261 pub queue_id: __u32,
5262}
5263pub const XDP_ABORTED: xdp_action = 0;
5264pub const XDP_DROP: xdp_action = 1;
5265pub const XDP_PASS: xdp_action = 2;
5266pub const XDP_TX: xdp_action = 3;
5267pub const XDP_REDIRECT: xdp_action = 4;
5268pub type xdp_action = ::std::os::raw::c_uint;
5269#[repr(C)]
5270#[derive(Debug, Default, Copy, Clone)]
5271pub struct xdp_md {
5272 pub data: __u32,
5273 pub data_end: __u32,
5274 pub data_meta: __u32,
5275 pub ingress_ifindex: __u32,
5276 pub rx_queue_index: __u32,
5277 pub egress_ifindex: __u32,
5278}
5279#[repr(C)]
5280#[derive(Copy, Clone)]
5281pub struct bpf_devmap_val {
5282 pub ifindex: __u32,
5283 pub bpf_prog: bpf_devmap_val__bindgen_ty_1,
5284}
5285#[repr(C)]
5286#[derive(Copy, Clone)]
5287pub union bpf_devmap_val__bindgen_ty_1 {
5288 pub fd: ::std::os::raw::c_int,
5289 pub id: __u32,
5290}
5291impl Default for bpf_devmap_val__bindgen_ty_1 {
5292 fn default() -> Self {
5293 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5294 unsafe {
5295 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5296 s.assume_init()
5297 }
5298 }
5299}
5300impl Default for bpf_devmap_val {
5301 fn default() -> Self {
5302 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5303 unsafe {
5304 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5305 s.assume_init()
5306 }
5307 }
5308}
5309#[repr(C)]
5310#[derive(Copy, Clone)]
5311pub struct bpf_cpumap_val {
5312 pub qsize: __u32,
5313 pub bpf_prog: bpf_cpumap_val__bindgen_ty_1,
5314}
5315#[repr(C)]
5316#[derive(Copy, Clone)]
5317pub union bpf_cpumap_val__bindgen_ty_1 {
5318 pub fd: ::std::os::raw::c_int,
5319 pub id: __u32,
5320}
5321impl Default for bpf_cpumap_val__bindgen_ty_1 {
5322 fn default() -> Self {
5323 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5324 unsafe {
5325 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5326 s.assume_init()
5327 }
5328 }
5329}
5330impl Default for bpf_cpumap_val {
5331 fn default() -> Self {
5332 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5333 unsafe {
5334 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5335 s.assume_init()
5336 }
5337 }
5338}
5339#[repr(C)]
5340#[derive(Debug, Default, Copy, Clone)]
5341pub struct bpf_prog_info {
5342 pub type_: __u32,
5343 pub id: __u32,
5344 pub tag: [__u8; 8usize],
5345 pub jited_prog_len: __u32,
5346 pub xlated_prog_len: __u32,
5347 pub jited_prog_insns: __u64,
5348 pub xlated_prog_insns: __u64,
5349 pub load_time: __u64,
5350 pub created_by_uid: __u32,
5351 pub nr_map_ids: __u32,
5352 pub map_ids: __u64,
5353 pub name: [::std::os::raw::c_char; 16usize],
5354 pub ifindex: __u32,
5355 pub _bitfield_align_1: [u8; 0],
5356 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5357 pub netns_dev: __u64,
5358 pub netns_ino: __u64,
5359 pub nr_jited_ksyms: __u32,
5360 pub nr_jited_func_lens: __u32,
5361 pub jited_ksyms: __u64,
5362 pub jited_func_lens: __u64,
5363 pub btf_id: __u32,
5364 pub func_info_rec_size: __u32,
5365 pub func_info: __u64,
5366 pub nr_func_info: __u32,
5367 pub nr_line_info: __u32,
5368 pub line_info: __u64,
5369 pub jited_line_info: __u64,
5370 pub nr_jited_line_info: __u32,
5371 pub line_info_rec_size: __u32,
5372 pub jited_line_info_rec_size: __u32,
5373 pub nr_prog_tags: __u32,
5374 pub prog_tags: __u64,
5375 pub run_time_ns: __u64,
5376 pub run_cnt: __u64,
5377 pub recursion_misses: __u64,
5378 pub verified_insns: __u32,
5379 pub attach_btf_obj_id: __u32,
5380 pub attach_btf_id: __u32,
5381 pub __bindgen_padding_0: [u8; 4usize],
5382}
5383impl bpf_prog_info {
5384 #[inline]
5385 pub fn gpl_compatible(&self) -> __u32 {
5386 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
5387 }
5388 #[inline]
5389 pub fn set_gpl_compatible(&mut self, val: __u32) {
5390 unsafe {
5391 let val: u32 = ::std::mem::transmute(val);
5392 self._bitfield_1.set(0usize, 1u8, val as u64)
5393 }
5394 }
5395 #[inline]
5396 pub unsafe fn gpl_compatible_raw(this: *const Self) -> __u32 {
5397 unsafe {
5398 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5399 ::std::ptr::addr_of!((*this)._bitfield_1),
5400 0usize,
5401 1u8,
5402 ) as u32)
5403 }
5404 }
5405 #[inline]
5406 pub unsafe fn set_gpl_compatible_raw(this: *mut Self, val: __u32) {
5407 unsafe {
5408 let val: u32 = ::std::mem::transmute(val);
5409 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5410 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5411 0usize,
5412 1u8,
5413 val as u64,
5414 )
5415 }
5416 }
5417 #[inline]
5418 pub fn new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
5419 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5420 __bindgen_bitfield_unit.set(0usize, 1u8, {
5421 let gpl_compatible: u32 = unsafe { ::std::mem::transmute(gpl_compatible) };
5422 gpl_compatible as u64
5423 });
5424 __bindgen_bitfield_unit
5425 }
5426}
5427#[repr(C)]
5428#[derive(Debug, Default, Copy, Clone)]
5429pub struct bpf_map_info {
5430 pub type_: __u32,
5431 pub id: __u32,
5432 pub key_size: __u32,
5433 pub value_size: __u32,
5434 pub max_entries: __u32,
5435 pub map_flags: __u32,
5436 pub name: [::std::os::raw::c_char; 16usize],
5437 pub ifindex: __u32,
5438 pub btf_vmlinux_value_type_id: __u32,
5439 pub netns_dev: __u64,
5440 pub netns_ino: __u64,
5441 pub btf_id: __u32,
5442 pub btf_key_type_id: __u32,
5443 pub btf_value_type_id: __u32,
5444 pub btf_vmlinux_id: __u32,
5445 pub map_extra: __u64,
5446}
5447#[repr(C)]
5448#[derive(Debug, Default, Copy, Clone)]
5449pub struct bpf_btf_info {
5450 pub btf: __u64,
5451 pub btf_size: __u32,
5452 pub id: __u32,
5453 pub name: __u64,
5454 pub name_len: __u32,
5455 pub kernel_btf: __u32,
5456}
5457#[repr(C)]
5458#[derive(Copy, Clone)]
5459pub struct bpf_link_info {
5460 pub type_: __u32,
5461 pub id: __u32,
5462 pub prog_id: __u32,
5463 pub __bindgen_padding_0: [u8; 4usize],
5464 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1,
5465}
5466#[repr(C)]
5467#[derive(Copy, Clone)]
5468pub union bpf_link_info__bindgen_ty_1 {
5469 pub raw_tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_1,
5470 pub tracing: bpf_link_info__bindgen_ty_1__bindgen_ty_2,
5471 pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_3,
5472 pub iter: bpf_link_info__bindgen_ty_1__bindgen_ty_4,
5473 pub netns: bpf_link_info__bindgen_ty_1__bindgen_ty_5,
5474 pub xdp: bpf_link_info__bindgen_ty_1__bindgen_ty_6,
5475 pub struct_ops: bpf_link_info__bindgen_ty_1__bindgen_ty_7,
5476 pub netfilter: bpf_link_info__bindgen_ty_1__bindgen_ty_8,
5477 pub kprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_9,
5478 pub uprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_10,
5479 pub perf_event: bpf_link_info__bindgen_ty_1__bindgen_ty_11,
5480 pub tcx: bpf_link_info__bindgen_ty_1__bindgen_ty_12,
5481 pub netkit: bpf_link_info__bindgen_ty_1__bindgen_ty_13,
5482 pub sockmap: bpf_link_info__bindgen_ty_1__bindgen_ty_14,
5483}
5484#[repr(C)]
5485#[derive(Debug, Default, Copy, Clone)]
5486pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_1 {
5487 pub tp_name: __u64,
5488 pub tp_name_len: __u32,
5489 pub _bitfield_align_1: [u8; 0],
5490 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5491 pub cookie: __u64,
5492}
5493impl bpf_link_info__bindgen_ty_1__bindgen_ty_1 {
5494 #[inline]
5495 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
5496 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5497 __bindgen_bitfield_unit
5498 }
5499}
5500#[repr(C)]
5501#[derive(Debug, Default, Copy, Clone)]
5502pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_2 {
5503 pub attach_type: __u32,
5504 pub target_obj_id: __u32,
5505 pub target_btf_id: __u32,
5506 pub _bitfield_align_1: [u8; 0],
5507 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5508 pub cookie: __u64,
5509}
5510impl bpf_link_info__bindgen_ty_1__bindgen_ty_2 {
5511 #[inline]
5512 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
5513 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5514 __bindgen_bitfield_unit
5515 }
5516}
5517#[repr(C)]
5518#[derive(Debug, Default, Copy, Clone)]
5519pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_3 {
5520 pub cgroup_id: __u64,
5521 pub attach_type: __u32,
5522 pub __bindgen_padding_0: [u8; 4usize],
5523}
5524#[repr(C)]
5525#[derive(Copy, Clone)]
5526pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
5527 pub target_name: __u64,
5528 pub target_name_len: __u32,
5529 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
5530 pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
5531}
5532#[repr(C)]
5533#[derive(Copy, Clone)]
5534pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {
5535 pub map: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
5536}
5537#[repr(C)]
5538#[derive(Debug, Default, Copy, Clone)]
5539pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
5540 pub map_id: __u32,
5541}
5542impl Default for bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {
5543 fn default() -> Self {
5544 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5545 unsafe {
5546 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5547 s.assume_init()
5548 }
5549 }
5550}
5551#[repr(C)]
5552#[derive(Copy, Clone)]
5553pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
5554 pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
5555 pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
5556}
5557#[repr(C)]
5558#[derive(Debug, Default, Copy, Clone)]
5559pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
5560 pub cgroup_id: __u64,
5561 pub order: __u32,
5562 pub __bindgen_padding_0: [u8; 4usize],
5563}
5564#[repr(C)]
5565#[derive(Debug, Default, Copy, Clone)]
5566pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
5567 pub tid: __u32,
5568 pub pid: __u32,
5569}
5570impl Default for bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
5571 fn default() -> Self {
5572 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5573 unsafe {
5574 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5575 s.assume_init()
5576 }
5577 }
5578}
5579impl Default for bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
5580 fn default() -> Self {
5581 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5582 unsafe {
5583 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5584 s.assume_init()
5585 }
5586 }
5587}
5588#[repr(C)]
5589#[derive(Debug, Default, Copy, Clone)]
5590pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
5591 pub netns_ino: __u32,
5592 pub attach_type: __u32,
5593}
5594#[repr(C)]
5595#[derive(Debug, Default, Copy, Clone)]
5596pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_6 {
5597 pub ifindex: __u32,
5598}
5599#[repr(C)]
5600#[derive(Debug, Default, Copy, Clone)]
5601pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_7 {
5602 pub map_id: __u32,
5603}
5604#[repr(C)]
5605#[derive(Debug, Default, Copy, Clone)]
5606pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_8 {
5607 pub pf: __u32,
5608 pub hooknum: __u32,
5609 pub priority: __s32,
5610 pub flags: __u32,
5611}
5612#[repr(C)]
5613#[derive(Debug, Default, Copy, Clone)]
5614pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_9 {
5615 pub addrs: __u64,
5616 pub count: __u32,
5617 pub flags: __u32,
5618 pub missed: __u64,
5619 pub cookies: __u64,
5620}
5621#[repr(C)]
5622#[derive(Debug, Default, Copy, Clone)]
5623pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_10 {
5624 pub path: __u64,
5625 pub offsets: __u64,
5626 pub ref_ctr_offsets: __u64,
5627 pub cookies: __u64,
5628 pub path_size: __u32,
5629 pub count: __u32,
5630 pub flags: __u32,
5631 pub pid: __u32,
5632}
5633#[repr(C)]
5634#[derive(Copy, Clone)]
5635pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
5636 pub type_: __u32,
5637 pub _bitfield_align_1: [u8; 0],
5638 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5639 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1,
5640}
5641#[repr(C)]
5642#[derive(Copy, Clone)]
5643pub union bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 {
5644 pub uprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1,
5645 pub kprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2,
5646 pub tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3,
5647 pub event: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4,
5648}
5649#[repr(C)]
5650#[derive(Debug, Default, Copy, Clone)]
5651pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 {
5652 pub file_name: __u64,
5653 pub name_len: __u32,
5654 pub offset: __u32,
5655 pub cookie: __u64,
5656 pub ref_ctr_offset: __u64,
5657}
5658#[repr(C)]
5659#[derive(Debug, Default, Copy, Clone)]
5660pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 {
5661 pub func_name: __u64,
5662 pub name_len: __u32,
5663 pub offset: __u32,
5664 pub addr: __u64,
5665 pub missed: __u64,
5666 pub cookie: __u64,
5667}
5668#[repr(C)]
5669#[derive(Debug, Default, Copy, Clone)]
5670pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
5671 pub tp_name: __u64,
5672 pub name_len: __u32,
5673 pub _bitfield_align_1: [u8; 0],
5674 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5675 pub cookie: __u64,
5676}
5677impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
5678 #[inline]
5679 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
5680 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5681 __bindgen_bitfield_unit
5682 }
5683}
5684#[repr(C)]
5685#[derive(Debug, Default, Copy, Clone)]
5686pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
5687 pub config: __u64,
5688 pub type_: __u32,
5689 pub _bitfield_align_1: [u8; 0],
5690 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5691 pub cookie: __u64,
5692}
5693impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
5694 #[inline]
5695 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
5696 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5697 __bindgen_bitfield_unit
5698 }
5699}
5700impl Default for bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 {
5701 fn default() -> Self {
5702 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5703 unsafe {
5704 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5705 s.assume_init()
5706 }
5707 }
5708}
5709impl Default for bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
5710 fn default() -> Self {
5711 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5712 unsafe {
5713 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5714 s.assume_init()
5715 }
5716 }
5717}
5718impl bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
5719 #[inline]
5720 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
5721 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5722 __bindgen_bitfield_unit
5723 }
5724}
5725#[repr(C)]
5726#[derive(Debug, Default, Copy, Clone)]
5727pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_12 {
5728 pub ifindex: __u32,
5729 pub attach_type: __u32,
5730}
5731#[repr(C)]
5732#[derive(Debug, Default, Copy, Clone)]
5733pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_13 {
5734 pub ifindex: __u32,
5735 pub attach_type: __u32,
5736}
5737#[repr(C)]
5738#[derive(Debug, Default, Copy, Clone)]
5739pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_14 {
5740 pub map_id: __u32,
5741 pub attach_type: __u32,
5742}
5743impl Default for bpf_link_info__bindgen_ty_1 {
5744 fn default() -> Self {
5745 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5746 unsafe {
5747 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5748 s.assume_init()
5749 }
5750 }
5751}
5752impl Default for bpf_link_info {
5753 fn default() -> Self {
5754 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5755 unsafe {
5756 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5757 s.assume_init()
5758 }
5759 }
5760}
5761#[repr(C)]
5762#[derive(Copy, Clone)]
5763pub struct bpf_sock_addr {
5764 pub user_family: __u32,
5765 pub user_ip4: __u32,
5766 pub user_ip6: [__u32; 4usize],
5767 pub user_port: __u32,
5768 pub family: __u32,
5769 pub type_: __u32,
5770 pub protocol: __u32,
5771 pub msg_src_ip4: __u32,
5772 pub msg_src_ip6: [__u32; 4usize],
5773 pub __bindgen_padding_0: [u8; 4usize],
5774 pub __bindgen_anon_1: bpf_sock_addr__bindgen_ty_1,
5775}
5776#[repr(C)]
5777#[derive(Copy, Clone)]
5778pub union bpf_sock_addr__bindgen_ty_1 {
5779 pub sk: *mut bpf_sock,
5780 pub _bitfield_align_1: [u8; 0],
5781 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
5782}
5783impl Default for bpf_sock_addr__bindgen_ty_1 {
5784 fn default() -> Self {
5785 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5786 unsafe {
5787 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5788 s.assume_init()
5789 }
5790 }
5791}
5792impl bpf_sock_addr__bindgen_ty_1 {
5793 #[inline]
5794 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
5795 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
5796 __bindgen_bitfield_unit
5797 }
5798}
5799impl Default for bpf_sock_addr {
5800 fn default() -> Self {
5801 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5802 unsafe {
5803 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5804 s.assume_init()
5805 }
5806 }
5807}
5808#[repr(C)]
5809#[derive(Copy, Clone)]
5810pub struct bpf_sock_ops {
5811 pub op: __u32,
5812 pub __bindgen_anon_1: bpf_sock_ops__bindgen_ty_1,
5813 pub family: __u32,
5814 pub remote_ip4: __u32,
5815 pub local_ip4: __u32,
5816 pub remote_ip6: [__u32; 4usize],
5817 pub local_ip6: [__u32; 4usize],
5818 pub remote_port: __u32,
5819 pub local_port: __u32,
5820 pub is_fullsock: __u32,
5821 pub snd_cwnd: __u32,
5822 pub srtt_us: __u32,
5823 pub bpf_sock_ops_cb_flags: __u32,
5824 pub state: __u32,
5825 pub rtt_min: __u32,
5826 pub snd_ssthresh: __u32,
5827 pub rcv_nxt: __u32,
5828 pub snd_nxt: __u32,
5829 pub snd_una: __u32,
5830 pub mss_cache: __u32,
5831 pub ecn_flags: __u32,
5832 pub rate_delivered: __u32,
5833 pub rate_interval_us: __u32,
5834 pub packets_out: __u32,
5835 pub retrans_out: __u32,
5836 pub total_retrans: __u32,
5837 pub segs_in: __u32,
5838 pub data_segs_in: __u32,
5839 pub segs_out: __u32,
5840 pub data_segs_out: __u32,
5841 pub lost_out: __u32,
5842 pub sacked_out: __u32,
5843 pub sk_txhash: __u32,
5844 pub bytes_received: __u64,
5845 pub bytes_acked: __u64,
5846 pub __bindgen_anon_2: bpf_sock_ops__bindgen_ty_2,
5847 pub __bindgen_anon_3: bpf_sock_ops__bindgen_ty_3,
5848 pub __bindgen_anon_4: bpf_sock_ops__bindgen_ty_4,
5849 pub skb_len: __u32,
5850 pub skb_tcp_flags: __u32,
5851 pub skb_hwtstamp: __u64,
5852}
5853#[repr(C)]
5854#[derive(Copy, Clone)]
5855pub union bpf_sock_ops__bindgen_ty_1 {
5856 pub args: [__u32; 4usize],
5857 pub reply: __u32,
5858 pub replylong: [__u32; 4usize],
5859}
5860impl Default for bpf_sock_ops__bindgen_ty_1 {
5861 fn default() -> Self {
5862 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5863 unsafe {
5864 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5865 s.assume_init()
5866 }
5867 }
5868}
5869#[repr(C)]
5870#[derive(Copy, Clone)]
5871pub union bpf_sock_ops__bindgen_ty_2 {
5872 pub sk: *mut bpf_sock,
5873 pub _bitfield_align_1: [u8; 0],
5874 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
5875}
5876impl Default for bpf_sock_ops__bindgen_ty_2 {
5877 fn default() -> Self {
5878 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5879 unsafe {
5880 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5881 s.assume_init()
5882 }
5883 }
5884}
5885impl bpf_sock_ops__bindgen_ty_2 {
5886 #[inline]
5887 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
5888 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
5889 __bindgen_bitfield_unit
5890 }
5891}
5892#[repr(C)]
5893#[derive(Copy, Clone)]
5894pub union bpf_sock_ops__bindgen_ty_3 {
5895 pub skb_data: *mut ::std::os::raw::c_void,
5896 pub _bitfield_align_1: [u8; 0],
5897 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
5898}
5899impl Default for bpf_sock_ops__bindgen_ty_3 {
5900 fn default() -> Self {
5901 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5902 unsafe {
5903 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5904 s.assume_init()
5905 }
5906 }
5907}
5908impl bpf_sock_ops__bindgen_ty_3 {
5909 #[inline]
5910 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
5911 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
5912 __bindgen_bitfield_unit
5913 }
5914}
5915#[repr(C)]
5916#[derive(Copy, Clone)]
5917pub union bpf_sock_ops__bindgen_ty_4 {
5918 pub skb_data_end: *mut ::std::os::raw::c_void,
5919 pub _bitfield_align_1: [u8; 0],
5920 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
5921}
5922impl Default for bpf_sock_ops__bindgen_ty_4 {
5923 fn default() -> Self {
5924 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5925 unsafe {
5926 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5927 s.assume_init()
5928 }
5929 }
5930}
5931impl bpf_sock_ops__bindgen_ty_4 {
5932 #[inline]
5933 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
5934 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
5935 __bindgen_bitfield_unit
5936 }
5937}
5938impl Default for bpf_sock_ops {
5939 fn default() -> Self {
5940 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5941 unsafe {
5942 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5943 s.assume_init()
5944 }
5945 }
5946}
5947pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_89 = 1;
5948pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_89 = 2;
5949pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_89 = 4;
5950pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_89 = 8;
5951pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_89 = 16;
5952pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_89 = 32;
5953pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_89 = 64;
5954pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_89 = 127;
5955pub type _bindgen_ty_89 = ::std::os::raw::c_uint;
5956pub const BPF_SOCK_OPS_VOID: _bindgen_ty_91 = 0;
5957pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_91 = 1;
5958pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_91 = 2;
5959pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_91 = 3;
5960pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_91 = 4;
5961pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_91 = 5;
5962pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_91 = 6;
5963pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_91 = 7;
5964pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_91 = 8;
5965pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_91 = 9;
5966pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_91 = 10;
5967pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_91 = 11;
5968pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_91 = 12;
5969pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_91 = 13;
5970pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_91 = 14;
5971pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_91 = 15;
5972pub const BPF_SOCK_OPS_TSTAMP_SCHED_CB: _bindgen_ty_91 = 16;
5973pub const BPF_SOCK_OPS_TSTAMP_SND_SW_CB: _bindgen_ty_91 = 17;
5974pub const BPF_SOCK_OPS_TSTAMP_SND_HW_CB: _bindgen_ty_91 = 18;
5975pub const BPF_SOCK_OPS_TSTAMP_ACK_CB: _bindgen_ty_91 = 19;
5976pub const BPF_SOCK_OPS_TSTAMP_SENDMSG_CB: _bindgen_ty_91 = 20;
5977pub type _bindgen_ty_91 = ::std::os::raw::c_uint;
5978pub const BPF_TCP_ESTABLISHED: _bindgen_ty_92 = 1;
5979pub const BPF_TCP_SYN_SENT: _bindgen_ty_92 = 2;
5980pub const BPF_TCP_SYN_RECV: _bindgen_ty_92 = 3;
5981pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_92 = 4;
5982pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_92 = 5;
5983pub const BPF_TCP_TIME_WAIT: _bindgen_ty_92 = 6;
5984pub const BPF_TCP_CLOSE: _bindgen_ty_92 = 7;
5985pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_92 = 8;
5986pub const BPF_TCP_LAST_ACK: _bindgen_ty_92 = 9;
5987pub const BPF_TCP_LISTEN: _bindgen_ty_92 = 10;
5988pub const BPF_TCP_CLOSING: _bindgen_ty_92 = 11;
5989pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_92 = 12;
5990pub const BPF_TCP_BOUND_INACTIVE: _bindgen_ty_92 = 13;
5991pub const BPF_TCP_MAX_STATES: _bindgen_ty_92 = 14;
5992pub type _bindgen_ty_92 = ::std::os::raw::c_uint;
5993pub const BPF_LOAD_HDR_OPT_TCP_SYN: _bindgen_ty_94 = 1;
5994pub type _bindgen_ty_94 = ::std::os::raw::c_uint;
5995pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: _bindgen_ty_95 = 1;
5996pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: _bindgen_ty_95 = 2;
5997pub type _bindgen_ty_95 = ::std::os::raw::c_uint;
5998#[repr(C)]
5999#[derive(Debug, Default, Copy, Clone)]
6000pub struct bpf_perf_event_value {
6001 pub counter: __u64,
6002 pub enabled: __u64,
6003 pub running: __u64,
6004}
6005pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_96 = 1;
6006pub const BPF_DEVCG_ACC_READ: _bindgen_ty_96 = 2;
6007pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_96 = 4;
6008pub type _bindgen_ty_96 = ::std::os::raw::c_uint;
6009pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_97 = 1;
6010pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_97 = 2;
6011pub type _bindgen_ty_97 = ::std::os::raw::c_uint;
6012#[repr(C)]
6013#[derive(Debug, Default, Copy, Clone)]
6014pub struct bpf_cgroup_dev_ctx {
6015 pub access_type: __u32,
6016 pub major: __u32,
6017 pub minor: __u32,
6018}
6019#[repr(C)]
6020#[derive(Debug, Default)]
6021pub struct bpf_raw_tracepoint_args {
6022 pub args: __IncompleteArrayField<__u64>,
6023}
6024pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_98 = 1;
6025pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_98 = 2;
6026pub const BPF_FIB_LOOKUP_SKIP_NEIGH: _bindgen_ty_98 = 4;
6027pub const BPF_FIB_LOOKUP_TBID: _bindgen_ty_98 = 8;
6028pub const BPF_FIB_LOOKUP_SRC: _bindgen_ty_98 = 16;
6029pub const BPF_FIB_LOOKUP_MARK: _bindgen_ty_98 = 32;
6030pub type _bindgen_ty_98 = ::std::os::raw::c_uint;
6031pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_99 = 0;
6032pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_99 = 1;
6033pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_99 = 2;
6034pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_99 = 3;
6035pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_99 = 4;
6036pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_99 = 5;
6037pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_99 = 6;
6038pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_99 = 7;
6039pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_99 = 8;
6040pub const BPF_FIB_LKUP_RET_NO_SRC_ADDR: _bindgen_ty_99 = 9;
6041pub type _bindgen_ty_99 = ::std::os::raw::c_uint;
6042#[repr(C)]
6043#[derive(Copy, Clone)]
6044pub struct bpf_fib_lookup {
6045 pub family: __u8,
6046 pub l4_protocol: __u8,
6047 pub sport: __be16,
6048 pub dport: __be16,
6049 pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_1,
6050 pub ifindex: __u32,
6051 pub __bindgen_anon_2: bpf_fib_lookup__bindgen_ty_2,
6052 pub __bindgen_anon_3: bpf_fib_lookup__bindgen_ty_3,
6053 pub __bindgen_anon_4: bpf_fib_lookup__bindgen_ty_4,
6054 pub __bindgen_anon_5: bpf_fib_lookup__bindgen_ty_5,
6055 pub __bindgen_anon_6: bpf_fib_lookup__bindgen_ty_6,
6056}
6057#[repr(C, packed(2))]
6058#[derive(Copy, Clone)]
6059pub union bpf_fib_lookup__bindgen_ty_1 {
6060 pub tot_len: __u16,
6061 pub mtu_result: __u16,
6062}
6063impl Default for bpf_fib_lookup__bindgen_ty_1 {
6064 fn default() -> Self {
6065 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6066 unsafe {
6067 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6068 s.assume_init()
6069 }
6070 }
6071}
6072#[repr(C)]
6073#[derive(Copy, Clone)]
6074pub union bpf_fib_lookup__bindgen_ty_2 {
6075 pub tos: __u8,
6076 pub flowinfo: __be32,
6077 pub rt_metric: __u32,
6078}
6079impl Default for bpf_fib_lookup__bindgen_ty_2 {
6080 fn default() -> Self {
6081 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6082 unsafe {
6083 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6084 s.assume_init()
6085 }
6086 }
6087}
6088#[repr(C)]
6089#[derive(Copy, Clone)]
6090pub union bpf_fib_lookup__bindgen_ty_3 {
6091 pub ipv4_src: __be32,
6092 pub ipv6_src: [__u32; 4usize],
6093}
6094impl Default for bpf_fib_lookup__bindgen_ty_3 {
6095 fn default() -> Self {
6096 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6097 unsafe {
6098 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6099 s.assume_init()
6100 }
6101 }
6102}
6103#[repr(C)]
6104#[derive(Copy, Clone)]
6105pub union bpf_fib_lookup__bindgen_ty_4 {
6106 pub ipv4_dst: __be32,
6107 pub ipv6_dst: [__u32; 4usize],
6108}
6109impl Default for bpf_fib_lookup__bindgen_ty_4 {
6110 fn default() -> Self {
6111 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6112 unsafe {
6113 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6114 s.assume_init()
6115 }
6116 }
6117}
6118#[repr(C)]
6119#[derive(Copy, Clone)]
6120pub union bpf_fib_lookup__bindgen_ty_5 {
6121 pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_5__bindgen_ty_1,
6122 pub tbid: __u32,
6123}
6124#[repr(C)]
6125#[derive(Debug, Default, Copy, Clone)]
6126pub struct bpf_fib_lookup__bindgen_ty_5__bindgen_ty_1 {
6127 pub h_vlan_proto: __be16,
6128 pub h_vlan_TCI: __be16,
6129}
6130impl Default for bpf_fib_lookup__bindgen_ty_5 {
6131 fn default() -> Self {
6132 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6133 unsafe {
6134 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6135 s.assume_init()
6136 }
6137 }
6138}
6139#[repr(C)]
6140#[derive(Copy, Clone)]
6141pub union bpf_fib_lookup__bindgen_ty_6 {
6142 pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_6__bindgen_ty_1,
6143 pub __bindgen_anon_2: bpf_fib_lookup__bindgen_ty_6__bindgen_ty_2,
6144}
6145#[repr(C)]
6146#[derive(Debug, Default, Copy, Clone)]
6147pub struct bpf_fib_lookup__bindgen_ty_6__bindgen_ty_1 {
6148 pub mark: __u32,
6149}
6150#[repr(C)]
6151#[derive(Debug, Default, Copy, Clone)]
6152pub struct bpf_fib_lookup__bindgen_ty_6__bindgen_ty_2 {
6153 pub smac: [__u8; 6usize],
6154 pub dmac: [__u8; 6usize],
6155}
6156impl Default for bpf_fib_lookup__bindgen_ty_6 {
6157 fn default() -> Self {
6158 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6159 unsafe {
6160 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6161 s.assume_init()
6162 }
6163 }
6164}
6165impl Default for bpf_fib_lookup {
6166 fn default() -> Self {
6167 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6168 unsafe {
6169 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6170 s.assume_init()
6171 }
6172 }
6173}
6174#[repr(C)]
6175#[derive(Copy, Clone)]
6176pub struct bpf_redir_neigh {
6177 pub nh_family: __u32,
6178 pub __bindgen_anon_1: bpf_redir_neigh__bindgen_ty_1,
6179}
6180#[repr(C)]
6181#[derive(Copy, Clone)]
6182pub union bpf_redir_neigh__bindgen_ty_1 {
6183 pub ipv4_nh: __be32,
6184 pub ipv6_nh: [__u32; 4usize],
6185}
6186impl Default for bpf_redir_neigh__bindgen_ty_1 {
6187 fn default() -> Self {
6188 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6189 unsafe {
6190 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6191 s.assume_init()
6192 }
6193 }
6194}
6195impl Default for bpf_redir_neigh {
6196 fn default() -> Self {
6197 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6198 unsafe {
6199 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6200 s.assume_init()
6201 }
6202 }
6203}
6204pub const BPF_MTU_CHK_SEGS: bpf_check_mtu_flags = 1;
6205pub type bpf_check_mtu_flags = ::std::os::raw::c_uint;
6206pub const BPF_MTU_CHK_RET_SUCCESS: bpf_check_mtu_ret = 0;
6207pub const BPF_MTU_CHK_RET_FRAG_NEEDED: bpf_check_mtu_ret = 1;
6208pub const BPF_MTU_CHK_RET_SEGS_TOOBIG: bpf_check_mtu_ret = 2;
6209pub type bpf_check_mtu_ret = ::std::os::raw::c_uint;
6210pub const BPF_FD_TYPE_RAW_TRACEPOINT: bpf_task_fd_type = 0;
6211pub const BPF_FD_TYPE_TRACEPOINT: bpf_task_fd_type = 1;
6212pub const BPF_FD_TYPE_KPROBE: bpf_task_fd_type = 2;
6213pub const BPF_FD_TYPE_KRETPROBE: bpf_task_fd_type = 3;
6214pub const BPF_FD_TYPE_UPROBE: bpf_task_fd_type = 4;
6215pub const BPF_FD_TYPE_URETPROBE: bpf_task_fd_type = 5;
6216pub type bpf_task_fd_type = ::std::os::raw::c_uint;
6217pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_100 = 1;
6218pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_100 = 2;
6219pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_100 = 4;
6220pub type _bindgen_ty_100 = ::std::os::raw::c_uint;
6221#[repr(C)]
6222#[derive(Copy, Clone)]
6223pub struct bpf_flow_keys {
6224 pub nhoff: __u16,
6225 pub thoff: __u16,
6226 pub addr_proto: __u16,
6227 pub is_frag: __u8,
6228 pub is_first_frag: __u8,
6229 pub is_encap: __u8,
6230 pub ip_proto: __u8,
6231 pub n_proto: __be16,
6232 pub sport: __be16,
6233 pub dport: __be16,
6234 pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1,
6235 pub flags: __u32,
6236 pub flow_label: __be32,
6237}
6238#[repr(C)]
6239#[derive(Copy, Clone)]
6240pub union bpf_flow_keys__bindgen_ty_1 {
6241 pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1__bindgen_ty_1,
6242 pub __bindgen_anon_2: bpf_flow_keys__bindgen_ty_1__bindgen_ty_2,
6243}
6244#[repr(C)]
6245#[derive(Debug, Default, Copy, Clone)]
6246pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_1 {
6247 pub ipv4_src: __be32,
6248 pub ipv4_dst: __be32,
6249}
6250#[repr(C)]
6251#[derive(Debug, Default, Copy, Clone)]
6252pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_2 {
6253 pub ipv6_src: [__u32; 4usize],
6254 pub ipv6_dst: [__u32; 4usize],
6255}
6256impl Default for bpf_flow_keys__bindgen_ty_1 {
6257 fn default() -> Self {
6258 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6259 unsafe {
6260 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6261 s.assume_init()
6262 }
6263 }
6264}
6265impl Default for bpf_flow_keys {
6266 fn default() -> Self {
6267 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6268 unsafe {
6269 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6270 s.assume_init()
6271 }
6272 }
6273}
6274#[repr(C)]
6275#[derive(Debug, Default, Copy, Clone)]
6276pub struct bpf_func_info {
6277 pub insn_off: __u32,
6278 pub type_id: __u32,
6279}
6280#[repr(C)]
6281#[derive(Debug, Default, Copy, Clone)]
6282pub struct bpf_line_info {
6283 pub insn_off: __u32,
6284 pub file_name_off: __u32,
6285 pub line_off: __u32,
6286 pub line_col: __u32,
6287}
6288#[repr(C)]
6289#[derive(Debug, Default, Copy, Clone)]
6290pub struct bpf_spin_lock {
6291 pub val: __u32,
6292}
6293#[repr(C)]
6294#[derive(Debug, Default, Copy, Clone)]
6295pub struct bpf_timer {
6296 pub __opaque: [__u64; 2usize],
6297}
6298#[repr(C)]
6299#[derive(Debug, Default, Copy, Clone)]
6300pub struct bpf_wq {
6301 pub __opaque: [__u64; 2usize],
6302}
6303#[repr(C)]
6304#[derive(Debug, Default, Copy, Clone)]
6305pub struct bpf_dynptr {
6306 pub __opaque: [__u64; 2usize],
6307}
6308#[repr(C)]
6309#[derive(Debug, Default, Copy, Clone)]
6310pub struct bpf_list_head {
6311 pub __opaque: [__u64; 2usize],
6312}
6313#[repr(C)]
6314#[derive(Debug, Default, Copy, Clone)]
6315pub struct bpf_list_node {
6316 pub __opaque: [__u64; 3usize],
6317}
6318#[repr(C)]
6319#[derive(Debug, Default, Copy, Clone)]
6320pub struct bpf_rb_root {
6321 pub __opaque: [__u64; 2usize],
6322}
6323#[repr(C)]
6324#[derive(Debug, Default, Copy, Clone)]
6325pub struct bpf_rb_node {
6326 pub __opaque: [__u64; 4usize],
6327}
6328#[repr(C)]
6329#[derive(Debug, Default, Copy, Clone)]
6330pub struct bpf_refcount {
6331 pub __opaque: [__u32; 1usize],
6332}
6333#[repr(C)]
6334#[derive(Debug, Default, Copy, Clone)]
6335pub struct bpf_sysctl {
6336 pub write: __u32,
6337 pub file_pos: __u32,
6338}
6339#[repr(C)]
6340#[derive(Copy, Clone)]
6341pub struct bpf_sockopt {
6342 pub __bindgen_anon_1: bpf_sockopt__bindgen_ty_1,
6343 pub __bindgen_anon_2: bpf_sockopt__bindgen_ty_2,
6344 pub __bindgen_anon_3: bpf_sockopt__bindgen_ty_3,
6345 pub level: __s32,
6346 pub optname: __s32,
6347 pub optlen: __s32,
6348 pub retval: __s32,
6349}
6350#[repr(C)]
6351#[derive(Copy, Clone)]
6352pub union bpf_sockopt__bindgen_ty_1 {
6353 pub sk: *mut bpf_sock,
6354 pub _bitfield_align_1: [u8; 0],
6355 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
6356}
6357impl Default for bpf_sockopt__bindgen_ty_1 {
6358 fn default() -> Self {
6359 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6360 unsafe {
6361 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6362 s.assume_init()
6363 }
6364 }
6365}
6366impl bpf_sockopt__bindgen_ty_1 {
6367 #[inline]
6368 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
6369 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
6370 __bindgen_bitfield_unit
6371 }
6372}
6373#[repr(C)]
6374#[derive(Copy, Clone)]
6375pub union bpf_sockopt__bindgen_ty_2 {
6376 pub optval: *mut ::std::os::raw::c_void,
6377 pub _bitfield_align_1: [u8; 0],
6378 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
6379}
6380impl Default for bpf_sockopt__bindgen_ty_2 {
6381 fn default() -> Self {
6382 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6383 unsafe {
6384 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6385 s.assume_init()
6386 }
6387 }
6388}
6389impl bpf_sockopt__bindgen_ty_2 {
6390 #[inline]
6391 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
6392 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
6393 __bindgen_bitfield_unit
6394 }
6395}
6396#[repr(C)]
6397#[derive(Copy, Clone)]
6398pub union bpf_sockopt__bindgen_ty_3 {
6399 pub optval_end: *mut ::std::os::raw::c_void,
6400 pub _bitfield_align_1: [u8; 0],
6401 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
6402}
6403impl Default for bpf_sockopt__bindgen_ty_3 {
6404 fn default() -> Self {
6405 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6406 unsafe {
6407 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6408 s.assume_init()
6409 }
6410 }
6411}
6412impl bpf_sockopt__bindgen_ty_3 {
6413 #[inline]
6414 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
6415 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
6416 __bindgen_bitfield_unit
6417 }
6418}
6419impl Default for bpf_sockopt {
6420 fn default() -> Self {
6421 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6422 unsafe {
6423 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6424 s.assume_init()
6425 }
6426 }
6427}
6428#[repr(C)]
6429#[derive(Debug, Default, Copy, Clone)]
6430pub struct bpf_pidns_info {
6431 pub pid: __u32,
6432 pub tgid: __u32,
6433}
6434#[repr(C)]
6435#[derive(Copy, Clone)]
6436pub struct bpf_sk_lookup {
6437 pub __bindgen_anon_1: bpf_sk_lookup__bindgen_ty_1,
6438 pub family: __u32,
6439 pub protocol: __u32,
6440 pub remote_ip4: __u32,
6441 pub remote_ip6: [__u32; 4usize],
6442 pub remote_port: __be16,
6443 pub _bitfield_align_1: [u8; 0],
6444 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
6445 pub local_ip4: __u32,
6446 pub local_ip6: [__u32; 4usize],
6447 pub local_port: __u32,
6448 pub ingress_ifindex: __u32,
6449 pub __bindgen_padding_0: [u8; 4usize],
6450}
6451#[repr(C)]
6452#[derive(Copy, Clone)]
6453pub union bpf_sk_lookup__bindgen_ty_1 {
6454 pub __bindgen_anon_1: bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1,
6455 pub cookie: __u64,
6456}
6457#[repr(C)]
6458#[derive(Copy, Clone)]
6459pub union bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1 {
6460 pub sk: *mut bpf_sock,
6461 pub _bitfield_align_1: [u8; 0],
6462 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
6463}
6464impl Default for bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1 {
6465 fn default() -> Self {
6466 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6467 unsafe {
6468 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6469 s.assume_init()
6470 }
6471 }
6472}
6473impl bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1 {
6474 #[inline]
6475 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
6476 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
6477 __bindgen_bitfield_unit
6478 }
6479}
6480impl Default for bpf_sk_lookup__bindgen_ty_1 {
6481 fn default() -> Self {
6482 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6483 unsafe {
6484 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6485 s.assume_init()
6486 }
6487 }
6488}
6489impl Default for bpf_sk_lookup {
6490 fn default() -> Self {
6491 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6492 unsafe {
6493 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6494 s.assume_init()
6495 }
6496 }
6497}
6498impl bpf_sk_lookup {
6499 #[inline]
6500 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 2usize]> {
6501 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
6502 __bindgen_bitfield_unit
6503 }
6504}
6505#[repr(C)]
6506#[derive(Debug, Copy, Clone)]
6507pub struct btf_ptr {
6508 pub ptr: *mut ::std::os::raw::c_void,
6509 pub type_id: __u32,
6510 pub flags: __u32,
6511}
6512impl Default for btf_ptr {
6513 fn default() -> Self {
6514 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6515 unsafe {
6516 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6517 s.assume_init()
6518 }
6519 }
6520}
6521pub const BTF_F_COMPACT: _bindgen_ty_101 = 1;
6522pub const BTF_F_NONAME: _bindgen_ty_101 = 2;
6523pub const BTF_F_PTR_RAW: _bindgen_ty_101 = 4;
6524pub const BTF_F_ZERO: _bindgen_ty_101 = 8;
6525pub type _bindgen_ty_101 = ::std::os::raw::c_uint;
6526pub const BPF_CORE_FIELD_BYTE_OFFSET: bpf_core_relo_kind = 0;
6527pub const BPF_CORE_FIELD_BYTE_SIZE: bpf_core_relo_kind = 1;
6528pub const BPF_CORE_FIELD_EXISTS: bpf_core_relo_kind = 2;
6529pub const BPF_CORE_FIELD_SIGNED: bpf_core_relo_kind = 3;
6530pub const BPF_CORE_FIELD_LSHIFT_U64: bpf_core_relo_kind = 4;
6531pub const BPF_CORE_FIELD_RSHIFT_U64: bpf_core_relo_kind = 5;
6532pub const BPF_CORE_TYPE_ID_LOCAL: bpf_core_relo_kind = 6;
6533pub const BPF_CORE_TYPE_ID_TARGET: bpf_core_relo_kind = 7;
6534pub const BPF_CORE_TYPE_EXISTS: bpf_core_relo_kind = 8;
6535pub const BPF_CORE_TYPE_SIZE: bpf_core_relo_kind = 9;
6536pub const BPF_CORE_ENUMVAL_EXISTS: bpf_core_relo_kind = 10;
6537pub const BPF_CORE_ENUMVAL_VALUE: bpf_core_relo_kind = 11;
6538pub const BPF_CORE_TYPE_MATCHES: bpf_core_relo_kind = 12;
6539pub type bpf_core_relo_kind = ::std::os::raw::c_uint;
6540#[repr(C)]
6541#[derive(Debug, Copy, Clone)]
6542pub struct bpf_core_relo {
6543 pub insn_off: __u32,
6544 pub type_id: __u32,
6545 pub access_str_off: __u32,
6546 pub kind: bpf_core_relo_kind,
6547}
6548impl Default for bpf_core_relo {
6549 fn default() -> Self {
6550 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6551 unsafe {
6552 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6553 s.assume_init()
6554 }
6555 }
6556}
6557pub const BPF_F_TIMER_ABS: _bindgen_ty_102 = 1;
6558pub const BPF_F_TIMER_CPU_PIN: _bindgen_ty_102 = 2;
6559pub type _bindgen_ty_102 = ::std::os::raw::c_uint;
6560#[repr(C)]
6561#[derive(Debug, Default, Copy, Clone)]
6562pub struct bpf_iter_num {
6563 pub __opaque: [__u64; 1usize],
6564}
6565pub const BPF_F_PAD_ZEROS: bpf_kfunc_flags = 1;
6566pub type bpf_kfunc_flags = ::std::os::raw::c_uint;
6567pub const LIBBPF_STRICT_ALL: libbpf_strict_mode = 4294967295;
6568pub const LIBBPF_STRICT_NONE: libbpf_strict_mode = 0;
6569pub const LIBBPF_STRICT_CLEAN_PTRS: libbpf_strict_mode = 1;
6570pub const LIBBPF_STRICT_DIRECT_ERRS: libbpf_strict_mode = 2;
6571pub const LIBBPF_STRICT_SEC_NAME: libbpf_strict_mode = 4;
6572pub const LIBBPF_STRICT_NO_OBJECT_LIST: libbpf_strict_mode = 8;
6573pub const LIBBPF_STRICT_AUTO_RLIMIT_MEMLOCK: libbpf_strict_mode = 16;
6574pub const LIBBPF_STRICT_MAP_DEFINITIONS: libbpf_strict_mode = 32;
6575pub const __LIBBPF_STRICT_LAST: libbpf_strict_mode = 33;
6576pub type libbpf_strict_mode = ::std::os::raw::c_uint;
6577unsafe extern "C" {
6578 pub fn libbpf_set_strict_mode(mode: libbpf_strict_mode) -> ::std::os::raw::c_int;
6579}
6580unsafe extern "C" {
6581 pub fn libbpf_get_error(ptr: *const ::std::os::raw::c_void) -> ::std::os::raw::c_long;
6582}
6583#[repr(C)]
6584#[derive(Debug, Copy, Clone)]
6585pub struct bpf_program {
6586 _unused: [u8; 0],
6587}
6588#[repr(C)]
6589#[derive(Debug, Copy, Clone)]
6590pub struct bpf_map {
6591 _unused: [u8; 0],
6592}
6593#[repr(C)]
6594#[derive(Debug, Copy, Clone)]
6595pub struct btf {
6596 _unused: [u8; 0],
6597}
6598#[repr(C)]
6599#[derive(Debug, Copy, Clone)]
6600pub struct btf_ext {
6601 _unused: [u8; 0],
6602}
6603unsafe extern "C" {
6604 pub fn libbpf_find_kernel_btf() -> *mut btf;
6605}
6606unsafe extern "C" {
6607 pub fn bpf_program__get_type(prog: *const bpf_program) -> bpf_prog_type;
6608}
6609unsafe extern "C" {
6610 pub fn bpf_program__get_expected_attach_type(prog: *const bpf_program) -> bpf_attach_type;
6611}
6612unsafe extern "C" {
6613 pub fn bpf_map__get_pin_path(map: *const bpf_map) -> *const ::std::os::raw::c_char;
6614}
6615unsafe extern "C" {
6616 pub fn btf__get_raw_data(btf: *const btf, size: *mut __u32) -> *const ::std::os::raw::c_void;
6617}
6618unsafe extern "C" {
6619 pub fn btf_ext__get_raw_data(
6620 btf_ext: *const btf_ext,
6621 size: *mut __u32,
6622 ) -> *const ::std::os::raw::c_void;
6623}
6624unsafe extern "C" {
6625 pub fn libbpf_set_memlock_rlim(memlock_bytes: size_t) -> ::std::os::raw::c_int;
6626}
6627#[repr(C)]
6628#[derive(Debug, Default, Copy, Clone)]
6629pub struct bpf_map_create_opts {
6630 pub sz: size_t,
6631 pub btf_fd: __u32,
6632 pub btf_key_type_id: __u32,
6633 pub btf_value_type_id: __u32,
6634 pub btf_vmlinux_value_type_id: __u32,
6635 pub inner_map_fd: __u32,
6636 pub map_flags: __u32,
6637 pub map_extra: __u64,
6638 pub numa_node: __u32,
6639 pub map_ifindex: __u32,
6640 pub value_type_btf_obj_fd: __s32,
6641 pub token_fd: __u32,
6642}
6643unsafe extern "C" {
6644 pub fn bpf_map_create(
6645 map_type: bpf_map_type,
6646 map_name: *const ::std::os::raw::c_char,
6647 key_size: __u32,
6648 value_size: __u32,
6649 max_entries: __u32,
6650 opts: *const bpf_map_create_opts,
6651 ) -> ::std::os::raw::c_int;
6652}
6653#[repr(C)]
6654#[derive(Debug, Copy, Clone)]
6655pub struct bpf_prog_load_opts {
6656 pub sz: size_t,
6657 pub attempts: ::std::os::raw::c_int,
6658 pub expected_attach_type: bpf_attach_type,
6659 pub prog_btf_fd: __u32,
6660 pub prog_flags: __u32,
6661 pub prog_ifindex: __u32,
6662 pub kern_version: __u32,
6663 pub attach_btf_id: __u32,
6664 pub attach_prog_fd: __u32,
6665 pub attach_btf_obj_fd: __u32,
6666 pub __bindgen_padding_0: [u8; 4usize],
6667 pub fd_array: *const ::std::os::raw::c_int,
6668 pub func_info: *const ::std::os::raw::c_void,
6669 pub func_info_cnt: __u32,
6670 pub func_info_rec_size: __u32,
6671 pub line_info: *const ::std::os::raw::c_void,
6672 pub line_info_cnt: __u32,
6673 pub line_info_rec_size: __u32,
6674 pub log_level: __u32,
6675 pub log_size: __u32,
6676 pub log_buf: *mut ::std::os::raw::c_char,
6677 pub log_true_size: __u32,
6678 pub token_fd: __u32,
6679 pub fd_array_cnt: __u32,
6680 pub __bindgen_padding_1: [u8; 4usize],
6681}
6682impl Default for bpf_prog_load_opts {
6683 fn default() -> Self {
6684 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6685 unsafe {
6686 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6687 s.assume_init()
6688 }
6689 }
6690}
6691unsafe extern "C" {
6692 pub fn bpf_prog_load(
6693 prog_type: bpf_prog_type,
6694 prog_name: *const ::std::os::raw::c_char,
6695 license: *const ::std::os::raw::c_char,
6696 insns: *const bpf_insn,
6697 insn_cnt: size_t,
6698 opts: *mut bpf_prog_load_opts,
6699 ) -> ::std::os::raw::c_int;
6700}
6701#[repr(C)]
6702#[derive(Debug, Copy, Clone)]
6703pub struct bpf_btf_load_opts {
6704 pub sz: size_t,
6705 pub log_buf: *mut ::std::os::raw::c_char,
6706 pub log_level: __u32,
6707 pub log_size: __u32,
6708 pub log_true_size: __u32,
6709 pub btf_flags: __u32,
6710 pub token_fd: __u32,
6711 pub __bindgen_padding_0: [u8; 4usize],
6712}
6713impl Default for bpf_btf_load_opts {
6714 fn default() -> Self {
6715 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6716 unsafe {
6717 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6718 s.assume_init()
6719 }
6720 }
6721}
6722unsafe extern "C" {
6723 pub fn bpf_btf_load(
6724 btf_data: *const ::std::os::raw::c_void,
6725 btf_size: size_t,
6726 opts: *mut bpf_btf_load_opts,
6727 ) -> ::std::os::raw::c_int;
6728}
6729unsafe extern "C" {
6730 pub fn bpf_map_update_elem(
6731 fd: ::std::os::raw::c_int,
6732 key: *const ::std::os::raw::c_void,
6733 value: *const ::std::os::raw::c_void,
6734 flags: __u64,
6735 ) -> ::std::os::raw::c_int;
6736}
6737unsafe extern "C" {
6738 pub fn bpf_map_lookup_elem(
6739 fd: ::std::os::raw::c_int,
6740 key: *const ::std::os::raw::c_void,
6741 value: *mut ::std::os::raw::c_void,
6742 ) -> ::std::os::raw::c_int;
6743}
6744unsafe extern "C" {
6745 pub fn bpf_map_lookup_elem_flags(
6746 fd: ::std::os::raw::c_int,
6747 key: *const ::std::os::raw::c_void,
6748 value: *mut ::std::os::raw::c_void,
6749 flags: __u64,
6750 ) -> ::std::os::raw::c_int;
6751}
6752unsafe extern "C" {
6753 pub fn bpf_map_lookup_and_delete_elem(
6754 fd: ::std::os::raw::c_int,
6755 key: *const ::std::os::raw::c_void,
6756 value: *mut ::std::os::raw::c_void,
6757 ) -> ::std::os::raw::c_int;
6758}
6759unsafe extern "C" {
6760 pub fn bpf_map_lookup_and_delete_elem_flags(
6761 fd: ::std::os::raw::c_int,
6762 key: *const ::std::os::raw::c_void,
6763 value: *mut ::std::os::raw::c_void,
6764 flags: __u64,
6765 ) -> ::std::os::raw::c_int;
6766}
6767unsafe extern "C" {
6768 pub fn bpf_map_delete_elem(
6769 fd: ::std::os::raw::c_int,
6770 key: *const ::std::os::raw::c_void,
6771 ) -> ::std::os::raw::c_int;
6772}
6773unsafe extern "C" {
6774 pub fn bpf_map_delete_elem_flags(
6775 fd: ::std::os::raw::c_int,
6776 key: *const ::std::os::raw::c_void,
6777 flags: __u64,
6778 ) -> ::std::os::raw::c_int;
6779}
6780unsafe extern "C" {
6781 pub fn bpf_map_get_next_key(
6782 fd: ::std::os::raw::c_int,
6783 key: *const ::std::os::raw::c_void,
6784 next_key: *mut ::std::os::raw::c_void,
6785 ) -> ::std::os::raw::c_int;
6786}
6787unsafe extern "C" {
6788 pub fn bpf_map_freeze(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6789}
6790#[repr(C)]
6791#[derive(Debug, Default, Copy, Clone)]
6792pub struct bpf_map_batch_opts {
6793 pub sz: size_t,
6794 pub elem_flags: __u64,
6795 pub flags: __u64,
6796}
6797unsafe extern "C" {
6798 pub fn bpf_map_delete_batch(
6799 fd: ::std::os::raw::c_int,
6800 keys: *const ::std::os::raw::c_void,
6801 count: *mut __u32,
6802 opts: *const bpf_map_batch_opts,
6803 ) -> ::std::os::raw::c_int;
6804}
6805unsafe extern "C" {
6806 pub fn bpf_map_lookup_batch(
6807 fd: ::std::os::raw::c_int,
6808 in_batch: *mut ::std::os::raw::c_void,
6809 out_batch: *mut ::std::os::raw::c_void,
6810 keys: *mut ::std::os::raw::c_void,
6811 values: *mut ::std::os::raw::c_void,
6812 count: *mut __u32,
6813 opts: *const bpf_map_batch_opts,
6814 ) -> ::std::os::raw::c_int;
6815}
6816unsafe extern "C" {
6817 pub fn bpf_map_lookup_and_delete_batch(
6818 fd: ::std::os::raw::c_int,
6819 in_batch: *mut ::std::os::raw::c_void,
6820 out_batch: *mut ::std::os::raw::c_void,
6821 keys: *mut ::std::os::raw::c_void,
6822 values: *mut ::std::os::raw::c_void,
6823 count: *mut __u32,
6824 opts: *const bpf_map_batch_opts,
6825 ) -> ::std::os::raw::c_int;
6826}
6827unsafe extern "C" {
6828 pub fn bpf_map_update_batch(
6829 fd: ::std::os::raw::c_int,
6830 keys: *const ::std::os::raw::c_void,
6831 values: *const ::std::os::raw::c_void,
6832 count: *mut __u32,
6833 opts: *const bpf_map_batch_opts,
6834 ) -> ::std::os::raw::c_int;
6835}
6836#[repr(C)]
6837#[derive(Debug, Default, Copy, Clone)]
6838pub struct bpf_obj_pin_opts {
6839 pub sz: size_t,
6840 pub file_flags: __u32,
6841 pub path_fd: ::std::os::raw::c_int,
6842}
6843unsafe extern "C" {
6844 pub fn bpf_obj_pin(
6845 fd: ::std::os::raw::c_int,
6846 pathname: *const ::std::os::raw::c_char,
6847 ) -> ::std::os::raw::c_int;
6848}
6849unsafe extern "C" {
6850 pub fn bpf_obj_pin_opts(
6851 fd: ::std::os::raw::c_int,
6852 pathname: *const ::std::os::raw::c_char,
6853 opts: *const bpf_obj_pin_opts,
6854 ) -> ::std::os::raw::c_int;
6855}
6856#[repr(C)]
6857#[derive(Debug, Default, Copy, Clone)]
6858pub struct bpf_obj_get_opts {
6859 pub sz: size_t,
6860 pub file_flags: __u32,
6861 pub path_fd: ::std::os::raw::c_int,
6862}
6863unsafe extern "C" {
6864 pub fn bpf_obj_get(pathname: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6865}
6866unsafe extern "C" {
6867 pub fn bpf_obj_get_opts(
6868 pathname: *const ::std::os::raw::c_char,
6869 opts: *const bpf_obj_get_opts,
6870 ) -> ::std::os::raw::c_int;
6871}
6872unsafe extern "C" {
6873 pub fn bpf_prog_attach(
6874 prog_fd: ::std::os::raw::c_int,
6875 attachable_fd: ::std::os::raw::c_int,
6876 type_: bpf_attach_type,
6877 flags: ::std::os::raw::c_uint,
6878 ) -> ::std::os::raw::c_int;
6879}
6880unsafe extern "C" {
6881 pub fn bpf_prog_detach(
6882 attachable_fd: ::std::os::raw::c_int,
6883 type_: bpf_attach_type,
6884 ) -> ::std::os::raw::c_int;
6885}
6886unsafe extern "C" {
6887 pub fn bpf_prog_detach2(
6888 prog_fd: ::std::os::raw::c_int,
6889 attachable_fd: ::std::os::raw::c_int,
6890 type_: bpf_attach_type,
6891 ) -> ::std::os::raw::c_int;
6892}
6893#[repr(C)]
6894#[derive(Copy, Clone)]
6895pub struct bpf_prog_attach_opts {
6896 pub sz: size_t,
6897 pub flags: __u32,
6898 pub __bindgen_anon_1: bpf_prog_attach_opts__bindgen_ty_1,
6899 pub relative_fd: ::std::os::raw::c_int,
6900 pub relative_id: __u32,
6901 pub expected_revision: __u64,
6902}
6903#[repr(C)]
6904#[derive(Copy, Clone)]
6905pub union bpf_prog_attach_opts__bindgen_ty_1 {
6906 pub replace_prog_fd: ::std::os::raw::c_int,
6907 pub replace_fd: ::std::os::raw::c_int,
6908}
6909impl Default for bpf_prog_attach_opts__bindgen_ty_1 {
6910 fn default() -> Self {
6911 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6912 unsafe {
6913 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6914 s.assume_init()
6915 }
6916 }
6917}
6918impl Default for bpf_prog_attach_opts {
6919 fn default() -> Self {
6920 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6921 unsafe {
6922 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6923 s.assume_init()
6924 }
6925 }
6926}
6927#[repr(C)]
6928#[derive(Debug, Default, Copy, Clone)]
6929pub struct bpf_prog_detach_opts {
6930 pub sz: size_t,
6931 pub flags: __u32,
6932 pub relative_fd: ::std::os::raw::c_int,
6933 pub relative_id: __u32,
6934 pub __bindgen_padding_0: [u8; 4usize],
6935 pub expected_revision: __u64,
6936}
6937unsafe extern "C" {
6938 pub fn bpf_prog_attach_opts(
6939 prog_fd: ::std::os::raw::c_int,
6940 target: ::std::os::raw::c_int,
6941 type_: bpf_attach_type,
6942 opts: *const bpf_prog_attach_opts,
6943 ) -> ::std::os::raw::c_int;
6944}
6945unsafe extern "C" {
6946 pub fn bpf_prog_detach_opts(
6947 prog_fd: ::std::os::raw::c_int,
6948 target: ::std::os::raw::c_int,
6949 type_: bpf_attach_type,
6950 opts: *const bpf_prog_detach_opts,
6951 ) -> ::std::os::raw::c_int;
6952}
6953#[repr(C)]
6954#[derive(Copy, Clone)]
6955pub struct bpf_link_create_opts {
6956 pub sz: size_t,
6957 pub flags: __u32,
6958 pub __bindgen_padding_0: [u8; 4usize],
6959 pub iter_info: *mut bpf_iter_link_info,
6960 pub iter_info_len: __u32,
6961 pub target_btf_id: __u32,
6962 pub __bindgen_anon_1: bpf_link_create_opts__bindgen_ty_1,
6963}
6964#[repr(C)]
6965#[derive(Copy, Clone)]
6966pub union bpf_link_create_opts__bindgen_ty_1 {
6967 pub perf_event: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_1,
6968 pub kprobe_multi: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_2,
6969 pub uprobe_multi: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_3,
6970 pub tracing: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_4,
6971 pub netfilter: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_5,
6972 pub tcx: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_6,
6973 pub netkit: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_7,
6974 pub cgroup: bpf_link_create_opts__bindgen_ty_1__bindgen_ty_8,
6975}
6976#[repr(C)]
6977#[derive(Debug, Default, Copy, Clone)]
6978pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_1 {
6979 pub bpf_cookie: __u64,
6980}
6981#[repr(C)]
6982#[derive(Debug, Copy, Clone)]
6983pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_2 {
6984 pub flags: __u32,
6985 pub cnt: __u32,
6986 pub syms: *mut *const ::std::os::raw::c_char,
6987 pub addrs: *const ::std::os::raw::c_ulong,
6988 pub cookies: *const __u64,
6989}
6990impl Default for bpf_link_create_opts__bindgen_ty_1__bindgen_ty_2 {
6991 fn default() -> Self {
6992 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6993 unsafe {
6994 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6995 s.assume_init()
6996 }
6997 }
6998}
6999#[repr(C)]
7000#[derive(Debug, Copy, Clone)]
7001pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_3 {
7002 pub flags: __u32,
7003 pub cnt: __u32,
7004 pub path: *const ::std::os::raw::c_char,
7005 pub offsets: *const ::std::os::raw::c_ulong,
7006 pub ref_ctr_offsets: *const ::std::os::raw::c_ulong,
7007 pub cookies: *const __u64,
7008 pub pid: __u32,
7009 pub __bindgen_padding_0: [u8; 4usize],
7010}
7011impl Default for bpf_link_create_opts__bindgen_ty_1__bindgen_ty_3 {
7012 fn default() -> Self {
7013 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7014 unsafe {
7015 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7016 s.assume_init()
7017 }
7018 }
7019}
7020#[repr(C)]
7021#[derive(Debug, Default, Copy, Clone)]
7022pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_4 {
7023 pub cookie: __u64,
7024}
7025#[repr(C)]
7026#[derive(Debug, Default, Copy, Clone)]
7027pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_5 {
7028 pub pf: __u32,
7029 pub hooknum: __u32,
7030 pub priority: __s32,
7031 pub flags: __u32,
7032}
7033#[repr(C)]
7034#[derive(Debug, Default, Copy, Clone)]
7035pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_6 {
7036 pub relative_fd: __u32,
7037 pub relative_id: __u32,
7038 pub expected_revision: __u64,
7039}
7040#[repr(C)]
7041#[derive(Debug, Default, Copy, Clone)]
7042pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_7 {
7043 pub relative_fd: __u32,
7044 pub relative_id: __u32,
7045 pub expected_revision: __u64,
7046}
7047#[repr(C)]
7048#[derive(Debug, Default, Copy, Clone)]
7049pub struct bpf_link_create_opts__bindgen_ty_1__bindgen_ty_8 {
7050 pub relative_fd: __u32,
7051 pub relative_id: __u32,
7052 pub expected_revision: __u64,
7053}
7054impl Default for bpf_link_create_opts__bindgen_ty_1 {
7055 fn default() -> Self {
7056 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7057 unsafe {
7058 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7059 s.assume_init()
7060 }
7061 }
7062}
7063impl Default for bpf_link_create_opts {
7064 fn default() -> Self {
7065 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7066 unsafe {
7067 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7068 s.assume_init()
7069 }
7070 }
7071}
7072unsafe extern "C" {
7073 pub fn bpf_link_create(
7074 prog_fd: ::std::os::raw::c_int,
7075 target_fd: ::std::os::raw::c_int,
7076 attach_type: bpf_attach_type,
7077 opts: *const bpf_link_create_opts,
7078 ) -> ::std::os::raw::c_int;
7079}
7080unsafe extern "C" {
7081 pub fn bpf_link_detach(link_fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7082}
7083#[repr(C)]
7084#[derive(Debug, Default, Copy, Clone)]
7085pub struct bpf_link_update_opts {
7086 pub sz: size_t,
7087 pub flags: __u32,
7088 pub old_prog_fd: __u32,
7089 pub old_map_fd: __u32,
7090 pub __bindgen_padding_0: [u8; 4usize],
7091}
7092unsafe extern "C" {
7093 pub fn bpf_link_update(
7094 link_fd: ::std::os::raw::c_int,
7095 new_prog_fd: ::std::os::raw::c_int,
7096 opts: *const bpf_link_update_opts,
7097 ) -> ::std::os::raw::c_int;
7098}
7099unsafe extern "C" {
7100 pub fn bpf_iter_create(link_fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7101}
7102#[repr(C)]
7103#[derive(Debug, Copy, Clone)]
7104pub struct bpf_prog_test_run_attr {
7105 pub prog_fd: ::std::os::raw::c_int,
7106 pub repeat: ::std::os::raw::c_int,
7107 pub data_in: *const ::std::os::raw::c_void,
7108 pub data_size_in: __u32,
7109 pub __bindgen_padding_0: [u8; 4usize],
7110 pub data_out: *mut ::std::os::raw::c_void,
7111 pub data_size_out: __u32,
7112 pub retval: __u32,
7113 pub duration: __u32,
7114 pub __bindgen_padding_1: [u8; 4usize],
7115 pub ctx_in: *const ::std::os::raw::c_void,
7116 pub ctx_size_in: __u32,
7117 pub __bindgen_padding_2: [u8; 4usize],
7118 pub ctx_out: *mut ::std::os::raw::c_void,
7119 pub ctx_size_out: __u32,
7120 pub __bindgen_padding_3: [u8; 4usize],
7121}
7122impl Default for bpf_prog_test_run_attr {
7123 fn default() -> Self {
7124 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7125 unsafe {
7126 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7127 s.assume_init()
7128 }
7129 }
7130}
7131unsafe extern "C" {
7132 pub fn bpf_prog_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
7133}
7134unsafe extern "C" {
7135 pub fn bpf_map_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
7136}
7137unsafe extern "C" {
7138 pub fn bpf_btf_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
7139}
7140unsafe extern "C" {
7141 pub fn bpf_link_get_next_id(start_id: __u32, next_id: *mut __u32) -> ::std::os::raw::c_int;
7142}
7143#[repr(C)]
7144#[derive(Debug, Default, Copy, Clone)]
7145pub struct bpf_get_fd_by_id_opts {
7146 pub sz: size_t,
7147 pub open_flags: __u32,
7148 pub token_fd: __u32,
7149}
7150unsafe extern "C" {
7151 pub fn bpf_prog_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
7152}
7153unsafe extern "C" {
7154 pub fn bpf_prog_get_fd_by_id_opts(
7155 id: __u32,
7156 opts: *const bpf_get_fd_by_id_opts,
7157 ) -> ::std::os::raw::c_int;
7158}
7159unsafe extern "C" {
7160 pub fn bpf_map_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
7161}
7162unsafe extern "C" {
7163 pub fn bpf_map_get_fd_by_id_opts(
7164 id: __u32,
7165 opts: *const bpf_get_fd_by_id_opts,
7166 ) -> ::std::os::raw::c_int;
7167}
7168unsafe extern "C" {
7169 pub fn bpf_btf_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
7170}
7171unsafe extern "C" {
7172 pub fn bpf_btf_get_fd_by_id_opts(
7173 id: __u32,
7174 opts: *const bpf_get_fd_by_id_opts,
7175 ) -> ::std::os::raw::c_int;
7176}
7177unsafe extern "C" {
7178 pub fn bpf_link_get_fd_by_id(id: __u32) -> ::std::os::raw::c_int;
7179}
7180unsafe extern "C" {
7181 pub fn bpf_link_get_fd_by_id_opts(
7182 id: __u32,
7183 opts: *const bpf_get_fd_by_id_opts,
7184 ) -> ::std::os::raw::c_int;
7185}
7186unsafe extern "C" {
7187 pub fn bpf_obj_get_info_by_fd(
7188 bpf_fd: ::std::os::raw::c_int,
7189 info: *mut ::std::os::raw::c_void,
7190 info_len: *mut __u32,
7191 ) -> ::std::os::raw::c_int;
7192}
7193unsafe extern "C" {
7194 pub fn bpf_prog_get_info_by_fd(
7195 prog_fd: ::std::os::raw::c_int,
7196 info: *mut bpf_prog_info,
7197 info_len: *mut __u32,
7198 ) -> ::std::os::raw::c_int;
7199}
7200unsafe extern "C" {
7201 pub fn bpf_map_get_info_by_fd(
7202 map_fd: ::std::os::raw::c_int,
7203 info: *mut bpf_map_info,
7204 info_len: *mut __u32,
7205 ) -> ::std::os::raw::c_int;
7206}
7207unsafe extern "C" {
7208 pub fn bpf_btf_get_info_by_fd(
7209 btf_fd: ::std::os::raw::c_int,
7210 info: *mut bpf_btf_info,
7211 info_len: *mut __u32,
7212 ) -> ::std::os::raw::c_int;
7213}
7214unsafe extern "C" {
7215 pub fn bpf_link_get_info_by_fd(
7216 link_fd: ::std::os::raw::c_int,
7217 info: *mut bpf_link_info,
7218 info_len: *mut __u32,
7219 ) -> ::std::os::raw::c_int;
7220}
7221#[repr(C)]
7222#[derive(Copy, Clone)]
7223pub struct bpf_prog_query_opts {
7224 pub sz: size_t,
7225 pub query_flags: __u32,
7226 pub attach_flags: __u32,
7227 pub prog_ids: *mut __u32,
7228 pub __bindgen_anon_1: bpf_prog_query_opts__bindgen_ty_1,
7229 pub __bindgen_padding_0: [u8; 4usize],
7230 pub prog_attach_flags: *mut __u32,
7231 pub link_ids: *mut __u32,
7232 pub link_attach_flags: *mut __u32,
7233 pub revision: __u64,
7234}
7235#[repr(C)]
7236#[derive(Copy, Clone)]
7237pub union bpf_prog_query_opts__bindgen_ty_1 {
7238 pub prog_cnt: __u32,
7239 pub count: __u32,
7240}
7241impl Default for bpf_prog_query_opts__bindgen_ty_1 {
7242 fn default() -> Self {
7243 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7244 unsafe {
7245 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7246 s.assume_init()
7247 }
7248 }
7249}
7250impl Default for bpf_prog_query_opts {
7251 fn default() -> Self {
7252 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7253 unsafe {
7254 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7255 s.assume_init()
7256 }
7257 }
7258}
7259unsafe extern "C" {
7260 pub fn bpf_prog_query_opts(
7261 target: ::std::os::raw::c_int,
7262 type_: bpf_attach_type,
7263 opts: *mut bpf_prog_query_opts,
7264 ) -> ::std::os::raw::c_int;
7265}
7266unsafe extern "C" {
7267 pub fn bpf_prog_query(
7268 target_fd: ::std::os::raw::c_int,
7269 type_: bpf_attach_type,
7270 query_flags: __u32,
7271 attach_flags: *mut __u32,
7272 prog_ids: *mut __u32,
7273 prog_cnt: *mut __u32,
7274 ) -> ::std::os::raw::c_int;
7275}
7276#[repr(C)]
7277#[derive(Debug, Copy, Clone)]
7278pub struct bpf_raw_tp_opts {
7279 pub sz: size_t,
7280 pub tp_name: *const ::std::os::raw::c_char,
7281 pub cookie: __u64,
7282}
7283impl Default for bpf_raw_tp_opts {
7284 fn default() -> Self {
7285 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7286 unsafe {
7287 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7288 s.assume_init()
7289 }
7290 }
7291}
7292unsafe extern "C" {
7293 pub fn bpf_raw_tracepoint_open_opts(
7294 prog_fd: ::std::os::raw::c_int,
7295 opts: *mut bpf_raw_tp_opts,
7296 ) -> ::std::os::raw::c_int;
7297}
7298unsafe extern "C" {
7299 pub fn bpf_raw_tracepoint_open(
7300 name: *const ::std::os::raw::c_char,
7301 prog_fd: ::std::os::raw::c_int,
7302 ) -> ::std::os::raw::c_int;
7303}
7304unsafe extern "C" {
7305 pub fn bpf_task_fd_query(
7306 pid: ::std::os::raw::c_int,
7307 fd: ::std::os::raw::c_int,
7308 flags: __u32,
7309 buf: *mut ::std::os::raw::c_char,
7310 buf_len: *mut __u32,
7311 prog_id: *mut __u32,
7312 fd_type: *mut __u32,
7313 probe_offset: *mut __u64,
7314 probe_addr: *mut __u64,
7315 ) -> ::std::os::raw::c_int;
7316}
7317unsafe extern "C" {
7318 pub fn bpf_enable_stats(type_: bpf_stats_type) -> ::std::os::raw::c_int;
7319}
7320#[repr(C)]
7321#[derive(Debug, Default, Copy, Clone)]
7322pub struct bpf_prog_bind_opts {
7323 pub sz: size_t,
7324 pub flags: __u32,
7325 pub __bindgen_padding_0: [u8; 4usize],
7326}
7327unsafe extern "C" {
7328 pub fn bpf_prog_bind_map(
7329 prog_fd: ::std::os::raw::c_int,
7330 map_fd: ::std::os::raw::c_int,
7331 opts: *const bpf_prog_bind_opts,
7332 ) -> ::std::os::raw::c_int;
7333}
7334#[repr(C)]
7335#[derive(Debug, Copy, Clone)]
7336pub struct bpf_test_run_opts {
7337 pub sz: size_t,
7338 pub data_in: *const ::std::os::raw::c_void,
7339 pub data_out: *mut ::std::os::raw::c_void,
7340 pub data_size_in: __u32,
7341 pub data_size_out: __u32,
7342 pub ctx_in: *const ::std::os::raw::c_void,
7343 pub ctx_out: *mut ::std::os::raw::c_void,
7344 pub ctx_size_in: __u32,
7345 pub ctx_size_out: __u32,
7346 pub retval: __u32,
7347 pub repeat: ::std::os::raw::c_int,
7348 pub duration: __u32,
7349 pub flags: __u32,
7350 pub cpu: __u32,
7351 pub batch_size: __u32,
7352}
7353impl Default for bpf_test_run_opts {
7354 fn default() -> Self {
7355 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7356 unsafe {
7357 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7358 s.assume_init()
7359 }
7360 }
7361}
7362unsafe extern "C" {
7363 pub fn bpf_prog_test_run_opts(
7364 prog_fd: ::std::os::raw::c_int,
7365 opts: *mut bpf_test_run_opts,
7366 ) -> ::std::os::raw::c_int;
7367}
7368#[repr(C)]
7369#[derive(Debug, Default, Copy, Clone)]
7370pub struct bpf_token_create_opts {
7371 pub sz: size_t,
7372 pub flags: __u32,
7373 pub __bindgen_padding_0: [u8; 4usize],
7374}
7375unsafe extern "C" {
7376 pub fn bpf_token_create(
7377 bpffs_fd: ::std::os::raw::c_int,
7378 opts: *mut bpf_token_create_opts,
7379 ) -> ::std::os::raw::c_int;
7380}
7381#[repr(C)]
7382#[derive(Debug, Default, Copy, Clone)]
7383pub struct bpf_prog_stream_read_opts {
7384 pub sz: size_t,
7385}
7386unsafe extern "C" {
7387 pub fn bpf_prog_stream_read(
7388 prog_fd: ::std::os::raw::c_int,
7389 stream_id: __u32,
7390 buf: *mut ::std::os::raw::c_void,
7391 buf_len: __u32,
7392 opts: *mut bpf_prog_stream_read_opts,
7393 ) -> ::std::os::raw::c_int;
7394}
7395pub type __gnuc_va_list = __builtin_va_list;
7396pub type va_list = __builtin_va_list;
7397#[repr(C)]
7398#[derive(Debug, Default, Copy, Clone)]
7399pub struct btf_header {
7400 pub magic: __u16,
7401 pub version: __u8,
7402 pub flags: __u8,
7403 pub hdr_len: __u32,
7404 pub type_off: __u32,
7405 pub type_len: __u32,
7406 pub str_off: __u32,
7407 pub str_len: __u32,
7408}
7409#[repr(C)]
7410#[derive(Copy, Clone)]
7411pub struct btf_type {
7412 pub name_off: __u32,
7413 pub info: __u32,
7414 pub __bindgen_anon_1: btf_type__bindgen_ty_1,
7415}
7416#[repr(C)]
7417#[derive(Copy, Clone)]
7418pub union btf_type__bindgen_ty_1 {
7419 pub size: __u32,
7420 pub type_: __u32,
7421}
7422impl Default for btf_type__bindgen_ty_1 {
7423 fn default() -> Self {
7424 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7425 unsafe {
7426 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7427 s.assume_init()
7428 }
7429 }
7430}
7431impl Default for btf_type {
7432 fn default() -> Self {
7433 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7434 unsafe {
7435 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7436 s.assume_init()
7437 }
7438 }
7439}
7440pub const BTF_KIND_UNKN: _bindgen_ty_103 = 0;
7441pub const BTF_KIND_INT: _bindgen_ty_103 = 1;
7442pub const BTF_KIND_PTR: _bindgen_ty_103 = 2;
7443pub const BTF_KIND_ARRAY: _bindgen_ty_103 = 3;
7444pub const BTF_KIND_STRUCT: _bindgen_ty_103 = 4;
7445pub const BTF_KIND_UNION: _bindgen_ty_103 = 5;
7446pub const BTF_KIND_ENUM: _bindgen_ty_103 = 6;
7447pub const BTF_KIND_FWD: _bindgen_ty_103 = 7;
7448pub const BTF_KIND_TYPEDEF: _bindgen_ty_103 = 8;
7449pub const BTF_KIND_VOLATILE: _bindgen_ty_103 = 9;
7450pub const BTF_KIND_CONST: _bindgen_ty_103 = 10;
7451pub const BTF_KIND_RESTRICT: _bindgen_ty_103 = 11;
7452pub const BTF_KIND_FUNC: _bindgen_ty_103 = 12;
7453pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_103 = 13;
7454pub const BTF_KIND_VAR: _bindgen_ty_103 = 14;
7455pub const BTF_KIND_DATASEC: _bindgen_ty_103 = 15;
7456pub const BTF_KIND_FLOAT: _bindgen_ty_103 = 16;
7457pub const BTF_KIND_DECL_TAG: _bindgen_ty_103 = 17;
7458pub const BTF_KIND_TYPE_TAG: _bindgen_ty_103 = 18;
7459pub const BTF_KIND_ENUM64: _bindgen_ty_103 = 19;
7460pub const NR_BTF_KINDS: _bindgen_ty_103 = 20;
7461pub const BTF_KIND_MAX: _bindgen_ty_103 = 19;
7462pub type _bindgen_ty_103 = ::std::os::raw::c_uint;
7463#[repr(C)]
7464#[derive(Debug, Default, Copy, Clone)]
7465pub struct btf_enum {
7466 pub name_off: __u32,
7467 pub val: __s32,
7468}
7469#[repr(C)]
7470#[derive(Debug, Default, Copy, Clone)]
7471pub struct btf_array {
7472 pub type_: __u32,
7473 pub index_type: __u32,
7474 pub nelems: __u32,
7475}
7476#[repr(C)]
7477#[derive(Debug, Default, Copy, Clone)]
7478pub struct btf_member {
7479 pub name_off: __u32,
7480 pub type_: __u32,
7481 pub offset: __u32,
7482}
7483#[repr(C)]
7484#[derive(Debug, Default, Copy, Clone)]
7485pub struct btf_param {
7486 pub name_off: __u32,
7487 pub type_: __u32,
7488}
7489pub const BTF_VAR_STATIC: _bindgen_ty_104 = 0;
7490pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_104 = 1;
7491pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_104 = 2;
7492pub type _bindgen_ty_104 = ::std::os::raw::c_uint;
7493pub const BTF_FUNC_STATIC: btf_func_linkage = 0;
7494pub const BTF_FUNC_GLOBAL: btf_func_linkage = 1;
7495pub const BTF_FUNC_EXTERN: btf_func_linkage = 2;
7496pub type btf_func_linkage = ::std::os::raw::c_uint;
7497#[repr(C)]
7498#[derive(Debug, Default, Copy, Clone)]
7499pub struct btf_var {
7500 pub linkage: __u32,
7501}
7502#[repr(C)]
7503#[derive(Debug, Default, Copy, Clone)]
7504pub struct btf_var_secinfo {
7505 pub type_: __u32,
7506 pub offset: __u32,
7507 pub size: __u32,
7508}
7509#[repr(C)]
7510#[derive(Debug, Default, Copy, Clone)]
7511pub struct btf_decl_tag {
7512 pub component_idx: __s32,
7513}
7514#[repr(C)]
7515#[derive(Debug, Default, Copy, Clone)]
7516pub struct btf_enum64 {
7517 pub name_off: __u32,
7518 pub val_lo32: __u32,
7519 pub val_hi32: __u32,
7520}
7521#[repr(C)]
7522#[derive(Debug, Copy, Clone)]
7523pub struct bpf_object {
7524 _unused: [u8; 0],
7525}
7526pub const BTF_LITTLE_ENDIAN: btf_endianness = 0;
7527pub const BTF_BIG_ENDIAN: btf_endianness = 1;
7528pub type btf_endianness = ::std::os::raw::c_uint;
7529unsafe extern "C" {
7530 pub fn btf__free(btf: *mut btf);
7531}
7532unsafe extern "C" {
7533 pub fn btf__new(data: *const ::std::os::raw::c_void, size: __u32) -> *mut btf;
7534}
7535unsafe extern "C" {
7536 pub fn btf__new_split(
7537 data: *const ::std::os::raw::c_void,
7538 size: __u32,
7539 base_btf: *mut btf,
7540 ) -> *mut btf;
7541}
7542unsafe extern "C" {
7543 pub fn btf__new_empty() -> *mut btf;
7544}
7545unsafe extern "C" {
7546 pub fn btf__new_empty_split(base_btf: *mut btf) -> *mut btf;
7547}
7548unsafe extern "C" {
7549 pub fn btf__distill_base(
7550 src_btf: *const btf,
7551 new_base_btf: *mut *mut btf,
7552 new_split_btf: *mut *mut btf,
7553 ) -> ::std::os::raw::c_int;
7554}
7555unsafe extern "C" {
7556 pub fn btf__parse(path: *const ::std::os::raw::c_char, btf_ext: *mut *mut btf_ext) -> *mut btf;
7557}
7558unsafe extern "C" {
7559 pub fn btf__parse_split(path: *const ::std::os::raw::c_char, base_btf: *mut btf) -> *mut btf;
7560}
7561unsafe extern "C" {
7562 pub fn btf__parse_elf(
7563 path: *const ::std::os::raw::c_char,
7564 btf_ext: *mut *mut btf_ext,
7565 ) -> *mut btf;
7566}
7567unsafe extern "C" {
7568 pub fn btf__parse_elf_split(
7569 path: *const ::std::os::raw::c_char,
7570 base_btf: *mut btf,
7571 ) -> *mut btf;
7572}
7573unsafe extern "C" {
7574 pub fn btf__parse_raw(path: *const ::std::os::raw::c_char) -> *mut btf;
7575}
7576unsafe extern "C" {
7577 pub fn btf__parse_raw_split(
7578 path: *const ::std::os::raw::c_char,
7579 base_btf: *mut btf,
7580 ) -> *mut btf;
7581}
7582unsafe extern "C" {
7583 pub fn btf__load_vmlinux_btf() -> *mut btf;
7584}
7585unsafe extern "C" {
7586 pub fn btf__load_module_btf(
7587 module_name: *const ::std::os::raw::c_char,
7588 vmlinux_btf: *mut btf,
7589 ) -> *mut btf;
7590}
7591unsafe extern "C" {
7592 pub fn btf__load_from_kernel_by_id(id: __u32) -> *mut btf;
7593}
7594unsafe extern "C" {
7595 pub fn btf__load_from_kernel_by_id_split(id: __u32, base_btf: *mut btf) -> *mut btf;
7596}
7597unsafe extern "C" {
7598 pub fn btf__load_into_kernel(btf: *mut btf) -> ::std::os::raw::c_int;
7599}
7600unsafe extern "C" {
7601 pub fn btf__find_by_name(btf: *const btf, type_name: *const ::std::os::raw::c_char) -> __s32;
7602}
7603unsafe extern "C" {
7604 pub fn btf__find_by_name_kind(
7605 btf: *const btf,
7606 type_name: *const ::std::os::raw::c_char,
7607 kind: __u32,
7608 ) -> __s32;
7609}
7610unsafe extern "C" {
7611 pub fn btf__type_cnt(btf: *const btf) -> __u32;
7612}
7613unsafe extern "C" {
7614 pub fn btf__base_btf(btf: *const btf) -> *const btf;
7615}
7616unsafe extern "C" {
7617 pub fn btf__type_by_id(btf: *const btf, id: __u32) -> *const btf_type;
7618}
7619unsafe extern "C" {
7620 pub fn btf__pointer_size(btf: *const btf) -> size_t;
7621}
7622unsafe extern "C" {
7623 pub fn btf__set_pointer_size(btf: *mut btf, ptr_sz: size_t) -> ::std::os::raw::c_int;
7624}
7625unsafe extern "C" {
7626 pub fn btf__endianness(btf: *const btf) -> btf_endianness;
7627}
7628unsafe extern "C" {
7629 pub fn btf__set_endianness(btf: *mut btf, endian: btf_endianness) -> ::std::os::raw::c_int;
7630}
7631unsafe extern "C" {
7632 pub fn btf__resolve_size(btf: *const btf, type_id: __u32) -> __s64;
7633}
7634unsafe extern "C" {
7635 pub fn btf__resolve_type(btf: *const btf, type_id: __u32) -> ::std::os::raw::c_int;
7636}
7637unsafe extern "C" {
7638 pub fn btf__align_of(btf: *const btf, id: __u32) -> ::std::os::raw::c_int;
7639}
7640unsafe extern "C" {
7641 pub fn btf__fd(btf: *const btf) -> ::std::os::raw::c_int;
7642}
7643unsafe extern "C" {
7644 pub fn btf__set_fd(btf: *mut btf, fd: ::std::os::raw::c_int);
7645}
7646unsafe extern "C" {
7647 pub fn btf__raw_data(btf: *const btf, size: *mut __u32) -> *const ::std::os::raw::c_void;
7648}
7649unsafe extern "C" {
7650 pub fn btf__name_by_offset(btf: *const btf, offset: __u32) -> *const ::std::os::raw::c_char;
7651}
7652unsafe extern "C" {
7653 pub fn btf__str_by_offset(btf: *const btf, offset: __u32) -> *const ::std::os::raw::c_char;
7654}
7655unsafe extern "C" {
7656 pub fn btf_ext__new(data: *const __u8, size: __u32) -> *mut btf_ext;
7657}
7658unsafe extern "C" {
7659 pub fn btf_ext__free(btf_ext: *mut btf_ext);
7660}
7661unsafe extern "C" {
7662 pub fn btf_ext__raw_data(
7663 btf_ext: *const btf_ext,
7664 size: *mut __u32,
7665 ) -> *const ::std::os::raw::c_void;
7666}
7667unsafe extern "C" {
7668 pub fn btf_ext__endianness(btf_ext: *const btf_ext) -> btf_endianness;
7669}
7670unsafe extern "C" {
7671 pub fn btf_ext__set_endianness(
7672 btf_ext: *mut btf_ext,
7673 endian: btf_endianness,
7674 ) -> ::std::os::raw::c_int;
7675}
7676unsafe extern "C" {
7677 pub fn btf__find_str(btf: *mut btf, s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7678}
7679unsafe extern "C" {
7680 pub fn btf__add_str(btf: *mut btf, s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7681}
7682unsafe extern "C" {
7683 pub fn btf__add_type(
7684 btf: *mut btf,
7685 src_btf: *const btf,
7686 src_type: *const btf_type,
7687 ) -> ::std::os::raw::c_int;
7688}
7689unsafe extern "C" {
7690 pub fn btf__add_btf(btf: *mut btf, src_btf: *const btf) -> ::std::os::raw::c_int;
7691}
7692unsafe extern "C" {
7693 pub fn btf__add_int(
7694 btf: *mut btf,
7695 name: *const ::std::os::raw::c_char,
7696 byte_sz: size_t,
7697 encoding: ::std::os::raw::c_int,
7698 ) -> ::std::os::raw::c_int;
7699}
7700unsafe extern "C" {
7701 pub fn btf__add_float(
7702 btf: *mut btf,
7703 name: *const ::std::os::raw::c_char,
7704 byte_sz: size_t,
7705 ) -> ::std::os::raw::c_int;
7706}
7707unsafe extern "C" {
7708 pub fn btf__add_ptr(btf: *mut btf, ref_type_id: ::std::os::raw::c_int)
7709 -> ::std::os::raw::c_int;
7710}
7711unsafe extern "C" {
7712 pub fn btf__add_array(
7713 btf: *mut btf,
7714 index_type_id: ::std::os::raw::c_int,
7715 elem_type_id: ::std::os::raw::c_int,
7716 nr_elems: __u32,
7717 ) -> ::std::os::raw::c_int;
7718}
7719unsafe extern "C" {
7720 pub fn btf__add_struct(
7721 btf: *mut btf,
7722 name: *const ::std::os::raw::c_char,
7723 sz: __u32,
7724 ) -> ::std::os::raw::c_int;
7725}
7726unsafe extern "C" {
7727 pub fn btf__add_union(
7728 btf: *mut btf,
7729 name: *const ::std::os::raw::c_char,
7730 sz: __u32,
7731 ) -> ::std::os::raw::c_int;
7732}
7733unsafe extern "C" {
7734 pub fn btf__add_field(
7735 btf: *mut btf,
7736 name: *const ::std::os::raw::c_char,
7737 field_type_id: ::std::os::raw::c_int,
7738 bit_offset: __u32,
7739 bit_size: __u32,
7740 ) -> ::std::os::raw::c_int;
7741}
7742unsafe extern "C" {
7743 pub fn btf__add_enum(
7744 btf: *mut btf,
7745 name: *const ::std::os::raw::c_char,
7746 bytes_sz: __u32,
7747 ) -> ::std::os::raw::c_int;
7748}
7749unsafe extern "C" {
7750 pub fn btf__add_enum_value(
7751 btf: *mut btf,
7752 name: *const ::std::os::raw::c_char,
7753 value: __s64,
7754 ) -> ::std::os::raw::c_int;
7755}
7756unsafe extern "C" {
7757 pub fn btf__add_enum64(
7758 btf: *mut btf,
7759 name: *const ::std::os::raw::c_char,
7760 bytes_sz: __u32,
7761 is_signed: bool,
7762 ) -> ::std::os::raw::c_int;
7763}
7764unsafe extern "C" {
7765 pub fn btf__add_enum64_value(
7766 btf: *mut btf,
7767 name: *const ::std::os::raw::c_char,
7768 value: __u64,
7769 ) -> ::std::os::raw::c_int;
7770}
7771pub const BTF_FWD_STRUCT: btf_fwd_kind = 0;
7772pub const BTF_FWD_UNION: btf_fwd_kind = 1;
7773pub const BTF_FWD_ENUM: btf_fwd_kind = 2;
7774pub type btf_fwd_kind = ::std::os::raw::c_uint;
7775unsafe extern "C" {
7776 pub fn btf__add_fwd(
7777 btf: *mut btf,
7778 name: *const ::std::os::raw::c_char,
7779 fwd_kind: btf_fwd_kind,
7780 ) -> ::std::os::raw::c_int;
7781}
7782unsafe extern "C" {
7783 pub fn btf__add_typedef(
7784 btf: *mut btf,
7785 name: *const ::std::os::raw::c_char,
7786 ref_type_id: ::std::os::raw::c_int,
7787 ) -> ::std::os::raw::c_int;
7788}
7789unsafe extern "C" {
7790 pub fn btf__add_volatile(
7791 btf: *mut btf,
7792 ref_type_id: ::std::os::raw::c_int,
7793 ) -> ::std::os::raw::c_int;
7794}
7795unsafe extern "C" {
7796 pub fn btf__add_const(
7797 btf: *mut btf,
7798 ref_type_id: ::std::os::raw::c_int,
7799 ) -> ::std::os::raw::c_int;
7800}
7801unsafe extern "C" {
7802 pub fn btf__add_restrict(
7803 btf: *mut btf,
7804 ref_type_id: ::std::os::raw::c_int,
7805 ) -> ::std::os::raw::c_int;
7806}
7807unsafe extern "C" {
7808 pub fn btf__add_type_tag(
7809 btf: *mut btf,
7810 value: *const ::std::os::raw::c_char,
7811 ref_type_id: ::std::os::raw::c_int,
7812 ) -> ::std::os::raw::c_int;
7813}
7814unsafe extern "C" {
7815 pub fn btf__add_type_attr(
7816 btf: *mut btf,
7817 value: *const ::std::os::raw::c_char,
7818 ref_type_id: ::std::os::raw::c_int,
7819 ) -> ::std::os::raw::c_int;
7820}
7821unsafe extern "C" {
7822 pub fn btf__add_func(
7823 btf: *mut btf,
7824 name: *const ::std::os::raw::c_char,
7825 linkage: btf_func_linkage,
7826 proto_type_id: ::std::os::raw::c_int,
7827 ) -> ::std::os::raw::c_int;
7828}
7829unsafe extern "C" {
7830 pub fn btf__add_func_proto(
7831 btf: *mut btf,
7832 ret_type_id: ::std::os::raw::c_int,
7833 ) -> ::std::os::raw::c_int;
7834}
7835unsafe extern "C" {
7836 pub fn btf__add_func_param(
7837 btf: *mut btf,
7838 name: *const ::std::os::raw::c_char,
7839 type_id: ::std::os::raw::c_int,
7840 ) -> ::std::os::raw::c_int;
7841}
7842unsafe extern "C" {
7843 pub fn btf__add_var(
7844 btf: *mut btf,
7845 name: *const ::std::os::raw::c_char,
7846 linkage: ::std::os::raw::c_int,
7847 type_id: ::std::os::raw::c_int,
7848 ) -> ::std::os::raw::c_int;
7849}
7850unsafe extern "C" {
7851 pub fn btf__add_datasec(
7852 btf: *mut btf,
7853 name: *const ::std::os::raw::c_char,
7854 byte_sz: __u32,
7855 ) -> ::std::os::raw::c_int;
7856}
7857unsafe extern "C" {
7858 pub fn btf__add_datasec_var_info(
7859 btf: *mut btf,
7860 var_type_id: ::std::os::raw::c_int,
7861 offset: __u32,
7862 byte_sz: __u32,
7863 ) -> ::std::os::raw::c_int;
7864}
7865unsafe extern "C" {
7866 pub fn btf__add_decl_tag(
7867 btf: *mut btf,
7868 value: *const ::std::os::raw::c_char,
7869 ref_type_id: ::std::os::raw::c_int,
7870 component_idx: ::std::os::raw::c_int,
7871 ) -> ::std::os::raw::c_int;
7872}
7873unsafe extern "C" {
7874 pub fn btf__add_decl_attr(
7875 btf: *mut btf,
7876 value: *const ::std::os::raw::c_char,
7877 ref_type_id: ::std::os::raw::c_int,
7878 component_idx: ::std::os::raw::c_int,
7879 ) -> ::std::os::raw::c_int;
7880}
7881#[repr(C)]
7882#[derive(Debug, Copy, Clone)]
7883pub struct btf_dedup_opts {
7884 pub sz: size_t,
7885 pub btf_ext: *mut btf_ext,
7886 pub force_collisions: bool,
7887 pub __bindgen_padding_0: [u8; 7usize],
7888}
7889impl Default for btf_dedup_opts {
7890 fn default() -> Self {
7891 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7892 unsafe {
7893 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7894 s.assume_init()
7895 }
7896 }
7897}
7898unsafe extern "C" {
7899 pub fn btf__dedup(btf: *mut btf, opts: *const btf_dedup_opts) -> ::std::os::raw::c_int;
7900}
7901unsafe extern "C" {
7902 pub fn btf__relocate(btf: *mut btf, base_btf: *const btf) -> ::std::os::raw::c_int;
7903}
7904#[repr(C)]
7905#[derive(Debug, Copy, Clone)]
7906pub struct btf_dump {
7907 _unused: [u8; 0],
7908}
7909#[repr(C)]
7910#[derive(Debug, Default, Copy, Clone)]
7911pub struct btf_dump_opts {
7912 pub sz: size_t,
7913}
7914pub type btf_dump_printf_fn_t = ::std::option::Option<
7915 unsafe extern "C" fn(
7916 ctx: *mut ::std::os::raw::c_void,
7917 fmt: *const ::std::os::raw::c_char,
7918 args: *mut __va_list_tag,
7919 ),
7920>;
7921unsafe extern "C" {
7922 pub fn btf_dump__new(
7923 btf: *const btf,
7924 printf_fn: btf_dump_printf_fn_t,
7925 ctx: *mut ::std::os::raw::c_void,
7926 opts: *const btf_dump_opts,
7927 ) -> *mut btf_dump;
7928}
7929unsafe extern "C" {
7930 pub fn btf_dump__free(d: *mut btf_dump);
7931}
7932unsafe extern "C" {
7933 pub fn btf_dump__dump_type(d: *mut btf_dump, id: __u32) -> ::std::os::raw::c_int;
7934}
7935#[repr(C)]
7936#[derive(Debug, Copy, Clone)]
7937pub struct btf_dump_emit_type_decl_opts {
7938 pub sz: size_t,
7939 pub field_name: *const ::std::os::raw::c_char,
7940 pub indent_level: ::std::os::raw::c_int,
7941 pub strip_mods: bool,
7942 pub __bindgen_padding_0: [u8; 3usize],
7943}
7944impl Default for btf_dump_emit_type_decl_opts {
7945 fn default() -> Self {
7946 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7947 unsafe {
7948 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7949 s.assume_init()
7950 }
7951 }
7952}
7953unsafe extern "C" {
7954 pub fn btf_dump__emit_type_decl(
7955 d: *mut btf_dump,
7956 id: __u32,
7957 opts: *const btf_dump_emit_type_decl_opts,
7958 ) -> ::std::os::raw::c_int;
7959}
7960#[repr(C)]
7961#[derive(Debug, Copy, Clone)]
7962pub struct btf_dump_type_data_opts {
7963 pub sz: size_t,
7964 pub indent_str: *const ::std::os::raw::c_char,
7965 pub indent_level: ::std::os::raw::c_int,
7966 pub compact: bool,
7967 pub skip_names: bool,
7968 pub emit_zeroes: bool,
7969 pub emit_strings: bool,
7970}
7971impl Default for btf_dump_type_data_opts {
7972 fn default() -> Self {
7973 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7974 unsafe {
7975 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7976 s.assume_init()
7977 }
7978 }
7979}
7980unsafe extern "C" {
7981 pub fn btf_dump__dump_type_data(
7982 d: *mut btf_dump,
7983 id: __u32,
7984 data: *const ::std::os::raw::c_void,
7985 data_sz: size_t,
7986 opts: *const btf_dump_type_data_opts,
7987 ) -> ::std::os::raw::c_int;
7988}
7989unsafe extern "C" {
7990 pub fn vdprintf(
7991 __fd: ::std::os::raw::c_int,
7992 __fmt: *const ::std::os::raw::c_char,
7993 __arg: *mut __va_list_tag,
7994 ) -> ::std::os::raw::c_int;
7995}
7996pub type pid_t = __pid_t;
7997unsafe extern "C" {
7998 pub fn libbpf_major_version() -> __u32;
7999}
8000unsafe extern "C" {
8001 pub fn libbpf_minor_version() -> __u32;
8002}
8003unsafe extern "C" {
8004 pub fn libbpf_version_string() -> *const ::std::os::raw::c_char;
8005}
8006unsafe extern "C" {
8007 pub fn libbpf_strerror(
8008 err: ::std::os::raw::c_int,
8009 buf: *mut ::std::os::raw::c_char,
8010 size: size_t,
8011 ) -> ::std::os::raw::c_int;
8012}
8013unsafe extern "C" {
8014 pub fn libbpf_bpf_attach_type_str(t: bpf_attach_type) -> *const ::std::os::raw::c_char;
8015}
8016unsafe extern "C" {
8017 pub fn libbpf_bpf_link_type_str(t: bpf_link_type) -> *const ::std::os::raw::c_char;
8018}
8019unsafe extern "C" {
8020 pub fn libbpf_bpf_map_type_str(t: bpf_map_type) -> *const ::std::os::raw::c_char;
8021}
8022unsafe extern "C" {
8023 pub fn libbpf_bpf_prog_type_str(t: bpf_prog_type) -> *const ::std::os::raw::c_char;
8024}
8025pub const LIBBPF_WARN: libbpf_print_level = 0;
8026pub const LIBBPF_INFO: libbpf_print_level = 1;
8027pub const LIBBPF_DEBUG: libbpf_print_level = 2;
8028pub type libbpf_print_level = ::std::os::raw::c_uint;
8029pub type libbpf_print_fn_t = ::std::option::Option<
8030 unsafe extern "C" fn(
8031 level: libbpf_print_level,
8032 arg1: *const ::std::os::raw::c_char,
8033 ap: *mut __va_list_tag,
8034 ) -> ::std::os::raw::c_int,
8035>;
8036unsafe extern "C" {
8037 pub fn libbpf_set_print(fn_: libbpf_print_fn_t) -> libbpf_print_fn_t;
8038}
8039#[repr(C)]
8040#[derive(Debug, Copy, Clone)]
8041pub struct bpf_object_open_opts {
8042 pub sz: size_t,
8043 pub object_name: *const ::std::os::raw::c_char,
8044 pub relaxed_maps: bool,
8045 pub __bindgen_padding_0: [u8; 7usize],
8046 pub pin_root_path: *const ::std::os::raw::c_char,
8047 pub _bitfield_align_1: [u8; 0],
8048 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
8049 pub __bindgen_padding_1: [u8; 4usize],
8050 pub kconfig: *const ::std::os::raw::c_char,
8051 pub btf_custom_path: *const ::std::os::raw::c_char,
8052 pub kernel_log_buf: *mut ::std::os::raw::c_char,
8053 pub kernel_log_size: size_t,
8054 pub kernel_log_level: __u32,
8055 pub __bindgen_padding_2: [u8; 4usize],
8056 pub bpf_token_path: *const ::std::os::raw::c_char,
8057}
8058impl Default for bpf_object_open_opts {
8059 fn default() -> Self {
8060 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8061 unsafe {
8062 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8063 s.assume_init()
8064 }
8065 }
8066}
8067impl bpf_object_open_opts {
8068 #[inline]
8069 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
8070 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
8071 __bindgen_bitfield_unit
8072 }
8073}
8074unsafe extern "C" {
8075 pub fn bpf_object__open(path: *const ::std::os::raw::c_char) -> *mut bpf_object;
8076}
8077unsafe extern "C" {
8078 pub fn bpf_object__open_file(
8079 path: *const ::std::os::raw::c_char,
8080 opts: *const bpf_object_open_opts,
8081 ) -> *mut bpf_object;
8082}
8083unsafe extern "C" {
8084 pub fn bpf_object__open_mem(
8085 obj_buf: *const ::std::os::raw::c_void,
8086 obj_buf_sz: size_t,
8087 opts: *const bpf_object_open_opts,
8088 ) -> *mut bpf_object;
8089}
8090unsafe extern "C" {
8091 pub fn bpf_object__prepare(obj: *mut bpf_object) -> ::std::os::raw::c_int;
8092}
8093unsafe extern "C" {
8094 pub fn bpf_object__load(obj: *mut bpf_object) -> ::std::os::raw::c_int;
8095}
8096unsafe extern "C" {
8097 pub fn bpf_object__close(obj: *mut bpf_object);
8098}
8099unsafe extern "C" {
8100 pub fn bpf_object__pin_maps(
8101 obj: *mut bpf_object,
8102 path: *const ::std::os::raw::c_char,
8103 ) -> ::std::os::raw::c_int;
8104}
8105unsafe extern "C" {
8106 pub fn bpf_object__unpin_maps(
8107 obj: *mut bpf_object,
8108 path: *const ::std::os::raw::c_char,
8109 ) -> ::std::os::raw::c_int;
8110}
8111unsafe extern "C" {
8112 pub fn bpf_object__pin_programs(
8113 obj: *mut bpf_object,
8114 path: *const ::std::os::raw::c_char,
8115 ) -> ::std::os::raw::c_int;
8116}
8117unsafe extern "C" {
8118 pub fn bpf_object__unpin_programs(
8119 obj: *mut bpf_object,
8120 path: *const ::std::os::raw::c_char,
8121 ) -> ::std::os::raw::c_int;
8122}
8123unsafe extern "C" {
8124 pub fn bpf_object__pin(
8125 object: *mut bpf_object,
8126 path: *const ::std::os::raw::c_char,
8127 ) -> ::std::os::raw::c_int;
8128}
8129unsafe extern "C" {
8130 pub fn bpf_object__unpin(
8131 object: *mut bpf_object,
8132 path: *const ::std::os::raw::c_char,
8133 ) -> ::std::os::raw::c_int;
8134}
8135unsafe extern "C" {
8136 pub fn bpf_object__name(obj: *const bpf_object) -> *const ::std::os::raw::c_char;
8137}
8138unsafe extern "C" {
8139 pub fn bpf_object__kversion(obj: *const bpf_object) -> ::std::os::raw::c_uint;
8140}
8141unsafe extern "C" {
8142 pub fn bpf_object__set_kversion(
8143 obj: *mut bpf_object,
8144 kern_version: __u32,
8145 ) -> ::std::os::raw::c_int;
8146}
8147unsafe extern "C" {
8148 pub fn bpf_object__token_fd(obj: *const bpf_object) -> ::std::os::raw::c_int;
8149}
8150unsafe extern "C" {
8151 pub fn bpf_object__btf(obj: *const bpf_object) -> *mut btf;
8152}
8153unsafe extern "C" {
8154 pub fn bpf_object__btf_fd(obj: *const bpf_object) -> ::std::os::raw::c_int;
8155}
8156unsafe extern "C" {
8157 pub fn bpf_object__find_program_by_name(
8158 obj: *const bpf_object,
8159 name: *const ::std::os::raw::c_char,
8160 ) -> *mut bpf_program;
8161}
8162unsafe extern "C" {
8163 pub fn libbpf_prog_type_by_name(
8164 name: *const ::std::os::raw::c_char,
8165 prog_type: *mut bpf_prog_type,
8166 expected_attach_type: *mut bpf_attach_type,
8167 ) -> ::std::os::raw::c_int;
8168}
8169unsafe extern "C" {
8170 pub fn libbpf_attach_type_by_name(
8171 name: *const ::std::os::raw::c_char,
8172 attach_type: *mut bpf_attach_type,
8173 ) -> ::std::os::raw::c_int;
8174}
8175unsafe extern "C" {
8176 pub fn libbpf_find_vmlinux_btf_id(
8177 name: *const ::std::os::raw::c_char,
8178 attach_type: bpf_attach_type,
8179 ) -> ::std::os::raw::c_int;
8180}
8181unsafe extern "C" {
8182 pub fn bpf_object__next_program(
8183 obj: *const bpf_object,
8184 prog: *mut bpf_program,
8185 ) -> *mut bpf_program;
8186}
8187unsafe extern "C" {
8188 pub fn bpf_object__prev_program(
8189 obj: *const bpf_object,
8190 prog: *mut bpf_program,
8191 ) -> *mut bpf_program;
8192}
8193unsafe extern "C" {
8194 pub fn bpf_program__set_ifindex(prog: *mut bpf_program, ifindex: __u32);
8195}
8196unsafe extern "C" {
8197 pub fn bpf_program__name(prog: *const bpf_program) -> *const ::std::os::raw::c_char;
8198}
8199unsafe extern "C" {
8200 pub fn bpf_program__section_name(prog: *const bpf_program) -> *const ::std::os::raw::c_char;
8201}
8202unsafe extern "C" {
8203 pub fn bpf_program__autoload(prog: *const bpf_program) -> bool;
8204}
8205unsafe extern "C" {
8206 pub fn bpf_program__set_autoload(
8207 prog: *mut bpf_program,
8208 autoload: bool,
8209 ) -> ::std::os::raw::c_int;
8210}
8211unsafe extern "C" {
8212 pub fn bpf_program__autoattach(prog: *const bpf_program) -> bool;
8213}
8214unsafe extern "C" {
8215 pub fn bpf_program__set_autoattach(prog: *mut bpf_program, autoattach: bool);
8216}
8217unsafe extern "C" {
8218 pub fn bpf_program__insns(prog: *const bpf_program) -> *const bpf_insn;
8219}
8220unsafe extern "C" {
8221 pub fn bpf_program__set_insns(
8222 prog: *mut bpf_program,
8223 new_insns: *mut bpf_insn,
8224 new_insn_cnt: size_t,
8225 ) -> ::std::os::raw::c_int;
8226}
8227unsafe extern "C" {
8228 pub fn bpf_program__insn_cnt(prog: *const bpf_program) -> size_t;
8229}
8230unsafe extern "C" {
8231 pub fn bpf_program__fd(prog: *const bpf_program) -> ::std::os::raw::c_int;
8232}
8233unsafe extern "C" {
8234 pub fn bpf_program__pin(
8235 prog: *mut bpf_program,
8236 path: *const ::std::os::raw::c_char,
8237 ) -> ::std::os::raw::c_int;
8238}
8239unsafe extern "C" {
8240 pub fn bpf_program__unpin(
8241 prog: *mut bpf_program,
8242 path: *const ::std::os::raw::c_char,
8243 ) -> ::std::os::raw::c_int;
8244}
8245unsafe extern "C" {
8246 pub fn bpf_program__unload(prog: *mut bpf_program);
8247}
8248#[repr(C)]
8249#[derive(Debug, Copy, Clone)]
8250pub struct bpf_link {
8251 _unused: [u8; 0],
8252}
8253unsafe extern "C" {
8254 pub fn bpf_link__open(path: *const ::std::os::raw::c_char) -> *mut bpf_link;
8255}
8256unsafe extern "C" {
8257 pub fn bpf_link__fd(link: *const bpf_link) -> ::std::os::raw::c_int;
8258}
8259unsafe extern "C" {
8260 pub fn bpf_link__pin_path(link: *const bpf_link) -> *const ::std::os::raw::c_char;
8261}
8262unsafe extern "C" {
8263 pub fn bpf_link__pin(
8264 link: *mut bpf_link,
8265 path: *const ::std::os::raw::c_char,
8266 ) -> ::std::os::raw::c_int;
8267}
8268unsafe extern "C" {
8269 pub fn bpf_link__unpin(link: *mut bpf_link) -> ::std::os::raw::c_int;
8270}
8271unsafe extern "C" {
8272 pub fn bpf_link__update_program(
8273 link: *mut bpf_link,
8274 prog: *mut bpf_program,
8275 ) -> ::std::os::raw::c_int;
8276}
8277unsafe extern "C" {
8278 pub fn bpf_link__disconnect(link: *mut bpf_link);
8279}
8280unsafe extern "C" {
8281 pub fn bpf_link__detach(link: *mut bpf_link) -> ::std::os::raw::c_int;
8282}
8283unsafe extern "C" {
8284 pub fn bpf_link__destroy(link: *mut bpf_link) -> ::std::os::raw::c_int;
8285}
8286unsafe extern "C" {
8287 pub fn bpf_program__attach(prog: *const bpf_program) -> *mut bpf_link;
8288}
8289#[repr(C)]
8290#[derive(Debug, Default, Copy, Clone)]
8291pub struct bpf_perf_event_opts {
8292 pub sz: size_t,
8293 pub bpf_cookie: __u64,
8294 pub force_ioctl_attach: bool,
8295 pub __bindgen_padding_0: [u8; 7usize],
8296}
8297unsafe extern "C" {
8298 pub fn bpf_program__attach_perf_event(
8299 prog: *const bpf_program,
8300 pfd: ::std::os::raw::c_int,
8301 ) -> *mut bpf_link;
8302}
8303unsafe extern "C" {
8304 pub fn bpf_program__attach_perf_event_opts(
8305 prog: *const bpf_program,
8306 pfd: ::std::os::raw::c_int,
8307 opts: *const bpf_perf_event_opts,
8308 ) -> *mut bpf_link;
8309}
8310pub const PROBE_ATTACH_MODE_DEFAULT: probe_attach_mode = 0;
8311pub const PROBE_ATTACH_MODE_LEGACY: probe_attach_mode = 1;
8312pub const PROBE_ATTACH_MODE_PERF: probe_attach_mode = 2;
8313pub const PROBE_ATTACH_MODE_LINK: probe_attach_mode = 3;
8314pub type probe_attach_mode = ::std::os::raw::c_uint;
8315#[repr(C)]
8316#[derive(Debug, Copy, Clone)]
8317pub struct bpf_kprobe_opts {
8318 pub sz: size_t,
8319 pub bpf_cookie: __u64,
8320 pub offset: size_t,
8321 pub retprobe: bool,
8322 pub __bindgen_padding_0: [u8; 3usize],
8323 pub attach_mode: probe_attach_mode,
8324}
8325impl Default for bpf_kprobe_opts {
8326 fn default() -> Self {
8327 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8328 unsafe {
8329 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8330 s.assume_init()
8331 }
8332 }
8333}
8334unsafe extern "C" {
8335 pub fn bpf_program__attach_kprobe(
8336 prog: *const bpf_program,
8337 retprobe: bool,
8338 func_name: *const ::std::os::raw::c_char,
8339 ) -> *mut bpf_link;
8340}
8341unsafe extern "C" {
8342 pub fn bpf_program__attach_kprobe_opts(
8343 prog: *const bpf_program,
8344 func_name: *const ::std::os::raw::c_char,
8345 opts: *const bpf_kprobe_opts,
8346 ) -> *mut bpf_link;
8347}
8348#[repr(C)]
8349#[derive(Debug, Copy, Clone)]
8350pub struct bpf_kprobe_multi_opts {
8351 pub sz: size_t,
8352 pub syms: *mut *const ::std::os::raw::c_char,
8353 pub addrs: *const ::std::os::raw::c_ulong,
8354 pub cookies: *const __u64,
8355 pub cnt: size_t,
8356 pub retprobe: bool,
8357 pub session: bool,
8358 pub unique_match: bool,
8359 pub __bindgen_padding_0: [u8; 5usize],
8360}
8361impl Default for bpf_kprobe_multi_opts {
8362 fn default() -> Self {
8363 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8364 unsafe {
8365 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8366 s.assume_init()
8367 }
8368 }
8369}
8370unsafe extern "C" {
8371 pub fn bpf_program__attach_kprobe_multi_opts(
8372 prog: *const bpf_program,
8373 pattern: *const ::std::os::raw::c_char,
8374 opts: *const bpf_kprobe_multi_opts,
8375 ) -> *mut bpf_link;
8376}
8377#[repr(C)]
8378#[derive(Debug, Copy, Clone)]
8379pub struct bpf_uprobe_multi_opts {
8380 pub sz: size_t,
8381 pub syms: *mut *const ::std::os::raw::c_char,
8382 pub offsets: *const ::std::os::raw::c_ulong,
8383 pub ref_ctr_offsets: *const ::std::os::raw::c_ulong,
8384 pub cookies: *const __u64,
8385 pub cnt: size_t,
8386 pub retprobe: bool,
8387 pub session: bool,
8388 pub __bindgen_padding_0: [u8; 6usize],
8389}
8390impl Default for bpf_uprobe_multi_opts {
8391 fn default() -> Self {
8392 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8393 unsafe {
8394 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8395 s.assume_init()
8396 }
8397 }
8398}
8399unsafe extern "C" {
8400 pub fn bpf_program__attach_uprobe_multi(
8401 prog: *const bpf_program,
8402 pid: pid_t,
8403 binary_path: *const ::std::os::raw::c_char,
8404 func_pattern: *const ::std::os::raw::c_char,
8405 opts: *const bpf_uprobe_multi_opts,
8406 ) -> *mut bpf_link;
8407}
8408#[repr(C)]
8409#[derive(Debug, Default, Copy, Clone)]
8410pub struct bpf_ksyscall_opts {
8411 pub sz: size_t,
8412 pub bpf_cookie: __u64,
8413 pub retprobe: bool,
8414 pub __bindgen_padding_0: [u8; 7usize],
8415}
8416unsafe extern "C" {
8417 pub fn bpf_program__attach_ksyscall(
8418 prog: *const bpf_program,
8419 syscall_name: *const ::std::os::raw::c_char,
8420 opts: *const bpf_ksyscall_opts,
8421 ) -> *mut bpf_link;
8422}
8423#[repr(C)]
8424#[derive(Debug, Copy, Clone)]
8425pub struct bpf_uprobe_opts {
8426 pub sz: size_t,
8427 pub ref_ctr_offset: size_t,
8428 pub bpf_cookie: __u64,
8429 pub retprobe: bool,
8430 pub __bindgen_padding_0: [u8; 7usize],
8431 pub func_name: *const ::std::os::raw::c_char,
8432 pub attach_mode: probe_attach_mode,
8433 pub __bindgen_padding_1: [u8; 4usize],
8434}
8435impl Default for bpf_uprobe_opts {
8436 fn default() -> Self {
8437 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8438 unsafe {
8439 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8440 s.assume_init()
8441 }
8442 }
8443}
8444unsafe extern "C" {
8445 pub fn bpf_program__attach_uprobe(
8446 prog: *const bpf_program,
8447 retprobe: bool,
8448 pid: pid_t,
8449 binary_path: *const ::std::os::raw::c_char,
8450 func_offset: size_t,
8451 ) -> *mut bpf_link;
8452}
8453unsafe extern "C" {
8454 pub fn bpf_program__attach_uprobe_opts(
8455 prog: *const bpf_program,
8456 pid: pid_t,
8457 binary_path: *const ::std::os::raw::c_char,
8458 func_offset: size_t,
8459 opts: *const bpf_uprobe_opts,
8460 ) -> *mut bpf_link;
8461}
8462#[repr(C)]
8463#[derive(Debug, Default, Copy, Clone)]
8464pub struct bpf_usdt_opts {
8465 pub sz: size_t,
8466 pub usdt_cookie: __u64,
8467}
8468unsafe extern "C" {
8469 pub fn bpf_program__attach_usdt(
8470 prog: *const bpf_program,
8471 pid: pid_t,
8472 binary_path: *const ::std::os::raw::c_char,
8473 usdt_provider: *const ::std::os::raw::c_char,
8474 usdt_name: *const ::std::os::raw::c_char,
8475 opts: *const bpf_usdt_opts,
8476 ) -> *mut bpf_link;
8477}
8478#[repr(C)]
8479#[derive(Debug, Default, Copy, Clone)]
8480pub struct bpf_tracepoint_opts {
8481 pub sz: size_t,
8482 pub bpf_cookie: __u64,
8483}
8484unsafe extern "C" {
8485 pub fn bpf_program__attach_tracepoint(
8486 prog: *const bpf_program,
8487 tp_category: *const ::std::os::raw::c_char,
8488 tp_name: *const ::std::os::raw::c_char,
8489 ) -> *mut bpf_link;
8490}
8491unsafe extern "C" {
8492 pub fn bpf_program__attach_tracepoint_opts(
8493 prog: *const bpf_program,
8494 tp_category: *const ::std::os::raw::c_char,
8495 tp_name: *const ::std::os::raw::c_char,
8496 opts: *const bpf_tracepoint_opts,
8497 ) -> *mut bpf_link;
8498}
8499#[repr(C)]
8500#[derive(Debug, Default, Copy, Clone)]
8501pub struct bpf_raw_tracepoint_opts {
8502 pub sz: size_t,
8503 pub cookie: __u64,
8504}
8505unsafe extern "C" {
8506 pub fn bpf_program__attach_raw_tracepoint(
8507 prog: *const bpf_program,
8508 tp_name: *const ::std::os::raw::c_char,
8509 ) -> *mut bpf_link;
8510}
8511unsafe extern "C" {
8512 pub fn bpf_program__attach_raw_tracepoint_opts(
8513 prog: *const bpf_program,
8514 tp_name: *const ::std::os::raw::c_char,
8515 opts: *mut bpf_raw_tracepoint_opts,
8516 ) -> *mut bpf_link;
8517}
8518#[repr(C)]
8519#[derive(Debug, Default, Copy, Clone)]
8520pub struct bpf_trace_opts {
8521 pub sz: size_t,
8522 pub cookie: __u64,
8523}
8524unsafe extern "C" {
8525 pub fn bpf_program__attach_trace(prog: *const bpf_program) -> *mut bpf_link;
8526}
8527unsafe extern "C" {
8528 pub fn bpf_program__attach_trace_opts(
8529 prog: *const bpf_program,
8530 opts: *const bpf_trace_opts,
8531 ) -> *mut bpf_link;
8532}
8533unsafe extern "C" {
8534 pub fn bpf_program__attach_lsm(prog: *const bpf_program) -> *mut bpf_link;
8535}
8536unsafe extern "C" {
8537 pub fn bpf_program__attach_cgroup(
8538 prog: *const bpf_program,
8539 cgroup_fd: ::std::os::raw::c_int,
8540 ) -> *mut bpf_link;
8541}
8542unsafe extern "C" {
8543 pub fn bpf_program__attach_netns(
8544 prog: *const bpf_program,
8545 netns_fd: ::std::os::raw::c_int,
8546 ) -> *mut bpf_link;
8547}
8548unsafe extern "C" {
8549 pub fn bpf_program__attach_sockmap(
8550 prog: *const bpf_program,
8551 map_fd: ::std::os::raw::c_int,
8552 ) -> *mut bpf_link;
8553}
8554unsafe extern "C" {
8555 pub fn bpf_program__attach_xdp(
8556 prog: *const bpf_program,
8557 ifindex: ::std::os::raw::c_int,
8558 ) -> *mut bpf_link;
8559}
8560unsafe extern "C" {
8561 pub fn bpf_program__attach_freplace(
8562 prog: *const bpf_program,
8563 target_fd: ::std::os::raw::c_int,
8564 attach_func_name: *const ::std::os::raw::c_char,
8565 ) -> *mut bpf_link;
8566}
8567#[repr(C)]
8568#[derive(Debug, Default, Copy, Clone)]
8569pub struct bpf_netfilter_opts {
8570 pub sz: size_t,
8571 pub pf: __u32,
8572 pub hooknum: __u32,
8573 pub priority: __s32,
8574 pub flags: __u32,
8575}
8576unsafe extern "C" {
8577 pub fn bpf_program__attach_netfilter(
8578 prog: *const bpf_program,
8579 opts: *const bpf_netfilter_opts,
8580 ) -> *mut bpf_link;
8581}
8582#[repr(C)]
8583#[derive(Debug, Default, Copy, Clone)]
8584pub struct bpf_tcx_opts {
8585 pub sz: size_t,
8586 pub flags: __u32,
8587 pub relative_fd: __u32,
8588 pub relative_id: __u32,
8589 pub __bindgen_padding_0: [u8; 4usize],
8590 pub expected_revision: __u64,
8591}
8592unsafe extern "C" {
8593 pub fn bpf_program__attach_tcx(
8594 prog: *const bpf_program,
8595 ifindex: ::std::os::raw::c_int,
8596 opts: *const bpf_tcx_opts,
8597 ) -> *mut bpf_link;
8598}
8599#[repr(C)]
8600#[derive(Debug, Default, Copy, Clone)]
8601pub struct bpf_netkit_opts {
8602 pub sz: size_t,
8603 pub flags: __u32,
8604 pub relative_fd: __u32,
8605 pub relative_id: __u32,
8606 pub __bindgen_padding_0: [u8; 4usize],
8607 pub expected_revision: __u64,
8608}
8609unsafe extern "C" {
8610 pub fn bpf_program__attach_netkit(
8611 prog: *const bpf_program,
8612 ifindex: ::std::os::raw::c_int,
8613 opts: *const bpf_netkit_opts,
8614 ) -> *mut bpf_link;
8615}
8616#[repr(C)]
8617#[derive(Debug, Default, Copy, Clone)]
8618pub struct bpf_cgroup_opts {
8619 pub sz: size_t,
8620 pub flags: __u32,
8621 pub relative_fd: __u32,
8622 pub relative_id: __u32,
8623 pub __bindgen_padding_0: [u8; 4usize],
8624 pub expected_revision: __u64,
8625}
8626unsafe extern "C" {
8627 pub fn bpf_program__attach_cgroup_opts(
8628 prog: *const bpf_program,
8629 cgroup_fd: ::std::os::raw::c_int,
8630 opts: *const bpf_cgroup_opts,
8631 ) -> *mut bpf_link;
8632}
8633unsafe extern "C" {
8634 pub fn bpf_map__attach_struct_ops(map: *const bpf_map) -> *mut bpf_link;
8635}
8636unsafe extern "C" {
8637 pub fn bpf_link__update_map(link: *mut bpf_link, map: *const bpf_map) -> ::std::os::raw::c_int;
8638}
8639#[repr(C)]
8640#[derive(Debug, Copy, Clone)]
8641pub struct bpf_iter_attach_opts {
8642 pub sz: size_t,
8643 pub link_info: *mut bpf_iter_link_info,
8644 pub link_info_len: __u32,
8645 pub __bindgen_padding_0: [u8; 4usize],
8646}
8647impl Default for bpf_iter_attach_opts {
8648 fn default() -> Self {
8649 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8650 unsafe {
8651 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8652 s.assume_init()
8653 }
8654 }
8655}
8656unsafe extern "C" {
8657 pub fn bpf_program__attach_iter(
8658 prog: *const bpf_program,
8659 opts: *const bpf_iter_attach_opts,
8660 ) -> *mut bpf_link;
8661}
8662unsafe extern "C" {
8663 pub fn bpf_program__type(prog: *const bpf_program) -> bpf_prog_type;
8664}
8665unsafe extern "C" {
8666 pub fn bpf_program__set_type(
8667 prog: *mut bpf_program,
8668 type_: bpf_prog_type,
8669 ) -> ::std::os::raw::c_int;
8670}
8671unsafe extern "C" {
8672 pub fn bpf_program__expected_attach_type(prog: *const bpf_program) -> bpf_attach_type;
8673}
8674unsafe extern "C" {
8675 pub fn bpf_program__set_expected_attach_type(
8676 prog: *mut bpf_program,
8677 type_: bpf_attach_type,
8678 ) -> ::std::os::raw::c_int;
8679}
8680unsafe extern "C" {
8681 pub fn bpf_program__flags(prog: *const bpf_program) -> __u32;
8682}
8683unsafe extern "C" {
8684 pub fn bpf_program__set_flags(prog: *mut bpf_program, flags: __u32) -> ::std::os::raw::c_int;
8685}
8686unsafe extern "C" {
8687 pub fn bpf_program__log_level(prog: *const bpf_program) -> __u32;
8688}
8689unsafe extern "C" {
8690 pub fn bpf_program__set_log_level(
8691 prog: *mut bpf_program,
8692 log_level: __u32,
8693 ) -> ::std::os::raw::c_int;
8694}
8695unsafe extern "C" {
8696 pub fn bpf_program__log_buf(
8697 prog: *const bpf_program,
8698 log_size: *mut size_t,
8699 ) -> *const ::std::os::raw::c_char;
8700}
8701unsafe extern "C" {
8702 pub fn bpf_program__set_log_buf(
8703 prog: *mut bpf_program,
8704 log_buf: *mut ::std::os::raw::c_char,
8705 log_size: size_t,
8706 ) -> ::std::os::raw::c_int;
8707}
8708unsafe extern "C" {
8709 pub fn bpf_program__func_info(prog: *const bpf_program) -> *mut bpf_func_info;
8710}
8711unsafe extern "C" {
8712 pub fn bpf_program__func_info_cnt(prog: *const bpf_program) -> __u32;
8713}
8714unsafe extern "C" {
8715 pub fn bpf_program__line_info(prog: *const bpf_program) -> *mut bpf_line_info;
8716}
8717unsafe extern "C" {
8718 pub fn bpf_program__line_info_cnt(prog: *const bpf_program) -> __u32;
8719}
8720unsafe extern "C" {
8721 pub fn bpf_program__set_attach_target(
8722 prog: *mut bpf_program,
8723 attach_prog_fd: ::std::os::raw::c_int,
8724 attach_func_name: *const ::std::os::raw::c_char,
8725 ) -> ::std::os::raw::c_int;
8726}
8727unsafe extern "C" {
8728 pub fn bpf_object__find_map_by_name(
8729 obj: *const bpf_object,
8730 name: *const ::std::os::raw::c_char,
8731 ) -> *mut bpf_map;
8732}
8733unsafe extern "C" {
8734 pub fn bpf_object__find_map_fd_by_name(
8735 obj: *const bpf_object,
8736 name: *const ::std::os::raw::c_char,
8737 ) -> ::std::os::raw::c_int;
8738}
8739unsafe extern "C" {
8740 pub fn bpf_object__next_map(obj: *const bpf_object, map: *const bpf_map) -> *mut bpf_map;
8741}
8742unsafe extern "C" {
8743 pub fn bpf_object__prev_map(obj: *const bpf_object, map: *const bpf_map) -> *mut bpf_map;
8744}
8745unsafe extern "C" {
8746 pub fn bpf_map__set_autocreate(map: *mut bpf_map, autocreate: bool) -> ::std::os::raw::c_int;
8747}
8748unsafe extern "C" {
8749 pub fn bpf_map__autocreate(map: *const bpf_map) -> bool;
8750}
8751unsafe extern "C" {
8752 pub fn bpf_map__set_autoattach(map: *mut bpf_map, autoattach: bool) -> ::std::os::raw::c_int;
8753}
8754unsafe extern "C" {
8755 pub fn bpf_map__autoattach(map: *const bpf_map) -> bool;
8756}
8757unsafe extern "C" {
8758 pub fn bpf_map__fd(map: *const bpf_map) -> ::std::os::raw::c_int;
8759}
8760unsafe extern "C" {
8761 pub fn bpf_map__reuse_fd(map: *mut bpf_map, fd: ::std::os::raw::c_int)
8762 -> ::std::os::raw::c_int;
8763}
8764unsafe extern "C" {
8765 pub fn bpf_map__name(map: *const bpf_map) -> *const ::std::os::raw::c_char;
8766}
8767unsafe extern "C" {
8768 pub fn bpf_map__type(map: *const bpf_map) -> bpf_map_type;
8769}
8770unsafe extern "C" {
8771 pub fn bpf_map__set_type(map: *mut bpf_map, type_: bpf_map_type) -> ::std::os::raw::c_int;
8772}
8773unsafe extern "C" {
8774 pub fn bpf_map__max_entries(map: *const bpf_map) -> __u32;
8775}
8776unsafe extern "C" {
8777 pub fn bpf_map__set_max_entries(map: *mut bpf_map, max_entries: __u32)
8778 -> ::std::os::raw::c_int;
8779}
8780unsafe extern "C" {
8781 pub fn bpf_map__map_flags(map: *const bpf_map) -> __u32;
8782}
8783unsafe extern "C" {
8784 pub fn bpf_map__set_map_flags(map: *mut bpf_map, flags: __u32) -> ::std::os::raw::c_int;
8785}
8786unsafe extern "C" {
8787 pub fn bpf_map__numa_node(map: *const bpf_map) -> __u32;
8788}
8789unsafe extern "C" {
8790 pub fn bpf_map__set_numa_node(map: *mut bpf_map, numa_node: __u32) -> ::std::os::raw::c_int;
8791}
8792unsafe extern "C" {
8793 pub fn bpf_map__key_size(map: *const bpf_map) -> __u32;
8794}
8795unsafe extern "C" {
8796 pub fn bpf_map__set_key_size(map: *mut bpf_map, size: __u32) -> ::std::os::raw::c_int;
8797}
8798unsafe extern "C" {
8799 pub fn bpf_map__value_size(map: *const bpf_map) -> __u32;
8800}
8801unsafe extern "C" {
8802 pub fn bpf_map__set_value_size(map: *mut bpf_map, size: __u32) -> ::std::os::raw::c_int;
8803}
8804unsafe extern "C" {
8805 pub fn bpf_map__btf_key_type_id(map: *const bpf_map) -> __u32;
8806}
8807unsafe extern "C" {
8808 pub fn bpf_map__btf_value_type_id(map: *const bpf_map) -> __u32;
8809}
8810unsafe extern "C" {
8811 pub fn bpf_map__ifindex(map: *const bpf_map) -> __u32;
8812}
8813unsafe extern "C" {
8814 pub fn bpf_map__set_ifindex(map: *mut bpf_map, ifindex: __u32) -> ::std::os::raw::c_int;
8815}
8816unsafe extern "C" {
8817 pub fn bpf_map__map_extra(map: *const bpf_map) -> __u64;
8818}
8819unsafe extern "C" {
8820 pub fn bpf_map__set_map_extra(map: *mut bpf_map, map_extra: __u64) -> ::std::os::raw::c_int;
8821}
8822unsafe extern "C" {
8823 pub fn bpf_map__set_initial_value(
8824 map: *mut bpf_map,
8825 data: *const ::std::os::raw::c_void,
8826 size: size_t,
8827 ) -> ::std::os::raw::c_int;
8828}
8829unsafe extern "C" {
8830 pub fn bpf_map__initial_value(
8831 map: *const bpf_map,
8832 psize: *mut size_t,
8833 ) -> *mut ::std::os::raw::c_void;
8834}
8835unsafe extern "C" {
8836 pub fn bpf_map__is_internal(map: *const bpf_map) -> bool;
8837}
8838unsafe extern "C" {
8839 pub fn bpf_map__set_pin_path(
8840 map: *mut bpf_map,
8841 path: *const ::std::os::raw::c_char,
8842 ) -> ::std::os::raw::c_int;
8843}
8844unsafe extern "C" {
8845 pub fn bpf_map__pin_path(map: *const bpf_map) -> *const ::std::os::raw::c_char;
8846}
8847unsafe extern "C" {
8848 pub fn bpf_map__is_pinned(map: *const bpf_map) -> bool;
8849}
8850unsafe extern "C" {
8851 pub fn bpf_map__pin(
8852 map: *mut bpf_map,
8853 path: *const ::std::os::raw::c_char,
8854 ) -> ::std::os::raw::c_int;
8855}
8856unsafe extern "C" {
8857 pub fn bpf_map__unpin(
8858 map: *mut bpf_map,
8859 path: *const ::std::os::raw::c_char,
8860 ) -> ::std::os::raw::c_int;
8861}
8862unsafe extern "C" {
8863 pub fn bpf_map__set_inner_map_fd(
8864 map: *mut bpf_map,
8865 fd: ::std::os::raw::c_int,
8866 ) -> ::std::os::raw::c_int;
8867}
8868unsafe extern "C" {
8869 pub fn bpf_map__inner_map(map: *mut bpf_map) -> *mut bpf_map;
8870}
8871unsafe extern "C" {
8872 pub fn bpf_map__lookup_elem(
8873 map: *const bpf_map,
8874 key: *const ::std::os::raw::c_void,
8875 key_sz: size_t,
8876 value: *mut ::std::os::raw::c_void,
8877 value_sz: size_t,
8878 flags: __u64,
8879 ) -> ::std::os::raw::c_int;
8880}
8881unsafe extern "C" {
8882 pub fn bpf_map__update_elem(
8883 map: *const bpf_map,
8884 key: *const ::std::os::raw::c_void,
8885 key_sz: size_t,
8886 value: *const ::std::os::raw::c_void,
8887 value_sz: size_t,
8888 flags: __u64,
8889 ) -> ::std::os::raw::c_int;
8890}
8891unsafe extern "C" {
8892 pub fn bpf_map__delete_elem(
8893 map: *const bpf_map,
8894 key: *const ::std::os::raw::c_void,
8895 key_sz: size_t,
8896 flags: __u64,
8897 ) -> ::std::os::raw::c_int;
8898}
8899unsafe extern "C" {
8900 pub fn bpf_map__lookup_and_delete_elem(
8901 map: *const bpf_map,
8902 key: *const ::std::os::raw::c_void,
8903 key_sz: size_t,
8904 value: *mut ::std::os::raw::c_void,
8905 value_sz: size_t,
8906 flags: __u64,
8907 ) -> ::std::os::raw::c_int;
8908}
8909unsafe extern "C" {
8910 pub fn bpf_map__get_next_key(
8911 map: *const bpf_map,
8912 cur_key: *const ::std::os::raw::c_void,
8913 next_key: *mut ::std::os::raw::c_void,
8914 key_sz: size_t,
8915 ) -> ::std::os::raw::c_int;
8916}
8917#[repr(C)]
8918#[derive(Debug, Default, Copy, Clone)]
8919pub struct bpf_xdp_set_link_opts {
8920 pub sz: size_t,
8921 pub old_fd: ::std::os::raw::c_int,
8922 pub __bindgen_padding_0: [u8; 4usize],
8923}
8924#[repr(C)]
8925#[derive(Debug, Default, Copy, Clone)]
8926pub struct bpf_xdp_attach_opts {
8927 pub sz: size_t,
8928 pub old_prog_fd: ::std::os::raw::c_int,
8929 pub __bindgen_padding_0: [u8; 4usize],
8930}
8931#[repr(C)]
8932#[derive(Debug, Default, Copy, Clone)]
8933pub struct bpf_xdp_query_opts {
8934 pub sz: size_t,
8935 pub prog_id: __u32,
8936 pub drv_prog_id: __u32,
8937 pub hw_prog_id: __u32,
8938 pub skb_prog_id: __u32,
8939 pub attach_mode: __u8,
8940 pub __bindgen_padding_0: [u8; 7usize],
8941 pub feature_flags: __u64,
8942 pub xdp_zc_max_segs: __u32,
8943 pub __bindgen_padding_1: [u8; 4usize],
8944}
8945unsafe extern "C" {
8946 pub fn bpf_xdp_attach(
8947 ifindex: ::std::os::raw::c_int,
8948 prog_fd: ::std::os::raw::c_int,
8949 flags: __u32,
8950 opts: *const bpf_xdp_attach_opts,
8951 ) -> ::std::os::raw::c_int;
8952}
8953unsafe extern "C" {
8954 pub fn bpf_xdp_detach(
8955 ifindex: ::std::os::raw::c_int,
8956 flags: __u32,
8957 opts: *const bpf_xdp_attach_opts,
8958 ) -> ::std::os::raw::c_int;
8959}
8960unsafe extern "C" {
8961 pub fn bpf_xdp_query(
8962 ifindex: ::std::os::raw::c_int,
8963 flags: ::std::os::raw::c_int,
8964 opts: *mut bpf_xdp_query_opts,
8965 ) -> ::std::os::raw::c_int;
8966}
8967unsafe extern "C" {
8968 pub fn bpf_xdp_query_id(
8969 ifindex: ::std::os::raw::c_int,
8970 flags: ::std::os::raw::c_int,
8971 prog_id: *mut __u32,
8972 ) -> ::std::os::raw::c_int;
8973}
8974pub const BPF_TC_INGRESS: bpf_tc_attach_point = 1;
8975pub const BPF_TC_EGRESS: bpf_tc_attach_point = 2;
8976pub const BPF_TC_CUSTOM: bpf_tc_attach_point = 4;
8977pub const BPF_TC_QDISC: bpf_tc_attach_point = 8;
8978pub type bpf_tc_attach_point = ::std::os::raw::c_uint;
8979pub const BPF_TC_F_REPLACE: bpf_tc_flags = 1;
8980pub type bpf_tc_flags = ::std::os::raw::c_uint;
8981#[repr(C)]
8982#[derive(Debug, Copy, Clone)]
8983pub struct bpf_tc_hook {
8984 pub sz: size_t,
8985 pub ifindex: ::std::os::raw::c_int,
8986 pub attach_point: bpf_tc_attach_point,
8987 pub parent: __u32,
8988 pub handle: __u32,
8989 pub qdisc: *const ::std::os::raw::c_char,
8990}
8991impl Default for bpf_tc_hook {
8992 fn default() -> Self {
8993 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8994 unsafe {
8995 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8996 s.assume_init()
8997 }
8998 }
8999}
9000#[repr(C)]
9001#[derive(Debug, Default, Copy, Clone)]
9002pub struct bpf_tc_opts {
9003 pub sz: size_t,
9004 pub prog_fd: ::std::os::raw::c_int,
9005 pub flags: __u32,
9006 pub prog_id: __u32,
9007 pub handle: __u32,
9008 pub priority: __u32,
9009 pub __bindgen_padding_0: [u8; 4usize],
9010}
9011unsafe extern "C" {
9012 pub fn bpf_tc_hook_create(hook: *mut bpf_tc_hook) -> ::std::os::raw::c_int;
9013}
9014unsafe extern "C" {
9015 pub fn bpf_tc_hook_destroy(hook: *mut bpf_tc_hook) -> ::std::os::raw::c_int;
9016}
9017unsafe extern "C" {
9018 pub fn bpf_tc_attach(hook: *const bpf_tc_hook, opts: *mut bpf_tc_opts)
9019 -> ::std::os::raw::c_int;
9020}
9021unsafe extern "C" {
9022 pub fn bpf_tc_detach(
9023 hook: *const bpf_tc_hook,
9024 opts: *const bpf_tc_opts,
9025 ) -> ::std::os::raw::c_int;
9026}
9027unsafe extern "C" {
9028 pub fn bpf_tc_query(hook: *const bpf_tc_hook, opts: *mut bpf_tc_opts) -> ::std::os::raw::c_int;
9029}
9030#[repr(C)]
9031#[derive(Debug, Copy, Clone)]
9032pub struct ring_buffer {
9033 _unused: [u8; 0],
9034}
9035#[repr(C)]
9036#[derive(Debug, Copy, Clone)]
9037pub struct ring {
9038 _unused: [u8; 0],
9039}
9040#[repr(C)]
9041#[derive(Debug, Copy, Clone)]
9042pub struct user_ring_buffer {
9043 _unused: [u8; 0],
9044}
9045pub type ring_buffer_sample_fn = ::std::option::Option<
9046 unsafe extern "C" fn(
9047 ctx: *mut ::std::os::raw::c_void,
9048 data: *mut ::std::os::raw::c_void,
9049 size: size_t,
9050 ) -> ::std::os::raw::c_int,
9051>;
9052#[repr(C)]
9053#[derive(Debug, Default, Copy, Clone)]
9054pub struct ring_buffer_opts {
9055 pub sz: size_t,
9056}
9057unsafe extern "C" {
9058 pub fn ring_buffer__new(
9059 map_fd: ::std::os::raw::c_int,
9060 sample_cb: ring_buffer_sample_fn,
9061 ctx: *mut ::std::os::raw::c_void,
9062 opts: *const ring_buffer_opts,
9063 ) -> *mut ring_buffer;
9064}
9065unsafe extern "C" {
9066 pub fn ring_buffer__free(rb: *mut ring_buffer);
9067}
9068unsafe extern "C" {
9069 pub fn ring_buffer__add(
9070 rb: *mut ring_buffer,
9071 map_fd: ::std::os::raw::c_int,
9072 sample_cb: ring_buffer_sample_fn,
9073 ctx: *mut ::std::os::raw::c_void,
9074 ) -> ::std::os::raw::c_int;
9075}
9076unsafe extern "C" {
9077 pub fn ring_buffer__poll(
9078 rb: *mut ring_buffer,
9079 timeout_ms: ::std::os::raw::c_int,
9080 ) -> ::std::os::raw::c_int;
9081}
9082unsafe extern "C" {
9083 pub fn ring_buffer__consume(rb: *mut ring_buffer) -> ::std::os::raw::c_int;
9084}
9085unsafe extern "C" {
9086 pub fn ring_buffer__consume_n(rb: *mut ring_buffer, n: size_t) -> ::std::os::raw::c_int;
9087}
9088unsafe extern "C" {
9089 pub fn ring_buffer__epoll_fd(rb: *const ring_buffer) -> ::std::os::raw::c_int;
9090}
9091unsafe extern "C" {
9092 pub fn ring_buffer__ring(rb: *mut ring_buffer, idx: ::std::os::raw::c_uint) -> *mut ring;
9093}
9094unsafe extern "C" {
9095 pub fn ring__consumer_pos(r: *const ring) -> ::std::os::raw::c_ulong;
9096}
9097unsafe extern "C" {
9098 pub fn ring__producer_pos(r: *const ring) -> ::std::os::raw::c_ulong;
9099}
9100unsafe extern "C" {
9101 pub fn ring__avail_data_size(r: *const ring) -> size_t;
9102}
9103unsafe extern "C" {
9104 pub fn ring__size(r: *const ring) -> size_t;
9105}
9106unsafe extern "C" {
9107 pub fn ring__map_fd(r: *const ring) -> ::std::os::raw::c_int;
9108}
9109unsafe extern "C" {
9110 pub fn ring__consume(r: *mut ring) -> ::std::os::raw::c_int;
9111}
9112unsafe extern "C" {
9113 pub fn ring__consume_n(r: *mut ring, n: size_t) -> ::std::os::raw::c_int;
9114}
9115#[repr(C)]
9116#[derive(Debug, Default, Copy, Clone)]
9117pub struct user_ring_buffer_opts {
9118 pub sz: size_t,
9119}
9120unsafe extern "C" {
9121 pub fn user_ring_buffer__new(
9122 map_fd: ::std::os::raw::c_int,
9123 opts: *const user_ring_buffer_opts,
9124 ) -> *mut user_ring_buffer;
9125}
9126unsafe extern "C" {
9127 pub fn user_ring_buffer__reserve(
9128 rb: *mut user_ring_buffer,
9129 size: __u32,
9130 ) -> *mut ::std::os::raw::c_void;
9131}
9132unsafe extern "C" {
9133 pub fn user_ring_buffer__reserve_blocking(
9134 rb: *mut user_ring_buffer,
9135 size: __u32,
9136 timeout_ms: ::std::os::raw::c_int,
9137 ) -> *mut ::std::os::raw::c_void;
9138}
9139unsafe extern "C" {
9140 pub fn user_ring_buffer__submit(rb: *mut user_ring_buffer, sample: *mut ::std::os::raw::c_void);
9141}
9142unsafe extern "C" {
9143 pub fn user_ring_buffer__discard(
9144 rb: *mut user_ring_buffer,
9145 sample: *mut ::std::os::raw::c_void,
9146 );
9147}
9148unsafe extern "C" {
9149 pub fn user_ring_buffer__free(rb: *mut user_ring_buffer);
9150}
9151#[repr(C)]
9152#[derive(Debug, Copy, Clone)]
9153pub struct perf_buffer {
9154 _unused: [u8; 0],
9155}
9156pub type perf_buffer_sample_fn = ::std::option::Option<
9157 unsafe extern "C" fn(
9158 ctx: *mut ::std::os::raw::c_void,
9159 cpu: ::std::os::raw::c_int,
9160 data: *mut ::std::os::raw::c_void,
9161 size: __u32,
9162 ),
9163>;
9164pub type perf_buffer_lost_fn = ::std::option::Option<
9165 unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void, cpu: ::std::os::raw::c_int, cnt: __u64),
9166>;
9167#[repr(C)]
9168#[derive(Debug, Default, Copy, Clone)]
9169pub struct perf_buffer_opts {
9170 pub sz: size_t,
9171 pub sample_period: __u32,
9172 pub __bindgen_padding_0: [u8; 4usize],
9173}
9174unsafe extern "C" {
9175 pub fn perf_buffer__new(
9176 map_fd: ::std::os::raw::c_int,
9177 page_cnt: size_t,
9178 sample_cb: perf_buffer_sample_fn,
9179 lost_cb: perf_buffer_lost_fn,
9180 ctx: *mut ::std::os::raw::c_void,
9181 opts: *const perf_buffer_opts,
9182 ) -> *mut perf_buffer;
9183}
9184pub const LIBBPF_PERF_EVENT_DONE: bpf_perf_event_ret = 0;
9185pub const LIBBPF_PERF_EVENT_ERROR: bpf_perf_event_ret = -1;
9186pub const LIBBPF_PERF_EVENT_CONT: bpf_perf_event_ret = -2;
9187pub type bpf_perf_event_ret = ::std::os::raw::c_int;
9188pub type perf_buffer_event_fn = ::std::option::Option<
9189 unsafe extern "C" fn(
9190 ctx: *mut ::std::os::raw::c_void,
9191 cpu: ::std::os::raw::c_int,
9192 event: *mut perf_event_header,
9193 ) -> bpf_perf_event_ret,
9194>;
9195#[repr(C)]
9196#[derive(Debug, Copy, Clone)]
9197pub struct perf_buffer_raw_opts {
9198 pub sz: size_t,
9199 pub cpu_cnt: ::std::os::raw::c_int,
9200 pub __bindgen_padding_0: [u8; 4usize],
9201 pub cpus: *mut ::std::os::raw::c_int,
9202 pub map_keys: *mut ::std::os::raw::c_int,
9203}
9204impl Default for perf_buffer_raw_opts {
9205 fn default() -> Self {
9206 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9207 unsafe {
9208 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9209 s.assume_init()
9210 }
9211 }
9212}
9213unsafe extern "C" {
9214 pub fn perf_buffer__new_raw(
9215 map_fd: ::std::os::raw::c_int,
9216 page_cnt: size_t,
9217 attr: *mut perf_event_attr,
9218 event_cb: perf_buffer_event_fn,
9219 ctx: *mut ::std::os::raw::c_void,
9220 opts: *const perf_buffer_raw_opts,
9221 ) -> *mut perf_buffer;
9222}
9223unsafe extern "C" {
9224 pub fn perf_buffer__free(pb: *mut perf_buffer);
9225}
9226unsafe extern "C" {
9227 pub fn perf_buffer__epoll_fd(pb: *const perf_buffer) -> ::std::os::raw::c_int;
9228}
9229unsafe extern "C" {
9230 pub fn perf_buffer__poll(
9231 pb: *mut perf_buffer,
9232 timeout_ms: ::std::os::raw::c_int,
9233 ) -> ::std::os::raw::c_int;
9234}
9235unsafe extern "C" {
9236 pub fn perf_buffer__consume(pb: *mut perf_buffer) -> ::std::os::raw::c_int;
9237}
9238unsafe extern "C" {
9239 pub fn perf_buffer__consume_buffer(
9240 pb: *mut perf_buffer,
9241 buf_idx: size_t,
9242 ) -> ::std::os::raw::c_int;
9243}
9244unsafe extern "C" {
9245 pub fn perf_buffer__buffer_cnt(pb: *const perf_buffer) -> size_t;
9246}
9247unsafe extern "C" {
9248 pub fn perf_buffer__buffer_fd(pb: *const perf_buffer, buf_idx: size_t)
9249 -> ::std::os::raw::c_int;
9250}
9251unsafe extern "C" {
9252 pub fn perf_buffer__buffer(
9253 pb: *mut perf_buffer,
9254 buf_idx: ::std::os::raw::c_int,
9255 buf: *mut *mut ::std::os::raw::c_void,
9256 buf_size: *mut size_t,
9257 ) -> ::std::os::raw::c_int;
9258}
9259#[repr(C)]
9260#[derive(Debug, Copy, Clone)]
9261pub struct bpf_prog_linfo {
9262 _unused: [u8; 0],
9263}
9264unsafe extern "C" {
9265 pub fn bpf_prog_linfo__free(prog_linfo: *mut bpf_prog_linfo);
9266}
9267unsafe extern "C" {
9268 pub fn bpf_prog_linfo__new(info: *const bpf_prog_info) -> *mut bpf_prog_linfo;
9269}
9270unsafe extern "C" {
9271 pub fn bpf_prog_linfo__lfind_addr_func(
9272 prog_linfo: *const bpf_prog_linfo,
9273 addr: __u64,
9274 func_idx: __u32,
9275 nr_skip: __u32,
9276 ) -> *const bpf_line_info;
9277}
9278unsafe extern "C" {
9279 pub fn bpf_prog_linfo__lfind(
9280 prog_linfo: *const bpf_prog_linfo,
9281 insn_off: __u32,
9282 nr_skip: __u32,
9283 ) -> *const bpf_line_info;
9284}
9285unsafe extern "C" {
9286 pub fn libbpf_probe_bpf_prog_type(
9287 prog_type: bpf_prog_type,
9288 opts: *const ::std::os::raw::c_void,
9289 ) -> ::std::os::raw::c_int;
9290}
9291unsafe extern "C" {
9292 pub fn libbpf_probe_bpf_map_type(
9293 map_type: bpf_map_type,
9294 opts: *const ::std::os::raw::c_void,
9295 ) -> ::std::os::raw::c_int;
9296}
9297unsafe extern "C" {
9298 pub fn libbpf_probe_bpf_helper(
9299 prog_type: bpf_prog_type,
9300 helper_id: bpf_func_id,
9301 opts: *const ::std::os::raw::c_void,
9302 ) -> ::std::os::raw::c_int;
9303}
9304unsafe extern "C" {
9305 pub fn libbpf_num_possible_cpus() -> ::std::os::raw::c_int;
9306}
9307#[repr(C)]
9308#[derive(Debug, Copy, Clone)]
9309pub struct bpf_map_skeleton {
9310 pub name: *const ::std::os::raw::c_char,
9311 pub map: *mut *mut bpf_map,
9312 pub mmaped: *mut *mut ::std::os::raw::c_void,
9313 pub link: *mut *mut bpf_link,
9314}
9315impl Default for bpf_map_skeleton {
9316 fn default() -> Self {
9317 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9318 unsafe {
9319 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9320 s.assume_init()
9321 }
9322 }
9323}
9324#[repr(C)]
9325#[derive(Debug, Copy, Clone)]
9326pub struct bpf_prog_skeleton {
9327 pub name: *const ::std::os::raw::c_char,
9328 pub prog: *mut *mut bpf_program,
9329 pub link: *mut *mut bpf_link,
9330}
9331impl Default for bpf_prog_skeleton {
9332 fn default() -> Self {
9333 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9334 unsafe {
9335 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9336 s.assume_init()
9337 }
9338 }
9339}
9340#[repr(C)]
9341#[derive(Debug, Copy, Clone)]
9342pub struct bpf_object_skeleton {
9343 pub sz: size_t,
9344 pub name: *const ::std::os::raw::c_char,
9345 pub data: *const ::std::os::raw::c_void,
9346 pub data_sz: size_t,
9347 pub obj: *mut *mut bpf_object,
9348 pub map_cnt: ::std::os::raw::c_int,
9349 pub map_skel_sz: ::std::os::raw::c_int,
9350 pub maps: *mut bpf_map_skeleton,
9351 pub prog_cnt: ::std::os::raw::c_int,
9352 pub prog_skel_sz: ::std::os::raw::c_int,
9353 pub progs: *mut bpf_prog_skeleton,
9354}
9355impl Default for bpf_object_skeleton {
9356 fn default() -> Self {
9357 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9358 unsafe {
9359 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9360 s.assume_init()
9361 }
9362 }
9363}
9364unsafe extern "C" {
9365 pub fn bpf_object__open_skeleton(
9366 s: *mut bpf_object_skeleton,
9367 opts: *const bpf_object_open_opts,
9368 ) -> ::std::os::raw::c_int;
9369}
9370unsafe extern "C" {
9371 pub fn bpf_object__load_skeleton(s: *mut bpf_object_skeleton) -> ::std::os::raw::c_int;
9372}
9373unsafe extern "C" {
9374 pub fn bpf_object__attach_skeleton(s: *mut bpf_object_skeleton) -> ::std::os::raw::c_int;
9375}
9376unsafe extern "C" {
9377 pub fn bpf_object__detach_skeleton(s: *mut bpf_object_skeleton);
9378}
9379unsafe extern "C" {
9380 pub fn bpf_object__destroy_skeleton(s: *mut bpf_object_skeleton);
9381}
9382#[repr(C)]
9383#[derive(Debug, Copy, Clone)]
9384pub struct bpf_var_skeleton {
9385 pub name: *const ::std::os::raw::c_char,
9386 pub map: *mut *mut bpf_map,
9387 pub addr: *mut *mut ::std::os::raw::c_void,
9388}
9389impl Default for bpf_var_skeleton {
9390 fn default() -> Self {
9391 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9392 unsafe {
9393 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9394 s.assume_init()
9395 }
9396 }
9397}
9398#[repr(C)]
9399#[derive(Debug, Copy, Clone)]
9400pub struct bpf_object_subskeleton {
9401 pub sz: size_t,
9402 pub obj: *const bpf_object,
9403 pub map_cnt: ::std::os::raw::c_int,
9404 pub map_skel_sz: ::std::os::raw::c_int,
9405 pub maps: *mut bpf_map_skeleton,
9406 pub prog_cnt: ::std::os::raw::c_int,
9407 pub prog_skel_sz: ::std::os::raw::c_int,
9408 pub progs: *mut bpf_prog_skeleton,
9409 pub var_cnt: ::std::os::raw::c_int,
9410 pub var_skel_sz: ::std::os::raw::c_int,
9411 pub vars: *mut bpf_var_skeleton,
9412}
9413impl Default for bpf_object_subskeleton {
9414 fn default() -> Self {
9415 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9416 unsafe {
9417 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9418 s.assume_init()
9419 }
9420 }
9421}
9422unsafe extern "C" {
9423 pub fn bpf_object__open_subskeleton(s: *mut bpf_object_subskeleton) -> ::std::os::raw::c_int;
9424}
9425unsafe extern "C" {
9426 pub fn bpf_object__destroy_subskeleton(s: *mut bpf_object_subskeleton);
9427}
9428#[repr(C)]
9429#[derive(Debug, Copy, Clone)]
9430pub struct gen_loader_opts {
9431 pub sz: size_t,
9432 pub data: *const ::std::os::raw::c_char,
9433 pub insns: *const ::std::os::raw::c_char,
9434 pub data_sz: __u32,
9435 pub insns_sz: __u32,
9436}
9437impl Default for gen_loader_opts {
9438 fn default() -> Self {
9439 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9440 unsafe {
9441 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9442 s.assume_init()
9443 }
9444 }
9445}
9446unsafe extern "C" {
9447 pub fn bpf_object__gen_loader(
9448 obj: *mut bpf_object,
9449 opts: *mut gen_loader_opts,
9450 ) -> ::std::os::raw::c_int;
9451}
9452#[repr(C)]
9453#[derive(Debug, Default, Copy, Clone)]
9454pub struct bpf_linker_opts {
9455 pub sz: size_t,
9456}
9457#[repr(C)]
9458#[derive(Debug, Default, Copy, Clone)]
9459pub struct bpf_linker_file_opts {
9460 pub sz: size_t,
9461}
9462#[repr(C)]
9463#[derive(Debug, Copy, Clone)]
9464pub struct bpf_linker {
9465 _unused: [u8; 0],
9466}
9467unsafe extern "C" {
9468 pub fn bpf_linker__new(
9469 filename: *const ::std::os::raw::c_char,
9470 opts: *mut bpf_linker_opts,
9471 ) -> *mut bpf_linker;
9472}
9473unsafe extern "C" {
9474 pub fn bpf_linker__new_fd(
9475 fd: ::std::os::raw::c_int,
9476 opts: *mut bpf_linker_opts,
9477 ) -> *mut bpf_linker;
9478}
9479unsafe extern "C" {
9480 pub fn bpf_linker__add_file(
9481 linker: *mut bpf_linker,
9482 filename: *const ::std::os::raw::c_char,
9483 opts: *const bpf_linker_file_opts,
9484 ) -> ::std::os::raw::c_int;
9485}
9486unsafe extern "C" {
9487 pub fn bpf_linker__add_fd(
9488 linker: *mut bpf_linker,
9489 fd: ::std::os::raw::c_int,
9490 opts: *const bpf_linker_file_opts,
9491 ) -> ::std::os::raw::c_int;
9492}
9493unsafe extern "C" {
9494 pub fn bpf_linker__add_buf(
9495 linker: *mut bpf_linker,
9496 buf: *mut ::std::os::raw::c_void,
9497 buf_sz: size_t,
9498 opts: *const bpf_linker_file_opts,
9499 ) -> ::std::os::raw::c_int;
9500}
9501unsafe extern "C" {
9502 pub fn bpf_linker__finalize(linker: *mut bpf_linker) -> ::std::os::raw::c_int;
9503}
9504unsafe extern "C" {
9505 pub fn bpf_linker__free(linker: *mut bpf_linker);
9506}
9507pub type libbpf_prog_setup_fn_t = ::std::option::Option<
9508 unsafe extern "C" fn(
9509 prog: *mut bpf_program,
9510 cookie: ::std::os::raw::c_long,
9511 ) -> ::std::os::raw::c_int,
9512>;
9513pub type libbpf_prog_prepare_load_fn_t = ::std::option::Option<
9514 unsafe extern "C" fn(
9515 prog: *mut bpf_program,
9516 opts: *mut bpf_prog_load_opts,
9517 cookie: ::std::os::raw::c_long,
9518 ) -> ::std::os::raw::c_int,
9519>;
9520pub type libbpf_prog_attach_fn_t = ::std::option::Option<
9521 unsafe extern "C" fn(
9522 prog: *const bpf_program,
9523 cookie: ::std::os::raw::c_long,
9524 link: *mut *mut bpf_link,
9525 ) -> ::std::os::raw::c_int,
9526>;
9527#[repr(C)]
9528#[derive(Debug, Default, Copy, Clone)]
9529pub struct libbpf_prog_handler_opts {
9530 pub sz: size_t,
9531 pub cookie: ::std::os::raw::c_long,
9532 pub prog_setup_fn: libbpf_prog_setup_fn_t,
9533 pub prog_prepare_load_fn: libbpf_prog_prepare_load_fn_t,
9534 pub prog_attach_fn: libbpf_prog_attach_fn_t,
9535}
9536unsafe extern "C" {
9537 pub fn libbpf_register_prog_handler(
9538 sec: *const ::std::os::raw::c_char,
9539 prog_type: bpf_prog_type,
9540 exp_attach_type: bpf_attach_type,
9541 opts: *const libbpf_prog_handler_opts,
9542 ) -> ::std::os::raw::c_int;
9543}
9544unsafe extern "C" {
9545 pub fn libbpf_unregister_prog_handler(
9546 handler_id: ::std::os::raw::c_int,
9547 ) -> ::std::os::raw::c_int;
9548}
9549pub type __builtin_va_list = [__va_list_tag; 1usize];
9550#[repr(C)]
9551#[derive(Debug, Copy, Clone)]
9552pub struct __va_list_tag {
9553 pub gp_offset: ::std::os::raw::c_uint,
9554 pub fp_offset: ::std::os::raw::c_uint,
9555 pub overflow_arg_area: *mut ::std::os::raw::c_void,
9556 pub reg_save_area: *mut ::std::os::raw::c_void,
9557}
9558impl Default for __va_list_tag {
9559 fn default() -> Self {
9560 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9561 unsafe {
9562 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9563 s.assume_init()
9564 }
9565 }
9566}