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