Skip to main content

aya_obj/generated/
linux_bindings_x86_64.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3#[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;