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