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 { byte | mask } else { byte & !mask }
53 }
54 #[inline]
55 pub fn set_bit(&mut self, index: usize, val: bool) {
56 debug_assert!(index / 8 < self.storage.as_ref().len());
57 let byte_index = index / 8;
58 let byte = &mut self.storage.as_mut()[byte_index];
59 *byte = Self::change_bit(*byte, index, val);
60 }
61 #[inline]
62 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
63 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
64 let byte_index = index / 8;
65 let byte = unsafe {
66 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
67 };
68 unsafe { *byte = Self::change_bit(*byte, index, val) };
69 }
70 #[inline]
71 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
72 debug_assert!(bit_width <= 64);
73 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75 let mut val = 0;
76 for i in 0..(bit_width as usize) {
77 if self.get_bit(i + bit_offset) {
78 let index = if cfg!(target_endian = "big") {
79 bit_width as usize - 1 - i
80 } else {
81 i
82 };
83 val |= 1 << index;
84 }
85 }
86 val
87 }
88 #[inline]
89 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
90 debug_assert!(bit_width <= 64);
91 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
92 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
93 let mut val = 0;
94 for i in 0..(bit_width as usize) {
95 if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
96 let index = if cfg!(target_endian = "big") {
97 bit_width as usize - 1 - i
98 } else {
99 i
100 };
101 val |= 1 << index;
102 }
103 }
104 val
105 }
106 #[inline]
107 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
108 debug_assert!(bit_width <= 64);
109 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
111 for i in 0..(bit_width as usize) {
112 let mask = 1 << i;
113 let val_bit_is_set = val & mask == mask;
114 let index = if cfg!(target_endian = "big") {
115 bit_width as usize - 1 - i
116 } else {
117 i
118 };
119 self.set_bit(index + bit_offset, val_bit_is_set);
120 }
121 }
122 #[inline]
123 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
124 debug_assert!(bit_width <= 64);
125 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
126 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
127 for i in 0..(bit_width as usize) {
128 let mask = 1 << i;
129 let val_bit_is_set = val & mask == mask;
130 let index = if cfg!(target_endian = "big") {
131 bit_width as usize - 1 - i
132 } else {
133 i
134 };
135 unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
136 }
137 }
138}
139#[repr(C)]
140#[derive(Default)]
141pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
142impl<T> __IncompleteArrayField<T> {
143 #[inline]
144 pub const fn new() -> Self {
145 __IncompleteArrayField(::core::marker::PhantomData, [])
146 }
147 #[inline]
148 pub fn as_ptr(&self) -> *const T {
149 self as *const _ as *const T
150 }
151 #[inline]
152 pub fn as_mut_ptr(&mut self) -> *mut T {
153 self as *mut _ as *mut T
154 }
155 #[inline]
156 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
157 ::core::slice::from_raw_parts(self.as_ptr(), len)
158 }
159 #[inline]
160 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
161 ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
162 }
163}
164impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
165 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
166 fmt.write_str("__IncompleteArrayField")
167 }
168}
169pub const BPF_LD: u32 = 0;
170pub const BPF_LDX: u32 = 1;
171pub const BPF_ST: u32 = 2;
172pub const BPF_STX: u32 = 3;
173pub const BPF_ALU: u32 = 4;
174pub const BPF_JMP: u32 = 5;
175pub const BPF_RET: u32 = 6;
176pub const BPF_MISC: u32 = 7;
177pub const BPF_W: u32 = 0;
178pub const BPF_H: u32 = 8;
179pub const BPF_B: u32 = 16;
180pub const BPF_IMM: u32 = 0;
181pub const BPF_ABS: u32 = 32;
182pub const BPF_IND: u32 = 64;
183pub const BPF_MEM: u32 = 96;
184pub const BPF_LEN: u32 = 128;
185pub const BPF_MSH: u32 = 160;
186pub const BPF_ADD: u32 = 0;
187pub const BPF_SUB: u32 = 16;
188pub const BPF_MUL: u32 = 32;
189pub const BPF_DIV: u32 = 48;
190pub const BPF_OR: u32 = 64;
191pub const BPF_AND: u32 = 80;
192pub const BPF_LSH: u32 = 96;
193pub const BPF_RSH: u32 = 112;
194pub const BPF_NEG: u32 = 128;
195pub const BPF_MOD: u32 = 144;
196pub const BPF_XOR: u32 = 160;
197pub const BPF_JA: u32 = 0;
198pub const BPF_JEQ: u32 = 16;
199pub const BPF_JGT: u32 = 32;
200pub const BPF_JGE: u32 = 48;
201pub const BPF_JSET: u32 = 64;
202pub const BPF_K: u32 = 0;
203pub const BPF_X: u32 = 8;
204pub const BPF_MAXINSNS: u32 = 4096;
205pub const BPF_JMP32: u32 = 6;
206pub const BPF_ALU64: u32 = 7;
207pub const BPF_DW: u32 = 24;
208pub const BPF_MEMSX: u32 = 128;
209pub const BPF_ATOMIC: u32 = 192;
210pub const BPF_XADD: u32 = 192;
211pub const BPF_MOV: u32 = 176;
212pub const BPF_ARSH: u32 = 192;
213pub const BPF_END: u32 = 208;
214pub const BPF_TO_LE: u32 = 0;
215pub const BPF_TO_BE: u32 = 8;
216pub const BPF_FROM_LE: u32 = 0;
217pub const BPF_FROM_BE: u32 = 8;
218pub const BPF_JNE: u32 = 80;
219pub const BPF_JLT: u32 = 160;
220pub const BPF_JLE: u32 = 176;
221pub const BPF_JSGT: u32 = 96;
222pub const BPF_JSGE: u32 = 112;
223pub const BPF_JSLT: u32 = 192;
224pub const BPF_JSLE: u32 = 208;
225pub const BPF_JCOND: u32 = 224;
226pub const BPF_CALL: u32 = 128;
227pub const BPF_EXIT: u32 = 144;
228pub const BPF_FETCH: u32 = 1;
229pub const BPF_XCHG: u32 = 225;
230pub const BPF_CMPXCHG: u32 = 241;
231pub const BPF_F_ALLOW_OVERRIDE: u32 = 1;
232pub const BPF_F_ALLOW_MULTI: u32 = 2;
233pub const BPF_F_REPLACE: u32 = 4;
234pub const BPF_F_BEFORE: u32 = 8;
235pub const BPF_F_AFTER: u32 = 16;
236pub const BPF_F_ID: u32 = 32;
237pub const BPF_F_STRICT_ALIGNMENT: u32 = 1;
238pub const BPF_F_ANY_ALIGNMENT: u32 = 2;
239pub const BPF_F_TEST_RND_HI32: u32 = 4;
240pub const BPF_F_TEST_STATE_FREQ: u32 = 8;
241pub const BPF_F_SLEEPABLE: u32 = 16;
242pub const BPF_F_XDP_HAS_FRAGS: u32 = 32;
243pub const BPF_F_XDP_DEV_BOUND_ONLY: u32 = 64;
244pub const BPF_F_TEST_REG_INVARIANTS: u32 = 128;
245pub const BPF_F_NETFILTER_IP_DEFRAG: u32 = 1;
246pub const BPF_PSEUDO_MAP_FD: u32 = 1;
247pub const BPF_PSEUDO_MAP_IDX: u32 = 5;
248pub const BPF_PSEUDO_MAP_VALUE: u32 = 2;
249pub const BPF_PSEUDO_MAP_IDX_VALUE: u32 = 6;
250pub const BPF_PSEUDO_BTF_ID: u32 = 3;
251pub const BPF_PSEUDO_FUNC: u32 = 4;
252pub const BPF_PSEUDO_CALL: u32 = 1;
253pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2;
254pub const BPF_F_QUERY_EFFECTIVE: u32 = 1;
255pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1;
256pub const BPF_F_TEST_XDP_LIVE_FRAMES: u32 = 2;
257pub const BPF_BUILD_ID_SIZE: u32 = 20;
258pub const BPF_OBJ_NAME_LEN: u32 = 16;
259pub const BPF_TAG_SIZE: u32 = 8;
260pub const BTF_INT_SIGNED: u32 = 1;
261pub const BTF_INT_CHAR: u32 = 2;
262pub const BTF_INT_BOOL: u32 = 4;
263pub const NLMSG_ALIGNTO: u32 = 4;
264pub const XDP_FLAGS_UPDATE_IF_NOEXIST: u32 = 1;
265pub const XDP_FLAGS_SKB_MODE: u32 = 2;
266pub const XDP_FLAGS_DRV_MODE: u32 = 4;
267pub const XDP_FLAGS_HW_MODE: u32 = 8;
268pub const XDP_FLAGS_REPLACE: u32 = 16;
269pub const XDP_FLAGS_MODES: u32 = 14;
270pub const XDP_FLAGS_MASK: u32 = 31;
271pub const PERF_EVENT_IOC_ENABLE: u32 = 9216;
272pub const PERF_EVENT_IOC_DISABLE: u32 = 9217;
273pub const PERF_EVENT_IOC_REFRESH: u32 = 9218;
274pub const PERF_EVENT_IOC_RESET: u32 = 9219;
275pub const PERF_EVENT_IOC_PERIOD: u32 = 1074275332;
276pub const PERF_EVENT_IOC_SET_OUTPUT: u32 = 9221;
277pub const PERF_EVENT_IOC_SET_FILTER: u32 = 1074275334;
278pub const PERF_EVENT_IOC_ID: u32 = 2148017159;
279pub const PERF_EVENT_IOC_SET_BPF: u32 = 1074013192;
280pub const PERF_EVENT_IOC_PAUSE_OUTPUT: u32 = 1074013193;
281pub const PERF_EVENT_IOC_QUERY_BPF: u32 = 3221758986;
282pub const PERF_EVENT_IOC_MODIFY_ATTRIBUTES: u32 = 1074275339;
283pub const PERF_MAX_STACK_DEPTH: u32 = 127;
284pub const PERF_MAX_CONTEXTS_PER_STACK: u32 = 8;
285pub const PERF_FLAG_FD_NO_GROUP: u32 = 1;
286pub const PERF_FLAG_FD_OUTPUT: u32 = 2;
287pub const PERF_FLAG_PID_CGROUP: u32 = 4;
288pub const PERF_FLAG_FD_CLOEXEC: u32 = 8;
289pub const TC_H_MAJ_MASK: u32 = 4294901760;
290pub const TC_H_MIN_MASK: u32 = 65535;
291pub const TC_H_UNSPEC: u32 = 0;
292pub const TC_H_ROOT: u32 = 4294967295;
293pub const TC_H_INGRESS: u32 = 4294967281;
294pub const TC_H_CLSACT: u32 = 4294967281;
295pub const TC_H_MIN_PRIORITY: u32 = 65504;
296pub const TC_H_MIN_INGRESS: u32 = 65522;
297pub const TC_H_MIN_EGRESS: u32 = 65523;
298pub const TCA_BPF_FLAG_ACT_DIRECT: u32 = 1;
299pub const SO_ATTACH_BPF: u32 = 50;
300pub const SO_DETACH_BPF: u32 = 27;
301pub type __u8 = ::core::ffi::c_uchar;
302pub type __s16 = ::core::ffi::c_short;
303pub type __u16 = ::core::ffi::c_ushort;
304pub type __s32 = ::core::ffi::c_int;
305pub type __u32 = ::core::ffi::c_uint;
306pub type __s64 = ::core::ffi::c_longlong;
307pub type __u64 = ::core::ffi::c_ulonglong;
308pub const BPF_REG_0: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_0;
309pub const BPF_REG_1: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_1;
310pub const BPF_REG_2: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_2;
311pub const BPF_REG_3: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_3;
312pub const BPF_REG_4: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_4;
313pub const BPF_REG_5: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_5;
314pub const BPF_REG_6: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_6;
315pub const BPF_REG_7: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_7;
316pub const BPF_REG_8: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_8;
317pub const BPF_REG_9: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_9;
318pub const BPF_REG_10: _bindgen_ty_1 = _bindgen_ty_1::BPF_REG_10;
319pub const __MAX_BPF_REG: _bindgen_ty_1 = _bindgen_ty_1::__MAX_BPF_REG;
320#[repr(u32)]
321#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
322pub enum _bindgen_ty_1 {
323 BPF_REG_0 = 0,
324 BPF_REG_1 = 1,
325 BPF_REG_2 = 2,
326 BPF_REG_3 = 3,
327 BPF_REG_4 = 4,
328 BPF_REG_5 = 5,
329 BPF_REG_6 = 6,
330 BPF_REG_7 = 7,
331 BPF_REG_8 = 8,
332 BPF_REG_9 = 9,
333 BPF_REG_10 = 10,
334 __MAX_BPF_REG = 11,
335}
336#[repr(C)]
337#[derive(Debug, Copy, Clone)]
338pub struct bpf_insn {
339 pub code: __u8,
340 pub _bitfield_align_1: [u8; 0],
341 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
342 pub off: __s16,
343 pub imm: __s32,
344}
345impl bpf_insn {
346 #[inline]
347 pub fn dst_reg(&self) -> __u8 {
348 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
349 }
350 #[inline]
351 pub fn set_dst_reg(&mut self, val: __u8) {
352 unsafe {
353 let val: u8 = ::core::mem::transmute(val);
354 self._bitfield_1.set(0usize, 4u8, val as u64)
355 }
356 }
357 #[inline]
358 pub unsafe fn dst_reg_raw(this: *const Self) -> __u8 {
359 unsafe {
360 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
361 ::core::ptr::addr_of!((*this)._bitfield_1),
362 0usize,
363 4u8,
364 ) as u8)
365 }
366 }
367 #[inline]
368 pub unsafe fn set_dst_reg_raw(this: *mut Self, val: __u8) {
369 unsafe {
370 let val: u8 = ::core::mem::transmute(val);
371 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
372 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
373 0usize,
374 4u8,
375 val as u64,
376 )
377 }
378 }
379 #[inline]
380 pub fn src_reg(&self) -> __u8 {
381 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
382 }
383 #[inline]
384 pub fn set_src_reg(&mut self, val: __u8) {
385 unsafe {
386 let val: u8 = ::core::mem::transmute(val);
387 self._bitfield_1.set(4usize, 4u8, val as u64)
388 }
389 }
390 #[inline]
391 pub unsafe fn src_reg_raw(this: *const Self) -> __u8 {
392 unsafe {
393 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
394 ::core::ptr::addr_of!((*this)._bitfield_1),
395 4usize,
396 4u8,
397 ) as u8)
398 }
399 }
400 #[inline]
401 pub unsafe fn set_src_reg_raw(this: *mut Self, val: __u8) {
402 unsafe {
403 let val: u8 = ::core::mem::transmute(val);
404 <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
405 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
406 4usize,
407 4u8,
408 val as u64,
409 )
410 }
411 }
412 #[inline]
413 pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
414 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
415 __bindgen_bitfield_unit.set(0usize, 4u8, {
416 let dst_reg: u8 = unsafe { ::core::mem::transmute(dst_reg) };
417 dst_reg as u64
418 });
419 __bindgen_bitfield_unit.set(4usize, 4u8, {
420 let src_reg: u8 = unsafe { ::core::mem::transmute(src_reg) };
421 src_reg as u64
422 });
423 __bindgen_bitfield_unit
424 }
425}
426#[repr(C)]
427#[derive(Debug)]
428pub struct bpf_lpm_trie_key {
429 pub prefixlen: __u32,
430 pub data: __IncompleteArrayField<__u8>,
431}
432#[repr(C)]
433#[derive(Debug, Copy, Clone)]
434pub struct bpf_cgroup_storage_key {
435 pub cgroup_inode_id: __u64,
436 pub attach_type: __u32,
437}
438#[repr(u32)]
439#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
440pub enum bpf_cgroup_iter_order {
441 BPF_CGROUP_ITER_ORDER_UNSPEC = 0,
442 BPF_CGROUP_ITER_SELF_ONLY = 1,
443 BPF_CGROUP_ITER_DESCENDANTS_PRE = 2,
444 BPF_CGROUP_ITER_DESCENDANTS_POST = 3,
445 BPF_CGROUP_ITER_ANCESTORS_UP = 4,
446}
447impl bpf_cmd {
448 pub const BPF_PROG_RUN: bpf_cmd = bpf_cmd::BPF_PROG_TEST_RUN;
449}
450#[repr(u32)]
451#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
452pub enum bpf_cmd {
453 BPF_MAP_CREATE = 0,
454 BPF_MAP_LOOKUP_ELEM = 1,
455 BPF_MAP_UPDATE_ELEM = 2,
456 BPF_MAP_DELETE_ELEM = 3,
457 BPF_MAP_GET_NEXT_KEY = 4,
458 BPF_PROG_LOAD = 5,
459 BPF_OBJ_PIN = 6,
460 BPF_OBJ_GET = 7,
461 BPF_PROG_ATTACH = 8,
462 BPF_PROG_DETACH = 9,
463 BPF_PROG_TEST_RUN = 10,
464 BPF_PROG_GET_NEXT_ID = 11,
465 BPF_MAP_GET_NEXT_ID = 12,
466 BPF_PROG_GET_FD_BY_ID = 13,
467 BPF_MAP_GET_FD_BY_ID = 14,
468 BPF_OBJ_GET_INFO_BY_FD = 15,
469 BPF_PROG_QUERY = 16,
470 BPF_RAW_TRACEPOINT_OPEN = 17,
471 BPF_BTF_LOAD = 18,
472 BPF_BTF_GET_FD_BY_ID = 19,
473 BPF_TASK_FD_QUERY = 20,
474 BPF_MAP_LOOKUP_AND_DELETE_ELEM = 21,
475 BPF_MAP_FREEZE = 22,
476 BPF_BTF_GET_NEXT_ID = 23,
477 BPF_MAP_LOOKUP_BATCH = 24,
478 BPF_MAP_LOOKUP_AND_DELETE_BATCH = 25,
479 BPF_MAP_UPDATE_BATCH = 26,
480 BPF_MAP_DELETE_BATCH = 27,
481 BPF_LINK_CREATE = 28,
482 BPF_LINK_UPDATE = 29,
483 BPF_LINK_GET_FD_BY_ID = 30,
484 BPF_LINK_GET_NEXT_ID = 31,
485 BPF_ENABLE_STATS = 32,
486 BPF_ITER_CREATE = 33,
487 BPF_LINK_DETACH = 34,
488 BPF_PROG_BIND_MAP = 35,
489 BPF_TOKEN_CREATE = 36,
490 __MAX_BPF_CMD = 37,
491}
492impl bpf_map_type {
493 pub const BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type =
494 bpf_map_type::BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED;
495}
496impl bpf_map_type {
497 pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: bpf_map_type =
498 bpf_map_type::BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED;
499}
500#[repr(u32)]
501#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
502pub enum bpf_map_type {
503 BPF_MAP_TYPE_UNSPEC = 0,
504 BPF_MAP_TYPE_HASH = 1,
505 BPF_MAP_TYPE_ARRAY = 2,
506 BPF_MAP_TYPE_PROG_ARRAY = 3,
507 BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4,
508 BPF_MAP_TYPE_PERCPU_HASH = 5,
509 BPF_MAP_TYPE_PERCPU_ARRAY = 6,
510 BPF_MAP_TYPE_STACK_TRACE = 7,
511 BPF_MAP_TYPE_CGROUP_ARRAY = 8,
512 BPF_MAP_TYPE_LRU_HASH = 9,
513 BPF_MAP_TYPE_LRU_PERCPU_HASH = 10,
514 BPF_MAP_TYPE_LPM_TRIE = 11,
515 BPF_MAP_TYPE_ARRAY_OF_MAPS = 12,
516 BPF_MAP_TYPE_HASH_OF_MAPS = 13,
517 BPF_MAP_TYPE_DEVMAP = 14,
518 BPF_MAP_TYPE_SOCKMAP = 15,
519 BPF_MAP_TYPE_CPUMAP = 16,
520 BPF_MAP_TYPE_XSKMAP = 17,
521 BPF_MAP_TYPE_SOCKHASH = 18,
522 BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,
523 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,
524 BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21,
525 BPF_MAP_TYPE_QUEUE = 22,
526 BPF_MAP_TYPE_STACK = 23,
527 BPF_MAP_TYPE_SK_STORAGE = 24,
528 BPF_MAP_TYPE_DEVMAP_HASH = 25,
529 BPF_MAP_TYPE_STRUCT_OPS = 26,
530 BPF_MAP_TYPE_RINGBUF = 27,
531 BPF_MAP_TYPE_INODE_STORAGE = 28,
532 BPF_MAP_TYPE_TASK_STORAGE = 29,
533 BPF_MAP_TYPE_BLOOM_FILTER = 30,
534 BPF_MAP_TYPE_USER_RINGBUF = 31,
535 BPF_MAP_TYPE_CGRP_STORAGE = 32,
536 BPF_MAP_TYPE_ARENA = 33,
537 __MAX_BPF_MAP_TYPE = 34,
538}
539#[repr(u32)]
540#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
541pub enum bpf_prog_type {
542 BPF_PROG_TYPE_UNSPEC = 0,
543 BPF_PROG_TYPE_SOCKET_FILTER = 1,
544 BPF_PROG_TYPE_KPROBE = 2,
545 BPF_PROG_TYPE_SCHED_CLS = 3,
546 BPF_PROG_TYPE_SCHED_ACT = 4,
547 BPF_PROG_TYPE_TRACEPOINT = 5,
548 BPF_PROG_TYPE_XDP = 6,
549 BPF_PROG_TYPE_PERF_EVENT = 7,
550 BPF_PROG_TYPE_CGROUP_SKB = 8,
551 BPF_PROG_TYPE_CGROUP_SOCK = 9,
552 BPF_PROG_TYPE_LWT_IN = 10,
553 BPF_PROG_TYPE_LWT_OUT = 11,
554 BPF_PROG_TYPE_LWT_XMIT = 12,
555 BPF_PROG_TYPE_SOCK_OPS = 13,
556 BPF_PROG_TYPE_SK_SKB = 14,
557 BPF_PROG_TYPE_CGROUP_DEVICE = 15,
558 BPF_PROG_TYPE_SK_MSG = 16,
559 BPF_PROG_TYPE_RAW_TRACEPOINT = 17,
560 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18,
561 BPF_PROG_TYPE_LWT_SEG6LOCAL = 19,
562 BPF_PROG_TYPE_LIRC_MODE2 = 20,
563 BPF_PROG_TYPE_SK_REUSEPORT = 21,
564 BPF_PROG_TYPE_FLOW_DISSECTOR = 22,
565 BPF_PROG_TYPE_CGROUP_SYSCTL = 23,
566 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24,
567 BPF_PROG_TYPE_CGROUP_SOCKOPT = 25,
568 BPF_PROG_TYPE_TRACING = 26,
569 BPF_PROG_TYPE_STRUCT_OPS = 27,
570 BPF_PROG_TYPE_EXT = 28,
571 BPF_PROG_TYPE_LSM = 29,
572 BPF_PROG_TYPE_SK_LOOKUP = 30,
573 BPF_PROG_TYPE_SYSCALL = 31,
574 BPF_PROG_TYPE_NETFILTER = 32,
575 __MAX_BPF_PROG_TYPE = 33,
576}
577#[repr(u32)]
578#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
579pub enum bpf_attach_type {
580 BPF_CGROUP_INET_INGRESS = 0,
581 BPF_CGROUP_INET_EGRESS = 1,
582 BPF_CGROUP_INET_SOCK_CREATE = 2,
583 BPF_CGROUP_SOCK_OPS = 3,
584 BPF_SK_SKB_STREAM_PARSER = 4,
585 BPF_SK_SKB_STREAM_VERDICT = 5,
586 BPF_CGROUP_DEVICE = 6,
587 BPF_SK_MSG_VERDICT = 7,
588 BPF_CGROUP_INET4_BIND = 8,
589 BPF_CGROUP_INET6_BIND = 9,
590 BPF_CGROUP_INET4_CONNECT = 10,
591 BPF_CGROUP_INET6_CONNECT = 11,
592 BPF_CGROUP_INET4_POST_BIND = 12,
593 BPF_CGROUP_INET6_POST_BIND = 13,
594 BPF_CGROUP_UDP4_SENDMSG = 14,
595 BPF_CGROUP_UDP6_SENDMSG = 15,
596 BPF_LIRC_MODE2 = 16,
597 BPF_FLOW_DISSECTOR = 17,
598 BPF_CGROUP_SYSCTL = 18,
599 BPF_CGROUP_UDP4_RECVMSG = 19,
600 BPF_CGROUP_UDP6_RECVMSG = 20,
601 BPF_CGROUP_GETSOCKOPT = 21,
602 BPF_CGROUP_SETSOCKOPT = 22,
603 BPF_TRACE_RAW_TP = 23,
604 BPF_TRACE_FENTRY = 24,
605 BPF_TRACE_FEXIT = 25,
606 BPF_MODIFY_RETURN = 26,
607 BPF_LSM_MAC = 27,
608 BPF_TRACE_ITER = 28,
609 BPF_CGROUP_INET4_GETPEERNAME = 29,
610 BPF_CGROUP_INET6_GETPEERNAME = 30,
611 BPF_CGROUP_INET4_GETSOCKNAME = 31,
612 BPF_CGROUP_INET6_GETSOCKNAME = 32,
613 BPF_XDP_DEVMAP = 33,
614 BPF_CGROUP_INET_SOCK_RELEASE = 34,
615 BPF_XDP_CPUMAP = 35,
616 BPF_SK_LOOKUP = 36,
617 BPF_XDP = 37,
618 BPF_SK_SKB_VERDICT = 38,
619 BPF_SK_REUSEPORT_SELECT = 39,
620 BPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40,
621 BPF_PERF_EVENT = 41,
622 BPF_TRACE_KPROBE_MULTI = 42,
623 BPF_LSM_CGROUP = 43,
624 BPF_STRUCT_OPS = 44,
625 BPF_NETFILTER = 45,
626 BPF_TCX_INGRESS = 46,
627 BPF_TCX_EGRESS = 47,
628 BPF_TRACE_UPROBE_MULTI = 48,
629 BPF_CGROUP_UNIX_CONNECT = 49,
630 BPF_CGROUP_UNIX_SENDMSG = 50,
631 BPF_CGROUP_UNIX_RECVMSG = 51,
632 BPF_CGROUP_UNIX_GETPEERNAME = 52,
633 BPF_CGROUP_UNIX_GETSOCKNAME = 53,
634 BPF_NETKIT_PRIMARY = 54,
635 BPF_NETKIT_PEER = 55,
636 __MAX_BPF_ATTACH_TYPE = 56,
637}
638#[repr(u32)]
639#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
640pub enum bpf_link_type {
641 BPF_LINK_TYPE_UNSPEC = 0,
642 BPF_LINK_TYPE_RAW_TRACEPOINT = 1,
643 BPF_LINK_TYPE_TRACING = 2,
644 BPF_LINK_TYPE_CGROUP = 3,
645 BPF_LINK_TYPE_ITER = 4,
646 BPF_LINK_TYPE_NETNS = 5,
647 BPF_LINK_TYPE_XDP = 6,
648 BPF_LINK_TYPE_PERF_EVENT = 7,
649 BPF_LINK_TYPE_KPROBE_MULTI = 8,
650 BPF_LINK_TYPE_STRUCT_OPS = 9,
651 BPF_LINK_TYPE_NETFILTER = 10,
652 BPF_LINK_TYPE_TCX = 11,
653 BPF_LINK_TYPE_UPROBE_MULTI = 12,
654 BPF_LINK_TYPE_NETKIT = 13,
655 __MAX_BPF_LINK_TYPE = 14,
656}
657#[repr(u32)]
658#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
659pub enum bpf_perf_event_type {
660 BPF_PERF_EVENT_UNSPEC = 0,
661 BPF_PERF_EVENT_UPROBE = 1,
662 BPF_PERF_EVENT_URETPROBE = 2,
663 BPF_PERF_EVENT_KPROBE = 3,
664 BPF_PERF_EVENT_KRETPROBE = 4,
665 BPF_PERF_EVENT_TRACEPOINT = 5,
666 BPF_PERF_EVENT_EVENT = 6,
667}
668pub const BPF_F_KPROBE_MULTI_RETURN: _bindgen_ty_2 = 1;
669pub type _bindgen_ty_2 = ::core::ffi::c_uint;
670pub const BPF_F_UPROBE_MULTI_RETURN: _bindgen_ty_3 = 1;
671pub type _bindgen_ty_3 = ::core::ffi::c_uint;
672pub const BPF_ANY: _bindgen_ty_4 = 0;
673pub const BPF_NOEXIST: _bindgen_ty_4 = 1;
674pub const BPF_EXIST: _bindgen_ty_4 = 2;
675pub const BPF_F_LOCK: _bindgen_ty_4 = 4;
676pub type _bindgen_ty_4 = ::core::ffi::c_uint;
677pub const BPF_F_NO_PREALLOC: _bindgen_ty_5 = 1;
678pub const BPF_F_NO_COMMON_LRU: _bindgen_ty_5 = 2;
679pub const BPF_F_NUMA_NODE: _bindgen_ty_5 = 4;
680pub const BPF_F_RDONLY: _bindgen_ty_5 = 8;
681pub const BPF_F_WRONLY: _bindgen_ty_5 = 16;
682pub const BPF_F_STACK_BUILD_ID: _bindgen_ty_5 = 32;
683pub const BPF_F_ZERO_SEED: _bindgen_ty_5 = 64;
684pub const BPF_F_RDONLY_PROG: _bindgen_ty_5 = 128;
685pub const BPF_F_WRONLY_PROG: _bindgen_ty_5 = 256;
686pub const BPF_F_CLONE: _bindgen_ty_5 = 512;
687pub const BPF_F_MMAPABLE: _bindgen_ty_5 = 1024;
688pub const BPF_F_PRESERVE_ELEMS: _bindgen_ty_5 = 2048;
689pub const BPF_F_INNER_MAP: _bindgen_ty_5 = 4096;
690pub const BPF_F_LINK: _bindgen_ty_5 = 8192;
691pub const BPF_F_PATH_FD: _bindgen_ty_5 = 16384;
692pub const BPF_F_VTYPE_BTF_OBJ_FD: _bindgen_ty_5 = 32768;
693pub const BPF_F_TOKEN_FD: _bindgen_ty_5 = 65536;
694pub const BPF_F_SEGV_ON_FAULT: _bindgen_ty_5 = 131072;
695pub const BPF_F_NO_USER_CONV: _bindgen_ty_5 = 262144;
696pub type _bindgen_ty_5 = ::core::ffi::c_uint;
697#[repr(u32)]
698#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
699pub enum bpf_stats_type {
700 BPF_STATS_RUN_TIME = 0,
701}
702#[repr(C)]
703#[derive(Copy, Clone)]
704pub union bpf_attr {
705 pub __bindgen_anon_1: bpf_attr__bindgen_ty_1,
706 pub __bindgen_anon_2: bpf_attr__bindgen_ty_2,
707 pub batch: bpf_attr__bindgen_ty_3,
708 pub __bindgen_anon_3: bpf_attr__bindgen_ty_4,
709 pub __bindgen_anon_4: bpf_attr__bindgen_ty_5,
710 pub __bindgen_anon_5: bpf_attr__bindgen_ty_6,
711 pub test: bpf_attr__bindgen_ty_7,
712 pub __bindgen_anon_6: bpf_attr__bindgen_ty_8,
713 pub info: bpf_attr__bindgen_ty_9,
714 pub query: bpf_attr__bindgen_ty_10,
715 pub raw_tracepoint: bpf_attr__bindgen_ty_11,
716 pub __bindgen_anon_7: bpf_attr__bindgen_ty_12,
717 pub task_fd_query: bpf_attr__bindgen_ty_13,
718 pub link_create: bpf_attr__bindgen_ty_14,
719 pub link_update: bpf_attr__bindgen_ty_15,
720 pub link_detach: bpf_attr__bindgen_ty_16,
721 pub enable_stats: bpf_attr__bindgen_ty_17,
722 pub iter_create: bpf_attr__bindgen_ty_18,
723 pub prog_bind_map: bpf_attr__bindgen_ty_19,
724 pub token_create: bpf_attr__bindgen_ty_20,
725}
726#[repr(C)]
727#[derive(Debug, Copy, Clone)]
728pub struct bpf_attr__bindgen_ty_1 {
729 pub map_type: __u32,
730 pub key_size: __u32,
731 pub value_size: __u32,
732 pub max_entries: __u32,
733 pub map_flags: __u32,
734 pub inner_map_fd: __u32,
735 pub numa_node: __u32,
736 pub map_name: [::core::ffi::c_char; 16usize],
737 pub map_ifindex: __u32,
738 pub btf_fd: __u32,
739 pub btf_key_type_id: __u32,
740 pub btf_value_type_id: __u32,
741 pub btf_vmlinux_value_type_id: __u32,
742 pub map_extra: __u64,
743 pub value_type_btf_obj_fd: __s32,
744 pub map_token_fd: __s32,
745}
746#[repr(C)]
747#[derive(Copy, Clone)]
748pub struct bpf_attr__bindgen_ty_2 {
749 pub map_fd: __u32,
750 pub key: __u64,
751 pub __bindgen_anon_1: bpf_attr__bindgen_ty_2__bindgen_ty_1,
752 pub flags: __u64,
753}
754#[repr(C)]
755#[derive(Copy, Clone)]
756pub union bpf_attr__bindgen_ty_2__bindgen_ty_1 {
757 pub value: __u64,
758 pub next_key: __u64,
759}
760#[repr(C)]
761#[derive(Debug, Copy, Clone)]
762pub struct bpf_attr__bindgen_ty_3 {
763 pub in_batch: __u64,
764 pub out_batch: __u64,
765 pub keys: __u64,
766 pub values: __u64,
767 pub count: __u32,
768 pub map_fd: __u32,
769 pub elem_flags: __u64,
770 pub flags: __u64,
771}
772#[repr(C)]
773#[derive(Copy, Clone)]
774pub struct bpf_attr__bindgen_ty_4 {
775 pub prog_type: __u32,
776 pub insn_cnt: __u32,
777 pub insns: __u64,
778 pub license: __u64,
779 pub log_level: __u32,
780 pub log_size: __u32,
781 pub log_buf: __u64,
782 pub kern_version: __u32,
783 pub prog_flags: __u32,
784 pub prog_name: [::core::ffi::c_char; 16usize],
785 pub prog_ifindex: __u32,
786 pub expected_attach_type: __u32,
787 pub prog_btf_fd: __u32,
788 pub func_info_rec_size: __u32,
789 pub func_info: __u64,
790 pub func_info_cnt: __u32,
791 pub line_info_rec_size: __u32,
792 pub line_info: __u64,
793 pub line_info_cnt: __u32,
794 pub attach_btf_id: __u32,
795 pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1,
796 pub core_relo_cnt: __u32,
797 pub fd_array: __u64,
798 pub core_relos: __u64,
799 pub core_relo_rec_size: __u32,
800 pub log_true_size: __u32,
801 pub prog_token_fd: __s32,
802}
803#[repr(C)]
804#[derive(Copy, Clone)]
805pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 {
806 pub attach_prog_fd: __u32,
807 pub attach_btf_obj_fd: __u32,
808}
809#[repr(C)]
810#[derive(Debug, Copy, Clone)]
811pub struct bpf_attr__bindgen_ty_5 {
812 pub pathname: __u64,
813 pub bpf_fd: __u32,
814 pub file_flags: __u32,
815 pub path_fd: __s32,
816}
817#[repr(C)]
818#[derive(Copy, Clone)]
819pub struct bpf_attr__bindgen_ty_6 {
820 pub __bindgen_anon_1: bpf_attr__bindgen_ty_6__bindgen_ty_1,
821 pub attach_bpf_fd: __u32,
822 pub attach_type: __u32,
823 pub attach_flags: __u32,
824 pub replace_bpf_fd: __u32,
825 pub __bindgen_anon_2: bpf_attr__bindgen_ty_6__bindgen_ty_2,
826 pub expected_revision: __u64,
827}
828#[repr(C)]
829#[derive(Copy, Clone)]
830pub union bpf_attr__bindgen_ty_6__bindgen_ty_1 {
831 pub target_fd: __u32,
832 pub target_ifindex: __u32,
833}
834#[repr(C)]
835#[derive(Copy, Clone)]
836pub union bpf_attr__bindgen_ty_6__bindgen_ty_2 {
837 pub relative_fd: __u32,
838 pub relative_id: __u32,
839}
840#[repr(C)]
841#[derive(Debug, Copy, Clone)]
842pub struct bpf_attr__bindgen_ty_7 {
843 pub prog_fd: __u32,
844 pub retval: __u32,
845 pub data_size_in: __u32,
846 pub data_size_out: __u32,
847 pub data_in: __u64,
848 pub data_out: __u64,
849 pub repeat: __u32,
850 pub duration: __u32,
851 pub ctx_size_in: __u32,
852 pub ctx_size_out: __u32,
853 pub ctx_in: __u64,
854 pub ctx_out: __u64,
855 pub flags: __u32,
856 pub cpu: __u32,
857 pub batch_size: __u32,
858}
859#[repr(C)]
860#[derive(Copy, Clone)]
861pub struct bpf_attr__bindgen_ty_8 {
862 pub __bindgen_anon_1: bpf_attr__bindgen_ty_8__bindgen_ty_1,
863 pub next_id: __u32,
864 pub open_flags: __u32,
865}
866#[repr(C)]
867#[derive(Copy, Clone)]
868pub union bpf_attr__bindgen_ty_8__bindgen_ty_1 {
869 pub start_id: __u32,
870 pub prog_id: __u32,
871 pub map_id: __u32,
872 pub btf_id: __u32,
873 pub link_id: __u32,
874}
875#[repr(C)]
876#[derive(Debug, Copy, Clone)]
877pub struct bpf_attr__bindgen_ty_9 {
878 pub bpf_fd: __u32,
879 pub info_len: __u32,
880 pub info: __u64,
881}
882#[repr(C)]
883#[derive(Copy, Clone)]
884pub struct bpf_attr__bindgen_ty_10 {
885 pub __bindgen_anon_1: bpf_attr__bindgen_ty_10__bindgen_ty_1,
886 pub attach_type: __u32,
887 pub query_flags: __u32,
888 pub attach_flags: __u32,
889 pub prog_ids: __u64,
890 pub __bindgen_anon_2: bpf_attr__bindgen_ty_10__bindgen_ty_2,
891 pub _bitfield_align_1: [u8; 0],
892 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
893 pub prog_attach_flags: __u64,
894 pub link_ids: __u64,
895 pub link_attach_flags: __u64,
896 pub revision: __u64,
897}
898#[repr(C)]
899#[derive(Copy, Clone)]
900pub union bpf_attr__bindgen_ty_10__bindgen_ty_1 {
901 pub target_fd: __u32,
902 pub target_ifindex: __u32,
903}
904#[repr(C)]
905#[derive(Copy, Clone)]
906pub union bpf_attr__bindgen_ty_10__bindgen_ty_2 {
907 pub prog_cnt: __u32,
908 pub count: __u32,
909}
910impl bpf_attr__bindgen_ty_10 {
911 #[inline]
912 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
913 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
914 __bindgen_bitfield_unit
915 }
916}
917#[repr(C)]
918#[derive(Debug, Copy, Clone)]
919pub struct bpf_attr__bindgen_ty_11 {
920 pub name: __u64,
921 pub prog_fd: __u32,
922 pub _bitfield_align_1: [u8; 0],
923 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
924 pub cookie: __u64,
925}
926impl bpf_attr__bindgen_ty_11 {
927 #[inline]
928 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
929 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
930 __bindgen_bitfield_unit
931 }
932}
933#[repr(C)]
934#[derive(Debug, Copy, Clone)]
935pub struct bpf_attr__bindgen_ty_12 {
936 pub btf: __u64,
937 pub btf_log_buf: __u64,
938 pub btf_size: __u32,
939 pub btf_log_size: __u32,
940 pub btf_log_level: __u32,
941 pub btf_log_true_size: __u32,
942 pub btf_flags: __u32,
943 pub btf_token_fd: __s32,
944}
945#[repr(C)]
946#[derive(Debug, Copy, Clone)]
947pub struct bpf_attr__bindgen_ty_13 {
948 pub pid: __u32,
949 pub fd: __u32,
950 pub flags: __u32,
951 pub buf_len: __u32,
952 pub buf: __u64,
953 pub prog_id: __u32,
954 pub fd_type: __u32,
955 pub probe_offset: __u64,
956 pub probe_addr: __u64,
957}
958#[repr(C)]
959#[derive(Copy, Clone)]
960pub struct bpf_attr__bindgen_ty_14 {
961 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_1,
962 pub __bindgen_anon_2: bpf_attr__bindgen_ty_14__bindgen_ty_2,
963 pub attach_type: __u32,
964 pub flags: __u32,
965 pub __bindgen_anon_3: bpf_attr__bindgen_ty_14__bindgen_ty_3,
966}
967#[repr(C)]
968#[derive(Copy, Clone)]
969pub union bpf_attr__bindgen_ty_14__bindgen_ty_1 {
970 pub prog_fd: __u32,
971 pub map_fd: __u32,
972}
973#[repr(C)]
974#[derive(Copy, Clone)]
975pub union bpf_attr__bindgen_ty_14__bindgen_ty_2 {
976 pub target_fd: __u32,
977 pub target_ifindex: __u32,
978}
979#[repr(C)]
980#[derive(Copy, Clone)]
981pub union bpf_attr__bindgen_ty_14__bindgen_ty_3 {
982 pub target_btf_id: __u32,
983 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1,
984 pub perf_event: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2,
985 pub kprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3,
986 pub tracing: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4,
987 pub netfilter: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5,
988 pub tcx: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6,
989 pub uprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7,
990 pub netkit: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8,
991}
992#[repr(C)]
993#[derive(Debug, Copy, Clone)]
994pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1 {
995 pub iter_info: __u64,
996 pub iter_info_len: __u32,
997}
998#[repr(C)]
999#[derive(Debug, Copy, Clone)]
1000pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2 {
1001 pub bpf_cookie: __u64,
1002}
1003#[repr(C)]
1004#[derive(Debug, Copy, Clone)]
1005pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3 {
1006 pub flags: __u32,
1007 pub cnt: __u32,
1008 pub syms: __u64,
1009 pub addrs: __u64,
1010 pub cookies: __u64,
1011}
1012#[repr(C)]
1013#[derive(Debug, Copy, Clone)]
1014pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4 {
1015 pub target_btf_id: __u32,
1016 pub cookie: __u64,
1017}
1018#[repr(C)]
1019#[derive(Debug, Copy, Clone)]
1020pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5 {
1021 pub pf: __u32,
1022 pub hooknum: __u32,
1023 pub priority: __s32,
1024 pub flags: __u32,
1025}
1026#[repr(C)]
1027#[derive(Copy, Clone)]
1028pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6 {
1029 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1,
1030 pub expected_revision: __u64,
1031}
1032#[repr(C)]
1033#[derive(Copy, Clone)]
1034pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 {
1035 pub relative_fd: __u32,
1036 pub relative_id: __u32,
1037}
1038#[repr(C)]
1039#[derive(Debug, Copy, Clone)]
1040pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7 {
1041 pub path: __u64,
1042 pub offsets: __u64,
1043 pub ref_ctr_offsets: __u64,
1044 pub cookies: __u64,
1045 pub cnt: __u32,
1046 pub flags: __u32,
1047 pub pid: __u32,
1048}
1049#[repr(C)]
1050#[derive(Copy, Clone)]
1051pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8 {
1052 pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1,
1053 pub expected_revision: __u64,
1054}
1055#[repr(C)]
1056#[derive(Copy, Clone)]
1057pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 {
1058 pub relative_fd: __u32,
1059 pub relative_id: __u32,
1060}
1061#[repr(C)]
1062#[derive(Copy, Clone)]
1063pub struct bpf_attr__bindgen_ty_15 {
1064 pub link_fd: __u32,
1065 pub __bindgen_anon_1: bpf_attr__bindgen_ty_15__bindgen_ty_1,
1066 pub flags: __u32,
1067 pub __bindgen_anon_2: bpf_attr__bindgen_ty_15__bindgen_ty_2,
1068}
1069#[repr(C)]
1070#[derive(Copy, Clone)]
1071pub union bpf_attr__bindgen_ty_15__bindgen_ty_1 {
1072 pub new_prog_fd: __u32,
1073 pub new_map_fd: __u32,
1074}
1075#[repr(C)]
1076#[derive(Copy, Clone)]
1077pub union bpf_attr__bindgen_ty_15__bindgen_ty_2 {
1078 pub old_prog_fd: __u32,
1079 pub old_map_fd: __u32,
1080}
1081#[repr(C)]
1082#[derive(Debug, Copy, Clone)]
1083pub struct bpf_attr__bindgen_ty_16 {
1084 pub link_fd: __u32,
1085}
1086#[repr(C)]
1087#[derive(Debug, Copy, Clone)]
1088pub struct bpf_attr__bindgen_ty_17 {
1089 pub type_: __u32,
1090}
1091#[repr(C)]
1092#[derive(Debug, Copy, Clone)]
1093pub struct bpf_attr__bindgen_ty_18 {
1094 pub link_fd: __u32,
1095 pub flags: __u32,
1096}
1097#[repr(C)]
1098#[derive(Debug, Copy, Clone)]
1099pub struct bpf_attr__bindgen_ty_19 {
1100 pub prog_fd: __u32,
1101 pub map_fd: __u32,
1102 pub flags: __u32,
1103}
1104#[repr(C)]
1105#[derive(Debug, Copy, Clone)]
1106pub struct bpf_attr__bindgen_ty_20 {
1107 pub flags: __u32,
1108 pub bpffs_fd: __u32,
1109}
1110#[repr(u32)]
1111#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1112pub enum bpf_func_id {
1113 BPF_FUNC_unspec = 0,
1114 BPF_FUNC_map_lookup_elem = 1,
1115 BPF_FUNC_map_update_elem = 2,
1116 BPF_FUNC_map_delete_elem = 3,
1117 BPF_FUNC_probe_read = 4,
1118 BPF_FUNC_ktime_get_ns = 5,
1119 BPF_FUNC_trace_printk = 6,
1120 BPF_FUNC_get_prandom_u32 = 7,
1121 BPF_FUNC_get_smp_processor_id = 8,
1122 BPF_FUNC_skb_store_bytes = 9,
1123 BPF_FUNC_l3_csum_replace = 10,
1124 BPF_FUNC_l4_csum_replace = 11,
1125 BPF_FUNC_tail_call = 12,
1126 BPF_FUNC_clone_redirect = 13,
1127 BPF_FUNC_get_current_pid_tgid = 14,
1128 BPF_FUNC_get_current_uid_gid = 15,
1129 BPF_FUNC_get_current_comm = 16,
1130 BPF_FUNC_get_cgroup_classid = 17,
1131 BPF_FUNC_skb_vlan_push = 18,
1132 BPF_FUNC_skb_vlan_pop = 19,
1133 BPF_FUNC_skb_get_tunnel_key = 20,
1134 BPF_FUNC_skb_set_tunnel_key = 21,
1135 BPF_FUNC_perf_event_read = 22,
1136 BPF_FUNC_redirect = 23,
1137 BPF_FUNC_get_route_realm = 24,
1138 BPF_FUNC_perf_event_output = 25,
1139 BPF_FUNC_skb_load_bytes = 26,
1140 BPF_FUNC_get_stackid = 27,
1141 BPF_FUNC_csum_diff = 28,
1142 BPF_FUNC_skb_get_tunnel_opt = 29,
1143 BPF_FUNC_skb_set_tunnel_opt = 30,
1144 BPF_FUNC_skb_change_proto = 31,
1145 BPF_FUNC_skb_change_type = 32,
1146 BPF_FUNC_skb_under_cgroup = 33,
1147 BPF_FUNC_get_hash_recalc = 34,
1148 BPF_FUNC_get_current_task = 35,
1149 BPF_FUNC_probe_write_user = 36,
1150 BPF_FUNC_current_task_under_cgroup = 37,
1151 BPF_FUNC_skb_change_tail = 38,
1152 BPF_FUNC_skb_pull_data = 39,
1153 BPF_FUNC_csum_update = 40,
1154 BPF_FUNC_set_hash_invalid = 41,
1155 BPF_FUNC_get_numa_node_id = 42,
1156 BPF_FUNC_skb_change_head = 43,
1157 BPF_FUNC_xdp_adjust_head = 44,
1158 BPF_FUNC_probe_read_str = 45,
1159 BPF_FUNC_get_socket_cookie = 46,
1160 BPF_FUNC_get_socket_uid = 47,
1161 BPF_FUNC_set_hash = 48,
1162 BPF_FUNC_setsockopt = 49,
1163 BPF_FUNC_skb_adjust_room = 50,
1164 BPF_FUNC_redirect_map = 51,
1165 BPF_FUNC_sk_redirect_map = 52,
1166 BPF_FUNC_sock_map_update = 53,
1167 BPF_FUNC_xdp_adjust_meta = 54,
1168 BPF_FUNC_perf_event_read_value = 55,
1169 BPF_FUNC_perf_prog_read_value = 56,
1170 BPF_FUNC_getsockopt = 57,
1171 BPF_FUNC_override_return = 58,
1172 BPF_FUNC_sock_ops_cb_flags_set = 59,
1173 BPF_FUNC_msg_redirect_map = 60,
1174 BPF_FUNC_msg_apply_bytes = 61,
1175 BPF_FUNC_msg_cork_bytes = 62,
1176 BPF_FUNC_msg_pull_data = 63,
1177 BPF_FUNC_bind = 64,
1178 BPF_FUNC_xdp_adjust_tail = 65,
1179 BPF_FUNC_skb_get_xfrm_state = 66,
1180 BPF_FUNC_get_stack = 67,
1181 BPF_FUNC_skb_load_bytes_relative = 68,
1182 BPF_FUNC_fib_lookup = 69,
1183 BPF_FUNC_sock_hash_update = 70,
1184 BPF_FUNC_msg_redirect_hash = 71,
1185 BPF_FUNC_sk_redirect_hash = 72,
1186 BPF_FUNC_lwt_push_encap = 73,
1187 BPF_FUNC_lwt_seg6_store_bytes = 74,
1188 BPF_FUNC_lwt_seg6_adjust_srh = 75,
1189 BPF_FUNC_lwt_seg6_action = 76,
1190 BPF_FUNC_rc_repeat = 77,
1191 BPF_FUNC_rc_keydown = 78,
1192 BPF_FUNC_skb_cgroup_id = 79,
1193 BPF_FUNC_get_current_cgroup_id = 80,
1194 BPF_FUNC_get_local_storage = 81,
1195 BPF_FUNC_sk_select_reuseport = 82,
1196 BPF_FUNC_skb_ancestor_cgroup_id = 83,
1197 BPF_FUNC_sk_lookup_tcp = 84,
1198 BPF_FUNC_sk_lookup_udp = 85,
1199 BPF_FUNC_sk_release = 86,
1200 BPF_FUNC_map_push_elem = 87,
1201 BPF_FUNC_map_pop_elem = 88,
1202 BPF_FUNC_map_peek_elem = 89,
1203 BPF_FUNC_msg_push_data = 90,
1204 BPF_FUNC_msg_pop_data = 91,
1205 BPF_FUNC_rc_pointer_rel = 92,
1206 BPF_FUNC_spin_lock = 93,
1207 BPF_FUNC_spin_unlock = 94,
1208 BPF_FUNC_sk_fullsock = 95,
1209 BPF_FUNC_tcp_sock = 96,
1210 BPF_FUNC_skb_ecn_set_ce = 97,
1211 BPF_FUNC_get_listener_sock = 98,
1212 BPF_FUNC_skc_lookup_tcp = 99,
1213 BPF_FUNC_tcp_check_syncookie = 100,
1214 BPF_FUNC_sysctl_get_name = 101,
1215 BPF_FUNC_sysctl_get_current_value = 102,
1216 BPF_FUNC_sysctl_get_new_value = 103,
1217 BPF_FUNC_sysctl_set_new_value = 104,
1218 BPF_FUNC_strtol = 105,
1219 BPF_FUNC_strtoul = 106,
1220 BPF_FUNC_sk_storage_get = 107,
1221 BPF_FUNC_sk_storage_delete = 108,
1222 BPF_FUNC_send_signal = 109,
1223 BPF_FUNC_tcp_gen_syncookie = 110,
1224 BPF_FUNC_skb_output = 111,
1225 BPF_FUNC_probe_read_user = 112,
1226 BPF_FUNC_probe_read_kernel = 113,
1227 BPF_FUNC_probe_read_user_str = 114,
1228 BPF_FUNC_probe_read_kernel_str = 115,
1229 BPF_FUNC_tcp_send_ack = 116,
1230 BPF_FUNC_send_signal_thread = 117,
1231 BPF_FUNC_jiffies64 = 118,
1232 BPF_FUNC_read_branch_records = 119,
1233 BPF_FUNC_get_ns_current_pid_tgid = 120,
1234 BPF_FUNC_xdp_output = 121,
1235 BPF_FUNC_get_netns_cookie = 122,
1236 BPF_FUNC_get_current_ancestor_cgroup_id = 123,
1237 BPF_FUNC_sk_assign = 124,
1238 BPF_FUNC_ktime_get_boot_ns = 125,
1239 BPF_FUNC_seq_printf = 126,
1240 BPF_FUNC_seq_write = 127,
1241 BPF_FUNC_sk_cgroup_id = 128,
1242 BPF_FUNC_sk_ancestor_cgroup_id = 129,
1243 BPF_FUNC_ringbuf_output = 130,
1244 BPF_FUNC_ringbuf_reserve = 131,
1245 BPF_FUNC_ringbuf_submit = 132,
1246 BPF_FUNC_ringbuf_discard = 133,
1247 BPF_FUNC_ringbuf_query = 134,
1248 BPF_FUNC_csum_level = 135,
1249 BPF_FUNC_skc_to_tcp6_sock = 136,
1250 BPF_FUNC_skc_to_tcp_sock = 137,
1251 BPF_FUNC_skc_to_tcp_timewait_sock = 138,
1252 BPF_FUNC_skc_to_tcp_request_sock = 139,
1253 BPF_FUNC_skc_to_udp6_sock = 140,
1254 BPF_FUNC_get_task_stack = 141,
1255 BPF_FUNC_load_hdr_opt = 142,
1256 BPF_FUNC_store_hdr_opt = 143,
1257 BPF_FUNC_reserve_hdr_opt = 144,
1258 BPF_FUNC_inode_storage_get = 145,
1259 BPF_FUNC_inode_storage_delete = 146,
1260 BPF_FUNC_d_path = 147,
1261 BPF_FUNC_copy_from_user = 148,
1262 BPF_FUNC_snprintf_btf = 149,
1263 BPF_FUNC_seq_printf_btf = 150,
1264 BPF_FUNC_skb_cgroup_classid = 151,
1265 BPF_FUNC_redirect_neigh = 152,
1266 BPF_FUNC_per_cpu_ptr = 153,
1267 BPF_FUNC_this_cpu_ptr = 154,
1268 BPF_FUNC_redirect_peer = 155,
1269 BPF_FUNC_task_storage_get = 156,
1270 BPF_FUNC_task_storage_delete = 157,
1271 BPF_FUNC_get_current_task_btf = 158,
1272 BPF_FUNC_bprm_opts_set = 159,
1273 BPF_FUNC_ktime_get_coarse_ns = 160,
1274 BPF_FUNC_ima_inode_hash = 161,
1275 BPF_FUNC_sock_from_file = 162,
1276 BPF_FUNC_check_mtu = 163,
1277 BPF_FUNC_for_each_map_elem = 164,
1278 BPF_FUNC_snprintf = 165,
1279 BPF_FUNC_sys_bpf = 166,
1280 BPF_FUNC_btf_find_by_name_kind = 167,
1281 BPF_FUNC_sys_close = 168,
1282 BPF_FUNC_timer_init = 169,
1283 BPF_FUNC_timer_set_callback = 170,
1284 BPF_FUNC_timer_start = 171,
1285 BPF_FUNC_timer_cancel = 172,
1286 BPF_FUNC_get_func_ip = 173,
1287 BPF_FUNC_get_attach_cookie = 174,
1288 BPF_FUNC_task_pt_regs = 175,
1289 BPF_FUNC_get_branch_snapshot = 176,
1290 BPF_FUNC_trace_vprintk = 177,
1291 BPF_FUNC_skc_to_unix_sock = 178,
1292 BPF_FUNC_kallsyms_lookup_name = 179,
1293 BPF_FUNC_find_vma = 180,
1294 BPF_FUNC_loop = 181,
1295 BPF_FUNC_strncmp = 182,
1296 BPF_FUNC_get_func_arg = 183,
1297 BPF_FUNC_get_func_ret = 184,
1298 BPF_FUNC_get_func_arg_cnt = 185,
1299 BPF_FUNC_get_retval = 186,
1300 BPF_FUNC_set_retval = 187,
1301 BPF_FUNC_xdp_get_buff_len = 188,
1302 BPF_FUNC_xdp_load_bytes = 189,
1303 BPF_FUNC_xdp_store_bytes = 190,
1304 BPF_FUNC_copy_from_user_task = 191,
1305 BPF_FUNC_skb_set_tstamp = 192,
1306 BPF_FUNC_ima_file_hash = 193,
1307 BPF_FUNC_kptr_xchg = 194,
1308 BPF_FUNC_map_lookup_percpu_elem = 195,
1309 BPF_FUNC_skc_to_mptcp_sock = 196,
1310 BPF_FUNC_dynptr_from_mem = 197,
1311 BPF_FUNC_ringbuf_reserve_dynptr = 198,
1312 BPF_FUNC_ringbuf_submit_dynptr = 199,
1313 BPF_FUNC_ringbuf_discard_dynptr = 200,
1314 BPF_FUNC_dynptr_read = 201,
1315 BPF_FUNC_dynptr_write = 202,
1316 BPF_FUNC_dynptr_data = 203,
1317 BPF_FUNC_tcp_raw_gen_syncookie_ipv4 = 204,
1318 BPF_FUNC_tcp_raw_gen_syncookie_ipv6 = 205,
1319 BPF_FUNC_tcp_raw_check_syncookie_ipv4 = 206,
1320 BPF_FUNC_tcp_raw_check_syncookie_ipv6 = 207,
1321 BPF_FUNC_ktime_get_tai_ns = 208,
1322 BPF_FUNC_user_ringbuf_drain = 209,
1323 BPF_FUNC_cgrp_storage_get = 210,
1324 BPF_FUNC_cgrp_storage_delete = 211,
1325 __BPF_FUNC_MAX_ID = 212,
1326}
1327pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_6 = 1;
1328pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_6 = 2;
1329pub type _bindgen_ty_6 = ::core::ffi::c_uint;
1330pub const BPF_F_HDR_FIELD_MASK: _bindgen_ty_7 = 15;
1331pub type _bindgen_ty_7 = ::core::ffi::c_uint;
1332pub const BPF_F_PSEUDO_HDR: _bindgen_ty_8 = 16;
1333pub const BPF_F_MARK_MANGLED_0: _bindgen_ty_8 = 32;
1334pub const BPF_F_MARK_ENFORCE: _bindgen_ty_8 = 64;
1335pub type _bindgen_ty_8 = ::core::ffi::c_uint;
1336pub const BPF_F_INGRESS: _bindgen_ty_9 = 1;
1337pub type _bindgen_ty_9 = ::core::ffi::c_uint;
1338pub const BPF_F_TUNINFO_IPV6: _bindgen_ty_10 = 1;
1339pub type _bindgen_ty_10 = ::core::ffi::c_uint;
1340pub const BPF_F_SKIP_FIELD_MASK: _bindgen_ty_11 = 255;
1341pub const BPF_F_USER_STACK: _bindgen_ty_11 = 256;
1342pub const BPF_F_FAST_STACK_CMP: _bindgen_ty_11 = 512;
1343pub const BPF_F_REUSE_STACKID: _bindgen_ty_11 = 1024;
1344pub const BPF_F_USER_BUILD_ID: _bindgen_ty_11 = 2048;
1345pub type _bindgen_ty_11 = ::core::ffi::c_uint;
1346pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_12 = 2;
1347pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_12 = 4;
1348pub const BPF_F_SEQ_NUMBER: _bindgen_ty_12 = 8;
1349pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_12 = 16;
1350pub type _bindgen_ty_12 = ::core::ffi::c_uint;
1351pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_13 = 16;
1352pub type _bindgen_ty_13 = ::core::ffi::c_uint;
1353pub const BPF_F_INDEX_MASK: _bindgen_ty_14 = 4294967295;
1354pub const BPF_F_CURRENT_CPU: _bindgen_ty_14 = 4294967295;
1355pub const BPF_F_CTXLEN_MASK: _bindgen_ty_14 = 4503595332403200;
1356pub type _bindgen_ty_14 = ::core::ffi::c_ulong;
1357pub const BPF_F_CURRENT_NETNS: _bindgen_ty_15 = -1;
1358pub type _bindgen_ty_15 = ::core::ffi::c_int;
1359pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_16 = _bindgen_ty_16::BPF_CSUM_LEVEL_QUERY;
1360pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_16 = _bindgen_ty_16::BPF_CSUM_LEVEL_INC;
1361pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_16 = _bindgen_ty_16::BPF_CSUM_LEVEL_DEC;
1362pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_16 = _bindgen_ty_16::BPF_CSUM_LEVEL_RESET;
1363#[repr(u32)]
1364#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1365pub enum _bindgen_ty_16 {
1366 BPF_CSUM_LEVEL_QUERY = 0,
1367 BPF_CSUM_LEVEL_INC = 1,
1368 BPF_CSUM_LEVEL_DEC = 2,
1369 BPF_CSUM_LEVEL_RESET = 3,
1370}
1371pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_17 = 1;
1372pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_17 = 2;
1373pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_17 = 4;
1374pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_17 = 8;
1375pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_17 = 16;
1376pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_17 = 32;
1377pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_17 = 64;
1378pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV4: _bindgen_ty_17 = 128;
1379pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV6: _bindgen_ty_17 = 256;
1380pub type _bindgen_ty_17 = ::core::ffi::c_uint;
1381pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_18 = _bindgen_ty_18::BPF_ADJ_ROOM_ENCAP_L2_MASK;
1382pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_18 = _bindgen_ty_18::BPF_ADJ_ROOM_ENCAP_L2_SHIFT;
1383#[repr(u32)]
1384#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1385pub enum _bindgen_ty_18 {
1386 BPF_ADJ_ROOM_ENCAP_L2_MASK = 255,
1387 BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56,
1388}
1389pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_19 = 1;
1390pub type _bindgen_ty_19 = ::core::ffi::c_uint;
1391pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_20 =
1392 _bindgen_ty_20::BPF_LOCAL_STORAGE_GET_F_CREATE;
1393pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_20 =
1394 _bindgen_ty_20::BPF_LOCAL_STORAGE_GET_F_CREATE;
1395#[repr(u32)]
1396#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1397pub enum _bindgen_ty_20 {
1398 BPF_LOCAL_STORAGE_GET_F_CREATE = 1,
1399}
1400pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_21 = 1;
1401pub type _bindgen_ty_21 = ::core::ffi::c_uint;
1402pub const BPF_RB_NO_WAKEUP: _bindgen_ty_22 = _bindgen_ty_22::BPF_RB_NO_WAKEUP;
1403pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_22 = _bindgen_ty_22::BPF_RB_FORCE_WAKEUP;
1404#[repr(u32)]
1405#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1406pub enum _bindgen_ty_22 {
1407 BPF_RB_NO_WAKEUP = 1,
1408 BPF_RB_FORCE_WAKEUP = 2,
1409}
1410pub const BPF_RB_AVAIL_DATA: _bindgen_ty_23 = _bindgen_ty_23::BPF_RB_AVAIL_DATA;
1411pub const BPF_RB_RING_SIZE: _bindgen_ty_23 = _bindgen_ty_23::BPF_RB_RING_SIZE;
1412pub const BPF_RB_CONS_POS: _bindgen_ty_23 = _bindgen_ty_23::BPF_RB_CONS_POS;
1413pub const BPF_RB_PROD_POS: _bindgen_ty_23 = _bindgen_ty_23::BPF_RB_PROD_POS;
1414#[repr(u32)]
1415#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1416pub enum _bindgen_ty_23 {
1417 BPF_RB_AVAIL_DATA = 0,
1418 BPF_RB_RING_SIZE = 1,
1419 BPF_RB_CONS_POS = 2,
1420 BPF_RB_PROD_POS = 3,
1421}
1422pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_24 = 2147483648;
1423pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_24 = 1073741824;
1424pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_24 = 8;
1425pub type _bindgen_ty_24 = ::core::ffi::c_uint;
1426pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_25 = _bindgen_ty_25::BPF_SK_LOOKUP_F_REPLACE;
1427pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_25 =
1428 _bindgen_ty_25::BPF_SK_LOOKUP_F_NO_REUSEPORT;
1429#[repr(u32)]
1430#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1431pub enum _bindgen_ty_25 {
1432 BPF_SK_LOOKUP_F_REPLACE = 1,
1433 BPF_SK_LOOKUP_F_NO_REUSEPORT = 2,
1434}
1435pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_26 = 1;
1436pub type _bindgen_ty_26 = ::core::ffi::c_uint;
1437pub const BPF_F_BROADCAST: _bindgen_ty_27 = 8;
1438pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_27 = 16;
1439pub type _bindgen_ty_27 = ::core::ffi::c_uint;
1440pub const BPF_SKB_TSTAMP_UNSPEC: _bindgen_ty_28 = _bindgen_ty_28::BPF_SKB_TSTAMP_UNSPEC;
1441pub const BPF_SKB_TSTAMP_DELIVERY_MONO: _bindgen_ty_28 =
1442 _bindgen_ty_28::BPF_SKB_TSTAMP_DELIVERY_MONO;
1443#[repr(u32)]
1444#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1445pub enum _bindgen_ty_28 {
1446 BPF_SKB_TSTAMP_UNSPEC = 0,
1447 BPF_SKB_TSTAMP_DELIVERY_MONO = 1,
1448}
1449#[repr(C)]
1450#[derive(Copy, Clone)]
1451pub struct bpf_devmap_val {
1452 pub ifindex: __u32,
1453 pub bpf_prog: bpf_devmap_val__bindgen_ty_1,
1454}
1455#[repr(C)]
1456#[derive(Copy, Clone)]
1457pub union bpf_devmap_val__bindgen_ty_1 {
1458 pub fd: ::core::ffi::c_int,
1459 pub id: __u32,
1460}
1461#[repr(C)]
1462#[derive(Copy, Clone)]
1463pub struct bpf_cpumap_val {
1464 pub qsize: __u32,
1465 pub bpf_prog: bpf_cpumap_val__bindgen_ty_1,
1466}
1467#[repr(C)]
1468#[derive(Copy, Clone)]
1469pub union bpf_cpumap_val__bindgen_ty_1 {
1470 pub fd: ::core::ffi::c_int,
1471 pub id: __u32,
1472}
1473#[repr(C)]
1474#[derive(Debug, Copy, Clone)]
1475pub struct bpf_prog_info {
1476 pub type_: __u32,
1477 pub id: __u32,
1478 pub tag: [__u8; 8usize],
1479 pub jited_prog_len: __u32,
1480 pub xlated_prog_len: __u32,
1481 pub jited_prog_insns: __u64,
1482 pub xlated_prog_insns: __u64,
1483 pub load_time: __u64,
1484 pub created_by_uid: __u32,
1485 pub nr_map_ids: __u32,
1486 pub map_ids: __u64,
1487 pub name: [::core::ffi::c_char; 16usize],
1488 pub ifindex: __u32,
1489 pub _bitfield_align_1: [u8; 0],
1490 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1491 pub netns_dev: __u64,
1492 pub netns_ino: __u64,
1493 pub nr_jited_ksyms: __u32,
1494 pub nr_jited_func_lens: __u32,
1495 pub jited_ksyms: __u64,
1496 pub jited_func_lens: __u64,
1497 pub btf_id: __u32,
1498 pub func_info_rec_size: __u32,
1499 pub func_info: __u64,
1500 pub nr_func_info: __u32,
1501 pub nr_line_info: __u32,
1502 pub line_info: __u64,
1503 pub jited_line_info: __u64,
1504 pub nr_jited_line_info: __u32,
1505 pub line_info_rec_size: __u32,
1506 pub jited_line_info_rec_size: __u32,
1507 pub nr_prog_tags: __u32,
1508 pub prog_tags: __u64,
1509 pub run_time_ns: __u64,
1510 pub run_cnt: __u64,
1511 pub recursion_misses: __u64,
1512 pub verified_insns: __u32,
1513 pub attach_btf_obj_id: __u32,
1514 pub attach_btf_id: __u32,
1515}
1516impl bpf_prog_info {
1517 #[inline]
1518 pub fn gpl_compatible(&self) -> __u32 {
1519 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1520 }
1521 #[inline]
1522 pub fn set_gpl_compatible(&mut self, val: __u32) {
1523 unsafe {
1524 let val: u32 = ::core::mem::transmute(val);
1525 self._bitfield_1.set(0usize, 1u8, val as u64)
1526 }
1527 }
1528 #[inline]
1529 pub unsafe fn gpl_compatible_raw(this: *const Self) -> __u32 {
1530 unsafe {
1531 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
1532 ::core::ptr::addr_of!((*this)._bitfield_1),
1533 0usize,
1534 1u8,
1535 ) as u32)
1536 }
1537 }
1538 #[inline]
1539 pub unsafe fn set_gpl_compatible_raw(this: *mut Self, val: __u32) {
1540 unsafe {
1541 let val: u32 = ::core::mem::transmute(val);
1542 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
1543 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1544 0usize,
1545 1u8,
1546 val as u64,
1547 )
1548 }
1549 }
1550 #[inline]
1551 pub fn new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1552 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1553 __bindgen_bitfield_unit.set(0usize, 1u8, {
1554 let gpl_compatible: u32 = unsafe { ::core::mem::transmute(gpl_compatible) };
1555 gpl_compatible as u64
1556 });
1557 __bindgen_bitfield_unit
1558 }
1559}
1560#[repr(C)]
1561#[derive(Debug, Copy, Clone)]
1562pub struct bpf_map_info {
1563 pub type_: __u32,
1564 pub id: __u32,
1565 pub key_size: __u32,
1566 pub value_size: __u32,
1567 pub max_entries: __u32,
1568 pub map_flags: __u32,
1569 pub name: [::core::ffi::c_char; 16usize],
1570 pub ifindex: __u32,
1571 pub btf_vmlinux_value_type_id: __u32,
1572 pub netns_dev: __u64,
1573 pub netns_ino: __u64,
1574 pub btf_id: __u32,
1575 pub btf_key_type_id: __u32,
1576 pub btf_value_type_id: __u32,
1577 pub btf_vmlinux_id: __u32,
1578 pub map_extra: __u64,
1579}
1580#[repr(C)]
1581#[derive(Debug, Copy, Clone)]
1582pub struct bpf_btf_info {
1583 pub btf: __u64,
1584 pub btf_size: __u32,
1585 pub id: __u32,
1586 pub name: __u64,
1587 pub name_len: __u32,
1588 pub kernel_btf: __u32,
1589}
1590#[repr(C)]
1591#[derive(Copy, Clone)]
1592pub struct bpf_link_info {
1593 pub type_: __u32,
1594 pub id: __u32,
1595 pub prog_id: __u32,
1596 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1,
1597}
1598#[repr(C)]
1599#[derive(Copy, Clone)]
1600pub union bpf_link_info__bindgen_ty_1 {
1601 pub raw_tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_1,
1602 pub tracing: bpf_link_info__bindgen_ty_1__bindgen_ty_2,
1603 pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_3,
1604 pub iter: bpf_link_info__bindgen_ty_1__bindgen_ty_4,
1605 pub netns: bpf_link_info__bindgen_ty_1__bindgen_ty_5,
1606 pub xdp: bpf_link_info__bindgen_ty_1__bindgen_ty_6,
1607 pub struct_ops: bpf_link_info__bindgen_ty_1__bindgen_ty_7,
1608 pub netfilter: bpf_link_info__bindgen_ty_1__bindgen_ty_8,
1609 pub kprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_9,
1610 pub uprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_10,
1611 pub perf_event: bpf_link_info__bindgen_ty_1__bindgen_ty_11,
1612 pub tcx: bpf_link_info__bindgen_ty_1__bindgen_ty_12,
1613 pub netkit: bpf_link_info__bindgen_ty_1__bindgen_ty_13,
1614}
1615#[repr(C)]
1616#[derive(Debug, Copy, Clone)]
1617pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_1 {
1618 pub tp_name: __u64,
1619 pub tp_name_len: __u32,
1620}
1621#[repr(C)]
1622#[derive(Debug, Copy, Clone)]
1623pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_2 {
1624 pub attach_type: __u32,
1625 pub target_obj_id: __u32,
1626 pub target_btf_id: __u32,
1627}
1628#[repr(C)]
1629#[derive(Debug, Copy, Clone)]
1630pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_3 {
1631 pub cgroup_id: __u64,
1632 pub attach_type: __u32,
1633}
1634#[repr(C)]
1635#[derive(Copy, Clone)]
1636pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
1637 pub target_name: __u64,
1638 pub target_name_len: __u32,
1639 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
1640 pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
1641}
1642#[repr(C)]
1643#[derive(Copy, Clone)]
1644pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {
1645 pub map: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
1646}
1647#[repr(C)]
1648#[derive(Debug, Copy, Clone)]
1649pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
1650 pub map_id: __u32,
1651}
1652#[repr(C)]
1653#[derive(Copy, Clone)]
1654pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
1655 pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
1656 pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
1657}
1658#[repr(C)]
1659#[derive(Debug, Copy, Clone)]
1660pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
1661 pub cgroup_id: __u64,
1662 pub order: __u32,
1663}
1664#[repr(C)]
1665#[derive(Debug, Copy, Clone)]
1666pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
1667 pub tid: __u32,
1668 pub pid: __u32,
1669}
1670#[repr(C)]
1671#[derive(Debug, Copy, Clone)]
1672pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
1673 pub netns_ino: __u32,
1674 pub attach_type: __u32,
1675}
1676#[repr(C)]
1677#[derive(Debug, Copy, Clone)]
1678pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_6 {
1679 pub ifindex: __u32,
1680}
1681#[repr(C)]
1682#[derive(Debug, Copy, Clone)]
1683pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_7 {
1684 pub map_id: __u32,
1685}
1686#[repr(C)]
1687#[derive(Debug, Copy, Clone)]
1688pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_8 {
1689 pub pf: __u32,
1690 pub hooknum: __u32,
1691 pub priority: __s32,
1692 pub flags: __u32,
1693}
1694#[repr(C)]
1695#[derive(Debug, Copy, Clone)]
1696pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_9 {
1697 pub addrs: __u64,
1698 pub count: __u32,
1699 pub flags: __u32,
1700 pub missed: __u64,
1701 pub cookies: __u64,
1702}
1703#[repr(C)]
1704#[derive(Debug, Copy, Clone)]
1705pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_10 {
1706 pub path: __u64,
1707 pub offsets: __u64,
1708 pub ref_ctr_offsets: __u64,
1709 pub cookies: __u64,
1710 pub path_size: __u32,
1711 pub count: __u32,
1712 pub flags: __u32,
1713 pub pid: __u32,
1714}
1715#[repr(C)]
1716#[derive(Copy, Clone)]
1717pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
1718 pub type_: __u32,
1719 pub _bitfield_align_1: [u8; 0],
1720 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1721 pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1,
1722}
1723#[repr(C)]
1724#[derive(Copy, Clone)]
1725pub union bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 {
1726 pub uprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1,
1727 pub kprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2,
1728 pub tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3,
1729 pub event: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4,
1730}
1731#[repr(C)]
1732#[derive(Debug, Copy, Clone)]
1733pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 {
1734 pub file_name: __u64,
1735 pub name_len: __u32,
1736 pub offset: __u32,
1737 pub cookie: __u64,
1738}
1739#[repr(C)]
1740#[derive(Debug, Copy, Clone)]
1741pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 {
1742 pub func_name: __u64,
1743 pub name_len: __u32,
1744 pub offset: __u32,
1745 pub addr: __u64,
1746 pub missed: __u64,
1747 pub cookie: __u64,
1748}
1749#[repr(C)]
1750#[derive(Debug, Copy, Clone)]
1751pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
1752 pub tp_name: __u64,
1753 pub name_len: __u32,
1754 pub _bitfield_align_1: [u8; 0],
1755 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1756 pub cookie: __u64,
1757}
1758impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
1759 #[inline]
1760 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1761 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1762 __bindgen_bitfield_unit
1763 }
1764}
1765#[repr(C)]
1766#[derive(Debug, Copy, Clone)]
1767pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
1768 pub config: __u64,
1769 pub type_: __u32,
1770 pub _bitfield_align_1: [u8; 0],
1771 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1772 pub cookie: __u64,
1773}
1774impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
1775 #[inline]
1776 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1777 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1778 __bindgen_bitfield_unit
1779 }
1780}
1781impl bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
1782 #[inline]
1783 pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
1784 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1785 __bindgen_bitfield_unit
1786 }
1787}
1788#[repr(C)]
1789#[derive(Debug, Copy, Clone)]
1790pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_12 {
1791 pub ifindex: __u32,
1792 pub attach_type: __u32,
1793}
1794#[repr(C)]
1795#[derive(Debug, Copy, Clone)]
1796pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_13 {
1797 pub ifindex: __u32,
1798 pub attach_type: __u32,
1799}
1800pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_29 = _bindgen_ty_29::BPF_SOCK_OPS_RTO_CB_FLAG;
1801pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_29 =
1802 _bindgen_ty_29::BPF_SOCK_OPS_RETRANS_CB_FLAG;
1803pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_29 = _bindgen_ty_29::BPF_SOCK_OPS_STATE_CB_FLAG;
1804pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_29 = _bindgen_ty_29::BPF_SOCK_OPS_RTT_CB_FLAG;
1805pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_29 =
1806 _bindgen_ty_29::BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG;
1807pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_29 =
1808 _bindgen_ty_29::BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG;
1809pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_29 =
1810 _bindgen_ty_29::BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG;
1811pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_29 = _bindgen_ty_29::BPF_SOCK_OPS_ALL_CB_FLAGS;
1812#[repr(u32)]
1813#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1814pub enum _bindgen_ty_29 {
1815 BPF_SOCK_OPS_RTO_CB_FLAG = 1,
1816 BPF_SOCK_OPS_RETRANS_CB_FLAG = 2,
1817 BPF_SOCK_OPS_STATE_CB_FLAG = 4,
1818 BPF_SOCK_OPS_RTT_CB_FLAG = 8,
1819 BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 16,
1820 BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 32,
1821 BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 64,
1822 BPF_SOCK_OPS_ALL_CB_FLAGS = 127,
1823}
1824pub const BPF_SOCK_OPS_VOID: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_VOID;
1825pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_TIMEOUT_INIT;
1826pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_RWND_INIT;
1827pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_TCP_CONNECT_CB;
1828pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_30 =
1829 _bindgen_ty_30::BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB;
1830pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_30 =
1831 _bindgen_ty_30::BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB;
1832pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_NEEDS_ECN;
1833pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_BASE_RTT;
1834pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_RTO_CB;
1835pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_RETRANS_CB;
1836pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_STATE_CB;
1837pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_TCP_LISTEN_CB;
1838pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_RTT_CB;
1839pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_30 =
1840 _bindgen_ty_30::BPF_SOCK_OPS_PARSE_HDR_OPT_CB;
1841pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_30 = _bindgen_ty_30::BPF_SOCK_OPS_HDR_OPT_LEN_CB;
1842pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_30 =
1843 _bindgen_ty_30::BPF_SOCK_OPS_WRITE_HDR_OPT_CB;
1844#[repr(u32)]
1845#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1846pub enum _bindgen_ty_30 {
1847 BPF_SOCK_OPS_VOID = 0,
1848 BPF_SOCK_OPS_TIMEOUT_INIT = 1,
1849 BPF_SOCK_OPS_RWND_INIT = 2,
1850 BPF_SOCK_OPS_TCP_CONNECT_CB = 3,
1851 BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 4,
1852 BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 5,
1853 BPF_SOCK_OPS_NEEDS_ECN = 6,
1854 BPF_SOCK_OPS_BASE_RTT = 7,
1855 BPF_SOCK_OPS_RTO_CB = 8,
1856 BPF_SOCK_OPS_RETRANS_CB = 9,
1857 BPF_SOCK_OPS_STATE_CB = 10,
1858 BPF_SOCK_OPS_TCP_LISTEN_CB = 11,
1859 BPF_SOCK_OPS_RTT_CB = 12,
1860 BPF_SOCK_OPS_PARSE_HDR_OPT_CB = 13,
1861 BPF_SOCK_OPS_HDR_OPT_LEN_CB = 14,
1862 BPF_SOCK_OPS_WRITE_HDR_OPT_CB = 15,
1863}
1864pub const BPF_TCP_ESTABLISHED: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_ESTABLISHED;
1865pub const BPF_TCP_SYN_SENT: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_SYN_SENT;
1866pub const BPF_TCP_SYN_RECV: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_SYN_RECV;
1867pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_FIN_WAIT1;
1868pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_FIN_WAIT2;
1869pub const BPF_TCP_TIME_WAIT: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_TIME_WAIT;
1870pub const BPF_TCP_CLOSE: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_CLOSE;
1871pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_CLOSE_WAIT;
1872pub const BPF_TCP_LAST_ACK: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_LAST_ACK;
1873pub const BPF_TCP_LISTEN: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_LISTEN;
1874pub const BPF_TCP_CLOSING: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_CLOSING;
1875pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_NEW_SYN_RECV;
1876pub const BPF_TCP_BOUND_INACTIVE: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_BOUND_INACTIVE;
1877pub const BPF_TCP_MAX_STATES: _bindgen_ty_31 = _bindgen_ty_31::BPF_TCP_MAX_STATES;
1878#[repr(u32)]
1879#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1880pub enum _bindgen_ty_31 {
1881 BPF_TCP_ESTABLISHED = 1,
1882 BPF_TCP_SYN_SENT = 2,
1883 BPF_TCP_SYN_RECV = 3,
1884 BPF_TCP_FIN_WAIT1 = 4,
1885 BPF_TCP_FIN_WAIT2 = 5,
1886 BPF_TCP_TIME_WAIT = 6,
1887 BPF_TCP_CLOSE = 7,
1888 BPF_TCP_CLOSE_WAIT = 8,
1889 BPF_TCP_LAST_ACK = 9,
1890 BPF_TCP_LISTEN = 10,
1891 BPF_TCP_CLOSING = 11,
1892 BPF_TCP_NEW_SYN_RECV = 12,
1893 BPF_TCP_BOUND_INACTIVE = 13,
1894 BPF_TCP_MAX_STATES = 14,
1895}
1896pub const BPF_LOAD_HDR_OPT_TCP_SYN: _bindgen_ty_33 = _bindgen_ty_33::BPF_LOAD_HDR_OPT_TCP_SYN;
1897#[repr(u32)]
1898#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1899pub enum _bindgen_ty_33 {
1900 BPF_LOAD_HDR_OPT_TCP_SYN = 1,
1901}
1902pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: _bindgen_ty_34 =
1903 _bindgen_ty_34::BPF_WRITE_HDR_TCP_CURRENT_MSS;
1904pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: _bindgen_ty_34 =
1905 _bindgen_ty_34::BPF_WRITE_HDR_TCP_SYNACK_COOKIE;
1906#[repr(u32)]
1907#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1908pub enum _bindgen_ty_34 {
1909 BPF_WRITE_HDR_TCP_CURRENT_MSS = 1,
1910 BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2,
1911}
1912pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_35 = _bindgen_ty_35::BPF_DEVCG_ACC_MKNOD;
1913pub const BPF_DEVCG_ACC_READ: _bindgen_ty_35 = _bindgen_ty_35::BPF_DEVCG_ACC_READ;
1914pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_35 = _bindgen_ty_35::BPF_DEVCG_ACC_WRITE;
1915#[repr(u32)]
1916#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1917pub enum _bindgen_ty_35 {
1918 BPF_DEVCG_ACC_MKNOD = 1,
1919 BPF_DEVCG_ACC_READ = 2,
1920 BPF_DEVCG_ACC_WRITE = 4,
1921}
1922pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_36 = _bindgen_ty_36::BPF_DEVCG_DEV_BLOCK;
1923pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_36 = _bindgen_ty_36::BPF_DEVCG_DEV_CHAR;
1924#[repr(u32)]
1925#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1926pub enum _bindgen_ty_36 {
1927 BPF_DEVCG_DEV_BLOCK = 1,
1928 BPF_DEVCG_DEV_CHAR = 2,
1929}
1930pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_37 = _bindgen_ty_37::BPF_FIB_LOOKUP_DIRECT;
1931pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_37 = _bindgen_ty_37::BPF_FIB_LOOKUP_OUTPUT;
1932pub const BPF_FIB_LOOKUP_SKIP_NEIGH: _bindgen_ty_37 = _bindgen_ty_37::BPF_FIB_LOOKUP_SKIP_NEIGH;
1933pub const BPF_FIB_LOOKUP_TBID: _bindgen_ty_37 = _bindgen_ty_37::BPF_FIB_LOOKUP_TBID;
1934pub const BPF_FIB_LOOKUP_SRC: _bindgen_ty_37 = _bindgen_ty_37::BPF_FIB_LOOKUP_SRC;
1935#[repr(u32)]
1936#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1937pub enum _bindgen_ty_37 {
1938 BPF_FIB_LOOKUP_DIRECT = 1,
1939 BPF_FIB_LOOKUP_OUTPUT = 2,
1940 BPF_FIB_LOOKUP_SKIP_NEIGH = 4,
1941 BPF_FIB_LOOKUP_TBID = 8,
1942 BPF_FIB_LOOKUP_SRC = 16,
1943}
1944pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_38 = _bindgen_ty_38::BPF_FIB_LKUP_RET_SUCCESS;
1945pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_38 = _bindgen_ty_38::BPF_FIB_LKUP_RET_BLACKHOLE;
1946pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_38 =
1947 _bindgen_ty_38::BPF_FIB_LKUP_RET_UNREACHABLE;
1948pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_38 = _bindgen_ty_38::BPF_FIB_LKUP_RET_PROHIBIT;
1949pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_38 = _bindgen_ty_38::BPF_FIB_LKUP_RET_NOT_FWDED;
1950pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_38 =
1951 _bindgen_ty_38::BPF_FIB_LKUP_RET_FWD_DISABLED;
1952pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_38 = _bindgen_ty_38::BPF_FIB_LKUP_RET_UNSUPP_LWT;
1953pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_38 = _bindgen_ty_38::BPF_FIB_LKUP_RET_NO_NEIGH;
1954pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_38 =
1955 _bindgen_ty_38::BPF_FIB_LKUP_RET_FRAG_NEEDED;
1956pub const BPF_FIB_LKUP_RET_NO_SRC_ADDR: _bindgen_ty_38 =
1957 _bindgen_ty_38::BPF_FIB_LKUP_RET_NO_SRC_ADDR;
1958#[repr(u32)]
1959#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1960pub enum _bindgen_ty_38 {
1961 BPF_FIB_LKUP_RET_SUCCESS = 0,
1962 BPF_FIB_LKUP_RET_BLACKHOLE = 1,
1963 BPF_FIB_LKUP_RET_UNREACHABLE = 2,
1964 BPF_FIB_LKUP_RET_PROHIBIT = 3,
1965 BPF_FIB_LKUP_RET_NOT_FWDED = 4,
1966 BPF_FIB_LKUP_RET_FWD_DISABLED = 5,
1967 BPF_FIB_LKUP_RET_UNSUPP_LWT = 6,
1968 BPF_FIB_LKUP_RET_NO_NEIGH = 7,
1969 BPF_FIB_LKUP_RET_FRAG_NEEDED = 8,
1970 BPF_FIB_LKUP_RET_NO_SRC_ADDR = 9,
1971}
1972#[repr(u32)]
1973#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1974pub enum bpf_task_fd_type {
1975 BPF_FD_TYPE_RAW_TRACEPOINT = 0,
1976 BPF_FD_TYPE_TRACEPOINT = 1,
1977 BPF_FD_TYPE_KPROBE = 2,
1978 BPF_FD_TYPE_KRETPROBE = 3,
1979 BPF_FD_TYPE_UPROBE = 4,
1980 BPF_FD_TYPE_URETPROBE = 5,
1981}
1982pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_39 =
1983 _bindgen_ty_39::BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG;
1984pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_39 =
1985 _bindgen_ty_39::BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL;
1986pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_39 =
1987 _bindgen_ty_39::BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP;
1988#[repr(u32)]
1989#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1990pub enum _bindgen_ty_39 {
1991 BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 1,
1992 BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 2,
1993 BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 4,
1994}
1995#[repr(C)]
1996#[derive(Debug, Copy, Clone)]
1997pub struct bpf_func_info {
1998 pub insn_off: __u32,
1999 pub type_id: __u32,
2000}
2001#[repr(C)]
2002#[derive(Debug, Copy, Clone)]
2003pub struct bpf_line_info {
2004 pub insn_off: __u32,
2005 pub file_name_off: __u32,
2006 pub line_off: __u32,
2007 pub line_col: __u32,
2008}
2009pub const BPF_F_TIMER_ABS: _bindgen_ty_41 = 1;
2010pub const BPF_F_TIMER_CPU_PIN: _bindgen_ty_41 = 2;
2011pub type _bindgen_ty_41 = ::core::ffi::c_uint;
2012#[repr(C)]
2013#[derive(Debug, Copy, Clone)]
2014pub struct btf_header {
2015 pub magic: __u16,
2016 pub version: __u8,
2017 pub flags: __u8,
2018 pub hdr_len: __u32,
2019 pub type_off: __u32,
2020 pub type_len: __u32,
2021 pub str_off: __u32,
2022 pub str_len: __u32,
2023}
2024#[repr(C)]
2025#[derive(Copy, Clone)]
2026pub struct btf_type {
2027 pub name_off: __u32,
2028 pub info: __u32,
2029 pub __bindgen_anon_1: btf_type__bindgen_ty_1,
2030}
2031#[repr(C)]
2032#[derive(Copy, Clone)]
2033pub union btf_type__bindgen_ty_1 {
2034 pub size: __u32,
2035 pub type_: __u32,
2036}
2037pub const BTF_KIND_UNKN: _bindgen_ty_42 = 0;
2038pub const BTF_KIND_INT: _bindgen_ty_42 = 1;
2039pub const BTF_KIND_PTR: _bindgen_ty_42 = 2;
2040pub const BTF_KIND_ARRAY: _bindgen_ty_42 = 3;
2041pub const BTF_KIND_STRUCT: _bindgen_ty_42 = 4;
2042pub const BTF_KIND_UNION: _bindgen_ty_42 = 5;
2043pub const BTF_KIND_ENUM: _bindgen_ty_42 = 6;
2044pub const BTF_KIND_FWD: _bindgen_ty_42 = 7;
2045pub const BTF_KIND_TYPEDEF: _bindgen_ty_42 = 8;
2046pub const BTF_KIND_VOLATILE: _bindgen_ty_42 = 9;
2047pub const BTF_KIND_CONST: _bindgen_ty_42 = 10;
2048pub const BTF_KIND_RESTRICT: _bindgen_ty_42 = 11;
2049pub const BTF_KIND_FUNC: _bindgen_ty_42 = 12;
2050pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_42 = 13;
2051pub const BTF_KIND_VAR: _bindgen_ty_42 = 14;
2052pub const BTF_KIND_DATASEC: _bindgen_ty_42 = 15;
2053pub const BTF_KIND_FLOAT: _bindgen_ty_42 = 16;
2054pub const BTF_KIND_DECL_TAG: _bindgen_ty_42 = 17;
2055pub const BTF_KIND_TYPE_TAG: _bindgen_ty_42 = 18;
2056pub const BTF_KIND_ENUM64: _bindgen_ty_42 = 19;
2057pub const NR_BTF_KINDS: _bindgen_ty_42 = 20;
2058pub const BTF_KIND_MAX: _bindgen_ty_42 = 19;
2059pub type _bindgen_ty_42 = ::core::ffi::c_uint;
2060#[repr(C)]
2061#[derive(Debug, Copy, Clone)]
2062pub struct btf_enum {
2063 pub name_off: __u32,
2064 pub val: __s32,
2065}
2066#[repr(C)]
2067#[derive(Debug, Copy, Clone)]
2068pub struct btf_array {
2069 pub type_: __u32,
2070 pub index_type: __u32,
2071 pub nelems: __u32,
2072}
2073#[repr(C)]
2074#[derive(Debug, Copy, Clone)]
2075pub struct btf_member {
2076 pub name_off: __u32,
2077 pub type_: __u32,
2078 pub offset: __u32,
2079}
2080#[repr(C)]
2081#[derive(Debug, Copy, Clone)]
2082pub struct btf_param {
2083 pub name_off: __u32,
2084 pub type_: __u32,
2085}
2086pub const BTF_VAR_STATIC: _bindgen_ty_43 = 0;
2087pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_43 = 1;
2088pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_43 = 2;
2089pub type _bindgen_ty_43 = ::core::ffi::c_uint;
2090#[repr(u32)]
2091#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2092pub enum btf_func_linkage {
2093 BTF_FUNC_STATIC = 0,
2094 BTF_FUNC_GLOBAL = 1,
2095 BTF_FUNC_EXTERN = 2,
2096}
2097#[repr(C)]
2098#[derive(Debug, Copy, Clone)]
2099pub struct btf_var {
2100 pub linkage: __u32,
2101}
2102#[repr(C)]
2103#[derive(Debug, Copy, Clone)]
2104pub struct btf_var_secinfo {
2105 pub type_: __u32,
2106 pub offset: __u32,
2107 pub size: __u32,
2108}
2109#[repr(C)]
2110#[derive(Debug, Copy, Clone)]
2111pub struct btf_decl_tag {
2112 pub component_idx: __s32,
2113}
2114pub const HW_BREAKPOINT_LEN_1: _bindgen_ty_44 = 1;
2115pub const HW_BREAKPOINT_LEN_2: _bindgen_ty_44 = 2;
2116pub const HW_BREAKPOINT_LEN_3: _bindgen_ty_44 = 3;
2117pub const HW_BREAKPOINT_LEN_4: _bindgen_ty_44 = 4;
2118pub const HW_BREAKPOINT_LEN_5: _bindgen_ty_44 = 5;
2119pub const HW_BREAKPOINT_LEN_6: _bindgen_ty_44 = 6;
2120pub const HW_BREAKPOINT_LEN_7: _bindgen_ty_44 = 7;
2121pub const HW_BREAKPOINT_LEN_8: _bindgen_ty_44 = 8;
2122pub type _bindgen_ty_44 = ::core::ffi::c_uint;
2123pub const HW_BREAKPOINT_EMPTY: _bindgen_ty_45 = 0;
2124pub const HW_BREAKPOINT_R: _bindgen_ty_45 = 1;
2125pub const HW_BREAKPOINT_W: _bindgen_ty_45 = 2;
2126pub const HW_BREAKPOINT_RW: _bindgen_ty_45 = 3;
2127pub const HW_BREAKPOINT_X: _bindgen_ty_45 = 4;
2128pub const HW_BREAKPOINT_INVALID: _bindgen_ty_45 = 7;
2129pub type _bindgen_ty_45 = ::core::ffi::c_uint;
2130impl nlmsgerr_attrs {
2131 pub const NLMSGERR_ATTR_MAX: nlmsgerr_attrs = nlmsgerr_attrs::NLMSGERR_ATTR_COOKIE;
2132}
2133#[repr(u32)]
2134#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2135pub enum nlmsgerr_attrs {
2136 NLMSGERR_ATTR_UNUSED = 0,
2137 NLMSGERR_ATTR_MSG = 1,
2138 NLMSGERR_ATTR_OFFS = 2,
2139 NLMSGERR_ATTR_COOKIE = 3,
2140 __NLMSGERR_ATTR_MAX = 4,
2141}
2142pub const IFLA_XDP_UNSPEC: _bindgen_ty_94 = 0;
2143pub const IFLA_XDP_FD: _bindgen_ty_94 = 1;
2144pub const IFLA_XDP_ATTACHED: _bindgen_ty_94 = 2;
2145pub const IFLA_XDP_FLAGS: _bindgen_ty_94 = 3;
2146pub const IFLA_XDP_PROG_ID: _bindgen_ty_94 = 4;
2147pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_94 = 5;
2148pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_94 = 6;
2149pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_94 = 7;
2150pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_94 = 8;
2151pub const __IFLA_XDP_MAX: _bindgen_ty_94 = 9;
2152pub type _bindgen_ty_94 = ::core::ffi::c_uint;
2153impl nf_inet_hooks {
2154 pub const NF_INET_INGRESS: nf_inet_hooks = nf_inet_hooks::NF_INET_NUMHOOKS;
2155}
2156#[repr(u32)]
2157#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2158pub enum nf_inet_hooks {
2159 NF_INET_PRE_ROUTING = 0,
2160 NF_INET_LOCAL_IN = 1,
2161 NF_INET_FORWARD = 2,
2162 NF_INET_LOCAL_OUT = 3,
2163 NF_INET_POST_ROUTING = 4,
2164 NF_INET_NUMHOOKS = 5,
2165}
2166pub const NFPROTO_UNSPEC: _bindgen_ty_101 = 0;
2167pub const NFPROTO_INET: _bindgen_ty_101 = 1;
2168pub const NFPROTO_IPV4: _bindgen_ty_101 = 2;
2169pub const NFPROTO_ARP: _bindgen_ty_101 = 3;
2170pub const NFPROTO_NETDEV: _bindgen_ty_101 = 5;
2171pub const NFPROTO_BRIDGE: _bindgen_ty_101 = 7;
2172pub const NFPROTO_IPV6: _bindgen_ty_101 = 10;
2173pub const NFPROTO_DECNET: _bindgen_ty_101 = 12;
2174pub const NFPROTO_NUMPROTO: _bindgen_ty_101 = 13;
2175pub type _bindgen_ty_101 = ::core::ffi::c_uint;
2176#[repr(u32)]
2177#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2178pub enum perf_type_id {
2179 PERF_TYPE_HARDWARE = 0,
2180 PERF_TYPE_SOFTWARE = 1,
2181 PERF_TYPE_TRACEPOINT = 2,
2182 PERF_TYPE_HW_CACHE = 3,
2183 PERF_TYPE_RAW = 4,
2184 PERF_TYPE_BREAKPOINT = 5,
2185 PERF_TYPE_MAX = 6,
2186}
2187#[repr(u32)]
2188#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2189pub enum perf_hw_id {
2190 PERF_COUNT_HW_CPU_CYCLES = 0,
2191 PERF_COUNT_HW_INSTRUCTIONS = 1,
2192 PERF_COUNT_HW_CACHE_REFERENCES = 2,
2193 PERF_COUNT_HW_CACHE_MISSES = 3,
2194 PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4,
2195 PERF_COUNT_HW_BRANCH_MISSES = 5,
2196 PERF_COUNT_HW_BUS_CYCLES = 6,
2197 PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,
2198 PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,
2199 PERF_COUNT_HW_REF_CPU_CYCLES = 9,
2200 PERF_COUNT_HW_MAX = 10,
2201}
2202#[repr(u32)]
2203#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2204pub enum perf_hw_cache_id {
2205 PERF_COUNT_HW_CACHE_L1D = 0,
2206 PERF_COUNT_HW_CACHE_L1I = 1,
2207 PERF_COUNT_HW_CACHE_LL = 2,
2208 PERF_COUNT_HW_CACHE_DTLB = 3,
2209 PERF_COUNT_HW_CACHE_ITLB = 4,
2210 PERF_COUNT_HW_CACHE_BPU = 5,
2211 PERF_COUNT_HW_CACHE_NODE = 6,
2212 PERF_COUNT_HW_CACHE_MAX = 7,
2213}
2214#[repr(u32)]
2215#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2216pub enum perf_hw_cache_op_id {
2217 PERF_COUNT_HW_CACHE_OP_READ = 0,
2218 PERF_COUNT_HW_CACHE_OP_WRITE = 1,
2219 PERF_COUNT_HW_CACHE_OP_PREFETCH = 2,
2220 PERF_COUNT_HW_CACHE_OP_MAX = 3,
2221}
2222#[repr(u32)]
2223#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2224pub enum perf_hw_cache_op_result_id {
2225 PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0,
2226 PERF_COUNT_HW_CACHE_RESULT_MISS = 1,
2227 PERF_COUNT_HW_CACHE_RESULT_MAX = 2,
2228}
2229#[repr(u32)]
2230#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2231pub enum perf_sw_ids {
2232 PERF_COUNT_SW_CPU_CLOCK = 0,
2233 PERF_COUNT_SW_TASK_CLOCK = 1,
2234 PERF_COUNT_SW_PAGE_FAULTS = 2,
2235 PERF_COUNT_SW_CONTEXT_SWITCHES = 3,
2236 PERF_COUNT_SW_CPU_MIGRATIONS = 4,
2237 PERF_COUNT_SW_PAGE_FAULTS_MIN = 5,
2238 PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,
2239 PERF_COUNT_SW_ALIGNMENT_FAULTS = 7,
2240 PERF_COUNT_SW_EMULATION_FAULTS = 8,
2241 PERF_COUNT_SW_DUMMY = 9,
2242 PERF_COUNT_SW_BPF_OUTPUT = 10,
2243 PERF_COUNT_SW_CGROUP_SWITCHES = 11,
2244 PERF_COUNT_SW_MAX = 12,
2245}
2246#[repr(u32)]
2247#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2248pub enum perf_event_sample_format {
2249 PERF_SAMPLE_IP = 1,
2250 PERF_SAMPLE_TID = 2,
2251 PERF_SAMPLE_TIME = 4,
2252 PERF_SAMPLE_ADDR = 8,
2253 PERF_SAMPLE_READ = 16,
2254 PERF_SAMPLE_CALLCHAIN = 32,
2255 PERF_SAMPLE_ID = 64,
2256 PERF_SAMPLE_CPU = 128,
2257 PERF_SAMPLE_PERIOD = 256,
2258 PERF_SAMPLE_STREAM_ID = 512,
2259 PERF_SAMPLE_RAW = 1024,
2260 PERF_SAMPLE_BRANCH_STACK = 2048,
2261 PERF_SAMPLE_REGS_USER = 4096,
2262 PERF_SAMPLE_STACK_USER = 8192,
2263 PERF_SAMPLE_WEIGHT = 16384,
2264 PERF_SAMPLE_DATA_SRC = 32768,
2265 PERF_SAMPLE_IDENTIFIER = 65536,
2266 PERF_SAMPLE_TRANSACTION = 131072,
2267 PERF_SAMPLE_REGS_INTR = 262144,
2268 PERF_SAMPLE_PHYS_ADDR = 524288,
2269 PERF_SAMPLE_AUX = 1048576,
2270 PERF_SAMPLE_CGROUP = 2097152,
2271 PERF_SAMPLE_DATA_PAGE_SIZE = 4194304,
2272 PERF_SAMPLE_CODE_PAGE_SIZE = 8388608,
2273 PERF_SAMPLE_WEIGHT_STRUCT = 16777216,
2274 PERF_SAMPLE_MAX = 33554432,
2275}
2276#[repr(C)]
2277#[derive(Copy, Clone)]
2278pub struct perf_event_attr {
2279 pub type_: __u32,
2280 pub size: __u32,
2281 pub config: __u64,
2282 pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
2283 pub sample_type: __u64,
2284 pub read_format: __u64,
2285 pub _bitfield_align_1: [u32; 0],
2286 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2287 pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
2288 pub bp_type: __u32,
2289 pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
2290 pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
2291 pub branch_sample_type: __u64,
2292 pub sample_regs_user: __u64,
2293 pub sample_stack_user: __u32,
2294 pub clockid: __s32,
2295 pub sample_regs_intr: __u64,
2296 pub aux_watermark: __u32,
2297 pub sample_max_stack: __u16,
2298 pub __reserved_2: __u16,
2299 pub aux_sample_size: __u32,
2300 pub __reserved_3: __u32,
2301 pub sig_data: __u64,
2302 pub config3: __u64,
2303}
2304#[repr(C)]
2305#[derive(Copy, Clone)]
2306pub union perf_event_attr__bindgen_ty_1 {
2307 pub sample_period: __u64,
2308 pub sample_freq: __u64,
2309}
2310#[repr(C)]
2311#[derive(Copy, Clone)]
2312pub union perf_event_attr__bindgen_ty_2 {
2313 pub wakeup_events: __u32,
2314 pub wakeup_watermark: __u32,
2315}
2316#[repr(C)]
2317#[derive(Copy, Clone)]
2318pub union perf_event_attr__bindgen_ty_3 {
2319 pub bp_addr: __u64,
2320 pub kprobe_func: __u64,
2321 pub uprobe_path: __u64,
2322 pub config1: __u64,
2323}
2324#[repr(C)]
2325#[derive(Copy, Clone)]
2326pub union perf_event_attr__bindgen_ty_4 {
2327 pub bp_len: __u64,
2328 pub kprobe_addr: __u64,
2329 pub probe_offset: __u64,
2330 pub config2: __u64,
2331}
2332impl perf_event_attr {
2333 #[inline]
2334 pub fn disabled(&self) -> __u64 {
2335 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
2336 }
2337 #[inline]
2338 pub fn set_disabled(&mut self, val: __u64) {
2339 unsafe {
2340 let val: u64 = ::core::mem::transmute(val);
2341 self._bitfield_1.set(0usize, 1u8, val as u64)
2342 }
2343 }
2344 #[inline]
2345 pub unsafe fn disabled_raw(this: *const Self) -> __u64 {
2346 unsafe {
2347 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2348 ::core::ptr::addr_of!((*this)._bitfield_1),
2349 0usize,
2350 1u8,
2351 ) as u64)
2352 }
2353 }
2354 #[inline]
2355 pub unsafe fn set_disabled_raw(this: *mut Self, val: __u64) {
2356 unsafe {
2357 let val: u64 = ::core::mem::transmute(val);
2358 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2359 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2360 0usize,
2361 1u8,
2362 val as u64,
2363 )
2364 }
2365 }
2366 #[inline]
2367 pub fn inherit(&self) -> __u64 {
2368 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
2369 }
2370 #[inline]
2371 pub fn set_inherit(&mut self, val: __u64) {
2372 unsafe {
2373 let val: u64 = ::core::mem::transmute(val);
2374 self._bitfield_1.set(1usize, 1u8, val as u64)
2375 }
2376 }
2377 #[inline]
2378 pub unsafe fn inherit_raw(this: *const Self) -> __u64 {
2379 unsafe {
2380 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2381 ::core::ptr::addr_of!((*this)._bitfield_1),
2382 1usize,
2383 1u8,
2384 ) as u64)
2385 }
2386 }
2387 #[inline]
2388 pub unsafe fn set_inherit_raw(this: *mut Self, val: __u64) {
2389 unsafe {
2390 let val: u64 = ::core::mem::transmute(val);
2391 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2392 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2393 1usize,
2394 1u8,
2395 val as u64,
2396 )
2397 }
2398 }
2399 #[inline]
2400 pub fn pinned(&self) -> __u64 {
2401 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
2402 }
2403 #[inline]
2404 pub fn set_pinned(&mut self, val: __u64) {
2405 unsafe {
2406 let val: u64 = ::core::mem::transmute(val);
2407 self._bitfield_1.set(2usize, 1u8, val as u64)
2408 }
2409 }
2410 #[inline]
2411 pub unsafe fn pinned_raw(this: *const Self) -> __u64 {
2412 unsafe {
2413 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2414 ::core::ptr::addr_of!((*this)._bitfield_1),
2415 2usize,
2416 1u8,
2417 ) as u64)
2418 }
2419 }
2420 #[inline]
2421 pub unsafe fn set_pinned_raw(this: *mut Self, val: __u64) {
2422 unsafe {
2423 let val: u64 = ::core::mem::transmute(val);
2424 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2425 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2426 2usize,
2427 1u8,
2428 val as u64,
2429 )
2430 }
2431 }
2432 #[inline]
2433 pub fn exclusive(&self) -> __u64 {
2434 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
2435 }
2436 #[inline]
2437 pub fn set_exclusive(&mut self, val: __u64) {
2438 unsafe {
2439 let val: u64 = ::core::mem::transmute(val);
2440 self._bitfield_1.set(3usize, 1u8, val as u64)
2441 }
2442 }
2443 #[inline]
2444 pub unsafe fn exclusive_raw(this: *const Self) -> __u64 {
2445 unsafe {
2446 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2447 ::core::ptr::addr_of!((*this)._bitfield_1),
2448 3usize,
2449 1u8,
2450 ) as u64)
2451 }
2452 }
2453 #[inline]
2454 pub unsafe fn set_exclusive_raw(this: *mut Self, val: __u64) {
2455 unsafe {
2456 let val: u64 = ::core::mem::transmute(val);
2457 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2458 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2459 3usize,
2460 1u8,
2461 val as u64,
2462 )
2463 }
2464 }
2465 #[inline]
2466 pub fn exclude_user(&self) -> __u64 {
2467 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
2468 }
2469 #[inline]
2470 pub fn set_exclude_user(&mut self, val: __u64) {
2471 unsafe {
2472 let val: u64 = ::core::mem::transmute(val);
2473 self._bitfield_1.set(4usize, 1u8, val as u64)
2474 }
2475 }
2476 #[inline]
2477 pub unsafe fn exclude_user_raw(this: *const Self) -> __u64 {
2478 unsafe {
2479 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2480 ::core::ptr::addr_of!((*this)._bitfield_1),
2481 4usize,
2482 1u8,
2483 ) as u64)
2484 }
2485 }
2486 #[inline]
2487 pub unsafe fn set_exclude_user_raw(this: *mut Self, val: __u64) {
2488 unsafe {
2489 let val: u64 = ::core::mem::transmute(val);
2490 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2491 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2492 4usize,
2493 1u8,
2494 val as u64,
2495 )
2496 }
2497 }
2498 #[inline]
2499 pub fn exclude_kernel(&self) -> __u64 {
2500 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
2501 }
2502 #[inline]
2503 pub fn set_exclude_kernel(&mut self, val: __u64) {
2504 unsafe {
2505 let val: u64 = ::core::mem::transmute(val);
2506 self._bitfield_1.set(5usize, 1u8, val as u64)
2507 }
2508 }
2509 #[inline]
2510 pub unsafe fn exclude_kernel_raw(this: *const Self) -> __u64 {
2511 unsafe {
2512 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2513 ::core::ptr::addr_of!((*this)._bitfield_1),
2514 5usize,
2515 1u8,
2516 ) as u64)
2517 }
2518 }
2519 #[inline]
2520 pub unsafe fn set_exclude_kernel_raw(this: *mut Self, val: __u64) {
2521 unsafe {
2522 let val: u64 = ::core::mem::transmute(val);
2523 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2524 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2525 5usize,
2526 1u8,
2527 val as u64,
2528 )
2529 }
2530 }
2531 #[inline]
2532 pub fn exclude_hv(&self) -> __u64 {
2533 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
2534 }
2535 #[inline]
2536 pub fn set_exclude_hv(&mut self, val: __u64) {
2537 unsafe {
2538 let val: u64 = ::core::mem::transmute(val);
2539 self._bitfield_1.set(6usize, 1u8, val as u64)
2540 }
2541 }
2542 #[inline]
2543 pub unsafe fn exclude_hv_raw(this: *const Self) -> __u64 {
2544 unsafe {
2545 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2546 ::core::ptr::addr_of!((*this)._bitfield_1),
2547 6usize,
2548 1u8,
2549 ) as u64)
2550 }
2551 }
2552 #[inline]
2553 pub unsafe fn set_exclude_hv_raw(this: *mut Self, val: __u64) {
2554 unsafe {
2555 let val: u64 = ::core::mem::transmute(val);
2556 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2557 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2558 6usize,
2559 1u8,
2560 val as u64,
2561 )
2562 }
2563 }
2564 #[inline]
2565 pub fn exclude_idle(&self) -> __u64 {
2566 unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
2567 }
2568 #[inline]
2569 pub fn set_exclude_idle(&mut self, val: __u64) {
2570 unsafe {
2571 let val: u64 = ::core::mem::transmute(val);
2572 self._bitfield_1.set(7usize, 1u8, val as u64)
2573 }
2574 }
2575 #[inline]
2576 pub unsafe fn exclude_idle_raw(this: *const Self) -> __u64 {
2577 unsafe {
2578 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2579 ::core::ptr::addr_of!((*this)._bitfield_1),
2580 7usize,
2581 1u8,
2582 ) as u64)
2583 }
2584 }
2585 #[inline]
2586 pub unsafe fn set_exclude_idle_raw(this: *mut Self, val: __u64) {
2587 unsafe {
2588 let val: u64 = ::core::mem::transmute(val);
2589 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2590 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2591 7usize,
2592 1u8,
2593 val as u64,
2594 )
2595 }
2596 }
2597 #[inline]
2598 pub fn mmap(&self) -> __u64 {
2599 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
2600 }
2601 #[inline]
2602 pub fn set_mmap(&mut self, val: __u64) {
2603 unsafe {
2604 let val: u64 = ::core::mem::transmute(val);
2605 self._bitfield_1.set(8usize, 1u8, val as u64)
2606 }
2607 }
2608 #[inline]
2609 pub unsafe fn mmap_raw(this: *const Self) -> __u64 {
2610 unsafe {
2611 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2612 ::core::ptr::addr_of!((*this)._bitfield_1),
2613 8usize,
2614 1u8,
2615 ) as u64)
2616 }
2617 }
2618 #[inline]
2619 pub unsafe fn set_mmap_raw(this: *mut Self, val: __u64) {
2620 unsafe {
2621 let val: u64 = ::core::mem::transmute(val);
2622 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2623 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2624 8usize,
2625 1u8,
2626 val as u64,
2627 )
2628 }
2629 }
2630 #[inline]
2631 pub fn comm(&self) -> __u64 {
2632 unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
2633 }
2634 #[inline]
2635 pub fn set_comm(&mut self, val: __u64) {
2636 unsafe {
2637 let val: u64 = ::core::mem::transmute(val);
2638 self._bitfield_1.set(9usize, 1u8, val as u64)
2639 }
2640 }
2641 #[inline]
2642 pub unsafe fn comm_raw(this: *const Self) -> __u64 {
2643 unsafe {
2644 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2645 ::core::ptr::addr_of!((*this)._bitfield_1),
2646 9usize,
2647 1u8,
2648 ) as u64)
2649 }
2650 }
2651 #[inline]
2652 pub unsafe fn set_comm_raw(this: *mut Self, val: __u64) {
2653 unsafe {
2654 let val: u64 = ::core::mem::transmute(val);
2655 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2656 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2657 9usize,
2658 1u8,
2659 val as u64,
2660 )
2661 }
2662 }
2663 #[inline]
2664 pub fn freq(&self) -> __u64 {
2665 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
2666 }
2667 #[inline]
2668 pub fn set_freq(&mut self, val: __u64) {
2669 unsafe {
2670 let val: u64 = ::core::mem::transmute(val);
2671 self._bitfield_1.set(10usize, 1u8, val as u64)
2672 }
2673 }
2674 #[inline]
2675 pub unsafe fn freq_raw(this: *const Self) -> __u64 {
2676 unsafe {
2677 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2678 ::core::ptr::addr_of!((*this)._bitfield_1),
2679 10usize,
2680 1u8,
2681 ) as u64)
2682 }
2683 }
2684 #[inline]
2685 pub unsafe fn set_freq_raw(this: *mut Self, val: __u64) {
2686 unsafe {
2687 let val: u64 = ::core::mem::transmute(val);
2688 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2689 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2690 10usize,
2691 1u8,
2692 val as u64,
2693 )
2694 }
2695 }
2696 #[inline]
2697 pub fn inherit_stat(&self) -> __u64 {
2698 unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
2699 }
2700 #[inline]
2701 pub fn set_inherit_stat(&mut self, val: __u64) {
2702 unsafe {
2703 let val: u64 = ::core::mem::transmute(val);
2704 self._bitfield_1.set(11usize, 1u8, val as u64)
2705 }
2706 }
2707 #[inline]
2708 pub unsafe fn inherit_stat_raw(this: *const Self) -> __u64 {
2709 unsafe {
2710 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2711 ::core::ptr::addr_of!((*this)._bitfield_1),
2712 11usize,
2713 1u8,
2714 ) as u64)
2715 }
2716 }
2717 #[inline]
2718 pub unsafe fn set_inherit_stat_raw(this: *mut Self, val: __u64) {
2719 unsafe {
2720 let val: u64 = ::core::mem::transmute(val);
2721 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2722 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2723 11usize,
2724 1u8,
2725 val as u64,
2726 )
2727 }
2728 }
2729 #[inline]
2730 pub fn enable_on_exec(&self) -> __u64 {
2731 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
2732 }
2733 #[inline]
2734 pub fn set_enable_on_exec(&mut self, val: __u64) {
2735 unsafe {
2736 let val: u64 = ::core::mem::transmute(val);
2737 self._bitfield_1.set(12usize, 1u8, val as u64)
2738 }
2739 }
2740 #[inline]
2741 pub unsafe fn enable_on_exec_raw(this: *const Self) -> __u64 {
2742 unsafe {
2743 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2744 ::core::ptr::addr_of!((*this)._bitfield_1),
2745 12usize,
2746 1u8,
2747 ) as u64)
2748 }
2749 }
2750 #[inline]
2751 pub unsafe fn set_enable_on_exec_raw(this: *mut Self, val: __u64) {
2752 unsafe {
2753 let val: u64 = ::core::mem::transmute(val);
2754 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2755 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2756 12usize,
2757 1u8,
2758 val as u64,
2759 )
2760 }
2761 }
2762 #[inline]
2763 pub fn task(&self) -> __u64 {
2764 unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
2765 }
2766 #[inline]
2767 pub fn set_task(&mut self, val: __u64) {
2768 unsafe {
2769 let val: u64 = ::core::mem::transmute(val);
2770 self._bitfield_1.set(13usize, 1u8, val as u64)
2771 }
2772 }
2773 #[inline]
2774 pub unsafe fn task_raw(this: *const Self) -> __u64 {
2775 unsafe {
2776 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2777 ::core::ptr::addr_of!((*this)._bitfield_1),
2778 13usize,
2779 1u8,
2780 ) as u64)
2781 }
2782 }
2783 #[inline]
2784 pub unsafe fn set_task_raw(this: *mut Self, val: __u64) {
2785 unsafe {
2786 let val: u64 = ::core::mem::transmute(val);
2787 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2788 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2789 13usize,
2790 1u8,
2791 val as u64,
2792 )
2793 }
2794 }
2795 #[inline]
2796 pub fn watermark(&self) -> __u64 {
2797 unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
2798 }
2799 #[inline]
2800 pub fn set_watermark(&mut self, val: __u64) {
2801 unsafe {
2802 let val: u64 = ::core::mem::transmute(val);
2803 self._bitfield_1.set(14usize, 1u8, val as u64)
2804 }
2805 }
2806 #[inline]
2807 pub unsafe fn watermark_raw(this: *const Self) -> __u64 {
2808 unsafe {
2809 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2810 ::core::ptr::addr_of!((*this)._bitfield_1),
2811 14usize,
2812 1u8,
2813 ) as u64)
2814 }
2815 }
2816 #[inline]
2817 pub unsafe fn set_watermark_raw(this: *mut Self, val: __u64) {
2818 unsafe {
2819 let val: u64 = ::core::mem::transmute(val);
2820 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2821 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2822 14usize,
2823 1u8,
2824 val as u64,
2825 )
2826 }
2827 }
2828 #[inline]
2829 pub fn precise_ip(&self) -> __u64 {
2830 unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
2831 }
2832 #[inline]
2833 pub fn set_precise_ip(&mut self, val: __u64) {
2834 unsafe {
2835 let val: u64 = ::core::mem::transmute(val);
2836 self._bitfield_1.set(15usize, 2u8, val as u64)
2837 }
2838 }
2839 #[inline]
2840 pub unsafe fn precise_ip_raw(this: *const Self) -> __u64 {
2841 unsafe {
2842 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2843 ::core::ptr::addr_of!((*this)._bitfield_1),
2844 15usize,
2845 2u8,
2846 ) as u64)
2847 }
2848 }
2849 #[inline]
2850 pub unsafe fn set_precise_ip_raw(this: *mut Self, val: __u64) {
2851 unsafe {
2852 let val: u64 = ::core::mem::transmute(val);
2853 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2854 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2855 15usize,
2856 2u8,
2857 val as u64,
2858 )
2859 }
2860 }
2861 #[inline]
2862 pub fn mmap_data(&self) -> __u64 {
2863 unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
2864 }
2865 #[inline]
2866 pub fn set_mmap_data(&mut self, val: __u64) {
2867 unsafe {
2868 let val: u64 = ::core::mem::transmute(val);
2869 self._bitfield_1.set(17usize, 1u8, val as u64)
2870 }
2871 }
2872 #[inline]
2873 pub unsafe fn mmap_data_raw(this: *const Self) -> __u64 {
2874 unsafe {
2875 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2876 ::core::ptr::addr_of!((*this)._bitfield_1),
2877 17usize,
2878 1u8,
2879 ) as u64)
2880 }
2881 }
2882 #[inline]
2883 pub unsafe fn set_mmap_data_raw(this: *mut Self, val: __u64) {
2884 unsafe {
2885 let val: u64 = ::core::mem::transmute(val);
2886 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2887 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2888 17usize,
2889 1u8,
2890 val as u64,
2891 )
2892 }
2893 }
2894 #[inline]
2895 pub fn sample_id_all(&self) -> __u64 {
2896 unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
2897 }
2898 #[inline]
2899 pub fn set_sample_id_all(&mut self, val: __u64) {
2900 unsafe {
2901 let val: u64 = ::core::mem::transmute(val);
2902 self._bitfield_1.set(18usize, 1u8, val as u64)
2903 }
2904 }
2905 #[inline]
2906 pub unsafe fn sample_id_all_raw(this: *const Self) -> __u64 {
2907 unsafe {
2908 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2909 ::core::ptr::addr_of!((*this)._bitfield_1),
2910 18usize,
2911 1u8,
2912 ) as u64)
2913 }
2914 }
2915 #[inline]
2916 pub unsafe fn set_sample_id_all_raw(this: *mut Self, val: __u64) {
2917 unsafe {
2918 let val: u64 = ::core::mem::transmute(val);
2919 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2920 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2921 18usize,
2922 1u8,
2923 val as u64,
2924 )
2925 }
2926 }
2927 #[inline]
2928 pub fn exclude_host(&self) -> __u64 {
2929 unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
2930 }
2931 #[inline]
2932 pub fn set_exclude_host(&mut self, val: __u64) {
2933 unsafe {
2934 let val: u64 = ::core::mem::transmute(val);
2935 self._bitfield_1.set(19usize, 1u8, val as u64)
2936 }
2937 }
2938 #[inline]
2939 pub unsafe fn exclude_host_raw(this: *const Self) -> __u64 {
2940 unsafe {
2941 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2942 ::core::ptr::addr_of!((*this)._bitfield_1),
2943 19usize,
2944 1u8,
2945 ) as u64)
2946 }
2947 }
2948 #[inline]
2949 pub unsafe fn set_exclude_host_raw(this: *mut Self, val: __u64) {
2950 unsafe {
2951 let val: u64 = ::core::mem::transmute(val);
2952 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2953 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2954 19usize,
2955 1u8,
2956 val as u64,
2957 )
2958 }
2959 }
2960 #[inline]
2961 pub fn exclude_guest(&self) -> __u64 {
2962 unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
2963 }
2964 #[inline]
2965 pub fn set_exclude_guest(&mut self, val: __u64) {
2966 unsafe {
2967 let val: u64 = ::core::mem::transmute(val);
2968 self._bitfield_1.set(20usize, 1u8, val as u64)
2969 }
2970 }
2971 #[inline]
2972 pub unsafe fn exclude_guest_raw(this: *const Self) -> __u64 {
2973 unsafe {
2974 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
2975 ::core::ptr::addr_of!((*this)._bitfield_1),
2976 20usize,
2977 1u8,
2978 ) as u64)
2979 }
2980 }
2981 #[inline]
2982 pub unsafe fn set_exclude_guest_raw(this: *mut Self, val: __u64) {
2983 unsafe {
2984 let val: u64 = ::core::mem::transmute(val);
2985 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
2986 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
2987 20usize,
2988 1u8,
2989 val as u64,
2990 )
2991 }
2992 }
2993 #[inline]
2994 pub fn exclude_callchain_kernel(&self) -> __u64 {
2995 unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
2996 }
2997 #[inline]
2998 pub fn set_exclude_callchain_kernel(&mut self, val: __u64) {
2999 unsafe {
3000 let val: u64 = ::core::mem::transmute(val);
3001 self._bitfield_1.set(21usize, 1u8, val as u64)
3002 }
3003 }
3004 #[inline]
3005 pub unsafe fn exclude_callchain_kernel_raw(this: *const Self) -> __u64 {
3006 unsafe {
3007 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3008 ::core::ptr::addr_of!((*this)._bitfield_1),
3009 21usize,
3010 1u8,
3011 ) as u64)
3012 }
3013 }
3014 #[inline]
3015 pub unsafe fn set_exclude_callchain_kernel_raw(this: *mut Self, val: __u64) {
3016 unsafe {
3017 let val: u64 = ::core::mem::transmute(val);
3018 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3019 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3020 21usize,
3021 1u8,
3022 val as u64,
3023 )
3024 }
3025 }
3026 #[inline]
3027 pub fn exclude_callchain_user(&self) -> __u64 {
3028 unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
3029 }
3030 #[inline]
3031 pub fn set_exclude_callchain_user(&mut self, val: __u64) {
3032 unsafe {
3033 let val: u64 = ::core::mem::transmute(val);
3034 self._bitfield_1.set(22usize, 1u8, val as u64)
3035 }
3036 }
3037 #[inline]
3038 pub unsafe fn exclude_callchain_user_raw(this: *const Self) -> __u64 {
3039 unsafe {
3040 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3041 ::core::ptr::addr_of!((*this)._bitfield_1),
3042 22usize,
3043 1u8,
3044 ) as u64)
3045 }
3046 }
3047 #[inline]
3048 pub unsafe fn set_exclude_callchain_user_raw(this: *mut Self, val: __u64) {
3049 unsafe {
3050 let val: u64 = ::core::mem::transmute(val);
3051 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3052 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3053 22usize,
3054 1u8,
3055 val as u64,
3056 )
3057 }
3058 }
3059 #[inline]
3060 pub fn mmap2(&self) -> __u64 {
3061 unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
3062 }
3063 #[inline]
3064 pub fn set_mmap2(&mut self, val: __u64) {
3065 unsafe {
3066 let val: u64 = ::core::mem::transmute(val);
3067 self._bitfield_1.set(23usize, 1u8, val as u64)
3068 }
3069 }
3070 #[inline]
3071 pub unsafe fn mmap2_raw(this: *const Self) -> __u64 {
3072 unsafe {
3073 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3074 ::core::ptr::addr_of!((*this)._bitfield_1),
3075 23usize,
3076 1u8,
3077 ) as u64)
3078 }
3079 }
3080 #[inline]
3081 pub unsafe fn set_mmap2_raw(this: *mut Self, val: __u64) {
3082 unsafe {
3083 let val: u64 = ::core::mem::transmute(val);
3084 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3085 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3086 23usize,
3087 1u8,
3088 val as u64,
3089 )
3090 }
3091 }
3092 #[inline]
3093 pub fn comm_exec(&self) -> __u64 {
3094 unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
3095 }
3096 #[inline]
3097 pub fn set_comm_exec(&mut self, val: __u64) {
3098 unsafe {
3099 let val: u64 = ::core::mem::transmute(val);
3100 self._bitfield_1.set(24usize, 1u8, val as u64)
3101 }
3102 }
3103 #[inline]
3104 pub unsafe fn comm_exec_raw(this: *const Self) -> __u64 {
3105 unsafe {
3106 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3107 ::core::ptr::addr_of!((*this)._bitfield_1),
3108 24usize,
3109 1u8,
3110 ) as u64)
3111 }
3112 }
3113 #[inline]
3114 pub unsafe fn set_comm_exec_raw(this: *mut Self, val: __u64) {
3115 unsafe {
3116 let val: u64 = ::core::mem::transmute(val);
3117 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3118 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3119 24usize,
3120 1u8,
3121 val as u64,
3122 )
3123 }
3124 }
3125 #[inline]
3126 pub fn use_clockid(&self) -> __u64 {
3127 unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
3128 }
3129 #[inline]
3130 pub fn set_use_clockid(&mut self, val: __u64) {
3131 unsafe {
3132 let val: u64 = ::core::mem::transmute(val);
3133 self._bitfield_1.set(25usize, 1u8, val as u64)
3134 }
3135 }
3136 #[inline]
3137 pub unsafe fn use_clockid_raw(this: *const Self) -> __u64 {
3138 unsafe {
3139 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3140 ::core::ptr::addr_of!((*this)._bitfield_1),
3141 25usize,
3142 1u8,
3143 ) as u64)
3144 }
3145 }
3146 #[inline]
3147 pub unsafe fn set_use_clockid_raw(this: *mut Self, val: __u64) {
3148 unsafe {
3149 let val: u64 = ::core::mem::transmute(val);
3150 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3151 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3152 25usize,
3153 1u8,
3154 val as u64,
3155 )
3156 }
3157 }
3158 #[inline]
3159 pub fn context_switch(&self) -> __u64 {
3160 unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
3161 }
3162 #[inline]
3163 pub fn set_context_switch(&mut self, val: __u64) {
3164 unsafe {
3165 let val: u64 = ::core::mem::transmute(val);
3166 self._bitfield_1.set(26usize, 1u8, val as u64)
3167 }
3168 }
3169 #[inline]
3170 pub unsafe fn context_switch_raw(this: *const Self) -> __u64 {
3171 unsafe {
3172 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3173 ::core::ptr::addr_of!((*this)._bitfield_1),
3174 26usize,
3175 1u8,
3176 ) as u64)
3177 }
3178 }
3179 #[inline]
3180 pub unsafe fn set_context_switch_raw(this: *mut Self, val: __u64) {
3181 unsafe {
3182 let val: u64 = ::core::mem::transmute(val);
3183 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3184 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3185 26usize,
3186 1u8,
3187 val as u64,
3188 )
3189 }
3190 }
3191 #[inline]
3192 pub fn write_backward(&self) -> __u64 {
3193 unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
3194 }
3195 #[inline]
3196 pub fn set_write_backward(&mut self, val: __u64) {
3197 unsafe {
3198 let val: u64 = ::core::mem::transmute(val);
3199 self._bitfield_1.set(27usize, 1u8, val as u64)
3200 }
3201 }
3202 #[inline]
3203 pub unsafe fn write_backward_raw(this: *const Self) -> __u64 {
3204 unsafe {
3205 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3206 ::core::ptr::addr_of!((*this)._bitfield_1),
3207 27usize,
3208 1u8,
3209 ) as u64)
3210 }
3211 }
3212 #[inline]
3213 pub unsafe fn set_write_backward_raw(this: *mut Self, val: __u64) {
3214 unsafe {
3215 let val: u64 = ::core::mem::transmute(val);
3216 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3217 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3218 27usize,
3219 1u8,
3220 val as u64,
3221 )
3222 }
3223 }
3224 #[inline]
3225 pub fn namespaces(&self) -> __u64 {
3226 unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
3227 }
3228 #[inline]
3229 pub fn set_namespaces(&mut self, val: __u64) {
3230 unsafe {
3231 let val: u64 = ::core::mem::transmute(val);
3232 self._bitfield_1.set(28usize, 1u8, val as u64)
3233 }
3234 }
3235 #[inline]
3236 pub unsafe fn namespaces_raw(this: *const Self) -> __u64 {
3237 unsafe {
3238 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3239 ::core::ptr::addr_of!((*this)._bitfield_1),
3240 28usize,
3241 1u8,
3242 ) as u64)
3243 }
3244 }
3245 #[inline]
3246 pub unsafe fn set_namespaces_raw(this: *mut Self, val: __u64) {
3247 unsafe {
3248 let val: u64 = ::core::mem::transmute(val);
3249 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3250 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3251 28usize,
3252 1u8,
3253 val as u64,
3254 )
3255 }
3256 }
3257 #[inline]
3258 pub fn ksymbol(&self) -> __u64 {
3259 unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
3260 }
3261 #[inline]
3262 pub fn set_ksymbol(&mut self, val: __u64) {
3263 unsafe {
3264 let val: u64 = ::core::mem::transmute(val);
3265 self._bitfield_1.set(29usize, 1u8, val as u64)
3266 }
3267 }
3268 #[inline]
3269 pub unsafe fn ksymbol_raw(this: *const Self) -> __u64 {
3270 unsafe {
3271 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3272 ::core::ptr::addr_of!((*this)._bitfield_1),
3273 29usize,
3274 1u8,
3275 ) as u64)
3276 }
3277 }
3278 #[inline]
3279 pub unsafe fn set_ksymbol_raw(this: *mut Self, val: __u64) {
3280 unsafe {
3281 let val: u64 = ::core::mem::transmute(val);
3282 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3283 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3284 29usize,
3285 1u8,
3286 val as u64,
3287 )
3288 }
3289 }
3290 #[inline]
3291 pub fn bpf_event(&self) -> __u64 {
3292 unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
3293 }
3294 #[inline]
3295 pub fn set_bpf_event(&mut self, val: __u64) {
3296 unsafe {
3297 let val: u64 = ::core::mem::transmute(val);
3298 self._bitfield_1.set(30usize, 1u8, val as u64)
3299 }
3300 }
3301 #[inline]
3302 pub unsafe fn bpf_event_raw(this: *const Self) -> __u64 {
3303 unsafe {
3304 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3305 ::core::ptr::addr_of!((*this)._bitfield_1),
3306 30usize,
3307 1u8,
3308 ) as u64)
3309 }
3310 }
3311 #[inline]
3312 pub unsafe fn set_bpf_event_raw(this: *mut Self, val: __u64) {
3313 unsafe {
3314 let val: u64 = ::core::mem::transmute(val);
3315 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3316 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3317 30usize,
3318 1u8,
3319 val as u64,
3320 )
3321 }
3322 }
3323 #[inline]
3324 pub fn aux_output(&self) -> __u64 {
3325 unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
3326 }
3327 #[inline]
3328 pub fn set_aux_output(&mut self, val: __u64) {
3329 unsafe {
3330 let val: u64 = ::core::mem::transmute(val);
3331 self._bitfield_1.set(31usize, 1u8, val as u64)
3332 }
3333 }
3334 #[inline]
3335 pub unsafe fn aux_output_raw(this: *const Self) -> __u64 {
3336 unsafe {
3337 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3338 ::core::ptr::addr_of!((*this)._bitfield_1),
3339 31usize,
3340 1u8,
3341 ) as u64)
3342 }
3343 }
3344 #[inline]
3345 pub unsafe fn set_aux_output_raw(this: *mut Self, val: __u64) {
3346 unsafe {
3347 let val: u64 = ::core::mem::transmute(val);
3348 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3349 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3350 31usize,
3351 1u8,
3352 val as u64,
3353 )
3354 }
3355 }
3356 #[inline]
3357 pub fn cgroup(&self) -> __u64 {
3358 unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) }
3359 }
3360 #[inline]
3361 pub fn set_cgroup(&mut self, val: __u64) {
3362 unsafe {
3363 let val: u64 = ::core::mem::transmute(val);
3364 self._bitfield_1.set(32usize, 1u8, val as u64)
3365 }
3366 }
3367 #[inline]
3368 pub unsafe fn cgroup_raw(this: *const Self) -> __u64 {
3369 unsafe {
3370 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3371 ::core::ptr::addr_of!((*this)._bitfield_1),
3372 32usize,
3373 1u8,
3374 ) as u64)
3375 }
3376 }
3377 #[inline]
3378 pub unsafe fn set_cgroup_raw(this: *mut Self, val: __u64) {
3379 unsafe {
3380 let val: u64 = ::core::mem::transmute(val);
3381 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3382 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3383 32usize,
3384 1u8,
3385 val as u64,
3386 )
3387 }
3388 }
3389 #[inline]
3390 pub fn text_poke(&self) -> __u64 {
3391 unsafe { ::core::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) }
3392 }
3393 #[inline]
3394 pub fn set_text_poke(&mut self, val: __u64) {
3395 unsafe {
3396 let val: u64 = ::core::mem::transmute(val);
3397 self._bitfield_1.set(33usize, 1u8, val as u64)
3398 }
3399 }
3400 #[inline]
3401 pub unsafe fn text_poke_raw(this: *const Self) -> __u64 {
3402 unsafe {
3403 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3404 ::core::ptr::addr_of!((*this)._bitfield_1),
3405 33usize,
3406 1u8,
3407 ) as u64)
3408 }
3409 }
3410 #[inline]
3411 pub unsafe fn set_text_poke_raw(this: *mut Self, val: __u64) {
3412 unsafe {
3413 let val: u64 = ::core::mem::transmute(val);
3414 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3415 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3416 33usize,
3417 1u8,
3418 val as u64,
3419 )
3420 }
3421 }
3422 #[inline]
3423 pub fn build_id(&self) -> __u64 {
3424 unsafe { ::core::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) }
3425 }
3426 #[inline]
3427 pub fn set_build_id(&mut self, val: __u64) {
3428 unsafe {
3429 let val: u64 = ::core::mem::transmute(val);
3430 self._bitfield_1.set(34usize, 1u8, val as u64)
3431 }
3432 }
3433 #[inline]
3434 pub unsafe fn build_id_raw(this: *const Self) -> __u64 {
3435 unsafe {
3436 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3437 ::core::ptr::addr_of!((*this)._bitfield_1),
3438 34usize,
3439 1u8,
3440 ) as u64)
3441 }
3442 }
3443 #[inline]
3444 pub unsafe fn set_build_id_raw(this: *mut Self, val: __u64) {
3445 unsafe {
3446 let val: u64 = ::core::mem::transmute(val);
3447 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3448 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3449 34usize,
3450 1u8,
3451 val as u64,
3452 )
3453 }
3454 }
3455 #[inline]
3456 pub fn inherit_thread(&self) -> __u64 {
3457 unsafe { ::core::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) }
3458 }
3459 #[inline]
3460 pub fn set_inherit_thread(&mut self, val: __u64) {
3461 unsafe {
3462 let val: u64 = ::core::mem::transmute(val);
3463 self._bitfield_1.set(35usize, 1u8, val as u64)
3464 }
3465 }
3466 #[inline]
3467 pub unsafe fn inherit_thread_raw(this: *const Self) -> __u64 {
3468 unsafe {
3469 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3470 ::core::ptr::addr_of!((*this)._bitfield_1),
3471 35usize,
3472 1u8,
3473 ) as u64)
3474 }
3475 }
3476 #[inline]
3477 pub unsafe fn set_inherit_thread_raw(this: *mut Self, val: __u64) {
3478 unsafe {
3479 let val: u64 = ::core::mem::transmute(val);
3480 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3481 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3482 35usize,
3483 1u8,
3484 val as u64,
3485 )
3486 }
3487 }
3488 #[inline]
3489 pub fn remove_on_exec(&self) -> __u64 {
3490 unsafe { ::core::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) }
3491 }
3492 #[inline]
3493 pub fn set_remove_on_exec(&mut self, val: __u64) {
3494 unsafe {
3495 let val: u64 = ::core::mem::transmute(val);
3496 self._bitfield_1.set(36usize, 1u8, val as u64)
3497 }
3498 }
3499 #[inline]
3500 pub unsafe fn remove_on_exec_raw(this: *const Self) -> __u64 {
3501 unsafe {
3502 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3503 ::core::ptr::addr_of!((*this)._bitfield_1),
3504 36usize,
3505 1u8,
3506 ) as u64)
3507 }
3508 }
3509 #[inline]
3510 pub unsafe fn set_remove_on_exec_raw(this: *mut Self, val: __u64) {
3511 unsafe {
3512 let val: u64 = ::core::mem::transmute(val);
3513 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3514 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3515 36usize,
3516 1u8,
3517 val as u64,
3518 )
3519 }
3520 }
3521 #[inline]
3522 pub fn sigtrap(&self) -> __u64 {
3523 unsafe { ::core::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
3524 }
3525 #[inline]
3526 pub fn set_sigtrap(&mut self, val: __u64) {
3527 unsafe {
3528 let val: u64 = ::core::mem::transmute(val);
3529 self._bitfield_1.set(37usize, 1u8, val as u64)
3530 }
3531 }
3532 #[inline]
3533 pub unsafe fn sigtrap_raw(this: *const Self) -> __u64 {
3534 unsafe {
3535 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3536 ::core::ptr::addr_of!((*this)._bitfield_1),
3537 37usize,
3538 1u8,
3539 ) as u64)
3540 }
3541 }
3542 #[inline]
3543 pub unsafe fn set_sigtrap_raw(this: *mut Self, val: __u64) {
3544 unsafe {
3545 let val: u64 = ::core::mem::transmute(val);
3546 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3547 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3548 37usize,
3549 1u8,
3550 val as u64,
3551 )
3552 }
3553 }
3554 #[inline]
3555 pub fn __reserved_1(&self) -> __u64 {
3556 unsafe { ::core::mem::transmute(self._bitfield_1.get(38usize, 26u8) as u64) }
3557 }
3558 #[inline]
3559 pub fn set___reserved_1(&mut self, val: __u64) {
3560 unsafe {
3561 let val: u64 = ::core::mem::transmute(val);
3562 self._bitfield_1.set(38usize, 26u8, val as u64)
3563 }
3564 }
3565 #[inline]
3566 pub unsafe fn __reserved_1_raw(this: *const Self) -> __u64 {
3567 unsafe {
3568 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3569 ::core::ptr::addr_of!((*this)._bitfield_1),
3570 38usize,
3571 26u8,
3572 ) as u64)
3573 }
3574 }
3575 #[inline]
3576 pub unsafe fn set___reserved_1_raw(this: *mut Self, val: __u64) {
3577 unsafe {
3578 let val: u64 = ::core::mem::transmute(val);
3579 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3580 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3581 38usize,
3582 26u8,
3583 val as u64,
3584 )
3585 }
3586 }
3587 #[inline]
3588 pub fn new_bitfield_1(
3589 disabled: __u64,
3590 inherit: __u64,
3591 pinned: __u64,
3592 exclusive: __u64,
3593 exclude_user: __u64,
3594 exclude_kernel: __u64,
3595 exclude_hv: __u64,
3596 exclude_idle: __u64,
3597 mmap: __u64,
3598 comm: __u64,
3599 freq: __u64,
3600 inherit_stat: __u64,
3601 enable_on_exec: __u64,
3602 task: __u64,
3603 watermark: __u64,
3604 precise_ip: __u64,
3605 mmap_data: __u64,
3606 sample_id_all: __u64,
3607 exclude_host: __u64,
3608 exclude_guest: __u64,
3609 exclude_callchain_kernel: __u64,
3610 exclude_callchain_user: __u64,
3611 mmap2: __u64,
3612 comm_exec: __u64,
3613 use_clockid: __u64,
3614 context_switch: __u64,
3615 write_backward: __u64,
3616 namespaces: __u64,
3617 ksymbol: __u64,
3618 bpf_event: __u64,
3619 aux_output: __u64,
3620 cgroup: __u64,
3621 text_poke: __u64,
3622 build_id: __u64,
3623 inherit_thread: __u64,
3624 remove_on_exec: __u64,
3625 sigtrap: __u64,
3626 __reserved_1: __u64,
3627 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
3628 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
3629 __bindgen_bitfield_unit.set(0usize, 1u8, {
3630 let disabled: u64 = unsafe { ::core::mem::transmute(disabled) };
3631 disabled as u64
3632 });
3633 __bindgen_bitfield_unit.set(1usize, 1u8, {
3634 let inherit: u64 = unsafe { ::core::mem::transmute(inherit) };
3635 inherit as u64
3636 });
3637 __bindgen_bitfield_unit.set(2usize, 1u8, {
3638 let pinned: u64 = unsafe { ::core::mem::transmute(pinned) };
3639 pinned as u64
3640 });
3641 __bindgen_bitfield_unit.set(3usize, 1u8, {
3642 let exclusive: u64 = unsafe { ::core::mem::transmute(exclusive) };
3643 exclusive as u64
3644 });
3645 __bindgen_bitfield_unit.set(4usize, 1u8, {
3646 let exclude_user: u64 = unsafe { ::core::mem::transmute(exclude_user) };
3647 exclude_user as u64
3648 });
3649 __bindgen_bitfield_unit.set(5usize, 1u8, {
3650 let exclude_kernel: u64 = unsafe { ::core::mem::transmute(exclude_kernel) };
3651 exclude_kernel as u64
3652 });
3653 __bindgen_bitfield_unit.set(6usize, 1u8, {
3654 let exclude_hv: u64 = unsafe { ::core::mem::transmute(exclude_hv) };
3655 exclude_hv as u64
3656 });
3657 __bindgen_bitfield_unit.set(7usize, 1u8, {
3658 let exclude_idle: u64 = unsafe { ::core::mem::transmute(exclude_idle) };
3659 exclude_idle as u64
3660 });
3661 __bindgen_bitfield_unit.set(8usize, 1u8, {
3662 let mmap: u64 = unsafe { ::core::mem::transmute(mmap) };
3663 mmap as u64
3664 });
3665 __bindgen_bitfield_unit.set(9usize, 1u8, {
3666 let comm: u64 = unsafe { ::core::mem::transmute(comm) };
3667 comm as u64
3668 });
3669 __bindgen_bitfield_unit.set(10usize, 1u8, {
3670 let freq: u64 = unsafe { ::core::mem::transmute(freq) };
3671 freq as u64
3672 });
3673 __bindgen_bitfield_unit.set(11usize, 1u8, {
3674 let inherit_stat: u64 = unsafe { ::core::mem::transmute(inherit_stat) };
3675 inherit_stat as u64
3676 });
3677 __bindgen_bitfield_unit.set(12usize, 1u8, {
3678 let enable_on_exec: u64 = unsafe { ::core::mem::transmute(enable_on_exec) };
3679 enable_on_exec as u64
3680 });
3681 __bindgen_bitfield_unit.set(13usize, 1u8, {
3682 let task: u64 = unsafe { ::core::mem::transmute(task) };
3683 task as u64
3684 });
3685 __bindgen_bitfield_unit.set(14usize, 1u8, {
3686 let watermark: u64 = unsafe { ::core::mem::transmute(watermark) };
3687 watermark as u64
3688 });
3689 __bindgen_bitfield_unit.set(15usize, 2u8, {
3690 let precise_ip: u64 = unsafe { ::core::mem::transmute(precise_ip) };
3691 precise_ip as u64
3692 });
3693 __bindgen_bitfield_unit.set(17usize, 1u8, {
3694 let mmap_data: u64 = unsafe { ::core::mem::transmute(mmap_data) };
3695 mmap_data as u64
3696 });
3697 __bindgen_bitfield_unit.set(18usize, 1u8, {
3698 let sample_id_all: u64 = unsafe { ::core::mem::transmute(sample_id_all) };
3699 sample_id_all as u64
3700 });
3701 __bindgen_bitfield_unit.set(19usize, 1u8, {
3702 let exclude_host: u64 = unsafe { ::core::mem::transmute(exclude_host) };
3703 exclude_host as u64
3704 });
3705 __bindgen_bitfield_unit.set(20usize, 1u8, {
3706 let exclude_guest: u64 = unsafe { ::core::mem::transmute(exclude_guest) };
3707 exclude_guest as u64
3708 });
3709 __bindgen_bitfield_unit.set(21usize, 1u8, {
3710 let exclude_callchain_kernel: u64 =
3711 unsafe { ::core::mem::transmute(exclude_callchain_kernel) };
3712 exclude_callchain_kernel as u64
3713 });
3714 __bindgen_bitfield_unit.set(22usize, 1u8, {
3715 let exclude_callchain_user: u64 =
3716 unsafe { ::core::mem::transmute(exclude_callchain_user) };
3717 exclude_callchain_user as u64
3718 });
3719 __bindgen_bitfield_unit.set(23usize, 1u8, {
3720 let mmap2: u64 = unsafe { ::core::mem::transmute(mmap2) };
3721 mmap2 as u64
3722 });
3723 __bindgen_bitfield_unit.set(24usize, 1u8, {
3724 let comm_exec: u64 = unsafe { ::core::mem::transmute(comm_exec) };
3725 comm_exec as u64
3726 });
3727 __bindgen_bitfield_unit.set(25usize, 1u8, {
3728 let use_clockid: u64 = unsafe { ::core::mem::transmute(use_clockid) };
3729 use_clockid as u64
3730 });
3731 __bindgen_bitfield_unit.set(26usize, 1u8, {
3732 let context_switch: u64 = unsafe { ::core::mem::transmute(context_switch) };
3733 context_switch as u64
3734 });
3735 __bindgen_bitfield_unit.set(27usize, 1u8, {
3736 let write_backward: u64 = unsafe { ::core::mem::transmute(write_backward) };
3737 write_backward as u64
3738 });
3739 __bindgen_bitfield_unit.set(28usize, 1u8, {
3740 let namespaces: u64 = unsafe { ::core::mem::transmute(namespaces) };
3741 namespaces as u64
3742 });
3743 __bindgen_bitfield_unit.set(29usize, 1u8, {
3744 let ksymbol: u64 = unsafe { ::core::mem::transmute(ksymbol) };
3745 ksymbol as u64
3746 });
3747 __bindgen_bitfield_unit.set(30usize, 1u8, {
3748 let bpf_event: u64 = unsafe { ::core::mem::transmute(bpf_event) };
3749 bpf_event as u64
3750 });
3751 __bindgen_bitfield_unit.set(31usize, 1u8, {
3752 let aux_output: u64 = unsafe { ::core::mem::transmute(aux_output) };
3753 aux_output as u64
3754 });
3755 __bindgen_bitfield_unit.set(32usize, 1u8, {
3756 let cgroup: u64 = unsafe { ::core::mem::transmute(cgroup) };
3757 cgroup as u64
3758 });
3759 __bindgen_bitfield_unit.set(33usize, 1u8, {
3760 let text_poke: u64 = unsafe { ::core::mem::transmute(text_poke) };
3761 text_poke as u64
3762 });
3763 __bindgen_bitfield_unit.set(34usize, 1u8, {
3764 let build_id: u64 = unsafe { ::core::mem::transmute(build_id) };
3765 build_id as u64
3766 });
3767 __bindgen_bitfield_unit.set(35usize, 1u8, {
3768 let inherit_thread: u64 = unsafe { ::core::mem::transmute(inherit_thread) };
3769 inherit_thread as u64
3770 });
3771 __bindgen_bitfield_unit.set(36usize, 1u8, {
3772 let remove_on_exec: u64 = unsafe { ::core::mem::transmute(remove_on_exec) };
3773 remove_on_exec as u64
3774 });
3775 __bindgen_bitfield_unit.set(37usize, 1u8, {
3776 let sigtrap: u64 = unsafe { ::core::mem::transmute(sigtrap) };
3777 sigtrap as u64
3778 });
3779 __bindgen_bitfield_unit.set(38usize, 26u8, {
3780 let __reserved_1: u64 = unsafe { ::core::mem::transmute(__reserved_1) };
3781 __reserved_1 as u64
3782 });
3783 __bindgen_bitfield_unit
3784 }
3785}
3786#[repr(C)]
3787#[derive(Copy, Clone)]
3788pub struct perf_event_mmap_page {
3789 pub version: __u32,
3790 pub compat_version: __u32,
3791 pub lock: __u32,
3792 pub index: __u32,
3793 pub offset: __s64,
3794 pub time_enabled: __u64,
3795 pub time_running: __u64,
3796 pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1,
3797 pub pmc_width: __u16,
3798 pub time_shift: __u16,
3799 pub time_mult: __u32,
3800 pub time_offset: __u64,
3801 pub time_zero: __u64,
3802 pub size: __u32,
3803 pub __reserved_1: __u32,
3804 pub time_cycles: __u64,
3805 pub time_mask: __u64,
3806 pub __reserved: [__u8; 928usize],
3807 pub data_head: __u64,
3808 pub data_tail: __u64,
3809 pub data_offset: __u64,
3810 pub data_size: __u64,
3811 pub aux_head: __u64,
3812 pub aux_tail: __u64,
3813 pub aux_offset: __u64,
3814 pub aux_size: __u64,
3815}
3816#[repr(C)]
3817#[derive(Copy, Clone)]
3818pub union perf_event_mmap_page__bindgen_ty_1 {
3819 pub capabilities: __u64,
3820 pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1,
3821}
3822#[repr(C)]
3823#[derive(Debug, Copy, Clone)]
3824pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
3825 pub _bitfield_align_1: [u64; 0],
3826 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
3827}
3828impl perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {
3829 #[inline]
3830 pub fn cap_bit0(&self) -> __u64 {
3831 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
3832 }
3833 #[inline]
3834 pub fn set_cap_bit0(&mut self, val: __u64) {
3835 unsafe {
3836 let val: u64 = ::core::mem::transmute(val);
3837 self._bitfield_1.set(0usize, 1u8, val as u64)
3838 }
3839 }
3840 #[inline]
3841 pub unsafe fn cap_bit0_raw(this: *const Self) -> __u64 {
3842 unsafe {
3843 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3844 ::core::ptr::addr_of!((*this)._bitfield_1),
3845 0usize,
3846 1u8,
3847 ) as u64)
3848 }
3849 }
3850 #[inline]
3851 pub unsafe fn set_cap_bit0_raw(this: *mut Self, val: __u64) {
3852 unsafe {
3853 let val: u64 = ::core::mem::transmute(val);
3854 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3855 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3856 0usize,
3857 1u8,
3858 val as u64,
3859 )
3860 }
3861 }
3862 #[inline]
3863 pub fn cap_bit0_is_deprecated(&self) -> __u64 {
3864 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
3865 }
3866 #[inline]
3867 pub fn set_cap_bit0_is_deprecated(&mut self, val: __u64) {
3868 unsafe {
3869 let val: u64 = ::core::mem::transmute(val);
3870 self._bitfield_1.set(1usize, 1u8, val as u64)
3871 }
3872 }
3873 #[inline]
3874 pub unsafe fn cap_bit0_is_deprecated_raw(this: *const Self) -> __u64 {
3875 unsafe {
3876 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3877 ::core::ptr::addr_of!((*this)._bitfield_1),
3878 1usize,
3879 1u8,
3880 ) as u64)
3881 }
3882 }
3883 #[inline]
3884 pub unsafe fn set_cap_bit0_is_deprecated_raw(this: *mut Self, val: __u64) {
3885 unsafe {
3886 let val: u64 = ::core::mem::transmute(val);
3887 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3888 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3889 1usize,
3890 1u8,
3891 val as u64,
3892 )
3893 }
3894 }
3895 #[inline]
3896 pub fn cap_user_rdpmc(&self) -> __u64 {
3897 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
3898 }
3899 #[inline]
3900 pub fn set_cap_user_rdpmc(&mut self, val: __u64) {
3901 unsafe {
3902 let val: u64 = ::core::mem::transmute(val);
3903 self._bitfield_1.set(2usize, 1u8, val as u64)
3904 }
3905 }
3906 #[inline]
3907 pub unsafe fn cap_user_rdpmc_raw(this: *const Self) -> __u64 {
3908 unsafe {
3909 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3910 ::core::ptr::addr_of!((*this)._bitfield_1),
3911 2usize,
3912 1u8,
3913 ) as u64)
3914 }
3915 }
3916 #[inline]
3917 pub unsafe fn set_cap_user_rdpmc_raw(this: *mut Self, val: __u64) {
3918 unsafe {
3919 let val: u64 = ::core::mem::transmute(val);
3920 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3921 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3922 2usize,
3923 1u8,
3924 val as u64,
3925 )
3926 }
3927 }
3928 #[inline]
3929 pub fn cap_user_time(&self) -> __u64 {
3930 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
3931 }
3932 #[inline]
3933 pub fn set_cap_user_time(&mut self, val: __u64) {
3934 unsafe {
3935 let val: u64 = ::core::mem::transmute(val);
3936 self._bitfield_1.set(3usize, 1u8, val as u64)
3937 }
3938 }
3939 #[inline]
3940 pub unsafe fn cap_user_time_raw(this: *const Self) -> __u64 {
3941 unsafe {
3942 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3943 ::core::ptr::addr_of!((*this)._bitfield_1),
3944 3usize,
3945 1u8,
3946 ) as u64)
3947 }
3948 }
3949 #[inline]
3950 pub unsafe fn set_cap_user_time_raw(this: *mut Self, val: __u64) {
3951 unsafe {
3952 let val: u64 = ::core::mem::transmute(val);
3953 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3954 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3955 3usize,
3956 1u8,
3957 val as u64,
3958 )
3959 }
3960 }
3961 #[inline]
3962 pub fn cap_user_time_zero(&self) -> __u64 {
3963 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
3964 }
3965 #[inline]
3966 pub fn set_cap_user_time_zero(&mut self, val: __u64) {
3967 unsafe {
3968 let val: u64 = ::core::mem::transmute(val);
3969 self._bitfield_1.set(4usize, 1u8, val as u64)
3970 }
3971 }
3972 #[inline]
3973 pub unsafe fn cap_user_time_zero_raw(this: *const Self) -> __u64 {
3974 unsafe {
3975 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
3976 ::core::ptr::addr_of!((*this)._bitfield_1),
3977 4usize,
3978 1u8,
3979 ) as u64)
3980 }
3981 }
3982 #[inline]
3983 pub unsafe fn set_cap_user_time_zero_raw(this: *mut Self, val: __u64) {
3984 unsafe {
3985 let val: u64 = ::core::mem::transmute(val);
3986 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
3987 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
3988 4usize,
3989 1u8,
3990 val as u64,
3991 )
3992 }
3993 }
3994 #[inline]
3995 pub fn cap_user_time_short(&self) -> __u64 {
3996 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
3997 }
3998 #[inline]
3999 pub fn set_cap_user_time_short(&mut self, val: __u64) {
4000 unsafe {
4001 let val: u64 = ::core::mem::transmute(val);
4002 self._bitfield_1.set(5usize, 1u8, val as u64)
4003 }
4004 }
4005 #[inline]
4006 pub unsafe fn cap_user_time_short_raw(this: *const Self) -> __u64 {
4007 unsafe {
4008 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
4009 ::core::ptr::addr_of!((*this)._bitfield_1),
4010 5usize,
4011 1u8,
4012 ) as u64)
4013 }
4014 }
4015 #[inline]
4016 pub unsafe fn set_cap_user_time_short_raw(this: *mut Self, val: __u64) {
4017 unsafe {
4018 let val: u64 = ::core::mem::transmute(val);
4019 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4020 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
4021 5usize,
4022 1u8,
4023 val as u64,
4024 )
4025 }
4026 }
4027 #[inline]
4028 pub fn cap_____res(&self) -> __u64 {
4029 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 58u8) as u64) }
4030 }
4031 #[inline]
4032 pub fn set_cap_____res(&mut self, val: __u64) {
4033 unsafe {
4034 let val: u64 = ::core::mem::transmute(val);
4035 self._bitfield_1.set(6usize, 58u8, val as u64)
4036 }
4037 }
4038 #[inline]
4039 pub unsafe fn cap_____res_raw(this: *const Self) -> __u64 {
4040 unsafe {
4041 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 8usize]>>::raw_get(
4042 ::core::ptr::addr_of!((*this)._bitfield_1),
4043 6usize,
4044 58u8,
4045 ) as u64)
4046 }
4047 }
4048 #[inline]
4049 pub unsafe fn set_cap_____res_raw(this: *mut Self, val: __u64) {
4050 unsafe {
4051 let val: u64 = ::core::mem::transmute(val);
4052 <__BindgenBitfieldUnit<[u8; 8usize]>>::raw_set(
4053 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
4054 6usize,
4055 58u8,
4056 val as u64,
4057 )
4058 }
4059 }
4060 #[inline]
4061 pub fn new_bitfield_1(
4062 cap_bit0: __u64,
4063 cap_bit0_is_deprecated: __u64,
4064 cap_user_rdpmc: __u64,
4065 cap_user_time: __u64,
4066 cap_user_time_zero: __u64,
4067 cap_user_time_short: __u64,
4068 cap_____res: __u64,
4069 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
4070 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
4071 __bindgen_bitfield_unit.set(0usize, 1u8, {
4072 let cap_bit0: u64 = unsafe { ::core::mem::transmute(cap_bit0) };
4073 cap_bit0 as u64
4074 });
4075 __bindgen_bitfield_unit.set(1usize, 1u8, {
4076 let cap_bit0_is_deprecated: u64 =
4077 unsafe { ::core::mem::transmute(cap_bit0_is_deprecated) };
4078 cap_bit0_is_deprecated as u64
4079 });
4080 __bindgen_bitfield_unit.set(2usize, 1u8, {
4081 let cap_user_rdpmc: u64 = unsafe { ::core::mem::transmute(cap_user_rdpmc) };
4082 cap_user_rdpmc as u64
4083 });
4084 __bindgen_bitfield_unit.set(3usize, 1u8, {
4085 let cap_user_time: u64 = unsafe { ::core::mem::transmute(cap_user_time) };
4086 cap_user_time as u64
4087 });
4088 __bindgen_bitfield_unit.set(4usize, 1u8, {
4089 let cap_user_time_zero: u64 = unsafe { ::core::mem::transmute(cap_user_time_zero) };
4090 cap_user_time_zero as u64
4091 });
4092 __bindgen_bitfield_unit.set(5usize, 1u8, {
4093 let cap_user_time_short: u64 = unsafe { ::core::mem::transmute(cap_user_time_short) };
4094 cap_user_time_short as u64
4095 });
4096 __bindgen_bitfield_unit.set(6usize, 58u8, {
4097 let cap_____res: u64 = unsafe { ::core::mem::transmute(cap_____res) };
4098 cap_____res as u64
4099 });
4100 __bindgen_bitfield_unit
4101 }
4102}
4103#[repr(C)]
4104#[derive(Debug, Copy, Clone)]
4105pub struct perf_event_header {
4106 pub type_: __u32,
4107 pub misc: __u16,
4108 pub size: __u16,
4109}
4110#[repr(u32)]
4111#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4112pub enum perf_event_type {
4113 PERF_RECORD_MMAP = 1,
4114 PERF_RECORD_LOST = 2,
4115 PERF_RECORD_COMM = 3,
4116 PERF_RECORD_EXIT = 4,
4117 PERF_RECORD_THROTTLE = 5,
4118 PERF_RECORD_UNTHROTTLE = 6,
4119 PERF_RECORD_FORK = 7,
4120 PERF_RECORD_READ = 8,
4121 PERF_RECORD_SAMPLE = 9,
4122 PERF_RECORD_MMAP2 = 10,
4123 PERF_RECORD_AUX = 11,
4124 PERF_RECORD_ITRACE_START = 12,
4125 PERF_RECORD_LOST_SAMPLES = 13,
4126 PERF_RECORD_SWITCH = 14,
4127 PERF_RECORD_SWITCH_CPU_WIDE = 15,
4128 PERF_RECORD_NAMESPACES = 16,
4129 PERF_RECORD_KSYMBOL = 17,
4130 PERF_RECORD_BPF_EVENT = 18,
4131 PERF_RECORD_CGROUP = 19,
4132 PERF_RECORD_TEXT_POKE = 20,
4133 PERF_RECORD_AUX_OUTPUT_HW_ID = 21,
4134 PERF_RECORD_MAX = 22,
4135}
4136pub const TCA_BPF_UNSPEC: _bindgen_ty_156 = 0;
4137pub const TCA_BPF_ACT: _bindgen_ty_156 = 1;
4138pub const TCA_BPF_POLICE: _bindgen_ty_156 = 2;
4139pub const TCA_BPF_CLASSID: _bindgen_ty_156 = 3;
4140pub const TCA_BPF_OPS_LEN: _bindgen_ty_156 = 4;
4141pub const TCA_BPF_OPS: _bindgen_ty_156 = 5;
4142pub const TCA_BPF_FD: _bindgen_ty_156 = 6;
4143pub const TCA_BPF_NAME: _bindgen_ty_156 = 7;
4144pub const TCA_BPF_FLAGS: _bindgen_ty_156 = 8;
4145pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_156 = 9;
4146pub const TCA_BPF_TAG: _bindgen_ty_156 = 10;
4147pub const TCA_BPF_ID: _bindgen_ty_156 = 11;
4148pub const __TCA_BPF_MAX: _bindgen_ty_156 = 12;
4149pub type _bindgen_ty_156 = ::core::ffi::c_uint;
4150#[repr(C)]
4151#[derive(Debug, Copy, Clone)]
4152pub struct ifinfomsg {
4153 pub ifi_family: ::core::ffi::c_uchar,
4154 pub __ifi_pad: ::core::ffi::c_uchar,
4155 pub ifi_type: ::core::ffi::c_ushort,
4156 pub ifi_index: ::core::ffi::c_int,
4157 pub ifi_flags: ::core::ffi::c_uint,
4158 pub ifi_change: ::core::ffi::c_uint,
4159}
4160#[repr(C)]
4161#[derive(Debug, Copy, Clone)]
4162pub struct tcmsg {
4163 pub tcm_family: ::core::ffi::c_uchar,
4164 pub tcm__pad1: ::core::ffi::c_uchar,
4165 pub tcm__pad2: ::core::ffi::c_ushort,
4166 pub tcm_ifindex: ::core::ffi::c_int,
4167 pub tcm_handle: __u32,
4168 pub tcm_parent: __u32,
4169 pub tcm_info: __u32,
4170}
4171pub const TCA_UNSPEC: _bindgen_ty_176 = 0;
4172pub const TCA_KIND: _bindgen_ty_176 = 1;
4173pub const TCA_OPTIONS: _bindgen_ty_176 = 2;
4174pub const TCA_STATS: _bindgen_ty_176 = 3;
4175pub const TCA_XSTATS: _bindgen_ty_176 = 4;
4176pub const TCA_RATE: _bindgen_ty_176 = 5;
4177pub const TCA_FCNT: _bindgen_ty_176 = 6;
4178pub const TCA_STATS2: _bindgen_ty_176 = 7;
4179pub const TCA_STAB: _bindgen_ty_176 = 8;
4180pub const TCA_PAD: _bindgen_ty_176 = 9;
4181pub const TCA_DUMP_INVISIBLE: _bindgen_ty_176 = 10;
4182pub const TCA_CHAIN: _bindgen_ty_176 = 11;
4183pub const TCA_HW_OFFLOAD: _bindgen_ty_176 = 12;
4184pub const TCA_INGRESS_BLOCK: _bindgen_ty_176 = 13;
4185pub const TCA_EGRESS_BLOCK: _bindgen_ty_176 = 14;
4186pub const TCA_DUMP_FLAGS: _bindgen_ty_176 = 15;
4187pub const TCA_EXT_WARN_MSG: _bindgen_ty_176 = 16;
4188pub const __TCA_MAX: _bindgen_ty_176 = 17;
4189pub type _bindgen_ty_176 = ::core::ffi::c_uint;