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